Loading...
Pages: [1]   Go Down
Author Topic: Posizionamento Servo strano  (Read 331 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: April 26, 2012, 04:38:42 am by fafino » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Tesla Member
***
Karma: 83
Posts: 8243
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

 
Logged

0
Offline Offline
Tesla Member
***
Karma: 83
Posts: 8243
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: [1]   Go Up
Print
 
Jump to: