+ All Categories
Home > Documents > Simularea unui bloc de linie automata

Simularea unui bloc de linie automata

Date post: 03-May-2017
Category:
Upload: mihai-cristi
View: 245 times
Download: 0 times
Share this document with a friend
26
Universitatea “Politehnica” din Bucuresti Facultatea Transporturi Catedra Telecomenzi si Electronica in Telecomunicatii PROIECT MICROCONTROLERE Simularea unui bloc de linie automata Autori: Indrumator: TOPALA MADALIN Asist.Ing.Mihai Niculescu ANGELESCU SERGIU MIHAILA FLORIN Grupa:8312 1
Transcript
Page 1: Simularea unui bloc de linie automata

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

Page 2: Simularea unui bloc de linie automata

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

Page 3: Simularea unui bloc de linie automata

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

Page 4: Simularea unui bloc de linie automata

Cap II

PROIECTAREA HARDWARE

2.1 Schema bloc

4

Montaj

SEMAFOR

ATmega 16

Page 5: Simularea unui bloc de linie automata

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

Page 6: Simularea unui bloc de linie automata

- 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

Page 7: Simularea unui bloc de linie automata

-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

Page 8: Simularea unui bloc de linie automata

2.3 Schema electrica generala

8

Page 9: Simularea unui bloc de linie automata

2.4 Cablaj

9

Page 10: Simularea unui bloc de linie automata

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

Page 11: Simularea unui bloc de linie automata

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

Page 12: Simularea unui bloc de linie automata

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

Page 13: Simularea unui bloc de linie automata

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

Page 14: Simularea unui bloc de linie automata

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

Page 15: Simularea unui bloc de linie automata

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

Page 16: Simularea unui bloc de linie automata

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

Page 17: Simularea unui bloc de linie automata

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

Page 18: Simularea unui bloc de linie automata

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

Page 19: Simularea unui bloc de linie automata

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

Page 20: Simularea unui bloc de linie automata

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

Page 21: Simularea unui bloc de linie automata

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

Page 22: Simularea unui bloc de linie automata

Cap IV

BIBLIOGRAFIE

22

Page 23: Simularea unui bloc de linie automata

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


Recommended