pvit

На Пикабу
259 рейтинг 10 подписчиков 0 подписок 6 постов 4 в горячем
32

Хоббийная reflow-паялка, нужна помощь зала

Я уже писал что делаю reflow-паялку для хоббистов, и наконец-то дошли руки напечатать корпус. Но внешний вид не радует. Как-то оно похоже на поделку кочегара, который собрался греть плату углями (особенно в закрытом состоянии):

Хоббийная reflow-паялка, нужна помощь зала Электроника, Нужен совет, Самоделки, Микроконтроллеры, Stm32, Длиннопост
Хоббийная reflow-паялка, нужна помощь зала Электроника, Нужен совет, Самоделки, Микроконтроллеры, Stm32, Длиннопост

Знаете, я всегда утверждал, что хоббийный проект - это не повод халявить и делать тяп-ляп. А байки что "слабый процессор не тянет нормальный интерфейс и шрифты" - удел пионеров и дилетантов. Поэтому ввалить кучу усилий в разработку, и на выходе запороть внешний вид - это несусветная дурость. В общем, нужна помощь.


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


В идеале - если чертеж будет сделан в чем-то опенсорсном (OpenSCAD, FreeCAD и т.п.). Но я готов подстроиться под любые варианты. Главное чтобы человек умел увязывать полет фантазии с реальной жизнью. Грубо говоря, коробка должна раскрываться так, чтобы вентилятор обдувал нагревалку. Ну и нагревалка с дисплеем должны быть на одной поверхности (печатной плате). Как это впишут в конечный результат - мне не принципиально.


Буду очень признателен за советы или непосредственную помощь. Ну и конечно готов поделиться славой, упомянуть и т.п. Девайс опенсорсный, и я действительно хочу чтобы получилось как лучше для всех.


Предполагается, что корпус будет заказываться вместе с платой, на https://jlcpcb.com/3d-printing. Из  LEDO 6060. То есть, девайс, реально "народный", и не потребует доступа к станочному парку и даже 3D-принтеру.

Показать полностью 2
19

Измерение оборотов коллекторного мотора по пульсациям тока

Иногда нужно померить обороты коллекторного мотора, но нет возможности установить датчик оборотом. Я уже писал про регулятор, который определяет обороты через через противоЭДС. Там есть свои тонкости, поэтому сейчас прорабатываем другой способ - по пульсациям тока, которые вызывает переключение обмоток. Отложим технические нюансы, и посмотрим красивые картинки с котиками :)


Ток на высоких оборотах (16 килогерц, 512 отсчетов):

Измерение оборотов коллекторного мотора по пульсациям тока Микроконтроллеры, Электроника, Stm32, Длиннопост

Ток на низких оборотах:

Измерение оборотов коллекторного мотора по пульсациям тока Микроконтроллеры, Электроника, Stm32, Длиннопост

Просто запитали мотор через ЛАТР с диодным мостом, и записали дампы электронным осциллографом. Как видно, пульсации тока есть, и они похоже на то что нужно. Но конечно всё криво-косо и забито помехами. Поэтому не будем ломать глаза, а просто применим преобразование фурье, чтобы посмотреть спектр.


Спектр на высоких оборотах:

Измерение оборотов коллекторного мотора по пульсациям тока Микроконтроллеры, Электроника, Stm32, Длиннопост

Спектр на низких оборотах:

Измерение оборотов коллекторного мотора по пульсациям тока Микроконтроллеры, Электроника, Stm32, Длиннопост

Нулевой отсчет забили тапком, чтобы не портил масштаб. Первый пик вызван сетевыми гармониками (100/120 герц, *2, *3, *4). А вот второй максимум - именно то что нам надо, и виден довольно хорошо.


Как оно на практике? Да фик знает, железки еще нет :). Но мы снимали 10-секундные дампы для разных режимов, а потом прогоняли через скрипты, которые вычисляли скорость. Результаты не прыгают, показывают именно то что нужно.


Все выложено в репозитории на гитхабе https://github.com/speedcontrols/dc_sc_grinder (смотрите содержимое веток).


В чем недостатки метода


1. Чуть другая схема (ШИМ вместо регулировки фазы). Вместо дешевого симистора - MOSFET с обвязкой. Это немного дороже, но не критично (пол доллара).


2. Мотор питается выпрямленным напряжением. Теоретически, может понадобится коррекция обмотки подмагничивания. Но в реальной жизни все и так работает (проверено на бормашинках).


3. При питании от переменного напряжения нельзя мерить частоты ниже 500 герц. Для 8-полюсного мотора это 4000 RPM. Ну бормашинки ниже 5000 RPM не крутят, так что все хорошо.


Достоинства


1. Надежное определение оборотов во всех режимах.


