Questo progetto si occupa di pilotare un motore passo passo, per comprenderlo al meglio
occorrerebbe conoscere i motori passo passo. Se non hai idea di come sono fatti o di come funzionano dai un occhiata
al tutorial nella sezione
teoria.
...lo so, lo schema elettrico e' incasinato... ma in realta' il circuito e' molto semplice.
Avevo voglia di realizzare un driver per motori passo passo con dei componenti discreti dopo che
avevo recuperato da una scheda elettronica dei darlington pnp, i bdx54c.
I bdx54c hanno un hFe statico di 750 e possono erogare fino ad 8 Ampere.
L'unica cosa e' che sono pnp ed io non sono mai stato abituato a ragionare in logica negativa...
Ma in realta' non e' niente di strano, basta progettare il tutto come se fosse in logica positiva e poi negare tutte le uscite che vanno
a pilotare le basi dei pnp.
Il mio progetto doveva prevedere 3 ingressi per il pilotaggio del motore passo passo :
1) un ingresso di enable attivo basso per abilitare o meno il funzionamento del passo passo.
2) un ingresso di clock sul quale mettere un onda quadra con frequenza proporzionale alla velocita' di rotazione desiderata.
3) un ingresso di direzione che faccia girare il motore in un senso se e' basso, nell'altro senso se e' alto.
Queste ultime 2 considerazioni mi hanno fatto pensare ad un contatore up/down cioe' un dispositivo che fosse in grado di generare un numero binario
che aumenta o diminuisce a seconda dello stato di una sua linea di controllo, up o down appunto.
In realta' per il mio circuito sarebbe bastato un contatore binario up/down modulo 4 ma in casa avevo solo dei 74191 che sono modulo 16 e per di piu' presettabili.
Poco male.
Come si vede dal circuito elettrico, i segnali clk, ena/ e dir sono connessi direttamente al contatore : clk al clock del contatore, ena/ all'enable del contatore e su
un ingresso delle or di uscita (se e' a 1 le or hanno tutte l'uscita a 1 e quindi tutti i pnp sono intrerdetti), dir alla linea up/ down (se e' a 0 conta in su, se e' a 1 conta in giu').
Poi c'e' tutta una rete di nand (7400) e or (7432) che sembra complicatissima ma in realta' non lo e' : essa ha solamente il compito di realizzare
la funzione binaria, per ogni uscita y(n), che viene riportata nella tabella seguente.
Tabella degli stati ingressi/uscite
| q1 | q0 | y0 | y1 | y2 | y3 |
| 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 0 |
I transistor finali, essendo pnp, sono saturi se hanno uno 0 in base, interdetti se hanno un 1. Ecco che tramite
la rete logica possono essere pilotati affinche' siano saturi secondo la sequenza y0, y1, y2, y3.
Questo significa avere uno 0 in base ed avere l'uscita attiva, per cui eccitare la fase del motore passo passo
che vi e' collegata.
Ho pensato di utilizzare un 7805, per le alimentazioni degli integrati, per non richiedere una doppia alimentazione :
VL per le fasi del motore passo passo, 5V per gli integrati. (Prima o poi mi decidero' ad usare i CMOS...).
Basta quindi alimentare il circuito con la tensione di fase dei motori passo passo e per la 5 volt ci pensa il 7805 (con la speranza di utilizzare motori passo passo
che abbiano tensione di fase superiore a 5 volt + la vdrop del 7805...).
Tutti questi dubbi mi vengono sempre dopo che ho costruito i circuiti, segno che l'elettronica si impara solo
sperimentando sul campo.
Infine in parallelo alle fasi del motore passo passo ho montato dei diodi di ricircolo molto veloci, stavolta non i soliti 1n400x ma dei bei byv27 da 200 ma.
Questo driver puo' essere utilizzato con un Pic "alle spalle" e con sole 3 linee si ha il completo controllo del motore, nulla vieta
di connetterlo alla parallela o alla seriale del pc e di comandarlo da li.
Le idee possono essere molteplici, sta nella fantasia di ognuno trovarne l'utilizzo piu' adatto alle proprie esigenze.