При попытке повернуть второй сервопривод - ПО виснет

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Mihay, 28 сен 2015.

  1. Mihay

    Mihay Гик

    Здравствуйте!
    Есть Arduino Uno и два микросервопривода FT2312M.

    Объявление аналоговых выходов:
    #define SENSOR_PIN3 A3
    #define SENSOR_PIN5 A5

    Объявление переменных типа servo:
    Servo myservo;
    Servo myservo4;

    Привязка к ним аналоговых выходов:
    analogReference(DEFAULT);
    myservo.attach(SENSOR_PIN5, 544, 2900);
    myservo4.attach(SENSOR_PIN3, 544, 2900);

    По команде тупо хочу 2 сервопривода повернуть на 100 градусов:
    myservo.write(100);
    myservo4.write(100);

    Сразу виснет скетч на Arduino Uno, а отсюда по цепочке через com-порт ПО на ПК, Короче рушиться все!
    Но как только любую из строчек из последнего кода убираешь (поворот одного из приводов), например
    // myservo.write(100);
    myservo4.write(100); - оставляя только одну команду, ПО отрабатывает поворот, но естественно только только одного привода. Вдвоем они работать не желают (виснет ПО): либо первый либо второй.
    Менял даже аналоговые входы - не помогло

    Кто знает причину такого облома, вроде ничего сложного, а у меня еще надо подключить 3 таких же сервопривода??? Пожалуйста, помогите!!
     
  2. vvr

    vvr Инженерище

    а как организовано питание серв?
     
  3. Megakoteyka

    Megakoteyka Оракул Модератор

    Посмотрите на светодиоды на ардуино. Если при "зависании" начинается моргание, то это у вас плата тупо уходит в перезагрузку из-за недостатка питания.
     
  4. Mihay

    Mihay Гик

    Если имеется в виду подключение питания на серв: красный провод - питание +5в. черный - корпус или земля, белый - подключен к АНАЛОГОВОМУ выходу.... может надо к ЦИФРОВОМУ выходу?
     
  5. Mihay

    Mihay Гик

    Моргания не наблюдается!
     
  6. Mihay

    Mihay Гик

    Если имеется в виду подключение питания на серв: красный провод - питание +5в. черный - корпус или земля, белый - подключен к АНАЛОГОВОМУ выходу.... может надо к ЦИФРОВОМУ выходу?
     
  7. Mihay

    Mihay Гик

    Проверил подключение к цифровым входам - такая же ерунда выскакиевает
     
  8. vvr

    vvr Инженерище

    +5 вольт где берёте?
    от дуни или отдельный источник?
     
  9. Mihay

    Mihay Гик

    от Arduino UNO
     
  10. vvr

    vvr Инженерище

    сколько тока кушает ваша серва и сколько может ей дать дуня?
    вот и получается - одну серву тянет, а на две тока не хватает.
    сделайте отдельное питание +5 вольт для серв и землю с дуней соедините
     
  11. Mihay

    Mihay Гик

    Спасибо! Я не догадался сразу подключить внешний источник питания для Arduino. Теперь все заработало!
     
  12. cody_c++

    cody_c++ Нерд

    Напряжение проседает, у ардуино по не особо, чтобы оно число. Повесь конденсатор на vin и gnd