Servocomando che non va esattamente a 0 gradi

Salve ragazzi!

ho collegato un servo all'arduino DUE con alimentazione esterna di 6 volt.Ho il problema che nel momento in cui ho myservo.write(0), il servo non si sposta esattamente a 0 gradi ma qualcosa in più;analoga situazione con 180 gradi arriverà al massimo a 170.

Informandomi su internet(SITO) ho visto che affinchè il servo si posizioni a 180 gradi bisogna trasmettere un segnale con periodo 20ms e un impulso HIGH della durata di 2ms.Allora ho impostato sull'arduino

myservo.write(180);

e con un oscilloscopio ho visto che la durata dell'impulso è di 1.7ms non due come dovrebbe.

Il servo in questione è un Hitec hs-5485HB.

Cosa può essere secondo voi?

Grazie!

La libreria Servo mappa (default) i valori 0-180° con 544 e 2400 μs.

Per modificare questa mappatura si usa l'istruzione servo.attach(pin, min, max).

Per ottenere un impulso preciso si usa invece writeMicroseconds().

Assaltino:
myservo.write(180);
e con un oscilloscopio ho visto che la durata dell’impulso è di 1.7ms non due come dovrebbe.

Con 2 ms il servo va poco oltre 90°, la write(180) genera un impulso di 2.4 ms, che è attorno a 180°, se con l’oscilloscopio vedi 1.7 ms i casi sono due, o hai letto male lo schermo oppure è ora di cambiarlo quell’oscilloscopio :slight_smile:
Attenzione che non tutti i servo arrivano fino a 180°, dentro ci sono dei fermi meccanici che limitano l’escursione massima e non sempre permettono i 180°.
Inoltre i servo digitali sono programmabili su i limiti escursione, non è detto che di serie consentono la massima escursione possibile, anzi quasi sempre è limitata a 150-160° complessivi, per variarla serve l’apposito programmatore.

Astro, leggo sulle caratteristiche di quel servo che è digitale e, salvo diversa programmazione, la sua escursione è tra -45° e 45° pari a 1050μs e 1950μs (fonte www.servocity.com).

Su www.servodatabase.com invece dichiarano una escursione di 60° da 900 a 2100 μs.

Mi domando chi abbia ragione, anche se il primo sito mi sembra il più ragionevole.

cyberhs: Su www.servodatabase.com invece dichiarano una escursione di 60° da 900 a 2100 μs. Mi domando chi abbia ragione, anche se il primo sito mi sembra il più ragionevole.

Solitamente i servo digitali Hitech arrivano con escursione +/-60°, quindi 900-2100 us, però è sempre un'incognita perché non c'è' una regola precisa e ogni produttore fa come gli pare sia come punto neutrale, variabile tra 1500 e 1520 us, sia come variazione per escursione di 45°, variabile tra 400 e 550 us. Il motivo, abbastanza ovvio, per cui i vari produttori giocano con i valori è per obbligare ad usare i loro servo con i loro sistemi radio, anche se con le moderne radio RC è possibile intervenire su molti parametri rendendo possibile usare qualunque servo delle altre marche.