Управление скоростью 7 двигателей постоянного тока от Arduino 101 с использованием ШИМ за пределами слышимого диапазона

Я изучаю способ генерации ШИМ для 7 независимых драйверов двигателей постоянного тока, каждый из которых подключен к двигателю постоянного тока на 12 В. Драйверы принимают сигнал ШИМ, сигнал направления и питание 12 В постоянного тока и используют его для управления скоростью двигателей.

В настоящее время в конструкции используется 16-канальная 12-разрядная плата драйвера ШИМ/сервопривода Adafruit, основанная на микросхеме PCA9685, для генерации нескольких сигналов ШИМ только от одного Arduino 101 (через шину I2C). Проблема с этой микросхемой и платами на ее основе заключается в том, что максимально возможная частота ШИМ, которую она может генерировать (1600 Гц), при работе создает слышимый гул двигателей.

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

Существуют ли какие-либо готовые печатные платы или интегральные схемы, обеспечивающие эту функциональность?

Семь двигателей следует контролировать с осторожностью — ваш Arduino Vss будет привязан к заземлению драйвера двигателя (что часто встречается с заземлением питания двигателя 12 В). Переходные процессы и большие токи заземления могут вызвать проблемы. Вы можете избежать этих проблем, подключив Arduino к драйверу (драйверам) через оптопары.

Ответы (1)

Причина довольно низкой частоты PCA9685 заключается в том, что он в основном используется для драйвера светодиодов. Я рекомендую вам выбрать микросхему контроллера двигателя, которая предназначена для выполнения этой работы. Также мне интересно, как вы говорите о питании 12 В, потому что я проверил таблицу данных и указал абсолютный максимальный вход 6 В (см. Прилагаемое изображение).

Интерфейс I2C, основанный на быстрой проверке, довольно редко встречается в контроллерах двигателей, по крайней мере, в многовыходных. Кажется, проще найти драйвера с интерфейсом SPI.

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

Как насчет реализации чего-то вроде этого: http://www.ti.com/lit/ds/symlink/tpic2050.pdf

введите описание изображения здесь

Есть ли у вас опыт изготовления печатных плат. Если нет, то это отличный опыт, чтобы создать его самостоятельно! :)
Большое спасибо за ответ и ссылку на эту микросхему, я попытаюсь разработать свою собственную схему. Я упомянул вход 12 В, потому что это то, что получают драйверы Н-моста двигателя, а не схемы генератора ШИМ.