В данной статье я опишу создание мною простого бортового компьютера для автомобиля или мотоцикла. Никаких экзотических функций устройство не содержит, но зато в нём есть часы, термометр и вольтметр. Основа, это 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 и изготавливал с помощью ЛУТ. Вот готовая плата покрытая сплавом розе:
Плата с запаянными на ней деталями:
С обратной стороны:
Все потроха собрал в корпус, в итоге получилось красиво и компактно.
Фото готового бортового компьютера (вид спереди):
Фото готового бортового компьютера (вид сзади):
Для удобства, спереди я разместил только ЖК индикатор и кнопки управления 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-дисплей | WH1602 | 1 | На контроллере HD44780 | Поиск в магазине Отрон | |
Датчик темпратуры | DS1820 | 1 | Поиск в магазине Отрон | |||
Панелька DIP-8 | 1 | Поиск в магазине Отрон | ||||
Панелька DIP-28 | 1 | Поиск в магазине Отрон | ||||
Скачать список элементов (PDF)
Прикрепленные файлы:
- BKmega8.rar (84 Кб)
Комментарии (18)
|
Я собрал (0) |
Подписаться
Для добавления Вашей сборки необходима регистрация
Это не бортовой компъютер, а бортовые усложннённые часы с добавочными функциями
1. При включении данного устройства смотрим на напряжение, если оно больше или равно 12.5 вольт, то на этом порту устанавливаем лог 1, если меньше, то оставляем 0.
2. После выполнения условий 1 функции следим за напряжением. Когда напряжение упадет до 10.5 вольт на том же порту устанавливаем 0 и останавливаем в таком состоянии, пока оно не станет 12.5 вольт.
[Автор]
И датчик бы использовать da18B20, и кварц странный...
[Автор]
[Автор]
1. КТ-315 на ШИМе подсветки у вас через сколько времени сдох? У него несчастного 100мА ток, у многих дисплеев переваливает за 200мА подсветка, заменить на копеечный bc817/337.
2. Нафига козе баян в виде 14МГц кварца? Он траекторию посадки Бурана просчитывает? 1МГц по самые помидоры, за одно и глупая конструкция на каскаде КРЕНок греться меньше будет
3. Кнопки без подтяжки?
4. Питание АЦП выполнено изящно, топором из камня... почитайте документацию питания АЦП из даташитов меги...
5. Прочитайте про нормальные блоки питания, например копеечный 34063, хотя я не могу понять зачем два линейника? Греются? А кто столько жрёт? Проц, не в меру раскочегаренный до 14МГц вместо 1МГц, или подсветка, сующая через бедный КТ-315 достаточный ток?
6. Код... код.... выколите мне глаза... аффтар, вы зачем примеры из интернета в кучу сложили, и назвали ЭТО "firmware"? Это ж не прочитать без поллитра успокоительного...
Граждане, не повторяйте эту ошибку в железе, это же ужас...
Обе прошивки-устранил мерцание вольтметра ,переделал бипер, DS1820 у меня нет-оставил этот кусок программы нетронутым