Не могу двигать сервопривод с моим Nano

Я новичок в таких вещах. Мой код без проблем работает на моем Uno с двумя отдельными сервоприводами. Я убедился, что это не неисправные выводы, попробовав также несколько других схем со светодиодами, кнопками и потенциометрами, просто переключаясь между моим Uno (который работает нормально) и Nano.

Я каждый раз выбираю правильный порт, набор микросхем и плату, и код загружается в Nano нормально. Nano просто отказывается выполнять все, что я ему говорю.

  • Цифровой вывод сервопривода подключается к назначенному контакту D5.

  • Земля подключается к GND рядом с аналоговыми контактами (не имеет значения, как я себе представляю).

  • Питание составляет 5 В.

Приведенный выше код просто говорит сервоприводу двигаться до определенного уровня при загрузке. Может ли кто-нибудь сказать мне, почему сервопривод вообще не будет двигаться с Nano? Я только что купил его и не подключал к нему никакого питания, кроме USB, конечно, он не сгорел. Он также загорается и мигает.

#include <Servo.h>              
Servo my_servo;               

void setup() {
  my_servo.attach(5);
  // Определение вывода
}

void loop() {
  my_servo.write(60);
  // Количество степеней
}

, 👍0

Обсуждение

сервоприводу хватает мощности?, @ratchet freak

Я знаю, что сервопривод отлично работает только через USB, используя ту же схему, что и Uno. Как вы думаете, может быть, Nano может подавать меньше энергии через USB на контакт 5V?, @ardoknow

@ratchetfreak Я проверил напряжение (с помощью мультиметра), идущее от GND и 5 В к сервоприводу, и я получил 4,58 В для Nano и 5,06 В для Uno. Может ли это иметь такое значение? Сервоприводы, которые я использую, рассчитаны на 4,8 В +, @ardoknow

Если вы недополучаете сервопривод, то внутренний контроллер может не работать., @Majenko

@Majenko, возможно, мне следует выяснить, как понизить 9-вольтовую батарею до 5-вольтовой и включить Nano?, @ardoknow

Или включите сервопривод отдельно от Nano., @Majenko

@Majenko Из Uno я попытался подать 5 В от переключаемого (5 В) источника питания прямо на GND / Power сервопривода, и он не двигается. Если я верну GND / Power обратно в Uno, он будет работать нормально. Что я могу делать неправильно?, @ardoknow

Бьюсь об заклад, вы удалили землю из Arduino, когда добавили внешний источник питания, не так ли?, @Majenko

https://hackingmajenkoblog.wordpress.com/2016/12/06/the-importance-of-sharing-grounds/, @Majenko

@Majenko Это была моя ошибка. Однако ... это то, что я сделал сейчас, и Nano все еще не работает. GND/Power от сервопривода к источнику питания GND/Power - затем от GND этих я взял один провод к GND Uno, и он работал нормально. Но если я переключу его на Nano, он не двигается. Странный., @ardoknow


2 ответа


1

Подключите мультиметр последовательно с соединением сервопривода от uno к сервоприводу и посмотрите, какой ток он потребляет при работе (вероятно, менее 20 мА, определенно менее 40 мА). Затем подключите его последовательно с нано и посмотрите, что произойдет. Если у вас нет тока, значит, вы активируете не тот контакт.

Если вы видите потребление тока, но сервопривод не двигается, вам нужно использовать какой-либо переключатель (транзистор, полевой транзистор, реле) для переключения сервопривода. Вы также можете сравнить напряжение и ток, считанные с нано, с требованиями в таблице данных для сервопривода. Опять же, это может привести к необходимости переключения.

Редактировать на основе комментариев выше... Также попробуйте подключить 5 В напрямую к сервоприводу, а затем последовательно добавить диод с прямым смещением, который должен имитировать падение напряжения до уровня вашего нано (0,4-0,6 В). Если сервопривод не работает с диодом и работает без него, вы можете быть уверены, что проблема в недостаточном напряжении (вероятно, учитывая рейтинг 4,8 В, который вы упомянули в комментариях).

,

я попробую это, когда я буду дома. Вы также можете быть правы, что, если я активирую неправильный контакт ... Может быть, ШИМ Uno (я использовал D9/10) отличается от Nano?, @ardoknow

Ваш код говорит d5. В любом случае это возможно, и я бы проверил, что он переключается с 0 на 5 В и что ток потребляется соленоидом., @Squats


0

У меня такая же проблема. Пример: с Arduino Uno, подключенным только к 5 В от ПК, сервоприводы работают отлично, а с Nano нет, возможно, сервоприводы пытаются двигаться, но нет. Я зарядил Skecth на Arduino Nano и ПК Deesconect, а затем поставил на Arduino Nano аккумулятор Li-ion 2s. Другими словами, для сервоприводов необходимо подавать более 6 вольт. Будьте осторожны, потому что максимальное напряжение сервоприводов может быть 6 вольт, вы можете использовать регулятор Arduino, несколько сервоприводов вызывают перегрев в этом регуляторе. Да, мой английский нуб.

,