L’alimentazione erogata da arduino spesso non è sufficiente per consentirti di alimentare uno o più servocomandi e devi ricorrere ad arduino servo con alimentazione esterna.
Ossia devi utilizzare una alimentazione per arduino ed una separata per il o i servocomandi.
Usare una alimentazione esterna è necessario sopratutto con i servomotori che sono solitamente alimentati a 4,8v/6v mentre arduino deve essere alimentato da 7v/20v ( io consiglio di non superare i 12v ):
La maggior parte dei progetti che coinvolgono i servomotori utilizzano i 5v erogati da arduino in un collegamento simile a questo:
tuttavia sia in presenza di più servocomandi sia quando usi servocomandi particolarmente onerosi in termini di corrente assorbita hai che la potenza erogata da arduino attraverso il suo alimentatore interno non è sufficente e puoi incorrere in malfunzionamenti quali:
- tremolio dei servocomando
- difficoltà da parte del servocomando a mantenere la posizione data
- eccessiva lentezza del servo nel raggiungere la posizione desiderata
- surriscaldamento dell’alimentatore arduino
- ecc…
solo per citare i più ricorrenti.
Qual’è la soluzione ?
La soluzione è senza dubbio quella di alimentare in modo separato la scheda arduino ed i servocomandi.
Come si collega arduino servo con alimentazione esterna ?
Quando vuoi alimentare un dispositivo controllato da arduino, ad esempio un servo, devi ricondare che la cosa fondamentale è mettere il terminale GND ( massa o negativo ) in collegamento tra le alimentazioni ed i dispositivi, si chiama per questo motivo anche terminale comune 🙂
Un esempio di connessione è:
in cui il servo prende alimentazione dal pacco batterie formato da 4 pile da 1,5v erogando 6v
Warning!
Ricorda che se utilizzi 4 pile AA di tipo ricaricabile queste erogano ciascuna 1,2v per cui avrai 4,8v totali e non 6v
L’alimentazione di arduino la puoi prendere da una pila a 9v o un alimentatore differente, la cosa importante è che il pin negativo del servo sia collegato al Gnd Arduino come il pin negativo del pacco batterie da 4 pile.
Anche il negativo della pila da 9v sarà collegato al Gnd tramite il connettore anteriore.
Il positivo del servo lo devi collegare direttamente al pacco batterie in alto ( 4 x 1,5v ) in modo che il servo prenda alimentazione da quest’ultimo.
Come collego più servocomandi ?
Se vuoi collegare altri servo, arduino ha 6 uscite PWM, puoi seguire questo schema e aggiungere tutti i servo che vuoi semplicemente come aggiungi il secondo:
Buon collegamento !!
168 commenti
1 ping
Vai al modulo dei commenti
Ciao mauro, davvero un ottimo articolo chiarissimo sulla “problematica” di alimentazione dei servo. Una sola domanda: lasciando tutto collegato come è mostrato negli schemi, se l’unica cosa che cambiassi è il collegamento di arduino che invece di farlo alla batteria da 9V lo lascio attaccatto alla usb del pc e quindi lo alimento con i 5V del pc andrebbe bene ugualmente o è comunque meglio in queste occasioni una tensione esterna dai 7-12V per arduino??
Grazie 🙂
Autore
Ciao Riccardo,
puoi tranquillamente alimentare Arduino dal Pc per fare i test ed il debug, certamente dovrai rivolgerti all’alimentazione esterna quando il tuo progetto vorrà vivere di vita propria, senza l’ausilio del Pc.
Mauro
Biongiorno, vorrei realizzare una bobinatice con due motori passo passo che facciano un numero di giri programmato in un senso e nell’altro puo’ aiutarmi grazie Giovanni
Autore
Ciao Giovanni,
certo che posso aiutarti a realizzarla anche se ammetto la mia ignoranza su cosa sia una bobinatrice.
Io posso consigliarti gli articoli che puoi leggere per imparare a controllare i motori passo passo e quali driver puoi usare, tu dovrai scrivere il programma partendo dai miei articoli.
Mauro
Ciao Mauro,
Sto usando un servo towerpro sg90 x fare delle prove con arduino e lo sto alimentando direttamente coi 5 volt prelevati dal pin 5v. Sui datasheet del servo ho notato che la tensione di utilizzo è x l’appunto 4.8 v. In effetti scricchiola un po’ mentre è alimentato, il servo.
Però vedo in diversi tutorial che il servo sg 90 è alimentato così e non con alimentazione esterna. Tu mi consiglieresti a queste tensioni di alimentarlo sempre esternamente ?
Autore
Ciao Michele,
il servo SG90, come la maggior parte dei servomotori per modellismo, puoi alimentarlo a 4,8v o 6v
In ogni caso tra 4,8v e 5v non ci sono grose differenze.
L’alimentazione esterna è utile se vuoi alimentare più sevomotori contemporaneamente perchè la corrente erogata da arduino potrebbe non essere sufficente.
Mauro
ciao Mauro devo pilotare un micromotore rh159 e il contatto di scatto della mia reflex con arduino uno e la scheda con i relè che si interfaccia con arduino. la mia domanda è questa : mi deve pilotare il motore a cc alimentato separatamente per circa tre ore con intervalli on 3 secondi off 30 secondi, allo stesso tempo deve darmi il contatto di scatto alla macchina fotografica sempre per 3 ore con intervalli on 30 secondi off 2 secondi, secondo te a che problemi posso andare incontro alimentando arduino e scheda relè con batteria a 9 volts. se puoi darmi qualche dritta grazie anticipato ciao franco
Autore
Ciao Franco,
dovresti provare a misurare l’assorbimento del motore e dello scatto per qualche minuto, ad esempio 15min, e verificare che il tipo di batteria sia sufficiente per le tre ore di funzionamento.
Mauro
ciao mauro,
sempre riferendomi ai servo della towerpro sg90, mi hai informato che funzionano con una tensione di utilizzo di 4.8/6V. per quanto riguarda la corrente di cui hanno bisono, sai darmi delle indicazioni? non riesco a trovare nessuna informazione riguardante la corrente.
poi vorrei chiederti quale sia la corrente massima erogabile da un arduino uno. O meglio, i 5 V erogati da arduino, quale intensità di corrente eroga? questo te lo chiedo perche vorrei collegare 5 microservi , di cui sopra e sarei intenzionato ad usare una alimentazione esterna. Me la consigli?
grazie
Autore
Ciao Michele,
nel blog trovi un mio articolo dedicato alla corrente assorbita da arduino e molti articoli in cui parlo della corrente erogata dai pin.
Puoi reperire l’informazione della corrente erogata anche dalla scheda tecnica sul sito arduino.
Ti anticipo che 5 micorservi non riuscirai ad alimentarli attraverso arduino, la corrente di funzionamento di 5 servo è sicuramente superiore a quella erogabile da arduino in totale, rischi di avere malfunzionamenti discontinui tipo tremolii dei servo o movimenti non fluidi o troppo lenti.
Mauro
Ciao Mauro,
Mi sono studiato l’articolo sull ‘assorbimento di arduino.
Il problema è che già con un solo servo collegato nn viene rispettato il codice, cioè , il braccio del servo si muove a scatti non rispettando il delay , scricchiola, ed è lentissimo. Pensavo di aver rotto la scheda arduino, ma ho provato che con i led funziona tutto, quindi credo sia proprio un problema di servo o alimentazione di questo. So che con più servi ci vuole un ‘alimentazione esterna, ma non credevo mi desse problemi già con uno, che come tensione rientra nei parametri di arduino, 4,8/6V
Autore
Ciao Michele,
in passato mi hanno già scritto di problemi simili con sevo SG90, prova a controllarlo in microsecondi, ho scritto proprio oggi un articolo.
Mauro
Ciao Mauro , ho comprato arduino uno rev 3 e ho pasticciato mi da errori , ma come si resetta? , è vero che basta jumperare i 2 contatti vicino al button?
grazie
Autore
Ciao Luciano,
arduino è dotato di un pulsante di reset posto di fianco al connettore USB che serve a fargli ricominciare l’elaborazione dello sketch.
Puoi sempre provvedere a togliere alimentazione e USB e a riattaccarle e questo solitamente risolve il 90% dei problemi.
Se arduino si è danneggiato in seguito a collegamenti errati o ha perso il bootloader dovresti seguire le procedure specifiche per il tipo di errore che ti si presenta.
Mauro
ciao mauro,
ho necessità di alimentare dai 3 ai 5 servi towerpro sg90 contemporaneamente ed esternamente con terminale GND in comune con la scheda arduino uno. Sapendo che la tensione necessaria x ciascun servo è 4.8V e avendo verificato che assorbono all’incirca 160mA ciascuno, secondo te, se alimento i servi con una batteria 9V 1A prelevando l’alimentazione da un regolatore di tensione L7805 ( che penso regoli la tensione in uscita fino a 5V) è sufficientente per alimentarli tutti?
Perchè fino a che ne alimento uno solo con questo sistema non ci sono problemi, se invece ne alimento già 3, i servii cominciano tutti a vibrare molto e a non eseguire le istrizioni inviate.
grazie,
michele
Autore
Ciao Michele,
il regolatore 7805 eroga al Max 1A e dovresti farcela ad alimentare tutti i servo senza sforzarli.
Sei un po’ al limite 160×5=850mA con un margine di 150mA per arduino.
Mauro
Ciao Mauro,ti chiedo ancora aiuto, sto costruendo un robot Tank (con cingoli) composto da una scheda Arduino Uno R3,una scheda Arduino shield motors R3, un servomotore Tower pro 9g sg90,un sonar HC-SR04 e due motori “double gearbox Tamiya con rapporto 38.2:1. Ho caricato un semplice sketch per testare i motori ed il servomotore (tralasciando per ora il sonar perchè ho qualche difficoltà a scrivere lo sketch adeguato). Ho alimentato Arduino con un alimentatore esterno da 9v e 1A,poi ho collegato il pin 5v di arduino ai pin Vcc del sonar e del servomotore ed il pin gnd di Arduino ai pin gnd del sonar e del servomotore,ho collegato il pin dati del servo e i pin trig ed echo ai pin 8,7 e 6 di Arduino e per finire ho collegato i cavi dei motori al connettore della motor shield. A questo punto gira un solo motore ed il servo ruota (forse anche troppo velocemente),solo togliendo l’alimentazione al sonar incominciano a girare entrambi i motori e il servo.Ho provato anche ad alimentare con 4 pile AA da 1,5v ciascuna i motori collegando l’alimentazione delle pile al connettore e alimentando Arduino con una normale pila 9v ma il risultato è il medesimo. Secondo te da cosa potrebbe dipendere? è un problema del sonar? è un problema di correnti assorbite?devo aggiungere la scheda della sparkfun, il DC-DC Converter Breakout?
Ti ringrazio per i preziosi consigli che ci dai con i tuoi tutorial e attendo consigli per risolvere il mio problema.
Autore
Ciao Michele,
prova ad alimentare i motori attraverso il connettore di alimentazione della motor shield R3 invece di sovraccaricare il circuito di alimentazione di arduino.
Se il problema persiste potrebbe essere il sonar ad avere o un eccessivo assorbimento di corrente o un cortocircuito, alimentalo separatamente.
Mauro
Buon giorno Mauro, il mio dilemma è come collegare il mio arduino yun in stand-alone senza dare più di 5v visto che yun non è come arduino uno che può essere alimentato fino a 12v.
Ti ringrazio per una tua risposta.
Autore
Ciao Giovanni,
io uso di solito un alimentatore per cellulare di quelli con l’uscita a 5v USB e lo stesso cavetto USB con cui invio lo aketch alla Yun.
Mauro
Buongiorno Mauro,
Sto costruendo un piccolo braccio robotico con più servomotori e ho quindi bisogno di un’alimentazione esterna: i servomotori hanno una resistenza interna per limitare gli ampere, giusto?
Non vorrei rischiare di bruciarli…
Ti ringrazio in anticipo
Autore
Ciao Enrico,
i servo potrebbero essere protetti da sovraccarichi di corrente ma dipende dal modello e dall’elettronica di cui sono dotati, dovresti controllare sulla scheda tecnica.
Si quello lo sto usando anche io ma se io lo volessi mettere su un robottino autocostruito?
Autore
Ciao Giovanni,
puoi usare un circuito di alimentazione dc-dc come quello descritto in un mio tutorial di qualche anno fa.
Mauro
Ciao Mauro, vorrei chiederti alcune informazioni. Innanzitutto se un alimentatore da 12v 330mA va bene per alimentare arduino. Inoltre, starei progettando un plastico di domotica con due servomotori, uno per una tapparella e uno per un cancello scorrevole. Considerato, quindi, che non hanno bisogno di molta potenza… Quali servo mi consiglieresti? e soprattutto, essendo due, converebbe comunque collegarli ad alimentazione esterna?
Grazie per la disponibilità!
Autore
Ciao Maurizio,
come alimentatore per arduino dovrebbe esserti sufficente, se poi vuoi aggiungere altre shield o led, motori, ecc.. dovrai calcolare l’assorbimento totale.
Per i servo devi calcolare che tipo di coppia ti occorre per gli usi che ne devi fare ed acquistare i servo più adatti al tuo scopo, potrebbero andar bene anche dei miniservo, dipende molto dalla coppia di cui hai bisogno.
Per l’alimentazione puoi provare ad alimentare i servo attraverso i 5v di arduino, se sono solo 2 e non richiedono troppa corrente potresti farcela.
Mauro
Ciao Mauro, scusi il disturbo.
Ho collegato il servo inserendo il sensore sopra, ho fatto il copia e incolla del tuo codice ma una ruota non gira e l’altra astento. poi il sensore si comporta in modo anomalo.
Autore
Ciao Maurizio, sembra un problema di alimentazione insufficiente, alimenta. Arduino con i 9v dal connettore anteriore, il driver motore da due fili che prendi direttamente dai 9v e il servo con 4 pile stilo e il sensore da arduino 🙂
Buongiorno Mauro,
È da un po’ di tempo che mi trovo a leggere il suo forum e, data la sua competenza vorrei chiederle dei chiarimenti.
Sono riuscito a controllare un motore tramite un sensore ad ultrasuoni, ovvero più allontano la mano è più il motore va veloce e viceversa, ho collegato in un secondo momento il motore ad un alimentazione esterna collegando in serie due batterie da 9v e usando un mofset , fino a li nessun problema, in seguito ho comperato un motore da 250w è una batteria d auto, ho provato a fare gli stessi collegamenti e ovviamente il motore non mi risponde, l unica differenza che trovo tra il motore grande e piccolo oltre alla potenza sono dei condensatori , devo per caso aggiungerli al mio motore da 250w?
Autore
Ciao Alessandro,
senza specifiche del costruttore dei due motori è difficile darti un riscontro senza sbagliare.
Sei sicuro che il Mosfet che stai utilizzando possa gestire motori di questa entità?
Mauro
Perdoni la mia ignoranza ma ho iniziato a praticare da due settimane, il motore 24v 13.7a 2650rpm. Il mofset irf530 n, non sono sicuro che possa gestire tale potenza poiché non mi sono posto la domanda data la mia incompetenza, quindi l unico problema sarebbe il mosfet?
Grazie per la rapidità della risposta
Alessandro
Autore
Ciao Alessandro,
penso di si.
Sono andato a cercare i dati di targa, ho trovato che il mosfet che utilizzo io può dissipare una potenza di 80w, è quello il dato che devo leggere? Ho trovato un altro mosfet che ne dissipa 220, utilizzo quello? Grazie in anticipo
Autore
Io cercherei un mosfet in grado di erogare almeno 300W considerando che il motore è un 250W.
Mauro
Gentilissimo
ciao mauro, si possono utilizzare 5 servo towerpro sg90 ,usando un alimentazione esterna con 4 pile AA che sviluppano 4,8v o devo aumentare il voltaggio?
Autore
Ciao Michele,
si puoi farlo.
Considera che i servo di cui scrivi assorbono parecchia corrente per cui più che del voltaggio mi preoccuperei di quanto tempo vuoi che funzioni il tuo progetto e quante volte vuoi sostituire le pile.
Calcola bene l’assorbimento di ciascun servo e dimensiona l’alimentazione in modo adeguato.
Ciao! volevo chiedere un informazione per cortesia,
stavo realizzando un piccolo robot con Arduino Uno e arduino motor shield, dunque ho un dubbio sull’alimentazione delle due schede.
Se il motore assorbe correnti significative, devo scegliere di alimentare lo shield esternamente (attraverso l’apposito jumper EXT), in caso contrario, se le correnti fossero irrisorie (nell’ordine dei 100mA), potrei sfruttare direttamente l’alimentazione della scheda arduino Uno.. giusto?
Bene, il mio dubbio sorge proprio riguardo al primo caso, infatti se per caso scegliessi di alimentare arduino alla stessa tensione nominale del motore (per esempio 9 volt) mi chiedevo se potevo fare un parallelo tra la batteria (appunto da 9 volt) e le due utenze (ossia il motore e arduino Uno) potrebbe andare?
O forse devo utilizzare due batterie separate?
grazie dell’attenzione, saluti
Autore
Ciao Francesco,
tutto corretto, puoi procedere utilizzando la medesima pila da 9v per alimentare entrambi facendo un collegamento parallelo dalla pila.
Funzionerà ma ti scaricherà prima la pila.
Perfetto grazie mille Mauro.
ciao mauro, si possono alimentare i servo tower pro sg90 a 6v, nonostante sul datasheet è indiccata una tensione di 4.8v? grazie.
Autore
Ciao Luca,
dieri di no. Io rispetto sempre il valore riportato dal produttore in quanto è possibile che all’inizio sembri funzionare tutto senza problemi ma successivamente si presentino anomalie e malfunzionamenti che influiscono su tutto il progetto.
Ciao Mauro, volevo chiederti se anche i servomotori sanwa più precisamente un sanwa srm-102 potessero andare a 6volt ??
Ho cercato su internet ma non ho trovato un gran che quindi mi affido a te
Autore
Ciao Mohamed,
il secondo risultato su Google è questo link: http://www.servodatabase.com/servo/sanwa/srm-102z
che riporta solo i 4,8v per questi servo.
Ciao Mauro, avrei due domande riguardo all’alimentazione.
1) Sulla mia breadboard ho messo la masse dell’alimentatore, la massa di Arduino e la massa del servo nella stessa pista orizzontale, oltre al vcc del servo e dell’alimentatore sulla stessa pista. Ho fatto una cavolata o va bene così?
2) Inoltre… mi sfugge l’utilità dei transistor e dei mosfet. Mettendo tutto come ho scritto sopra, funziona tutto (in realtà anche senza alimentare Arduino). A cosa servono dunque? E come mai Arduino parte anche senza alimentarlo?
Grazie per l’aiuto e scusa per le domande stupide!
Autore
Ciao Maurizio,
rispondo alle tue richieste:
1. il terminale comune va bene, si chiama proprio comune per questo motivo; il vcc dell’alimentazione e del servo va connesso come da schema.
2. non ci sono transistor o mosfet in questo progetto, dove li hai visti?
3. Arduino si accende se colleghi l’alimentazione della batteria al suo pin Vin o 5v ( attenzione a non alimentarlo sui 5v con tensioni superiori )
1) Ok, allora dovrebbe andare bene come ho fatto… ho messo massa del servo, di arduino e dell’alimentatore assieme e il vcc del servo con il vcc dell’alimentatore;
2) Per quanto riguarda il mosfet ed il transistor… mi sono accorto dopo di non averlo scritto, ma non sono riuscito a trovare il tasto modifica, quindi ho aspettato che rispondessi per non lasciarti troppi post. In sostanza, oltre che per il servo, sto utilizzando l’alimentazione esterna anche per una ventola, da 5v, ma mi è stato consigliato di utilizzare un mosfet poichè la ventola richiede 110mA… ma non riesco a capire a cosa serve il mosfet… non basta semplicemente collegarlo all’alimentatore esterno e al pin di arduino? Tra l’altro, perchè un mosfet e non un transistor?
3) Effettivamente, collegando solo la massa, Arduino si accende… ma i componenti collegati ad esso non vanno. Collegando anche Arduino con un alimentatore mi funziona tutto. Almeno questo è risolto 😛
Autore
Ciao Maurizio,
punto 1: ok;
punto 2: noto confusione ti consiglio di leggere gli articoli che ho scritto sul controllo di motori dc con arduino, leggerai che con i motori è necessario sempre interporre un componente che ti consenta di veicolare il segnale PWM e alimentare il motore con una tensione esterna.
punto 3: hai collegato la USB? Arduino può essere alimentato anche via USB dal computer
No no, ho collegato Arduino ad un alimentatore da 12V. Dire che ho un po’ di confusione è un eufemismo :D, potresti indicarmi il nome dell’articolo? sono riuscito a trovare solo il tutorial su come controllare un motore dc tramite interruttori e potenziomentro.
Grazie mille per l’aiuto!
Autore
Non buttarti giù Maurizio, all’inizio è così per tutti.
Vanno benissimo gli articoli che hai trovato, uno qualsiasi sui motori cc ti mostra che serve un driver per controllarli, io di solito uso la motor shield ( trovi molti articoli scritti su questa shield )
Scusa se rompo di nuovo, ma purtroppo ho pochissime basi di elettronica e molte cose non le capisco. In un circuito in generale (con servi, led e sensori…), per quanto riguarda il GND, mi basta collegarli tutti assieme… ma per quanto riguarda il VCC? Devo collegarli tutti al vcc dell’alimentatore?
Inoltre, non so se sai aiutarmi in questo, ho provato ad alimentare il mio arduino e ethernet shield con un alimentatore da 12v 330mA invece che via usb… mi si surriscalda tantissimo, non riesco neanche a toccarlo. Che alimentatore converrebbe utilizzare?
Grazie e scusa per tutte queste domande stupide!
Autore
Ciao Maurizio,
prima di danneggiare arduino, i servo e te stesso ti consiglio di leggere qualche tutorial di elettronica base on-line.
Anche io non ho grandi conoscenze di elettronica tuttavia esiste internet e tutto è documentato, spiegato e condiviso.
Per rispondere alla tua richiesta il Gnd si chiama anche “comune” proprio perché tutti i pin e i fili di questo tipo devono essere collegati insieme per funzionare.
Il Vcc devi usarlo per alimentare solo quello che accetta l’alimentazione di cui disponi, ad esempio se usi 12v e i servo funzionano a 6v non puoi.
Salve Mauro
complimenti per le spiegazioni, anke se confesso ke alcune volte, se dettate piu elementarmente sarebbero piu comprensive per il sottoscritto.
Ad ogni modo volevo chiedere ke alimentatore bisognerebbe usare per usare 6 servi per modellismo tutti collegati alla ztessa scheda arduino?
inoltre arduino uno quale versione utilizzare per realizzare l’esempio citato?
Grazie
Angelo
Autore
Ciao Angelo, in alcuni esempi sorvolo su descrizioni che ho già riportato in precedenti articoli per non annoiare chi é abituato a seguirmi quotidianamente e a leggere i miei percorsi didattici arduino.
Se qualche descrizione ti sembra poco dettagliata usa il mio corso on-line gratuito per trovare gli articoli elementari e comprendere tutti i passaggi.
Per alimentare i servo devi controllare la corrente assorbita da ciascun servo e sommarla per determinare l’assorbimento massimo.
Sul tipo di arduino puoi usare qualsiasi versione della uno per questo esempio.
Gentilissimo e grazie della delucidazione
da pochi giorni ho conosciuto l’esistenza del forum relativo all’argomento e quindi sono ancora poco pratico
grazie ancora
Angelo M.
Buon giorno
Sto costruendo un flipper di legno per mio figlio, adesso devo applicare dei motorini da 6v fino a12v e con la scheda arduinouno non lo posso fare? Mi suggeriresti per favore qualche soluzione? Ringraziando in anticipo saluto
Autore
Ciao Alessio,
anch’io vorrei costruire dei giocattoli in legno per il mio futuro figlio 🙂
Ne stai realizzando uno a dimensioni reali? Potremmo condividere i disegni se ti va 🙂
Che motori vuoi utilizzare, cc, passo-passo, servomotori ?
Il voltaggio è un falso problema perché a seconda del motore che scegli esiste un driver di controllo che adatta il segnale arduino a 5v ai tuoi 6,8,10,12 volt ecc…
Ciao Mauro
Il flipper ha dimensioni ridotte, non l’ho misurato , n’è disegnato … Sono partito da una idea, ho adattato diversi giochi da far fare alle pallina e sono andato avanti, posso inviarti foto e video se vuoi, poi per i giochi , sto usando materiale di recupero, per esempio il motorino oggetto della domanda , veniva da un pd vecchio, ma per fortuna ho già risolto con un transistor :), il gioco funziona , ma se mi spieghi meglio o addirittura mi dici come fare a fa andare i motori cc da 9v con arduino te ne sarei grato, tanto il problema mi si ripresenterà … , per esempio devo far funzionare un solenoide da 12v con arduino,
Autore
Ciao Alessio,
si mi piacerebbe avere le foto, video e sketch che hai realizzato per scrivere anche degli articoli a tuo nome.
Usa la casella info del blog, quella da cui ricevi le risposte ai commenti e che trovi nella sezione contatti del blog.
Per i motori puoi usare una motor shield ( cerca nel blog ci sono decine di articoli ) per il solenoide puoi usare un relè o un circuito con transistor, visto che sai realizzartelo.
Ok, da domani riavrò il pc, e sarà più semplice scrivere e postare foto, premetto che al momento è ancora in lavorazione il flipper, appena posso ti mando un po’ di materiale
Autore
Grazie Alessio.
Ciao Mauro, come mi hai suggerito tu i ti contatto da qui! Ho acquistato una pinza robotica con due servi (pan-tilt per intenderci). Questi sono comandati da un potenziometro e due pulsanti. A seconda di quale premo, ruotando il potenziometro si muove il servo corrispondente. Il problema che ho è che se decido di muovere l’altro servo, questo inizialmente si porta alla posizione finale di quello mosso prima! Esempio: muovo servo1 a 45°, se decido di muovere servo2 a 75°, questo si porta prima a 45°, già prima di ricevere il mio comando! Come posso risolvere? Magari se vuoi ti posto il programma. Ti ringrazio anticipatamente ed eventualmente mi scuso per la banalità della domanda, ma sono agli inizi e sto cercando di imparare.
Autore
Ciao Francesco,
con un solo potenziometro è complesso controllare due servo senza che il secondo riprenda la posizione del primo.
Devi far in modo che il valore in gradi applicato al secondo servo sia resettato nel momento stesso in cui premi il pulsante.
In pratica:
premi il primo pulsante, imposti il valore in gradi = lettura dal potenziometro, applichi il valore al servo;
premi il secondo pulsante, imposti il valore in gradi = lettura dal potenziometro, applichi al secondo servo;
è importante che le variabili dei gradi siano differenti per evitare che il primo valore finisca sul secondo servo.
Grazie per la risposta, Mauro.
Ho variato leggermente il programma (sperando di aver capito i tuoi consigli) assegnando ad ogni potenziometro due variabili di angolo diverse (angolo1 e angolo2). Purtroppo in questi giorni non ho arduino per provare, quindi se a te non dispiace vorrei postare il programma per sentire il tuo parere: 🙂
[ codice rimosso in automatico ]
prima in entrambi i cicli usavo la sola variabile “angolo”.
Autore
Ciao Francesco,
come hai letto in ogni mio articolo c’è scritto di non pubblicare sketch nei commenti, ci terrei a che tu rispettassi questa regola oltre a leggere bene quello che scrivo 🙂
Hai interpretato bene il mio consiglio.
Siccome il codice viene rimosso in automatico dai commenti posso dedurre che tu abbia scritto correttamente lo sketch se hai capito il mio consiglio.
Scusami, non avevo letto questa regola, perdonami! 🙂
Salve, ho bisogno di realizzare un sistema di controllo pan (180°)-tilt (90°)per comandare una gopro attraverso un comando modello joystik. Il circuito da te realizzato puo’ essere utilizzato a tale scopo?Sarei grato ricevere il tuo consiglio. Grazie
Autore
Ciao Nando,
trovi nel blog alcuni articoli dedicati al pan e tilt per controllare telecamere e non solo.
Prova a leggere qualcuno di quelli e seguire come schema quello presente in questo articolo o negli articoli specifici.
Grazie per la sua gentile risposta. Ho provato a dare un occhiata tra gli articoli, ma non essendo cosi ferrato in materia se potesse essere piu concreto ne sarei grato. Lo schema su rappresentato che pilota due servomotori attraverso arduino, puo’ messere utilizzato per il mio scopo? Quanta autonomia hanno le batterie? sia quella a 9v che il pacco a 6volt? Vorrei utilizzare per il controllo dei servo un joystick tipo : http://www.ebay.it/itm/181573211735?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649 , E’ idoneo? Come andrebbe collegato? Che servomotori mi consiglia? Preferibilmente con ingranaggi in metallo che mi garantiscano una maggiore affidabilita’. Le spiego: questo meccanismo mi serve da portare in volo con parapendio per cui la componentistica deve essere solida
Se non chiedo troppo, ringrazio anticipatamente.
Autore
Ciao Nando,
cosa intendi per più concreto? Se vuoi realizzare il tuo sistema pan-tilt ti serve acquisire le conoscenze necessarie a sviluppare sia la parte elettronica sia lo sketch.
Lo schema presente in questo articolo mostra solo come alimentare due o più servo connessi ad arduino ma non presenta schemi di connessione per il joystick e sketch da utilizzare; per quelli dovrai leggere altri articoli e comprendere le logiche di programmazione ed i comandi per controllarli.
In merito alle domande che mi poni:
1. quanta autonomia hanno le batterie?
dipende dal tipo di servo, joystick ed uso che ne fai
2. sia quella a 9v che il pacco a 6volt?
la 6v alimenta i servo e quindi più soggetta a scaricarsi
3. é idoneo? Come andrebbe collegato?
il joystick che indichi non l’ho mai provato potrebbe essere ottimo come troppo lento in risposta, devi provarlo
4. che servomotori mi consiglia?
prima di scegliere il tipo di servo io ti consiglio di comprendere quanta coppia ti serve, se da un lato immagino che la macchina fotografica pesi poco dall’altro devi calcolare la forza dell’aria che investirà la stessa e di conseguenza la coppia che i servo devono opporle.
Ciao Mauro scusa, sono di nuovo io.
In base alle tue conoscenze e esperienza, quali servo, secondo te, sarebbero più idonei a soddisfare le mie esigenze compatibili con la piattaforma Arduino? Naturalmente ti chiedo un consiglio indicativo. Mg 946R 18kg, MG 995 RC 10Kg ingranaggi in metallo sono consigliabili e compatibili? Avresti altri prodotti da suggerirmi? La GOPRO pesa 150g. E poi. come già dettoti nel primo messaggio mi serve in rotazione pan 180° e tilt 60°-90°.. Posso utilizzare anche servo con rotazione 360°o per forza 180°?
Relativamente allo sviluppo dello sketch attraverso un mio amico appassionato, credo di districarmi. Credo 🙂
Ah, altra cosa. In rete ho notato esistere schede Arduino compatibile e anche non originali. Sono affidabili entrambe oppure meglio diffidare?
Grazie per la straordinaria pazienza
Autore
Ciao Nando,
per la realizzazione di un pan e tilt io userei dei servo 0-180° in quanto controllabili in gradi.
I servo a 360°, spesso, non puoi controllarli in gradi ma in velocità per cui sono più simili a dei motori DC.
Sul tipo di servo da scegliere influisce il peso da spostare; 150g sono comunque esigui.
I servo con ingranaggi in metallo sono, solitamente, più affidabili in termini di risposta e precisione.
Io uso solo schede originali per 2 motivi:
1. l’unica scheda non originale che ho acquistato, sbagliando, è anche l’unica che oggi non funziona più su decine acquistate;
2. è un progetto italiano e l’arduino è fatto in Italia penso che noi per primi abbiamo il dovere di difendere i nostri prodotti dalla contraffazione
Ciao Mauro,
Volevo chiederti come potrei alimentare 5 servo SG90 con alimentazione esterna, poiché con 5V si muovono troppo lentamente.
Ho letto che ogni servo assorbe 4.8-6V.
Aspetto una tua risposta.
Autore
Ciao Pietro,
usa un pacco batterie da 4 AA ( 1,5v ) così otterrai la tensione nominale di 6v che occorre ai servomotori.
Ciao Mauro,
complimenti per l’articolo. Io vorrei chiederti un suggerimento in merito a questo problema. Io ho creato uno script con il software Matlab che spedisce dati angolari ad arduino attraverso l’usb. L’arduino poi usa questi dati per controllare 6 servo ed in futuro anche un motore passo passo. Tuttavia collegando i 6 servo ad alimentatore esterno con massa comune con arduino, dopo aver scaricato lo sketch, ricollegando l’usb al pc si verifica un assorbimento che cerca di andare oltre l’ampere sull alimentatore che mi obbliga a spegnere tutto onde evitare che i servo si brucino. E questo senza che il programma di spedizione dati dal pc sia nemmeno ativo. Se pero stacco l’usb l’assorbimento dell’alimentatore esterno torna normale. La cosa strana è che se ad esempio creo un programma tipo sweep 0 180 gradi che muove in contemporanea i sei servo, lo scarico, accendo l’alimentatore e ricollego l’usb NON sulla stessa porta dove ho scaricato il programma, tuti i servo si muovono correttamente con assorbimenti accettabili, e talvolta anche se lo ricollego sulla stessa porta dove lo ho programmato. Probabilmente sbaglio io qualcosa di banale ma non riesco a capire, se hai qualche suggerimento?
Grazie in anticipo
Autore
Ciao Marco,
non ho mai verificato comportamenti simili, mi sentirei di dirti che il problema sia nelle righe che riguardano la comunicazione.
Verifica una linea alla volta cosa accade al circuito e verifica che non ci sia qualche linea di codice errata.
Altra verifica, anche se mi scrivi che la trasmissione dei dati non è ancora iniziata, è che la sequenza di controllo dei servo sia troppo rapida, ossia ti manca un delay() al termine di ogni posizionamento che permetta al servo di raggiungere i gradi impostati e lo costringa a spostamenti forzati continui.
Ciao Mauro.
Innanzitutto grazie per il tuo sito e per la tua disponibilità, sono preziosissime!
Vengo al dunque.
Sto realizzando un braccio robotico sulla base del progetto uArm (openproject)
Il movimento è composto da 3 servi MG995 55G e un microservo SG90 9G.
Per ora lo sto facendo funzionare con 2 joystick.
Al primo tentativo con l’alimentazione USb ovviamente non funzionava quasi nulla, ma me lo aspettavo.
Ho quindi riprovato alimentando Arduino con un pacco batterie stilo da 6×1,5V.
Le cose sono migliorate sensibilmente, i servi funzionano ma la precisione lascia molto a desiderare, si muovono male, a scatti, e a volte non rispondono proprio.
Ho quindi preso un servo-shield v4 per alimentare il tutto con una fonte esterna adeguata.
E qui arriva la domanda, visto che con le misure dell’elettricità ho qualche problema…
Quali sono le caratteristiche che dovrebbe avere l’alimentatore?
Ho capito che il voltaggio dovrebbe essere tra 6 e 7,2V, ma per quanto riguarda Watt e Ampere mi sono perso, qual’è la potenza necessaria ad alimentare i 4 servi? E se volessi aggiungere un ulteriore micro servo per una pinza?
Grazie,
Andrea
Autore
Ciao Andrea,
puoi calcolare in linea del tutto teorica la corrente che ti occorre considerando le caratteristiche dei servo che il produttore ti ha rilasciato.
In alternativa puoi alimentare il tutto e misurare con un tester la corrente assorbita.
Considera che quando i servo saranno sotto sforzo perché il braccio solleva qualcosa o la pinza si chiude, la corrente assorbita cresce fino a quella indicata come corrente di picco.
Ciao Mauro ho un servo TowerProMG995 che lavora da i 4,8-7,2V volevo chiederti posso utilizzare una batteria da 9V con una resistenza per alimentare il mio motore ? Grazie
Autore
Ciao Aurelio,
io preferisco metodi più stabili come diodi zener o stabilizzatori di tensione a 6v ( ad esempio: 7806 )
Sopratutto perché i servo sono molto sensibili.
Grazie per la risposta, ho visto il datasheet della famiglia 78XX ed ho notato che hanno 2 condensatori in parallelo sulla tensione di entrata e quella di uscita pari a 0,33 microF e 0,1microF ciò significa che questi condensatori sono sempre questi indipendentemente dal regolatore che scelgo 7806 7805 e così via ???
Autore
Ciao Aurelio,
lo schema che hai visto è quello base consigliato per tutta la famiglia 78xx, troverai molti esempi di schemi on-line
Mauro
Perfetto , l’ultima cosa che non mi è chiara è l’Amperaggio, io ho 3 MG995 che assorbono 450mA a 6V quindi in totale avrei un assorbimento di 1,35A ma il 7806 ho letto che è in grado al massimo di dare 1A come potrei fornire ai miei motori gli Ampere necessari?
Autore
Ciao Aurelio,
puoi usare 2 circuiti 7806 in parallelo oppure optare per un convertitore DC-DC come quello che ho recensito sul blog qualche anno fa e che eroga fino a 6A così sei coperto anche se i servo si rivelano più esosi in fase di utilizzo.
Ciao Mauro
Ho comprato Arduino 1 e con il blinks e un relè statico sono riuscito a muovere a tempi prestabiliti
Un motore di una lavatrice
Adesso contemporaneamente vorrei comandare anche il motorino 220 v
Del programmatore che mi deve fare un altro lavoro.
La mia domanda devo collegarlo sempre al pin 13 oppure no?
Nella programmazione vanno assieme o vanno caricati due blink separati?
Grazie in anticipo e scusa la mia ignoranza nell’argomento
Autore
Ciao Donato,
se il motore a 220v lo devi controllare in modalità on/off puoi usare il medesimo pin a patto di usare un circuito di controllo adeguato che non interferisca tra i due motori.
Ciao Mauro,
è la prima volta che uso Arduino. Ho letto il tutorail e ho visto che hai scritto che è fondamentale il terminale comune, ma si può anche collegare ad Arduino solo il pin che nella foto è giallo e quello nero direttamente al servo? Grazie in anticipo e scusa l ignoranza ma è proprio la mia primissima volta
Autore
Ciao Gabriele,
ti conviene rispettare esattamente lo schema suggerito per non danneggiare arduino o il servo.
Grazie per la risposta. Quando ho comprato Arduino c’era incluso un alimentatore da collegare alla corrente, per esempio, sempre seguendo lo schema con il terminale comune, io ho un servo che gira a 4,8 V, in quel caso potrei usare quattro batterie da 1,2 V per alimentare il servo, e quell’alimentatore per alimentare Arduino ? Nell alimentatore L’output è 9V e 1A
E se uso due servo devo usare il doppio del voltaggio o non c’è bisogno?
Autore
Ciao Gabriele,
assolutamente no !! romperesti i servo.
Ciascun servo è alimentato con la tensione massima indicata dal produttore.
Ciao Mauro,
grazie per il chiarimento quindi in linea di massima se ne collego piu di uno il voltaggio lo lascio uguale e lavorano ugualmente bene al massimo si scaricano prima le batterie?
Autore
Ciao Gabriele,
in linea di massima si, se i servo sono tutti allo stesso voltaggio.
Ti consiglio di leggere qualche wiki base sulla differenza tra tensione e corrente e la legge di Ohm.
Ciao Mauro,
Grazie per la pazienza perchè sono ancora alle prime armi, seguirò il tuo consiglio di cercare qualche wiki base.
Ciao Mauro,
Volevo chiederti, io ho alimentato il servo tramite 4 batterie esterne come te, ma usando un interruttore e un circuito di ricarica, il mio progetto è un robot automatico, succede che quando i 4 motori dc del robot stanno andando, il servo continua a girare a 360°, mentre dovrebbe stare fermo e ruotare solo quando i motori si fermano. Come mai?
Grazie mille
Autore
Ciao Christian,
il problema che descrivi dubito che sia legato all’alimentazione, secondo me dipende dallo sketch che stai usando.
Controllalo e correggilo per evitare la rotazione continua del servo.
Ciaooo volevo sapere se potevi fare un tutorial,oppure in un commento di risposta mi potevi fare uno schema più semplice ed efficace possibile di un solo ervo motore e l’arduino uno,controllato da un potenziometro con uno sketch e anche credo una batteria da poterlo usare indipendentemente(da solo) senza aver bisogno appunto dal computer o altre dispositivi,puoi dirmi cosa altro dovrei aggiungere SEMPRE cn uno schemino e uno sketch che nn ho mai fatto quindi se potresti usare termini da MORTALI xD Hahahah okkey,scusa il disturbo,grz in anticipo
Autore
Ciao Alberto,
trovi tutto quello che ti occorre in decine di articoli nel Blog.
Inizia con il corso base e se non ti è chiaro qualcosa che leggi usa i commenti.
Ciao Mauro,
io ho un sensore fotoelettrico da utilizzare con arduino. Questo utilizza una tensione da 10 a 30 V dc.
Volevo chiederle come posso utilizzare questa fotocellula con arduino, e che alimentatore esterno dovrei utilizzare? Inoltre, che collegamenti opportuni dovrei fare?
Grazie mille dell’aiuto
Autore
Ciao Gianluca,
premesso che non vedo il collegamento logico con questo tutorial ti chiedo di inserire il commento in un articolo in cui si parla dei sensori fotoelettrici, meglio se identico al tuo modello ( cerca nel sito ).
Prima di scrivere il commento al prossimo articolo prova a verificare che l’esempio proposto funzioni con il tuo sensore, così saprai darmi qualche info in più.
Ciao Mauro,
sto costruendo un piccolo robot utilizzando 4 ruote tipo queste
http://www.plexishop.it/it/motore-6v-con-ruota.html
con un integrato L293D.
Alimento separatamente le ruote con 2 batterie da 9V in serie.Ho un consumo anomalo della batteria e inoltre quando la somma delle 2 batterie arrivano a 13 V le ruote non si muovono per niente.
Controllando con un tester ho visto che al motore arrivano 0.3/0.5 v.
Ho provato anche a sostituire il L293D ma senza risultato
Daniele
Autore
Ciao Daniele,
il consumo delle batterie potrebbe dipendere da un malfunzionamento del motore o dei collegamenti.
In ogni caso sarà dovuto ad una anomalia di assorbimento di corrente ( A ) più che di v.
Fai qualche test di assorbimento e dei consumi.
Ciao Mauro,
io alimento arduino con un caricatore dovrei alimentare due sensori il dht11 e il sensore di umidita’ dal terreno
per il dht11 posso usare i 5v di arduino per il sensore di sensore di umidita’ dal terreno non saprei come alimentarlo? non c’e’ un modo per attaccare i due sensori a arduino
Autore
Ciao Nicolas,
non ho compreso la domanda.
sto costruendo un serra automatizzata , all’interno della quale ho il dht11 per rilevare la temperatura e l’umidita’ e il sensore di umidita’ del terreno per rilevare l’umidita’ del terreno ,ogni sensore ha la su piastra . i 2 sensori usano 5v
quindi avevo pensato di attaccare il dht11 ai 5v di arduino . ma non saprei come alimentare il sensore di umidita’ del terreno? e se volessi aggiungere altri sensori come potrei alimentarli?
Autore
Ciao Nicolas,
puoi collegare le alimentazioni in parallelo al 5v se ce la fai con la corrente erogata da arduino ad alimentare tutti i tuoi sensori.
In alternativa dovrai usare un collegamento ad una alimentatore esterno da 5v.
Ciao Mauro sono un principiante del mondo arduino.
Voglio collegare un motorino 24vca ad arduino posso usare soltanto un relè con bobina da 5v?
Autore
Ciao Enrico,
se desideri che non sia controllato in accelerazione ma solo acceso e spento puoi usare un relay, leggi i miei articoli su come fare il circuito e lo sketch.
Ciao Mauro,
stavo provando a fare camminare un robot bipede e al momento sto usando 10 servo. Quando ne collego solo sei funziona perfettamente, ma quando li collego tutti e dieci si blocca in una posizione e non si muove più. Ho visto che scollegando gli altri tre servo funziona di nuovo quindi ho pensato che fosse un problema di alimentazione. Uso 4 batterie da 1,5 V del tipo D in serie, quale batteria mi consiglieresti per alimentarli?
Autore
Ciao Gabriele,
se usi una alimentazione esterna puoi provare a raddoppiare le pile unendole in parallelo alle 4 che già usi, se il problema è la corrente dovrebbe risolversi.
Il alternativa io uso pile LiPo che erogano correnti molto elevate ed hanno un peso ridotto, anche se il costo è elevato.
Non ho trovato lipo di 10 ah, perchè ogni servo ne assorbe 1A. Ho visto però che sconsigliano l’utilizzo delle batterie in parallelo perchè facilmente capita che batterie possono avere anche lievi differenze di carica che porterebbero la più carica a scaricarsi sull’ altra più scarica. Se invece del parallelo usassi solo il gnd comune tra i due pacchi batterie e arduino senza collegare i positivi e facessi due circuiti ognuno per metà dei servo ci sarebbe sempre quel rischio? Cioè un circuito per 5 servo con 4 pile, un altro per gli altri 5 con le altre 4 pile e le due masse collegate in comune con arduino?
Autore
Ciao Gabriele,
non comprendo perché parli di LiPo e poi di pacchi con 4 pile.
In generale quello che scrivi è comunque pericoloso sia che sia eseguito con delle pile normali sia con delle LiPo
Ciao Mauro,
si ho fatto un po di confusione mentre scrivevo cmq se è pericoloso meglio evitare, ma dato che ho un altro arduino se collegassi cinque servo (alimentati con una lipo o con le mie 4 pile) in un arduino con gnd comune, e facessi la stessa cosa con gli altri 5 all altro arduino però alimentati da altre quattro pile o un altra lipo come se dovessero essere due cose separate, e poi collegassi i due arduino con comunicazione i2c?
Autore
Ciao Gabriele,
potrebbe essere una soluzione.
In alternativa io non trascurerei lìuso di shield per il controllo dei servo, mi sembra ci siano a 12 o 16 servo con comunicazione i2C
Ciao Mauro,
Ti ringrazio per l’aiuto, già che ci sono allora penso che darò anche un occhiata a uno shield.
Autore
Ottimo Gabriele !!!
salve
è possibile collegare due servo ( alimentati esternamente) messi in parallelo ad un solo pin di arduino ?
grazie
saluti
Autore
Ciao Peppe,
non ho mai provato ma direi che se i servo non richiedono troppa corrente di controllo, dipende dal servo e va misurata con un tester, dovresti riuscirci.
Di certo non avrai esattamente gli stessi movimenti in quanto la minima differenza meccanica tra i servo ha come effetto un diverso movimento.
Carissimo Mauro,
Ti ringrazio anticipatamente per tutti i consigli messi a disposizione nel tuo blog e ti faccio i più sinceri complimenti.
Sono proprio alle prime armi con arduino e fin ora ho solo fatto qualche semplice esperimento, essendo un vecchio aeromodellista ho innumerevoli vecchi servocomandi di cui tre ne ho usati per muovere un piccolo braccio robot da me costruito, insieme a tre ponteziometri e scheda leonardo, con un semplicissimo schetc, ma due servi (all’epoca di qualità) anche se alimentati con batt. esterna presentano un leggero movimento pulsante incontrollato. Ho provato anche con un condesatore, ma niente, è questione di servi? Hai qualche suggerimento da provare?
Grazie per la tua disponibilità.
Saluti.
Sergio
Autore
Ciao Sergio,
potrebbero essere servo che funzionano con dei timing differenti da quelli generati da Arduino, verifica sulle caratteristiche del costruttore quale frequenza di funzionamento abbiano ed eventualmente modifica il TIMER corrispondente di arduino per controllarli.
Anche io uso con arduino dei servo Futaba di qualche decennio fa usati su aeromodelli e sono molto stabili.
Grazie per la disponibilità provvederò subito.
Saluti.
Salve
Volevo chiedervi se posso collegare tre servo ad un alimentatore esterno recuperato da un vecchio caricabatterie per cellulari da 5v e890mA.
Ho provato con 4 batterie mini stilo da 1.5v ma dopo neanche un ora e mezza si scaricano per questo volevo provare con una alimentazione via cavo.
Autore
Ciao Salvatore,
ricorda solo che i servo al massimo possono essere alimentati a 6v, a meno che il produttore indichi tensioni differenti.
Ciao, dove posso trovare l’alimentatore da presa origonale per arduino? Grz
Autore
Ciao Ernesto,
hai visto se esiste questo articolo sullo store del sito arduino.cc ?
Io utilizzo degli alimentatori stabilizzati acquistati da robotics-3d.com che hanno marche differenti.
Ciao Mauro, posso collegare 1 o più motoriduttori RH159 75 12V ad una batteria auto senza correre rischi di surriscaldamento cavi o peggio di bruciare i motoriduttori. Vorrei infatti evitare di dover scaricare troppo spesso una classica batteria al piombo, di quelle ricaricabili, da 7,4 ah.
Ti ringrazio in anticipo
Autore
Ciao Alberto,
la micromotors, produttore del motore che possiedi, rilascia dei datasheet molto dettagliati che puoi consultare per comprendere quanta corrente assorbiranno i motori sotto carico. Purtroppo non conosco le caratteristiche di tutti i motori prodotti.
modello: RH159.12.75
Motoriduttore in corrente continua a 12V con velocità di rotazione di 43rpm ed una forza di 30Ncm. Soppressione disturbi con VDR sul collettore; direzione di rotazione secondo polarità.
Tensione nominale 12V
Corrente a vuoto <60mA
Corrente a coppia max. 230mA
Rapporto di riduzione 1:76,84
Coppia Max. 30 Ncm
Velocità a vuoto 43 rpm
Diametro asse 6mm
Materiale ingranaggi Canevasite (solo prima ruota)
Acciaio sinterizzato
Peso 190gr
Ciao Mauro, la mia domanda era indirizzata a poter utilizzare una batteria da auto che ovviamente ha un amperaggio ben maggiore senza rischiare di bruciare tutto. Premesso che i motorini non avranno un moto continuo ma impulsi all’occorrenza, da profano pensavo che s e una batteria da 7,2Ah permette di dare 31 impulsi, una batteria da 60 Ah dovrebbe permetterne 260: è giusto come ragionamento o proprio non ci capisco niente?? Quindi, per riepilogare, non userei la batteria da auto per la potenza, dato che lo spunto dei motorini è di sicuro relativamente basso, ma solo per un fatto di durata.
Grazie in anticipo per la risposta.
Autore
Ciao Alberto,
dalle caratteristiche il motore assorbe sotto carico, quindi in funzione, 230mA che è la corrente massima alla massima coppia.
La batteria da 7,2Ah = 7200mA ti consentirebbe di tenere il motore acceso alla massima coppia per 7200 / 230 = 31h questo è approssimativamente il calcolo; ai 230mA devi sommare l’assorbimento del circuito e di tutti i componenti coinvolti, per cui la cosa migliore è eseguire una misurazione della corrente assorbita dal progetto una volta assemblato.
Ciao Mauro,
Avevo un problema nell’alimentazione del mio robot (il motore è controllato dal modulo L298H, il quale è collegato con Arduino Uno ed il tutto era alimentato da un package di batterie da 7.5V), ma con questa configurazione e con l’aggiunta di sensori IR (alimentati dal pin 5V di Arduino) il package non riusciva a fornire abbastanza tensione per far funzionare correttamente i sensori e i motori stessi. Quindi avevo in mente di alimentare separatamente Arduino dai motori; provando non funzionavano i motori. Poi ho letto il tuo articolo molto chiaro ed ho capito che il problema era il GND che Arduino e L298H devono avere in comune. Perché la logica non funziona senza il GND comune? Ora funziona tutto alla grande! 🙂
Grazie mille per l’articolo
Autore
Ciao Andrea,
sono molto contento ti sia stato utile il mio articolo.
Se vorrai pubblicare in futuro il tuo progetto sarò a disposizione con il mio blog per farlo aiutando altri appassionati come te.
Ciao Mauro,
Sono uno studente, ed é da poco tempo che utilizzo arduino. Le volevo chiedere se si può collegare sia l’alimentazione sia collegare arduino al pc senza recare danni alla scheda?
Grazie in anticipo
Autore
Ciao Sergio,
in linea di massima è possibile, io personalmente consiglio prudenza in quanto in caso di corto circuito, dovuto ad un tuo errore o a uno shield non certificato od originale chi ha la peggio è il Pc. Arduino, in generale, è più resistente e non si danneggia facilmente.
Ciao Mauro io dovrei realizzare un sensore di peso che una volta raggiunta la pesata giusta cioè quella impostata mi attivi un rele mi puoi aiutare ? Ti lascio anche il mio whats app nel caso volessi inviarmi uno schizzo grazie anticipatamente ciao Paolo
Autore
Ciao Paolo,
penso tu abbia sbagliato articolo.
Ho pubblicato articoli specifici sull’argomento, con uno sketch che puoi usare come base a cui apportare le tue modifiche.
Scusate…devo alimentare una breadboard ma il mio professore ha detto di tagliare un caricabatteria del telefono prendere il positivo ed il negativo ed alimentare la breadboard, mi chiedo…con il voltaggio di casa se faccio un corto circuito nel circuito che succede? Mando tutta la casa in corto circuito? Succede qualcosa?
Autore
Ciao Marco,
se usi un alimentatore per caricabatterie dei moderni telefoni avrai circa 5v sui poli negativo e positivo ed eventuali cortocircuiti al massimo bruceranno il circuito e l’alimentatore.
Fai attenzione se usi arduino connesso al pc perché in caso di corti rischi di bruciare la porta usb del computer più che la casa.
Trovi su questo blog un articolo in cui sono elencati i 10 modi per rompere arduino ironicamente scritto per dirti di non farlo.
Ho letto il suo tutorial con attenzione. Io possiedo una scheda Arduino Mega 2560, che da quanto so ha 54 uscite digitali, di cui 15 di tipo PWM, quindi da quanto ho capito capaci di pilotare un servomotore. Per il mio progetto dovrei riempire tutte le 54 uscite digitali, precisamente 51 uscite utilizzate per dei diodi led e 3 utilizzate per dei servomotori, che funzionano ad un voltaggio di 6 volts. Per l’alimentazione avrei pensato di utilizzare un alimentatore da pc, in particolare la linea a 12 volts, abbassando il voltaggio ai 6 volts necessari tramite un regolatore di tensione 7806, collegandoli insieme come si vede nel suo tutorial.
E’ fattibile la cosa? è necessario comunque alimentare la scheda arduino a parte come si vede nel suo tutorial, ed eventualmente è possibile farlo sempre usando lo stesso alimentatore da pc, una linea da 12 volts, cambiando il regolatore di tensione con un 7809 per dare i 9 volts necessari per la scheda?
Scusi per le mille domande e grazie in anticipo per la sua risposta.
Autore
Ciao Giovanni,
se opportunamente dimensionato l’alimentatore può servire sia per arduino sia per i led sia per i servo.
E’ importante valutare la corrente necessaria per i singoli componenti e dimensionare correttamente l’alimentatore.
Grazie mille per la sua risposta. Quello che vorrei usare è un alimentatore da pc che eroga 10A sulla linea 12 volts e 25A su quella a 5 volts. Per quanto riguarda i servo, si possono alimentare ad una tensione compresa tra 4,8 e 6 volts. Quello che vorrei capire è: se utilizzo la linea a 12 volts dell’alimentatore mettendo un regolatore di tensione 7809 compreso di condensatori per abbassare la tensione a 9 volts, posso alimentare arduino direttamente o c’è necessità di abbassare anche la corrente, quindi gli ampere erogati?
E contemporaneamente posso usare sempre la linea 12 volts(un altro cavo) per collegarla ad un altro tipo di regolatore di tensione, precisamente il 7806, per uscire con i 6 volts ed alimentare i 3 servomotori che ho intenzione di collegare ad arduino?
Autore
Ciao Giovanni,
si puoi, come ti ho scritto, puoi alimentare anche Arduino a 12v, se leggi sul sito del produttore ed è un arduino mega originale puoi portare i 12v direttamente ad arduino.
Per i servo puoi tranquillamente usare un riduttore a 6v, l’unico dubbio che ho è che possa essere sufficiente un solo 7806 che eroga 1A dipende dai tuoi servo quanto assorbono.
Grazie, in effetti ho visto che arduino mega accetta un voltaggio compreso tra 7 e 12 volts massimi. Fprse il valore 9 volts è un valore “di sicurezza”?
per quanto riguarda i 3 servo, il modello che uso io è l’HS-55. Le specifiche che ho trovano sono le seguenti: Current Drain – idle (4.8V) 5.4mA
Current Drain – idle (6.0V) 5.5mA
Current Drain – no-load (4.8V) 150mA
Current Drain – no-load (6V) 180mA
Secondo lei basta 1 A per alimentarli?
L’altro problema è che non esiste un 7806, ma soltanto un 7808. Allora, poichè il servo in questione accetta una tensione di 4,8-6 volts, se gli dessi la 5 volts che mi esce direttamente dall’alimentatore che succederebbe? o conviene optare per la tensione 6 volts?
Autore
Ciao Giovanni,
in merito al 7806 esiste ed è regolarmente in vendita dai fornitori di materiale elettronico sia on-line sia in negozio.
Se i servo assorbono 180mA a 6v ( come da tua tabella ) vuol dire ne puoi alimentare 5 con 1A ( 1000mA / 180mA ) ma questo senza carico, devi chiedere al fornitore o verificare con un tester nella tua applicazione, data la coppia opposta dal tuo progetto, quale sia la corrente necessaria.
Ti consiglio, prima di iniziare il progetto di seguire un corso di elettronica base, anche on-line, per comprendere i minimi requisiti della realizzazione stessa.
Ciao Mauro,
io sto costruendo un braccio robotico.
ho 4 microservo towerpro sg90 da alimentare.
Arduino lo alimento con una 9V.
I servo come posso alimentarli? bastano 4 stilo in serie?
Grazie mille in anticipo.
-Christian
Autore
Ciao Christian,
si puoi utilizzare 4 pile tipo AA ( 1,5v ) per alimentare i servo.
Ciao Mauro
un bel articolo ma ho un dubbio, è sufficiente alimentare arduino Atmega2560 rev3 tramite usb dal pc ed aggiungere un alimentatore da 9V 2A per alimentare 5 max7219 8digit 7segment, credo che questi consumino 180mA ciscuno con un voltaggio di 4,0 – 5,5V, più altri 17 led collegati ad altrettanti pin su arduino? O sarebbe preferibile alimentare i 5 max7219 come nell’esempio dei servo e staccare l’alimentatore di 9V da arduino e lasciarlo solo con il pc. Tieni presente che comunque arduino deve rimanere attaccato al pc lo uso (spero) per il simulatore di volo. grazie antonio
Autore
Si Antonio, anche io farei come scrivi e come ho descritto in questo articolo.
Ciao Mauro,
ho provato lo Schema con i relè ma non funziona. Ho alimentato Arduino mega con 12 volt, i relay con 5 volt, collegato il gnd come da schema ma non arriva corrente ai relay. Grazie per eventuale risposta.
Autore
Ciao Alessandro,
hai verificato che inviando HIGH o 1 ad un pin a cui sono connessi i relé arrivino 5v ?
Ciao Mauro,
ho un arduino Mega e devo controllare 4 servomotori HS-5485HB, avendo a disposizione un PCA9685 16 channel adafruit. Mi potresti aiutare a capire come alimentare i servomotori? Non riesco a capire in termini di tensione e corrente cosa scegliere. Grazie in anticipo
Autore
Ciao Antonio,
il calcolo della tensione è facile, dipende semplicemente da quanta in velocità/coppia desideri ottenete dal servo puoi alimentarlo a 4,8 o a 6v nella scheda tecnica del produttore trovi i riferimenti al rapporto tra i due parametri.
In merito alla corrente, il produttore riporta una corrente di 500mA per servo a 6v senza carico, ma non esprime il valore sotto carico, dovresti provare ad alimentare il circuito con un alimentatore da banco e verificare l’assorbimento in funzione.
Buongiorno Mauro
Scusami ma non sono pratico;
Vorrei porti un quesito in merito ad: alimentazione esterna servomotori tower pro sg90 .
Come posso fare?
Certo di un riscontro ringrazio.
Roberto
Autore
Ciao Roberto,
usa i commenti come hai fatto per scrivere la tua richiesta.
Buonasera Mauro,
come al solito tutto chiaro (grande). Riesco a far funzionare il servo sia alimentandolo dal 5V di arduino sia con alimentazione esterna.
Però ho una curiosità. Ho provato a NON seguire l’indicazione di collegare il negativo dell’alimentazione esterna al GND di arduino (cosa che ripeti più volte di fare, ma ho voluto provare ). Il servo inizia a girare come impazzito. Come mai? Ho provato ad alimentare normali motori DC esternamente allo stesso modo (controllati ad esempio con ponte H) ma non ho avuto problemi simili . Forse perchè viene alterata la lettura dell’output PWM del controllo? Solo per capire
Grazie e complimenti
Autore
Ciao Antonio,
corretto, il Gnd o massa è un riferimento che necessariamente deve esistere se vuoi che i segnali PWM siano correttamente interpretati.
I servo, contrariamente al normali motori DC, sono dotati di una propria elettronica con feedback che “impazzisce” se non ha un riferimento a massa.
io purtroppo , alimentando tre servomotori direttamente da arduino, l’ho rotto. evidentemente la corrente assorbita era troppa e questo eccessivo flusso mi ha compromesso qualche componente di arduino.
Autore
Ciao Antonio,
grazie per la condivisione della tua esperienza.
Certamente è sempre meglio leggere dei tutorial o delle guide con i data sheet dei componenti prima di iniziare un progetto .. si evitano rotture indesiderate
Ciao Mauro,
sono nuovo dell’ambiente servo.
Documentandomi ho riscontrato un problema:
dovrei fare ruotare un’asta a intermittenza di 60 gradi.
Vorrei collegare un servo motore 12V ad Arduino.
Il servo disponibile è un BLS-12V7137 37KG 12V ([[sito rimosso nel rispetto del regolamento]]) ma dispone
di 4 fili.
Vorrei avere informazioni sul significato dei fili e sul collegamento dell’alimentazione esterna.
Ciao.
Autore
Ciao Fortunato,
non conosco quel tipo di servo e il link non può essere postato, come hai letto nel regolamento, in ogni caso cercando sul web ho trovato che il modello dispone di due contatti di alimentazione e di sue supplementari che sembrerebbero il Gnd e il controllo.
Purtroppo non ho trovato un datasheet, puoi chiedere al produttore, e senza mi è difficile aiutarti.
Salve, sto progettando una semplice scatola di.legno, con sopra 8 pulsanti illuminati di tipo arcade, un buzzer e un monitor 12c il tutto con arduino uno alimentato con un porta pile da 6 per un tot di 9volt, il mio quesito sta nella sezione dei cavi da utilizzare per I vari collegamenti, c’è chi mi consiglia di utilizzare I fili presenti all’interno di un cavo ethernet per avere varietà di colori, o più semplicemente il cavetto dupont awg30, non saranno troppo piccoli? La distanza del cavo è corta max 30 centimetri, lei cosa mi consiglia? Grazia
Autore
Ciao Andrea,
la dimensione dei cavi va calcolata, se proprio vuoi, in funzione della corrente e del voltaggio.
Diciamo che in linea di massima per le correnti che, probabilmente, hai in gioco non dovresti avere problemi con un AWG30.
Mauro
Ciao Mauro. Come sempre esaustivo e competente. Domanda…
Arduino NANO
4 Servo 996r
4 Servo SG90
Collego loro con 4 pile AA da 1,5v TOT 6V
Arduino Nano Tramite VIN con una 9V
Quanto autonomia ho?
Vorrei Avere Tanta quantità di energia e soprattutto vorrei avere il miglior voltaggio per non avere,
Intoppi pulsanti
Ritardi
Tremolii
Ma efficienza. Grazie mille attendo con ansia una tua risposta.
Umberto
Autore
Ciao Umberto,
il modo migliore è misurare la corrente assorbita dal circuito e calcolare in funzione del tempo di utilizzo desiderato un adeguato amperaggio delle batterie.
Ciao Mauro, sto cercando di utilizzare in un unico Arduino sia la libreria servo.h che quella per riprodurre i suoni TRMpcm… sembra che le sue funzioni tmrpcm.play e myservo.write si disturbino a vicenda, o meglio se avvio un audio e successivamente muovo un servo l’audio si ferma… come posso ovviare a tale problematica?
“Quando vuoi alimentare un dispositivo controllato da arduino, ad esempio un servo, devi ricondare che la cosa fondamentale è mettere il terminale GND ( massa o negativo ) in collegamento tra le alimentazioni ed i dispositivi, si chiama per questo motivo anche terminale comune ”
Come posso fare questa cosa su arduino nano every? Grazie
Autore
Ciao Vincenzo,
puoi farlo collegando il polo negativo del servomotore al pin Gnd della Arduino Nano Every.
Ciao Mauro, complimenti per il supporto che dai agli utenti alle prime armi, io sono uno di quelli. vorrei un’informazione che dopo varie ricerche non sono riuscito a soddisfare. io dovrei collegare un servomotore abbastanza potente con coppia di stallo di 13kg che quando va in stallo consuma 1300mA±10%. per alimentarlo uso un alimentatore esterno 6v 5A, il che è perfetto perché il servomotore richiede 6v. Adesso leggendo anche la tua guida, io utilizzo un esp32, poiché ho letto che l’esp32 non riesce a gestire tale corrente, ne i jumper 28 awg, ne la breadboard come posso collegare il tutto? se usassi dei jumper con terminale dupont 20 awg potrei collegare direttamente i cavi al ground dell’esp32? cioè fare il seguente collegamento:
il + dell’alimentatore 6v al + del servo
il – dell’alimentatore al pin del gnd dell’esp32 tramite un dupont femmina-maschio
il – del servo all’altro pin ground dell’esp32 con un altro cavo dupont femmina-maschio
il cavo del segnale del servo ad un pin dell’esp32
questo creerebbe una massa comune? cioè collegando due cavi differenti awg20 direttamente ai pin dell’esp32 senza la breadboard funzionerebbe, oppure scoppia tutto?
ovviamente alimenterei l’esp32 con un alimentatore a parte 5v.
Grazie per un eventuale risposta spero di essere stato chiaro.
Autore
Ciao Freddy,
spero di aver compreso bene ciò che hai scritto, se così fosse è corretto la cosa importante è che il Gnd del servo ed il Gnd dell’ESP32 siano connessi tra loro creando la “massa comune” che permette all’esp32 di controllare il servo mediante il pin di segnale.
[…] Sono tutti sintomi di scarsa alimentazione e ti consiglio di leggere come collegare i servo con alimentazione esterna. […]