Новый проект регулятора, для моторов постоянного тока

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

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

  • При питании постоянным напряжением, частота пульсаций тока равна оборотам, помноженным на количество полюсов. Амплитуда пульсаций довольно велика, 25% от общего сигнала.
  • Моторы бормашинок “универсальные”, их вполне можно питать выпрямленным напряжением.
  • Если не ставить сглаживающий конденсатор после выпрямителя - полезный сигнал тоже хорошо прослеживается. А конденсатор ставить не хочется, потому что он очень габаритный.
  • В некоторых бормашинках сигнал может быть сильно загажен непонятными “прострелами”, но их частота вроде бы выше той что нас интересует (и потому должна легко фильтроваться)

Кому интересно, в новом репозитории, если покопаться по веткам, можно найти осциллограммы тока, снятые для разных скоростей и разных моторов github.com/speedcontrols/dc_sc_grinder.

Схема регулятора похожа на симисторный, только вместо симистора - выпрямитель и mosfet oshwlab.com/speed/dc-speed-control. Чтобы вместо фазового управления был ШИМ. Почему не стали использовать старую схему? От фазового управления многовато искажений в спектре, муторнее фильтровать. А цена деталей примерно та же.

Получается примерно такой алгоритм:

  • Режем все что ниже 200 герц.
  • Половинным делением подбираем примерную частоту ФВЧ, при которой на выходе появляется сигнал.
  • Строим полосовой фильтр, чтобы отбросить лишнее и получить почти синусоиду искомой частоты.
  • Точно вычисляем окончательную частоту по периоду синусоиды.

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

Имея осциллограммы, теперь не нужно ковыряться с железом. Можно спокойно погонять все в матлабе, или написать простеньких скриптов,

  • 915
Comments
Genesis5j

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

Vitaly

Не проще. Смысл в том, чтобы не трогать конструктив. Лучше все-таки посмотреть предыдущие записи.

Genesis5j

Тогда ладно, просто я на свой бормашине поставил контроллер на Arduino по видео с канала Alex Gyver, немного пришлось доработать бормашину напильником, но этого того стоило. Удачи в постройке.))