Ciao a tutti,
sto facendo qualche prova con il mio nuovo servo (da 5V).
L'ho collegato ad Arduino con l'alimentazione esterna nel seguente modo:
Servo <-> + Alimentatore
Servo <-> GND Arduino
Alimentatore <-> GND Arduino
Dati Servo <-> Pin 6 Arduino
Ho provato un semplice sketch e non ho alcun problema. Ho però visto che se utilizzo uno sketch che non fa nulla, il servo si muove pianissimo in senso antiorario. Lo sketch che da questo problema è il seguente:
Come vedete non c'è alcuna istruzione, se non il "attach" con cui collego il servo al relativo pin.
Sapreste dirmi perché il servo si muove dopo aver installato questo sketch su Arduino Uno?
Sbaglio qualcosa? Il servo è difettoso? E' normale?
Dal datasheet non vedo indicata la presenza di un trimmer di regolazione della posizione di "fermo" (... cosa che è presente su altri servo).
Probabilmente il segnale che manda di base la libreria servo() quando fai attach() è interpretato comunque come un segnale di movimento, quindi, dopo la attach(), devi trovare il valore da dare con la write() che corrisponde alla posizione di "fermo".
Hai comunque letto il datasheet ? Perché quel servo, sotto sforzo, richiede molta più corrente di quella che Arduino possa dargli, quindi, per alimentarlo, dovrai usare un'alimentazione esterna separata mettendo i GND in comune.
Non avendoli mai usati attendevo anch'io chiarimenti ipotizzando un problema di "offset analogico" che nei normali servocomandi PPM non esiste, o di "drift digitale" dell'uscita di Arduino (piuttosto improbabile e che una misura all'oscilloscopio ha confermato inesistente).
arduinopro44:
Sbaglio qualcosa? Il servo è difettoso? E' normale?
Con quei servo cineseria qualunque bug è una feature.
Se non mandi il corretto valore di PPM, circa 1500 secondi, al servo è normale che può muoversi per i fatti suoi, il corretto valore in us da inviare, per tenere il servo fermo, lo devi trovare con qualche prova, tipicamente è compreso tra 1480 e 1520 us.
Tieni presente che su quei servo il controllo della velocità è un concetto molto aleatorio, in pratica basta che ti sposti di +-/ 100 us dalla posizione di fermo per avere la massima velocità nei due sensi.
gpb01:
Hai comunque letto il datasheet ? Perché quel servo, sotto sforzo, richiede molta più corrente di quella che Arduino possa dargli, quindi, per alimentarlo, dovrai usare un'alimentazione esterna separata mettendo i GND in comune.
Come ho scritto ad inizio discussione utilizzo un'alimentazione esterna! Grazie comunque
astrobeed:
Con quei servo cineseria qualunque bug è una feature.
Se non mandi il corretto valore di PPM, circa 1500 secondi, al servo è normale che può muoversi per i fatti suoi, il corretto valore in us da inviare, per tenere il servo fermo, lo devi trovare con qualche prova, tipicamente è compreso tra 1480 e 1520 us.
Tieni presente che su quei servo il controllo della velocità è un concetto molto aleatorio, in pratica basta che ti sposti di +-/ 100 us dalla posizione di fermo per avere la massima velocità nei due sensi.
Grazie! Il valore che tiene fermo il servo è proprio 1480!
Comunque in un post precedente avevo chiesto consiglio alla community riguardo un decente servo da acquistare e l'unica risposta che mi è stata data è che "un servo vale l'altro": adesso però mi parlate di "cineseria" ed altro :\ quindi ne approfitto per chiedervi quali sono dei buoni servi (ovviamente a me servono per "piccoli usi": dimensioni ridotte e tensione di alimentazione bassa, come quello che sto utilizzando adesso insomma).
Scusa ardu44, se non ricordo male tu avevi proposto i link a due servo (tra cui uno quello che hai comprato) e chi ha risposto (forse Brunello) ti ha solo detto che tra quei due non c'era differenza, si equivalevano. Quindi non un servo vale l'altro in generale ma tra quei due, uno vale l'altro.
nid69ita:
Scusa ardu44, se non ricordo male tu avevi proposto i link a due servo (tra cui uno quello che hai comprato) e chi ha risposto (forse Brunello) ti ha solo detto che tra quei due non c'era differenza, si equivalevano. Quindi non un servo vale l'altro in generale ma tra quei due, uno vale l'altro.
Avevo scritto che vagando per la rete quelli che mi sembravano migliori erano quei due ma comunque avevo chiesto qualche suggerimento (mediante link o sigla prodotto) per altri prodotti visto che, come scritto, non ne ho mai acquistato uno.
Comunque la mia non vuole essere una polemica, semplicemente visto che è stato riaperto il discorso ne approfitto per riformularvi la domanda
Neppure la mi, era solo una precisazione. Probabilmente non vi siete intesi.
Pazienta, qualche esperto ti risponderà. Purtroppo io non lo sono. @astro è unoi quelli che ne sa molto di servo, se legge penso ti darà qualche consiglio.
arduinopro44:
Avevo scritto che vagando per la rete quelli che mi sembravano migliori erano quei due ma comunque avevo chiesto qualche suggerimento (mediante link o sigla prodotto) per altri prodotti visto che,
Dipende da quanto puoi spendere, un servo decente non costa meno di 30 E, uno buono non meno di 50 E, uno ottimo oltre 100 E.