Salve a tutti,
da un po di tempo desideravo avvicinarmi alla robotica e finalmente con arduino sto realizzando il mio sogno.
Dopo vari studi e letture di diversi libri sull'argomento ho iniziato alla realizzazione di un braccio robotico con l'ausilio di alcuni servo.
Infatti ho acquistato dalla germania un kit di servo motori tower pro MG945R e mi sto accingendo al loro testing.
Ho notato un comportamento anomalo e per descriverlo meglio ho realizzato un video su youtube
Per il testing dei motori ho usato il seguente skech:
#include <Servo.h>
Servo myservo; // create servo object
int grado = 0;
int minGrad = 0;
int maxGrad = 180;
int pinServo = 10;
int prev = A1;
int next = A0;
void setup()
{
myservo.attach( pinServo );
myservo.write( grado );
pinMode( prev, INPUT );
pinMode( next, INPUT );
}
void loop()
{
if ( analogRead( prev ) > 1000 ) { grado--; }
if ( analogRead( next ) > 1000 ) { grado++; }
if ( grado > maxGrad ) { grado = maxGrad; }
if ( grado < minGrad ) { grado = minGrad; }
myservo.write( grado );
delay(15);
}
In pratica un bottone incrementa l'angolo del servo mentre l'altro lo decrementa.
Il circuito e arduino sono alimentati da un alimentatore esterno con i seguenti valori: 5V e l'amperaggio massimo erogabile è 5A.
Ho notato che alimentando il circuito, arduino si riavvi continuamente provocando il problema al servo.
Potete darmi qualche consiglio.
Grazie mille.