Дополнение к
обзору сушилки пластика.
Сделал прошивку под 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 за распиновки в обзорах.
То есть вы подали вместо на ядро 3.3В вместо 1.8В. Ну, пока работает. Насколько долго «пока» — время покажет.
Это понятно. А вот насколько это критично непонятно. Если на голый МК подавать и на питание и на VCAP 3v3 — ток получается ~5mA. С кондесатором на VCAP-GND <1mA.
С 3v3 на VCAP работало больше месяца, никаких проблем замечено не было.
Пирометры в разы дороже. Одного не хватит (катушек может быть две). А по нескольким пирометрам тоже надо как-то хитро вычислять что делать с нагревом. Да и большое количество датчиков температуры никак не помогут сделать более равномерную температуру в камере.
Это что за микроволновка такая?
Микроволновка (на самом деле универсальная печь) Sharp девятой серии, для японского рынка, на топовых Панасониках тоже такое есть.
Не нашел где сейчас три за $1 (возможно плохо искал). Вижу только $1.5 за штуку. Или $12 за 10. (с учетом доставки).
Я могу ошибаться, но кажется что в случае этого датчика для правильного измерения нужно знать ещё и температуру самого датчика.
У меня цель была просто сделать чтобы сушилка вела себя поадекватнее. При необходимости и желании можно будет и датчики добавить, и нагреватели, и вентиляторы.
А производителю оказалось проще получать негативные отзывы о плохо работающем экране, чем сделать неблокирующее чтение с датчика. И реле механическое поставить, вместо дешевого маломощного тиристора и оптрона.
хотя можно набрать безконтактных термометров во «все по 189» и выковырять оттедова
вобщем было бы желание…
.
Я так понял, фактически это электролизёр, который расщепляет влагу на водород и кислород. Вот только он не погружен в воду, а влагу набирает из воздуха. Правда ценник на модуль — ой вэй.
Есть такая штука, называется парциальное давление. Так вот, когда парциальное двление АшДваО в окржающем воздухе будет меньше парциального давления АшДваО пластике, тогда это АшДваО будет мигрировать в окружающий воздух до тех пор, пока парциальные давления АшДваО внутре и снаружи пластика не выровняются.
Осушая воздух любым способом уменьшаем парциальное давление АшДваО в нём со всеми вытекающими последствиями.
А во-вторых, филаменты, как пишут, являются полярными полимерами, которые имеют способность удерживать полярные молекулы воды, отчего без повышения температуры эту воду из пластика и не удалить. Хотя этот раздел, мне кажется, мы и в институте не проходили. :)
По заявленым характеристикам модуль MDL-3 «осушает» 4 грамма в сутки. При этом бытовой дегидратор усушивает филамент на 1-1,5 грамма за 12-16 часов, по результатам того же Штефана (графики на 9:06):
.
Одновременного сравнения дегидратора и данной приблуды пока ещё нигде не встречал, а сравнивать показания прибора измеряющего влажность и массу «усушки» филамента нельзя. Поэтому вопрос что эффективнее остаётся открытым.
Будет ли влага уходить из пластика в сухой воздух без нагрева, я до сих пор сомневаюсь. По крайней мере, в достаточном объеме или в сравнимом с нагревом… В видео, если я беглым просмотром правильно понял, прибор как раз стоит в кассете для печати, куда пластик помещают из сушки.
PS: у меня катушка АБС похудела на 1.5г за 6 часов в духовке. Но для него можно побольше температуру выставить, чем в бытовом дегидрататоре.
Проведите эксперимент, например с тем же самым силикагелем.
Это мог быть любой контейнер, и если бы вы смотрели внимательно, то увидели бы что первоначальный тест был без пластика с гигрометром внутри пустого контейнера.
У меня пока никакого влияния силикагеля на катушку с завода не обнаружено… Но его и не так много используется. Впрочем, бытовой дегидратор тоже так себе, если судить по весам, то самый эффективный метод был в духовке с конвекцией, но в ней и температура больше.
Дело не в контейнере, вопрос, как автор предлагает использовать устройство. Беглым просмотром я пришел к выводу, что есть сушилка, есть бокс для печати, вот девайс во второй и надо встроить.
Я даже не знаю, как корректно можно было бы провести эксперимент. Чтобы исходные данные были хотя бы очень близкими. Плюс есть мнение, что все бытовые методы могут удалить воду только с поверхности, внутри прутка она останется за счёт полярности молекул, и оттуда ее можно только убрать нагревом выше точки кипения. Но опять же, это все рассказывают производители полимеров или филаментов.
Всё очень сильно зависит от гигроскопичности пластика, например, нейлон (при длительной печати) нужно сушить в процессе печати. И для этого нужно или напрямую из сушилки печатать или засыпать сухим силикагелем.
Бытовой дегидратор представляет собой замкнутый объём в котором находится нагреватель, обдуваемый вентилятором. Духовка с конвекцией представляет собой теплоизолированный замкнутый объём с нагревателем, обдуваемым вентилятором. Разница только в максимальной температуре и теплоизоляции объёма (что способствует равномерному распределению температуры по объёму).
Я бы строил эксперимент следующим образом:
1. Взвесть просушенную в духовке или дегидраторе небольшую бухту пластика (грамм 200-300).
2. Сделать её гарантированно влажной, для чего поместить его в герметично закрытую ёмкость с мокрой тряпкой.
3. Прокалить в духовке при температуре > 100° С 100-200 грамм силикагеля, для гарантированного сухого состояния (можно тоже сделать взвешивание до и после для замера утилизированной влаги).
4. Проветрить подготовленный пруток для высыхания поверхностной влаги и взвесить его (на этом этапе получаем количество влаги поглащённой пластиком).
5. Поместить в сухую герметичную ёмкость подготовленный пруток и силикагель.
6. Сделать выдержку в несколько часов.
7. Взвесить объект эксперимента.
8. Сравнить показания с предыдущими результатами «сухой», «мокрый» и сделалть выводы.
Дегидратор, кстати, не совсем замкнутый, в нем воздух выходит сверху, загоняется снизу. В отличие от духовки. Правда, духовку я регулярно открывал, проверяя запах и ломкость пластика.
По поводу экспериментов… Я печатал АБС и PETG. И эффект похудения в весе был всегда только первый раз, когда сушил катушку с завода (максимальный эффект был 2г на килограмм катушки). Потом весы не улавливали разницу при сушке. А небольшие пузырьки после долгого лежания все равно видел. Поэтому разве что взять тестовую бухту нейлона для опытов, который очень хорошо впитывает… Но как обеспечить повторяемость опытов, чтобы влага была распределена в пластике одинаково, не знаю. Даже если взять бухту, разделить на два мотка, вряд ли в них будет одинаковое содержание влаги.
Идея эксперимента простая:
1. гарантировано высушить пластик, взвесить.
2. гарантированно намочить пластик, взвесить — на этом этапе получается количество поглащённой влаги.
3. просушить силикагелем, взвесить — на этом этапе получаем количество влаги которую вытащил силикагель.
Всего один моток и ничего делить не нужно. И если с помощью силикагеля не получается осушить пластик, то масса полученная в п. 2 будет равна массе полученной в п. 3. Если масса по п.3 будет меньше массы по п.2, но больше массы по п.1, то можно эксперимент продолжить — заменить силикагель на новый и ещё оставить на н-цать часов.
Если возникнет желание может и сам такой эксперимент проведу, правда нейлона у меня нет.
И второй — я не клал мокрую тряпку, конечно, но вот с комнатных условиях вес катушки не менялся от поглощенной влаги. У меня весы с точностью 1г, и их недостаточно для анализа… Эффект на печати есть, а на весах нет разницы. Разве что придется купить индикаторный силикагель и распечатать нейлон… Хотя я его и оставил до времени, когда механику пересоберу…
Да и чем больше положить тем меньше придётся ждать.
Китайцы их очень любят и пихают везде.
Надо бы изучить можно ли убедиться что это nuvoton без nulink.
Ладно, подождем ch341. Если что-то прочитается — напишу.
А вот по MS51FB9AE не нашел чем с ним можно работать если не ny-link. И reference manual не помог.
Посоветуйте новичку
Наверное удобнее использовать vscode+platformio+sdcc. Вот тут есть описание установки.
Ещё есть sduino, которое позволяет использовать stm8 из arduino ide. Можно посмотреть на пост от donBaton на эту тему.
Я полноценной средой не пользовался, так как platformio требует для работы именно vscode, а не vscodium. У меня сборка через Makefile (компилятор SDCC). В качестве редактора в основном был vscodium с clangd плагином для автодополнения.