Реклама ⓘ
Главная » Электроника для авто
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Бортовой компьютер на AVR микроконтроллере

В данной статье я опишу создание мною простого бортового компьютера для автомобиля или мотоцикла. Никаких экзотических функций устройство не содержит, но зато в нём есть часы, термометр и вольтметр. Основа, это AVR микроконтроллер ATmega8 с восьми килобайтами флеш память, этого нам как раз достаточно. Часы реализованы на специальной микросхеме (часов реального времени RTC) DS1307, это позволяет идти часам очень точно довольно длительное время, даже тогда когда устройство выключено. Но конечно для работы микросхемы DS1307 требуется дополнительное питание 3 вольта, например батарейка CR2032. Датчик для термометра взял DS1820 работающий по интерфейсу 1-Wire. Все данные выводятся на ЖК индикатор WH1602 на контроллере HD44780. Итак, для сборки устройства понадобятся следующие радиодетали:

1. Микроконтроллер Atmega8 - 1шт.
2. Микросхема DS1307 - 1шт.
3. Датчик DS1820 - 1шт.
4. Панелька DIP-8 - 1шт.
5. Панелька DIP-28 - 1шт.
6. Микросхема LM7805 - 1шт.
7. Микросхема LM7809 - 1шт. 
8. Тактовые кнопки - 4шт.
9. Кнопки с фиксацией положения - 2шт.
10. Кварц 14.3 МГц - 1шт.
11. Кварц часовой 32768 Гц - 1шт.
12. Конденсатор керамический 22 пф - 2шт.
13. Конденсатор керамический 100 нф - 4шт.
14. Транзистор КТ315 - 2шт.
15. Конденсатор электролитический 100 мкф - 1шт.
16. Конденсатор электролитический 47 мкф - 2шт. 
17. Диод 1N4001 - 1шт.
18. Подстроечный резистор 20 кОм - 2шт.
19. Резистор 1 кОм - 2шт.
20. Резистор 10 кОм - 2шт.
21. Резистор 4,7 кОм - 3шт.
22. Резистор 100 кОм - 1шт. 
23. Резистор 20 Ом - 1шт.
24. Резистор 68 Ом - 1шт.
25. Динамик 0.2 Вт - 1шт.
26. ЖК индикатор WH1602 (на контроллере HD44780 или совместимом) - 1шт.
27. Текстолит - 1шт.
28. Корпус пластиковый - 1шт.
29. Отсек для батареек 2xAA - 1шт.
30. Батарея 1.5v AA - 2шт.

Принципиальная схема устройства:

Схема БК

Подстроечный резистор R4 устанавливает контрастность ЖК индикатора, а R12 подстраивает вольтметр до точного значения. Кварц Z2 на 14.3 МГц, его можно найти на старых материнских платах. Кнопка S1 - "Отмена", S2 - "Вниз", S3 - "Ок", S4 - "Вверх". Резистор R3 подтягивает Reset микроконтроллера к плюсу питания чтобы предотвратить случайный сброс. Резисторы R1, R2 и R7 также подтягивают порты микроконтроллера к плюсу питания. Керамические конденсаторы C1 и C2 нужны для стабильной работы кварца Z2. Я собрал устройство на двух печатных платах, на одной содержатся микросхемы LM7805 и LM7809, на другой, всё остальное. Платы рисовал в программе SprintLayout 4.0 и изготавливал с помощью ЛУТ. Вот готовая плата покрытая сплавом розе:

DSC04518.jpg

Плата с запаянными на ней деталями:

DSC04523.jpg

С обратной стороны:

DSC04521.jpg

Все потроха собрал в корпус, в итоге получилось красиво и компактно.

DSC04529.jpg

Фото готового бортового компьютера (вид спереди):

Фото БК

 Фото готового бортового компьютера (вид сзади): 

DSC04532.jpg

Для удобства, спереди я разместил только ЖК индикатор и кнопки управления S1, S2, S3 и S4. Разъём, кнопки включения устройства и выключения звука, подстроечный резистор R12 я разместил сзади корпуса. Прошивку для микроконтроллера писал в среде BASCOM-AVR (исходник прилагается), микроконтроллер прошивал программатором USBtiny с помощью программы SinaProg. После прошивки микроконтроллера нужно установить следующие фьюз-биты:

Фьюзы

