Серво джиттер с Arduino
Мы совершенно новички в Arduino и работаем над проектом, который перемещает указатель на основе показаний цветового датчика.
Мы использовали по два серводвигателя: один выполняет определенную задачу, а маленький сервомотор работает довольно хорошо. Проблема в том, что он побольше.
Мы использовали эту модель серводвигателя: (towardpro MG996R), Arduino Uno и цветной датчик. Поскольку двигатель большой, мы подключаем его к источнику питания 9 В.
Но когда мы запускаем код, он просто вибрирует на месте, и рука не двигается:
Есть ли что-нибудь еще, что нам нужно добавить в схему, например резистор или что-то еще?
#include <Servo.h>
Servo largeServo;
void setup() {
largeServo.attach(6);
largeServo.write(0);
}
void loop() {
largeServo.write(0);
delay (2000);
largeServo.write(30);
delay (2000);
largeServo.write(60);
delay (2000);
largeServo.write(90);
delay (2000);
}
@user33243, 👍3
Обсуждение3 ответа
Как уже предлагалось в комментариях, вам нужен более мощный источник тока, чем ваша батарея.
Ни одно устройство не работает исключительно по напряжению, все они работают от мощности (Вт) или, если вы предпочитаете, от комбинации напряжения и тока (ампер).
Вы подаете 9 В в свой мощный двигатель, но количество тока, которое может обеспечить ваша батарея, довольно ограничено из-за внутреннего сопротивления батареи и ограниченной емкости.
Замените батарею надлежащим источником питания мощностью 10 Вт или более (1+ ампер при 9 вольтах равен 9+ ваттам), и ваш двигатель начнет работать, а также будет нагреваться во время работы.
Пожалуйста, имейте в виду, что теоретически более высокое напряжение даст больше энергии. Но этот компонент soms не может противостоять более высоким напряжениям. Лучший способ-использовать источник питания с напряжением в диапазоне напряжений устройства. И убедиться, что он может подавать больше тока по мере необходимости. (А не наоборот), @Paul
При применении к двигателям напряжение влияет на скорость и ток на крутящий момент, но если двигатель дрожит, это потому, что он не получает достаточного тока для преодоления индуктивности обмоток. Таким образом, хотя и верно, что более высокое напряжение означает больше энергии, в данном случае это не решит проблему., @Roberto Lo Giacco
Хм, интересно, 10 В 1а или 20 В 0,5 а-это та же "мощность". Но в первом примере больше крутящего момента, а во втором больше скорости? Мой вывод по-прежнему верен: не перенапрягайтесь и не подавайте достаточно тока., @Paul
Это правильно, Пол: более высокое напряжение означает, что вы можете быстрее изменять магнитное поле в катушках, в то время как более высокая сила тока означает, что вы можете создавать более сильные магнитные поля. Вам не нужно превышать напряжение, потому что внутренние обмотки имеют сопротивление: подайте слишком большое напряжение, и вы сожжете обмотки., @Roberto Lo Giacco
В соответствии со спецификацией (MG996R) Вы должны подключить источник питания 6 вольт - 2,5 ампера для его наилучшей производительности (макс. Крутящий момент) Максимальное напряжение этого серводвигателя составляет 6 вольт И будьте осторожны, превышение этого напряжения может привести к некоторому повреждению его платы управления Попробуйте использовать источник питания 6 вольт 2,5 ампера, и если он не работает, то, возможно, плата управления вашего серводвигателя повреждена перенапряжением.
В дополнение к другим ответам, также убедитесь, что сам Arduino работает должным образом!
Я подключал Arduino Uno к почти разряженному ноутбуку с помощью USB-кабеля, что приводило к дрожанию сервопривода. Как только я включил ноутбук на зарядку, серво начало работать плавно!
- Как заставить сервопривод вращаться на угол больше 180°
- Подключение Arduino к сервоприводу с внешним источником питания
- Мой сервопривод не работает плавно
- Бесполезная проводка коробки и код
- Почему сервопривод не перемещается по углам должным образом
- Микро сервопривод не работает с Arduino UNO
- поворот позиционного серводвигателя более чем на 180 градусов
- Почему loop() останавливается?
Хорошо ли работает маленький сервопривод с одним и тем же кодом на одном и том же выводе? Если это так, то, скорее всего, что-то не так с большим сервоприводом или с его блоком питания., @Edgar Bonet
да, код отлично подходит для меньшего ,, @user33243
но если проблема с батареей, как я узнаю ?, @user33243
"Источник питания 9 В" , как в батарее 9 В PP3...?, @Majenko
ДА! точно , непосредственно подключенный к сервоприводу и Arduino GND, @user33243
Ну что ж, тогда поехали. Используйте источник, который может доставить достаточно тока, и вы можете обнаружить, что он волшебным образом начинает работать..., @Majenko
вы имеете в виду , что мы должны увеличить напряжение, потому что лист двигателя указывает 4,4-6 В ?, @user33243
Добро пожаловать в Arduino SE. Обязательно сходите на экскурсию, чтобы посмотреть, как это работает и заработать значок: https://arduino.stackexchange.com/Tour, @SDsolar
Нет, не больше напряжения. Вам нужно что-то, способное доставить больше тока. Батарея 9 В не подходит для приводных двигателей. Они должны быть в детекторах дыма и, возможно, транзисторном радиоприемнике. Получите 3 или 4 батареи AA или AAA, и все пойдет гораздо лучше., @Delta_G
Какой ток нужен сервоприводу? Оставайтесь в пределах напряжения данных и убедитесь, что ваш источник питания может обеспечить необходимый ток!, @Paul