Дополнение к обзору: прошивка для FixDry NT1

Дополнение к обзору сушилки пластика.

Сделал прошивку под stm8s003 для замены стокового микроконтроллера в сушилке.
Стоковый микроконтроллер мне опознать не удалось, но распиновка МК совпадает с stm8s003p6 и можно(*) перепаять микроконтроллер ничего больше не меняя на плате.

Ниже инструкция и описание прошивки.


Зачем?

В стоке у сушилки есть две неприятных проблемы:

1. Она нагло врет относительно температуры в камере. Да так что в некоторых случаях при увеличении целевой температуры, фактическая в камере падает.
2. Цифры на экране помигивают раз в секунду во время общения МК с датчиком температуры.

Что добавлено

Помимо решения этих двух проблем реализованы возможности:

1. отключение звука кнопок и/или сигнала окончания сушки
2. сохранение последней выставленной температуры и таймера
3. два режима получения температуры: непосредственно температура на датчике, либо интерполируемая (по умолчанию).
4. можно выключить экран во время работы (длинное нажатие на «меню»)
5. код открыт, есть несколько неиспользуемых пинов — при желании можно добавлять аппаратные доработки (например несколько датчиков температуры использовать)

Про интерполяцию температуры
Температура до 40 отображается как есть, а выше рассчитывается по формуле:
40+(t-40)*4.3 # где t - это температура с датчика.

То есть 40 на экране означает 40 на датчике, а 70 на экране = 47 на датчике.

В стоке 70 тоже превращается в 47.
Температура в камере неравномерна, так что она в любом случае измеряется в попугаях.

Но в стоке почему-то 50 превращается в 46, а 60 — в 43.


Что требуется для прошивки и замены контроллера?


1. Микроконтроллер stm8s003f3p6 или stm8s103f3p6. На aliexpress покупались 5шт за ~100р. Сейчас вроде дороже. Но даже в чипдипе можно купить stm8s003f3p6 за 78р (~$1)
2. SWIM программатор. Подойдет китайский клон stlink v2 (125р, ~$1.5)
3. возможность выпаять и запаять микросхему в tssop-20 корпусе. Желательно иметь паяльный фен, но в теории можно и паяльником обойтись (например откусить все ножки у стокового МК, а отдельные ножки выпаять уже не сложно вариант в комментариях)

Замена микроконтроллера


1. вытащить плату (см. обзор)
2. выпаять оригинальный микроконтроллер
3. (*) не обязательно: на 8ю ногу МК (VCAP) приходит 3.3v, а согласно даташиту там должен быть конденсатор на землю номиналом от 0.4uF до 3uF. Можно сделать как положено, но все работает и без этого. Может кто-то более опытный прокомментирует насколько нормально оставлять 3v3 на VCAP.

разрезание дорожки
Вариант 1: разрезать по красным линиям, затем соединить проводком дорожки отмеченные как 1 и 2. Конденсатор C5 (между красных линий) на 100nF. Для соответствия даташиту его надо тоже заменить, но и с 100nF работает.

режу, добавляю провод


Вариант 2: перерезать дорожку от С5 к VCAP и навесным монтажом как-нибудь добавить конденсатор к 8й ноге.

4. припаять новый МК

Прошивка


Скомпилированную прошивку можно скачать тут: github.com/tarwirdur/open-fixdry-nt1/releases (нужен .hex файл).

Для windows потребуется stvp. Можно скачать с archive.org: https://archive.org/details/en.stvp-stm8.

Подключение к stlink:


3v3 — 3v3
gnd — gnd
swim — CLK (надпись относится к старому МК)
rst — в момент записи ткнуть в конденсатор C3 со стороны МК.

Прошивка через stvp (windows)
Далее: file -> open, тип файла Intel HEX. Выбрать скачанный .hex файл.


Если ошибки не возникло — можно пробовать включать не отключая от stlink (а reset от c3 убрать). Если работает — собирать в корпус.

Если ошибка «Cannot communicate with the device» — проверить подключение.

Прошивка из linux
Установить stm8flash: github.com/vdudouyt/stm8flash
Затем:
stm8flash -c stlinkv2 -p stm8s103f3 -s flash -w nt1-stm8s103-v0.5.hex


Управление

Управление примерно такое же что и в стоке.
При включенной сушилке долгое нажатие на кнопку «меню» выключает экран. Включается экран потом по любой кнопке кроме кнопки питания.

В выключенном состоянии можно нажать кнопку питания при нажатой кнопки «меню». Появится меню настройки:


Кнопка питания — сохранить.



P.S. спасибо donBaton за распиновки в обзорах.
Добавить в избранное +75 +101
+
avatar
  • jam_yps
  • 05 марта 2024, 22:29
+5
на 8ю ногу МК (VCAP) приходит 3.3v, а согласно даташиту там должен быть конденсатор на землю номиналом от 0.4uF до 3uF. Можно сделать как положено, но все работает и без этого. Может кто-то более опытный прокомментирует насколько нормально оставлять 3v3 на VCAP
— ну как-бы почти цитата: «Вывод VCAP присутствует только в микроконтроллерах серии STM8S и STM8A. Он нужен для стабилизации питания внутреннего регулятора на 1.8В»
То есть вы подали вместо на ядро 3.3В вместо 1.8В. Ну, пока работает. Насколько долго «пока» — время покажет.
+
avatar
0
> То есть вы подали вместо на ядро 3.3В вместо 1.8В.

Это понятно. А вот насколько это критично непонятно. Если на голый МК подавать и на питание и на VCAP 3v3 — ток получается ~5mA. С кондесатором на VCAP-GND <1mA.

С 3v3 на VCAP работало больше месяца, никаких проблем замечено не было.
+
avatar
  • jam_yps
  • 06 марта 2024, 08:07
+2
Скажем так — это довольно большой удар как для ядра, так и для внутреннего стабилизатора. Насколько большой запас прочности там — ХЗ. Так не делают.
+
avatar
+2
В заказе их 5 штук сразу. Есть запас для эспериментов.
Приходит министр сельского хозяйства к М. С. Горбачеву.
— Михаил Сергеевич, беда, в стране куры дохнут.
— Ничего страшного, нарисуйте перед каждой курицей желтый круг.
Пожал плечами министр, ушел. Через две недели приходит:
— Михаил Сергеевич, все равно дохнут.
— Впишите в желтый круг зеленый квадрат.
Пожал плечами, ушел. Приходит через неделю:
— Михаил Сергеевич, дохнут ведь, совсем мало осталось.
— Впишите в зеленый квадрат красный треугольник Проходит месяц,
встречает Горбачев Министра и воспрашает, а чтож вы не заходите не
рассказываете как там куры?
— Да понимаете Михаил Сергеевич, сдохли все.
— Ах как жаль, у меня еще так много идей!
+
avatar
  • mmasco
  • 05 марта 2024, 23:24
+1
Дурацкий вопрос, а не проще было поставить пиродатчик или парочку, направить их непосредственно на катушку с пластиком и иметь точное представление о том что с ним творится, чем добавлять-убавлять к средней температуре по больнице вычисленные в результате высоконаучных исследований лапти?.. У меня даже микроволновка так следит за температурой готовящего в ней продукта… аж с пяти или шести сторон…
+
avatar
+2
На дурацкий вопрос есть очевидный ответ: не проще.

Пирометры в разы дороже. Одного не хватит (катушек может быть две). А по нескольким пирометрам тоже надо как-то хитро вычислять что делать с нагревом. Да и большое количество датчиков температуры никак не помогут сделать более равномерную температуру в камере.

Это что за микроволновка такая?
+
avatar
  • mmasco
  • 06 марта 2024, 00:33
+3
Да ладно, mrt311 — бакс за три штуки на али и 150р за штуку у самого отмороженного спекулянта — чипидипа. Хоть обвешайся со всех сторон. Да и как у той же микроволновки для правильного «приготовления» должна интересовать именно температура катушек а не вся камера.

Микроволновка (на самом деле универсальная печь) Sharp девятой серии, для японского рынка, на топовых Панасониках тоже такое есть.
+
avatar
+1
> mrt311

Не нашел где сейчас три за $1 (возможно плохо искал). Вижу только $1.5 за штуку. Или $12 за 10. (с учетом доставки).
Я могу ошибаться, но кажется что в случае этого датчика для правильного измерения нужно знать ещё и температуру самого датчика.

У меня цель была просто сделать чтобы сушилка вела себя поадекватнее. При необходимости и желании можно будет и датчики добавить, и нагреватели, и вентиляторы.

А производителю оказалось проще получать негативные отзывы о плохо работающем экране, чем сделать неблокирующее чтение с датчика. И реле механическое поставить, вместо дешевого маломощного тиристора и оптрона.
+
avatar
+1
«сложно» же:
+
avatar
  • mmasco
  • 06 марта 2024, 14:18
0
ну если сложно тогда цифровой i2c, но они по пять баксов…

хотя можно набрать безконтактных термометров во «все по 189» и выковырять оттедова

вобщем было бы желание…
+
avatar
  • Fonareg
  • 06 марта 2024, 22:15
0
Что за модель мкв? Подскажите пожалуйста
+
avatar
+6
Интересное устройство для сушки пластика без нагрева:
.
Я так понял, фактически это электролизёр, который расщепляет влагу на водород и кислород. Вот только он не погружен в воду, а влагу набирает из воздуха. Правда ценник на модуль — ой вэй.
+
avatar
  • mmasco
  • 06 марта 2024, 01:02
0
очень интересная игрушка, подождем когда кетайцы скопируют модуль…
+
avatar
+2
Ну это скорее замена силикагелю, сушка воздуха, чтобы пластик не впитывал влагу при хранении. А сушить нагревом всем равно придется, что-то мне кажется, при обычной температуре влага уходить будет с большим трудом.
+
avatar
+1
«Незнание законов магии наполняет мир физикой»
Есть такая штука, называется парциальное давление. Так вот, когда парциальное двление АшДваО в окржающем воздухе будет меньше парциального давления АшДваО пластике, тогда это АшДваО будет мигрировать в окружающий воздух до тех пор, пока парциальные давления АшДваО внутре и снаружи пластика не выровняются.
Осушая воздух любым способом уменьшаем парциальное давление АшДваО в нём со всеми вытекающими последствиями.
+
avatar
+4
Ну во-первых, я написал, что сушить будет долго, а не что не будет. Условно, таким прибором на порядок дольше ждать придется, чем сушка нагревом (а еще лучше сушка сухим воздухом).
А во-вторых, филаменты, как пишут, являются полярными полимерами, которые имеют способность удерживать полярные молекулы воды, отчего без повышения температуры эту воду из пластика и не удалить. Хотя этот раздел, мне кажется, мы и в институте не проходили. :)
+
avatar
-1
Ну во-первых, я написал, что сушить будет долго, а не что не будет.
Вы писали что это замена силикагелю, но это не замена. Силикагель для эффективного применения нужно высушить приличное время при приличной температуре. В то время как данное устройство в подготовке не нуждается и начинает работать сразу. В отличии от сушки нагревом потребляет микроскопические 3-5 Вт.
По заявленым характеристикам модуль MDL-3 «осушает» 4 грамма в сутки. При этом бытовой дегидратор усушивает филамент на 1-1,5 грамма за 12-16 часов, по результатам того же Штефана (графики на 9:06):
.
Одновременного сравнения дегидратора и данной приблуды пока ещё нигде не встречал, а сравнивать показания прибора измеряющего влажность и массу «усушки» филамента нельзя. Поэтому вопрос что эффективнее остаётся открытым.
+
avatar
0
Функционально это замена силикагелю. Способ сохранить воздух сухим, чтобы филамент не впитывал влагу.
Будет ли влага уходить из пластика в сухой воздух без нагрева, я до сих пор сомневаюсь. По крайней мере, в достаточном объеме или в сравнимом с нагревом… В видео, если я беглым просмотром правильно понял, прибор как раз стоит в кассете для печати, куда пластик помещают из сушки.
PS: у меня катушка АБС похудела на 1.5г за 6 часов в духовке. Но для него можно побольше температуру выставить, чем в бытовом дегидрататоре.
+
avatar
0
Функционально это замена силикагелю.
Функционально любая сушилка — замена силикагелю. Причём силикагель когда наберёт влагу перестаёт работать. Данная приблуда как и термическая сушилка может работать перманентно и сразу — без необхомости прокаливания в духовке или на сковородке.
Будет ли влага уходить из пластика в сухой воздух без нагрева, я до сих пор сомневаюсь.
Проведите эксперимент, например с тем же самым силикагелем.
В видео, если я беглым просмотром правильно понял, прибор как раз стоит в кассете для печати, куда пластик помещают из сушки.
Это мог быть любой контейнер, и если бы вы смотрели внимательно, то увидели бы что первоначальный тест был без пластика с гигрометром внутри пустого контейнера.
+
avatar
0
Функционально любая сушилка — замена силикагелю.
В корне не согласен… Две разные задачи: вытащить воду из пластика и сушить воздух при хранении, чтобы пластик не впитывал.
Проведите эксперимент, например с тем же самым силикагелем.
У меня пока никакого влияния силикагеля на катушку с завода не обнаружено… Но его и не так много используется. Впрочем, бытовой дегидратор тоже так себе, если судить по весам, то самый эффективный метод был в духовке с конвекцией, но в ней и температура больше.
Это мог быть любой контейнер
Дело не в контейнере, вопрос, как автор предлагает использовать устройство. Беглым просмотром я пришел к выводу, что есть сушилка, есть бокс для печати, вот девайс во второй и надо встроить.

Я даже не знаю, как корректно можно было бы провести эксперимент. Чтобы исходные данные были хотя бы очень близкими. Плюс есть мнение, что все бытовые методы могут удалить воду только с поверхности, внутри прутка она останется за счёт полярности молекул, и оттуда ее можно только убрать нагревом выше точки кипения. Но опять же, это все рассказывают производители полимеров или филаментов.
+
avatar
0
У меня пока никакого влияния силикагеля на катушку с завода не обнаружено…
Я не знаю, как вы используете силикагель, но перед применением его надо просушить в духовке или хотя бы на сковородке. В противном случае вместо силикагеля можно насыпать, например, речного песка. Эффект будет тот же — нулевой.
Дело не в контейнере, вопрос, как автор предлагает использовать устройство. Беглым просмотром я пришел к выводу, что есть сушилка, есть бокс для печати, вот девайс во второй и надо встроить.
Всё очень сильно зависит от гигроскопичности пластика, например, нейлон (при длительной печати) нужно сушить в процессе печати. И для этого нужно или напрямую из сушилки печатать или засыпать сухим силикагелем.
Впрочем, бытовой дегидратор тоже так себе, если судить по весам, то самый эффективный метод был в духовке с конвекцией, но в ней и температура больше.
Бытовой дегидратор представляет собой замкнутый объём в котором находится нагреватель, обдуваемый вентилятором. Духовка с конвекцией представляет собой теплоизолированный замкнутый объём с нагревателем, обдуваемым вентилятором. Разница только в максимальной температуре и теплоизоляции объёма (что способствует равномерному распределению температуры по объёму).
Я даже не знаю, как корректно можно было бы провести эксперимент. Чтобы исходные данные были хотя бы очень близкими.
Я бы строил эксперимент следующим образом:
1. Взвесть просушенную в духовке или дегидраторе небольшую бухту пластика (грамм 200-300).
2. Сделать её гарантированно влажной, для чего поместить его в герметично закрытую ёмкость с мокрой тряпкой.
3. Прокалить в духовке при температуре > 100° С 100-200 грамм силикагеля, для гарантированного сухого состояния (можно тоже сделать взвешивание до и после для замера утилизированной влаги).
4. Проветрить подготовленный пруток для высыхания поверхностной влаги и взвесить его (на этом этапе получаем количество влаги поглащённой пластиком).
5. Поместить в сухую герметичную ёмкость подготовленный пруток и силикагель.
6. Сделать выдержку в несколько часов.
7. Взвесить объект эксперимента.
8. Сравнить показания с предыдущими результатами «сухой», «мокрый» и сделалть выводы.
+
avatar
0
Я просто использую халявный силикагель, поэтому насыпать с горкой его не хватает. Я его сушил, конечно. Но сколько ни лежала катушка с небольшим количеством силикагеля в зип-пакете, если ее не посушить, можно поймать пузыри при печати.
Дегидратор, кстати, не совсем замкнутый, в нем воздух выходит сверху, загоняется снизу. В отличие от духовки. Правда, духовку я регулярно открывал, проверяя запах и ломкость пластика.

По поводу экспериментов… Я печатал АБС и PETG. И эффект похудения в весе был всегда только первый раз, когда сушил катушку с завода (максимальный эффект был 2г на килограмм катушки). Потом весы не улавливали разницу при сушке. А небольшие пузырьки после долгого лежания все равно видел. Поэтому разве что взять тестовую бухту нейлона для опытов, который очень хорошо впитывает… Но как обеспечить повторяемость опытов, чтобы влага была распределена в пластике одинаково, не знаю. Даже если взять бухту, разделить на два мотка, вряд ли в них будет одинаковое содержание влаги.
+
avatar
0
Я просто использую халявный силикагель
Аналогично: О)
Идея эксперимента простая:
1. гарантировано высушить пластик, взвесить.
2. гарантированно намочить пластик, взвесить — на этом этапе получается количество поглащённой влаги.
3. просушить силикагелем, взвесить — на этом этапе получаем количество влаги которую вытащил силикагель.
Всего один моток и ничего делить не нужно. И если с помощью силикагеля не получается осушить пластик, то масса полученная в п. 2 будет равна массе полученной в п. 3. Если масса по п.3 будет меньше массы по п.2, но больше массы по п.1, то можно эксперимент продолжить — заменить силикагель на новый и ещё оставить на н-цать часов.
Если возникнет желание может и сам такой эксперимент проведу, правда нейлона у меня нет.
+
avatar
0
Вопрос, сколько силикагеля надо для килограммовой катушки. :)
И второй — я не клал мокрую тряпку, конечно, но вот с комнатных условиях вес катушки не менялся от поглощенной влаги. У меня весы с точностью 1г, и их недостаточно для анализа… Эффект на печати есть, а на весах нет разницы. Разве что придется купить индикаторный силикагель и распечатать нейлон… Хотя я его и оставил до времени, когда механику пересоберу…
+
avatar
0
Вопрос, сколько силикагеля надо для килограммовой катушки.
Всё зависит от объёма контейнера. У Штефана в эксперименте в контейнер для четрёх катушек загружено порядка 200г силикагеля.
Да и чем больше положить тем меньше придётся ждать.
+
avatar
+2
Стоковый микроконтроллер скорей всего какой то Нувотон. N76E003 или MS51FB9AE. Точка-ключ первой ноги очень похожа.
Китайцы их очень любят и пихают везде.
+
avatar
+1
Интересно. Я к стоковому МК по SWD подключался stlink-ом и через stlink utility даже какие-то данные считались. Но по этим данным ничего понять не получилось.

Надо бы изучить можно ли убедиться что это nuvoton без nulink.
+
avatar
+3
N76E003 можно прочитать (если не залочена) CH341A-программатором, программой NeoProgrammer.
+
avatar
0
Оказалось что нет у меня в хозяйстве ch341… NeoProgrammer вроде что-то умеет через usbasp делать, но к N76E003 через него подключаться вроде не умеет.
Ладно, подождем ch341. Если что-то прочитается — напишу.

А вот по MS51FB9AE не нашел чем с ним можно работать если не ny-link. И reference manual не помог.
+
avatar
+7
Для отпаивания таких вещей откусывать ноги не надо. Надо взять медную проволоку на 2,5 квадрата, согнуть из неё U-образную скобку, положить эту скобку на ноги микросхеме, залить это всё припоем и снять микросхему.
+
avatar
+1
Хороший способ. Добавил ссылку на этот комментарий.
+
avatar
+1
Нет, исходники я просить не буду. Научите программировать!
+
avatar
0
Если что — ссылка на исходники есть в тексте.
+
avatar
0
В какой среде писали прошивку?
Посоветуйте новичку
+
avatar
+3
Вопрос про stm8? Тут я тоже полный новичок.
Наверное удобнее использовать vscode+platformio+sdcc. Вот тут есть описание установки.
Ещё есть sduino, которое позволяет использовать stm8 из arduino ide. Можно посмотреть на пост от donBaton на эту тему.

Я полноценной средой не пользовался, так как platformio требует для работы именно vscode, а не vscodium. У меня сборка через Makefile (компилятор SDCC). В качестве редактора в основном был vscodium с clangd плагином для автодополнения.