Клуб любителей китайских скутеров
https://www.china-scooter.ru/forum/

БК на ATmega168
https://www.china-scooter.ru/forum/viewtopic.php?f=49&t=29637
Страница 1 из 13

Автор:  igVVV [ 06 янв 2012, 20:38 ]
Заголовок сообщения:  БК на ATmega168

Прежде всего должен сказать спасибо соклубнику aiovlev только благодаря ему получился этот прибор!!!! Месяц общения с ним, базовая прошивка, плюс обвязка микроконтроллера это его заслуга!!!
Ну и мне тоже удалось немного доработать функционал.

Почему на ATmega168!?
1 среда программирования через Arduino доступна любому новичку в программировании
2 легкость прошивания через Arduino (через USB) одной кнопкой.
3 можно прям в Arduine через соответствующие пины проверять работоспособность прошивки в железе. A можно высунуть ATmega168 из Arduino и вставить в свою плату (как сделал я)
4 в интернете просто куча примеров и готовых проектов для Arduino из которых можно черпать нужное!!!

А теперь к делу!!!
Функционал вышел такой:
1 обороты движка (предела нет)
2 температура движка, на датчике 19.3828 - http://images.yandex.ru/yandsearch?text=19.3828 (заворачивается в сливное отверстие масла. ИМЕЕТ ПОЛЯРНОСТЬ)- это такой же датчик как и десяточный по конструкции но там стоит гораздо более точный датчик температуры внутри и он ЛИНЕЙНЫЙ( подсказал -aiovlev-). Проверял держит до 200гр/с
3 температура на улице, на цифровом датчике DS18B20 предел датчика 127гр/с. этот датчик еще более точный и необходим для откалибровки датчика 19.3828. Только в этом случае можно быть увереным на 99% что температура масла в движке показывается правильно градус в градус с реальностью!!!!!!!!
4 вольтметр
5 время в пути.
6 вывод критических параметров, температуры(>125гр/с) и напряжения на АКБ(<11.5v и >14.5v).
7 также в схеме имеется один выход(слаботочный) для управления дополнительным оборудованием (реле, лампочка, кулер, помпа маслоохлаждения,...и т.п.)
8...
9...добавить можно что угодно ДЕЛО ФАНТАЗИИ!!!

Экран применил однострочный 10символов, но зато символы крупные (высотой 12мм)
Так как всего 10символов на экране, то видеть можно сразу только два параметра!!!
Экран не очень удачный для написания софта (были сложности), если применять обычный экран 16х2 треть прошивки можно будет убрать.

Как работает:
Включаем зажигание
(тут можно вывести предварительную информацию ... например номер телефона хозяина скутера... или любую другую)
видим температуру движка и напряжение на АКБ
Заводим движек
видим обороты и температуру движка
Включаем габариты
загорается подсветка экрана. Если габариты выключить подсветка плавно затухнет в течении 10сек
Выключаем и снова включаем габариты
показания изменятся на ОБОРОТЫ и ВОЛЬТМЕТР
Выключаем и снова включаем габариты
показания изменятся на ОБОРОТЫ и ТЕМПЕРАТУРУ движка
Короче чтоб сменить вольтметр на температуру и обратно надо выключить и снова включить габариты!!! Подсветка экрана при этом не гаснет. Также при этом переключении на 2 сек выводится время в пути и температура на улице.
Критические параметры выводятся по их достижению на ~2сек через 30 сек. В течении этих 2сек подсветка истошно моргает!!!

По поводу экрана:
Экран применил MT-10S1-2YLG ЖКИ 10х1
экран можно и другого колличества символов...16х2, 20х2, 8х2, 10х1... но он должен быть аналогичен управлениюHD44780 от фирмы HITACHI. Иначе работать не будет.
Распиновка выводов на разных экранах может сильно отличаться...потому к другому экрану надо смотреть даташит.
В Протеусе виртуально экран 16х2(другого нет) и информация на нем выводится не так как на самом деле на экране 10х1.

В архиве ниже BortKomp.rar находятся :
1. _29.pde прошивка! через arduino
2. _29.cpp.hex прошивка для Протеуса в hex
3. 29.DSN файл-схема. Протеус
4. 29.LYT файл-трассировка. Протеус
5. LiquidCrystalRus используемая библиотека в прошивке
6. OneWire используемая библиотека в прошивке
Эти папки LiquidCrystalRus и OneWire нужно сохранить в дирректорию libraries(C:\arduino-0022\libraries)
а если там уже есть такие,то заменить ими.

Добавил небольшое видео ссылка- http://www.youtube.com/watch?v=70sPHPfx ... ata_player

