0

Бортовой компьютер на 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шт.

1

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

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

4

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

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

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

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

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

Фьюзы

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

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

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

Автор: Яковлев Александр Вячеславович

cxem.net

admin

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *