Обновить

Комментарии 48

От идеи до готового устройства прошел год

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

"Подержите мой коньяк". Около 5 лет. Хотя min. val. hardware было получено в течении пары недель - возникли вопросы с производительностью. Которые я время от времени пытаюсь разрешить. Пару раз в год, примерно.

5 лет далеко не предел. Один из моих проектов только на 8 год сдвинулся с мёртвой точки и закончился на 11 году. Просто поражаешься, как быстро улетает время...

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

HAL не так важен, если у вас все получилось и вам не критична жесткая атомарность операций. Не заморачивайтесь, с Вашим подходом и энтузиазмом CMSIS и даже ASM освоить будет легко. Удачи и плюс в карму от меня.

p.s. Любопытно по графике. Вы писали свою библиотеку или воспользовались сторонней?

p.p.s. Вы и БП станции сами разводили и паяли?

Спасибо за такой отзыв. Буду работать над собой и дальше.

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

БП брал готовый, с Алиэкспресс, такого типа БП уже давно трудятся у меня в ЧПУ, можно сказать что они себя зарекомендовали.

БП брал готовый, с Алиэкспресс, такого типа БП уже давно трудятся у меня в ЧПУ, можно сказать что они себя зарекомендовали.

Может чего-то не понимаю, но раз вы уже собаку съели на этих БП, ну влезли бы уже микроконтроллером в цепь регулировки его выходного напряжения. И регулировали бы мощность на нагревателе через эту цепь, Скрипач в смысле PWM не нужен со всеми его 10-амперными закидонами, у вас и так есть уже PWM внутри БП. Нагрев на время измерения температуры можно отключать, если нужно.

Так категорически делать нельзя. БП должен оставаться обычным БП, и желательно на аналоговой логике, если цифра и есть то неявная (по типу 494 схемы цифра бегает исключительно внутри микросхемы, и то...). Даже лабораторники делают по тому же принципу - на входе БП на стандартной железной схеме, а дальше - понижайка-повышайка, уже с МК и твори что хочешь.

Этот подход как в любительской схемотехнике, так и в профессиональной. Максимум, что может себе позволить профи в схеме первичника - это ПЛИС. Такое встречается в мощных частотных преобразователях, или тиристорных регуляторах для мощных ДПТ. Но и то - даже там выходное напряжение только подстраивается, иногда pfc или рекуперация. Тут недавно статья была про работу силовых цепей электровозов, с рекуперацией и компенсацией, и всё - на аналоге.

Кто вам сказал такую чушь? В силовой электронике микроконтроллер повсеместно управляет напрямую преобразователем. Потому как делать двойное преобразование, как это вы предлагаете, очень дорого и по деньгам и по теплу.

Залезть в обратную связь бп микроконтроллером вообще никакой проблемы не составляет. Даже не надо трогать штатные rc-цепочки коррекции. Поскольку ты воздействуешь на управляющий элемент (чаще всего там tl431), который и так в цепи обратной связи.

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

А в первичку разумеется никто микроконтроллером не лезет! Где вы вообще такое видели? Да и зачем это делатт? Копеечный шим контроллер там прекрасно со всем справляется. Максимум что может быть в первичке - аппаратная защита, тупо вырубающая все ключи.

Как температуру в жалах Т12 с последовательно включенными термопарой и нагревателем мерять будете? Сколько будете ждать пока конденсаторы БП разрядится, какая максимальная скважность получится? Термопара мизерные ток и напряжение даёт, как будете без ключа бороться с утечкой на остальные цепи, подключенные к БП?

HAL не так важен,

С таким процессором и для дома - просто прекрасно, т.к. легко сможет каждый быстро переконфигурить и поправить если что. Тоже писал и дописываю "на регистрах", но у меня как то изначально сложилась F0 серия и постоянно память заканчивалась. Сейчас так конечно уже делать не буду.

Я немного костно выразился. Имелось ввиду - не стоит переживать, что код написан с использованием HAL, а не CMSIS.

