Управление сервоприводом без библиотеки сервоприводов

Я пытаюсь управлять сервоприводом без файла "Servo.h" библиотека. Я отправляю с помощью analogWrite() некоторые значения сервоприводу. Я знаю, что сервопривод принимает на вход непрерывный временной сигнал, однако я не знаю необходимую частоту этого сигнала, поэтому я не произвожу никакого заметного движения. .Что еще следует учитывать при попытке управлять сервоприводом с помощью analogWrite()?

, 👍-1

Обсуждение

analogWrite() не подходит для управления сервоприводами. Какая у вас проблема с библиотекой Servo?, @Edgar Bonet

«Я не знаю необходимую частоту этого сигнала» ... критична не частота ... критична ширина импульса, @jsotola


1 ответ


Лучший ответ:

0

Это можно сделать с помощью digitalWrite() и delayMicroseconds().

Сервопривод управляется импульсом. Импульс составляет от 1 мс (0°) в течение 1,5 мс (90°) до 2 мс (180°), после чего следует пауза, которая делает общую продолжительность цикла 20 мс.

20 мс соответствуют сигналу частотой 50 Гц. analogWrite() использует частоты от 490 до 1000 Гц (в зависимости от вашего оборудования), поэтому это не сработает, если вы не поймете, как изменить частоту.

,