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

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

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

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

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

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

Комментарии

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
Электроный паяльник под жала-картриджи Feizer PTS200
Позволяет работать с картридж-жалами TS, T12.
Идет в комплекте со своим жалом на 100Вт при питании от PD 20В.
Построен на основе контроллера ESP32S2, прошивка открытая.
Я создал форк прошивки. Чисто из интереса есть планы её полностью переписать и привести к удобоваримому виду.

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

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

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

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

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@vortigont, спасибо на добром слове. Надеюсь, не пережестил с cryptoANALyzer-темой и иллюстрациями 😸.
Из задумок к дальнейшей реализации - расчет и отображение потребляемой в моменте мощности (для начала, если городить автономное питание то может быть даже стоит учитывать все потребленное лектричество), замер сопротивления жала, подобрать шрифты поинтереснее + добавить прокрутку текста, если он не помещается на экране (сейчас оптимизировал длину текста, чтоб влезало) и, самое важное - пофиксить плавающий косяк с мерцанием экрана - иногда отображается нормально, а иногда хоть глаза выкалывай, и не понимаю пока от чего зависит =)
Задача со звездочкой - попробовать развести антенну, пригодится для связи с каким нибудь нижним подогревом. Ну или в качестве экстравагантного кликера-триггера для чего-угодно:unsure:
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@rinkanshime, хе-хе... ну с таким названием придется и термопрофили делать соотвествующие - "вспомнить пароль", "должен денег", "терпила" :)

а какие есть идеи по замеру сопротивления жала? Если только токовый шунт добавлять и переделывать плату? Было бы полезно, да, можно было бюджет мощности автоматический сделать. Но это уже из коробки работать не будет. У меня пока в планах бюджет с ручным заданием сопротивления.
По экрану и мерцанию текущая прошивка Энди это швах полный. Там дисплей или бесконечно обновляется или весь код блокируется на ожидании нажатия кнопок. Я когда за неё взялся, там цикл луп еле-еле 10-15 раз в секунду проходил. Я это всё выкинул и написал полностью асинхронный код.
Пришлось, правда, писать и свою либу для меню. Пока еще работа в процессе, но уже основные настройки по температуре и времени сделал.

Насчет антенны забавно конечно, но в алюминиевом корпусе это будет в любом случае не очень. Хотя завести блютус и приложеньку для настройки профилей жал было бы круто. Ну это так на совсем дальнюю перспективу.
 

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@vortigont, уж лучше профили именовать по стадиям забывчивости, от которой и будет "спасать" инструмент: "Легкая рассеяность", "Недели в тумане", "Стойкая амнезия", "Выпадание из реальности" =)
По замеру жала - элегантным решением видится насадка с обратной резьбой типо тех, что сами жала и держат, но с дополнениями - и не придется внутри корпуса умещать всякое, и наладить массовость тоже будет возможно. А вот про ввод сопротивления ручками как то воообще не подумал :unsure: хотя тут меня стережет сисадминская заповедь "не доверяй инфе от юзера", априори мерить юзер будет каким нибудь мастечем, с жирными ручками и прочим....
А насчет взять выкинуть и написать свое - не могу позволить себе брать еще один монументальный проджект - стол завален прототипами в разной стадии готовности, весь запал "кодилки" уходит на это.
А корпус паяла не прям уж клетка Фарадея - вон, в торце же крышка пластиковая, для озвученных целей сойдет ее радиопрозрачность
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
априори мерить юзер будет каким нибудь мастечем, с жирными ручками и прочим....
ды то да! На пока думаю просто сделать выбор типа жала из списка - родное, Т12, Т100 и какие там еще есть. У них сопротивления фиксированные, будет может не так точно, но зато сводит ошибку к минимуму.

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

Про антенну можно еще под экранчик куда-то подсунуть, но я надеюсь что фейзер таки родит новую версию уже с антенной в обозримом будущем.
Думаю они не развели её тупо потому что у них софта нет готового. Адаптировали что было.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,974
633
45
Думаю они не развели её тупо потому что у них софта нет готового.
Потому что корпус металлический, будет экранировать сигнал. Нужно делать либо выносную антенну, либо в корпусе изолированную вставку которая будет работать как антенна (как в айфонах) но это удорожает производство корпуса.

Или корпус пластмассовый у него? По картинкам не понять.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@Геннадий П, выточеный алюминий. Корпус шикарный на самом деле! После этого унылого пластика TS100 впечателния очень хорошие. Если антенну на плате под ЖК экраном нарисовать, думаю будет вполне достаточно что бы рядом с телефона по БТ настраивать. Ему быть "на связи" с роутером постоянно не нужно.
 

dina

★★✩✩✩✩✩
3 Окт 2021
359
91
50
У них сопротивления фиксированные
На самом деле ,у большинства китайских жал ,довольно большой разлет по сопротивлению. Фирменных т12 у меня не было ,но китайских целый зоопарк. Т100 ,только три. Если надо ,я перемерю зоопарк т12 и т100 ,есть чем ,юнит 61е мультик ,достаточно точный. Если память не изменяет по профилям ,разлет тем-ры до 20-30 градусов ,доходил,на паяльной станции.
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@dina, не знаю, никогда не замерял. Да и смысла в этом особо нет. Контроль то всё равно по температуре идет.
Единственное для чего нужно знать сопротивление жала - расчитать какую мощность по-максимуму оно будет жрать в холодном состоянии и, по возможности, ограничить эту мощность если паяло подключен к слабому БП или павербанку. А для этого даже мерять не надо, плюс/минус километр достаточно 4 Ом или 8 Ом, 15 или сколько там формально эти жала идут. В нагретом состоянии они никогда номинальную мощность не развивают тупо из-за своего форм-фактора. С такого тонкого жала отвести 60-100 Вт как-то мало реально.
 

dina

★★✩✩✩✩✩
3 Окт 2021
359
91
50
Точность термопар в китайских жалах ,вообще отдельная песня )
Я не знаю как в этой прошивке ,с профилями для жал ,но по хорошему ,надо профиля 2-3 на ходовые жала одного типа. Со своей индивидуальной калибровкой температуры и со своим именем. У меня одно жало т12 было ,до 200 градусов,линейно показывало,а после 200 ,полный мрак.Реальная температура 240 ,а показывает 320.Выкинул его.)
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
профили в оригинале Энди были, но я не пробовал настраивать т.к. у меня нет калиброваной термопары, не знаю работали они или нет. Там вроде по 3м точкам была калибровка.
Но профили по нескольким точкам я сделаю в любом случае.
Может даже соображу как подгружать внешние из какого-нибудь джейсона что бы не тыкаться в меню паяльника.
Тут еще вопрос в том как построен съем напряжения с термопары и какой диапазон у операционника. У меня на одном комплектном жале, напр. минимальное напряжение показывает 26 градусов. А с места температура сдвигается уже где-то ближе к 45 по ощущением пальцев.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
основной функционал меню доделал - управление температурой и таймерами.
По сравнению с прошивкой Эдди добавил выбор сохранять последнюю рабочую температура или всегда возвращаться к заданной.
Добавил режим глубокого сна при долгом простое.
 
  • Лойс +1
Реакции: rinkanshime и Kotovsky

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@rinkanshime а у вас не получилось схему срисовать? Интересует подключение пинов D+ D- от USB разъема, куда они ведут и имеющиеся значения подтяжек на них. Хочу понять как реально на них реализован QC2/QC3.
В конфиге указаны дата-пины 13,14, но на плате S2 D+/D- должны быть подключены на пины 20,19 чтобы работала прошивка. Чет непонятное )
При случае если глянете буду признателен, не горит.
 
Изменено:

Kotovsky

✩✩✩✩✩✩✩
25 Апр 2024
4
1
После заливки кастомного скетча 4.5.3 от Эдди произошла неприятность - перестал работать дисплей, хотя паяльник работает - звуковые сигналы издает и нагревает жало. Возможно это произошло из-за проигнорированного мной непонятного пункта инструкции от Эдди 3 для метода сборки билда - Replace the u8g2_fonts.c file from the U8G2 library - что это значит? Что чем заменить? Понимаю, что мой косяк. Хочу его перепрошить прошивкой bin, но из-за неработающего дисплея наощупь это очень сложно сделать - не помню как и где в меню расположен пункт Update software. Помогите пожалуйста, может кто-нибудь снимет короткое видео по пунктам меню кастомной прошивки для входа в меню Update. Извините, если немного сумбурно, постарался как мог описать проблему
 

Kotovsky

✩✩✩✩✩✩✩
25 Апр 2024
4
1
удалось прошить окирпиченный сабж flash тулом, но опять же после заливок скетчей от rinkanshime и от Эдди тухнет дисплей. Решается только перепрошивкой на кастом flash тулом. Изучаю платформио , пока не понимаю как подключать библиотеки
 

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@Kotovsky, файл есть в старых версиях едди, в 4.0 посмотри

@vortigont, жду прибытие оптики, даже с х40 не особо видно, а сослепу тыкать щупами ну такое. Заодно приобрел ESP-PROG, еще не присматривался специально, но вроде можно будет дебажить через usb-c, там прямая разводка RX/TX походу
 

Kotovsky

✩✩✩✩✩✩✩
25 Апр 2024
4
1
удалось перепрошить через платформио проект TRCA-PTS200 от уважаемого rinkanshime . Дисплей работает как надо. Вобщем пока итог - после работы с arduino ide сабж слепнет. Через заливку скетча через платформио - все отлично! Всем спасибо за советы! Теперь будем паять!
 

Вложения

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

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@Kotovsky, есть вероятность, что у тебя дисплей не на контроллере SH1107, а на SSD1306, который более распространен. Не предполагал, что вариации будут встречаться, поэтому фиксировал 1107.. Сделаю тебе файлик, попробуешь, если взлетит - то да, оно)
UPD: не понадобилось, другой контролер не подтвердился

По библиотекам, в целом - все просто - можно декларативно указывать либы для проекта - у тебя есть конфигфайл проекта (platformio.ini), там задаются параметры для самого проекта, текущего и, при наличии, альтернативных окружений. Либы добавляются директивой lib_deps внутри блока env конкретного окружения.

Т.е. примерно будет так:

platformio:
[platformio]
src_dir = /path_to_project


[env:НАЗВАНИЕ_ОКРУЖЕНИЯ]
platform = espressif32
board = PTS200
framework = arduino
lib_deps =
  lennarthennigs/Button2 @ ^2.2.2
  vdeconinck/QC3Control @ ^1.4.1
  olikraus/U8g2 @ ^2.34.17
  madhephaestus/ESP32AnalogRead @ ^0.2.1
  br3ttb/PID @ ^1.2.1
  sparkfun/SparkFun LIS2DH12 Arduino Library @ ^1.0.3
тоесть указываешь мейнтейнера и название либы, а после @ - минимальная версия (ну тут уже в доку платформио обращайся)

Можно еще в VSCode пользовать менюшку Libraries (PlatrormIO > Quick Access - PIO Home), но это не быстро)
 
  • Лойс +1
Реакции: Kotovsky

Kotovsky

✩✩✩✩✩✩✩
25 Апр 2024
4
1
Забавно, что я даже в этой среде платформио даже либы не устанавливал вообще, а проект залился и гораздо быстрее чем в ардуино иде. Кстати, автоматом подхватил порт подключения и даже не настраивал метод сборки по совету Эдди
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
В общем QC худо-бедно работает. Т.к. USB-тестера нормального у меня нет дебажить это дело негде. Но по крайней мере QC на зарядке с USB-A переключает. Наверное сделаю на выбор QC2/QC3, ибо с павербанками как-то странно работает. Где-то переключает, где-то нет.
 

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@vortigont, еще какой косяк заметил - не всегда верно определяется напруга источника, наблюдаю случаи как при включении нащупывает 20в и радостно их ожидает,от дофига умной яблочной зарядки, которая не видит что устройству на другом конце надо дать больше напруги, при включении нагрева - все гаснет в защиту. а если ручками вольтаж задать - то вполне зажигается от 12/15 вольт. Коль яблочных зарядок в хозяйстве много - чегоб не пользовать? Жаль, тестер только видит на порту наличие PD
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@rinkanshime, А блочёк то на сколько Вт сам по себе? Вот тут похожую проблему вроде обсуждают. Пришли в выводу что слишком большой стартовый ток у 100Вт жал. Чем лучше зарядка - тем охотнее она "защищает" :)
У меня есть только один 100 Вт PD блочёк китайский, с ним вроде норм всё. Есть 35 Вт зарядка, на ней на 12-ти вольтах тоже защита срабатывала.
Я реализовал плавный ШИМ на старте у себя, линейно повышает скважность от нуля до максимума в течение 3х секунд. Вроде как работает, но 100 Вт потестировать не на чем. Поробуйте у себя, интересно поможет нет?
 

rinkanshime

★✩✩✩✩✩✩
21 Мар 2024
21
12
nndelorean.ru
@vortigont, последний яблочный блочек был на 70ватт, по ПД может и 20в выдать. Другие постарше - 61 ватт, но так же по спеку могут в 20. Ну и еще нашлась банка сяомишная - но ее предел только 9вольт, столько и детектид при подключении
я в итоге сразу заказал переходник 5050>typeC, а переходник или от универсалки fsp запитывать, имея какую никакую регулировку или от стареньких но мощных бп к асусам - тем, у которых штатный ток 6.3А и больше, все равно лежат без дела)