Raspberry Pi: управление сервоприводом с ШИМ

Я экспериментирую с небольшим серводвигателем с Raspberry Pi, используя ШИМ (широтно-импульсная модуляция). Насколько я понимаю, сервопривод должен реагировать на разную длину импульса. Я должен увидеть какое-то движение, если выведу постоянную прямоугольную волну, верно?

И если я вывожу постоянный ВЫСОКИЙ сигнал, сервопривод ничего не должен делать.

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

Я просто экспериментировал с сервоприводом несколько часов назад, и этот конкретный сервопривод будет дергаться, если он будет постоянно высоким. Также не ожидайте увидеть мигающий светодиод, если вы подключите его к линии управления, потому что частота ШИМ будет слишком высокой. Период обычно должен составлять 20 мс, а время максимума должно быть между 1 мс и 2 мс. Вы можете искать различия в уровнях интенсивности света на светодиодах. В зависимости от качества вашего зрения вы могли бы увидеть некоторые различия.
Вы не увидите мигающий светодиод, но вы заметите, что светодиод тускнеет при меньшей длительности импульса и становится ярче при большей длительности импульса. Поскольку разница между минимальной и максимальной шириной импульса мала по сравнению с общим периодом сервопривода, разницу в яркости может быть трудно заметить, но она будет.

Ответы (1)

Посмотрите характеристики вашего сервопривода. Он ожидает увидеть импульс каждые 20 мс или около того. Длительность импульса будет определять угол. NB Это время 20 мс может варьироваться в зависимости от типа используемого сервопривода . Длина импульса в течение этого времени будет определять положение (минимум около 1 мс, максимум около 2 мс).введите описание изображения здесь

Три соединительных провода: питание (+5 В), управляющий сигнал и заземление. Уточните у производителя конкретный цветовой код. Проверьте работу сервопривода, установив импульс 1,25 мс (0–5–0) каждые 20 мс. Рука должна повернуться в положение 0 градусов. Затем измените длину импульса на 1,75 мс, и рука должна повернуться на 180 градусов. Ставить на вход постоянный высокий сигнал не рекомендуется.

Что касается тестирования выхода, вы можете попробовать громкоговоритель с высоким импедансом (> 64 Ом), подключенный последовательно с небольшим конденсатором (скажем, 0,1 мкФ). подключите одну сторону к земле, а другую к зонду (кусок провода). Вы должны услышать низкочастотный гул, если выходная линия включается и выключается.

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

Я не согласен с шириной импульса сервопривода на вашем изображении - от 1 мс до 2 мс является стандартным, а от 0,5 до 2,5 - это абсолютный минимум / максимум (но это может варьироваться в зависимости от разных сервоприводов)... en.wikipedia.org/ wiki/File:Sinais_controle_servomotor.JPG Но другой совет хорош.
Я взял эти тайминги для сервопривода futuba (довольно стандартное устройство). Тайминги будут отличаться для разных устройств, и именно поэтому я утверждаю в самом первом предложении — посмотрите характеристики вашего сервопривода.