Правильно собранное и прошитое устройство запускается сразу, и не требует настройки, разве что, точной подстройки вольтметра и настройки часов. Из дополнительный функций присутствует регулировка яркости ЖКИ и часовой бипер (часы подают сигнал в начале каждого часа). При включении устройства на ЖКИ появляется заставка и плавно загорается подсветка индикатора, потом появляется главный экран, где отображается время, дата, температура и напряжение. Если в это время нажать кнопку S3 то вы войдёте в меню настройки времени, S2 - в информационную вкладку, где написана информация о версии устройства и его авторе, S4 - в меню настройки яркости ЖКИ и управления часовым бипером. Кнопка S1 возвращает обратно, на главный экран. Наглядно посмотреть, как управлять устройством вы можете на видео:

В файлах к статье есть исходники программы, прошивка, проект в программе Proteus.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
IC1 Часы реального времени (RTC)
DS1307
1 Поиск в магазине ОтронВ блокнот
IC2 МК AVR 8-бит
ATmega8
1 Поиск в магазине ОтронВ блокнот
VR1 Линейный регулятор
LM7805CT
1 Поиск в магазине ОтронВ блокнот
VR2 Линейный регулятор
LM78L09
1 Поиск в магазине ОтронВ блокнот
VT1, VT2 Биполярный транзистор
КТ315Б
2 Поиск в магазине ОтронВ блокнот
VD1 Выпрямительный диод
1N4001
1 Поиск в магазине ОтронВ блокнот
Z1 Кварц32768 Гц1 Поиск в магазине ОтронВ блокнот
Z2 Кварц14.3 МГц1 Поиск в магазине ОтронВ блокнот
C1, C2 Конденсатор22 пФ2 КерамическиеПоиск в магазине ОтронВ блокнот
C3-C5, C8 Конденсатор100 нФ4 КерамическиеПоиск в магазине ОтронВ блокнот
C6, C7 Электролитический конденсатор47мкФ 16В2 Поиск в магазине ОтронВ блокнот
C9 Электролитический конденсатор100мкФ 35В1 Поиск в магазине ОтронВ блокнот
R1, R2, R7 Резистор
4.7 кОм
3 Поиск в магазине ОтронВ блокнот
R3, R10 Резистор
10 кОм
2 Поиск в магазине ОтронВ блокнот
R4, R12 Подстроечный резистор20 кОм2 Поиск в магазине ОтронВ блокнот
R5 Резистор
20 Ом
1 Поиск в магазине ОтронВ блокнот
R6, R9 Резистор
1 кОм
2 Поиск в магазине ОтронВ блокнот
R8 Резистор
68 Ом
1 Поиск в магазине ОтронВ блокнот
R11 Резистор
100 кОм
1 Поиск в магазине ОтронВ блокнот
LCD LCD-дисплейWH16021 На контроллере HD44780Поиск в магазине ОтронВ блокнот
Датчик темпратурыDS18201 Поиск в магазине ОтронВ блокнот
Панелька DIP-81 Поиск в магазине ОтронВ блокнот
Панелька DIP-281 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: Изменена: 10.03.2013 0 1
Я собрал 0 3
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.9 Проголосовало: 3 чел.

Комментарии (19) | Я собрал (0) | Подписаться

0
Kamikadza #
Все конечно классно, только мне кажется использовать данный дисплей не совсем удобно. Использование LCD экранов и smd деталей уместило бы все это в более компактный и приятный вид, а также позволило (как указывается в статье) использование в мотоцикле. Но это так ИМХО. Автор молодец
Ответить
+1
BARS_ #
Я когда-то собирал подобное устройство для Москвич 2141. Только использовал 8 семисегментных индикаторов. Они как раз идеально стали в приборную панель. Жаль, что фоток не осталось...
Ответить
+2
Uplink #
На бортовой компьютер, данное устройство не тянет никак. Называйте вещи своими именами. Это часы с термометром в машину, в лучшем случае.
Ответить
+1
mr_smit #
Полностью поддерживаю! Название надо поменять.
Ответить
0
Vasil9 #
Где расходы топлива (на 100км, мгновенный, за поездку)?
Это не бортовой компъютер, а бортовые усложннённые часы с добавочными функциями
Ответить
+1
Андрей #
А можно на какой то свободный порт добавить следующею функцию:
1. При включении данного устройства смотрим на напряжение, если оно больше или равно 12.5 вольт, то на этом порту устанавливаем лог 1, если меньше, то оставляем 0.
2. После выполнения условий 1 функции следим за напряжением. Когда напряжение упадет до 10.5 вольт на том же порту устанавливаем 0 и останавливаем в таком состоянии, пока оно не станет 12.5 вольт.
Ответить
+1

