гексапод на ардуино

Тема в разделе "Arduino & Shields", создана пользователем Arxangel303, 5 ноя 2016.

  1. Arxangel303

    Arxangel303 Нуб

    Господа,не подскажите как решить такую проблему:
    у меня ардуино уно 4 сервы mg996r питание аккумулятор на 7,4 в литий-полимерный аккумулятор + модуль ps2. В чем проблема при параллельном подключении и одновременной работе движки начинают дергаться в чем проблема не понимаю(если подключить движки просто к плате и заставить их одновременно двигаться,то все нормально),проседать напряжение вроде не должно,поскольку аккумулятор должен выдавать 8,4 В?
     
  2. rkit

    rkit Гуру

    Проблема в том, что нет ни схемы, ни характеристик компонентов.
     
  3. qwone

    qwone Гик

    Код (C++):
    /*
    #1 Серва1 упр. выв -> 12    (servo1_pin)
                   +5В -> +5В
                   GND -> GND
       Серва2 упр. выв -> 11    (servo2_pin)
                   +5В -> +5В
                   GND -> GND
       Серва3 упр. выв -> 10    (servo3_pin)
                   +5В -> +5В
                   GND -> GND
    #2 резистор  нижний выв   -> GND
                 средний выв  -> A0    (R1_pin)
                 верхний выв  -> +5
       резистор  нижний выв   -> GND
                 средний выв  -> A1    (R2_pin)
                 верхний выв  -> +5
       резистор  нижний выв   -> GND
                 средний выв  -> A3    (R2_pin)
                 верхний выв  -> +5
    */

    //#1
    const int servo1_pin = 12;
    uint16_t servo1_value = 544; // величина на серве 544-2400 мкс.
    uint8_t servo1;//
    const int servo2_pin = 11;
    uint16_t servo2_value = 2400; // величина на серве 544-2400 мкс.
    uint8_t servo2;//
    const int servo3_pin = 10;
    uint16_t servo3_value = 2400; // величина на серве 544-2400 мкс.
    uint8_t servo3;//
    //#2
    const int R1_pin = A0;// нога резистора
    const int R2_pin = A1;// нога резистора
    const int R3_pin = A2;// нога резистора

    void setup() {
      //#1
      pinMode      (servo1_pin, OUTPUT);
      digitalWrite (servo1_pin, servo1 = 0);
      pinMode      (servo2_pin, OUTPUT);
      digitalWrite (servo2_pin, servo2 = 0);
      pinMode      (servo3_pin, OUTPUT);
      digitalWrite (servo3_pin, servo3 = 0);
      //#2
    }
    void loop() {
      static uint32_t MICROS ;
      MICROS = micros() ;
      //#1 20 миллисекунд обслуживание сервы 1 и 2
      static uint32_t past_1 = 0 ;
      if  (servo1 && (MICROS - past_1 >= servo1_value))
        digitalWrite (servo1_pin, servo1 = 0);
      if  (servo2 && (MICROS - past_1 >= servo2_value))
        digitalWrite (servo2_pin, servo2 = 0);
      if  (servo2 && (MICROS - past_1 >= servo3_value))
        digitalWrite (servo3_pin, servo3 = 0);

      if (MICROS - past_1 >= 20000) { // если прошло 20000 микросек
        past_1 = MICROS ;
        digitalWrite (servo1_pin, servo1 = 1);
        digitalWrite (servo2_pin, servo2 = 1);
        digitalWrite (servo3_pin, servo3 = 1);
      }
      //#2
      static uint32_t past_2 = 0 ;
      if (millis() - past_2 >= 200) { // если прошло 200000 микросек
        past_2 = millis() ;
        servo1_value = map (analogRead(R1_pin), 0, 1023, 544, 2400);
        servo2_value = map (analogRead(R2_pin), 0, 1023, 544, 2400);
        servo3_value = map (analogRead(R3_pin), 0, 1023, 544, 2400);
      }
    }
     
  4. Arxangel303

    Arxangel303 Нуб

    Технические характеристики аккумулятора
    Рабочее напряжение, В: 7,4.
    Емкость, мА/ч: 2200.
    Количество элементов, шт.: 2.
    Максимальный ток заряда, А: 2,2.
    Максимальный ток разряда, А: 44.
    а движки MG996r
    • table and Shock Proof
    • Coreless Motor
    • Metal Gears
    • Double Ball Bearing
    • Connector Wire Length 300mm (12")
    • Dimensions : 40mm x 19mm x 43mm (approx 1.5" x 3/4" x 1.5")
    • Weight : 55g (just over 2 oz)
    • Operating Speed : 0.17sec / 60 degrees (4.8V no load)
    • Operating Speed : 0.13sec / 60 degrees (6.0V no load)
    • Stall Torque : 9 kg-cm (180.5 oz-in) at 4.8V
    • Stall Torque : 12 kg-cm (208.3 oz-in) at 6V
    • Voltage : 4.8 - 7.2Volts
    • Color:Black
    • Connector Wire: Heavy Duty, 11.81" (300mm)
     
  5. Arxangel303

    Arxangel303 Нуб

    как выяснил просаживается напряжение,но у аккума написано,что он может выдавать 44А,тогда не понятно почему он просаживаетсяОо
     
  6. Tomasina

    Tomasina Сушитель лампочек Модератор

    провода тонкие.