THẾT KẾ HỆ THỐNG MỞ CỬA TỰ ĐỘNG BẰNG MÃ

59 206 0
THẾT KẾ HỆ THỐNG MỞ CỬA TỰ ĐỘNG BẰNG MÃ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Header Page of 161 B GIO DC V O TAO TRNG ỏn THT K H THNG M CA T N BNG M Footer Page of 161 Header Page of 161 MC LC LI NểI U CHNG 1: TNG QUAN V CC PHN T 1.1 TNG QUAN V PIC 16F877A 1.1.1 S v bng mụ t chc nng cỏc chõn ca PIC16F877A 1.1.2 T chc b nh 10 1.1.2.1 T chc ca b nh chng trỡnh .11 1.1.2.2 T chc b nh d liu .11 1.1.2.3 Cỏc ghi mc ớch chung 11 1.1.2.4 Cỏc ghi chc nng c bit .13 1.1.2.5 Cỏc ghi trng thỏi 13 1.1.3 Cỏc cng ca PIC 16F877A 14 1.1.3.1 PORTA v ghi TRISA 14 1.1.3.2 PORTB v ghi TRISB .15 1.1.3.3 PORTC v ghi TRISC .17 1.1.3.4 PORTD v ghi TRISD 20 1.1.3.5 PORTE v ghi TRISE .20 1.1.4 Hot ng ca nh thi 22 1.1.4.1 B nh thi TIMER0 .22 1.1.4.2 B nh thi TIMER1 .24 1.1.4.3 B nh thi TIMER2 .25 1.2 THIT B HIN TH LCD .27 1.2.1 Hỡnh dỏng kớch thc 27 1.2.2 Cỏc chõn chc nng 28 1.2.3 S ca HD44780 29 1.2.4 Tp lnh ca LCD .33 1.2.5 c tớnh ca cỏc chõn giao tip 38 CHNG 2: THIT K H THNG IU KHIN MOTOR .39 2.1 S KHI 39 2.2 THIT K CC KHI 39 2.2.1 B x lý 39 2.2.2 Khi hin th 40 Footer Page of 161 Header Page of 161 2.2.3.Ma trn phớm 41 2.2.3.1 Cu to .41 2.2.3.2 nguyờn lý quột phớm 42 2.2.5 Khi cụng sut ng c 43 2.2.5.1 Motor DC 43 2.2.5.2 Mch cu H .43 2.2.5 Khi ngun .44 2.3 S MCH H THNG 45 CHNG 3: PHN MM IU KHIN 46 3.1 LU THUT TON .46 3.2 CHNG TRèNH 48 KT LUN 55 TI LIU THAM KHO 57 Footer Page of 161 Header Page of 161 ỏn tt nghip LI NểI U Ngy nay, vi nhng ng dng ca khoa hc k thut tiờn tin, th gii ca chỳng ta ó v ang mt ngy thay i, minh v hin i hn S phỏt trin ca k thut in t ó to hng lot nhng thit b vi cỏc c im ni bt nh s chớnh xỏc cao, tc nhanh, gn nh l nhnh yu t rt cn thit gúp phn cho hot ng ca ngi t hiu qu cao in t ang tr thnh mt ngnh khoa hc a nhim v in t ó ỏp ng c nhng ũi hi khụng ngng t cỏc lnh vc Cụng Nụng Lõm Ng nghip cho n cỏc nhu cu cn thit hot ng i sng hng ngy Nhc n in t khụng th khụng nhc n K thut vi iu khin K thut vi iu khin ó tr nờn quen thuc ngnh k thut in t v c cỏc ng dng i thng Hu ht cỏc dõy truyn t ng ln v cỏc sn phm dõn dng ta u thy s xut hin ca vi iu khin Vi iu khin c nh sn xut tớch hp rt nhiu cỏc nhiu tớnh nng vi cỏc b ngoi vi c tớch hp trờn vi iu khin, cựng vi kh nng x lý nhiu hot ng phc tp, tt c c tớch hp trờn mt chip nh gn, chớnh vỡ vy s cú nhiu thun li hn thit k board, ú board mch s nh gn v p hn d thit k hn rt nhiu Cựng vi s phỏt trin ca khoa hc k thut l s phỏt trin ca vi iu khin v cỏc ng dng ca nú k thut Chớnh vỡ vy em ó la chn ti: THT K H THNG M CA T N BNG M, v dng nhng kin thc v vi iu khin m em ó c hc hon thnh ti Trong quỏ trỡnh lm ỏn tt nghip, s hn ch v thi gian, ti liu v trỡnh cú hn nờn khụng trỏnh cú thiu sút Em rt mong c s úng gúp ý kin ca thy cụ hi ng v cỏc bn ỏn tt nghip ca em c hon thin hn Footer Page of 161 Sinh4viờn: Phm Quý Nghiờm Lp T1001 Header Page of 161 ỏn tt nghip Chng 1: TNG QUAN V CC PHN T 1.1 TNG QUAN V PIC 16F877A Thụng thng cú h vi iu khin bit chớnh l 6811 ca Motorola, 8051 ca Intel, z8 ca Xilog v Pic 16 ca Microchip Technology Mi mt loi trờn õy u cú mt lnh v ghi riờng nht, nờn chỳng thng khụng tng thớch ln Ngoi cng cú nhng b vi iu khin 16 bit v 32 bit c sn xut bi cỏc hóng khỏc Vi tt c nhng b vi iu khin khỏc thỡ tiờu chun la chn l: * ỏp ng c nhu cu tớnh toỏn ca bi toỏn mt cỏch hiu qu, y chc nng cn thit v thp nht v mt giỏ thnh Trong phõn tớch cỏc nhu cu ca mt d ỏn da trờn b vi iu khin chỳng ta phi bit b vi iu khin no l bit, 16 bit hay 32 bit cú th ỏp ng tt nht nhu cu ca bi toỏn mt cỏch hiu qu Nhng tiờu chun ú l: - Tc : tc ln nht m vi iu khin h tr l bao nhiờu - Kiu úng v: úng v kiu DIP 40 chõn hay QFP õy l yờu cu quan trng xột v khụng gian, kiu lp rỏp v to mu th cho sn phm cui cựng - Cụng sut tiờu th: iu ny c bit kht khe i vi cỏc sn phm dựng pin, c quy - Dung lng b nh Rom v Ram trờn chớp - S chõn vo v b nh thi trờn chớp - Kh nng d dng nõng cp cho hiu sut cao hoc gim cụng sut tiờu th - Giỏ thnh cho mt n v: iu ny quan trng quyt nh giỏ thnh sn phm m mt b vi iu khin c s dng *) Cú sn cỏc cụng c phỏt trin phn mm nh cỏc trỡnh biờn dch, trỡnh hp ng v g ri Footer Page of 161 Sinh5viờn: Phm Quý Nghiờm Lp T1001 Header Page of 161 ỏn tt nghip *) Ngun cỏc b vi iu khin sn cú nhiu v tin cy Kh nng sn sng ỏp ng v s lng hin ti tng lai Hin cỏc b vi iu khin bit h 8051 l cú s lng ln nht cỏc nh cung cp a dng nh Intel, Atmel, Philip Nhng v mt tớnh nng v cụng nng thỡ cú th xem PIC vt tri hn rt nhiu so vi 89 vi nhiu module c tớch hp sn nh ADC10 BIT, PWM 10 BIT, PROM 256 BYTE, COMPARATER, VERF COMPARATER, mt c im na l tt c cỏc vi iu khin PIC s dng thỡ u cú chun PI tc chun cụng nghip thay vỡ chun PC (chun dõn dng) Ngoi PIC cũn c rt nhiu nh sn xut phn mm to cỏc ngụn ng h tr cho vic lp trỡnh ngoi ngụn ng Asembly cũn cú th s dng ngụn ng C thỡ s dng CCSC, HTPIC hay s dng Basic thỡ cú MirkoBasic v cũn nhiu chng trỡnh khỏc na h tr cho vic lp trỡnh bờn cnh ngụn ng kinh in l asmbler Nờn ti ny tụi la chn s dng vi iu khin PIC lm b iu khin chớnh, v õy l PIC16F877A 1.1.1 S v bng mụ t chc nng cỏc chõn ca PIC16F877A Hỡnh 1.1 PIC 16F877A Footer Page of 161 Sinh6viờn: Phm Quý Nghiờm Lp T1001 Header Page of 161 ỏn tt nghip Hỡnh 1.2 S ca PIC16F877A Footer Page of 161 Sinh7viờn: Phm Quý Nghiờm Lp T1001 Header Page of 161 ỏn tt nghip Bng mụ t chc nng cỏc chõn ca PIC16F877A Pin Name DIP Pin# PLCC Pin# QFT Pin# I/O/P Type Buffer Type Description u vo ca xung dao OSC1/CLKIN 13 14 30 ST/CMOS(4) ng thch anh/ngừ vo xung clock ngoi u ca xung dao ng thch anh Ni vi OSC2/CLKOUT 18 O - thch anh hay cng hng ch dao ng ca thch anh.Trong ch RC, ngừ ca chõn OSC2 MCLR /Vpp 18 I/P ST Ngừ vo ca Master Clear(Reset) hoc ngừ vo in th c lp trỡnh Chõn ny cho phộp tớn hiu Reset thit b tỏc ng mc thp RA0/AN0 19 I/O TTL RA1/AN1 20 I/O TTL I/O TTL RA2/AN2/VREF 21 Footer Page of 161 Sinh8viờn: Phm Quý Nghiờm Lp T1001 PORTA l port vo hai chiu RA0 cú th lm ngừ vo tung t th RA1 cú th lm ngừ vo tung t th RA2 cú th lm ngừ vo tung t hoc in ỏp chun tng t õm Header Page of 161 RA3/AN3/VREF + ỏn tt nghip 22 I/O TTL RA3 cú th lm ngừ vo tung t hoc in ỏp chun tng t dng RA4 cú th lm ngừ vo xung clock cho b nh thi Timer0 RA4/T0CKI 23 I/O ST RA5/ SS /AN4 24 I/O TTL RB0/INT 33 36 I/O TTL/ST(1) RB1 34 37 I/O TTL RB2 35 38 10 I/O TTL ngt ngo RB3 cú th lm ngừ vo ca in th c lp trỡnh mc thp RB3/PGM 36 39 11 I/O TTL RB4 37 41 14 I/O TTL RB5 38 42 15 I/O TTL RB6/PGC 39 43 16 I/O TTL/ST(2) RA5 cú th lm ngừ vo tng t th PORTB chiu l port hai RB0 cú th lm chõn Interrupt-on-change pin Interrupt-on-change pin Interrupt-on-change pin hoc RB7/PGD 40 44 17 I/O Footer Page of 161 Sinh9viờn: Phm Quý Nghiờm Lp T1001 TTL/ST(3) In-Crcuit Debugger pin Header Page 10 of 161 ỏn tt nghip Serial programming clock Interrupt-on-change pin hoc In-Crcuit Debugger pin Serial programming data PORTC l port vo hai chiu RC0/T1OSO/T1C KI RC1/T1OSI/CCP2 15 16 16 18 32 35 I/O I/O ST ST RC0 cú th l ngừ vo ca b dao ng Timer1 hoc ngừ xung clock cho Timer1 RC1 cú th l ngừ vo ca b dao ng Timer1 hoc ngừ vo Capture2/ngừ compare2/ngừ PWM2 RC2/CCP1 17 19 36 I/O ST RC3/SCK/SCL 18 20 37 I/O ST RC4/SDI/SDA 23 25 42 I/O ST vo RC2 cú th ngừ vo capture1/ngừ compare1/ngừ vo PWM1 RC3 cú th l ngừ vo xung Clock ng b ni tip/ngừ c hai ch SPI v I2C RC4 cú th l d liu Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh10 viờn: Header Page 45 of 161 ỏn tt nghip 2.2.3.2 nguyờn lý quột phớm Thut toỏn quột phớm c s dng l ln lt tỡm hng v tỡm ct (hoc ngc li) Khi tỡm hng, cỏc hng s c t lm u vo,cỏc ct c t lm u mc thp Sau ú kim tra cỏc hng xem cú hng no mc thp hay khụng (cú phớm no bm gõy ni vi ct hay khụng)? Sau xỏc nh c hng s t cỏc ct lm u vo, hng va tỡm c lm u mc thp Vic kim tra c tin hnh vi cỏc ct Sau xỏc nh c hng v ct s suy phớm c bm + u tiờn cho cỏc hng mc v cỏc ct mc + Kim tra xem no hng no oc nhn (khi nỳt c nhn) tc l oc nhn tớn hiu t cỏc ct + Nu m cú hng bt k oc nhn sau ú ta li chuyn giỏ tr vo hng oc nhn v giỏ tr vo cỏc ct Khi ú ct li nhn nhim v lm tớn hiu vo Nu m cỏc ct oc nhn (Khi nỳt c nhn) cỏc trng hp ny thỡ cho cỏc giỏ tr tng ng Ma trn phim 4x4 gm cú 16 phim nhn, ú em s dng cỏc phớm nhn t lm cỏc phớm s dựng nhp mt khu hay thay i mt khu Hỡnh 2.5 Hỡnh nh thc ca ma trn phớm Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh45 viờn: 42 Header Page 46 of 161 ỏn tt nghip Cỏc phớm A,B,C l cỏc phớm dựng thit lp ch ci t v iu khin cho ng c hot ng theo chiu thun hay ngc 2.2.5 Khi cụng sut ng c 2.2.5.1 Motor DC õy em s dng loi ụng c DC, nh hỡnh 2.5 Hỡnh 2.6 ng c DC 2.2.5.2 Mch cu H Mch cu H l c gi l mch cu H vỡ nú c cu to bi transitor hay l Fet ụi mch cu H cng c cu to bi transitor hay Fet Tỏc dng ca transitor v Fet l cỏc van úng m dn dũng in t ngun xung ti vi cụng sut ln Tỡn hiu iu khin cỏc van l tớn hiu nh (in ỏp hay dũng in) v cho dn dũng v in ỏp ln cung cp cho ti Tớn hiu u ca vi iu khin l nh hn 5V (do cỏc iu ch PWM) m iu khin ng c cn dũng in v in ỏp ln Cỏc van iu khin hay cỏc chõn iu khin ch cn tớn hiu nh (in ỏp hay dũng in) l m khúa (Transitor) dn dũng cho ti Mch cu H cú th o chiu dũng in qua ti nờn th nú hay c dựng cỏc mch iu khin ng c DC i vi mch iu khin ng c thỡ mch cu H cú th o chiu ng c quỏ l n gin Ch cn m khúa cỏc van ỳng chiu m mỡnh mun Nờn th ti em s dng mch cu H v cỏc Transitor c s dng l Tip 122 Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh46 viờn: 43 Header Page 47 of 161 ỏn tt nghip Hỡnh 2.7 S nguyờn lý mch cu H 2.2.5 Khi ngun Cung cp ngun nuụi cho ton b h thng õy b n ỏp dựng IC 7805 , 7812 to ngun +5V cung cp ngun cho mch vi iu khin v IC 7812 to ngun+12V cp cp v n nh cho mch khuờch i ng c S nguyờn lý nh hỡnh 2.6 Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh47 viờn: 44 Header Page 48 of 161 ỏn tt nghip Hỡnh 2.8 S nguyờn lý ca b n ỏp 2.3 S mch h thng Hỡnh 2.9 S nguyờn lý mch iu khin Motor Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh48 viờn: 45 Header Page 49 of 161 ỏn tt nghip Chng 3: PHN MM IU KHIN 3.1 Lu thut toỏn Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh49 viờn: 46 Header Page 50 of 161 ỏn tt nghip Lu quột phớm Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh50 viờn: 47 Header Page 51 of 161 ỏn tt nghip 3.2 Chng trỡnh #include #include #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #include #define Add #define TM 5000 #define TK 1000 //================================================= void Scan(); void OpenM(); void CloseM(); void Setting(); void InputNumber(); int8 A=0,A1=0,A2=0,A3=0,A4=0; int8 B1,B2,B3,B4; //unsigned int8 VarIn, VarOut; int8 State; //int8 Count; int i; void main() { set_tris_D(0xF0); set_tris_C(0x00); lcd_init(); output_C(0x00); delay_ms(100); //write to eeprom if(read_eeprom(Add)!=128) { write_eeprom(Add+1,1); write_eeprom(Add+2,2); write_eeprom(Add+3,3); write_eeprom(Add+4,4); Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh51 viờn: 48 Header Page 52 of 161 ỏn tt nghip } //read from eeprom B1=read_eeprom(Add+1); B2=read_eeprom(Add+2); B3=read_eeprom(Add+3); B4=read_eeprom(Add+4); while(1) { lcd_putcmd(0x80); printf(lcd_putchar,"Auto Open Sys "); lcd_putcmd(0xC0); printf(lcd_putchar," "); delay_ms(TK); Scan(); switch(A) { case 10: lcd_putcmd(0x80); printf(lcd_putchar,"Setting Number "); delay_ms(TK); lcd_putcmd(0x80); printf(lcd_putchar,"Put Old Number "); delay_ms(TK); InputNumber(); if((A1==B1)&&(A2==B2)&&(A3==B3)&&(A4==B4)) { lcd_putcmd(0x80); printf(lcd_putchar,"Put New Number "); lcd_putcmd(0xC0); printf(lcd_putchar," "); Setting(); } break; case 11: lcd_putcmd(0x80); printf(lcd_putchar,"Closing "); CloseM(); break; case 12: lcd_putcmd(0x80); Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh52 viờn: 49 Header Page 53 of 161 ỏn tt nghip printf(lcd_putchar,"Put Num to Open "); delay_ms(TK); InputNumber(); if((A1==B1)&&(A2==B2)&&(A3==B3)&&(A4==B4)) { lcd_putcmd(0x80); printf(lcd_putchar,"Open "); OpenM(); } break; } } } // -void Scan() { while(1) { State=0; output_D(0xF7); delay_us(50); switch(input_D()&0xF0) { case 0x70: A=1; State=1; break; case 0xB0: A=2; State=1; break; case 0xD0: A=3; State=1; break; case 0xE0: A=10; State=1; break; } Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh53 viờn: 50 Header Page 54 of 161 ỏn tt nghip output_D(0xFB); delay_us(50); switch(input_D()&0xF0) { case 0x70: A=4; State=1; break; case 0xB0: A=5; State=1; break; case 0xD0: A=6; State=1; break; case 0xE0: A=11; State=1; break; } output_D(0xFD); delay_us(50); switch(input_D()&0xF0) { case 0x70: A=7; State=1; break; case 0xB0: A=8; State=1; break; case 0xD0: A=9; State=1; break; case 0xE0: A=12; State=1; break; } Footer Page ofPhm 161 Quý Nghiờm Lp T1001 Sinh54 viờn: 51 Header Page 55 of 161 ỏn tt nghip output_D(0xFE); delay_us(50); switch(input_D()&0xF0) { case 0x70: A=14; State=1; break; case 0xB0: A=0; State=1; break; case 0xD0: A=15; State=1; break; case 0xE0: A=13; State=1; break; } if(State) { LCD_putchar(A+0x30); delay_ms(100); break; } } } // -void OpenM() { for(i=0;i

Ngày đăng: 27/03/2017, 17:07

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan