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).

Oscillatore basato su PIC12C508A: schema 1

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.

Circuito elettronico dell'oscillatore per led con PIC12C508A

 

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

Oscillatore basato su PIC12C508A: schema 2

 

 

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).

Oscillatore basato su PIC12C508A: schema 3

 

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).

Oscillatore basato su PIC12C508A: schema 4

 

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

 



Federico Battaglin
Italy
Cellulare (SMS): (+39) - 340-5890259
e-mail: info@febat.com