Непрерывный сервопривод неправильно устанавливает скорость
У меня есть два непрерывных сервопривода, подключенных к моему Uno, и я запускаю на нем этот код:
leftServo.write(91);
rightServo.write(102);
delay(3000);
leftServo.write(112);
rightServo.write(81);
delay(3000);
leftServo.write(91);
rightServo.write(102);
delay(3000);
int i;
while(1) {
i++;
}
Когда я запускаю код, колеса останавливаются на три секунды (91 и 102 являются нулевыми значениями для этих сервоприводов), затем они вращаются в течение трех секунд, затем останавливается левый сервопривод, а правый замедляется только примерно на полпути. , он не останавливается, хотя используется тот же самый номер, что и раньше.
Я не могу понять, почему это так?
@Owen, 👍1
Обсуждение1 ответ
▲ 2
Проблема была устранена путем добавления задержки в 100 мс между сервоприводами. Могут работать и меньшие значения, но я еще не пробовал
,
@Owen
Смотрите также:
- Сервопривод не перестанет вращаться
- Непрерывное управление скоростью сервопривода с помощью контроллера Arduino Uno и сервощита
- Вопрос про Continuous Rotation Servo и Arduino
- Сервопривод непрерывного вращения не меняет направления
- Серводвигатель HSR-1425R не работает непрерывно
- Серводвигатель с линейным изменением занимает больше времени, чем рассчитано
- Для сервопривода с непрерывным вращением требуется другой код
- Как использовать SPI на Arduino?
Мой первый совет — поместить эту функцию (без части «пока (1)») в конец setup() и посмотреть, что произойдет., @ForgeMonkey
Тот же эффект к сожалению, @Owen
Вы поменяли местами двигатели, чтобы проверить, что это не оборудование? Если это то же самое, попробуйте поменять местами последние команды левого/правого сервопривода., @ForgeMonkey
Я добавил задержку в 100 мс между записями сервопривода, и это, кажется, помогло, хотя нулевая точка для правого сервопривода, похоже, теперь сместилась, 106 медленно движется против часовой стрелки, а 107 медленно движется по часовой стрелке., @Owen
Я склоняюсь к выводу, что проблема в аппаратном обеспечении, вероятно, какой-то шум влияет на сервопривод. Двигатели работают от другого питания, чем Uno? Вы убедились, что основания связаны вместе? Вы пробовали развязывающие колпачки на блоке питания сервопривода? Если у вас есть доступ к одному из них, возьмите осциллограф на схему и проверьте наличие нежелательных шумов., @ForgeMonkey
Это для задания, нам дают готовый щит, который нам не разрешено модифицировать. Я использую сетевой адаптер на 3А для питания платы. Основания привязаны., @Owen
Есть ли шанс получить прицел на плате, чтобы проверить теорию шума? Если подтвердится, что это определенно не связано с шумом, у меня заканчиваются идеи. Я должен быть в состоянии провести еще немного времени этим вечером, если я найду что-нибудь подходящее, я вернусь к вам., @ForgeMonkey
Возможно, ваши нулевые значения неверны, но при некоторых обстоятельствах вам все же удается остановить двигатели, если они исходят из предыдущего значения, которое заставляет сервоусилитель решить, что он находится в «мертвой зоне» для предотвращения охоты. Другой возможностью может быть нагрев от работы двигателя, перемещающего нейтральную точку, хотя это кажется менее вероятным. По сути, эти непрерывные модификации могут быть темпераментными, поскольку они берут то, что должно быть замкнутым циклом, и размыкают его., @Chris Stratton