Servo motore rotto?

Scusate ragazzi ho provato uno sketch con un servo motore alimentato da un caricatore che ha come valore di OUTPUT= 5.0V 550mA
Ho collegato i tre cavi del servo: l'arancione sul pin digitale 9 di arduino, il rosso a v+ e il marrone a massa.
Ora eseguendo questo sketch:

#include <Servo.h>
Servo motore;
void setup ()
{
motore.attach(9);
}
void loop ()
{
  motore.write (60);
  delay (500);
}

Quando lo mando in esecuzione vedo che il servo "vibra" per un po, (credo che dentro giri qualche ingranaggio) dopo di che rimane zitto per mezzo secondo (ovvero il delay) e poi continua a vibrare ma la paletta non si muove minimamente.
Il servo è rotto? forse sbaglio a collegarlo? o forse ho sbagliato a montare la paletta?
Vi prego aiutatemi :\

Fa un attimo questa prova:
cambia il delay in 15 e imposta la posizione a 120 anzichè 60 e vedi se il servo si muove dalla posizione attuale...
Fammi sapere

Un'altra cosa: hai collegato il negativo dell'alimentatore anche al GND di arduino?

si ho collegato anke la massa dell'alimentatore sul piedino gnd di arduino.
Comunque ora su arduino si accende il led del pin 13 e la lucetta verde vicino alla scritta no

*** Scusa mi correggo, ho riprovato e il servo si muove :D, però c'è ancora qualcosa che non va :, ho provato prima con 60 e si è mosso per bene, poi con 130 e si è mosso per bene, poi 140 e si è mosso per bene, dopo di che ho messo 20 e si è mosso per bene ma dopo ha iniziato a "tremare, cioè la paletta non si muoveva ma dentro vibrava e faceva un ronzio :\

** Ultima modifica, il servo funziona bene ho provato lo sketch con il potenziometro:

#include <Servo.h>
Servo motore;  //Nome del servo motore
int valore;   //valore del potenziometro
int pot=0;    //pin del potenziometro
int gradi;    // gradi del servo
void setup ()
{
  motore.attach(9);  //mettiamo il servo sul pin  9
  Serial.begin (9600);
}
void loop ()
{
  valore= analogRead(pot); // leggiamo il valore del pot
  gradi= map(valore,0,1023,0,179);  // cambiamo la scala dal pot al servo
  Serial.println (gradi);
  motore.write (gradi);  // facciamo girare il servo
  delay(10);  //aspettiamo un po' prima di ricominciare
}

e funziona tutto per bene, quello che non mi spiego però è che a volte il servo si mette a vibrare con un ronzio, è un problema o è normale? inolte ho notato che questo rumore lo fa solo a determinate angolazioni mente ad altre è in silenzio

Nessuno sa a cosa è dovuto questo ronzio?

I servi di norma fanno 120°, se te gli dici di farne 140° lui spinge spinge nella direzione voluta ma senza girare, ecco spiegato il vibro...

oddio era così semplice ? xD che idiota che sono :.... ma il massimo non è 180 gradi? comunque vibra anche a metà cioè verso i 60-65 gradi :\

toti94:
oddio era così semplice ? xD che idiota che sono :.... ma il massimo non è 180 gradi? comunque vibra anche a metà cioè verso i 60-65 gradi :\

Si è vero che dovrebbero fare 180° però ho notato che i servi economici tipo i cinesi e gli altri fanno fatica a spingersi oltre i 140 150 in alcuni casi molto molto meno (ecco il perchè dei 120°)
Ad ogni modo il tremore potrebbe essere dovuto all'alimentazione o dal fatto che essendo nuovo se è rimasto fermo per mesi dentro al blocco potrebbe essersi infiltrata dell'umidità ed il poterìnziometro che controlla l'elettronica interna se si è ossidato non funziona bene, consiglio mio, fagli eseguire l'esempio che lo manda avanti e indietro per una mezzoretta e magari si risolve da solo il problema :slight_smile:

Va bene se come alimentatore uso un caricatore per cellulare con output 5.0V e 550mA
Il servo è un Goteck GS-9018

E' sufficente a mala pena per un servo però... :roll_eyes:

c'è da dire che i servi per ricavare la loro posizione utilizzano un potenziometro connesso agli ingranaggi.
nei servi economici internamente c'è un micro che calcola il tempo necessario al motore per essere alimentato e con quale polarità per raggiungere il nuovo punto.
il micro ha una risoluzione di ADC (come arduino) ed in certe posizioni può accadere che il servo "vibri" di pochissimo perchè la risoluzione non è sufficiente e si trova a "cavallo" tra 2 valori.

la cosa è normalissima.

@ratto
io con tutti i servi che ho provato (cinesi e non) li ho sempre spinti da 0° a 180° con arduino :fearful:
quando finisci gli esami che mi serve una mano col PHP? :stuck_out_tongue:

superlol:
quando finisci gli esami che mi serve una mano col PHP? :stuck_out_tongue:

tra qualche gg ho l'orale, poi faccio una bella pausa poi son tutto tuo tranne quando vado in ferie e quando vengo a correre in bici sul monte balda, dalle tue parti :slight_smile:

ratto93:

superlol:
quando finisci gli esami che mi serve una mano col PHP? :stuck_out_tongue:

tra qualche gg ho l'orale, poi faccio una bella pausa poi son tutto tuo tranne quando vado in ferie e quando vengo a correre in bici sul monte balda, dalle tue parti :slight_smile:

sul baldo?! Allora chiama quando sei qui che andiamo a farci una nuotata :smiley:
guarda che se prendi una curva a ovest mi finisci sulla porta :smiley:

Quindi il servo va bene ed è normale XD Grazie :slight_smile: .... per non aprire un alro thread, vorrei comprare 1 o 2 motori in continua a spazzole, quanto costano più o meno? mi consigliate un tipo in particolare? e inoltre per controllare più motori mi ci vuole per forza lo shield? oppure posso usare un bjt per ogni motore?

toti94:
Quindi il servo va bene ed è normale XD Grazie :slight_smile: .... per non aprire un alro thread, vorrei comprare 1 o 2 motori in continua a spazzole, quanto costano più o meno? mi consigliate un tipo in particolare? e inoltre per controllare più motori mi ci vuole per forza lo shield? oppure posso usare un bjt per ogni motore?

Più che un Bjt io userei un mosfet, a parità dicosto e di dissipazione termica ti convengono loro...
Poi non saprei consigliarti tutto dipende da ciò che devi farci... ci sono quelli da modellismo tipo gli speed 3/400 ma oltre a consumare tanta corrente fanno moltissimi giri :grin:

superlol:
sul Baldo?! Allora chiama quando sei qui che andiamo a farci una nuotata :smiley:
guarda che se prendi una curva a ovest mi finisci sulla porta :smiley:

Fatta :smiley: