Differenze tra le versioni di "Pinza robotica"

Da raspibo.
Jump to navigation Jump to search
Riga 30: Riga 30:
 
== Controllo ==
 
== Controllo ==
 
Sul microcontrollore il segnale pwm che pilota i motori e' calcolato dall'algoritmo [http://playground.arduino.cc/Code/PIDLibrary PID] che regola il segnale in uscita basandosi sulla lettura analogica di un sensore.
 
Sul microcontrollore il segnale pwm che pilota i motori e' calcolato dall'algoritmo [http://playground.arduino.cc/Code/PIDLibrary 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.
 +
 +
{| style="background:#FBFBFB; width:100%; border:1px solid #a7d7f9; vertical-align:top; color:#000; padding: 5px 10px 10px 8px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius:10px;"
 +
|style="text-align: center; width:25%" |[[File:04 motor driver L293D.png|300px]]
 +
|style="text-align: center; width:25%" |[[File:04 motor driver L293D top.png|300px]]
 +
|style="text-align: center; width:25%" |[[File:04 motor driver L293D.sch.png|200px]]
 +
|style="text-align: center; width:25%" |[[File:L293D ruschino board.png|300px]]
 +
|}
  
 
== Sensori ==
 
== Sensori ==

Versione delle 00:00, 17 dic 2015

IMG 20151202 172745.jpg

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.

04 motor driver L293D.png 04 motor driver L293D top.png 04 motor driver L293D.sch.png L293D ruschino board.png

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. Ora stiamo per sperimentare una frizione in grado di rilevare la forza applicata dal motore sulla griffa e rendere piu' dimanica la presa.

Fotogallery

Dal primo test supersemplice utilizzando solo due barrete di metallo, alla progettazione 3D (guarda qui).

Pinza robotica 01.jpg Wireframe.PNG Pinza preview.PNG Ruschino board 1.jpg

Al primo prototipo reale, le parti bianche sono stampate in 3D.


IMG 20151202 172758.jpg IMG 20151202 172808.jpg IMG 20151202 172818.jpg IMG 20151202 172841.jpg

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.

Pinza f 1.jpg Pinza f 2.jpg Pinza f 3.jpg Pinza f 4.jpg Pinza f 5.jpg

Riferimenti