Шум сервопривода во время прошивки программы на Arduino

Я запускаю сервные сервоприводы, используя драйвер A4988 и внешний источник питания. Все работает нормально. Я только что заметил одну проблему, которую не могу объяснить. Как только я загружаю новую версию программы на arduino uno, в то время как внешний источник питания один, серво издает какие-то странные звуки. После завершения загрузки шум исчезает.

Без каких-либо дополнительных подробностей, вы можете объяснить это поведение? Arduino устанавливает некоторые контакты на ВЫСОКИЙ уровень во время мигания?

Спасибо!

, 👍2


1 ответ


2

Это будет зависеть от того, какой Arduino и какой загрузчик он работает. Обычно MCU имеют свои контакты в режиме ввода, когда они сбрасываются. Иногда загрузчик оставляет некоторые контакты, настроенные для определенного режима некоторыми запусками скетча. Например, Леонардо, кажется, оставляет pin 13 установленным в режим вывода.

Вы обычно хотите, чтобы устройства, подключенные к вашему Arduino, имели стабильные сигналы, когда Arduino MCU находится в сбросе или в загрузчике, поэтому имеет смысл вытащить сигнальные контакты, которые позже будут выведены из скетча Arduino, на известные уровни. Так что, возможно, подтягивание вашего драйвера сервопривода к неактивному (ВЫСОКОМУ) сигналу уместно.

Глядя на A4988, он имеет EN (enable) pin, который кажется активным низким. Таким образом, установка резистора высокого(ish) значения, скажем, 5k или 10k, на нем на VDD/HIGH (to inactive), вероятно, является тем, что нужно сделать. Когда Arduino не приводит линию включения в свое низкое (активное) состояние, то есть когда она находится в загрузчике или удерживается в сбросе, A4988 должен прекратить свою активность.

,

Можете ли вы объяснить, что вы имеете в виду, говоря "Переводя сервосигнал на землю" ?, @mAI

В первый раз я подумал о типичном сервомоторе для хобби. Я изменил там формулировку, чтобы она была правильной (я думаю) для драйвера A4988. Основная идея та же, когда микроконтроллер не сильно влияет на сигнал (на самом деле любой сигнал, в данном случае сигнал включения драйвера), резистор может использоваться для слабого воздействия на вывод до уровня по умолчанию., @timemage