Date post: | 03-May-2017 |
Category: |
Documents |
Upload: | mihai-cristi |
View: | 245 times |
Download: | 0 times |
Universitatea “Politehnica” din BucurestiFacultatea TransporturiCatedra Telecomenzi si Electronica in Telecomunicatii
PROIECT MICROCONTROLERESimularea unui bloc de linie automata
Autori: Indrumator:TOPALA MADALIN Asist.Ing.Mihai NiculescuANGELESCU SERGIUMIHAILA FLORINGrupa:8312
-2008/2009-
1
CUPRINS
I. Tema
II. Proiectarea hardware 2.1.Schema bloc2.2.Descriere blocuri si calcul componente2.3.Schema electrica generala2.4.Cablaj si consideratie de proiectare2.5.Lista component si calcul economic
III. Proiectare software3.1.Descriere generala3.2.Schema logica a softului3.3.Listing soft
IV. Bibliografie
2
Cap I
TEMA
Tema proiectului consta in “Simularea unui bloc de linie automata” controlarea ledurilor si verificarea starii barierei.
Vom avea o sectiune de linie impartita in 3 parti.Se va construi cate un semafor cu 3 culori (rosu,galben,verde) pentru fiecare sectiune din linie.
Fiecare semafor va contine 2 optocuploare LTV 816,2 relee Finder,3 rezistetente de 330 ohm,2 rezistente de 220 ohm,si 2 diode.
Intreg montajul va fi conectat la un microcontroler ATmega 16 de unde va controlat cu ajutorul unui soft.
3
Cap II
PROIECTAREA HARDWARE
2.1 Schema bloc
4
Montaj
SEMAFOR
ATmega 16
2.2.Descriere blocuri si calcul componente
ATmega 16
ATmega 16 este un microcontroller CMOS de 8 biti de mica putere bazat pe arhitectura RISC AVR îmbunătăţită. Dispune de un set de 131 de instructiuni si 32 de registrii de uz general. Cele 32 de registre sunt direct adresabile de Unitatea Logică şi Aritmetică (ALU), permiţând accesarea a două registre independente într-o singură instrucţiune. Se obţine, astfel, o eficienţă sporită în execuţie (de până la zece ori mai rapide decât microcontrorelerele convenţionale CISC).
Caracteristicile principale ale acestuia sunt:
- 16KB de memorie Flash reinscriptibilă pentru stocarea programelor ;
5
Cale de comunicare
- 1KB de memorie RAM ;
- 512B de memorie EEPROM ;
- două numărătoare/temporizatoare de 8 biţi ;
- un numărător/temporizator de 16 biţi ;
- conţine un convertor analog – digital de 10 biţi, cu intrări multiple ;
- conţine un comparator analogic ;
- conţine un modul USART pentru comunicaţie serială (port serial) ;
- dispune de un cronometru cu oscilator intern ;
- oferă 32 de linii I/O organizate în patru porturi (PA, PB, PC, PD).
Există o magistrală generală de date la care sunt conectate mai multe module:
- unitatea aritmetică şi logică (ALU) ;
- registrele generale ;
- memoria RAM şi memoria EEPROM ;
- liniile de intrare (porturile – I/O Lines) şi celelalte blocuri de intrare/iesire.
Aceste ultime module sunt controlate de un set special de registre, fiecare modul având asociat un număr de registre specifice.
Semaforul
Semaforul va fi reprezentat de 3 culori(rosu,galben si verde):
CULOAREA ROSIE:se va aprinde cand primul sector va fi ocupat.
CULOAREA GALBENA:se va aprinde cand primul sector este liber iar al doilea sector este ocupat.
CULOAREA VERDE:se va aprinde cand primul si al doilea sector vor fi libere iar ultimul sector este ocupat.
Semaforul este alcatuit din:
5 rezistente -2 rezistente de 220 Ohm
6
-3 rezistente de 330 Ohm 2 optocuploare LTV816 2 relee Finder 3 leduri (galben,rosu,verde)
Calcul component
Rezistentele:
R1=(Vc -VF )/IF =(5-1,2)/20.10-3= 3,8/20 . 103 = 1,9 . 102 =190 Ω
R2=(Vc-Vf1)/If1=(5-1,2)/0,01=380 Ω
Optocuploare LTV 816
Releu Finder
7
2.3 Schema electrica generala
8
2.4 Cablaj
9
2.5 Lista componente si calcul economic
NR. Componente Bucati Pret Subtotal/RON
1. Releu Finder 6 4 24
2. Optocuplor 6 1 6
10
3. Led 9 0,5 4.5
4. Cablaj 1 m 1 1
5. Cablu panglica 1 m 4 4
6. Conector 3 1.5 4.5
7. Rezistente 220 Ohm
6 0.04 0.24
8. Rezistente 330 Ohm
9 0.05 0.45
9. Diode 6 0,10 0.6
10. Mufe 6 0.5 3
11. Placuta de test 1 3.5 3.5
12. Cutie plastic 1 5 5
TOTAL 57.03
11
Cap III
PROIECTAREA SOFTWARE
3.1 Descrierea generala
Programul a fost conceput pentru a determina daca:
cele 3 sectoare in care este impartita linia sunt ocupate sau nu si dupa caz sa aprinda ledurile semaforului corespunzatoare fiecarui sector de linie (se aprinde ledul rosu cand primul sector este ocupat si celalte doua sunt libere,ledul galben se aprinde cand primul sector este liber si al doilea este ocupat,ledul verde se aprinde cand primele doua sectoare sunt libere si ultimul sector este ocupat);
12
sa primeasca de la un microcontroler datele despre ocuparea sectoarelor si starea barierei;
3.2 Schema logica
DA NU
13
START
SETARTI INITIALE
COMANDA INITIALA
SETARE SI ACTIVARE INTRERUPERI
PRIMIRE DATE
Identificare situatie
DA NU
3.3 Listing software
.include "m16def.inc"
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
14
Verificare barieraE
corect
Aprind led
Comand bariera
Revenire din intreruperi
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
rjmp reset
reset
ldi r16,high(RAMEND)
out SPH,r16
ldi r16,low(RAMEND)
out SPL,r16
ldi r16,0b00000000
out DDRC,r16
ldi r16,0b11111111
out PORTC,r16
ldi r16,0b11111111
out DDRD,r16
ldi r16,0b11111111
out DDRB,r16
main:
15
in r16,PINC
andi r16,0b00000111
ldi r17,0b00001000
cp r16,r17
brne et1
ldi r18,0b00011111
out PORTD,r18
rjmp main
et1:
ldi r17,0b00001001
cp r16,r17
brne et2
ldi r18,0b00011100
out PORTD,r18
rjmp main
et2:
ldi r17,0b00001010
cp r16,r17
brne et3
ldi r18,0b00010001
out PORTD,r18
rjmp main
16
et3:
ldi r17,0b00001011
cp r16,r17
brne et4
ldi r18,0b00010000
out PORTD,r18
rjmp main
et4:
ldi r17,0b00001100
cp r16,r17
brne et5
ldi r18,0b00000111
out PORTD,r18
rjmp main
et5:
ldi r17,0b00001101
cp r16,r17
brne et6
ldi r18,0b00000100
out PORTD,r18
rjmp main
et6:
ldi r17,0b00001110
17
cp r16,r17
brne et7
ldi r18,0b00000001
out PORTD,r18
rjmp main
et7:
ldi r17,0b00001111
cp r16,r17
brne et8
ldi r18,0b00000000
out PORTD,r18
rjmp main
et8:
ldi r17,0b00000000
cp r16,r17
brne et9
ldi r18,0b00011111
out PORTD,r18
ldi r19,0b00000001
out PORTB,r19
rjmp main
et9:
ldi r17,0b00000001
18
cp r16,r17
brne et10
ldi r18,0b00011100
out PORTD,r18
ldi r19,0b00000001
out PORTB,r19
rjmp main
et10:
ldi r17,0b00000010
cp r16,r17
brne et11
ldi r18,0b00010001
out PORTD,r18
ldi r19,0b00000001
out PORTB,r19
rjmp main
et11:
ldi r17,0b00000011
cp r16,r17
brne et12
ldi r18,0b00010000
out PORTD,r18
ldi r19,0b00000001
out PORTB,r19
19
rjmp main
et12:
ldi r17,0b00000100
cp r16,r17
brne et13
ldi r18,0b00000111
out PORTD,r18
ldi r19,0b00000001
out PORTB,r19
rjmp main
et13:
ldi r17,0b00000101
cp r16,r17
brne et14
ldi r18,0b00000100
out PORTD,r18
ldi r19,0b00000001
out PORTB,r19
rjmp main
et14:
ldi r17,0b00000110
cp r16,r17
brne et15
20
ldi r18,0b00000001
out PORTD,r18
ldi r19,0b00000001
out PORTB,r19
rjmp main
et15:
ldi r17,0b00000111
cp r16,r17
brne et16
ldi r18,0b00000000
out PORTD,r18
ldi r19,0b00000001
out PORTB,r19
rjmp main
et16:
rjmp main
21
Cap IV
BIBLIOGRAFIE
22
Bibliografie
Curs ATmega16 – prof. Badescu Iulian ATmega16 – manual de utilizare www.e-piese.ro
http://www.datasheetcatalog.com http://www.conexelectronic.ro http://www.syscomelco.ro
23