Прошивка для паяльника Feizer PTS200 V2 ESP32

Электроный паяльник под жала-картриджи Feizer PTS200
Позволяет работать с картридж-жалами TS, T12.
Идет в комплекте со своим жалом на 100Вт при питании от PD 20В.
Построен на основе контроллера ESP32S2, прошивка открытая.
Я создал форк прошивки. Чисто из интереса есть планы её полностью переписать и привести к удобоваримому виду.

Если есть владельцы таких или интерес обсудить вопросы связанные с ШИМ и ПИД-регулированием нагревателя и пр - присоединяйтесь.

По оригинальной прошивке - это какойто наколенный скетч, а не код. Из особо ярких моментов:
— прошивка не использует ПИД регилирование
— ШИМ как таковой тоже не используется, нагреватель дергается туда-сюда от минимума до максимума, кроме как одном режиме 50% 20В, где максимум ШИМится.
— температура на экране это округление от сильно усредненной реальной плюс-минус 5 градусов. т.е. по сути показометр.

ну и прочий бардак который даже упоминать страшно.

Пока только начал разбираться, вернул реальный ШИМ, добавил ПИД регулирование (особо ничего не подстраивал еще), вынес термоконтроль и управление ШИМ в отдельный ртос процесс.
Есть планы переписать её полностью если время позволит. Пока перепишу ядро, далее управление, экран, бюджет мощности.
 
Изменено:

Комментарии

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
Проектировщиков паяльных станций тут нет чтоли? :)

Схемы данного паяльника я не нашел (пока), интересует вопрос:
в паяльнике имеется операционник, который усиливает сигнал с термопары перед подачей на АЦП, в коде управления ШИМ есть задержка между снятием напряжения с нагревателя и считыванием сигнала с АЦП.
С чем связанна эта задержка? С термостабилизацией термопары или с электрическими помехами?
Чем определяется порядок этой задержки?
 

Vaqtincha

★✩✩✩✩✩✩
14 Ноя 2022
154
21
Uzbekistan, Fergana
Проектировщиков паяльных станций тут нет чтоли?
Ну это не паяльная станция все таки. Хотя нет. Это попытка засунуть в ручку станцию с целью сделать его портативным (но будем таскать огромный бп отдельно 🙂)
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@dina, да, так и есть, съем производится после паузы. Меня интересует природа этой паузы, какого рода шум она призвана отсекать и как подбирается интервал.
 

dina

★★✩✩✩✩✩
3 Окт 2021
359
91
49
Наверно кривизной термопары ,определяеться. Эксперементально.:)
 
  • Лойс +1
Реакции: vortigont

poty

★★★★★★✩
19 Фев 2020
3,230
940
Думаю, это попытка интегрировать данные, чтобы измерить своеобразное среднее. Измерения во время или сразу после активного нагрева могут показать завышенные значения.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
в коде управления ШИМ есть задержка между снятием напряжения с нагревателя и считыванием сигнала с АЦП
Когда проектировал свой паяльник пришлось подобный костыль делать.
Связано было с тем, что после отключения подачи питания на жало, происходили непонятные переходные процессы и напряжение с термопары делало "крутое пике" определенное время, что вызывало некорректные показания.
Где то на здесь на форуме про это описывал в заброшенной теме про свой паяльник, лень искать.
Пробовал все что угодно: избавлялся от возможной индукции в цепи, делал различные фильтры, и много чего еще. Пришел к выводу, что это паразитная наводка на саму термопару в момент отключения тока на жало.

Меня интересует природа этой паузы, какого рода шум она призвана отсекать и как подбирается интервал.
Подбирал опытным путем по осциллографу.
 
Изменено:
  • Лойс +1
Реакции: vortigont

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@Геннадий П, и какая у вас задержка получилась в итоге? Интересен порядок - 1 мс, 10мс?
Вообще показания с термопары скачут довольно сильно, да. Усреднение у китайцев в коде уже было, но довольно жесткое, мне не понравилось совсем. Пока математикой плотно не занимался, прикидываю что к чему.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
и какая у вас задержка получилась в итоге? Интересен порядок - 1 мс, 10мс?
Не помню уже, возможно около 30-50мсек
Я переделывал замер перед началом подачи питания на жало, а не после снятия напряжения, работало гораздо стабильней.
 

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@vortigont, приветствую!
Последний год активно копал/допиливал как старшую версию епсхи, так и отдельно с2 версию, имел интересный опыт портируя внутри одного феймворка под младший проц(tl, dr: боль. вот прям на уровне основных инструкций).
Назрела пора паяло обновить - лакей702 отжил свое (atmega8 x2 не будет лишним), замену проводному паялу уже обеспечил, а вот узнав что есть аппарат-универсал с еспой - спецом взял его.
Пока взялся локаль да комментарии иероглифами раскрыть - с клона базовой репы Edddy, но твой форк тоже схоронил, как за экраном побольше окажусь - засяду изучать
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@rinkanshime, из исходного репа я почти всё выкинул уже, там слишком примитивный код с глобальными блокировками везде. Переписал основную часть на ртос таймеры и события, полностью переделал обработку кнопок, работу с сенсорами и пр. Но пока еще много чего не готово. Меню и навигация в исходнике вся блокирующая, ее надо с нуля переписывать.
На гитхаб выложу когда минимальный функционал по настройке реализую.
 

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
Ну, с почином меня, как говорится) Паяльник работоспособным просуществовал.. 80 минут =) Сконфигурировал VSCode, подтянул нужные версии тулз и самой платформы, глянул как esptool перезаписывает фирмварь (БЕЗ МОДИФИКАЦИЙ ЧЕГО ЛИБО) и ушел курить..
И все) Вернулся - а паяло не активно, в устройствах не обнаруживается, потребление (если верить usbdoc) 0.02A при 5.15в. Ну чтож, пока на алике ведется диспут - можно препарировать пациента!
Втулка на USB-typeC разьеме легко извлекается поддеванием. Под клееной защитой OLEDa - одна единственна шпилька под шлиц Torx2, которая крепко держит плату в корпусе. Освободив плату нужно вытянуть в сторону жала, придерживая толкатели кнопок от залипания.
Горелых элементов пока не наблюдаю, но кандидатов в виновники пока два - контроллер заряда CH224K и его обвяз, или шары под еспхой (к слову, ревизия S2F).
Да и стоит ли насиловать труп?
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@rinkanshime, а что есптул должен был переписать, вы что залили-то?
Вообще его так просто не сломаешь, если прошивка прошла неудачно, то всегда можно перешить обратно. Я свой сколько раз "окирпичивал" пока прошивку ковырял.
В режим флеша он вводится если подать на него питание при зажатой средней кнопке. Ну и дальше там нужно попрыгать вприсядку чтобы поймать нужный момент между тем как есптул увидит порт и отвалится по таймауту.
Схема следующая - зажимаете среднюю кнопку, втыкаете усб хвост, запускаете есптул на прошивку. Она начнет искать порт, в этот момент надо толи туда-сюда кнопкой тыкнуть толи быстро вынуть/вставить кабель, я уже точно не помню. Раза с 10 поймаете нужный момент и зальёте прошивку.

Спасибо за подсказку как его разбирать, я так и не нашел :) Если таки разобрали - скиньке хорошие фотки платы, тоже нигде не нашел в инете.
 

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@vortigont, свежий билд с текущим {TIMESTAMP}, как минимум, ну, может циферку поменял в версии в config.h для наглядности
Вообще, в ранних релизах Эдди нашел модфайл либы u8g2 из которого шрифты надергали, сам доп шрифт влетел отлично
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
а что за доп шрифт? Там кириллица есть? Я с гуевой частью еще копался, пробовал русифицировать надписи, понял что в текущем шрифте кириллицы нет и пока отложил
 

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@vortigont, у Эдди шрифт вынесен в файл PTS200_16.h, это фрагмент гораздо большего модфайла для либы U8G2 с китайскими иероглифами, в самом первом релизе Эдди есть сноска, что нужно в этой либе заменить файл на представленный, ну и сам файлик там тоже был. Киррилические шрифты там есть, но только задница в том, что кроме киррилицы там нет латиницы) Впрочем, у иероглифов та же проблема - Эдди при каждом отображении китайского шрифта принудительно меняет текущий шрифт на китайский 😭 Я люблю костылинг, но не настолько же)
Сам файлик закидываю в аттач к посту. ага, хрен тут а не архив выложить. Тогда вот так релиз 4.0.0, внутри еще и файл шрифтов

Пофоткал плату в чуть лучших условиях - даже можно разобрать маркировку микросхем
Фотки убрал под кат:

OLED - 13 пиновый
photo_2024-04-15_15-23-20.jpg
Клей превращается в кал при первом же снятии, можно заменить на обрезки скотча для дисплеев телефонов
photo_2024-04-15_15-23-25.jpg

Важная штука - изолятор! Обязательно должен быть со стороны жала
photo_2024-04-15_15-16-36.jpg
Пробую сфокусироваться на маркировке чипа, хреновастенько без мелкоскопа(
photo_2024-04-15_15-16-41.jpg
Вид на сторону с чипом со стороны USB разьема - особо интересного нет ничего, кроме того, что оторванных элементов нет
photo_2024-04-15_15-16-42 (2).jpg
Общий вид стороны с чипом до шлейфа экрана
photo_2024-04-15_15-16-44.jpg
А вот тут любопытно - возле разъема есть голые пятаки. Диоды защиты протерялись?
photo_2024-04-15_15-16-45.jpg
Ладно, переворачиваем плату, видим копирайт Эдди и дату ревизии на шелкографии
photo_2024-04-15_15-16-49.jpg
Вот эта штука слева - контроллер заряда батареи с функциями PD и QC
photo_2024-04-15_15-16-51.jpg
И еще одна любопытная штуковина, правда, на момент сьемки мне уже стало лениво гуглить что есть такое
photo_2024-04-15_15-16-53 (2).jpg
 

Вложения

  • Лойс +1
Реакции: vortigont

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
Эдди при каждом отображении китайского шрифта принудительно меняет текущий шрифт на китайский
ну без этого никуда не дется, все алфавиты в один шрифт не всунешь, да и шрифты на экране все разные нужны в разных местах.
Я переписал ядро паяльника целиком на управление через ртос, сейчас как раз принялся думать как реорганизовать экран и управление.
Хотел использовать библитеку MUI от 8g2 но наступил на то что она вообще не дружит с функциональными коллбеками из c++.
Пока не решил переписывать её или еще что-то искать.
"Любопытная штуковина" это походу полевик, если получится нормально надпись прочитать, было бы здорово. Я в прошивке эдди этот момент так и не понял какой полевик там стоит N- или Р- канальный. У него указано в дефайне что П-канальный, но управляется он "положительным" сигналом ШИМа почему-то, и у него куча корявых костылей по переворачиванию сигнала. У них были модели с разными полевиками что ли...
Я у себя в прошивке заложил инвертирование гпио что бы не колдовать с зеркальной скважностью у ШИМ.

Вы паяльник то оживили, не?
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
Хм... оч странно... П-канальный полевик открывается логическим "нулём", почему ШИМ тогда работает от высокого уровня. Вероятно там еще должен быть или драйвер или инвертор. Забавно.
У себя сделал так:

C++:
// MOSFET control definitions
#if defined(P_MOSFET)           // P-Channel MOSFET
#define HEATER_INVERT     false
#elif defined(N_MOSFET)         // N-Channel MOSFET
#define HEATER_INVERT     true
#else
#error Wrong MOSFET type!
#endif
А уровень ШИМ и скважность всегда одинаковая.