Серия «Регулятор со стабилизацией оборотов»

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

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


Ток на высоких оборотах (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

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

https://github.com/speedcontrols/ac_sc_grinder


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

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

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


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


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

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

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

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


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


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

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

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

Иногда возникает необходимость порулить с микроконтроллера чем-то на 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
Отличная работа, все прочитано!