Вложения:
Комментарий к файлу: Тут все необходимые файлы для повторения, изменения-моделирования под свои задачи!!!
BortKomp.rar [72.44 KiB]
Скачиваний: 2054
IMAG0351_новый размер.jpg
IMAG0351_новый размер.jpg [ 473.52 KiB | Просмотров: 10539 ]
IMAG0349_новый размер.jpg
IMAG0349_новый размер.jpg [ 386.01 KiB | Просмотров: 10539 ]
vnutr_новый размер.jpg
vnutr_новый размер.jpg [ 467.81 KiB | Просмотров: 10539 ]
Комментарий к файлу: Схема прибора
cxema.jpg
cxema.jpg [ 972.79 KiB | Просмотров: 10539 ]

Автор:  Hors [ 06 янв 2012, 23:33 ]
Заголовок сообщения:  Re: БК на ATmega168

igVVV писал(а):
Есть еще файлы проектировки в Proteuse(схема и трасировка) и прошивка ... как сюда их закинуть???

Добавить в архив, и сюда, в тему. Думаю объём не большой.

Автор:  GRO [ 06 янв 2012, 23:36 ]
Заголовок сообщения:  Re: БК на ATmega168

igVVV
Создай торрент с раздачей.
Так будет проще.

Автор:  igVVV [ 06 янв 2012, 23:47 ]
Заголовок сообщения:  Re: БК на ATmega168

Я хочу чтоб все в одном месте лежало.
Завтра залью остальное!

Сейчас проверил на скутере, все работает отлично!!!
С ростом оборотов поднимается и напряжение на АКБ.

+12 можно взять от показометра уровня топлива.
+12 от габаритов - от лампочки подсветки приборной панели.
В итоге до панели нужно протащить только 3 провода. 2-а к датчику температуры масла и один к разъему коммутатора- на датчик зажигания. А массу можно найти поблизости.

Автор:  igVVV [ 13 янв 2012, 19:11 ]
Заголовок сообщения:  Re: БК на ATmega168

Ну раз такая тишина напишу я :-D
В процессе создания БК на ATmega168 проверил "транзисторный ключ", на автомобильном тахометре(авто БК) - который вообще не работал с датчика зажигания, а с переменки работал корректно только до 4000 оборотов.
Вобщем схема что выше, прекрасно работает со старым авто тахометром созданным под контактное зажигание.
Единственное, я уже давно в него залез и заменил там входное сопротивление намного меньше чем стояло. Схемку ключа подсказал -aiovlev-.
Правда еще раньше я пробовал такое делать на транзисторе МП41 и одним резистором, без диода схема работает также как и с диодом. Ну думаю -aiovlev- лучше знает как надо :)

Схема ниже это подключение датчика холла к авто тахометру. На выходе датчика появляется -6v(точно уже не помню)
В принципе легко можно подцепить датчик холла и к ATmega168.

Вложения:
TAX.jpg
TAX.jpg [ 561.25 KiB | Просмотров: 10464 ]

Автор:  @nton [ 23 янв 2012, 15:59 ]
Заголовок сообщения:  Re: БК на ATmega168

igVVV,а как насчет одометра,не пытался делать?Я вот давно еще хотел купить,да чего-то не видел в продаже их.Сейчас как раз вспомнил свою идейку,прочитав эту тему. Теперь в планах у меня создание этого приборчика.Думаю реализовать его на PIC16F84A.
p.s да,я понимаю что он уже у тебя стоит в приборке,думаю тут дело не в том что,вот он должен обязательно быть и работать,а просто ради интереса и приобретения опыта.

Автор:  igVVV [ 23 янв 2012, 21:58 ]
Заголовок сообщения:  Re: БК на ATmega168

Чисто теоретически думал! Но практически он мне был совершенно не нужен.
Стрелочный показывает очень точно и киллометры считает верно.
Сделать можно так - разместить маленький магнит в приборке на шестеренках спидометра и снимать данные датчиком холла или мастерить оптопару если с магнитом не выйдет. В этом случае лепить магнит на колесо уже не надо и тащить туда провода тоже.
Если надумаешь что-то делать начни с разборки приборной панели и определись с местом и РАЗМЕРАМИ экрана. Да и на ПИКе уже есть отличный готовый проект нафаршированый всем чем только можно, где-то на форуме ссылка есть.

Приборку уже поставил в скутер. Все работае, по парковке гонял, никаких проблем нету!
При монтаже заметил, что провод протянутый до коммутатора к датчику зажигания и даже не подключенный к датчику, словил наводки от лежащего в стороне свечного ВВ провода и данные тахометра на приборе были верными. Но всеж припаял к датчику.

