Skip to content
 

Автомобильные часы-термометр с функцией “климат-контроль”

История появления этого устройства банальна как купюра номиналом в 500грн. Именно так – это абсолютно коммерческий проект изготовленный под конкретные цели и задачи. Изготавливался в сжатые сроки 4-5 дней. Но так как сумма оплаченная заказчиком ничего общего с покупкой авторских прав и исходных текстов программы не имеет, то не вижу ничего плохого поделиться с общественностью разработкой. Возможно, кто-то применит это устройство в своих целях.

Предыстория такая: чего там произошло с модулем термометра-барометра в KIA Sorento одному электрику известно, но мне эта железка попала в виде образца в корпус которого попросили вмонтировать часы и термометр. Одной из задач стояло оставить внешний вид без изменений, т.е. названия кнопок и индикатор должны были оставаться на том же месте. Ну и как говорится, гулять так гулять – если часы, то энергонезависимые на базе DS1307 (факт повторной установки часов при каждом сбое электропитания меня лично сильно бесит, и не только в автомобиле). А если термометра, то два – наружный и салонный. Ну и на сдачу вольтметр конечно, мелочь а приятно. Также в качестве эксперимента реализовано что-то наподобие термостата, в автомобильных кругах более известного как климат-контроль.

Сердцем конструкции является ATmega 16, индикатор светодиодный семисегментный, четыре символа с общим анодом, три кнопки управления с раздельной подсветкой, светодиод индикации режима “климат-контроль”, двухцветный светодиод индикации текущего датчика. Датчики температуры – две DS18B20 (-55…+125C). Также реализовано уменьшение яркости дисплея при включении габаритов – это нужно для комфорта и безопасности водителя в ночное время. Алгоритм работы программы описывать долго, лучше основное нарисую:

 

Все же поясню и словами. Схема подключена к бортовому питанию после замка зажигания и потому ничего не потребляет в выключенном состоянии. Часы энергонезависимые, батарейки CR2032 должно хватать на несколько лет. Стартует устройство с того же места, в котором было выключено, также запоминаются настройки климат-контроля (температура и положение вкл-выкл). Включение климат-контроля индицируется светодиодом HL4, при включенном климат-контроле из режима измерения температуры в салоне доступна регулировка целевой температуры. Все четыре режима переключаются циклически кнопкой SET. Длинное нажатие  “+” из любого из четырех режимов включает / выключает климат-контроль. Длинное нажатие SET из режима часов запускает установку часов.

При сбое питания резервной батареи (бит Clock Halt нулевого регистра DS1307),  при старте будет предложено выставить часы. Инициализация EEPROM свежепрошитого МК происходит автоматически. Если при старте был обнаружен сбой термодатчика, в режиме его отображения будет отображено ” 00 “

Немного остановлюсь на конструкции датчиков. Из практики установки DS18B20 в автомобиле – при длине проводов в 1.5 – 2м и больше работа становится нестабильной, потому поступаем так: На крайние ножки DS18B20 (земля и питание) паяем керамический конденсатор 100…330нФ типоразмера 1206. Далее выводы VDD (питание) и Dq (данные) ведем к устройству обычной витой парой необходимой длины. Землю цепляем коротким проводом “под болт” непосредственно в месте монтажа.

После всего этого упаковываем датчик в термоусадку для защиты от влаги, пыли и т.д.

Также стоит учитывать, что короткий провод соединения с массой имеет определенную теплопроводность и потому будет “греть” датчик . Учитывайте это при выборе места монтажа и длины земляного провода.

Желающие могут существенно упростить конструкцию путем выбрасывания таких узлов:

1. Блок управление реле – в том случае если будет использоваться иная схема управления отопителем и кондиционером или не использоваться вовсе.

2. Подсветка кнопок – элементы выделены на схеме серым цветом. Мне они нужны были для моей конструкции.

3. Транзисторы VT3, VT5, VT6, VT7, VT9, VT11 и их цепи. Это регулировка яркости – ее можно упразднить. Единственное, что стоит сделать в этом случае – увеличить сопротивление резисторов в цепях катодов индикатора с 47 до 220 … 330Ом.

