Главная » Статьи » Proton PICBasic

Автомобильный помощник

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

Итак, это устройство разрабатывалось для карбюраторной ВАЗ21099. Таким образом не имеет никаких шин данных с внешним миром. Так как у меня сломалась в очередной раз тяга управления краном отопителя, а заслонки сломались еще раньще, то мне это очень надоело, постоянно менять эти части, я решил их выбросить, а вместо них поставить один энкодер. Плюс ко всему датчик топлива сдох успешно, интересно знать какое напряжение на аккумуляторе,кран отопителя начал капать и тут я решил собрать вот такое устройство. Задача устройства:
1. Измерять бортовое напряжение сети
2. Температуру Салона
3. Температуру двигателя
4. Температуру за бортом
5. Измерять Уровень топлива в баке
6. Ручное управление заслонками : Servo
7. Ручное и автоматическое управление краном печки : Servo
8. Изменять скорость врещения вентилятора печки по средствам энкодера в % 0-100
9. Демонстрировать все измерения по кругу C ПОМОЩЬЮ ЭНКОДЕРА
10.Притухание дисплея, при ночной езде.
11.ПИ РЕГУЛИРОВАНИЕ ПЕЧКОЙ (скорость вентилятора и кран отопителя).

Измеритель уже 2 раза подвергался значительным изменениям как в аппаратной части, так и в программной.

Из внешнего управления устройство имеет один выключатель и энкодер с кнопкой.

Изоб.1

Дисплей, энкодер и выключатель вынесены на переднюю панель, а контроллер находится возле отопителя. Соединено все с помощью шлейфа 16 проводного. Длина линии составляет примерно метр. На обоих концах шлейфа обжаты female pin.

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

Изоб.2

Изоб.3

Изоб.4

Серво покупал в Китае, стоит около 200р. Что меня в них заинтересовало, так это полностью металлический редуктор и усилие до 12 кг.
В процессе эксплуатации заметил, что шумноваты сервопривода, по сравнению с брендовыми. Перед установкой решил сразу все смазать, а то китайцы вечно экономят на смазке.

Изоб.5

Изоб.6

Одна из самых простых задач решена. Теперь идет менее приятное, так как отопитель в ВАЗ210ххх проектировал не очень хороший человек, по крайней мере он не думал о том, как дальше эксплуатировать и обслуживать это детище. В первой и второй версии устройства кран отопителя управлялся серво, который установлен был прямо на кране (Кран использовал Luzar. Достаточно качественный, разборной, имеет керамические части и возможность в дальнейшем заменить сальник.).

Изоб.7

Изоб.8

Из-за того, что кран имеет не линейную зависимость открытия, то было решено уменьшить шаг серво с 20% на 10% и соединиться тросом для меньшего усилия. В последней версии я снял привод с крана и подключил серво с помощью тросика. К сожалению фото нет.

Такие же манипуляции проводились и с двумя заслонками.

Изоб.9

Изоб.10

Все остальное уже намного проще. Измерение температур происходит с помощью DS18B20, подключенных на одну шину. Выбрал именно этот способ, чтобы меньше тащить проводов. В коде есть целая метка, которая читает ID датчиков и записывает их в eeprom. Но так как в первых двух версиях код был значительно больше, то пришлось заморозить этот код и прописать все ID в ручную. Но при желании можно все восстановить. Комменты вроде есть. Немного времени и можно будет сувать любой датчик, нужно будет его только записать в память мк.

Теперь немного опишу работу. На основном экране отображается уровень топлива, код ошибки и напряжение сети. Если начать и удерживать кнопку энкодера примерно 3 сек, то происходит переход в меню настроек. В меню настроек 2 экрана. Первый - это калибровка датчика топлива, второй - настройка коэф. Регулятора. Калибровка происходит в ручную, но один раз в жизни. Мало приятного, но мы же хотим точности. Сначала нужно установить авто на ровной поверхности, полностью слить весь бензин. После зайти в меню настройки бака и отбить первую точку 0 литров. Затем залить один литр и отбить вторую точку. И так 40 раз. При этом энкодером можно изменить номер литра (на всякий случай), но после отбития точки, номер литра увеличивается автоматически. После того как отбиты все точки эти параметры записываются в eeprom. Я для страховки подключил девайс к компу и слил все, что было в eeprom. Да, процедура мерзкая, но все остальные методы не точны, так как датчик имеет не линейную характеристику (очень не линейную).

Настройка регулятора происходит тоже один раз, но тут все проще. У меня эти значения такие: Kp =11; Ki=0.9; Kd=0. Можно изменить в любую минуту.

На втором экране салонная температура, уставка, и выходное воздействие. Чтобы изменить уставку, нужно нажать кнопку энкодера и крутить влево-вправо.

3 - отображение температуры за бортом и температуры двигателя.

4 - экран ручное управление вентилятором.
5-7 управление серво.

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

Ссылка на проект

Спасибо за внимание!




Категория: Proton PICBasic | Добавил: MiXaS (07.04.2014)
Просмотров: 4657 | Комментарии: 7 | Теги: шим, ПИД регулятор, опрос нескольких датчиков DS18b20, servo, ПИ регулятор | Рейтинг: 5.0/2
Всего комментариев: 7
1 Broka   (09.04.2014 13:07)
Нужная штука в Авто!... Понравилось управление краном печки. Можно в принципе и на классике сделать!

2 MiXaS   (10.04.2014 09:48)
можно еще проще. На современном отечественном авто кран уже с приводом. надо только узнать как он управляется

3 MiXaS   (13.05.2015 17:17)
Друзья, сейчас обратил внимание, что я в статье написал драйвер IR2117, но на самом деле IR4427.

0
5 ADMIN   (01.06.2015 04:52)
Исправил

4 Ingvar   (27.05.2015 22:56)
Достойная вещица. Мне только не понятно, зачем два полевика. Двухтактный выход или в параллель? Извините балбеса, но я не разберусь пока, как в схемку заглянуть.

6 MiXaS   (01.06.2015 16:01)
Параллельно! Дело в том, что мощность вентилятора около 200вт. Я не очень люблю горячие транзисторы, да и драйвер двух канальный, туда прям просится второй транзистор.

7 Ingvar   (02.06.2015 22:53)
Что тут сказать, весьма мудро... Мог бы и сам додуматься до такого решения. Я один раз только применил такой драйвер, использовал один канал. Проект был похожий, мне понравилось. Полевик засунул на небольшом радиаторе в штатный продуваемый канал, однако на столе он не очень то и грелся и это меня впечатлило. Зато во втором таком же проекте полевик был красный, потом ирка умерла. Подозреваю, что она изначально кривая была. Разбираться не стал, собрал драйвер на транзисторах и отдал. Спасибо за внимание.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]