Автор:  @nton [ 24 янв 2012, 13:07 ]
Заголовок сообщения:  Re: БК на ATmega168

Ну да,есть место,посмотрел сегодня,все таки наверное на выходных прикуплю все что нужно да и соберу его.Экрана думаю взять LCD 2*16 стандартный символьный.
Кстати,ты написал, здесь где-то статейка есть на форуме,все перерыл,ничего подобного не нашел(хочется почитать просто).Если знаешь где она лежит,кинь ссылочку.

Автор:  vlad-k [ 24 янв 2012, 14:10 ]
Заголовок сообщения:  Re: БК на ATmega168

Видимо, это: http://china-scooter.ru/forum/viewtopic.php?f=19&t=11632; и из этой самой темы- http://kievavtoelektrik.narod.ru/stat/BKFM2/bkfm2.htm(открытый проект, цифровой борткомпьютер):
ИзображениеИзображение

Автор:  igVVV [ 24 янв 2012, 21:16 ]
Заголовок сообщения:  Re: БК на ATmega168

Да, в точку, вторая ссылка!

В начале я тоже хотел сделать на экране16х2 даже купил его, но места в приборке для него не хватило. А сейчас я даже рад экрану 10х1, так как он гораздо легче воспринимается глазом. А лишняя информация в принципе не нужна. На авто у меня стоит навороченный БК мультитроникс, а смотрю я там только температуру тосола... и "жду" когда он начнет говорить про ошибки в системе.

Весь проект от начала и до конца сделал в Протеусе с эмуляцией работы в этой программе, до распечатки на плату, изображение дорожек перевел с глянцевой бумаги на плату утюгом. Травил хлорным железом(маленькая банка порошком 160руб)
Микроконтроллер разместил со стороны медных дорожек, воткнул в постель-разъем 14х2, для того чтоб была возможность вынуть микроконтроллер не разбирая полскутера и перепрошить его.

Еще фотки...

Вложения:
1.jpg
1.jpg [ 585.73 KiB | Просмотров: 10354 ]
2.jpg
2.jpg [ 144.18 KiB | Просмотров: 10354 ]
3.jpg
3.jpg [ 205.22 KiB | Просмотров: 10354 ]
4.jpg
4.jpg [ 170.06 KiB | Просмотров: 10354 ]
5.jpg
5.jpg [ 145.73 KiB | Просмотров: 10354 ]

Автор:  vlad-k [ 25 янв 2012, 10:29 ]
Заголовок сообщения:  Re: БК на ATmega168

Что тут сказать, молодцы вы с -aiovlev-, отличная работа!

Автор:  @nton [ 25 янв 2012, 14:00 ]
Заголовок сообщения:  Re: БК на ATmega168

Спрошу не по теме...а что за синенький индикатор рядом с аварийкой,с БК не связан он?

Автор:  igVVV [ 25 янв 2012, 15:07 ]
Заголовок сообщения:  Re: БК на ATmega168

Нет не связан. Это светодиод от авто сигнализации.... так просто вышло рядом.

Была мысль сделать в БК ввод пароля как у некоторых авто... и если не ввел или ввел не правильно скут глох. Но не захотел кнопки выводить.
Вообще всяческие *ИДЕИ* по модернизации БК приветствуются (особенно по софту и ДОП. ВЫХОДУ)!!!!
До открытия сезона еще далеко!

Автор:  aiovlev [ 25 янв 2012, 17:16 ]
Заголовок сообщения:  Re: БК на ATmega168

Можно геркон спрятать где нибудь под пластиком, пока к этому месту магнит не поднесешь - не заведется.

А у меня вот например в холодную погоду приходилось ручку газа покручивать, пока не прогреется.
Пару минут на высоких холостых поработает, потом обогатитель закрывается и он глохнет если не крутить.
Ну вот я и подключил обогатитель через реле. Теперь на него напряжение будет подано только после прогрева масла до 20 градусов.

Автор:  igVVV [ 25 янв 2012, 18:15 ]
Заголовок сообщения:  Re: БК на ATmega168

*DRINK*
Кстати, эту часть кода с выходом на доп. оборудование в твоей прошивке, я не трогал. Так там и осталось как ты написал, только значения поменял вместо 20 на 40, а то в комнате все время больше 20 градусов было, не удобно налаживать было.
А вообще пока так и не придумал, что на этот выход повесить. *DONT_KNOW*

И еще вопросик к тебе!?
Прерывания на тахометре задерживаются оператором *delay* или они сами по себе считываются?(в этой части так и не разобрался)

Страница 1 из 13 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/