Вебасто на ардуино своими руками сделать
Interfacing a webasto heater using K-line interface
Mostly because my webasto air top evo 40 broke down and I was told to send the unit back to repair shop for SW reset in order to get it working again. I decided to put some effort into understanding and hopefully be able to controll the heater without sending things back to repair shop in the future.
The goal of this project is the following:
- Implement HW interface that can talk to the webasto implemented W-bus (K-line) using arduino HW and simple HW TTL/K-line interface. (DONE)
- Implement SW that can sniff the webasto traffic. (DONE)
- Implement SW that can talk to the webasto (IN PROGRESS)
- Map protocol used to communicate with my webasto air top evo 40. May be scalable to other versions?? Already present in libwbus project. Already done in libWbus, just implement and check data (NOT NEEDED)
- Build diagnostic box with status LCD display that monitors the Webasto heater. (NOT STARTED)
- Build interface to pi and "big" LCD display together with HW enclosure to put in boat cabin so that WTT status information can be viewed "live" (NOT STARTED)
The arduino MEGA2560 was selected together with a raspberry pi (for remote development) was selected in this project.
The W-bus protocol is a bi-directional link using single physical line for communication. On the physical layer it uses 0 -> 12V signaling. The w-bus is a K-line interface. The K-line interface is described in ISO 9141. Normally the K-line is interfaced using integrated chips. In this project the TTL to K-line is solved using simple NPN PNP transistors.
On the physical layer the communication is a serial line with 2400 baud 8E1 format (NOTE: Arduino SoftwareSerial does not support parity check. use CustomSoftwareSerial or something similar that support parity. In this project I use meg2560 with 4 physical uarts. The protocol is packet based with the following structure
More information on the protocol can be found in the repo in text file: webasto_wbus.txt (stolen from libwbus repo)
THe HW interface is simulated using LTspice from linear tech, which is an excellent freeware implmentation of SPICE. The HW interface is a TTL to W-bus (K-line) converter using standard resistors and NPN transistors.
Dependent on the ODB circuit used and the webasto K-line interface the input/output resistances may need to be scaled. The above circuit was simulated. The resulting curves with TX TTL baudrate 9600 shown at the W-bus output (12V) and the resulting curve at the RX TTL interface (+5v).
Webasto PC arduino sniffer
Using arduino and together with a the RX parts of the above HW interface a sniffer was built and connected just to listen to the traffic between the Webasto air top evo 40 and the WTT software. The PC is connected viw ODB II inteface (RS232 + LM339 comp + misc passive) to the K-line at the smartcontrol/multicontrol of the webasto heater. Picture below shows the setup.
Below is the first packets sniffed from arduino side:
Interpreted using libwbus documentation:
Line 1: Header = 0xF4, Length = 0x03 bytes, Command = 0xAC, Data = A6, Checksum = 0xF5
The problem with the above was that the checksum did not fit XOR as from the documentation for LIBWBUS. After some reading it was discovered that the communication is on the physical layer serial-8E1 and the SoftwareSerial library does not support parity check. After replacing the SoftwareSerial with CustomSoftwareSerial that supports parity the following was sniffed:
F4 3 56 1 A0
F4 1F 50 30 1 3 5 6 7 8 A C E F 10 11 13 1E 1F 24 27 29 2A 2C 2D 32 34 3D 52 57 5F 78 89
Using XOR parity the last byt checks out. According to the libwbus documentation the two commands above are 56 and 50. It was noted in this phase that the RX response was missing. This was fixed using a modified HW interface. HW schematic above is updated. Needed PNP switch instead of NPN switch on RX input.
After this fix the following was sniffed
TX-cmd:F4 03 56 01 A0 RX-response:4F 10 D6 01 04 02 01 07 07 01 00 A3 01 00 97 01 01 BB
This concludes that the sniffer part now works. The webasto sniffer is copied to the webasto_sniffer repo. Just to keep this strand alone
To do loopback tests and also check that you send the correct packets to the wbus the arduino uno that was first used was swapped to an arduino mega with 4 physical uarts. It is possible to solve it with arduino UNO and but to save time the uno was skipped.
SW to control webasto
First test was to send some init commands to get the webasto up and running
F4 03 51 0A AC
4F 04 D1 0A 41 D1
F4 03 45 31 83
4F 0D C5 31 01 02 02 05 03 07 05 0A 0A 0A B9
F4 03 51 31 97
4F 16 D1 31 01 02 03 04 06 07 08 09 0B 0C 0D 0E 0F 10 12 15 18 19 1A BA
F4 03 51 0C AA
4F 0A D1 0C DA 5D F8 DA 39 00 04 00
F4 02 38 CE
4F 0B B8 0A 00 00 02 BE 02 BF 04 00 F3
F4 03 53 02 A6 4F 11 D3 02 29 04 23 28 2C EC 14 3E 80 32 C8 3E 80 06 81 F4 03 57 01 A1 4F 06 D7 01 81 72 8D E1
above is last init string Below is first status command
F4 03 56 01 A0 4F 10 D6 01 04 02 01 07 07 01 00 A3 01 00 97 01 01 BB
We have reached the WBUS_OK state We have reached the WBUS_OK state
The above shows that everything is working as expected. Now it is time to build the message parser.
Привет!
Не ставил целью полного повторения штатного контроллера управления котлом. Так же считаю, что применение альтернативных вариантов мозгов отопителей небезопасно на автомобилях. Но вполне возможно для бытовых целей, как например отопление гаража.
Итак, имелось пару котлов термо топ z/c (ТТС) и неисправными мозгами. По моему мнению, размещене платы с процессом выполнено не совсем удачно, т.к. при каждом зимнем запуске электронике приходится переживать нагрев до +90 с температуры порядка -20…-30 С. Отмечу, что восстановление мозгов ТТС часто составляет половину стоимости всего отопителя.
Поэтому была приобретена arduino nano ( 2$), платка с ключами mosfet (5$). Вот в принципе и все.
Скетч написан на скорую руку. (Есть полностью переработанная программа, где даже попробовал реализвать ограничене тока свечи, но с котлом еще не проверял). При наличии свободного времени добавлю защиты, контроль горения по сопротивлению свечи.
Результат работы на видео.
И еще небольшой эксперимент, в котором в качестве топлива использовался бытовой газ. Для поджига в гореллку была вставлена свеча от газовых плит с элекоподжигом. Испаритель в районе трубочки подвода топлива пришлось расковырять, т.к. газ распределятся неравномерно и устойчивого горения не получалось. Использование редуктора обязательно. Штатный топливный насос не требуется.
Вентилятор подключался через понижающий DC-DC преобразователь. Зажигание на малых оборотах вентилятора (2-3 В).
Вот скетч на котором записано видео:
// 11 — топливный насос
// 12 — свеча
// 10 — вентилятор
void setup() pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(10, OUTPUT);
// the loop function runs over and over again forever
void loop() analogWrite(10, 150);
delay(3000);
analogWrite(10, 0);
for(int i=1; i<5; i++)digitalWrite(11, HIGH);
delay(300);
digitalWrite(11, LOW);
delay(400);
>
d=0;
digitalWrite(12, HIGH);
delay (2000);
i=30;
while(i<250)analogWrite(10, i);
delay(100);
i=i+1;
if(i==100)digitalWrite(12, LOW);
>
d=d+1;
if(d*100>(2800-i*10))digitalWrite(11, HIGH);
delay(300);
digitalWrite(11, LOW);
d=0;
>
>
while(t<70)digitalWrite(11, HIGH);
delay(300);
digitalWrite(11, LOW);
delay(300);
>
>
Чуть позже (после опробования на котле) добавлю более полноценный.
19 июня 2016 Метки: ардуино , вебасто , мозги , термо топ , газ , контроллер , ttc , скетч , отопитель , автономка.
Бывает такая штука в автомобилях, зовут её Webasto - это предпусковой подогреватель двигателя. Запустил и через 20-30 минут теплый двигатель и салон.
Проблема в том, что официальные устройства управления стоят необоснованно дорого:
- Обычный таймер - 3200р.
- Пульт с кнопочкой - 9950р.
- GSM-система управления - 13800р.
А на самом деле, сама webasto довольно умная, т.к. на борту имеет всю электронику управления. И для её запуска, с этих чудо-таймеров выходит +12в на управляющий канал webasto (потребление менее 20мА). Т.е. нам надо на входящий по GSM вызов сделать отбой и подать 12в на выход в течении 30 минут. Питание при этом от бортовой сети авто.
Пока я вижу два решения:
- Чудо-штука с программой на питоне (прогу, думаю, смогу написать).
- Другая чудо-штука (внутри преобразователь 220/12, так что проблем с питанием нет) и к ней таймер на NE555.
И тут меня настигает проблема, в том, что сисадмин, а не схемотехник(( Устройство естественно хочется чем быстрее, тем лучше, т.к. зима близко. Отсюда вопросы:
Где в Питере достать одно, другое или аналоги?
Как собрать таймер на 30 минут с питанием от 9-13в на NE555?
Возможно, вы видите другие более простые/дешевые способы решения.
- Вопрос задан более трёх лет назад
- 3792 просмотра
сам с вебастой дело не имел, но неоднократно слышал от установщиков автозвука\сигналок\подогревов, что любители подавать 12 вольт на вебасту очень часто потом жалели - мол не так там все просто.
если б у меня была такая заморочка - не поленился бы посмотреть более внимательно (да хоть осциллографом) как там взаимодействие устроено
На самом деле вебаст несколько видов. В моем случае управление производится либо со штатного компьютера автомобиля (которого, к сожалению нет). Либо простые 12 вольт. Далее она сама работает, не забывая следить за напряжением, температурой и т.д. К сожалению, редко попадаются нормальные установщики чего-либо, обычно могу только по книге провода подключить.
GSM устройство управления котлами Webasto и не только
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Короче устройство закончено, работает у двух человек, но чето они не делятся как оно работает, есть ли косяки.
Смысл моего устройства такой. Модуль работает по одному из трёх алгоритмов управления котлами:
1. Запуск котла минусовым импульсом 1 сек. (Данный вариант подключения можно применять когда уже есть штатный таймер вебасто, впаяться паралельно кнопке включения)
2. Запуск котла по цифровой шине W-BUS. (Данный вариант применим к управлению котлами Webasto EVO, напрямую без штатных устройств управления)
3. Запуск котла потенциалом 12В. Т.е. пока есть напряжение 12В - котел включен, иначе - выключен. (данный вариант применим для запуска аналоговых котлов Webasto Termo Top C , E)
Режим выбирается посредством посылкой SMS с соответствующей командой и хранится в еепром. Имеется обратная связь по успешности запуска котла даже для аналоговых webasto. Имеется выбор времени работы котла (также хранится в еепром).
Также к данному устройству выгодно подключать сигнализацию старлайн или другую. По сути расширяется функционал сигнализации до GSM. Функции для старлайн:
1. Включение и выключение котла с допканалов сигнализации (отдельный канал - вкл и отдельный - выкл)
2. Запуск/останов ДВС средствами старлайна, но по GSM команде от данного устройва.
3. Вывод состояния зажигания, работы ДВС, состояния охраны, тревоги в данное устройство для оповещения по GSM.
Себестоимость устройства около 1 тыс. рублей. Польза очевидна.
Помогите допилить три вещи.
1. Запись номера телефона пользователя по смс, ну или по звонку.
2. Наверняка GSM модуль будет зависать. Нужно сделать проверку его "зависания" и при необходимости рестарт
3. Научить всё это дело засыпать, чтоб поменьше кушало энергии. замерял вроде где-то 25. 30 мА. Многовато, если учесть ещё потребление сигнализации старлайн.
The purpose of this project was to take a Webasto coolant preheater and replace its ECU with something that can (a) control the unit and (b) run it as a shower.
There are plenty of coolant heaters out there that run purely off 12V and don’t require Can-Bus or K-Line signals to turn on. The heater we are using does, so it’s ECU has to be replaced with a custom board.
Design and components
The main heater is circled in blue. This is a Webasto Thermotop V. Found in Land Rovers, Jaguars etc as an engine coolant preheater. It is diesel fueled and outputs approximately 5KW.
To feed it fuel we use a 22ml diesel pump. It’s the most common size used on the Chinese diesel heaters.
For pumping the water for a shower it is just a 12V coolant pump.
Front of board Rear of board
This is the board you are going to build. It’s also the first board I’ve ever soldered components onto from scratch. So if I can do it, you can do it.
Rather than try to explain where each component goes and why, I hope the pictures are enough to make sense of it.
Parts List
1 x Arduino Pro Mini ATMEGA328P 5V 16MHz
1 x 5V Voltage regulator
1 x 100K Thermistor (exhaust temperature)
1 x 1K ohm resistor
1 x 5K ohm resistor
1 x 100K ohm resistor
1 x Momentary switch
1 x Heatsink (for the MOSFETs)
4 x 100 ohm resistors
4 x 4.7K ohm resistor
4 x Diodes
4 x International Rectifier IRLB8721PBF
5 x Phoenix Contact, MSTBA 2.5/ 2-G-5.08, 2 Way, 1 Row, Right Angle PCB Header
5 x Phoenix Contact, MSTB 2.5/2-5.08 PCB Terminal Block
Arduino header pins (male & female) unless you got them with the Arduino
Webasto ThermoTop V
12V coolant pump
22ml diesel pump
Wire
Soldering iron + solder etc
The Code & Board
You’ll need all the files.
Low_smoke.ino is the main file to open in the Arduino software
Board
Читайте также: