Точечная сварка - текущие улучшения
С момента выхода первой версии данного аппарата прошло немало времени. Тем не менее его у меня до сих пор заказывают, да и сам я активно пользуюсь данной точечной сваркой, периодически меняя банки в аккумуляторном инструменте и бытовой технике. От многочисленных пользователей поступает обратная связь, как правило, положительная (она и стимулирует к новым доработкам). Но поступают и пожелания, я постепенно внедрял их в свой аппарат, прошивка несколько раз серьёзно оптимизировалась, отлаживалась. Сама плата тоже претерпела ряд изменений. Собственно, про изменения аппаратные и программные я и хотел рассказать. Подробнее под катом
Во первых, тут на муське присутствует целая серия старых обзоров посвященных данному устройству: один, два, три. Поэтому если хочется узнать подробнее про процесс разработки и то от чего мы начали движение, то можно все прочитать там.
Текущая актуальная версия платы 2.09:

Добавлена дополнительная индикация на самой плате, для тех у кого корпус открыт или вовсе без корпуса можно пользоваться встроенной индикацией без дополнительного внешнего светодиода. Также, добавлены дополнительные стабилизирующие резисторы, которые делают процесс более точным.
В промежуточных версиях звуковой индикатор можно было отключить перемычкой, сейчас это делается программно и перемычка не нужна, соответственно перемычки нет. Сам процесс пайки смд деталей теперь делается в специальной печи, согласно профилю паяльной пасты, это существенно улучшило эксплуатационные свойства. Печка:
Паяльная паста наносится диспенсером, кнопку для удобного использования стандартных тюбиков я описывал здесь.
В целом, конфигурация платы в целом сохранена, чего нельзя сказать про ПО.
Прошивка несколько раз полностью переделывалась, добавлено не мало новых функций, начнем по порядку. То что видно в интерфейсе:
1 Полностью переделан механизм отображения информации и перехода к изменению значения выбранного пункта
2 Добавлен разогревающий импульс (конечно с возможностью его отключения)
3 Длительность разогревающего импульса регулируется в миллисекундах
4 Добавлена возможность включения и выключения звукового сигнала из меню
5 Добавлена возможность регулировки задержки перед началом сварки с момента нажатия на кнопку активации начала процесса сварки (в секундах, также возможность отключения этой задержки)
6 Длительность работы вентилятора теперь тоже регулируется
7 Добавлена поддержка ручного режима сварки, пока кнопка активации сварки нажата — происходит процесс сварки и завершается когда кнопка не нажата
8 Добавлена возможность программной перезагрузки устройства, устройство вернется к сохраненным ранее настройкам
9 Добавлена возможность возврата к заводским настройкам
10 Добавлен выбор языка: в данный момент по умолчанию английский, но можно выбрать русский
11 Реализована возможность выбора реверса вращения энкодера, так как некоторые из них по умолчанию делают обратное действие относительно привычного, либо кому то удобнее поведение энкодера как колесика мышки по умолчанию на Mac OS
12 Существенна повышена стабильность работы энкодера, он более точно реагирует на воздействия
Как видим, список достаточно большой.
При загрузке аппарата теперь рисуется симпатичный ежик с паяльником, который и ранее присутствовал на самой плате:
Второй экран сообщает версию устройства:
Так выглядит меню в английском варианте:


Так выглядит меню в русском варианте:


Еще один нюанс, который почему то вызывал вопросы. Достаточно много людей подавали 5 Вольт питания на соответствующие входы и жаловались, что процесс сварки не происходит. Данный процесс приводил к бесконечному ожиданию пика синусоиды на входе оптрона и в итоге ничего не происходило. Сейчас я добавил проверку наличия питания 220 Вольт, и при его отсутствии во время загрузки аппарат об этом напишет, повторно он об этом напишет при нажатии на кнопку активации сварки и вернется в основное меню. Кроме того попытка сварки без питания 220 Вольт вызовет индикацию красным светодиодом, который до текущей версии не использовался. Выглядит это так:
Вот так выглядит отключение импульса прогрева (то есть при включенном импульсе мы видим цифру длительности, при выключенном надпись ВЫКЛ на русском или OFF на английском):
Сохранение текущих параметров в память как и ранее производится длительным нажатием на кнопку энкодера.
Я оптимизировал код под конкретный тип экрана, ранее можно было подключать и 0.96" (SSD1306) и 1.3" (SH1106), код был одинаковый, теперь сборка происходит под определенный экранчик, поэтому на этапе проектирования своего устройства необходимо заранее определяться с экранчиком.
Далее следует упомянуть про существенное увеличение точности и оптимизацию многих функций. Еще раз хочется сказать, чтобы не было доп вопросов, которые часто возникают. Та прошивка что была в самом первом обзоре ничего общего с текущей прошивкой не имеет и ее стоит рассматривать скорее как черновик, для проверки возможности заставить работать вместе все задуманные железки.
Ну и вкратце посмотрим внутренности прошивки. Во первых за отрисовку изображения отвечает следующий класс:
структура punct описывает конкретный пункт меню, который состоит из следующих полей:
val — указатель на переменную которой управляет данный пункт, если нет такой переменной можно указать NULL
min — минимальное значение переменной
max — максимальное значение переменной
step — шаг изменения при вращении энкодера
type — тип пункта меню: числовая переменная, числовая переменная с возможностью отключения, логическая переменная или команда
meas — единица измерения для данного пункта
fast — быстрое изменение величины (при быстром вращении энкодера), то есть от скорости вращения энкодера зависит шаг изменения, что позволяет оперативно добраться до требуемого диапазона
f — целевая функция которая вызывается при изменении значения для переменных, либо просто вызывается при активации пункта.
методы:
init — инициализация экранчика
status — принимает константу и отображает статическую картинку (1й экран, 2й экран, экран сохранения параметров в память, экран процесса сварки и тп)
menu — отрисовывает текущую страницу с меню
count — возвращает количество пунктов меню
defaultConfig — возврат к настройкам по умолчанию
item — отображение одного пункта меню (название на выбранном языке, сама величина, еденица измерения ну и признаки выбора и входа в данный пункт)
Инициализация меню выглядит так:
Первым мы видим словарь для поддержки языков
Далее идет инициализация самого меню — каждая строчка это отдельный пункт
Чтобы было понятнее, приведу типы данных для меню и нагрузок:
Мне показалось, что такая организация меню для данного устройства выглядит вполне оптимально, и вы вполне можете нечто подобное использовать в своих устройствах.
Основной файл программы выглядит достаточно просто:
Здесь видны все сущности которыми оперирует программа: конфигурация, нагрузки, рисовалка, сенсоры и состояния. Осуществляется инициализация сущностей а затем идет обработка их возможных изменений.
Естественно что в режиме самой сварки отключаются прерывания, вот обработчик нажатия кнопки сварки:
Сам процесс сварки:
Как видно, здесь возможны 3 ситуации, которые обрабатываются по разному:
— у нас нет 220 Вольт, что вызовет заглушку сообщающую об этом
— у нас ручной режим: включаем сварку и ждем отпуска кнопки сварки
— ну и конечно, основной режим в котором мы в цикле для каждого из заданного количества импульсов ждем пик, обеспечиваем сдвиг, включаем процесс сварки, если у нас задан импульс прогрева, то отрабатываем его при первой итерации цикла в ином случае идет основной импульс.
Вспомогательные функции которые используются в функции сварки:
Первая предшествует сварке: проверяет наличие питания 220 Вольт, включает индикацию и при необходимости вентилятор
Вторая завершает сварку: при необходимости делает задержку перед следующим процессом, отключает индикацию и возвращает аппарат в штатный режим
Третья является заглушкой и используется для сигнализации отсутствия питания 220 Вольт.
Собственно я показал основные моменты в прошивке, надеюсь кому то это интересно.
Ну и собственно, хочется сказать, что данный вариант точечной сварки является существенно улучшенной версией все той же хорошо работающей версии аппарата к которой многие привыкли. Те кто заказал недавно уже успели воспользоваться достоинствами новой версии.
На этом заканчиваю. Спасибо тем кто дочитал до конца, надеюсь кому-то информация окажется полезной!
Во первых, тут на муське присутствует целая серия старых обзоров посвященных данному устройству: один, два, три. Поэтому если хочется узнать подробнее про процесс разработки и то от чего мы начали движение, то можно все прочитать там.
Текущая актуальная версия платы 2.09:

