полноценный климат на arduino
Задумал я сделать полноценный климат в одну свою машинку.
Алгоритмы работы более-менее понятны, осталось реализовать.
Поскольку светит написать довольно много кода, а времени у меня не очень много, решил поискать людей, которые готовы поучаствовать в создании.
Позволю себе повторить от части то, что писал в теме про "простой" климат.
Общая идея: плата ардуино, в ней подключены:
1. Датчики температуры Dallas 18b20
2. Резистивные кнопки управления (для экономии выводов)
3. Стандартные модельные сервы для управления заслонками
4. Мотор печки через мосфет, управляемый ШИМ
5. LCD экран (у меня есть символьный, но можно использовать и графический)
6. Подсветку иконок направления воздухом (если графический экран, можно выводить в него, в текстовый - коряво будет)
7. фотодатчик (тут я еще не до конца проработал).
Выводов ардуино хватает, но лишних либо не остается, либо - остается пара выводов для связи с компом. Кстати, в качестве бонуса такого климата, можно сделать управление климатом с компа для желающих.
Заказал себе мощные сервы на по 12 баксов за штуку.
С тремя далласовскими датчиками температуры я работал на ардино, проблем не было. С сервами - тоже самое, главное выбрать правильную библиотеку. Тоже самое с символьным экраном.
Итого - я считаю, довольно бюджетное мероприятие.
Логику работы климата я в какой-то степени проработал.
http://www.compcar.ru/forum/attachme...2&d=1256078629
Полный вариант - в виде excel смотрите в аттаче, там есть текстовое описание каждой строки.
обозначения:
Тn - показания датчиков
Cn - работа исполнительных механизмов (скорость - по 10 бальной шкале)
Под саморегулирующейся скоростью и температурой подразумеваю следующее:
Серва температуры пытается дуть воздухом, имеющим температуру
Tзаданная+(Тзаданная-Тсалона)*c1+(Тзаданная-Тулицы)*с2.
с1 - константа порядка 1, задает скорость изменения температуры в салоне.
с2 - константа, характеризующая скорость изменения салонной температуры из-за неидеальной теплоизоляции.
Управление потоком воздуха - Cскорость=(Тзаданная-Тулицы)*с3.
На данный момент я написал программу, в которую вбил логику работы климата, а она выдала это в бинарном виде, готовом для записи в eeprom. Уже есть код, который читает данные из епрома и в ближайшее время будет код для ардино, который по набору температур будет выбирать правильную строчку из таблицы.
Остается:
1. придумать и реализовать работу регулятора температуры, чтобы он работал с обратной связью, не входил в автоколебания и быстро приходил к нужному значению.
2. придумать и реализовать пользовательский интерфейс.
3. Как часть п. 2 - придумать и реализовать интерфейс для калибровки данных о положениях серв.
4. Развести плату под результат.
Вложений: 2
Re: полноценный климат на carduino
Ближе к конкретике:
В приложении - екзешник, в котором делаю файл для прошивки в еппром. Сделано "Для внутреннего пользования", поэтому есть и глюки и недоработки интерфейсные.
Файл, в который записывается данные для записи в еепром - ClimatData.dat
этот файл имеет примерно такую структуру:
1. Количество строк таблицы. (1 byte)
1.1. Стемп - 0 - мин, 2 - макс, 1 - саморег. (1 byte)
1.2. Снаправление - (1 byte) 0..7 - '','Ноги','Стекло','Ноги+Стекло','Лицо','Лицо+Ноги ','Лицо+Стекло','Везде'
Скорость
1.3. 1..10 - скорость. 11..n - формула. (1 byte)
1.4. Мин (1 byte)
1.5 Рециркуляция. (1 byte)
0 - воздух снаружи
1 - воздух изнутри
10..20 - период переключения+10
30..50 - время на которое однократно включается рециркуляция.
1.6. количество условий (1 byte)
1.6.1. первый параметр температуры (1 byte)
1.6.2. соотношение между параметрами (1 byte)
1.6.3. второй параметр температуры (1 byte)
1.6.4. добавка к второму параметру (1 byte)
Проверка работает именно по файлу ClimatData.dat, а не по загруженной базе.
Предполагаемая распиновка кардино - в графическом файле.
Если для регулировки направление воздуха будет использована одна серва, а не три, значит можно сэкономить два вывода. Однако я считаю, что проект лучше сделать в общем виде, позволяя оба вида управления.
Светодиодами подсветки иконок предполагается управлять при помощи 74hc393. Это 4х битный счетчик с параллельным выходом, позволяющий вешать на выводы светодиоды (с резисторами, есесно). Светодиодов надо 3 на направления воздуха +1 рециркуляция.
Re: полноценный климат на carduino
Цитата:
7. фотодатчик (тут я еще не до конца проработал).
А для чего ?
Re: полноценный климат на carduino
наверно датчик солнечного света, солнышко ведь нагревает салон нехило. На многих машинах стоит.
Re: полноценный климат на carduino
Из моей практики могу сказать что, лучше фоторезистор использовать
Вложений: 1
Re: полноценный климат на carduino
А в какую машину все это планируется ставить, в Форд Фокус?
Вот немного теории по фокусовсой печке.
Re: полноценный климат на carduino
Фотодатчик - да, для того, чтобы корректировать температуру в салоне в зависимости от солнечного света.
Поставить климат хочу в матиз. В фокусе у меня климат и так стоит. За инфу спасибо! К примеру, я не додумался, что скорость мотора печки должна зависеть от скорости автомобиля.
Вложений: 1
Re: полноценный климат на carduino
Сожалею, что никто не захотел присоединиться к разработке универсального климата.
Правда надо признаться, что разрабатывая в родной arduino среде, я пришел к выводу, что что-то минимально серьезное разработать вряд ли получится.
Причины две:
1. Отсутствие возможности отладки в родной среде + сложности в стороннем дебаге.
2. Отсутствие нормальной системы таймеров, коих в atmega168 три штуки.
Исходя из этого разработка идет в среде avr studio. Arduino же используется как плата с микроконтроллером с уже выполненной связью с компом.
На данный момент кое-что уже работает...
Re: полноценный климат на carduino
Какой ЖКИ используешь? На контролере KS0807 ?
Re: полноценный климат на carduino
ЖКИ - МЭЛТ MT–12232A (122х32 пикселя). совместим с SED1520DOA. Уплавряю им через сдвиговый регистр для экономии выводов, в результате чего экономится 6 выводов. Получается два вывода на сдвиговый регистр+3 вывода напрямую к индикатору.