micro servo "tower pro" ruota di soli 90 gradi

Buona sera, finalmente mi è arrivato il mio arduino e scancherando con il servo ho notato che ruota di soli 90°, qualsiasi valore io gli passi tramite "myservo.write()". Provando a girarlo a mano ho potuto constatare che può ruotare di più, non arriva a 180 gradi ma quasi (circa 150).
Oltre a questo, quando provo a mandaro a 0 gradi (write(0)) in servo inizia a vibrare come se girase a vuoto, tutto questo fino a 10 gradi (se uso un'uscita non PWM lo fa fino a 20 gradi) Cosa sbaglio? Io l'ho collegato con la terra, 5 volt e l'uscita analogica 9 (PWM) e una non PWM.

Modello del servo?
Di solito i servo chiedono 6V, a 5V magari funziona ma vibra e va a scatti.

Intanto grazie della risposta :wink:

Pensavo di averlo messo il modello.... comunque c'è scritto "tower pro micro servo 9g SG90"
Ho guardato qui TowerPro SG90 Servo Specifications and Reviews e dice 4.8v

frafra800:
Io l'ho collegato con la terra, 5 volt e l'uscita analogica 9 (PWM) e una non PWM.

Non ho capito bene i collegamenti, i fili sono 3. Questo servo quindi:

Comprato dove? Sembra che ad alcuni del forum, comprati dalla cina a pochi euro, avessero dei problemi.

Era nello starter kit di futurashop, io ho fatto diverse prove:

  1. Cavo 5v ---> cavo rosso dell'alimentazione del servo
  2. Cavo GND ---> terra del servo (cavo marrone)
  3. Pin digitale(PWM) dell'arduino ---> cavo giallo

Seconda prova uguale solo che invece di usare un pin PWM ne ho usato uno normale....

Mi piacerebbe capire se sbaglio io o se è il servo di scarsa qualità perchè ne dovrei comprare 12 e non vorrei trovarli tutti difettosi.

Fossi in te proverei anche ad alimentarlo in maniera separata, ad esempio con 6V da batterie ma con il GND in comune ad Arduino. Se cerchi altri siti per quel servo i parametri completi:
http://www.headsuphobby.com/Towerpro-9g-SG90-Sub-Micro-Servo-B-510.htm
"Operating Voltage = 4.0 to 6.0 volts"
Perciò accetta i 6V. E' un tentativo. Inoltre non credo sia opportuno forzare a mano il servo, soprattutto questi economici.

frafra800:
Mi piacerebbe capire se sbaglio io o se è il servo di scarsa qualità perchè ne dovrei comprare 12 e non vorrei trovarli tutti difettosi.

Mah ... io ci penserei bene ... hai letto QUESTA discussione ??? :astonished:

Guglielmo

gpb01:
Mah ... io ci penserei bene ... hai letto QUESTA discussione ??? :astonished:

Se da un lato è vero che questi micro servo sono un modello ultra economico e quasi cineseria dall'altro lato è vero che ne vendono decine di migliaia e il loro lavoro lo fanno.
Il caso di Testato penso sia più unico che raro, 12 servo difettosi si spiegano solo con un intero lotto nato male e con i quasi zero controlli qualità che fanno i cinesi sulle produzioni ultra low cost.
Per il resto ti garantisco che ho visto personalmente molti di quei servo da pochi euro, di varie marche, funzionare perfettamente su svariati modelli RC realizzati da amici, sono usati sopratutto per i piccoli modelli indoor dove il peso è vitale.

Astro, il nostro amico ha problemi a usarlo a 5v direttamente da Arduino, forse non è meglio provarlo con alimentazione separata esempio batteria a 6V ? Oppure da Arduino a 5V non dovrebbe dare nessun problema?

Grazie per i suggerimenti, adesso non riesco ma con l'hanno nuovo, cioè domani, provo con le batterie poi vi faccio sapere :wink:

@frafra, le risposte di @astro rispetto alle mie sono molto più attendibili. Di esperienza nel campo ne ha molta, fidati delle sue risposte.

Avendone una decina ho pensato di farvi cosa gradita testandoli personalmente, ecco i risultati:

-La rotazione di tutti i servo è stata di 100gradi circa con tempo da 1 a 2 msec esatti

-La posizione di centro era differente da uno all'altro in quanto l'innesto della leva avviene tramite perno godronato da 20 godroni e la posizione del perno è differente da servo a servo, l'errore della posizione centrale a 8 bits(0-255) è quindi di 46 cioè 128+/-23, la soluzione deve essere software calibrando servo per servo ed diminuendo la loro escursione massima di 18 gradi cioè a +/- 40gradi ,
è possibile che sia possibile una escursione del servo maggiore di 100 gradi portando l'impulso da 0.9 a 2.1 msec oppure 0.8-2.2msec , questa prova però non l'ho fatta
La ripetitività della posizione è sempre affidabile sutti i 10 servo

  • Il consumo di picco a 6V è di 1.1-1.2A mentre a 5V è 0.8A massimo, a 6V però si notano dei brutti inconvenienti come :motore che scalda eccessivamente e in almeno 2 posizione il servo non riesce a mantenere la sua posizione stabile consumando una corrente elevatissima, consiglio quindi di alimentarlo SEMPRE a 5V , a questa tensione non ha mai dato problemi

Concludo il TEST dicendo che il servo è ottimo e nessun servo ha presentato anomalie o difetti a 5V (tranne quella della posizione centrale come detto sopra)

ciao ciao :slight_smile:

Grazie icio per il test :wink:

Io ancora non ho avuto il tempo di provare il mio servo a 6v, comunque se io ne dovessi comprare 12 economici quali potrei prendere? 150 gradi mi farebbero comodo, 100 sono un po' pochi....

Piccola curiosità, posso collegare 2 servi allo stesso pin digitale e comandarli separatamente?

Pr vedere se il Tower Pro arriva ad un'escursione maggiore di 100 gradi bisogna provare con un impulso 0.8-2.2msec, è molto probabile che ci arrivi
ai fini dell'escursione alimentarlo a 5V o 6V è indifferente

Non è possibile collegare ad un solo pin digitale 2 servo (anche al plurale si dice servo ... non servi.......)

Non so come mai, ma oggi è arrivato a quasi a 180°...... Stesse prove dell'altra volta :relaxed:

Come si fa a dare un inpulso in millisecondi? Vado di ciclo for facendo incrementare i gradi?

for (int i = 0; i < 180; i+20){
      servo.write(i);
}

Tipo questo?

Grazie ancora per l'aiuto :slight_smile: