Arduino + servo sg90

Salve a tutti!
Ho sempre dato qualche occhiata a questo forum ma è la prima volta che che pubblico qualcosa!

Sono un po' un neofita per quanto riguarda l'elettronica ma sto tentando di acquisire un po' di esperienza a forza di sperimentare e replicare progetti che trovo online..!

Oggi mi ritrovo a sbattere la testa sul funzionamento di un servomotore (un Tower Pro sg90 da 9g)..
Purtroppo la documentazione per questo servomotore è un po' scarna (basta guardare cosa si trova sul sito ufficiale.. [1]).

Praticamente il mio intento è semplicemente quello di farlo muovere :sweat_smile:
Premetto che non l'ho ancora nemmeno collegato poiché volevo prima avere qualche chiarimento:
So che ogni pin dell'arduino (duemilanove nel mio caso) può erogare al massimo 40mA ma ho letto sempre qui sul forum di una discussione [2] nella quale si sostiene che questo servo necessiti di ben 700mA per funzionare! Non vorrei collegarlo e ritrovarmi col mio arduino bruciato..! Per questo mi affido a voi..!

Ho già fatto molte ricerche online ma non sono ancora riuscito a venirci a capo :~

Grazie per l'aiuto :slight_smile:

[1] http://www.towerpro.com.tw/viewitem1.asp?sn=584&area=50&cat=159
[2] http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1251519060/all

I servo hanno 3 contatti. la massa, l' alimentazione e il segnale. Il segnale lo pilota e non serve potenza. Il Segnale che pilota ii sevo é un segnale in modulazione PPM. Ogni 20 milisecondi c'é un impulso positivo di durata tra 1 msecondo e 2 msecondi. La posizione del servo dipende dalla lunghezza di quel segnale.
Vedi libreria servo.h
Ciao Uwe

Devi collegare l'alimentazione del servo al pin 5V che non è collegato direttamente ai pin di I/O del microcontrollore ma al regolatore che eroga una corrente molto superiore, circa 500 mA, non tenere in stallo per troppo tempo il servo per non avere problemi.

Devi collegare il cavo del segnale ad un pin di I/O (e quindi non puoi prelevare più di 40 mA) ma fortunatamente il segnale non necessità di correnti elevate (es. 1-10 mA)

Infine devi collegare il cavo della massa al pin GND

Ciao

Se ne usi più di uno, usa un'alientazione esterna (da 4.5a 6V) non quella fornita da arduino, altrimenti nella migliore delle ipotesi arduino resetterà all'avvio senza mai partire.
P.S.
Ricordo che esisteva un bellisimo programmino con tutte le caratteritiche dei servi più comuni (compresi i grafici di assorbimento di corrente/coppia), che se non sbaglio si chiamava Servormances o qualcosa di simile, cercalo ;).

BrainBooster:
Ricordo che esisteva un bellisimo programmino con tutte le caratteritiche dei servi più comuni (compresi i grafici di assorbimento di corrente/coppia), che se non sbaglio si chiamava Servormances o qualcosa di simile, cercalo ;).

Ricordi bene, si può scaricare qui.

Grazie mille a tutti quanti per le esaurienti risposte!
Ora mi è tutto molto più chiaro ^^

Tutto ora funziona perfettamente!
Ma mettiamo che voglio far muovere in sincronia due servi... come faccio a collegarli a un pacco batterie esterno?

Presupponendo che il segnale PWM sia in uscita dal pin 9.. questo schema funzionerebbe?

Grazie ancora per la pazienza..!

il collegamento è corretto. occhio che così, se quei servi assorbono 700mA, insieme ne assorbono ovviamente 1,4A, e non so se la breadboard li regge, magari qualcun'altro te lo può dire. io farei il collegamento del positivo e negativo volanti a parte.

devi anche collegareil gnd delle batterie a quello di arduino

Grazie mille: siete stati chiarissimi! :smiley: