Климат контроль на ардуино для авто
Климат контроль на ARDUINO
Всем доброго времени суток.
Началось все с того что я обладатель русской классики, и захотелось мне добавить хоть немного комфорта во время езды на автомобиле. Так как нет средств на замену машины то пришлось допиливать уже имеющийся в наличии автомобиль.
И одним из элементов повышения комфорта это было установка автоматического регулирования температуры в салоне, этакой климат контроль (я думаю многим понятно что без кондея летом все это не работает). Сделано все это было года 3-4 назад и вроде неплохо все работало.
Штатные рычаги были убраны и был установлен блок от ВАЗ 2110.
Но в десятке температура регулируется путем смешивания холодного и горячего воздуха при помощи воздушной заслонки а в классике с помощью крана который ограничивает подучу теплоносителя в радиатор.
Поэтому пришлось срастить кран от восьмерки и привод от десятки.
Так как на блоке имеется 3 положения скорости вращения вентилятора а на классике только 2. Пришлось заменить резистор.
Долее чтобы блок понимал какая температура в салоне нужен датчик температуры.
Сам корпус датчика был разобран и все потроха датчика были установлены в плафон кажется от Калины.
А кран с редуктором хорошо поместились в подкапотное пространство.
И все это детище Франкинштейна в итоге заработало. Чему я был безгранично рад.
Сразу же при езде добавилось +100 к комфорту.
В таком виде система проработала 3 года, но потом пошли проблемы. В начале вышел из строя моторедуктор.
После замены поездил год и перед началом этого отопительного сезона система отказалась работать. И проблема в том что я даже понятия не имею в какую сторону капать и из за чего все сбоит. А тупо менять блоки на новые и таким образом искать проблему просто очень дорого.
Поэтому было принято волевое решение выкинуть все заводское и сделать полностью свой климат контроль, тем более недавно начал осваивать такую платформу как Arduino.
Первым делом выкинул десяточный моторедуктор с пластиковыми шестернями, и приобрел сервопривод с металлическими шестернями.
Так как штатные штанги сервы сделаны из пластика то докупил отдельно металлическую штангу.
Далее были выдраны все потроха из блока управления, была оставлена только лицевая панель.
Теперь всем будет управлять Arduino Nano
Что бы ардуинка понимала какую температуру мы задаем и какую скорость вращения вентилятора хотим получить установил 2 потенциометра, с помощью которых будут задаваться все параметры.
Так же заменил старый датчик температуры на новый цифровой 18B20.
Далее добавляем пару стабилизаторов напряжения на 5 В, так как ардуинка, серва и датчики питаются от 5 вольт. Также установил мосфет транзистор с помощью которого используя ШИМ сигнал можно плавно регулировать обороты вентилятора.
В итоге имеем вот такую схему подключения.
Далее развел всю схему на плате.
В итоге все поместилось в компактный корпус.
Ну и итог все проделанной работы.
Все работает отлично, не идеально есть над чем еще работать но в таком варианте ездить комфортно без проблем можно. Температура выставляется и удерживается с градацией 1 градус. Да температура не держится железобетонно на заданной, например если выставил 22 градуса то реальная температура может колебаться от 21 до 23 градусов. Особенно при езде по городу, на трассе понятно дело все работает намного стабильнее. Но и эти колебания никак не ощущаются.
Так же имеется автоматический режим управления вентилятором. Тоесть когда в салоне холодно скорость вращения высокая по мере прогрева скорость постепенно уменьшается и при достижении заданной температуры скорость минимальная и вентилятора практически не слышно.
Да и самое главное, деньги. При использовании заводских элементов система контроль обойдется в 2500 — 3000 рублей (только запчасти) при использовании ардуино обойдется все то же самое 100 — 1500 рублей.
И на этом все всем удачи на дорогах.
Климат контроль на ARDUINO.
Всем доброго времени суток.
Началось все с того что я обладатель русской классики, и захотелось мне добавить хоть немного комфорта во время езды на автомобиле. Так как нет средств на замену машины то пришлось допиливать уже имеющийся в наличии автомобиль.
И одним из элементов повышения комфорта это было установка автоматического регулирования температуры в салоне, этакой климат контроль (я думаю многим понятно что без кондея летом все это не работает). Сделано все это было года 3-4 назад и вроде неплохо все работало.
Штатные рычаги были убраны и был установлен блок от ВАЗ 2110.
Но в десятке температура регулируется путем смешивания холодного и горячего воздуха при помощи воздушной заслонки а в классике с помощью крана который ограничивает подучу теплоносителя в радиатор.
Поэтому пришлось срастить кран от восьмерки и привод от десятки.
Так как на блоке имеется 3 положения скорости вращения вентилятора а на классике только 2. Пришлось заменить резистор.
Долее чтобы блок понимал какая температура в салоне нужен датчик температуры.
Сам корпус датчика был разобран и все потроха датчика были установлены в плафон кажется от Калины.
А кран с редуктором хорошо поместились в подкапотное пространство.
И все это детище Франкинштейна в итоге заработало. Чему я был безгранично рад.
Сразу же при езде добавилось +100 к комфорту.
В таком виде система проработала 3 года, но потом пошли проблемы. В начале вышел из строя моторедуктор.
После замены поездил год и перед началом этого отопительного сезона система отказалась работать. И проблема в том что я даже понятия не имею в какую сторону капать и из за чего все сбоит. А тупо менять блоки на новые и таким образом искать проблему просто очень дорого.
Поэтому было принято волевое решение выкинуть все заводское и сделать полностью свой климат контроль, тем более недавно начал осваивать такую платформу как Arduino.
Первым делом выкинул десяточный моторедуктор с пластиковыми шестернями, и приобрел сервопривод с металлическими шестернями.
Так как штатные штанги сервы сделаны из пластика то докупил отдельно металлическую штангу.
Далее были выдраны все потроха из блока управления, была оставлена только лицевая панель.
Теперь всем будет управлять Arduino Nano
Что бы ардуинка понимала какую температуру мы задаем и какую скорость вращения вентилятора хотим получить установил 2 потенциометра, с помощью которых будут задаваться все параметры.
Так же заменил старый датчик температуры на новый цифровой 18B20.
Далее добавляем пару стабилизаторов напряжения на 5 В, так как ардуинка, серва и датчики питаются от 5 вольт. Также установил мосфет транзистор с помощью которого используя ШИМ сигнал можно плавно регулировать обороты вентилятора.
В итоге имеем вот такую схему подключения.
Далее развел всю схему на плате.
В итоге все поместилось в компактный корпус.
Ну и итог все проделанной работы.
Все работает отлично, не идеально есть над чем еще работать но в таком варианте ездить комфортно без проблем можно. Температура выставляется и удерживается с градацией 1 градус. Да температура не держится железобетонно на заданной, например если выставил 22 градуса то реальная температура может колебаться от 21 до 23 градусов. Особенно при езде по городу, на трассе понятно дело все работает намного стабильнее. Но и эти колебания никак не ощущаются.
Так же имеется автоматический режим управления вентилятором. Тоесть когда в салоне холодно скорость вращения высокая по мере прогрева скорость постепенно уменьшается и при достижении заданной температуры скорость минимальная и вентилятора практически не слышно.
И на этом все всем удачи на дорогах.
Климат контроль на arduino часть 2.
Первая часть здесь. Прошло уже довольно много времени, как я установил свой первый климат контроль на свою машину DAEWOO GENTRA. Впечатления полностью положительные. Но покатавшись год, первый сервопривод пришел в негодность. В своих ранних версиях я пытался как можно точнее удержать температуру. В результате сервопривод без дела не стоял. Но так же результаты менялись от интенсивности движения (обороты двигателя), это сильно влияет на кондиционер. И скорость печки также не позволяет сделать универсальную настройку. Затем я решил полностью переработать алгоритм. Дело в том что температура меряется в воздуховоде, а не в салоне, и гистерезис в +-2 градуса в салоне вовсе не ощутим. Это позволило сделать более плавную регулировку и снизить износ сервопривода.
Кому интересно вкратце опишу алгоритм.
Скетч опубликовал на github.com/big-town/arduino_car_klimat, так что у кого есть желание присоединяйтесь. Для тех кто просто захочет воспользоваться готовым исходником, и не знаком с git-ом, опишу процесс получения файлов.
1. Нужно просто проследовать по ссылке на github.com/big-town/arduino_car_klimat, справа есть зеленая кнопочка «clone or download» по которой можно скачать исходник в ZIP архиве, выбрав Download ZIP.
2. Аналогично скачать зависимости указанные в файле README.md, распаковать и поместить их в подпапку arduino libraries. Должна получится вот такая структура.
arduino-1.8.2
│
├── libraries
│ ├── Adafruit_CircuitPlayground
│ ├── Adafruit-GFX-Library
│ ├── Adafruit_SSD1306
│ ├── Arduino-Temperature-Control-Library
│ ├── OneWire
│ └── …
Скетч в папку libraries помещать не надо! Его ложим в любую удобную для нас папку, обычно это sketchbook. Далее загружаем и компилируем.
Официальный сайт компилятора arduino, где его собственно можно скачать www.arduino.cc/en/Main/Software
Всем комфортного время при провождения в машине.
PS Спустя уже значительное время хочу дать практический совет по использованию климата. САМОЕ ВАЖНОЕ ЭТО ПОДОБРАТЬ ОПТИМАЛЬНУЮ ПАУЗУ! Нажимаем на среднюю кнопку в течении пяти секунд, попадаем в меню пауза, после установки нажимаем повтороно. Не обращайте внимание на то что температура будет сильно скакать, помните это температура воздуховода а не салона. Ориентируйтесь на комфорт в салоне. Оптимальная пауза будет зависеть даже от скорости печки, так что подобрать её на все случаи жизни не получится.
Что Arduino забыла под капотом старого автомобиля или управление температурой воздуха на впуске необычным способом
И снова здравствуйте!
После длительного перерыва решил поделится еще одним нестандартным (и возможно не нужным) решением, но в этот раз у нас машинки будут не игрушечные, а вполне себе настоящие.
Вдумчивое молчание обычно посещает матерых автомехаников когда им объясняют что это. И да, это СИНЯЯ изолента!
В силу сложившихся обстоятельств (необходимости пересекать линию разграничения) мне однажды стало необходимо перемещать в пространстве именно на автомобиле. Делать это удобнее всего именно таким способом по тем же причинам.
Из кладовки (гаража брата) был извлечен автомобиль марки Mercedes E200 1986 года выпуска.
Тут стоит отметить что ни я ни брат не обладаем великими автомобильными знаниями (а скорее даже наоборот) и возможно «изобретаем велосипед» или наоборот решения будут не сильно адекватные в этой области, но есть задача и мы ее решали как могли.
«Слушаю – забываю, смотрю – запоминаю, делаю – понимаю». Конфуций.
Итак был определен минимальный фронт работ, исходя из нашего видения ситуации, дабы подготовить машину для путешествия. Одна из задач была — отремонтировать систему регулирования температуры поступающего в двигатель воздуха. Система не критичная и возможно чаще даже не нужная, но так как могли быть заморозки пренебрегать этим не стоило.
В двигатель должен поступать воздух определенной температуры (около 20 градусов), по ходу работы происходит смешивание холодного воздуха за бортом с воздухом разогретым выпускной системой (над выпускными патрубками установлен кожух который собирает горячий воздух). Смешивая в разных пропорциях можно регулировать температуру воздуха на входе в двигатель. Эти занимается простая заслонка, типа такой.
Совершенно не обладая знаниями в этой области я как обычно начал гуглить. Так сложилось что любой вопрос в авто тематике возводится до уровня религиозного спора где истину часто так и не находят. Поэтому сильно углубляться порой бывает вредно, но при этом основную суть вопроса ухватить стоит, что я и сделал.
Итак, факт первый — при сильном морозе и большом потреблении воздуха в районе карбюратора может просто образовываться лед, это усугубляется тем фактом что при испарении бензина смесь еще более охлаждается. Этот лед возможно и не принесет вреда двигателю, но свободно может что-то заморозить в системе смесеобразования и вы приехали.
Факт второй — мы знаем что с повышением температуры плотность воздуха и не только падает, поскольку температура в моторном отсеке немногим ниже температуры прогретого двигателя (около 90 градусов) то сделав впуск просто из моторного отсека мы получаем неслабую разницу с забортной температурой воздуха что ведет к уменьшению количества воздуха в смеси. И он довольно горячий. В карбюраторном двигателе это важно потому что карбюратор не умеет нивелировать этот эффект, то есть он не понимает сколько кислорода в воздухе и не корректирует это объемом воздуха на туже порцию топлива.
Может не сильно удачно, но понятно это иллюстрирует применение в турбированных двигателях интеркуллера для охлаждения разогретого турбиной воздуха. Согласитесь, если бы это было не важно то никто бы не парился с лишней деталью. Естественно что там перепад температур больше, но явление от этого не исчезает и в нашем случае.
Если загуглить также про холодный впуск то увидите обширные поля сражений в эпичном холливаре.
Мне кажется лучше всего и проще это показано тут:
Это что касается вопроса только плотности. Есть еще вопрос касающийся влияния на процесс горения температуры смеси в момент поджига. Если коротко то оно тоже влияет на мощность, но это совсем уже дебри. Кому интересно просим на канал Евгения Травникова этот человечище откроет вам глаза на многие моменты о которых вы и не подозревали.
Итог простой — нужно «махать» заслонкой чтобы добиться приемлемой температуры воздуха.
В нашем случае эта деталь давно была «отремонтирована» до полной негодности нашими смекалистыми аборигенами гаражных кооперативов. Вскрытие показало что вместо полированного штока туда кто-то инсталлировал похожий гвоздь, вбив его до упора (шоб не болталось).
Прикинув стоимость и реальность достать эту деталь в наших краях, я предпринял попытку найти аналог от классики (ВАЗ). Однако как оказалось крайне сложно объяснить что за деталь тебе нужна поскольку в классике чаще всего эту заслонку удаляют как не нужную и посему запасные такие покупают редко, соответственно и спроса нет.
Потратив на поиски около недели я понял что весь функционал этой детали можно организовать за несколько дней с копеечными затратами и дополнительными функциями на базе Arduino. Кроме того, бонусом мы получаем возможность подключение чего угодно, измерение и мониторинг температур там куда засунем датчик, измерение любых напряжений под капотом, UART интерфейс и конечно же бесценный опыт!
— Контроль температуры в корпусе воздушного фильтра.
— Управление заслонкой для регулирования этой температуры.
— Контроль температуры в корпусе воздушного фильтра.
— Управление заслонкой для регулирования этой температуры.
— Контроль температуры где угодно с помощью дополнительных датчиков, я установил еще одни.
— Контроль напряжения бортовой сети.
— Возможность расширить функционал изменением прошивки и добавлением датчиков и исполнительных механизмов.
— UART интерфейс, туда я на время устанавливал адаптер BluetothToUART и мониторил на смартфоне.
1. Неудачная попытка использовать шаговый двигатель от FDD.
Очень мне понравилась идея установить шаговый двигатель от FDD на штатное место термосилового элемента. И оно туда даже встало и даже тягало заслонку. Управлял им с помощью микросхему l293.
Однако в итоге мне сильно не понравилось усилие развиваемое этим двигателем, в условиях подкапотного пространства и тряски этого явно не достаточно, я мог без особого усилия двигать заслонку пальцем. Fail!
2. Использование сервопривода.
Далее было решено переделать все под сервопривод. В случае с последним мы получаем точное позиционирование заслонки, легкость поиска и замены в случае необходимости. Сервопривод был установлен с холодной стороны от заслонки, что бы не грелся от горячего потока воздуха и соединен тягой из скрепки с самой заслонкой. На удивление сделать все это вышло быстрее и в разы удобнее чем с шаговиком, там это было вообще штучное изделие.
Была у меня в наличии Arduino Mini Pro, добавил туда еще корпус от ноутбучного БП, пару цифровых датчиков 18b20, самый простой сервопривод, плату DC-DC ШИМ преобразователя KIS-3R33S для того чтобы из бортовых 12В получить привычные 5В, несколько конденсаторов для сглаживания пульсаций, немного проволоки из витой пары. Получилось довольно компактно.
Попробую набросать схему, не думаю что она кому-то нужна но так нагляднее. Особой сложностью она не отличается.
Из схемы видно что осталось уйма свободных входов что можно будет применить в дальнейшем.
Были опасения что вся эта электроника негативно отреагирует на близкое расположение с высоковольтными проводами системы зажигания, но даже блютус адаптер который вообще был вне корпуса и никак не экранирован, нормально вещал из под металлического капота в салон.
Питание на весь блок управления подается от бортовой цепи «15» (это так обзывается в некоторых автомобилях цепь которая включается когда водитель поворачивает ключ и включает зажигание) далее напряжение понижается до 5В от который все и запитано.
Один датчик установлен примерно в месте где стоял старый термосиловой элемент. Второй просто болтается около коробки БУ, (типа меряет температуру подкапотного пространства). На один аналоговый вход ардуины подается бортовое напряжение через делитель, а на второй любое другое, тоже через делитель. У нас были проблемы с клапанами печки поэтому мы мониторили и их работу за одно. Напряжения просто измеряются и ни на что не влияют, это просто для мониторинга.
В целом алгоритм работы сводится к измерению температуры и в соответствии с этим двигать заслонку, передавать данные в UART. Детали можете посмотреть в самом скетче.
Android тут собственно и не причем, просто в качестве дебюта в программировании под него было написано простенькое приложение для отображения данных с блока управления заслонкой. Поскольку приложение простое возможно оно будет полезно тем кто хочет начать программировать блютуз стек под Android.
DIYCarTune
Приложение будет выводить любые данные которые вы отошлете с Arduino, ее можно применить и не по назначению.
5. Установка и испытания
Весь блок был прикреплен на корпусе заслонки сверху, думаю там будет достаточно тепло и комфортно.
Некоторое время «помониторив» работу я решил что «оно работает». Никаких изменений пока не вносил. Единственный баг это когда при остановке автомобиля набегающий поток резко исчезает, а корректировка идет достаточно медленно так как сам датчик имеет тепловую инерцию нагрева своего корпуса. При необходимости можно повысить частоту коррекции положения заслонки.
Еще испытания показали что поскольку кастрюля воздушного фильтра лежит на двигателе она тоже греется, я этот момент упустил. Это отражается в резком нагреве воздуха при остановке автомобиля.
Показан момент когда машина стоит, заслонка закрыта, идет холодный поток (позиция сервы 170, первый параметр), второй параметр это усредненная температура, третий температура в корпусе воздушного фильтра, четвертый это датчик температуры который весит снаружи блока управления (фактически это температура подкапотного пространства), пятый это напряжение бортовой сети, шестой это напряжение на клапанах печки и последний это время прошедшее с последней корректировки положения заслонки (в скетче выставлено время частоты корректировки положения раз в 60 сек.)
Показать работу самого механизма сложно потому что он закрыт со всех сторон, реальное положение можно увидеть присмотревшись к положению вала на котором сидит заслонка, его торец торчит снаружи и на нем я сделал насечки крайних положений.