Pages: [1]   Go Down
Author Topic: Supporto su servo motore  (Read 480 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

https://www.youtube.com/watch?v=H0b8QdvFHZk

Per il testing dei motori ho usato il seguente skech:

Code:

#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.
Logged

Selvazzano Dentro - Padova
Offline Offline
Edison Member
*
Karma: 37
Posts: 1276
"Chi sa fa, chi non sa insegna"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il servo da te utilizzato è piuttosto potente e richiede una alimentazione adeguata.

E' evidente che il tuo alimentatore non supporta lo spunto di corrente richiesto (2A per servo): la tensione sia abbassa un po' e quindi Arduino si resetta.

Ti consiglio di separare le due alimentazioni: usa pure l'alimentatore in tuo possesso per i servo, ma per Arduino usa il classico alimentatore da 9-12V.

Anche i collegamenti su bread board non supportano alte correnti: evita di far passare le alimentazioni dei servo su si essa.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie per la spiegazione,

domani provo a separare le alimentazioni e spostare i collegamenti dei servo su connessioni dirette.
Logged

Pages: [1]   Go Up
Jump to: