PIC12: OSCILLATORE PER LED
Ci sono molti sistemi basati su circuito integrato per far lampeggiare un led. Alcuni schemi
elettrici sono molto semplici altri un po' più complicati.
Il sistema di base è impiegare il famosissimo circuito integrato NE555, ma richiede 3
resistenze e 2 condensatori...
Un altro schema molto interessante è basato sul circuito integrato LM3909 (con solo un
condensatore esterno), che, con il led, consumava solo 0,7mA, sfruttanso la tecnica della carica
del condensatore trasferita al led... Purtroppo è fuori produzione!
Ora, sfruttando un piccolo microcontroller, il PIC12C508A, della Microchip, vengono presentati
ben 4 schemi, dal più semplice al più complicato...
PRINCIPIO DI BASE.
Intanto il microcontroller usato è il PIC12C508A, ad 8 bit di tipo RISC, prodotto dalla
Microchip: www.microchip.com, e posto in
un contenitore da 4+4 pin, quindi di dimensioni piuttosto contenute.
Il principio che sta alla base dei 4 schemi proposti è molto semplice. E' stata scritta
una semplice routine in assembler per la generazione di un'onda quadra, che non fa altro che
permettere al led di lampeggiare.
Per il corretto funzionamento degli stadi interni, nei primi 2 schemi si utilizza l'oscillatore
RC interno sintonizzato a circa 4MHz, mentre negli altri 2 schemi, l'oscillatore RC è
esterno. In quest'ultimo caso, variando il valore della resistenza è possibile cambiare
la frequenza dell'onda quadra.
Per quanto riguarda il consumo, c'è da dire che il PIC12C508A, di per se stesso, consuma,
in quest'applicazione, poco meno di 1mA. La maggior parte del consumo è dovuto
all'assorbimento di corrente da parte del led...
L'alimentazione deve avere un valore compreso tra i 3 e i 5,5 Volt.
SCHEMA n°1.
Il circuito proposto è assai semplice, in quanto vengono utilizzati solo 3 pin su 8.
L'oscillatore è quello RC interno. La frequenza dell'onda quadra in uscita è di
circa 2Hz. Per l'elenco componenti, vedere a fine pagina.
Il programma in assembler è disponibile gratuitamente:
File in Assembler per MPLab: osc_led1.asm
(5Kb).
File compilato per il programmatore di PIC: osc_led1.hex
(1Kb).
File zippato contenente i due precedenti: osc_led1.zip
(2Kb).
Qui sotto, invece è riportata una fotografia di come si presenta il circuito elettronico, una volta utlimato. Non si possono non notare le dimensioni piuttosto contenute. E' possibile ridurle ancora utilizzando componenti SMD.
SCHEMA n°2.
Rispetto al caso precedente, il circuito è un po' più complicato, in quanto sono
presenti due interruttori, che, per minimizzare gli spazi, possono essere dei dip-switch oppure
dei jumper. Non c'è bisogno di adoperare delle resistenze esterne di push pull o pull-down,
in quanto sono state abilitate quelle interne (push pull). La frequenza può essere quindi
impostata mediante i due interruttori, secondo quanto indicato nella tabella qui sotto.
S2 | S1 | FREQUENZA |
off | off | 2Hz |
off | on | 8Hz |
on | off | 4Hz |
on | on | 1Hz |
Anche il software è ben più complicato...
Se siete interessati posso fornire il PIC12C508A già programmato a €10,00
a cui aggiungere le spese di spedizione. Il pagamento è in contrassegno.
Potete contattarmi via e-mail: info@febat.com
SCHEMA n°3.
Questo è il primo della seconda serie di schemi elettrici.
L'oscillatore RC è esterno, come si intuisce dalla presenza di R2 e C2. La funzione di
quest'ultimo elemento, per altro non strettamente necessaria, ma consigliata, è di
stabilizzare l'oscillatore. Variando R2, da un minimo di 10KOhm e un massimo di 680KOhm,
è possibile cambiare la frequenza dell'onda quadra e quindi del lampeggio del led.
Per l'elenco componenti, vedere a fine pagina.
Il programma in assembler è disponibile gratuitamente:
File in Assembler per MPLab: osc_led3.asm
(2Kb).
File compilato per il programmatore di PIC: osc_led3.hex
(1Kb).
File zippato contenente i due precedenti: osc_led3.zip
(2Kb).
SCHEMA n°4.
Il circuito è del tutto analogo al precedente, ma viene aggiunta la resistenza
variabile R3, che può essere un potenziomentro o un trimmer.
Agendo su questo elemento, si può variare la resistenza totale tra il pin 2 e il ramo
positivo dell'alimentazione. Per l'elenco componenti, vedere a fine pagina.
Il programma in assembler, perfettamente uguale a quello precedente, è disponibile
gratuitamente:
File in Assembler per MPLab: osc_led1.asm
(5Kb).
File compilato per il programmatore di PIC: osc_led1.hex
(1Kb).
File zippato contenente i due precedenti: osc_led1.zip
(2Kb).
ELENCO COMPONENTI.
Vengono ora indicati i componenti elettronici, validi per tutti gli schemi elettrici.
R1= 27 Ohm o poco più R2= 22 KOhm R3= 100KOhm variabile |
C1= 3,3 uF C2= 22 pF |
IC1= PIC12C508A programmato |
PERSONALIZZAZIONE.
I tempi indicati sono riferiti agli schemi proposti e al relativo software inserito nel PIC12.
Per esigenze particolari è possibile cambiare la temporizzazione, riscrivendo il software,
adattandolo quindi alle richieste. In questo caso, a seconda della complessità, il costo
per PIC12 già programmato partono da un minimo di €15, cui aggiungere le spese di
spedizione. Ricordo che, anche in questo caso, il pagamento è in contrassegno.
Potete contattarmi via e-mail: info@febat.com