domenica 30 settembre 2007

Driver stepper unipolare

Terminata la fase di progettazione di una scheda di comando per le fasi di un motore stepper unipolare (5 fili), meglio conosciuto come motore passo-passo. La cosa interessante è che tutta l'elettronica utilizzata proviene da materiale di recupero, dissaldato pazientemente da alimentatori, schede elettroniche, stampanti, lettori floppy, ovvero da tutto ciò che l'odierna cultura ci suggerisce di buttare.
Perchè? Ho la necessità di pilotare questi motori per far avanzare i rulli fusori di una stampante Laser ad una velocità regolabile, avanti ed indietro, con una buona coppia e senza complicarmi la vita con ponti ad H e PWM. I rulli fusori della stampante laser mi servono per produrre il trasferimento del toner dalla carta sulle basette ramate che devono essere incise (Produzione di circuiti stampati). In un secondo tempo voglio pilotare il carrello di una stampante a getto di inchiostro per stampare sui CD o sulle magliette....
Il circuito che ho progettato è in grado di pilotare motori passo passo sino a 12 volt di alimentazione con 5 Ampere di assorbimento. I quattro ingressi sono TTL compatibili, cioè pilotabili direttamente dall'uscita di un microprocessore tipo PIC16Fx, Atmel o simili, anche se per il pilotaggio userò la favolosa Fox Board della Acmesystems (azienda totalmente italiana www.acmesystems.it) equipaggiata da processore Etrax 100LX e dotata di sistema operativo Linux embedded (Kernel Full Linux ver 2.4.31 (default) o 2.6.15, completa di Server HTTP WEB, FTP, SSH, TELNET, Driver USB Pen driver, FTDI and PROLIFIC USB to Serial Converter,Open source SDK for Linux Systems, programmabile con C, C++, PHP, PYTHON), il tutto racchiuso in una schedina da 100X100mm. Una vera bomba.

La scelta mi permetterà di sperimentare infinite applicazioni pratiche, dall'apertura motorizzata delle tapparelle (comandabili anche via cellulare o in funzione di svariati parametri misurabili quali temperatura, luminosità ecc) al comando di una macchina CNC (CAM) a 4 / 6 assi. A scopo pratico propenderei per quest'ultima idea, anche se sono impaziente di realizzare a titolo sperimentale e didattico un braccio robotico.
Il circuito, originariamente l'avevo progettato con 4 Mosfet recuperati da alcuni alimentatori per PC. 2 IRF840 da 500V 8A e 2 11N60S5 da 600V 11A. Sfortunatamente 2 di questi (11N60S5) si sono rivelati guasti (uno in corto l'altro interrotto...morto).
In mancanza di altri Fet di pari potenza ho dovuto ripiegare su dei più comuni Transistor recuperati da una scheda di controllo di un vecchissimo sistema di pilotaggio a 2 assi di un macchinario preso in carico da una tipografia. 4 Tip33 da 100 volt 10 ampere a cui ho dovuto collegare alla base una resistenza da 1Kohm (che non c'era con i fet in quanto pilotati in tensione).

Per testare la presenza dei segnali in ingresso (cosa che si è rivelata utile) ho inserito un led rosso per ogni ingresso, protetto da una resistenza di limitazione da 1K.

Nessun condensatore, ma 4 diodi di ricircolo MR822 (Fast da 1 nano secondo) per ogni fase del motore.
Sono propenso a collegarci in parallelo un condensatore ceramico...magari quando proverò il circuito alla massima potenza.

Per ora ho proceduto solo con l'input manuale dei segnali (5Volt) e l'alimentazione a batteria (12Volt da una batteria recuperata da un UPS guasto) per verificare che tutto funzionasse. Mancano i dissipatori...devo frugare nella scatola ove li conservo gelosamente, sicuramente ne ho uno di adatto.

Il motore stepper utilizzato per i test:
1) Un vecchissimo motorino passo passo di un lettore floppy da 5 1/4 (all'epoca funzionavano a 12Volt), un Sankyo Japan MSHC200A62 da 1.8° per step e resistenza di avvolgimento da 72 ohm.

2) Un Mitsumi, QH4-4389 - M42SP-7P (angolo di step sconosciuto) e resistenza di avvolgimento da 21 ohm, proveniente da un modello di stampante abbastanza "recente" (Canon S600 credo). L'ho provato a 5Volt e si muove "a fatica", credo possa funzionare tranquillamente a 12V. Questo modello si presta con opportune modifiche a diventare uno stepper bipolare.
La sequenza dei fili da pilotare è importante per una corretta rotazione.
Motore 1) Sankyo: Giallo - Filo comune ai 4 avvolgimenti, poi in sequenza Bianco, Viola, Grigio, Marron. Per la rotazione inversa alimentare i 4 fili con la sequenza inversa

Motore 2)Mitsumi: Rosso - Filo comune ai 4 avvolgimenti, poi in sequenza arancio, marron, giallo, nero (alimentando con questa sequenza l'asse gira in senso orario)

Per il dimensionamento degli assorbimenti delle porte di ingresso, dato che la Fox eroga al massimo 40 mA per ogni GPIO (General Purpose I/O) mi sono tenuto ampiamente al di sotto (5mA) per evitare di distruggere il gioiello. Una prossima implementazione di progetto riguarderà la protezione opto isolata degli ingressi, non è difficile, ho già sperimentato la cosa e si può fare.
Per ora basta. Nei prossimi post gli sviluppi del progetto.

P.S. domani manca la corrente. Ripeto: domani manca la corrente

3 commenti:

Lorenzo ha detto...

Complimneti per il blog!

Sono molto interessato a quello che stai facendo in quanto sto lavorando ad un progetto per realizzare una cosa abbastanza simile a questa (http://www.youtube.com/watch?v=gDLwBgZjkJU) ma comandata via web.

Se sei interessato, ti prego di contattarmi!
Lorenzo.
L Casarosa AT gmail com

unamico ha detto...

azz. ma quello dell'esempio sul filmato è anni luce avanti. Io nonostante l'età sono perennemente alle prime armi, per cui "rischi" che ti sommerga di domande da principiante. Cmq grazie per i complimenti che mi incitano ad essere un pò più preciso e dettagliato nei prossimi post.
Ciao

Lorenzo ha detto...

Grazie per la tua risposta.
Se conosci qualcuno, o se qualcuno dei tuoi lettori conoscesse qualcuno interessato all'idea di cui sopra, spero che egli non esiti a contattarmi al piu' presto!

Ciao