В моем случае, вся конструкция была расположена на одной плате. Хотя плата и специфична для того корпуса в котором используется, на ней много лишнего и компактной ее не назовешь, все же пример разводки вы найдете в формате SprintLayout в конце описания.

Налаживание устройства минимально простое. Настраиваем вольтметр подбором R25. Затем резистором R5 устанавливаем комфортную яркость в ночное время. При включенных габаритах, естественно. Вот пожалуй и все.

В конце хотел бы остановиться на самом главном. В автомобиле, куда встраивалось это устройство климат-контроль уже присутствовал, потому этот узел оказался не у дел. И хотя работа климат-контроля отлажена на столе “на лампочках”, хотелось бы услышать отзывы и предложения собравших. Логика работы на текущий момент такая: временной гистерезис выбран около 40с, т.е. с момента пуска кондиционера / отопителя до его возможного выключения пройдет минимум 40 секунд и лишь потом будут учитываться показания термодатчика. Это нужно для того, чтобы часто не клацать оборудованием. Также введен температурный гистерезис в 1С. Десятые градуса показаний датчика не используются, что дает еще дополнительный температурный гистерезис в 1С. При грамотном расположении термодатчика (подальше от воздуховодов кондиционера / отопителя) все должно работать очень хорошо. При минусовой температуре отопитель включается немедленно. При внешней температуре  выше целевой – работа отопителя невозможна. Регулировка температуры ограничена 15…35С.

Ну и наконец фуз-биты для программирования МК:

 

Файлы:
Схема в SPlan 7
Печатная плата в Spint Layout 5
Прошивка