Аккуратно сделано, приятно посмотреть внутри.
А зачем у вас реле ещё и через оптрон управляется?
Частоту ШИМ нагрева жала уточните пожалуйста.

Еще более интересным вариантом было бы вывести USB и применить небольшой bootloader для заливки прошивок по USB без программатора.

Очень хорошее дополнение по себе знаю. Когда кол-во поделок возрастает, то возня с подключением начинает доставать. Может вообще без проводов, BT ? Я просто не очень в теме как сейчас уже делают, исторически ещё на RS485 :)
ps имея принтер, мордочку я бы конечно потщательнее задизайнерил :)

По поводу второй платы - в дальнейших планах на ней плате поставить свой маломощный блок питания (вроде HiLink). Во-первых, кнопка включения питания тогда будет коммутировать маломощный БП, а не тот что сейчас. Это даст существенный прирост к времени ее жизни и позволит убрать NTC, который в данный с ней последовательно стоит, чтобы контакты кнопки не обгорали при включении и зарядке конденсаторов в высоковольтной части БП. А во вторых - полностью гальванически развязать платы друг от друга, сейчас, несмотря на эти оптроны, они связаны по земле. Если такой целью не задаваться, то, разумеется, проще и уместнее было бы выкинуть эти пары оптрон - полевик и коммутировать землю обмотки реле через NPN транзистор.

ШИМ сейчас стоит 25 Гц. С теми жалами что у меня (все сплошь китайцы до 1000 рублей) увеличение частоты прироста уже не дает. А вот если представить некое "идеальное" жало с полным совмещением термопары, нагревателя и точки отбора температуры, то частоту стоит поднять. Еще один момент - при частотах выше 30 Гц многие жала неприятно "свистят" (с такими то токами), конечно, они свистят и на 25 Гц, но это не так слышно (сильный завал в АЧХ уха :-) ). Частота, как и все, что можно покрутить и порегулировать, вынесена в отдельный конфигурационный хедер, поэтому ее можно поправлять в исходниках быстро и безболезненно.

Про bootloader я поздновато конечно понял, для конечного пользователя он особо не нужен, а вот если ты разработчик... Ко мне осознание пришло когда я открывал наверное в сотый раз крышку своего принтера, чтобы что то поправить в прошивке. Пришлось написать bootloader под плату в нем, чтобы обновляться с SD карты.

В нормальном БП свой ntc должен быть. Лайфхак как простейшим способом продлить жизнь контактам выключателя: мощное реле с обмоткой 220. Так выключатель будет коммутировать только обмотку, а когда реле подключит БП, контакты выключателя уже будут сомкнуты (или отдельной цепью пустить)

NTC там конечно есть. Однако даже с ним стартовый ток превышает возможности кнопки. Без дополнительного NTC в одном из устройств в течении всего нескольких месяцев кнопка пришла в негодность (правда разбор показал, что качество контактов на таких кнопках само по себе не предполагает подключение чего то не сигнального). С дополнительным NTC и более качественной кнопкой полет нормальный. По поводу мощного реле с обмоткой 220 - боюсь оно выйдет дороже, чем связка из мелкого источника питания типа HiLink и типового реле вроде тех что уже стоят.

За основу наверно можно было бы взять опесорсную прошивку от ts100, как минимум готовые основные фичи.

Прошивок на том же github в принципе хватает. И принципиальной разницы не так уж много - обычный PID регулятор + его "обвес" для управления и отображения.

Когда-то давно, когда станции на c245 были только оригинал, а китайские на t12 только появлялись в виде простейшей станции на 8 сегметниках, я пользовался luckey 702. Большой тяжелой, после кучи доработок, которые все-равно упирались в 900 жала. Только фен меня там и устраивал.

Решил я попробовать Т12 и был в шоке. Прямо новый шаг. Даже контроллера простейшего мне хватилтило. Только вот контроллеров фена не было готовых, станции готовые с Т12 и феном тоже, а хотелось совмещенного. Пришлось делать.

Под паяльник взял готовый покупной контроллер на 8-сегментнике.