Добавлена дополнительная индикация на самой плате, для тех у кого корпус открыт или вовсе без корпуса можно пользоваться встроенной индикацией без дополнительного внешнего светодиода. Также, добавлены дополнительные стабилизирующие резисторы, которые делают процесс более точным.В промежуточных версиях звуковой индикатор можно было отключить перемычкой, сейчас это делается программно и перемычка не нужна, соответственно перемычки нет. Сам процесс пайки смд деталей теперь делается в специальной печи, согласно профилю паяльной пасты, это существенно улучшило эксплуатационные свойства. Печка:
Паяльная паста наносится диспенсером, кнопку для удобного использования стандартных тюбиков я описывал здесь.В целом, конфигурация платы в целом сохранена, чего нельзя сказать про ПО.
Прошивка несколько раз полностью переделывалась, добавлено не мало новых функций, начнем по порядку. То что видно в интерфейсе:
1 Полностью переделан механизм отображения информации и перехода к изменению значения выбранного пункта
2 Добавлен разогревающий импульс (конечно с возможностью его отключения)
3 Длительность разогревающего импульса регулируется в миллисекундах
4 Добавлена возможность включения и выключения звукового сигнала из меню
5 Добавлена возможность регулировки задержки перед началом сварки с момента нажатия на кнопку активации начала процесса сварки (в секундах, также возможность отключения этой задержки)
6 Длительность работы вентилятора теперь тоже регулируется
7 Добавлена поддержка ручного режима сварки, пока кнопка активации сварки нажата — происходит процесс сварки и завершается когда кнопка не нажата
8 Добавлена возможность программной перезагрузки устройства, устройство вернется к сохраненным ранее настройкам
9 Добавлена возможность возврата к заводским настройкам
10 Добавлен выбор языка: в данный момент по умолчанию английский, но можно выбрать русский
11 Реализована возможность выбора реверса вращения энкодера, так как некоторые из них по умолчанию делают обратное действие относительно привычного, либо кому то удобнее поведение энкодера как колесика мышки по умолчанию на Mac OS
12 Существенна повышена стабильность работы энкодера, он более точно реагирует на воздействия
Как видим, список достаточно большой.
При загрузке аппарата теперь рисуется симпатичный ежик с паяльником, который и ранее присутствовал на самой плате:
Второй экран сообщает версию устройства:
Так выглядит меню в английском варианте:

Так выглядит меню в русском варианте:

Еще один нюанс, который почему то вызывал вопросы. Достаточно много людей подавали 5 Вольт питания на соответствующие входы и жаловались, что процесс сварки не происходит. Данный процесс приводил к бесконечному ожиданию пика синусоиды на входе оптрона и в итоге ничего не происходило. Сейчас я добавил проверку наличия питания 220 Вольт, и при его отсутствии во время загрузки аппарат об этом напишет, повторно он об этом напишет при нажатии на кнопку активации сварки и вернется в основное меню. Кроме того попытка сварки без питания 220 Вольт вызовет индикацию красным светодиодом, который до текущей версии не использовался. Выглядит это так:
Вот так выглядит отключение импульса прогрева (то есть при включенном импульсе мы видим цифру длительности, при выключенном надпись ВЫКЛ на русском или OFF на английском):
Сохранение текущих параметров в память как и ранее производится длительным нажатием на кнопку энкодера.Я оптимизировал код под конкретный тип экрана, ранее можно было подключать и 0.96" (SSD1306) и 1.3" (SH1106), код был одинаковый, теперь сборка происходит под определенный экранчик, поэтому на этапе проектирования своего устройства необходимо заранее определяться с экранчиком.
Далее следует упомянуть про существенное увеличение точности и оптимизацию многих функций. Еще раз хочется сказать, чтобы не было доп вопросов, которые часто возникают. Та прошивка что была в самом первом обзоре ничего общего с текущей прошивкой не имеет и ее стоит рассматривать скорее как черновик, для проверки возможности заставить работать вместе все задуманные железки.
Ну и вкратце посмотрим внутренности прошивки. Во первых за отрисовку изображения отвечает следующий класс:
структура punct описывает конкретный пункт меню, который состоит из следующих полей:val — указатель на переменную которой управляет данный пункт, если нет такой переменной можно указать NULL
min — минимальное значение переменной
max — максимальное значение переменной
step — шаг изменения при вращении энкодера
type — тип пункта меню: числовая переменная, числовая переменная с возможностью отключения, логическая переменная или команда
meas — единица измерения для данного пункта
fast — быстрое изменение величины (при быстром вращении энкодера), то есть от скорости вращения энкодера зависит шаг изменения, что позволяет оперативно добраться до требуемого диапазона
f — целевая функция которая вызывается при изменении значения для переменных, либо просто вызывается при активации пункта.
методы:
init — инициализация экранчика
status — принимает константу и отображает статическую картинку (1й экран, 2й экран, экран сохранения параметров в память, экран процесса сварки и тп)
menu — отрисовывает текущую страницу с меню
count — возвращает количество пунктов меню
defaultConfig — возврат к настройкам по умолчанию
item — отображение одного пункта меню (название на выбранном языке, сама величина, еденица измерения ну и признаки выбора и входа в данный пункт)
Инициализация меню выглядит так:
Первым мы видим словарь для поддержки языковДалее идет инициализация самого меню — каждая строчка это отдельный пункт
Чтобы было понятнее, приведу типы данных для меню и нагрузок:
Мне показалось, что такая организация меню для данного устройства выглядит вполне оптимально, и вы вполне можете нечто подобное использовать в своих устройствах.Основной файл программы выглядит достаточно просто:
Здесь видны все сущности которыми оперирует программа: конфигурация, нагрузки, рисовалка, сенсоры и состояния. Осуществляется инициализация сущностей а затем идет обработка их возможных изменений. Естественно что в режиме самой сварки отключаются прерывания, вот обработчик нажатия кнопки сварки:
Сам процесс сварки:
Как видно, здесь возможны 3 ситуации, которые обрабатываются по разному:— у нас нет 220 Вольт, что вызовет заглушку сообщающую об этом
— у нас ручной режим: включаем сварку и ждем отпуска кнопки сварки
— ну и конечно, основной режим в котором мы в цикле для каждого из заданного количества импульсов ждем пик, обеспечиваем сдвиг, включаем процесс сварки, если у нас задан импульс прогрева, то отрабатываем его при первой итерации цикла в ином случае идет основной импульс.
Вспомогательные функции которые используются в функции сварки:
Первая предшествует сварке: проверяет наличие питания 220 Вольт, включает индикацию и при необходимости вентиляторВторая завершает сварку: при необходимости делает задержку перед следующим процессом, отключает индикацию и возвращает аппарат в штатный режим
Третья является заглушкой и используется для сигнализации отсутствия питания 220 Вольт.
Собственно я показал основные моменты в прошивке, надеюсь кому то это интересно.
Ну и собственно, хочется сказать, что данный вариант точечной сварки является существенно улучшенной версией все той же хорошо работающей версии аппарата к которой многие привыкли. Те кто заказал недавно уже успели воспользоваться достоинствами новой версии.
На этом заканчиваю. Спасибо тем кто дочитал до конца, надеюсь кому-то информация окажется полезной!
Самые обсуждаемые обзоры
| +41 |
1474
40
|
| +110 |
5013
118
|
не стесняйтесь, рубите правду матку, продаю свое, стоит столько то, купить на авито(например)
что такого то? мне не надо, но кому то и зайдет.
Ну и заодно тут спрошу — есть возможность самостоятельной прошивки новой версии?
Хотел вообще поставить ТС133-630 (были в наличии), но вовремя одумался :)
в данном случае мне показалось так логичнее — так как контроллер запитан — нет именно силового питания
NOT POWER режет глаза, ии вам объяснит почему.
Это как в русском:
«Это не питание, а издевательство какое-то! Дайте мне мяса!»
"Нет питания на приборе."
Not power — это как «не» в первом варианте.
No power — это как «нет» во втором варианте.
И у них десятки моделей самых разных точечных сварок.
Так то самое «железо» китайцами успешно делается. Docreate, AwithZ, другие с именами и десятки безымянных делают кучу моделей точечных сварок. И для этого им не нужно воровать код.
Любая работа со стороны кажется простой. Но как возьмешься реализовывать — выползает куча непредсказуемых проблем, на решение которых уходит время.
Что вы все так трясётесь за свои незамысловатые коды? Люди в Open Source отдают сотни тысяч проектов, в том числе на три порядка более сложные, а авторы — свои работы под CC/CA. Чего вы так боитесь-то? Разве что засмеют…
И, к слову, рекомендую почитать лицензию тех библиотек, которые вы походя подключаете через #include: т. к. вы подключаете их не как динамические библиотеки, а компилируете в основной код, то тут работает не LGPL, а GPL, и вы обязаны открыть любой произвольный код.
а китайцы и так делают давно уж делают вполне лаконичные контроллеры.
если вам не требуется — не значит что не нужно другим
Homo erectus жили миллион лет, пока не научились поддерживать огонь.
Потом ещё 1.5 миллиона лет, пока не научились извлекать огонь.
Потом ещё 400000 лет до появления бронзы.
Потом тысячи лет до появления в обиходе железа.
Потом сотни лет до появления вакцин.
Потом до появления электричества.
До появления Интернета…
Так что «аргумент» «XX лет жили без этого» — ничтожен. Человечество всегда жило и живёт без чего-то, что появлялось или появится в будущем и изменит всё.
(фото экрана, не горизонтальное на фото не смотрится, ну это имхо, автору видней)
И главное — расскажите, пожалуйста, зачем в принципе.
потому что на них подделки. свой логотип атмел поменял почти 15 лет назад.
они могут издалека работать очень похожим образом, но что-то может не работать или работать как-то иначе (как только потребуется чего-то кроме моргания светодиодом). или вообще пустышками быть.
Не все. Догадаетесь, какие оригинальные?
Я видел разные логотипы на чипах. Всем известный, как на фото выше. А ещё до сих пор полно таких:
А вот таких, как они изображены на рендерах (после поглощения Microchip'ом и упразднения лого Atmel), я так ни разу вживую и не видел:
Дело вкуса и навыков.
А вы с темой знакомились или просто решили набросить для развития диалога (я приветствую тк сам бывает люблю провоцировать диалог)? Упомянутый фреймвор embassy не тянет с собой RTOS для stm32 — здесь вы ошибаетесь. У них прямо на главной странице сайта указано «It obsoletes the need for a traditional RTOS with kernel context switching, and is faster and smaller than one!»Не видел ни одного домашнего проекта/поделки где бы использовался 10" сенсорный fullhd экран — снова зачем-то передергиваете.
Медь варили?
Есть в нём потенциал, или за 5000 рублей с алиэкспресса можно уже взять аппарат получше?
Schweißgerät sg-01
так тут вопрос не только/столько материал, но и способ подключения к нему электродов.
Там даже ионисторы не надо менять. 2000 А можно получить, просто улучшив щупы и провода.
А если допаять мосфетов и поставить диод-снаббер, то можно и больше.
Значит, плохие контакт/провода/электроды. Меняйте, пропаивайте и т. д. На Docreate 705 варят медь.
Вот фото из группы (не моя):
Так этого мало.
Ну, меньше не сильно:
Docreate 566: 187*150*100 = 2805000 мм³
Docreate 705: 210*130*95 мм = 2593500 мм³
А вот варит лучше. Потому и дороже.
Никель и железо к толстой латуни прекрасно варит, проверял. А наоборот, латунь к железу, уже нет.
ток идет там, где может, в пропорциях. если там железяка на порядок толще меди, то по ней и пойдет целая половина. если реально нужно приварить к чему-то потоньше, то пойдет в пропорциональные разы меньше. и этого не хватит. налицо — показуха.
Чит — когда сопротивляющаяся полоска сверху, прямо у электродов.
это не чит, это правильный подход. другое дело что он не всегда применим.
Ну мне вот хочется сваривать медные или латунные коробочки. Без лишних следов железа, особенно снаружи.
С толстым основанием у нас и на медной полосе тепла не выделяется, и в железном основании оно сразу размазано по объёму.