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

Реклама ⓘ

Мини-панель приборов на дисплее LCM12864 и ATmega64

Предлагаю всем желающим собрать новую, более модернизированную версию устройства, которая теперь включает в себя следующие функции:

  • индикации текущего времени с применением более точной микросхемы RTC DS3231 (на Ali)
  • измерения температуры двигателя с помощью датчика PT-100 (на Ali)
  • измерения температуры окружающего воздуха с помощью DS18B20 или с помощью датчика температуры, встроенного в микросхему реального времени
  • измерения напряжения бортовой сети (со шкалой) 7 - 16В
  • измерения частоты вращения коленчатого вала двигателя (со шкалой) 300 - 9900 об/мин
  • измерения скорости движения 0 - 255 км/ч
  • одометры: суточный с возможностью сброса, и общий; запись в энергонезависимую память микроконтроллера

Шрифты, отображающие температуру и обороты двигателя увеличены, а часов - уменьшены.

Так же устройство имеет дополнительные функции, такие как

  • автоматическая смена яркости подсветки дисплея в зависимости от внешнего освещения (более плавная по сравнению с предыдущей версией устройства)

звуковые и визуальные: 

  • индикация включенных указателей поворота
  • предупреждение о слишком низком или недопустимо высоком напряжениях бортовой сети
  • предупреждение о перегреве двигателя
  • есть возможность отключить звук 

настройки:

  • программная калибровка вольтметра
  • установка верхнего и нижнего порогов предупреждений для контроля напряжения бортовой сети
  • установка порога предупреждения о перегреве двигателя
  • настройка параметров "длина окружности колеса" и "кол-во магнитов" для датчика скорости мотоцикла; для автомобильного датчика "длина окружности колеса" устанавливается 100 см, а "кол-во магнитов" - количество импульсов на 1 метр
  • установка значения "импульс/оборот" для тахометра, и возможность указать максимальные обороты, при которых шкала будет полностью заполнена
  • установка уровня яркости подсветки для дневного и ночного времени

Для настроек и управления добавлена 3-я кнопка "—", уменьшающая параметр. Добавлен быстрый перебор устанавливаемого параметра при длительном удержании кнопки. Печатная плата разведена под размер дисплея и его контакты, а питание устройства и входные сигналы выведены на одну сторону платы.

Схема уже довольно большая, но на самом деле ничего сложного в ней нет.

Основа - микроконтроллер ATmega64, вывод информации - графический дисплей 128х64 точек с контроллером KS0108 и звуковой излучатель типа 1212FXP обязательно со встроенным генератором. Питание цифровых элементов - на стабилизаторе 7805, микроконтроллер питается отдельно (линия U1_VCC) через диод Шоттки D2, и в момент отключения питания от бортовой сети, срабатывает детектор выключения на R1 и R2 - программа обработки прерывания INT5 записывает значения одометров в энергонезависимую память. В это время микроконтроллер питается энергией, накопленной конденсатором C4. Все остальное - обработка входящих сигналов транспортного средства, кратко о них в статье предыдущей версии. JP1 - джампер переключения в режим программирования - во время прошивания МК вывод PEN нужно подтянуть к GND. Разъём J1 ISP - для внутрисхемного программирования. Фьюзы выставляются следующим образом:

По фьюзам хочу дать совет тем, кто мало знаком или впервые работает с AVR микроконтроллерами. Чтобы не "запороть" камень, в любой программе (PonyProg, Khazama AVR Programmer и т.п.), делается так: сначала считываем фьюзы, смотрим, отмечен ли SPIEN галочкой; если да, то фьюзы ставим как на картинке в статье, если нет - выставляем инверсно. Правильно собранная схема с прошитым микроконтроллером в настройке не нуждается и запускается сразу. Разве что нужно покрутить RV1 для установки контрастности дисплея и RV2 для калибровки датчика температуры двигателя. Для этой цели был выбран датчик PT-100, - стоит он недорого, позволяет измерять, в отличие от DS18B20, температуры более +125°С и выглядит примерно так:

Измерение температуры окружающего воздуха (или если кому надо - внутри салона) может осуществляться двумя способами: с помощью встроенного в микросхему часов датчика или внешнего DS18B20. Чтобы измерять датчиком из DS3231, на разъем ISP нужно поставить перемычку (джампер) как на фотографии, подтянув линию TEMP_SENS к GND. Для измерения цифровым внешним датчиком, его нужно подключить к тому же разъему программирования (ISP) согласно полярности (VCC, GND), а линию TEMP_SENS (на ISP она совпадает с MOSI) к выводу DQ датчика.