48 Comments

  1. alexsey_nes сказав:

    Классно. вот только в нашем городе – туговато с smd^((… а можно повторить то же самое но в dip корпусах?. буду признателен если схема будет. ..
    з.ы. ну и конешна два дисплейчика можно:)

    • electra сказав:

      Гм… А в чем собственно проблема? Ноги все что есть у 16-й меги в TQFP есть и у меги в DIP. Перерисовывайте на здоровье PA0 (40 нога DIP) = PA0 (37 нога TQFP) и т.д. Это ж не тот случай как с 8-й мегой – c ADC6, ADC7. Ну а два дисплея – это уже совсем другое устройство… Здесь плату я вообще приводил как пример конкретно для встраивания в KIA Sorento вместо штатного блока барометра.

  2. alexsey_nes сказав:

    з.ы. а ещё пикалку можно “припаять”?

  3. sdf сказав:

    спасибо за схему.

  4. Leo сказав:

    То, что искал долго. Ура нашел. Подскажите. Есть индикаторы с разделительным двоеточием. Можно ли выделить секундный импульс – это оживит часы. Гасится ли разряд десятков часов при индикации единиц часов, те как он индицирует, например – 9:00 или 09:00? Схема включения кондиционера. У меня на KIA SHUMA достаточно шунтировать контакт на панели приборов. Вроде схема включения KIA Sorento та же. Как мне применить к своей “ласточке”?

    • electra сказав:

      1. Секундный импульс выделить можно на какую-нибудь свободную ногу, хотя насколько мне помнится там и точка довольно наглядно мигает.
      2. Незначащий ноль само собой гасится.
      3. Схема (и часть прошивки) управления кондиционером в оригинале в той машине куда встраивалось – не использовалась. Я писал так, на довесок, ради интереса. Потому выбирайте метод подключения Вам удобный. Можете вообще взять логические уровни с PA0, PB0 и через ключи щелкать малогабаритными релюшками.

      • Leo сказав:

        Спасибо. Позже, при увеличении схемы с кондиционером разобрался. Простите за “танцы с бубном”. Буду делать. Плохо на шуме часы в 2 раза меньше. Прийдеться переразводить.

  5. Валера сказав:

    А можно сделать тоже самое только на базе 3х кнопочных часов Ланоса + если получится впихнуть Вольтметр.

    • electra сказав:

      Можно конечно. Делайте. Нужно только плату перерисовать. Вольтметр и так есть, невнимательно читали статью. Или Вы мне предлагаете плату нарисовать? И рад бы, но у меня нет Ланоса.

  6. Ale)( сказав:

    Доброго времени суток.Очень хороший модуль.Респект автору.Хотелось бы повторить.Но есть вопрос.А как управлять скоростью вентилятора?Не может же печка и кондиционер постоянно включаться-выключаться.Наверное нужен какой-то алгоритм.Ну к примеру скорость вентилятора должна плавно снижаться,по мере приближения существующей температуры,к заданной.

    Думаю,что нужен еще один канал на управление вентилятором.ну может ШИМ какой прикрутить.Или хотя бы сделать три выхода из модуля и подключить их к штатным органам управления.три скорости должно быть достаточно.

    А ели уж совсем мне заборзеть,то может и датчик освещенности.для коррекции скорости вентилятора.

    • electra сказав:

      Здравствуйте! Не совсем вкл-выкл, есть же еще температурный гистерезис, или можно включать выключать вентилятор на средних оборотах. Честно Вам скажу – имел очень неприятный опыт попытки продолжения этого проекта с товарищем из Луганска, потратил кучу времени ШИМы – регулировки и т.д., был там и датчик освещенности и включение фар – в ответ одни только пустопорожние разговоры и все новые и новые блестящие идеи. Перегорело, было очень обидно. Заниматься не буду, извините. Воспринимайте проект “как есть”.

  7. Ale)( сказав:

    Ну что вы.я точно сделаю.Тем более что у вас уже есть наработки.Может все же поделитесь.Я буду очень признателен.Скажите только какие Ноги задействовать под ШИМ.и датчик Света.И больше вообще ничего будет не надо.я переразведу сам. Если что простите за назойливость.просто я сам такое не смогу решить.хотя для меня изготовить плату спаять прошить не проблема.я уже даже закупил все детали сегодня.буду делать в любом случае.Спасибо за внимание.

  8. Ale)( сказав:

    Наконец я сделал плату.Переразводил ее три дня.ВЫ видимо гений за пять дней устройство с нуля сделать.Я повторить готовое в пять дней не могу)))Плата получилась 50х90мм.Хотел сделать питание на МС34063.Но побоялся.Вдруг часам мешать начнет.На всякий случай я развел и пустые ноги МК.Ну а вдруг….Главное теперь МК впаять и не налажать.Расстояние между ногами у него конечно жесть.

  9. Ale)( сказав:

    Еще вопросик в догонку.Ответьте пожалуйста.Какое место в салоне для определения температуры вам кажется оптимальным?

    • Ale)( сказав:

      В общем спаял.Все заработало сразу.Танцы с бубном не понадобились.Большое спасибо за разработку.

      Очень жаль ,что вы не пошли на диалог.если что могу поделиться своим вариантом разводки платы.Он компактнее и там все есть и яркость и подсветка кнопок.(кстати это даже не подсветка,а указатель активности кнопки скорее)управление релюшками сделал через полевички.

      Немного не понял фразу “При внешней температуре выше целевой – работа отопителя невозможна.”
      Это было бы классно если бы скажем отопитель не мог работать если температура на улице больше целевой,а кондей не мог работать если наоборот.Но этого нет.

      • electra сказав:

        Плата у меня имеет размеры блока в который она встраивался, так что задачи миниатюрности просто не ставилось. Я особо и не рассчитывал, что при повторении кто-то будет именно ее делать.
        Насчет “диалога” – я вроде бы как по-человечески все и объяснил. Не сомневаюсь, что второй раз нарваться на такую же балаболку шансов не много, но энтузиазм испорчен, время упущено. Увы.
        Отопитель не работает если температура на улице выше целевой. Для кондиционера по какой-то причине не сделал, по какой уже и не вспомню.

    • electra сказав:

      Термодатчик хорошо бы поставить в районе зеркала на лобовом стекле или где-то в этом районе.

  10. Ale)( сказав:

    Про плату.Я знаю почему ваша плата такого размера.Я внимательно прочел статью.Я предложил свою плату,ради выложить ее тут,что бы кому другому не пришлось ее переразводить как мне.

    За приставание о работе над прошивкой,не серчайте.Я должен же был хотя бы попытаться.Просто могло бы выйти реально очень функциональное устройство.

    Про датчик.Может на потолке как в десятке?

    • electra сказав:

      Потолок думаю вполне пойдет. Насчет платы – шлите конечно. Желательно с парой фотографий, чтобы собирающий понимал что устройство вживую где-то работало, для многих это важно. Выложу с удовольствием. “electra (((@))) aliot.com.ua”

  11. Ale)( сказав:

    Хорошо.Я в машину еще не ставил.Поставлю и отправлю еще фоток на машине.Пока что только фото самого устройства отправлю.Правда у меня нет фотоаппарата,мобильником сниму.Он довольно сносно фотографирует.

  12. bal72 сказав:

    Доброго дня Вам!
    Очень интересный проект! В процессе изучения платы и схемы возник вопрос – что подключается через разъём к ногам РС1-РС4? На схеме этих элементов нет.
    По поводу датчика температуры салона, я бы посоветовал расположить в нижней части центральной консоли так, чтобы от солнца меньше грелось и находилось приблизительно посередине между потолком и полом(конвекция даже при малой разнице высот даёт о себе знать – привключённом кондиционере морда лица потеет, а ноги мёрзнут).:-)
    А вот насчёт невозможности включать кондиционер при низкой температуре на улице я бы поспорил – при повышенной влажности часто приходится включать кондишн для устранения запотевания стёкол(алкоголь ни причём :-). В таких ситуациях мог бы пригодиться датчик типа SHT или DHT с измерением влажности.

    У меня KIA RIO будет в качестве подопытного кролика, установку придётся осуществлять вместо штатных часов. Результаты постараюсь предоставить. Спасибо!

  13. bal72 сказав:

    И снова здравствуйте!
    А можно ли использовать данную схему без кварца? На внутреннем генераторе в 8 МГц с поправкой фьюзов?
    Мне приходится “запихивать” в значительно меньший корпус и, соответственно, урезать по максимуму размеры платы, а в этом случае 3 детальки долой и места останется чуть поболее.

    • electra сказав:

      Хоть убейте не помню зачем мне понадобился внешний кварц…. От внутреннего RC все должно работать нормально, особо критичных к таймингам вещей в схеме нет.

  14. bal72 сказав:

    Спасибо! Попробую без кварца на макетке для начала… А то пока ещё разведу платы – мне надо делать бутерброд из трёх штук размером 30х78мм. На одной “родной” разъем питания, на другой кнопки и индикатор. Счетверенного не нашел, будут два сдвоенных.

  15. Макс сказав:

    Уважаемый Автор скажите пожалуйста, у вас в описании написано что “Все четыре режима переключаются циклически кнопкой SET” А меня интересует дополнительно автоматическое переключению всех 4 режимов по заданному времени например 5 сек. Можете ли вы такое реализовать ?

    • electra сказав:

      Можно то оно все и всегда можно. Вот только ворошить давно закрытый проект очень не хочется. Была бы найдена ошибка (глюк) – исправил бы конечно, а так пожалуй откажусь.

  16. Anton сказав:

    Здравствуйте! Очень понравился Ваш проект! Не могли бы Вы переделать его под ATmega8a. Очень был бы благодарен.
    С уважением Антон

    • electra сказав:

      Мотивируйте Ваше желание чем-то, что будет интересно мне и возможно посетителям этого сайта. Естественно причина не могу (не хочу, денег жалко и т.д) купить ATMega16 не подходит. Если такой мотивации не найдется – придется заплатить мне за два-три дня моей работы. Да и это будет не просто изменение управляющей программы, у меги 8 даже ведь ног меньше, потому пришлось бы серьезно менять и схемотехнику.

  17. Anton сказав:

    Извините если сильно задел, Я не хотел. Я не силен в программировании, просто думал что там поменял пару команд и перекомпелировал. Прошу прощения за глупый вопрос

  18. Денис сказав:

    Добрый день. Уважаемый electra подскажите как с вами можно связаться дабы обговорить заказ более простых часов с наружным и внутренним датчиком температуры но на ЖКИ дисплее? спасибо

  19. Viktor1802 сказав:

    Уважаемый автор. Очень заинтересовала Ваша конструкция. Хочу повторить но с изменениями. Хочу добавить контроль перегрева двигателя после останова последнего(После останова помпы температура двиг. повышается). Возможно ли получить исходник Вашей программы?

  20. Сергей сказав:

    Здравствуйте уважаемый автор.
    Очень заинтересовало данное устройство. Но у меня к Вам вопрос (просьба), можно ли реализовать полностью функции DS1307, как то дату, календарь не меняя при этом схему? В моем случае климат контроль не нужен (авто ВАЗ-2106). Намерен “запижать” устройство в штатные часы (корпус).
    С уважением Сергей.

    • electra сказав:

      Здравствуйте, Сергей!

      Теоретически можно, практически – устройство давно завершенное. Ворошить программу двухлетней давности нет никакого желания. Это все равно что писать все с нуля.

      • Сергей сказав:

        Здравствуйте, electra:
        Спасибо за оперативный ответ. Будем делать то, что есть. К моему великому сожалению в программировании я абсолютный “ноль” и поэтому может кто из форумчан прочитав мой вопрос к Вам, сумеет реализовать эти функции, разумеется с Вашего разрешения.
        С уважением Сергей.

        • electra сказав:

          У меня ассемблер. А дописывать что-то к чужому ассемблеру – гиблое дело. Я как-то раз повелся на просьбу товарища дописать “пару строчек” к чужому проекту – проклял все. Проще было с нуля писать. Просто расценивайте это устройство как логически завершенное да и все. Не знаю как Вам, но по-моему большинству наличие календаря в автомобильных часах покажется мягко говоря лишним. Чем проще – тем лучше, это по-моему как раз этот случай.

          • Сергей сказав:

            Здравствуйте, electra:
            В отношении календаря в авто с Вами согласен. Но у меня просьба такая – можно подправить прошивку под индикатор с общим катодом. На днях сяду за плату и если можно, то выставить ее на суд форумчан.
            С уважением Сергей.

            • electra сказав:

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

  21. Viktor1802 сказав:

    Наконец то вчера закончил монтаж устройства полностью. Понравилась работа устройства. Большое спасибо автору.

  22. Fktrctq сказав:

    Не могу скачать прошивку вылетает какаета абра кадабра если можно скинте пожалуйста на мыло krek7511@yandex.ru заранее благодарен

  23. Дмитрий сказав:

    Здравствуйте, как в этом проекте было задумано включение обогревателя? Моя машина с кондиционером, без климата(крутилка на заслонку и переключатель оборотов вентилятора)

  24. DMUTPUUM сказав:

    Здравствуйте, есть возможность изменить прошивку, чтобы не нажимать кнопку set а через определенный промежуток переключалось автоматом?
    Или исходники???
    и да. как управлять вентилятором и заслонкой???

    • electra сказав:

      И как там погодка в Канзас-сити, уважаемый? Я же понятным Вам языком написал. Повторю. Из россии? Нах отсюда!

  25. Трактор сказав:

    Я бы вместо батарейки прилепил ионистор с подзарядкой от бортсети. Хотя, неизвестно, проживёт ли он дольше батарейки. Ионисторы вроде тоже не вечные…

  26. Vaki сказав:

    Точно такий самий девайс в сумітстві з SOIR зробили для різних способів налаштувань (чотирьох, трьох та двух кнопочні). На контроллері атмега 8. Біль доступний і манш дорогий. Якщо зацікавить проек, то він в вільному доступі. А ось розробки під різні авто, трохи не крізь є. Маю тільки Ланос, Черато, та Опель (ще на якусь чері робив). Кому цікаво, звертайтесь.
    Прошу вибачення у автора.

Leave a Reply