Бортовой компьютер на 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. Я собрал устройство на 2-х печатных платах, на одной содержатся микросхемы LM7805 и LM7809, на другой, всё остальное. Платы рисовал в программе SprintLayout 4.0 и изготавливал с помощью ЛУТ. Вот готовая плата покрытая сплавом розе:

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

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

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

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

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

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

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

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

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

IC1
Часы реального времени (RTC)DS13071
IC2
МК AVR 8-битATmega81
VR1
Линейный регуляторLM7805CT1
VR2
Линейный регуляторLM78L091
VT1, VT2
Биполярный транзисторКТ315Б2
VD1
Выпрямительный диод1N40011
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)

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

Добавить комментарий

Ваш адрес email не будет опубликован.