2. Не нужно мерить напряжение (меньше деталей), а при измерении тока не важны смещения и шумы. То есть, можно не заморачиваться с калибровкой АЦП, и применять компоненты попроще.


3. Можно легко переделать схему на низковольтную, заменив силовую часть (и тогда уйдет ограничение по минимальным оборотам).


Железо


- https://oshwlab.com/speed/dc-speed-control


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


Честно предупреждаю, что железо и прошивка еще не отлаживались. Но так как многое основано на предыдущем проекте, есть повод для оптимизма. Когда закончим - напишу ещё.

Показать полностью 4
13

Регулятор со стабилизацией оборотов для бормашинок

https://github.com/speedcontrols/ac_sc_grinder


Те кто пользуются бормашинками, знают что на низких оборотах они совсем "не тянут". Но это решаемо. Меняем встроенный регулятор на "валшЭбный", и все чудесным образом чинится.

Регулятор со стабилизацией оборотов для бормашинок Микроконтроллеры, Электроника, Stm32, Длиннопост
Регулятор со стабилизацией оборотов для бормашинок Микроконтроллеры, Электроника, Stm32, Длиннопост

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


Это не первая версия регулятора, но в новой есть немало значимых изменений:


- Платы переделаны под новые модели популярных бормашинок (старые хильды уже не купить).

- SMD монтаж с одной стороны платы. Проще собирать и меньше трафарет для пасты.

- ADRC регулятор вместо PID. Это сложная магия, которая работает намного лучше.

- Прошивка по USB. Отдельный программатор покупать не надо.


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


Всем добра и бормашинок!

Показать полностью 2
6

Конвертор шрифтов для embedded

https://github.com/lvgl/lv_font_conv


Если кто застал, на первых пиратских CD с играми писали “озвучено профессиональными программистами”. Выглядело совершенно психоделично. Потом правда поменяли на “озвучено профессиональными актерами”. Но мне почему-то кажется, что программисты, которых заменили актерами, с тех пор переключились на дизайн в embedded и занимаются этим до сих пор. Иначе трудно объяснить, почему когда смотришь на многие “железки”, глаза готовы лопнуть от напряжения.


Про дизайн можно говорить долго, но остановимся на самом очевидном - шрифтах. Ну допустим, рендеринг TTF-шрифтов на лету действительно тяжеловат для чахлого микроконтроллера. И ограничения по памяти довольно серьезные. Но это же не повод забивать болт на кернинг, антиалиасинг, субпиксельное сглаживание, и втыкать везде “шрифт которые принес кореш на флешке” с непонятной лицензией. Так что пришлось мне в рамках программы по улучшения мира заняться еще и шрифтами для эмбедов.


Общий принцип понятен:


- нужны битмапные шрифты

- с поддержкой grayscale (на канал прозрачности, для антиалиасинга)

- c легковесной компрессией (актуально для больших букв)

- с опциональным 3х разрешением по горизонтали (для субпиксельного сглаживания)


Как выяснилось, стандарты битмапных шрифтов тормознулись на BDF. Пришлось слегка поизобретать лисапед. Поскольку в свое время делал fontello, то шрифтовые потроха представляю неплохо. В принципе, TTF умеет хранить внутри битмапы, но там довольно много legacy шлака, и компрессия либо убогая, либо слишком сложная. Поэтому утянул из TTF сколько сумел, дополнив недостающим по минимуму. Вышло IMO неплохо:

Конвертор шрифтов для embedded Микроконтроллеры, Электроника, Программирование, Длиннопост

На дисплее шрифт Roboto, размер 12px и 14px.


Естественно, поддерживаются далеко не все фичи, которые навертели в OpenType. Тот же кернинг - на уровне таблицы “kern”, без мозголомных вариантов “GPOS”. Но думаю что под незамысловатые потребности эмбедов лет на десять хватит. Ну а потом… может все микроконтроллеры уже пойдут с гигабайтом памяти на борту, и все эти ухищрения станут не актуальны.


Почему это здорово


- Ну во-первых, это красиво :)

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

- Можно объединять разные шрифты (например, добавляя к буквам иконки)

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


Для OLED можно найти pixel-perfect TTF шрифты под разные зазмеры. Ну а если экран цветной - за счет субпиксельного сглаживания можно использовать вообще все что угодно, с прекрасным результатом.


Конкретно сейчас, разработанная спецификация и конвертор используется в GUI LittlevGL. Но формат шрифтов универсальный, и не привязан к какой-либо библиотеке или языку. Сам конвертор тоже универсальный, написан на node.js.


Всем добра!

Показать полностью 1
73

Делаю мини reflow-паялку для хоббистов

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


И хотя паяльником и феном пользоваться не особо трудно, хочется упростить процесс, используя пайку по термопрофилю (Reflow). Но я паяю относительно редко, и держать дома большую ИК-станцию или переделанную микроволновку не хочется. Нужно что-то совсем карманное, вроде паяльника TS80P. Так возникла идея сделать миниатюрный паяльный столик. Порыскав по интернетам, я обнаружил что люди уже навострились использовать миниатюрные керамические нагреватели. Но хотелось чего-то более "юзабельного". В общем, получилось так:

Делаю мини reflow-паялку для хоббистов Электроника, Микроконтроллеры, Stm32, Длиннопост
Делаю мини reflow-паялку для хоббистов Электроника, Микроконтроллеры, Stm32, Длиннопост

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


Сразу предупреждаю, что готово пока только железо.


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


Размер самого столика 60*70мм. Неравномерность - всего 5 градусов. Т.к. на 300 градусах эта штука жрет около 45-50 ватт, то получилось вписаться в параметры USB-PD зарядок.


Температура контролируется через ТКС вольфрама в керамическом нагревателе. Отсутствие внешнего датчика сильно упрощает конструктив.


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


На thingiverse можно посмотреть рендеры корпуса. Поддон, рамка дисплея и верхняя складная крышка с вентилятором (для охлаждения с нужной скоростью) - это все печатается.


Теперь дело за софтом. С интерфейсом все относительно предсказуемо. С USB-PD стеком пока не до конца понятно. Если вдруг кто захочет присоединиться - пишите.

Показать полностью 2
40

Прямое управление симистором с микроконтроллера

Иногда возникает необходимость порулить с микроконтроллера чем-то на 220 вольт, задумчиво покручивая фазу. Стандартный способ - сделать это через симистор с оптроном. Если управляете лампочкой - вам повезло. Если чем-то вроде коллекторного мотора от стиралки (индуктивной нагрузкой) - вперед, навстречу приключениям.

Прямое управление симистором с микроконтроллера Микроконтроллеры, Электроника, Длиннопост

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


Что же не так с оптроном?


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


- Снаббер непосредственно на сам мотор - довольно тоскливый вариант. И по размерам и по расчетам. Допустим, мы хитровывернутые, и знаем про Subberless Triac (c dV/dt 200-1000). Берем, ставим. Победа? А вот хрен! Внезапно обнаруживается, что силовой триак работает, но оптический продолжает дурить по тем же самым причинам. И если бесснабберные силовые симисторы валяются занедорого на каждом углу, то оптроны - нет.


- Ну ок, делаем snubber network непосредственно на оптрон. Подробности в Panasonic Application Note 030, Driving Triacs with Phototriacs. Все понятно, номиналы не очень большие, можно развести SMD на плате. Но все равно, SMD-резисторов понадобится несколько последовательно, и совсем компактно развести не получится.

Прямое управление симистором с микроконтроллера Микроконтроллеры, Электроника, Длиннопост

Альтернативы


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


- Делать питание микроконтроллера с "общим плюсом", огребая альтернативные приключения с негативными LDO и заведением сигналов на АЦП.

- Управлять триаком импульсами через конденсатор.


Последний подход почему-то не очень распространен, но весьма интересен. Для подробностей рекомендую почитать ST AN440. Triac control with a microcontroller powered from a positive supply. Нам нужен самый простой вариант:

Прямое управление симистором с микроконтроллера Микроконтроллеры, Электроника, Длиннопост

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


Но и у этой схемы есть ограничения - ток микроконтроллера не резиновый, да и блока питания тоже. Поэтому нам подойдут только те бесснабберные триаки, которым для управления хватает 10ма (это на ток нагрузки ~ 4А). Если вам такого достаточно - ну и отлично. Лично мне хватило. Но что делать если нужны более толстые триаки, с током управления 35-60ма? Честно скажу, сам не пробовал, но придумал вот такой вариант:

Прямое управление симистором с микроконтроллера Микроконтроллеры, Электроника, Длиннопост

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


Тут правда тоже есть ограничение - с ростом тока надо увеличивать емкость конденсатора. Но до 60ма значения будут вменяемые, а больше вам вряд ли когда понадобится.


Что еще нужно знать


- Чтобы триак оставался включенным после управляющего импульса, это надо делать не при нулевом напряжении, а немного позже

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


Можно конечно начать контролировать фазу тока, но по личному опыту - просто сделайте задержку на 10% от zero cross и не заморачивайтесь. Мотор вносит задержку процентов пять, ну может семь для экзотических случаев. А если посчитать не использованную энергию - там будут единицы процентов. Так что тут оптимизировать нет смысла.


Надеюсь, это кому-нибудь пригодится или будет хотя бы интересным :).

Показать полностью 4
Отличная работа, все прочитано!