![]() |
|
Dopo aver modificato la parte meccanica (consiglio di seguire il tutorial di Calamaro: Come modificare un servomotore), per permettere la rotazione continua del microservo è necessario modificare la parte elettronica del servomotore.
Questa modifica viene effettuata per un semplicissimo motivo. Un servomotore funziona in modo molto semplice: il potenziometro interno, il cui movimento è legato al movimento dell'albero motore, indica, in base alla resistenza che produce, la posizione attuale del servomotore stesso. Questa unità motrice puo' essere pilotata con la libreria Servo, MegaServo e varie altre inviando un valore in un range tra 0 e 180. Questo valore rappresenta esattamente l'inclinazione del servomotore in un range di 180°.
Noi abbiamo bisogno, alla richiesta di raggiungere la posizione servo.write(90); (mid-range), di avere il servomotore fermo. Questo perchè potremo pilotare il servo dando massima potenza in una direzione con il comando servo.write(180); e lo stesso nella direzione opposta con servo.write(0);.
Per ottenere questo risultato bisogna caricare un programma con il comando servo.write(90);, ruotare il potenziometro finchè il servomotore smette completamente di ruotare e scoprire la resistenza prodotta dal potenziometro in questa posizione (testando la resistenza tra i PIN esterni e quello centrale).
Fatto cio' si potrà eliminare il potenziometro e sostituirlo con due semplici resistenze collegate nella seguente configurazione:
Per un microservo low cost le resistenze devono avere un valore di 2kohm
E' fondamentale prendere in considerazione che variando l'input di alimentazione varia anche la risposta del servo a una data coppia di resistenze fisse. Quindi prima di saldare il tutto assicuratevi di utilizzare la fonte di alimentazione definitiva per il progetto e soprattutto se usate i portabatterie 4xAAA di controllare che le batterie siano nel loro range di utilizzo.
Se avete spazio e tempo a disposizione un'altra possibilità è di utilizzare un normale potenziometro per regolare manualmente la posizione statica, caricando un programma con servo.write(90);
Modifica rotazione continua microservi - parte III
http://www.gioblu.com/tutorials/azionamenti/170-modifica-rotazione-continua-microservi-parte-iii