Печатная плата изготавливается из двухстороннего фольгированного текстолита. 

 

 

 

Кнопки располагаются на отдельной плате со шлейфом и разъемом для подключения:

Управление осуществляется следующим образом. В основном режиме:
- кнопка M/SEL/HR при длительном удержании вводит устройство в режим установки времени - часы устанавливаются этой же кнопкой, минуты - ENT/+/MIN.
- кнопка ENT/+/MIN при коротком нажатии сбрасывает суточный одометр, но не сразу. На месте счетчика появляется вопрос "Сброс?", подтверждаем кнопкой M/SEL/HR. Если не подтвердить, то через 3-4 секунды устройство вернется в нормальный режим. Общий одометр сбросить кнопками нельзя. Если нужно обнулить или выставить начальное значение пробега, надо считать программатором EEPROM из микроконтроллера, общий пробег содержится в 4-х байтах, начиная с 16-й ячейки (выделено красным):

При этом они расположены от младшего к старшему. То есть если брать пример с картинки выше, в красном прямоугольнике записано число 01 6A (00 00 01 6A) в шестнадцатеричном формате, что соответствует десятичным 362 км пробега. Редактируем считанный файл  EEPROM, выставляя нужный пробег. Прошиваем. 
- кнопка "" при коротком нажатии включает-выключает звук на устройстве. При выключенном звуке справа от часов появляется значок перечеркнутого динамика.

Чтобы попасть в меню настроек, нужно произвести включение устройства с зажатой кнопкой M/SEL/HR:


   
   выбор пункта осуществляется той же кнопкой M/SEL/HR
   вход в выбранный пункт - с помощью ENT/+/MIN
   установка параметра с помощью ENT/+/MIN и ""

При первом входе в меню некоторые значения могут быть 255 или 65535 - это следствие того, что ячейки энергонезависимой памяти еще пусты. Нужно установить адекватные параметры настроек и выйти из меню выбрав пункт "Сохранить и выйти". 

К статье прикреплены 2 архива. Первый содержит прошивки для версий устройства со спидометром-одометром и без них, проект Proteus, файл печатной платы в формате LAY. Второй содержит прошивку, печатную плату и проект для этого же устройства, только с дисплеем разрешением 192x64 точек. Места на нем предостаточно, поэтому шкала и цифры тахометра и скорости, заметно больше:

