Sunteți pe pagina 1din 7

Universitatea Oradea – Facultatea de Calculatoare si Tehnologia Informatiei

LED Chaser

Proiect

Proiectare cu Microprocesoare

Dacin George-Adrian

Grupa 1731A
Descrierea proiectului

Schema

Descrierea Circuitului

Layout PCB

Componente utilizate

Note constructive

Cod Sursa
Descrierea Proiectului
Acest circuit simplu functioneaza ca un chaser cu 12 leduri. Un singur led aprins se
“plimba” stanga-dreapta intr-o secventa repetitive, similar cu efectul vazut la KITT, masina
prezenta in seria de televiziune Knight Rider

Am comentat codul sursă și fișierele HEX pregatite pentru programat atat pentru seria de
microcontrollere PIC 16F84A cat si pentru PIC 16F628A. Circuitul initial a fost construit pe un PCB
dedicat, insa in cazul de fata l-am construit pe o placa de proba.

Deși PIC16F84A este într-adevăr depășită moral, și nu aș face în mod normal, un proiect
folosindu-l, acest cip este folosit pe scară largă în întreaga educație și pentru mulți oameni acest
microcontroller va fi în continuare primul lor pas în lumea microcontrollerelor PIC. Am scris, de
asemenea, o versiune pentru PIC16F628A, care este un înlocuitor cu pini compatibili pentru
16F84A.

Schema
Descrierea Circuitului
Inima acestui circuit este microcontrolerul PIC, IC1. Acest microcontroller poate fi atat
PIC16F84A fie un PIC16F628A, pentru ca software-ul este prevăzut pentru fiecare procesor. Programul
care ruleaza pe acest cip controleaza LED-uri atașate la pinii de ieșire de port. Rezistori R1 - R12
limiteaza curentul care trece prin LED1 - LED12 la un nivel de siguranță la care nu se vor deteriora nici
intrarile/iesirile PIC-ului dar nici LED-urile.

Valoarea rezistențelor a fost selectata pentru ca circuitul sa functioneze in siguranta, lumina


avand o intensitate medie decat o luminozitate maximă. Dacă se decide utilizarea luminozitatii maxime
pentru leduri albastre, verzi sau LED-uri albe de 5mm posibil să fie nevoie să se schimbe valoarea
rezistentelor de la 270ohms la 100ohms. Pentru toate celelalte LED-uri 5mm rezistențele de 270ohm
vor fi optime.

Cristalul Q1 și condensatoarele C1 și C2 se conecteaza la circuitul oscilator aflat in interiorul


PIC-ului. Acesta generează un o frecventa de tact stabila la 4MHz, care este utilizata de PIC pentru a
controla de tact a microcontrolerului. Dacă se utilizeaza 16F628A puteți omite aceste trei componente
și se va folosi oscilatorul intern RC a microcontrollerului. Cu toate acestea, va trebui, in acest caz, o
schimbare a codului sursă, înainte de programarea PIC-ului, ca acesta să știe să folosească oscilatorul
intern.

Tensiunea de alimentare poate avea orice valoare cuprinsa intre 9 - 12 volți, insa PIC-ul
necesită o tensiune de alimentare de 5 volți precis controlata. Acest lucru este asigurat de IC2, un
stabilizator 78L05 cu 3 pini, iesirea de 5 volti fiind pe pinul 3. Dioda D1 protejează circuitul de la
alimentarea cu polaritate inversă a tensiunii de intrare survenita accidental.

Layout PCB
Componente Utilizate
Majoritatea componentelor pasive le-am achizitionat la pachet de 100 de bucati (rezistente /
led-uri) din magazinele locale, iar microcontrollerul a fost achizitionat de la un magazin din Craiova.

R1 - R12 270R 0.25W


C1, C2 22pF – 33pF
C3 100nF
C4 220nF 63V
Q1 4.00MHZ
D1 1N4001A 1A 50V
IC2 78L05 +5V 1A
LED1 - 12 LED 5MM
J1 2.1 PCB DC POWER SOCKET
Soclu IC1 18 PIN
IC1 PIC16F84A-04/P
IC1 PIC16F628A-I/P
Alimentare 9V-12V 600mA

Note Constructive

Fig.1 Fig. 2 Fig. 3

In figura 1, observăm cum găurile pentru DC Jack (dreapta sus) au fost largite pentru a accepta
pinii de lipire de pe conector. Am făcut câteva modificări minore asupra layout-ului pentru a face mai
ușor de lipit LED-urile, dar plasarea componentelor rămâne neschimbata.

Fig. 2 prezinta placa cu cristalul de 4MHz și condensatoarele montate. Aceasta placa va lucra cu
firmware-ul pentru PIC16F84A, fără modificări.
În Fig.3, cristalul de quart Q1 și condensatorii, C1 si C2 au fost omise. Dacă utilizam un 16F628A
se poate folosi oscilatorul RC intern, caz în care nu mai aveți nevoie sa montati aceste componente.
Dacă se face acest lucru, va trebui să editam fisierul "ledchaser16F628A.asm" .

Modificarea se face localizand linia:

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _LVP_OFF

si schimbata cu:

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF

Apoi va trebui să se reasambleze fișierul. Asamblarea se face cu software-ul MPLAB IDE


Microchip, unde se încărca fișierul de asm si apoi se face un nou proiect - folosim Quickbuild pentru a
crea fișierul HEX. Odată ce ați făcut acest program, putem programa PIC16F628A-ul cu fișierul nou si
anume ledchaser16F628A.HEX.

Fig. 4 – Montajul in stare de functionare

Sursa de alimentare
Placa include un regulator de 5 volți și dioda de protecție polaritate inversă. Va fi nevoie să
folosim un sistem de de alimentare DC cu puterea nominală cuprinsă între 9 și 12 volți și capabil să
furnizeze cel puțin 200mA.
Cod Sursa

Se poate folosi fie un PIC16F84A fie PIC16F628A cu acest circuit.


Fișierele HEX sunt pregatite penru a fi programate direct în PIC. Fișierele asm sunt codul sursă,
cod pe care il putem modifica sau vizualiza. Daca se doreste să se modifice codul este recomandat să se
descarce și să se instaleze Microchip MPLAB IDE, care va permite editarea, modificarea și programarea
PIC perfect.
Dacă aveți nevoie de un programator PIC Eu recomand PICkit Microchip 2, acest programator
este disponibil de la diversi furnizori sau direct de la Microchip.

Hex pentru PIC16F84A:

:020000040000FA
:100000008316850186018312A0010130A10003102F
:10001000A10DA00D16201B20A01D07280310A00C69
:10002000A10C16201B20211C0E2807282008850063
:1000300021088600080001302228A3002820A30BF5
:100040001E280800A20064301D20A20B23280800EF
:10005000C6300000FF3E031D2928000000000000FC
:02006000080096
:02400E00F23F7F
:00000001FF

Hex pentru PIC16F628A:

:020000040000FA
:1000000007309F008316850186018312A00101300D
:10001000A1000310A10DA00D18201D20A01D09286E
:100020000310A00CA10C18201D20211C1028092849
:100030002008850021088600080001302428A3003C
:100040002A20A30B20280800A20064301F20A20B46
:1000500025280800C6300000FF3E031D2B280000A5
:0600600000000000080092
:02400E00623F0F
:00000001FF

Cod sursa PIC16F84A – Anexa 1

Cod sursa PIC16F628A – Anexa 2

S-ar putea să vă placă și