Pages: 1 [2]   Go Down
Author Topic: Modifica servi...  (Read 2071 times)
0 Members and 1 Guest are viewing this topic.
Parma/Salento
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Intanto ringrazio tutti coloro che sono intervenuti!  smiley-wink

Calamaro, sto cercando di realizzare un rover (con due ruote/motori) molto simile al tuo!

Non capisco perchè con i comandi:

Code:
servo.write(91);
servo.write(180);

dovrebbe variare la velocità! 91 e 180 non indicano l'angolo della rotazione?
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mmm... credo che la velocità di rotazione sia un "dato di targa" del servo, quindi fissa, e data in gradi/secondo.
la modifica non è difficile,
apri il servo,
smonti gli ingranaggi
col dremel, moli i pioli di bloccaggio sulle ruote dentate
da sotto l'ingranaggio più grande rimuovi la guida per il potenziometro (oppure accorci l'albero col dremel)
prima di richiudere il servo, lo connetti ad un driver, dai il comando di "centro" e ruoti il potenziometro a mano fino a che vedi che non gira più
a ques punto blocchi il potenziometro con della colla a caldo e richiudi tutto
fine
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 248
Posts: 21152
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Calamaro
Se l'elettronica del Servo non é progettata per la regolazione velociá vedo meglio togliere tutta e usare il Servo come motorino con un riduttore di giri e pilotarlo con un ponte H come il L293D
Ciao Uwe
« Last Edit: June 09, 2010, 05:09:39 pm by uwefed » Logged

Parma/Salento
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
la modifica non è difficile,
apri il servo,
smonti gli ingranaggi
col dremel, moli i pioli di bloccaggio sulle ruote dentate

Fin qui ci siamo:




Ma non ho capito come applicare la parte restante della procedura...  :-/
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma non riesci a staccare il potenziometro da sotto l'ingranaggio?
comunque, come diceva wefed se ti serve il controllo della velocità devi tirar via tutta l'elettronica e prolungarti all'esterno i fili del motore (adesso motoriduttore) e pilotare il tutto con un doppio ponte h.
se non ti serve controllare la velocità allora dicci cosa non riesci a fare e noi se possibile ti aiuteremo smiley
« Last Edit: June 09, 2010, 11:48:50 am by brainbooster » Logged

Campagne Aretine
Offline Offline
God Member
*****
Karma: 0
Posts: 816
Arduino è una figata
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@ uwe
Si si, hai ragione. Poi a quanto vedo ha gli ingranaggi di ferro quindi il servo è abbastanza pro.

@83darking83
Allora se il potenziometro è fisso all'ingranaggio devi cercare di rimuoverlo con metodi molto più fisici tipo un trapano. sennò ti basta sfilarlo e fare un buco nel case del servo. poi metti il potenziometro in modo che esca il "cosino ruotante" dal buco e lo fissi al case con la colla a caldo. Devi stare attendo a non bloccare il coso ruotante smiley-grin
poi scrivi uno sketch stupido come quello della guida che ho fatto e ti cerchi lo zero.

ps ci sono dei servi che hanno un chip dentro che regola anche la velocità in funzione dei gradi. Infatti esiste un driver per motori di aerei telecomandati fatto con questo chip che si pilota tramite la libreria servo. L'idea è questa, andare da 90 a 91 o da 90 a 180 nello stesso tempo, quindi aumentando la velocità.
Logged

Parma/Salento
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora ho estratto il potenziometro, ed ho seguito la guida di calamaro, ma dopo aver trovato questa guida:

http://projectgus.com/2009/07/servo-pulse-width-range-with-arduino/

ho modificato il codice così:

Code:
01      Servo myservo;  // instanzia un oggetto servo
02        
03      void setup()
04      {
05        myservo.attach(6, 771, 1798);  // servo collegato al pin 6
06        myservo.write(90);  //Sposto il servo a 90 gradi
07      }
08        
09      void loop()
10      {
11      
12      }

poichè, scrivendo semplicemente:
Code:
myservo.attach(6);
il servo non si muove!!

Adesso ho che:
per valori compresi tra 0 e 89 il servo gira in un verso
per valori compresi tra 91 e 120 il servo gira nell'altro verso
per valori >120 il servo non gira

Inoltre per valori "vicini" a 90, come: 88, 89, 91, 92, il servo sembra girare a velocità molto più bassa.

L'unico grosso problema è che il potenziometro è "ipersensibile", nel senso che basta poggiarlo leggermente su un foglio di carta assorbente per farlo ruotare quel poco che basta da far muovere il servo!! (quando è impostato su 90)  >smiley-sad

EDIT: Rileggendo la guida che ho linkato, mi sono accorto che il valore corretto per tarare il servo deve essere 60, non 90...
« Last Edit: June 09, 2010, 12:36:48 pm by 83darking83 » Logged

Parma/Salento
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E se facessi la modifica delle resistenze?

http://todbot.com/blog/2009/04/11/tiny-servos-as-continuous-rotation-gearmotors/
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

se l'ampiezza del movimento originale è 120° allora il "centro/fermo" è a 60° dipende dal servo che usi
P.S. con la colla a caldo và bloccato l'albero del potenziometro.
non togliere il potenziometro potrebbe riservirti, al massimo lo sostituisci con un trimmer di valore uguale.
« Last Edit: June 09, 2010, 01:01:36 pm by brainbooster » Logged

Parma/Salento
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si l'ho già scritto nell'EDIT...

La soluzione con la colla non credo sia percorribile, poichè il potenziometro è troppo sensibile!
Inoltre, se proprio devo bloccarlo, non conviene sostituirlo con  2 resistenze?

EDIT: Anche l'idea del trimmer non è male, devo vedere se riesco a trovarne uno da 5K[ch937]...
« Last Edit: June 09, 2010, 01:12:18 pm by 83darking83 » Logged

Campagne Aretine
Offline Offline
God Member
*****
Karma: 0
Posts: 816
Arduino è una figata
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

se blocchi l'albero come fai a tararlo una seconda volta se ti si stara?
Logged

Parma/Salento
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Via software, cercando il punto intermedio?

Comunque ho optato per il trimmer, che mi sembra la soluzione più logica (e pratica), sempre che riesca a trovarlo.
Logged

Campagne Aretine
Offline Offline
God Member
*****
Karma: 0
Posts: 816
Arduino è una figata
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

come trimmer puoi usare un potenziometro qualsiasi!
Logged

Parma/Salento
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si ma il trimmer, grazie alla "vite", è molto più difficile che si sposti dal valore impostato! (al contrario del potenziometro, che ruota con estrem a facilità).

Mi è piaciuta molto questa soluzione:

http://www.robot-italy.com/article_info.php?cArticlePath=1&articles_id=3
Logged

Campagne Aretine
Offline Offline
God Member
*****
Karma: 0
Posts: 816
Arduino è una figata
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si certamente è un'ottima soluzione smiley-grin
Logged

Pages: 1 [2]   Go Up
Jump to: