Как сделать термометр для авто
Цифровой термометр в панель приборов
Прошивка, скачанная в комплекте, умеет по очереди (с задержкой 1 сек) отображать показания датчиков, подключенных к МК по шине 1-Wire. Количество подключаемых датчиков (по описанию автора программы) – 8, хотя в даташите на датчик ограничения по количеству датчиков на шине я не нашел (может, плохо искал? :-))…
Подключаются датчики на шину следующим образом:
Видео работы этого варианта…
В общем, заказчик остался не очень удовлетворен результатом, а также по отзывам народа, собиравшего данную схему до меня, у данного варианта есть один существенный недостаток – повышенная нагрузка на выходы, управляющие катодами разрядов, что со временем может повлечь неравномерность свечения разрядов и сегментов индикатора.
Исходя из этого, была найдена статья с описанием недостатков первого варианта и «усиленной» схемой:
«Железо» понравилось, но прошивка под него была написана автором только под один датчик, а мой заказчик просил возможность подключения трех датчиков, поэтому, сей вариант прошивки отпал.
В конечном итоге я нашел еще один вариант прошивки, в исходнике которой описана возможность подключения более 1 датчика. Это — самое то!
Итак, техзадание:
1. Минимально возможные габариты «ширина-высота» дисплея для встраивания термометра в заглушку справа (слева) от часов Chevrolet Lacetti (седан);
2. Переключение между показаниями датчиков не автоматически, а вручную;
3. Поскольку данный девайс будет использоваться в автомобиле, необходимо уменьшение яркости индикатора при включении габаритов;
4. Работа устройства с тремя датчиками.
Исходя из задания, а также, для удобства разводки плат, на основе предыдущей схемы был разработан собственный вариант:
Для минимизации габаритов устройства был выбран вариант из двух плат, соединенных между собой. Индикатор монтируется к ним таким образом, что обе платы спрятаны за ним и не выступают за его габариты:
Термометры и вольтметр для автомобиля на PIC контроллерах
Никто из автолюбителей не станет спорить, что вольтметр автомобилю нужен.И автомобильный термометр назвать измерительным прибором язык не поворачивается, это скорее индикатор наличия термодатчика. С помощью микроконтроллеров изготовить эти очень нужные вещи не составит особого труда.
У меня давно пустовала магнитофонная ниша. А вот теперь она заполнена с пользой. Платы выглядят так:
На плате вольтметра собран и стабилизатор напряжения. Схема вольтметра:
Питать устройство желательно через дополнительный фильтр, иначе импульсные искажения в бортовой сети будут повышать показания.
Установка датчика температуры в двигатель:
При тщательном осмотре двигателя в районе генератора нашлась ремонтная проушина, которая крепилась болтами М10. Решил, что двигатель обойдется без проушины. В шпильке просверлил под датчик несквозное отверстие и сделал пропил под отвертку. Датчик в термопасте плотно вставил в уже закрученную шпильку. Если у Вас не найдется ни одной ненужной резьбы, то датчик можно прижать к двигателю шайбой с отводом. В предыдущем девайсе «Отображение данных в зеркале обратного вида» я пользовался специальной шайбой для мощного диода.
С 95 ºС термометр опять начнет пищать и моргать. Основная задача: привлечь внимание водителя, что он перегревает двигатель или, может быть, не все в порядке с системой охлаждения. С цифрой 95 тоже можно поспорить: разные двигатели, тосол и т.д. Можно бы поручить самому водителю программировать нижний и верхний пределы, но я придерживаюсь мнения, что всевозможные гаджеты должны выполнять свои функции не требуя дополнительного внимания.
Как все работает можно посмотреть на видео.
Термометр-Вольтметр или «наши руки не для скуки»
Собственно предыстория: На прошлой машине у меня в салоне штатно установлены были только часы. Я купил в автомагазине первый попавшийся термометр, немного модифицировал его подсветку и установил в машину. установил над зеркалом заднего вида под потолком. Термометр показывал внешнюю температуру и температуру в салоне. Никаких нареканий к его работе не было, но… машина была продана и с ней ушел и термометр.
В теперешней своей машине, тоже захотелось поставить термометр. Привык я к нему. Скажу сразу — штатный термометр и часы в новой машине имеются. Однако выводится всё это на один ЖК цифровой дисплей. Поэтому либо смотрим время, либо температуру. Переключение между режимами одной очень маленькой кнопочкой, которая плюс ко всему еще и не имеет подсветки. В темноте попасть именно в эту кнопочку просто не реально (рядом еще 2 кнопочки, и вместо переключения и есть ошибся с кнопкой, то переходишь в режим установки времени). Поэтому было решено на штатном дисплее оставить время, а вот термометр прикупить. И лучше, если этот термометр еще и напряжение в бортовой сети показывать будет (опять же из опыта, иногда напряжение знать надо).
На торпеде у меня нет лишних заглушек, свободных DIN карманов и прочих свободных мест. Вырезать, сверлить торпеду я не хочу, просто категорически. Что-то приклеивать на двухсторонний скотч, липучку и т.п. тоже не было желания — как-то «колхозно», что ли… Выбрал уже привычное место над зеркалом заднего вида в салоне. Пространства между зеркалом и потолком более чем достаточно. Естественно такого же термометра купить не удалось, ибо был снят с производства. Поэтому купил того же производителя, но другую модель. Этот термометр показывал внешнюю, внутреннюю температуры, время, дату и день недели. Часы и дата мне были совсем не нужны, но раз уж есть, то пусть будут.
Небольшое отступление. Не так давно приборы с ЖК индикаторами шли с поляризационной пленкой сверху. Она была либо приклеена, либо просто сверху индикатора ложилась, заодно играя роль защитной пленки для индикатора. Повернув пленку на 90 градусов по часовой стрелке можно было «12 часов» исправить на «6 часов». А если перевернуть пленку обратной стороной, то получали негативное изображение. Если были черные цифры на зеленом фоне, то получались зеленые цифры на черном фоне. Сейчас таких пленок не используют. Я так понимаю теперь поляризационный фильтр либо напыляют сверху, либо используют популяризированное стекло в качестве прижимного и его отделение от индикатора равносильно смерти индикатора.
Именно угол обзора и стал последней каплей для отправки термометра в машине в пыльные закрома с остатками других устройств.
Всех этих недостатков лишены светодиодные термометры, но у них есть свои недостатки:
1. Все светодиодные термометры либо бескорпусные, либо с корпусом для установки в панель. В принципе, это решаемо, у тех же китайцев можно прикупить пластиковый корпус подходящего размера по разумной цене, вкорячить туда термометр и использовать его как навесной прибор. При этом, понятно, степень гармоничности вписания в интерьер салона будет зависеть от места произрастания рук и степени их кривизны.
2. Яркость свечения. Увы… у всех встреченных мне поделок мне не попался ни один, который бы менял яркость при включении габаритов. А светят они не плохо. Но «люстру» мне, практически на уровне глаз, не нужно. Реализовать самостоятельно изменение яркости на уже готовом изделии — проблематично.
В итоге я соединил эти два модуля, объединил их в один прибор, написал программу для микроконтроллера и за пару дней терзаний сваял себе термометр-вольтметр. Честно говоря я уже давно не использую контроллеры AVR для своих поделок, несколько лет назад переключился на STM, поэтому в эту пару дней изготовления входят поиски где-то завалявшегося программатора, для заливки написанной программы в контроллер, поиск старого компьютера (драйверы программатора не работали с новыми версиями Windows), чтение документации на микроконтроллер ибо уже подзабыл, а так же изготовление простейшего корпуса — задняя часть к которой крепится кронштейн (черный пластик) и верхняя лицевая часть — прозрачное оргстекло. С боков прибор ничем не закрыт и видимо ничем далее закрываться не будет. Получилось следующее:
Фотография, как бы немного засвеченная и не очень контрастная. Дело в том, что для фотографирования я выбрал солнечный день, а машину поставил так, что бы освещение было самым тяжелым для обозрения — в окно водительского стекла. Как видите, показания прекрасно видны. Установка под потолком вообще исключает попадание прямых солнечных лучей на девайс. То есть экран в любой ситуации засвечен не будет.
Кнопочка слева для переключения режимов показаний (кнопка подсвечивается). Режимов всего три: а) температура на улице и в салоне; б) температура на улице и напряжение в бортовой сети (цифрами); в) напряжение в бортовой сети (цифрами и графически).
Графическое отображение уровня заряда имеет смысл только при заглушенном двигателе, так как при работающем он естественно показывает напряжение с генератора. При снижении напряжения аккумулятора, меняется и графическое отображение. Количество рисуемых сегментиков уменьшается. С определенного порога напряжения эти сегментики сначала рисуются желтыми, а при дальнейшем снижении напряжения — красными. Одновременно с красными сегментиками начинает мигать красный светодиод справа от экрана. Не заметить его очень сложно, он яркий. Это светодиод при критических напряжениях АКБ мигает независимо от того, какой режим работы дисплея выбран. Мы можем быть на экране с температурами, а прибор продолжает мониторить напряжение.
Номер режима показаний запоминается в энергонезависимой памяти устройства, если в этом режиме пробор проработал более 10 секунд. При дальнейших включениях, устройство автоматически переключается в сохраненный режим показа. Яркость дисплея при включении габаритов уменьшается.
Вот так выглядит устройство, если посмотреть на него снизу. Виден торец дисплея, микроконтроллер, датчик температуры DS18B20. Слева виден синий подстроечный резистор, служащий для настройки вольтметра. Образцовый вольтметр я подключал прямо к клеммам АКБ, и смотря за показаниями этого вольтметра через лобовое стекло выставлял напряжение на девайсе.
Схема LCD модуля показана ниже. Ничего сложного. Микросхема 75LVC245ADW согласует логические уровни управляющего микроконтроллера и контроллера встроенного в дисплей. Так как в данном случае осуществляется односторонняя связь (данные от контроллера идут на LCD, обратно никаких данных не отправляется), то эту микросхему можно вообще упразднить, вместо нее использовать ограничительные резисторы 470 Ом с подтяжкой линий со стороны LCD к земле через резисторы 610 Ом (5 линий связи — 10 резисторов).
Стабилизатор для питания логики дисплея линейный регулируемый. Регулируется резистором R2. На выходе должен выдавать 2,9…3,0 Вольт (. Проще уже вроде и некуда. Повышающий преобразователь на 10 Вольт организован на дешевой и доступной микросхеме MC33063. Безусловно, этот преобразователь можно выполнить и на другой, элементарной базе, от специализированных микросхем, до банальной NE555. Однако от использования дополнительного «обвеса» микросхемы в виде дросселя и некоторого количества резисторов-конденсаторов это не освободит. Индуктивность L2 можно упразднить, для подсветки дисплея ее наличие не принципиально, а вместе с нею убрать и конденсатор C6. В том же направлении можно и отправить светодиод и его ограничительный резистор R5. Если регулировка яркости подсветки дисплея не требуется, то полевой транзистор VT1 из схемы убирается, а контакт PWM и LED_GND закорачиваются на GND. В номинале резистора R6 нет ошибки, он действительно 1,8 Ом — это токоограничивающий резистор.
Примечание:
Напряжение питания дисплея равное 2,9 Вольт и напряжение питания подсветки дисплея равное 10 Вольт, я получил путем прямого измерения напряжения на этом дисплее, еще когда он был установлен непосредственно в телефоне. По данным от SHARP напряжение питания схемы дисплея составляет 3,0…3,3 Вольт. А напряжение питания светодиодной подсветки составляет 12,6…13,5 Вольт. На свой стах и риск можете использовать именно эти значения напряжения. Правда нужно будет пересчитать номиналы резисторов и конденсатора обвязывающих микросхему MC33063 (в интернете есть он-лайн калькуляторы).
Конструктивно LCD модуль выполнен как «сандвич» — с одной стороны платы припаяны компоненты, с другой стороны закреплен сам дисплей. Крепление дисплея в моем варианте применено «родное», снятое с того же телефона, что и сам дисплей. Представляет из себя металлическую рамку с прорезями под пластмассовые фиксаторы, которые расположены на корпусе LCD. С «донора» так же снял и пружинные контакты, которые обеспечивают надежное разъемное соединение между дорожками на плате и контактными площадками на LCD. Отмечу, что демонтаж и последующий монтаж металлической рамки держателя дисплея и пружинных контактов очень затруднен без использования фена. Боюсь работая просто паяльником, крепление и контакты будут испорчены. Закрепить дисплей можно просто на двухсторонний скотч, а к контактным площадкам припаять провода (предварительно зачистив контакты при температуре жала не выше 290 градусов).
Схема блока управления показана ниже. Всё традиционно и стандартно.
Однако не смотря на всю традиционность и стандартность имеется маленькая деталь. На схеме управляющий сигнал PWM (регулировка яркости подсветки дисплея) идет в никуда. Это не ошибка. Дело в том, что у меня на борту уже имеется один самодельный прибор с кнопками и переключателями, для которого уже организован ШИМ (PWM) и яркость этих кнопок и переключателей уже меняется в зависимости от включения/выключания габаритов. Поэтому мне нужно было либо заводить в данный прибор один провод от габаритов, что бы контроллер мог распознать момент включения этих самых габаритов, позаботиться о защите порта, к которому этот провод будет подключен, написать кусок программы для опроса этого порта, кусок программы для организации ШИМ… или просто кинуть тоже всего один провод от имеющегося прибора с уже готовым ШИМ (PWM). Естественно я выбрал второе.
Примечание:
Для того, что бы сигнал ШИМ (PWM) генерировался не сторонним прибором, а именно этим контроллером, потребуется изменить схему прибора и программу для микроконтроллера. Мне видится так: датчик температуры нужно будет перебросить на порт PD6, что бы освободить порт PD7, который одновременно является выводом аппаратного ШИМ сигнала Timer/Counter 2. Вот к этому освободившемуся порту и подключить PWM. Одновременно с этим в самой программе нужно будет «перебросить» функцию опроса кнопки с Timer/Counter 2 на Timer/Counter 0, а Timer/Counter 2 настроить на вывод сигнала ШИМ (PWM). К стати, одну единственную редконажимаемую кнопку можно и без использования таймера опрашивать, а, например, в основном бесконечном цикле while < >в функции main < >.
Можно поступить и по другому. Оставить всё как есть, но для ШИМ использовать Timer/Counter 0. Для этого в программе нужно сделать соответствующие настройки для этого таймера, линию PWM завести на порт PB3 (нога 43), а линию RESET для LCD модуля завести на другой свободный порт (а их много свободных) с соответствующими настройками в программе. Пожалуй это наиболее простой способ.
Особое внимание останавливаю на супрессоре VD1. Его наличие в схеме обязательно. На худой конец можно поставить стабилитрон на 18 Вольт или стабилитрон на порт вольтметра на 5,1 Вольт. Импульсные помехи с генератора автомобиля могут иметь весьма большой размах по напряжению (значительно больше чем 18 Вольт) и вывести из строя порт микроконтроллера.
Питание прибора организовано из той же «кормушки», что и питание видеорегистратора (он установлен за зеркалом заднего вида). В свое время у китайцев я прикупил парочку преобразователей на 5 Вольт для автомобиля, и ни разу об этом не пожалел. В машине у меня таких преобразователя 2 — один установлен для заряда мобильных устройств, второй для питания видеорегистратора и иных устройств, требующих питания 5 Вольт. Они прекрасно пережили уже третью зиму и два весьма жарких лета, никаких нареканий к их работе у меня не возникло. Вот такие преобразователи:
Эти преобразователи я никогда не нагружал до заявленных производителем 10 Ампер, но от одного устройства я заряжал 2 полностью разряженных планшета, ток зарядки на оба девайса составлял больше 4 ампер. Преобразователь без всяких дополнительных радиаторов даже не нагрелся. Короче советую и рекомендую. Размеры преобразователя (по радиатору) 65 х 55 х 21(высота) мм. Если возникнет желание сделать питание более бюджетным и компактным на основе линейных преобразователей типа 7805, то я отговаривать не буду, но разберите любую китайскую автомобильную зарядку, даже при экономности китайцев, они никогда не используют линейные преобразователи и на то, поверьте, есть целый ряд объективных причин.
Рисунки печатных плат не привожу по следующим соображениям:
1. У меня в основном использованы компоненты поверхностного монтажа, а кто-то предпочитает выводные.
2. Устройство было сделано из того, что было и совсем не факт, что то же самое будет и у остальных.
3. Блок управления я вообще состряпал практически из макетной платы (см. фотографию).
Под изготовление блока управления я использовал ранее изготовленный модуль, который пылился у меня без дела года 2 или 3. Я таких модулей в свое время сделал 4 штуки для макетирования устройств. На фотографии модуль, так сказать, в полной комплектации: микроконтроллер; кварцевый резонатор с конденсаторами, фильтры по питанию микроконтроллера, разъем для внутрисхемного программирования, кнопка Reset и ее обвязка, микросхема часов DS1307 с кварцевым резонатором, резисторы подтяжки линий, держатель батарейки для часов, индикатор питания, микросхема энергонезависимой памяти EEPROM (оставлены площадки для припайки адресозадающих перемычек — резисторы с нулевым сопротивлением). В устройстве я использовал модуль без часов и всё что с ними связанно и без микросхемы EEPROM.
Дальнейшему усложнению и расширению функционала устройство не подлежит. Вот отчет компилятора: «Program size: 7766 words (15532 bytes), 94,8% of FLASH». Память микроконтроллера практически полностью занята. Большое количество памяти «съел» большой шрифт — 14 знаков размером 32 х 45 пикселей. Если всё же понадобится чем-то дополнить, то делать это придется уже с микроконтроллером ATMEGA32, который абсолютно такой же как и ATMEGA16, но памяти в 2 раза больше — 32 кБайт.
Термометр в машину
Ну вот наконец то дошли руки поставить термометр. Купил вот такой термометр. Единственная проблема — питание 1,5В от батареек.
Хотел подключить через резисторы для снижения напряжения, но люди подсказали, что такой перепад напряжения резисторами не сделать — будет сильно греться. Тогда купил вот такую штуку, называется преобразователь DC-DC Step-down.
Входное напряжение: 3-30 вольт
Выходное напряжение: 1.2-18 вольт (настраивается)
Максимальный ток: 3 ампера
КПД: до 96%
Размер: 3.7cm X 3.7cm Х 1.6cm
Входное напряжение должно превышать выходное минимум на 1.5 вольт.
Хотел сначала поставить возле кнопок слева, но сняв панель увидел, что на этом месте крепления панели. Пришлось ставить справа.
Плату преобразователя закрепил винтом на рамке крепления кнопки туманок. Капля ногтевого лака для фиксации гайки.
Питание подключил от кнопки туманок, т.е. термометр работает, когда горят габариты. Подстветки экрана нет, ну и не стал заморачиваться с ней, хотя можно было заколхозить.
Итого затраты термометр 250р + преобразователь 150р.
Ну и вот так это выглядит на машине. Фото от уровня глаз водителя.
Установка термометра ОЖ и китайского БК AUTOOL X50.
Обернуть полноценно теплоизоляцией с целью минимизации потерь тепла, а следовательно и искажения показаний, в окружающую среду от медного проводника там возможности не имелось, по сему наложил полоски вспененного полиэтилена, куда оные пролазили, и также зажал хомутами.
Применённый корпус после небольшого подтачивания углов вставляется в отверстия заглушек кнопок у левой руки просто как родной, разве что боком.
Показания новодела отличаются от выдаваемого OBD (использовал на тот момент блютуз версию китайскую в связке со смартфоном) в момент прогрева в среднем на 4,5 градуса, аналогичное имелось и у предыдущих экспериментаторов. Можно связать это с расположением датчика и частичным охлаждением антифриза по пути к нему (трубы-то без изоляции).
После прогрева разница между OBD и установленным составляет
2 градуса.
Запитал термометр по-простому: минус на массу, плюс в один из предохранителей (тот, который оживал с поворотом ключа).
_______________________________________________________________________________________________
Зимой 2016-2017 начал изучать тему бортовых компьютеров.
В первую очередь на глаза попадались мультитрониксы. Там же подвернулся низадорага VG1031 UPL, ковырял я его с недели две по вечерам, пытаясь по obd соединить с машиной, но всё тщетно. Потом в техподдержке выяснил, что оная версия не поддерживает note и в принципе не шьётся — обломись. А в аналоговом режиме мне его подключать не хотелось, при том что с датчиком скорости пришлось бы хорошо помучиться, ибо у нашего инфа speed идёт от abs, а мультитрониксу нужен был холл.
Таки вот случайным образом попался на глаза на али autool x50, который вполне гармонично вколхозился в левый уголок:
С ним по началу были приличные проблемы. Заявленное потребление тока 15 мА. Я недели две не ездил, машина стояла в гараже и в одно субботнее утро я получил пшик — 4 вольта. Бегом заряжать акб, а потом выяснять причину. Ну и так как из дополнительного оборудования был только бк, искать долго не пришлось. Раскурочил разъём obd и давай вставлять амперметр в разрыв… плюса, честно давно было, я кажется проверял тогда потребляемый ток в разрыв всех проводов. Суммарное потребление бк в спящем режиме составляло 150-250 мА.
В итоге выяснил, что жрёт больше всего Can-шина. На основании инфы об используемом протоколе в note, инфы из бк, методом научного тыка — отпаял к чертям всё лишнее, оставив только плюс/минус и k-line — девайс заработал с потреблением тока заявленным и ничуть не ущербнее. Я был таки доволен.
По самому x50.
Размеры: 57mm×67mm×46mm
Дисплей: 1.6 дюйма
Разрешение: 220*180
Дисплей вполне себе достаточный, и даже в том углу, в который определил его я, можно было бы мелкими цифрами выводить/читать много больше информации, нежели заложено производителем программного обеспечения (кстати вопрос, никто его не прошивал?). Но так как развернуться мы не особо могём, то я решил выводить на него следующую информацию:
1. Расход мгновенный (вот не подумал бы, что можно ехать с одной скоростью, но с расходом в 4,5 или 7,5 л/100км. То есть по ощущениям ускорения — ноль, по нажатию на педаль — на уровне осязания чуть больше\чуть меньше. Имхо, полезная информация).
2. Температура ОЖ (наследие бывшего автоса, неуютно себя чувствую не зная оной).
3. Средний расход за поездку, от старта (сперва данный пункт показался бесполезным, но по итогу он мне таки понравился, видишь, в каком режиме ты сегодня катишь)
4. обороты (вот заменить бы эту нижнюю строку на ещё пару цифровых значений!)
Настроил сигнализации на превышение температур/оборотов/скоростей/напряжений.
Корректировки производил по расходу, ибо выдаваемый в obd и на дисплей родной приборки занижает на 4-9%, я ввёл коэффициент 1,07; и по напряжению, ибо тоже немного привирало. Вот, задумался, надо бы ещё по gps откорректировать скорость.
Думал купить x50 plus недавно появившийся, потом сравнил размеры их, то что там дисплей 2,4 дюйма, 320*240 разрешением и больше габаритами коробочка, а инфа выводится точно таким же образом — совсем не плюс ему. Решил оставить свой.
Термометр зелёный решил не демонтировать, как минимум будет ясно, что что-то с помпой или количеством ож в контуре не то, если информация с бк будет сильно разниться.
_____________________________
Ну и ещё немного колхоза:-)
Было дело, когда акб первый умирал, поставил в фонарь передний вместо лампочки вольтметр, разобрал старую диодную t10 и в корпус её пластиковый впихнул провода от вольтметра (подсмотрено дриве2. Кстати, вариант не самый правильный, ибо просадка напряжения по линиям освещения приличная и при выключенном двигателе может показывать на добрый вольт-полтора меньше, нежели есть на клеммах акб):
А тут гигрометр/термометр (разве что я его слегка доработал: датчики температуры и влажности сделал выносными, сантиметров на 10 от корпуса, чтобы этот в хвост в нужный воздуховод вставлялся. Оный никуда не встроен и не приклеен, вставляется по необходимости). Тоже проблемы решались, то стёкла запотеют, то печка не холодит (кстати тоже наследие моей бывшей — когда антифриз весь выдавливало в расширительный, стрелка родного термометра могла оставаться в рабочем диапазоне и единственное, как можно было определить зимой, что ож ушла — холодный воздух из печки):