Клуб любителей китайских скутеров 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
|
Автор: | 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-а к датчику температуры масла и один к разъему коммутатора- на датчик зажигания. А массу можно найти поблизости. |
Автор: | @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, для того чтоб была возможность вынуть микроконтроллер не разбирая полскутера и перепрошить его. Еще фотки...
|
Автор: | 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 |
Кстати, эту часть кода с выходом на доп. оборудование в твоей прошивке, я не трогал. Так там и осталось как ты написал, только значения поменял вместо 20 на 40, а то в комнате все время больше 20 градусов было, не удобно налаживать было. А вообще пока так и не придумал, что на этот выход повесить. И еще вопросик к тебе!? Прерывания на тахометре задерживаются оператором *delay* или они сами по себе считываются?(в этой части так и не разобрался) |
Страница 1 из 13 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |