Posizionamento Servo strano

Salve, sto utilizzando un servo Hitec HS-5065MG, utilizzando la libreria Servo che mandando gli impulsi manualmente succede, per esempio, che quando passo da 1000 a 1010 il perno fa un movimento in avanti, poi indietro ed infine in avanti per ottenere la posizione desiderata. Vorrei sapere se è normale, e se si può intervenire in qualche modo.

Per completezza il pezzo di codice che uso è: void servoTiltwriteMicroseconds(unsigned int servoTiltAttuale) { digitalWrite(lineaTiltServo, HIGH); delayMicroseconds(servoTiltAttuale); digitalWrite(lineaTiltServo, LOW); delay(20); }

chiamandolo con: const byte lineaTiltServo = 10; ... servoTiltwriteMicroseconds(1000); servoTiltwriteMicroseconds(1010);

Grazie 1000

Fabio

Per maggiore chiarezza: io collego l'uscita di Arduino direttamente all'ingresso del servo, si può fare, ci sono controindicazioni o conviene fare qualcos'altro ? E alimento il servo con l'uscita di arduino (gnd-5V), in realtà alimento anche: un MAX 232, un MAX 485 e 4 led.

Grazie per l'aiuto

Saluti

a me sembra più un problema di precisione del servo, gli stai facendo fare il suo "scatto" minimo, ma probabilmente il valore è talmente border-line che il servo è indeciso se fare il salto o meno :)

Probabile, anche perché mettendo dei micros() prima e dopo l'onda quadra, l'errore NON è costante. Allora la domanda diventa come si fa ad aumentare la risoluzione (diminuire i gradi gestibili) dal servo ?

Mi spiego meglio adesso ho 900uS - 2100uS come dichiarato dalla casa (anche se non è vero visto che posso andare da 800 a 2200 ma questa è un'altra storia) Se divido l'angolo di 120° per 2200 (2100-900 = 2200) ottengo l'angolo per ogni "scatto" minimo, se compro il programmatore, è possibile diminuire l'angolo (da 120 a 90), in maniera da dargli uno scatto minimo di 5 ma che corrisponde a 0,1° realmente ?

Esistono altri servo che mi riescono a dare una precisione di 0,1° senza gioco (che va bene per il modellismo ma non per i miei scopi ? )

Grazie 1000

Fabio

non puoi scendere di precisione, dipende dalla meccanica. secondo me se vuoi una precisione simile dovresti usare un motore stepper e/o dei motoriduttori.