Контролер фена собирал на двух stm8s003. Один отвечал за индикацию(такой же 8 сегментник как на паяльнике), второй логикой. Была у меня жменька, использовал что было.

Нагреватель управляется симмистором, вентилятор фена полевиком с шимом, чтобы избежать 220 на нагрветеле при пробитом симмисторе и выклюяенном фене(болезнь luckey 702) реле, которое снимает 220 когда не надо. А главное: 3 ячейки памяти с режимами. Каждый режим-это температура + скорость обдува. Каждый включается своей кнопкой. Управление таким же энкодером как на паяльнике.

При выклбчении фена отключаем нагреватель реле, вентилятор на максимум и ждем 50 градусов.

Сначала пытался реализовать PID, но мк мелким оказался, увидел у других что бывает достаточно простейшей логики "меньше заданной температуры - открываем симмистор, выше - закрываем". Стабильности для фена оказалось достаточно.

Потрачено много времени, повторять не буду, но работает до сих пор.

Добавил готовый step down dc/dc с ограничением тока, индикатор вольт-ампер, упаковал все в atx блока питания корпус, в качестве питания он же, переделанный на 24в. Получился комбайн из пальника-фена и недолабораторника, чего в принципе оказалось достаточно

Да, полноценный PID для фена не обязателен, он вполне и с простым пропорциональным регулятором работает. А вот для паяльника D составляющая нужна, именно она вносит наибольший вклад вначале интенсивного отбора тепла при касании жалом паяльника.

Да понимаю, но я не стал ввзываться в свой контрллер паяльника

О да! Моя история начиналась ещё с советских паялок, потом переход на 900-ю серию был просто революционным прорывом!

Потом так же, Т12 стала новой эрой по сравнению с 900, а потом — с т12 на с245 снова шаг в новую эру.

Жду не дождусь, что ещё нового придумают, и когда мы шагнём в эту новую эпоху :)

P.S.: фен я всё-же предпочитаю в виде отдельного устройства...

По поводу HAL могу сказать, что это нормальная библиотека и пользоваться HAL - это нормально. В 99% случаев совершенно абсолютно нафиг не надо заниматься ерундой и писать на SPL, и уж тем более на ассемблере.

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

Тоже занимался похожим проектом. Даже, вроде, что-то получилось. Но я имел некоторый опыт разборки профессиональных станций от Ersa и Pace, из чего я сделал некоторые выводы (может, кому понадобится):

  1. Они не используют импульсные источники питания. Только трансформаторы. Возможная причина - из-за входного фильтра многих ИИП. Там стоят две ёмкости с фазы и нуля на землю, и, если, вдруг, корпус ИИП нормально не заземлен, то эти ёмкости образуют емкостный делитель напряжения на 2, из-за которого человека постоянно трясёт 110 вольт. Я лично так сжег несколько очень дорогих приборов, воткнув их в домашнюю розетку. Но, наиболее вероятно, причина не только в безопасности и надежности, но и в пункте 2 (ниже). Если кто-то знает еще причины - поправьте.

  2. Они не используют постоянное или импульсное напряжение питания нагревателя. В каких-то документах Ersa видел, что применение не переменного тока для питания керамического нагревателя сокращает срок его службы в несколько раз. Я мерил силовые провода нагревателя этих станций токовым пробником осциллографа - там действительно синус с фазовой регулировкой.

И вопрос к автору: как Вы решили проблему коэффициентов PID-регулятора во время первоначального запуска? Ведь коэффициенты, которые хорошо работают в рабочем режиме, дают огромный выброс температуры при холодном старте, у меня чуть ли не до 500 градусов доходило...

Вообще линейный блок питания на входе был бы к месту. Но масса, размеры и цена...

Применение полноценного синуса для коммутации это, конечно, хорошо. Пока цена не оригинальных жал не оправдывает такой оверхед. Буду смотреть, на Т12 станции за время около 5 лет ни один нагреватель не умер. Несколько жал облезли (в основном та часть, что прилегает к рабочей, со временем тоже стала лудиться), но выйти из строя не вышло ни одно. Надеюсь C245 так же окажутся живучими.

Холодный старт идет в режиме "предпрогрева" с уменьшенным коэффициентом P и отключенными I и D до достижения установленной дельты температур, затем начинает работать полноценный PID. Это позволило уменьшить "выбег" до 10-20 градусов, в зависимости от жала. В планах немного усложнить алгоритм, чтобы он в режиме предпрогрева динамически менял коэффициент P для достижения определенной скорости набора температуры (скажем, 50 ° С/сек), что позволит одинаково эффективно прогревать жала вне зависимости от их теплоемкости и даже типа.

Да, собственно, это я и хотел услышать. Я тоже тогда к этому пришёл (к динамическим коэффициентам). Возможно, мне было немного сложнее, чем Вам, так как я использовал безинерционные нагреватели от Ersa на 150 ватт. В более медленной системе должно быть попроще. Что сказать - успехов Вам с проектом, к сожалению, не могу поставить плюсик, так как наполучал огурцов от местных минусаторов всего за один коммент. Так что моральный плюсик! Если, вдруг, надумаете делать на синусе - могу подсказать, как это реализовать на F103 только лишь на одном прерывании и железках. Я на это тоже около полугода потратил

Я когда делал pid на самодельном фене тоже с этим столкнулся. Но я еще проще поступил. Если разница с уставкой более скольки то там градусов, фен просто жарит на полную, без всякой логики и шим. Если меньше - там уже подхватывает pid, начинается диммирование и выход на уставку. Как то так.

А с нуля выйти на уставку только одним pid у меня тоже не вышло) я очень долго сидел, игрался с коэффициентами, пару раз даже получалось что то подобрать, но все не то.

А сам фен вы готовый брали? Или сами делали? Я видел фен от Ersa - там внутри в роли нагревателя намотана пружина толстым проводом (около 1-1.5 мм диаметром). И питается он большим током и маленьким напряжением. Я очень впечатлился этой идеей, так как этот фен буквально вечный! Я крайне не люблю вообще все, что питается напрямую от 220 вольт - вентиляторы, нагреватели и тому подобное, так как это очень ненадежно. Вентиляторы приходится мотать проводом толщиной с волос, чтобы достичь нужного минимального сопротивления, с паяльными фенами также. В результате, тонкий нихром часто перегорает где-нибудь посередине…

Брал готовый. Он продается как сменная запчасть для какой то китайской станции. Там нагреватель на 220, а вентилятор на 24, если я правильно помню.

И питается он большим током и маленьким напряжением. Я очень впечатлился этой идеей, так как этот фен буквально вечный!

Ага, ага... Паяльник ЭПСИ-65Вт/220В (ака "Момент") не даст соврать...

Для защиты от п.1 нужно заземлять корпус станции.

Спасибо за совет, будем знать! А если серьезно - я за свою практику ни раз встречался с удлинителями без провода заземления внутри (хотя контакты заземления и в вилке, и в розетке есть), с заземлением в ВВ-установках, выполненным длинной спиралью из земляного провода (ну блоки-то из стоек вытаскивать удобнее!), или вообще с заземлением, отпиленным болгаркой на другой стороне шины (на предприятиях, где земля была ещё разведена шиной по всему зданию). То есть, вам никто не может гарантировать наличие реального заземления в здании. Мало того - в России испокон веков нормальное заземление не использовалось вообще нигде. Везде защитное зануление. Каждый раз, когда я прихожу на новое место работы, приходится во дворе закапывать этот треугольник в землю (мой основной профиль - микроизмерения всяких там пикоампер, нановольт и тому подобное). Ибо без настоящего заземления те же 7 или 8 разрядные вольтметры ловят помехи буквально отовсюду. А в нашем случае еще и шарахнуть может… нет, спасибо, я лучше трансформатор поставлю.

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

самому - только через мегаомный резистор )

Нет, много. Статика уйдет, а помехам заземлиться надо меньше.

УЗО тогда не забудьте. Не более 10мА которое.

Узо не сработает, там нет такого тока в принципе.

Будет, если браслет будет без сопротивления а одно из ваших устройств пробьёт на фазу. Заботьтесь о своём здоровье.

Когда последний раз у вас устройство пробивало на фазу? У меня - никогда. Я не могу представить ситуации чтобы в импульсном или трансформаторном бп фаза каким-либо образом могла соединиться с землей или корпусом (кроме случаев когда фазный провод физически повредили и придавили к земляному).

(кроме случаев когда фазный провод физически повредили и придавили к земляному).

Вот этих случаев достаточно одного, чтобы потом не писать на Хабр. А вероятность никогда не равна нулю.

Прислушайтесь, вам совет дельный предложили.

Сколько раз у вас такое было за все время?

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

Вот вам тоже дельный совет: не эксплуатируйте технику, если сетевой провод поврежден. Прислушайтесь к нему.

О, ИБП. Вы у всех своих там Y конденсаторы удалили? А помехоснимающие что соединяют холодную массу с горячей?

Когда последний раз эти конденсаторы у вас пробивало? Эти конденсаторы вообще то потому и такие специальные, Х и Y, потому что производитель гарантирует их 100% исправность.

Меня било током от вполне себе исправных. Там 1/2 потенциала сети. И на рядом стоящую батарею отлично искрило.

Эти конденсаторы вообще то потому и такие специальные, Х и Y, потому что производитель гарантирует их 100% исправность.

Которые работают исключительно только при исправном заземлении на соответствующем ноже вилки питания. Как там у вас с заземлением в местах вашего обитания?

Меня било током от вполне себе исправных. Там 1/2 потенциала сети.

Я прекрасно знаю про это. И именно про это я вам и писал, что этого тока не хватит даже для срабатывания 10 мА УЗО. И это можно охарактеризовать не как "било током", а как легкое пощипывание. Хотя, это от сопротивления конкретного организма зависит. Не суть, вопрос был задан про пробой.

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

Я вам страшную вещь скажу! Они работают даже если заземление не подключено!

Как там у вас с заземлением в местах вашего обитания?

У меня то все ок с заземлением. Но у ТС ведь речь шла о принятии неких мер чтобы не палить детали при пайке если такого заземления нет.

Ладно, я таки хочу завершить спор и корректирую свое утверждение: подключать себя к эквипотенциальной поверхности для защиты деталей при пайке, не обязательно.

Именно про эти конденсаторы, про которые говорит тов. @HardWrMan я и писал выше. Представьте входные провода от розетки внутри ИБП: во многих источниках между фазой и нулем стоят два последовательно соединенных конденсатора, обычно около 0.1 мкФ. Средняя точка между ними заземляется, и, обычно, идёт на корпус источника. А теперь представьте, что по какой-либо причине заземление не было подключено к этой центральной точке… Известно, что конденсатор является реактивным сопротивлением 1/(2*Pi*f*C). Что для 50 Гц и 0.1 мкФ является ~31.8 кОм. То есть, между фазой и нулем стоят два последовательно соединенные «резистора» (образно), которые являются делителем напряжения на 2. То есть, если просто не заземлить эту центральную точку, то на ней автоматически появляются 110 вольт (половина от фазы). Именно в связи с этим явлением вас может трясти от корпуса блока питания.

Не совсем так. Будет "трясти" только в случае если вы одновременно схватитесь за корпус и за заземленный предмет, например, батарею отопления. Если просто схватитесь за корпус, то ничего не почувствуете, ваше тело приобретет потенциал корпуса и начнет "колебаться" с той же самой амплитудой 110 вольт. При пайке чувствительных деталей не так важно приобрести потенциал именно земли, важнее приобрести потенциал, одинаковый с паяльником, деталью, измериловкой и т.д. И особо не имеет значения, какой именно будет этот потенциал.

Достаточно не держаться за схему, производящую измерения. Тогда и мегома хватит. Собственно, во всех браслетах примерно мегом и есть.

Браслеты от статики. Для слива статики мегома хватит. Помехам, наведенным на тело нет.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации