Parma/Salento
Offline
Jr. Member
Karma: 0
Posts: 83
Arduino rocks
|
 |
« on: June 09, 2010, 07:38:25 am » |
Ciao a tutti, possiedo un Arduino Mega e recentemente ho acquistato dei servi MG996R.
Dopo alcune prove e ricerche, ho imparato ad usarli utilizzando la libreria Servo.h.
Adesso, vorrei modificarli ed utilizzarli per sostituire i miei attuali motori DC. Quindi mi chiedo se esista la possibilità di far ruotare tali servi di 360, utilizzando la solita libreria, oppure servendosi di segnali PWM.
Chiaramente son ben accetti anche eventuali consigli sulla modifca hardware da effettuare sui servi.
|
|
|
|
|
Logged
|
|
|
|
|
|
|
 |
« Reply #1 on: June 09, 2010, 08:15:39 am » |
|
|
|
|
|
Logged
|
|
|
|
|
Parma/Salento
Offline
Jr. Member
Karma: 0
Posts: 83
Arduino rocks
|
 |
« Reply #2 on: June 09, 2010, 08:18:54 am » |
Grazie, è quello che ho iniziato a fare giorni fa...
|
|
|
|
|
Logged
|
|
|
|
|
Pistoia
Offline
God Member
Karma: 0
Posts: 775
Arduino è una figata
|
 |
« Reply #3 on: June 09, 2010, 08:20:41 am » |
|
|
|
|
|
Logged
|
|
|
|
|
|
|
 |
« Reply #4 on: June 09, 2010, 08:30:13 am » |
Se non ho capito male 83darking83 vorrebbe convertire un servo in modo da farlo diventare una specie di motore senza vincoli che può pilotare in PWM.. Se è così l'unica cosa da fare (secondo me), dopo aver rimosso i limiti (come da esempio di Calamaro), è quella di rimuovere l'elettronica interna e pilotare direttamente il motore. Non è possibile adattare l'elettronica interna per lavorare diversamente dal normale servo (ovvero: raggiungere una posizione in base ad un segnale pwm)
|
|
|
|
|
Logged
|
|
|
|
|
Parma/Salento
Offline
Jr. Member
Karma: 0
Posts: 83
Arduino rocks
|
 |
« Reply #5 on: June 09, 2010, 08:50:52 am » |
In realtà volevo fare proprio qualcosa di simile a ciò che ha fatto Calamaro, ovvero modificare il servo per farlo ruotare di 360°, mantenendo l'elettronica. (Non devo usare per forza il PWM, anche se dispongo comunque di un PCB per il controllo dei motori, basato su L293D)
Ho visto che alcuni hanno sostituito il trimmer con due resistenze da 2.7 KOHM, quali benefici comporta?
|
|
|
|
|
Logged
|
|
|
|
|
|
|
 |
« Reply #6 on: June 09, 2010, 09:09:06 am » |
dal momento in cui il servo ruota a 360° (ovvero senza soluzione di continuità) il trimmer (che è usato come encoder assoluto) non ha più ragione di esistere, e quindi penso che impostando il valore come se il trimmer si trovasse esattamente al centro serva per poter controllare la direzione del movimento con dei valori certi (i gradi del servo)... Ma la mia è solo una supposizione perchè non ho mai modificato un servo 
|
|
|
|
|
Logged
|
|
|
|
|
Parma/Salento
Offline
Jr. Member
Karma: 0
Posts: 83
Arduino rocks
|
 |
« Reply #7 on: June 09, 2010, 09:18:03 am » |
Praticamente (da quanto ho visto e capito) dovrebbe essere come dici...
Quindi, la mia domanda diventa: sostituendo il potenziometro con delle resistenze di valore equivalente, ho la possibilità far girare il servo a 360°, avendo anche la possibilità di variarne la velocità?
|
|
|
|
|
Logged
|
|
|
|
|
|
|
 |
« Reply #8 on: June 09, 2010, 09:22:40 am » |
Si alla prima e no alla seconda. Puoi far girare il servo nei due sensi chiedendogli di andare alle due posizioni estreme (es: 0° e 180° - se il range è questo) Non puoi modificare la velocità perchè il servo la gestisce in modo del tutto autonomo (ed è per questo che credevo tu volessi pilotare il motore direttamente con il pwm)
|
|
|
|
|
Logged
|
|
|
|
|
Parma/Salento
Offline
Jr. Member
Karma: 0
Posts: 83
Arduino rocks
|
 |
« Reply #9 on: June 09, 2010, 09:31:54 am » |
Immaginavo.... Per adesso, comunque, la variazione della velocità è secondaria e non indispensabile, al contrario della rotazione continua.
Lo scopo finale è quello di utilizzare il servo come un DC Motor, cercando di essere il meno "invasivo"(/distruttivo) possibile sui componenti del servo stesso.
|
|
|
|
|
Logged
|
|
|
|
|
Parma/Salento
Offline
Jr. Member
Karma: 0
Posts: 83
Arduino rocks
|
 |
« Reply #10 on: June 09, 2010, 09:40:31 am » |
Intanto avevo dimenticato che gli ingranaggi del servo sono di metallo... :-/
|
|
|
|
|
Logged
|
|
|
|
|
|
|
 |
« Reply #11 on: June 09, 2010, 09:43:48 am » |
Meglio! sono molto più robusti  Quasi un peccato rovinarli.. comunque se possiedi un trapanino tipo dremel non dovresti avere difficoltà a rimuovere protuberanze o simili.
|
|
|
|
|
Logged
|
|
|
|
|
Parma/Salento
Offline
Jr. Member
Karma: 0
Posts: 83
Arduino rocks
|
 |
« Reply #12 on: June 09, 2010, 09:52:28 am » |
lo so, li ho scelti anche per quello. Solo che ora, non posso eliminare il blocco con il taglierino!  Vedrò di eliminarlo col Dremel...
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15760
+39 349 2158303
|
 |
« Reply #13 on: June 09, 2010, 09:53:48 am » |
Ciao 83darking83 sono stato troppo lento nel rispondere Tongue comunque quel che volevo dire io rispondo a delle domande vecchie: rispondo al reply# 5 e # 7. nelle istruzioni http://www.gioblu.com/index.php?option=com_content&view=article&id=94:come-modificare-un-servomotore&catid=43:azionamenti&Itemid=35 mettono il potenziometro a metá corsa e lo staccano dal ingranaggi che lo muove. Questo equivale a metere un partitore con 2 resistenze uguali come consigliato in altre fonti. In questo modo é possibile utilizzare la libreria servo.h e con valori piccoli gira in un verso e con valori grandi gira nel altro verso. Con un valore centrale (dipende dal rapporto delle 2 resistenze oppure dalla posizione del potenziometro) il motore dovrebbe fermarsi. Se vuoi usare un integrsto tipo L293 devi togliere tutta l'elettronica e pilotare direttamente il motore. Cosí puoi regolare la velocitá con PWM. Ciao Uwe
|
|
|
|
« Last Edit: June 09, 2010, 05:03:25 pm by uwefed »
|
Logged
|
|
|
|
|
Pistoia
Offline
God Member
Karma: 0
Posts: 775
Arduino è una figata
|
 |
« Reply #14 on: June 09, 2010, 10:16:55 am » |
|
|
|
|
« Last Edit: June 09, 2010, 10:34:45 am by Calamaro »
|
Logged
|
|
|
|
|
|