Автономный предпусковой подогреватель ДВС
| |
uwrtey | Дата: Вторник, 03.01.2017, 02:17 | Сообщение # 46 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Исправил код. Пора бы протестировать как реагирует датчик пламени.Добавлено (03.01.2017, 02:17) --------------------------------------------- смотрю ютюб народ делает самопальные котлы или мозги и не боится
нашел анимацию класную
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Среда, 04.01.2017, 20:45 | Сообщение # 47 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Есть несколько проблем:
1) При подключении воздушного нагнетателя, АЦП неверно считывает данные с датчика пламени ( возможно и с остальных датчиков тоже )
2) От корпуса шьет высокое напряжение на провода питания. Корпус к общему пока не подключен. Требуется заизолировать высоковольтный трансформатор. Скорее всего прошивает с вторички на первичку.
3) Датчики температуры работают не правильно - разбираюсь.
Прошу помощи - http://radiokot.ru/forum/viewtopic.php?f=57&t=140250 На радиокоте помощи не нашел! Увы. Придется проблему решать самому.
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 06.01.2017, 00:50 |
|
| |
uwrtey | Дата: Суббота, 14.01.2017, 12:23 | Сообщение # 48 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Нашел причины выше перечисленных проблем:
1) При подключении воздушного нагнетателя напряжение на выходе LM7805 не стабильно. Скорее всего просаживает напряжение на входе данного стабилизатора. Нужно попробовать более мощный источник питания. А также можно ограничить ток в цепи воздушного нагнетателя мощным резистором.
2) Тут все понятно. Где то есть пробой. Требуется изоляция.
3) Датчики температуры работают абсолютно правильно. Решил проверить что пишут в датащите и нашел:
Цитата Технические характеристики датчика температуры (перегрева): Выходной сигнал – напряжение; Закон изменения выходного сигнала – линейный, величина сигнала увеличивается с ростом температуры; Чувствительность – 10 мВ/град; Величина выходного напряжения при температуре 25°С - +0,75 В; Температурный диапазон -55°С … +150°С ; Нелинейность не более 2°С ; Напряжение питания +2,7 … 5,5 В; Потребляемый ток не более 50 мкА; Максимальный выходной ток не более 50 мкА Датчик температуры помещен в корпус нагревателя и измеряет температуру рабочей жидкости. Датчик перегрева касается теплообменника нагревателя и измеряет его температуру. Зависимость напряжения от температуры определяется по формуле: U = 0,5 + 0,01 х t, где: U – напряжение на выходе микросхемы; t – температура в градусах Цельсия
Таким образом нужно сделать вывод, что там кроме микросхемы LM135 есть что-то еще. Интересно, зачем они так сделали? Может потому что АЦП оригинального микроконтроллера PIC не 5 вольт, а меньше? ( например 2,5 Вольта ) Ну да ладно. Бог с ними. Необходимо пересчитать мой АЦП. 70 градусов по Цельсию взято как предел для камеры сгорания и охлаждающей жидкости. Считаем по выше приведенной формуле U = 0,5 + ( 0,01*70 ) = 1,2 Вольта АЦП - 10бит ( 1024 значения ) Опорное напряжение 5 вольт. 1024 / 5 * 1,2 = 245 ( 0xF5 )Добавлено (07.01.2017, 01:10) --------------------------------------------- // почитать про ШИМ http://www.chipmaker.ru/topic/153892/ Добавлено (07.01.2017, 23:22) --------------------------------------------- Почитать про стабилизатор http://forum.ixbt.com/topic.cgi?id=48:4939
Цитата Напруга на выходе блока питания с 5 вольт проваливается до 4.3 с + Емкость на выходе стабилизатора стоит в 15 раз большая (100мкФ вместо 6.8 мкФ, рекомендуемых Maxim). + при том что едва получается пятая часть максимального тока --> из-за скачка на входе и большой емкости на выходе стабилизатор входит в режим перерегулирования и после этого запирается. Выходной конденсатор из-за большой емкости и малого тока нагрузки разряжается медленно --> никакой стабилизации нет. Нужно емкость до требуемой и повесь параллельно дополнительную нагрузку ~30 Ом.
Добавлено (14.01.2017, 12:23) --------------------------------------------- решил заменить lm7805 на low drop стабилизатор - L4940V5
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 06.01.2017, 00:48 |
|
| |
uwrtey | Дата: Понедельник, 16.01.2017, 23:04 | Сообщение # 49 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| 1) убрал капилярную сетку, так как она мешала высоковольтному разряду.
2) решил заменить lm7805 на low drop стабилизатор - L4940V5 для питания датчиков температуры и пламени.
Провел очередной тест:
1) Топливо вспыхивает в камере сгорания и тут же тухнет. Нет стабильного горения - как будто недостаточно топлива. Возможно причина в том, что отсутствует капилярная сетка. Раньше топливовоздушная смесь стабильно горела, это было слышно по характерному гудению. Может дело в бензине. Сейчас использовал 95 вместо 92.
2) Очень сильно греется диод, который я добавил в цепь питания воздушного нагнетателя.
3) Греется радиатор транзисторного ключа ШИМ. Возможно причина в том самом диоде, а может в повышенной частоте ШИМ. 4) Мотор воздушного нагнетателя по прежнему все также оказывать сильную нагрузку на цепь питания, не смотря на то, что питание беру с автомобильного аккумулятора.
***************
Что следует сделать:
1) Снизить частоту ШИМ, до той, с которой начал экспериментировать. 2) убрать из цепи питания мотора воздушного нагнетателя диод 3) Завести питание на мотор нагнетателя отдельными проводами. 4) При выходе мотора воздушного нагнетателя на полную мощность, хотел уйти от ШИМ и подать на мотор постоянку. Но меня смущает, что на моторе написано, что он рассчитан на напряжение 8,4 вольта. Возможно именно по этому мотор оказывает такую нагрузку на цепь питания.
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Понедельник, 16.01.2017, 23:06 |
|
| |
uwrtey | Дата: Пятница, 16.12.2022, 05:19 | Сообщение # 50 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| протокол автиономного котла пишут мол это WEBASTO но я думаю это "Эбер" https://www.drive2.ru/b/456907005798385553/ скопирую важный текст сюда ------------------------------------------------------------------------------------------
Обмен с мозгами котла идёт по интерфейсу K-Line, скорость обмена 10400 бод (реальная 10781 бод), 8 бит, 1 стоповый, контроля чётности нет.
Сначала отправляется стартовая последовательность. Логический 0 — +12В, логическая 1 — 0В.
Итак: 300 мс лог_0, 50 мс лог_1, 25 мс лог_0. Затем, следует пауза (лог_1, судя по всему ) 3025 мс. Только после этого управляющий контроллер начинает посылать данные.
Инициализация осуществляется двумя командами: сначала передаётся команда 81 51 F1 81 44 слушается ответ, потом передаётся 82 51 F1 3C 00 00 снова ждем ответ.
Всё, мозги котла готовы отправлять данные. Но! Раз в 6 циклов обмена необходимо посылать команду 81 51 F1 A1 64, чтобы поддерживать обмен.
Собственно, команд запроса данных три:
83 51 F1 2A 01 01 F1 83 51 F1 2A 01 02 F2 83 51 F1 2A 01 05 F5
Видно, что отличаются они последними двумя байтами.
Я пока не разобрался, что запрашивают вторая и третья команды, но в ответе на первую команду содержатся данные о напряжении и температуре.
Все подробности — в скетче для ардуино. Контроллер Arduino Mega,
данные выводятся на дисплей 1602 I2C (пока, на время разработки софта).
#include <wire.h> #include <liquidcrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2);
byte Init1[] = {0x81, 0x51, 0xF1, 0x81, 0x44}; byte Init2[] = {0x82, 0x51, 0xF1, 0x3C, 0x00, 0x00}; byte Request1[] = {0x83, 0x51, 0xF1, 0x2A, 0x01, 0x01, 0xF1}; byte Request2[] = {0x83, 0x51, 0xF1, 0x2A, 0x01, 0x02, 0xF2}; byte Request3[] = {0x83, 0x51, 0xF1, 0x2A, 0x01, 0x05, 0xF5}; byte Wakeup[] = {0x81, 0x51, 0xF1, 0xA1, 0x64}; byte Answer[18]; // вообще говоря, в ответе 11 байт. Но ещё 7 байт придут перед ответом, это сам запрос, т.к. в протоколе K-Line присутствует эхо float voltage = 0.00; int temperature = 0;
void setup() {
Serial.begin(9600);
pinMode(18, OUTPUT); // TX1
digitalWrite(18, LOW); delay(300); digitalWrite(18, HIGH); delay(50); digitalWrite(18, LOW); delay(25); digitalWrite(18, HIGH);
delay(3025); Serial1.begin(10400);
Serial1.write(Init1, 5); delay(40);
while(Serial1.available() > 0) { Serial1.read(); }
delay(120);
Serial1.write(Init2, 6); delay(40);
while(Serial1.available() > 0) { Serial1.read(); }
delay(120);
lcd.init(); lcd.backlight();
}
void loop() {
Serial1.write(Wakeup, 5); delay(40);
while(Serial1.available() > 0) { Serial1.read(); delay(50); }
Serial1.write(Request1, 7); delay(40);
while(Serial1.available() > 0) { for(int i = 0; i < 18; i++) {
Answer[i] = Serial1.read(); delay(10);
} }
for(int i = 7; i < 18; i++) { Serial.print(Answer[i], HEX); Serial.print(' '); }
Serial.println(' ');
if (Answer[7] == 0x87) { temperature = (222 — Answer[12]) / 1.77; voltage = Answer[14] / 14.5; }
lcd.clear(); lcd.setCursor(0,0); lcd.print("Temp:"); lcd.setCursor(5,0); lcd.print(temperature); lcd.setCursor(0,1); lcd.print("Volt:"); lcd.setCursor(5,1); lcd.print(voltage);
delay(100); }
Добавлено: Расшифровал ещё 2 команды: запуск котла 83 51 F1 31 22 FF 17 остановка 83 51 F1 31 22 00 18
Нетрудно догадаться, что управляет в данной команде предпоследний байт (во всех случаях последний байт это контрольная сумма).
Также расшифровал ответ, посылаемый на запрос 83 51 F1 2A 01 02 F2 В ответ на это приходит сообщение 88 F1 51 6A 02 00 00 00 00 00 02 38 (на выключенном котле).
В нём: 6й байт — состояние нагнетателя, 7й — штифта накаливания, 8й — циркуляционного насоса, 9й — топливного насоса. 10 и 11 байты — состояние котла. При полностью выключенном котле это будет 00 02, Иначе: в режиме: Опроса датчика пламени 11 12, Разогрева — 17 32, Рабочего цикла 1D 32, Продувки 05 12. В принципе, этого достаточно.
Индикация пламени — опрос 11 байта, если там 02 или 12, то пламени нет, если 32, то пламя есть.
Индикация выхода на рабочий режим — 10 байт, если там 1D, то вышли на рабочий режим, если что-то другое — то пока ещё нет (или уже всё).
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Пятница, 16.12.2022, 05:25 | Сообщение # 51 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| И снова протокол webasto https://www.drive2.ru/l/525938468958766399/ скопирую, что бы не потерять: ----------------------------------------------------------------- Если вкратце, то шина W-BUS по сути представляет однопроводную линию (потенциал относительно массы), по которой туда-сюда (между пультом и котлом) бегают импульсы-байтики. Связь симплексная. Чтобы подключиться к этой шине нужен адаптер K-LINE. Схема ниже.
Как видно на схеме, слева есть выводы RX TX VCC GND. К VCC и GND надо подвести питание (в моем случае это питание микроконтроллера 3,3В), RX и TX подключаются к пинам UART микроконтроллера. Если посмотреть на схему справа то увидим выводы +12V K-LINE GND. +12V и GND надо подключить к (+) и (-) аккумулятора, K-LINE надо подключить к шине (проводу) W-BUS.
Если всё подключено правильно то можно начинать разрабатывать программу микроконтроллера. В настройках UART необходимо указать параметр порта 2400 8E1 (скорость 2400кбит/с, 8 бит, проверка четности EVEN, 1 стоп-бит). К шине W-BUS можно подключить до 4-х устройств: — котёл; — пульт; — радиобрелок Т91; — диагностическое устройство.
Так вот далее будет рассмотрено как будет подключено устройство, эмулирующее радиобрелок Т91. В этом случае циклограмма работы с котлом в классическом виде выглядит таким образом:
1. Вывод котла из спящего режима. Для этого в линию надо подать импульс 25мс ( лог_0 ) Я делал так: Настраивал UART на 360 8Е1, засылал в линию 0x00 (тем самым выдержал в линии импульс 25мс), перенастроил UART на 2400 8Е1. После чего можно попытаться запустить котел.
2. Команда на запуск котла, с ответом. Запуск: 34 03 21 0F 19 Ответ от котла: 43 03 A1 0F EE
Ответ обычно поступает спустя 30-40мс после запроса. Отправлять запросы быстрее чем каждые 100мс я не рекомендую (да и обычно в этом нет необходимости).
В запросе: первый байт 0x34 — это значит идет обращение от 3 к 4, т.е. от радиобрелка Т91 к котлу. соответственно в ответе первый байт 43 означает от котла к радиобрелку Т91. К слову если первый байт будет 44 то это будет означать широковещательное сообщение от котла.
Второй байт — это кол-во информационных байт в сообщении, т.е. кол-во байт после второго байта. В нашел случае их 3. Третий байт в запросе 21 означает команду на запуск котла, что интересно ответный третий байт будет 0x21+0x80=0xA1 Четвертый байт — это кол-во минут на запуск. Т.е. 0x0F это 15 минут. Последний байт это контрольная сумма. Т.е. 0x19 = 34 xor 03 xor 21 xor 0F
3. Команда на поддержание работы котла, с ответом Запрос 34 04 44 21 00 55 Ожидаемый ответ 43 03 A1 0F EE // 0x21+0x80=0xA1 Суть в том, что данный запрос надо отправлять каждые 15 секунд (или чаще), иначе котел заглохнет.
4. Команда на остановку котла, с ответом Запрос 34 02 10 26 Ожидаемый ответ 43 02 90 d1 0x10 - это команда на выключение котла 0x90=0x10+0x80 — тут всё понятно Причем ответ котлом может засылаться несколько раз.
Кстати если врубить эмулятор радиобрелка Т91 в шину W-BUS и гнать цикл работы с котлом то пульт 1533 проснется и на его дисплее будет отображаться "TELE ON".
Можно, конечно, получить более интересные плюшки от котла. Можно узнать температуру антифриза, напряжение аккумулятора, производительность котла, обороты вентилятора, сопротивление датчика пламени, мощность отопления, производительность циркуляционного насоса, частоту дозирующего насоса, наличие пламени и т.д. Всё это можно узнать вот так: Запрос f4 1e 50 30 01 02 03 04 0a 0c 0e 10 11 12 13 1e 1f 23 24 28 2a 2c 32 34 51 58 59 5a 5f 60 61 fc Пример Ответа 4f 49 d0 30 01 03 02 00 03 00 04 00 0a 0d 0c 62 0e 37 96 10 01 11 13 88 12 c8 13 03 ec 1e 22 e7 1f 7f 23 c8 24 00 28 99 2a 00 2c 00 32 00 34 04 88 51 00 00 00 58 00 09 28 59 00 00 00 5a 00 09 22 5f 00 27 60 00 27 61 00 00 8d
Как видно ответ состоит из 73 байт, d0 это ответ на команду 0х50 (0xd0 = 0x50 + 0x80) Команда 50 — очень полезная в плане диагностики команда. Байты после неё — это коды запросов параметров котла, и что удобно — можно выбирать какие коды запрашивать а какие нет. Т.е. если интересен код параметра — вставляем его в запрос. В ответе после ответа на команду (0хd0) идут коды запросов параметров котла и ответы (фиксировано одно/двух /трех-байтовые). Подробнее разжевывать не буду — присмотритесь по-внимательнее. Вот расшифровка некоторых параметров: 0x0E Напряжение на АКБ 14,23 В = 0x3796 0x0C Температура антифриза 48 град.С = 48+0x32 = 0x62 0x1E Обороты вентилятора 8935 об/мин = 0x22E7 0x13 Сопротивление датчика пламени 1,004 Ом = 0x03ec 0x11 Мощность отопления 100% = 5000 Вт = 0х1388 0x1f Дозирующий насос 6,35 Гц = 6.35*2*10=127 = 0x7F 0x10 Наличие пламени (Flame) = 1 0x58 Working hours + Working minutes = 09:40 = 0x000928 0x5a Operating hours + Operating minutes = 09:34 = 0x000922
В качестве простого примера можно отправить команду на запрос значений температуры антифриза и напряжение аккумулятора: f4 05 50 30 0c 0e 93 получить ответ типа 4f 08 d0 30 0c 2e 0e 30 52 e9 (Температура антифриза = -4 град.С, Напряжение АКБ = 12,37В)
----------------------------------
https://www.drive2.ru/l/560279240751198876/
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Понедельник, 26.12.2022, 01:05 | Сообщение # 52 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| SN65HVD230 3,3 Вольта Модуль связи приемопередатчика CAN-bus SN65HVD230 для arduino https://aliexpress.ru/item....6za0maV
-----------------------------
MCP2515 MCP2515 CAN Bus модуль TJA1050 приемник SPI для arduino https://aliexpress.ru/item....6KFprQ0
----------------------------- MCP2551 5 Вольт MCU-2551 MCP2551 CAN Протокольный модуль контроллера ISO-11898 стандарта 12V 24V 1 МБ/с. высокая скорость для Arduino https://aliexpress.ru/item....6KFkB6G
----------------------------- L9637 ( Si9243AEY !!!! ) это микросхема k-line 3,3 Вольта Monolithic bus driver with ISO9141 Interface подходит в модуль CAN TJA1050 https://www.drive2.ru/l/546589221473748869/
если нужна L-Line, то схема ниже
---------------------------- mc33290 (MCZ33290 !!!!!!! ) ISO9141 https://www.drive2.ru/l/3115598/
------------------------------ mc33199d 14 ног ISO9141 200 килоБод
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Вторник, 27.12.2022, 01:07 | Сообщение # 53 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| K-Line Стандарты ISO 9141 и ISO 14230 схожи по аппаратной реализации линий передачи данных (14230 является развитием 9141[1]). Различаются они требованиями к электрическим параметрам линии, а также протоколами верхних уровней.
W-Bus тот же K-Line ( webasto )
CAN-Bus ISO11898-2
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Вторник, 27.12.2022, 01:49 | Сообщение # 54 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Приложение ALTOX HEATERSIM
еще: https://www.youtube.com/watch?v=MY7dN2x-NXg
еще: StarLine Webasto М36
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 19.01.2023, 06:14 | Сообщение # 55 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| https://habr.com/ru/post/371575/
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 19.01.2023, 06:16 | Сообщение # 56 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| https://github.com/H4jen/webasto
видимо это обмен между диагностикой и котлом ( либо это таймер отличный от 1533 F4 - диагностика котлу 4F - котел диагностике второй байт - количество байт информации вместе с контрольной суммой третий байт - команда четвертый байт - данные из команды в третьем байте последний - контрольная сумма
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 0C 04 09 06 06 06 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
6 F4 03 A 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 - последняя строка инициализации. Тут какая то ошибка
F4 03 56 01 A0 4F 10 D6 01 04 02 01 07 07 01 00 A3 01 00 97 01 01 BB - первая команда состояния.
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 19.01.2023, 12:51 | Сообщение # 57 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| https://arduino.ru/forum....e-tolko
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 19.01.2023, 13:25 | Сообщение # 58 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| https://forum.amperka.ru/threads....o.19200
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Воскресенье, 22.01.2023, 18:04 | Сообщение # 59 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| калькулятор контрольной суммы
https://www.scadacore.com/tools....culator
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Воскресенье, 22.01.2023, 20:07 | Сообщение # 60 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| тут видно скорость COM-порта во время диагностики WEBASTO, K-Line адаптером 115200 бод https://www.youtube.com/watch?v=J84T6Z4Yfno
тут видно протокол: https://www.youtube.com/watch?v=Jg8MzbWp1WI
не успеваю за своими мыслями......
|
|
| |
|