Вибрация серво привода после перемещения

Я зделал ногу для робота паука но после передвижения ноги то серво привод которий двигает всю ногу начинает сильновибрировать из сторони в сторону и так до бесконечности. Я же один серво привод так сломал, что делать? Вот код:
‘’'#include <iarduino_MultiServo.h>
iarduino_MultiServo MSS;

class Servo {
public:
Servo(int zero, int pin) {
_zero = zero;
_pin = pin;
_currentDeg = zero;
pinMode(_pin, OUTPUT);
}

void write(int deg, int speed) {
Serial.print("deg ");
Serial.println(deg);
Serial.print("pin ");
Serial.println(_pin);

if (deg != 1) { // Skip movement if deg is 1
  // Calculate the number of steps based on speed
  int steps = abs(deg - _currentDeg);
  int increment = deg > _currentDeg ? 1 : -1;

  // Perform synchronous movement
  for (int pos = _currentDeg; pos != deg; pos += increment) {
    MSS.servoWrite(_pin, pos);
    delay(speed); // Delay adjusted for synchronization
  }

  _currentDeg = deg;
}

}

void seto_0() {
Serial.print("zero ");
Serial.println(_zero);
Serial.print("pin ");
Serial.println(_pin);

write(_zero, 20); // Use the write() method for synchronous movement

}

private:
int _zero, _pin, _currentDeg;
};

struct Angel {
int hip;
int hipsp;
int knee;
int kneesp;
int ankle;
int anklesp;
};

Angel UP = {60, 20, 25, 20, 110, 20};
Angel DOWN = {100, 20, 60, 20, 70, 20};

Servo hip(100, 0);
Servo knee(60, 1);
Servo ankle(110, 2);

Servo leg = {hip, knee, ankle};

void setup() {
Serial.begin(9600);
MSS.servoSet(0, SERVO_SG90);
MSS.servoSet(1, SERVO_SG90);
MSS.servoSet(2, SERVO_SG90);
MSS.begin();

for (int i = 0; i < sizeof(leg) / sizeof(leg[0]); i++) {
leg[i].seto_0();
}
}

void loop() {
move_leg(UP);
delay(500);
move_leg(DOWN);
delay(500);
}

void move_leg(Angel a) {
int maxSpeed = max(a.hipsp, max(a.kneesp, a.anklesp)); // Find the maximum speed

// Perform synchronous movement of all servos
if (a.knee!=1){
leg[1].write(a.knee, maxSpeed);
}
if (a.hip!=1){
leg[0].write(a.hip, maxSpeed);
}
if (a.ankle!=1){
leg[2].write(a.ankle, maxSpeed);
}
}‘’’

Нога в воздухе? Отключай привод после перемещения… Все опыты ставь на готовой тушке, держа её в руке сначала.


Разломал, наигравшись.

Самый дешевый серво, который нашел, да? С плохим питанием и проводкой соплями, ага?

Дешёвый, раздешёвый :slight_smile: и публичный.

А какую библиотеку для сервоприводов используете?

Вот эту: