Точечная сварка - текущие улучшения
С момента выхода первой версии данного аппарата прошло немало времени. Тем не менее его у меня до сих пор заказывают, да и сам я активно пользуюсь данной точечной сваркой, периодически меняя банки в аккумуляторном инструменте и бытовой технике. От многочисленных пользователей поступает обратная связь, как правило, положительная (она и стимулирует к новым доработкам). Но поступают и пожелания, я постепенно внедрял их в свой аппарат, прошивка несколько раз серьёзно оптимизировалась, отлаживалась. Сама плата тоже претерпела ряд изменений. Собственно, про изменения аппаратные и программные я и хотел рассказать. Подробнее под катом
Во первых, тут на муське присутствует целая серия старых обзоров посвященных данному устройству: один, два, три. Поэтому если хочется узнать подробнее про процесс разработки и то от чего мы начали движение, то можно все прочитать там.
Текущая актуальная версия платы 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 Вольт.
Собственно я показал основные моменты в прошивке, надеюсь кому то это интересно.
Ну и собственно, хочется сказать, что данный вариант точечной сварки является существенно улучшенной версией все той же хорошо работающей версии аппарата к которой многие привыкли. Те кто заказал недавно уже успели воспользоваться достоинствами новой версии.
На этом заканчиваю. Спасибо тем кто дочитал до конца, надеюсь кому-то информация окажется полезной!
Самые обсуждаемые обзоры
| +66 |
3988
196
|
| +83 |
3900
137
|
| +178 |
3739
204
|
| +64 |
3647
81
|
Ну и заодно тут спрошу — есть возможность самостоятельной прошивки новой версии?
Хотел вообще поставить ТС133-630 (были в наличии), но вовремя одумался :)
в данном случае мне показалось так логичнее — так как контроллер запитан — нет именно силового питания
И у них десятки моделей самых разных точечных сварок.