giovedì 18 ottobre 2007

Stepper unipolare (p.2) - il software

Lo sviluppo di un applicazione in linguaggio C in ambiente linux da parte di chi è alle prime armi, rappresenta una sfida veramente interessante e tanto, tanto, tanto tempo per sviluppare delle banalità ripagate dalla soddisfazione finale.
Devo realizzare l'alimentazione in sequenza delle fasi dei motori stepper descritti in un post precedente (vedi ricerca).
Le porte utilizzate nella scheda Fox (un vero gioiellino www.acmesystems.it... ne vado orgoglioso) sono uscite contraddistinte dalle etichette OG1, OG3, OG4, OG5 rispettivamente presenti nel connettore J6 ai pin 23, 26, 25 e 22.
Non pubblico il sorgente (è ancora in fase embrionale) data la sua banalità: un ciclo controllato dal bit associato ad un pulsante di stop e l'attivazione in sequenza di bit sulle porte specificate. Fra i cambi di stato dei bit ho introdotto un ritardo di 3 o 5 millisecondi, per dare tempo alle fasi del motore di energizzarsi (vedere teoria dei circuiti LCR e le costanti di tempo che intevengono nei fronti di salita e discesa della tensione). Valori inferiori producono una impercettibile vibrazione dell'asse. Valori più alti rallentano la rotazione a valori da desumere sperimentalmente.
La coppia di torsione non sembra esaltante. Presumo sia dovuto alla tensione di alimentazione. Il motore Mitsumi proviene da una Canon S100 (ink-jet) che all'interno viene alimentata con due tensioni, 5 e 24 volts, la prima per la logica di controllo, la seconda per la parte di "potenza". Ho utilizzato una batteria FIAMM-GS da 12 volts e 7,2A/h presa da un vecchio UPS ormai defunto. Misuro la tensione a vuoto che mi da 11,5 volts, sotto carico la tensione scende a 10,1V, 9,4V sino a 8,4 V dopo pochi minuti di funzionamento. L'assorbimento è di appena 70 milliampere. Così decido di frugare nei cassetti e trovo un alimentatore di un vecchio portatile (ormai passato a miglior vita ma salvato dalla discarica) da 19 volts stabilizzati e 2,4 ampere. Dovrebbe essere sufficiente per dare un pò di coppia al motore in prova (nel caso ho a disposizione anche alimentatori da 30 volts....così esagero e mando in fumo qualcosa). Procedo quindi con la costruzione della presa di alimentazione da terminare con i pin da inserire nella breadboard sperimentale.
Il motore "definitivo" che dovrò far funzionare sotto carico è uno stepper proveniente da una Epson Stylus, con una vite senza fine nell'asse, originariamente utilizzata per il meccanismo di sollevamento dei tamponi di aspirazione inchiostro dalla testina di stampa. La vite senza fine farà girare l'ingranaggio solidale con i rulli fusori recuperati da una Laser HP1100, in modo da laminare a caldo il materiale fra i rulli riscaldati dalla resistenza incorporata.
Per oggi va bene così, sono soddisfatto, direi contento di vedere finalmente i motori girare avanti, indietro o per un numero di passi predefinito. Troppo divertente. Fra una riga di codice ed una misurazione di tensioni e corrente ne ho approfittato per fare a pezzi un fax Canon B155. Ho recuperato i micro led smd verdi su basetta del sensore di lettura ed ho inoltre scoperto la tecnologia Canon nei sensori ottici. Mi sto divertendo troppo.
Alla prossima.

P.S. La strada è dritta. Ripeto: La strada è dritta.

martedì 9 ottobre 2007

insoluto inesigibile

Due anni fa il giudice del Tribunale presso il quale presto i miei servizi professionali, ha emesso un decreto di liquidazione di una parcella per una consulenza tecnica d'ufficio. Ad oggi, fra ingiunzioni, raccomandate, solleciti e indagini varie non sono riuscito a riscuotere le mie spettanze. L'imputato (uscito vittorioso dalla causa), dopo aver cambiato per tre volte residenza, sembrava un nullatenente. Dopo approfondite indagini scopro che lavora ma non riesco a scoprire dove (la privacy è spesso una scusa utilizzata per scaricare responsabilità). Riesco a scoprire la sua residenza e finalmente due mesi fa parte la richiesta all'ufficiale giudiziario. Sino a ieri il pubblico ufficiale (oberato di lavoro sembra) non ha ancora provveduto a compiere il suo dovere. Oggi, sorpresa, leggo nei giornali della sua "cattura" in seguito ad alcuni atti vandalici perpetrati la notte precedente. Scopro che il soggetto è accusato anche di abuso della professione e sostituzione di persona (false generalità). Le speranze di riscuotere si fanno sempre più flebili, per non dire nulle. Ora sicuramente perderà casa, lavoro, auto e... i miei cinquemila euro se ne vanno in fumo. Chi lo va a raccontare al fisco con i suoi studi di settore che ho perso tre mesi di lavoro senza guadagnare nulla? che faccio? mi adeguo o ci provo a contestare il pagamento di tasse su incassi mai avvenuti??. Lavorare per lo Stato e trovarselo contro non è una piacevole situazione. E lo scoperto di conto con cosa lo pago?
Vabbè, domani è un altro giorno....

Aggiornamento notizia Maggio 2008. Il debitore lo hanno trovato privo di vita in casa sua. Mi dispiace per lui. Il peso dei problemi era troppo grande da sopportare, per cui ha deciso di farla finita con un iniezione mortale. Provo pena ma non mi sento in colpa. Pago l'avvocato e pazienza. I soldi non sono tutto nella vita ma essere ricompensati per un lavoro svolto resta un diritto.

P.S. il merlo è nel nido. Ripeto: il merlo è nel nido.

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