В ближайшее время планирую добавить функцию измерения уровня топлива с калибровкой - для этого на платах устройств уже зарезервированы входы на незадействованные половины операционных усилителей. Прошивки обязательно добавлю в эту статью.

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

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 МК AVR 8-бит
ATmega64A
1 Поиск в магазине ОтронВ блокнот
U2 Часы реального времени (RTC)
DS3231
1 Корпус SOIC-16Поиск в магазине ОтронВ блокнот
U3 Операционный усилитель
LM358
1 Поиск в магазине ОтронВ блокнот
U4 Линейный регулятор
L7805AB
1 L7805C2T, L7805AB2TПоиск в магазине ОтронВ блокнот
U5 Датчик температуры
DS18B20
1 Поиск в магазине ОтронВ блокнот
U6 Вентиль
CD4093B
1 Корпус DIP-14Поиск в магазине ОтронВ блокнот
LCD1 LCD-дисплейLCM128641 С контроллером KS0108Поиск в магазине ОтронВ блокнот
Q1, Q2 Биполярный транзистор
PMBS3904
2 Поиск в магазине ОтронВ блокнот
D1 СтабилитронBZV55C5V11 Поиск в магазине ОтронВ блокнот
D2 Диод Шоттки
1N5819
1 Поиск в магазине ОтронВ блокнот
D3 Диод Шоттки
SK24
1 Поиск в магазине ОтронВ блокнот
D4, D6, D7 Стабилитрон
BZV55C4V7
3 Поиск в магазине ОтронВ блокнот
D5 Выпрямительный диод
1N4148
1 Поиск в магазине ОтронВ блокнот
X1 Кварцевый резонатор12MHz1 Поиск в магазине ОтронВ блокнот
LS1 Звуковой излучатель1212FXP1 12V со встроен. генераторомПоиск в магазине ОтронВ блокнот
BAT1 БатарейкаCR20321 Поиск в магазине ОтронВ блокнот
Держатель для батареекCR20321 Поиск в магазине ОтронВ блокнот
Кнопка тактоваяIT-1102w3 Поиск в магазине ОтронВ блокнот
R1 Резистор7,5 кОм1 Все резисторы SMD 1206 или 0805Поиск в магазине ОтронВ блокнот
R2 Резистор
2.7 кОм
1 Поиск в магазине ОтронВ блокнот
R3, R7, R9, R10 Резистор
4.7 кОм
4 Поиск в магазине ОтронВ блокнот
R4 Резистор
22 кОм
1 Поиск в магазине ОтронВ блокнот
R5 Резистор
3.3 кОм
1 Поиск в магазине ОтронВ блокнот
R6, R12, R19, R28 Резистор
1 кОм
4 Поиск в магазине ОтронВ блокнот
R8, R11, R15, R18, R24, R25 Резистор
10 кОм
6 Поиск в магазине ОтронВ блокнот
R13, R21 Резистор
200 Ом
2 Поиск в магазине ОтронВ блокнот
R14 Резистор
15 кОм
1 Поиск в магазине ОтронВ блокнот
R16 Резистор
22 Ом
1 Поиск в магазине ОтронВ блокнот
R17 Резистор
30 кОм
1 Поиск в магазине ОтронВ блокнот
R20 Резистор
47 кОм
1 Поиск в магазине ОтронВ блокнот
R22 Резистор
500 кОм
1 GL5516 фоторезисторПоиск в магазине ОтронВ блокнот
R23 Резистор
470 кОм
1 Поиск в магазине ОтронВ блокнот
R26, R27 Резистор
100 кОм
2 Поиск в магазине ОтронВ блокнот
RV1 Подстроечный резистор10 кОм1 Поиск в магазине ОтронВ блокнот
RV2 Подстроечный резистор2 кОм1 Поиск в магазине ОтронВ блокнот
С1-С3, С6, С7, С9, С10, С15, С16 Конденсатор0.1 мкФ9 SMD конденсаторы 1206 или 0805Поиск в магазине ОтронВ блокнот
С4 Конденсатор1000 мкФ x 6.3 В1 Поиск в магазине ОтронВ блокнот
С5 Конденсатор220 мкФ x 16 В1 Поиск в магазине ОтронВ блокнот
С8 Конденсатор100 мкФ x 6.3 В1 Поиск в магазине ОтронВ блокнот
С11, С12 Конденсатор22 пФ2 Поиск в магазине ОтронВ блокнот
C13, C14 Конденсатор0.33 мкФ2 Поиск в магазине ОтронВ блокнот
Добавить все

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

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

Теги:

Опубликована: 0 0
Я собрал 0 0
x

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

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

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

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

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
baza3812 #
Длина окружности от какого до какого значения?
Ответить
0

[Автор]
u33 #
От 10 до 250 см.
Ответить
0
baza3812 #
Для скутера, для колес 12 дюймов можно как-то поставить с магнитами?
Ответить
0

[Автор]
u33 #
Да. Если магнитов больше одного - между ними должно быть как можно точнее одинаковое расстояние.
Ответить
+1
Гость #
Автору огромное спасибо!
Для дисплея 128х64 будет прошивка как для 192х64? На второй расположение спидометра и тахометра более удачное.
Если автору интересно первое впечатление о прошивке 192х64 на тему восприятия показаний, то:
1. Температуру двигателя можно уменьшить вместе со значком. И передвинуть немного к температуре воздуха?
2. Суточный километраж можно убрать. Он пусть записывается, но посмотреть его можно в меню.
3. К одометру добавить надпись КМ. А то не понятно что это.)
4. Может не 9900 об/мин, а 15000 об/мин максимум? Ну пожалуйста.
Я не из вредности пишу что изменить. Хочу помочь автору. Считаю, что эти изменения сделают показания более различимыми.
Ответить
+1
bulyga #
А мне авторский дизайн в целом нравится.
Как вариант улучшения, попробовал бы увеличить размер шрифта для скорости за счёт удаления или уменьшения иконки аккумулятора и сдвигания температурной линейки в право. Хотя не уверен, что станет лучше. Надписи "км" тут не нужны, только места украдут, а толку никакого, всё и так ясно. И суточный километраж для меня, например, более интересен, чем общий пробег, который по сути нужен, что бы не прозевать очередное тотехобслуживание.
Автору спасибо за труды.
Ответить
+1

