Итак всем привет, у меня имеется термостол термопро нп34-24 с штатным контроллером тп2-10кд про и охладитель:
Пожалуй лучший на рынке термостол, аналогов реально нету, даже зарубежом, так как я огромный фанат термопро, хоть я и редко паяю бга, но хотел весь сет ик650про, но верхний нагреватель я уже давно сделал, выкладывал тут пост про него, вот такой он:
Он меня очень устраивает, но к сожалению в качестве мозгов был обычный диммер, в принципе свою задачу он выполнял, но хотелось работы по кнопочке старт) Соответственно нужен подходящий контроллер, термопро отдельно его не продают, только в месте с головой, но ведь у меня уже готовая) зачем мне еще одна? Конечно лазерного указателя нету, нету и диафрагм, но пайкой бга я дай бог раз в месяц занимаюсь, но кнопочку старт хочу.
А значит будем реверсить и создавать свой контроллер! В наличии у меня имеется столик для мобилок нп10-6 с родным контроллером тп1-10кд про, кстати к нему я еще прикрутил свой самодельный столик, работает штатно)
Фото как раз с моим самодельным столиком)
Так вот фишка этого контроллера в том, что он аналогичен контроллеру ик головы ик1-10кд про, а значит полностью должен быть совместим, потому на основе него и проводился реверс протокола обмена, протокол схож с modbus rtu, адрес, функция и байты данных, снимался с помощью serial port monitor, для этого были сняты логи работы, каждая манипуляция с контроллером сопровождалась отдельным логом для анализа, например лог обмена с термопроцентр в простое, лог включения нагрева, лог выключения и так далее, к сожалению протокол я не раскрою по понятным причинам. После снятия логов был их анализ, далее задача повторить данный обмен, выбор пал на китайский клон ардуино lgt8f238p, он мощнее ардуино, а так же главное у него АЦП 12бит, что в будущем сыграло важную роль, ведь терморезисторы pt1000 подключаются напрямую через делитель) В общем было потрачено несколько дней и получилось вот это:
Китайский клон ардуино успешно определяется термопроцентр, пока что как тп1-10кд про, дальше нам нужно научить передавать данные с датчиков канал нп/ик, канал кд, состояние нагрева, температуру уставки. Вот что получилось:
Далее оставалось прикрутить терморезисторы, облагородить работу с дисплеем, добавить пид и получилось вот это:
Что по характеристикам? Скоростной пид, опрос датчиков 10 раз в секунду, точность измерения температуры аналогична термопрошному контроллеру, использовал его как эталон при калибровке, интерфейс на дисплее 1 в 1 вплоть до работы с кнопками, а дальше не менее увлекательный процесс, ведь программа то все еще видит его как тп1-10кд про, но все работает:
Добавил в том числе и определение обрыва, короткого замыкания терморезистора, оставался поиск айди от ик1-10кд, никто помочь не решился, тогда пришлось разбираться самому, так как у меня есть еще тп2-10кд про, контроллер нп34-24, я снял лог с него и начал изучать функцию, где предполагаемо прописан айди, подставлял значения от тп2 в свою прошивку и смотрел на изменения, и вот это значение было найдено! Осталось понять, что туда нужно подставить, чтобы это стал ик1-10кд про, но к счастью корне программы есть текстовый документ со всеми идентификаторами всего оборудования от термопро, оттуда это значение я и подставил, ну а теперь видео работы, мой контроллер в паре со штатным, получился комплекс ик650про, профиль бессвинец:
Работает штатно, ноу проблем, термопрофиль отрабатывается верхом думаю более чем отлично, конечно пид можно поточнее подобрать, но нужно еще прикрутить автоизменение пид в зависимости от выставленной уставки, ведь думаю не секрет, что параметры меняются и для выхода на разные уставки, нужны немного разные пид, иначе может быть долгий нагрев/перерегулирование, этим я и займусь в ближайшее время. Ни скетча, ни данных реверса я не предоставляю никому, цель поста лишь показать, что оно работает и оно получилось.
Всем счастливо!