Какой контроллер двигателя подойдет для этого BLDC?

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

Это небольшой 2-осевой робот, который требует точного управления положением, но я также хочу иметь управление скоростью, если это возможно (а не просто ввод шага и направления). Максимальная скорость двигателя, вероятно, меньше 100 об/мин. Двигатель без датчика, и я нашел несколько контроллеров без датчика, подобных этому , но они не включают управление положением. Энкодер на этом двигателе в любом случае SPI, поэтому я сомневаюсь, что найду такой контроллер.

Уже будет другой процессор (на основе RPi) с работающим основным приложением, но он не способен удовлетворить требования высокой скорости этого управления двигателем в реальном времени, поэтому необходим еще один внешний контроллер. Я подумал, что контроллер мотора, подобный приведенному выше, с небольшим MCU для замыкания контура положения может работать, но тогда почему бы просто MCU не делать все это (помимо необходимости разработки дополнительной прошивки). Я смотрел на PIC18F2431 , который включает в себя модуль обратной связи двигателя.

В этом случае, вероятно, я бы использовал UART или SPI для отправки профилей движения и получения обратной связи о положении и состоянии в / из MCU.

Любые другие варианты или факторы, которые я должен учитывать?

Ответы (1)

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

PIC18F2431 должен выполнять эту работу, так как он имеет выходы PWM, подходящие для управления 3-фазным двигателем BLDC (через 3-фазный мост на полевых транзисторах). Кодировщик считывается через SPI. Вам не понадобится модуль управления движением, потому что кодировщик уже предоставляет необходимую информацию. Прошивка будет аналогична бесщеточному контроллеру карданного подвеса с добавлением контроля угловой скорости.

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

Спасибо @Bruce, хорошее замечание по низкоскоростной обратной ЭДС. Таким образом, энкодер будет использоваться для положения и коммутации? Могу ли я предположить, что положение будет как-то физически привязано к обмоткам? В даташите заметил, что энкодер можно обнулить. Меня просто беспокоит произвольное положение энкодера относительно обмоток.
Будем надеяться, что датчик уже запрограммирован на правильное нулевое положение. В противном случае вам может потребоваться откалибровать его перед первым использованием.
Брюс, у вас есть какие-нибудь мысли о том, как будет выполняться эта калибровка? Будет ли это похоже на регулировку нулевой точки для достижения максимального крутящего момента?
Подайте ток через 2 фазы, чтобы установить определенный угол, или поверните двигатель и сравните пересечение нуля обратной ЭДС со значениями датчика .
Отлично, спасибо. Первый метод сейчас кажется очевидным, надо было подумать об этом.