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

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


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


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