[Автор]
#
Можно. Свободного флеша вроде бы осталось, в ближайшее время смогу переделать прошивку.
Ответить
-1
flair007 #
В архиве нету хекса, а бас файл не проходит проверку синтаксиса.
И датчик бы использовать da18B20, и кварц странный...
Ответить
+1

[Автор]
#
Архив подправил, HEX вложил. Кварц можно найти на старых материнских платах, а датчик использовал тот, что был под рукой. Исходник возможно не компилится потому что у вас не та версия компилятора BASCOM-AVR, с версией баскома 1.11.9.0 у меня всё компилется нормально.
Ответить
+1
serega #
А нельзя ли добавить функцию индикации открытой двери? Например 'отрыта вод дверь' плюс капот, багажник как на фф2
Ответить
+1

[Автор]
#
Конечно можно! Свободные ноги у МК то остались. Придётся только добавить в программе опрос ног, к которым подключены датчики открытых дверей.
Ответить
0
max #
Перепишите исходник под ds18b20 или подскажите что изменить?
Ответить
0
сергей #
Очень понравился проэкт, решил повторить. Схему собрал и не могу запустить. Что-то не то с прошивкой. Дело в том что микроконтроллерах новичек и ничего не понимаю в баскоме. Прошивал хекс файл из архива в коде визион. Горят все сегменты в верхнем ряду и не на что не реагирует. Схема собрана правильно все проверил. Подскажите плиз в чем косяк? И еще вопрос: нет ли прошивки, чтобы термометр был с функцией термостата? И для чего на печатке выведены ноги 15,18, 23 мк ?
Ответить
0
сергей #
Здравствуйте уважаемые. Вы забросили проект? А то я так и не могу запустить схему. Все проверил. Шил коде визион и поником и дудкой. Ни как не запускается.
Ответить
+1
евгений #
Схема довольно интересная... есть вопросы:
1. КТ-315 на ШИМе подсветки у вас через сколько времени сдох? У него несчастного 100мА ток, у многих дисплеев переваливает за 200мА подсветка, заменить на копеечный bc817/337.
2. Нафига козе баян в виде 14МГц кварца? Он траекторию посадки Бурана просчитывает? 1МГц по самые помидоры, за одно и глупая конструкция на каскаде КРЕНок греться меньше будет
3. Кнопки без подтяжки?
4. Питание АЦП выполнено изящно, топором из камня... почитайте документацию питания АЦП из даташитов меги...
5. Прочитайте про нормальные блоки питания, например копеечный 34063, хотя я не могу понять зачем два линейника? Греются? А кто столько жрёт? Проц, не в меру раскочегаренный до 14МГц вместо 1МГц, или подсветка, сующая через бедный КТ-315 достаточный ток?
6. Код... код.... выколите мне глаза... аффтар, вы зачем примеры из интернета в кучу сложили, и назвали ЭТО "firmware"? Это ж не прочитать без поллитра успокоительного...
Граждане, не повторяйте эту ошибку в железе, это же ужас...
Ответить
+1
Sergio #
Так предложите же лучше и с учетом пожеланий высказанных выше. Тем более народ действительно желает. А то говорить мы все любим, а вот делают единицы.
Ответить
0
bulat943 #
Поправил прошивку
Прикрепленный файл: firmware2.hex
Ответить
0
bulat943 #
А эта прошивка без кварца, внутр ген на 8 МГц
Обе прошивки-устранил мерцание вольтметра ,переделал бипер, DS1820 у меня нет-оставил этот кусок программы нетронутым
Прикрепленный файл: firmware2 8 MHz.hex
Ответить
0
Сергей #
Никак не могу за программировать атмегу8, то есть программа записывается и читается всё ок, но с фьюзами проблема. Выставляю как вы указали, программирую всё нормально, делаю верификацию происходит сбой контроллера. Приходится лечить доктором. В итоге схема не запускается, горит верхняя строка индикатора подсветка не загорается. В чём причина или я что-то не так делаю? Программатор у меня USBasp v2.0
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Программатор Pickit3
Программатор Pickit3
iMAX B6 - зарядное для Lion, LiPo, LiFe, Pb, NiCd и NiMH аккумуляторов DC-DC регулируемый преобразователь 1.5-37В 2А с индикатором
вверх