Pinza robotica
![]() |
---|
Pinza Robotica |
Da una costola di Ruschino, un nuovo progetto |
Archivio software |
Riutilizziamo un motore per distributore automatico!
Dopo Ruschino WiFi, il robottino nato da alcuni pezzi di un distributore automatico, vediamo di riciclare anche i motori più particolari, quelli con due alberi che girano contrapposti.
Il moto viene generato da un motore in corrente continua a 24v e demoltiplicato da una serie di ingranaggi in plastica che girano contrapposti, quindi tendono a chuidere o aprire.
Se sugli alberi applichiamo due griffe e riusciamo a controllare la posizione del rotore poossiamo pensare a creare una pinza robotica, la riduzione ci garantisce che la pinza puo' anche avere una buoa forza.
Il motore in corrente continua presenta vantaggi e svantaggi, e' abbastanza semplice da pilotare, ma non rimane completamente frenato se si toglie alimentazione.
Progetto di massima
Il progetto e' ancora in fase di evoluzione, per il momento utilizziamo un ponte H per pilotare il motore in continua, il software viene gestito da un arduino.
Alimentazione
Il motore a 24 V ha bisogno di una tensione di alimentazione un po' particolare, percio' abbiamo pensato di utilizzare un comune convertitore DC/DC di tipo step up, al momento la pinza viene alimentata da un alimentatore a 12 v di recupero, ma il convertitore step up ci consente massima liberta' sulla tensione in ingresso e volendo possiamo decidere anche per alcuni tipi di applicazioni di alimentare il motore con un pacco batterie e rendere tutto decisamente portatile.
Controllo
Sul microcontrollore il segnale pwm che pilota i motori e' calcolato dall'algoritmo PID che regola il segnale in uscita basandosi sulla lettura analogica di un sensore.
Anche pinza robotica utilizza una scheda con ponte H come quella di Ruschino WiFi
Ponte H
Per pilotare i motori è necessario un ponte H che sopporti i 24 volts di alimentazione, per questo ho disegnato un board con kicad che utilizza l'integrato L293D ed un paio di transistor per limitare l'utilizzo di pin per il circuuito di comando.
L'integrato richiede due tensioni, una dedicata ai motori(24V), e 5 volts per la logica di comando.
Questo integrato e' abbastanza flessibile, perche' in realta' al suo interno ci sono 4 semiponti, in questo caso i semiponti si utlizzano a coppie.
Questo pero' comporta che per usare due semiponti si necessario utilizzare due pin del microcontrollore, oppure come nel nostro caso u piccolo accorgimento per negare il segnale di un pin e mandarlo in ingresso al secondo semiponte.
![]() |
![]() |
![]() |
![]() |
Sensori
Abbiamo iniziato a misurare la posizione della griffa con un sensore di Hall analogico e un magnete, in questo modo si rileva la posizione della griffa e si regola la potenza erogata dal motore, questo e' indispensabile per evitare che la pinza sforzi troppo. Il progetto si e' evoluto usando una frizione in grado di rilevare la forza applicata dal motore sulla griffa e rendere piu' dimanica la presa.
Per il comando abbiamo aggiunto un joystick che permette di manovrare la pinza in modo molto semplice. Il tipo di joystick utilizzato ha anche un "bottone" (premendo verso il basso la leva di comando) che si puo' utilizzare ad esempio per mantere la posizione una volta afferrato l'oggetto.
Fotogallery
Dal primo test supersemplice utilizzando solo due barrete di metallo, alla progettazione 3D (guarda qui).
![]() |
![]() |
Al primo prototipo reale, le parti bianche sono stampate in 3D.
![]() |
![]() |
![]() |
![]() |
Upgrade, una frizione tra l'albero motore e la griffa, questo permette di misurare la forza impressa dal motore e regolare in modo piu' accurato la presa.
![]() |
![]() |
![]() |
![]() |
![]() |
Evoluzione del progetto
Il software e' stato migliorato e man mano e' reso piu' stabile. Si tratta di un progetto essenzialmente didattico, durante il quale abbiamo constatato che l'algoritmo PID probabilmente non e' proprio il piu' adatto per questo uso, ma lo abbiamo capito solo lavorandoci.
La frequenza del pwm utilizzato per pilotare i motori e' stata aumentata per ridurne la rumorosita'.
Nulla toglie che il software possa essere riscritto anche solo per provare nuove soluzioni ed algortimi.
Dato che tutto sommato il risultato dei primi esperimenti e' stato soddisfacente, abbiamo aggiunto:
- due ingranaggi per mantenere sincronizzate le griffe (risolvono il problema di disallineamento durante salita e discesa e durante la presa)
- un secondo motore per la rotazione della pinza su se stessa
- ricablaggio e ordinamento del prototipo
![]() |
![]() |
![]() |
![]() |
![]() |
Sensore di presa in grafene
Un'altra evoluzione del progetto, sulla griffa sono stati applicati due film in grafene per rilevare la presa della pinza, il principio è semplice, si applicanon i due film con lo strato conduttivo verso l'altro foglio.
Le due facce conduttive sono connesse alle facce di una basetta tramite contatto meccanico e all'arduino con due semplici fili.
Il vantaggio di usare le pellicola il pet come elemento flessibile permette di rilevare la presa anche con forme particolari. Come si vede nella seconda foto la pinza può essere usata per prendere oggetti sottili o con uno spigolo, in entrambe le situazioni il sensore rileva la presa.
Per segnalare la rilevazione del sensore è stato aggiunto un led giallo.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Le modifiche al codice sono minime e visibili in questo commit.