Господа,не подскажите как решить такую проблему: у меня ардуино уно 4 сервы mg996r питание аккумулятор на 7,4 в литий-полимерный аккумулятор + модуль ps2. В чем проблема при параллельном подключении и одновременной работе движки начинают дергаться в чем проблема не понимаю(если подключить движки просто к плате и заставить их одновременно двигаться,то все нормально),проседать напряжение вроде не должно,поскольку аккумулятор должен выдавать 8,4 В?
Спойлер: протестируйте это программой Код (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); } }
Технические характеристики аккумулятора Рабочее напряжение, В: 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)
как выяснил просаживается напряжение,но у аккума написано,что он может выдавать 44А,тогда не понятно почему он просаживаетсяОо