[Автор]
u33 #
Спасибо за комментарий. Я делал как сам считал лучшим. Старался цифры сделать как можно больше для наиболее важных параметров, а для большей различимости применил разные шрифты. Если хотите, пишите в ЛС, за определенную оплату могу поправить прошивку как Вам нужно.
Ответить
+1
Z80 #
Конструктивная критика:
Операционный усилитель питается от не стабилизированного 12V? Что помешало запитать от напряги питания МК 5V? Есть операционный усилитель типа OPA348 Rail-to-rail input/output, нет?
Зачем вообще нужны инверторы с триггерами Шмитта? Напрямую, через резистор и защитный диод к МК, нет?
Ответить
0

[Автор]
u33 #
Питается от не стабилизированного 12V, при этом работу свою выполняет отлично. От 5 пытался запитать - на выходе не удавалось получить максимально нужное напряжение 5V (это важно для версий с измерением уровня топлива). Инверторы не нужны, а триггер хорошо исправляет искаженный входной сигнал. Вообще схему его обработки можно делать не обязательно эту. В интернете полно электронных тахометров\спидометров - можно взять от них. Все зависит от того как будет работать. У меня, например, от простого делителя и стабилитрона тахометр прыгал и бесился, пока не применил с триггерами.
Ответить
+1
Z80 #
Конструктивная критика:
Зачем вообще нужен диод D2? Как резистор? От переплюсовки, на разведенной плате?
На мой взгляд совершенно не нужная деталь.
Стабилитроны в принципе прокатят, как защитные, но обычно ставят, резистор в последку и обычные диоды к + и корпусу. (смотрите, как внутри МК делают защиту). Относительно корпуса, в + и - будет защищать, а не, как у вас только в +.
Ответить
0

[Автор]
u33 #
Вы наверное имели в виду D3.
Действительно можно и не ставить. Это скорее остаток от предыдущих схем. А защиту от переполюсовки и удобство подключения сделать разъемом, типа такого
Ответить
-1
Z80 #
Вы понимаете, что с изменением напряжения питания АКБ, будут приходить значения к МК искаженные.
(На выходе не удавалось получить максимально нужное напряжение 5V.) - МК нужно относительное значение, от 1V до 3V в этом диапазоне вполне достаточно чтоб рассчитать температуру - не обязательно брать на всю катушку.
(Тахометр прыгал и бесился.) Откуда снимали с датчика холла?
Ответить
0

[Автор]
u33 #
Понимаю. Но здесь все зависит от величины изменения. При питании от 10 до 15 вольт на выходе точно не будет никаких искажений.
Да, с датчика вращения коленвала (я не знаю, холл там или индуктивный)
Ответить
+1
Z80 #
Нельзя было МК запитать от AKБ через плавкий предохранитель 50-100ma, что-б работал в режиме нонстоп. А жкашка включалась, инициализировалась через ключ зажигания. Тогда не надо было бы доп батарейку 3V ставить и флэшку лишний раз не дергать.
Ответить
0

[Автор]
u33 #
Можно и так сделать, но везде свои плюсы и минусы. Каждый раз при отсоединении аккумулятора придется заново устанавливать время.
Ответить
0
Александр Чикалов #
Собрал Ваш прибор, все вроде бы удалось и все красиво но в автомобиль пока еще не устанавливал. Вот на днях дождался из Али термодатчик рт 100, но только у меня не получается подружить его с Вашим прибором. У этого датчика между нулем и сотней градусов всего лишь 38.5 Ом разницы что оказывается маловато для этого прибора. Я уже пытался подбирать резистор R28, но все равно внедрить его под адекватные показания не получается. Может быть в схеме какая нибудь опечатка или на что мне обратить внимание? У меня была мысля внедрить туда терморезистор, но он оказывается работает в противоположном направлении.
Да и еще! В будущем Вы собираетесь задействовать свободный елемент операционного усилителя под уровень топлива, я бы Вам посоветовал задействовать под давление масла в двигателе.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

200 Вт усилитель класса D на IRS2092
200 Вт усилитель класса D на IRS2092
Ручной фен 450 Вт с регулировкой температуры Лазерный модуль 650нм 5мВт
вверх