1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độ (Đồ án tốt nghiệp)

67 221 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 7,72 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độThiết kế và xây dựng hệ thống điều khiển động cơ theo nhiệt độ

Trang 3

C ng hoà xã h i ch t Nam

c l p T Do H nh Phúc -o0o -

I H C DÂN L P H I PHÒNG

Sinh viên : Ki u Công Hòa MSV : 1312102017

tài : Thi t k và xây d ng h th u khitheo nhi

Trang 4

NHI M V TÀI

1 N i dung và các yêu c u c n gi i quy t trong nhi m v tài t t nghi p (

v lý lu n, th c ti n, các s li u c n tính toán và các b n v )

2 Các s li u c n thi thi t k , tính toán

Trang 6

PH N NH N XÉT TÓM T T C A CÁN B NG D N

ng c i n i dung yêu c ra trong nhi m v t lý lu n th c ti n, tính toán giá tr s d ng, ch ng các b n v )

m c a cán b ng d n

m ghi b ng s và ch )

Cán b ng d n chính

(Ký và ghi rõ h tên)

Trang 7

NH GIÁ C I CH M PH N BI N

TÀI T T NGHI P

tài t t nghi p v các m t thu th p và phân tích s

thuy t minh và b n v , giá tr lý lu n và th c ti tài

m c a cán b ch m ph n bi n

m ghi b ng s và ch )

7

i ch m ph n bi n

(Ký và ghi rõ h tên)

Trang 8

M C L C

L I M U 1

T NG QUAN V CÁC PH N T 2

1.1 T NG QUAN V PIC16F877A 2

1.1.1 Ch u khi n PIC16F877A 2

1.1.2 M t vài thông s v u khi n PIC16877A 3

kh u khi n PIC16F877A 4

1.1.4 T ch c b nh 5

1.1.5 Các c ng xu t nh p c a PIC16F877A 9

1.1.6 Timer0 11

1.1.7 Timer1 13

1.1.8 Timer2 15

1.2 THI T B LCD 16

1.2.1 Hình dáng kích c 17

1.2.2 Các chân ch c 18

kh i c a HD44780 19

1.2.4 T p l nh c a LCD 22

1.2 c tính c a các chân giao ti p 27

THI T K H TH U KHI THEO NHI 28

KH I 28

2.2 THI T K CÁC KH I 28

2.2.1 M 28

2.2.2 Kh i x lý 30

2.2.3 Kh i ADC (tích h p trong PIC16F877A) 31

2.2.4 Kh i khu i hi u ch nh 32

2.2.5 Kh i công su t 33

Trang 9

2.2.7 Motor DC 38

m ch nguyên lý h th ng 43

U KHI N 45

THU T TOÁN 45

3.2 U KHI N 46

K T LU N 56

TÀI LI U THAM KH O 58

Trang 11

1.1 T NG QUAN V PIC16F877A

PIC16F877A là dòng PIC ph bi n nh t hi n nay m nh v

Hình 1.1: u khi n PIC 16F877A/PIC16F874A và các d chân

Trang 12

Ch a PIC16F877A:

tràn Timer, ng t ngo t ADC

r ng xung)

- Ch ng b n i ti p SSP g m 2 giao ti p SPI và I2C

module ph n c ng ph c v cho giao ti p theo chu n RS-232

- B ADC 10 bit chuy i tín hi ng t sang tín hi u s

1.1.2 M t vài thông s v u khi n PIC16877A

u khi n thu c h PIC16Fxxx v i t p l nh g m 37 l nh có dài 14 bit M i l c th c thi trong m t chu kì xung clock T

nh d li u 368x8 byte RAM và b nh d li u EEPROM v ng 256x8 byte S PORT I/O là 5 v i 33 pin I/O

c tính ngo i vi bao g m các kh i ch

-Timer0: b m 8 bit v i b chia t n s 8 bit

-Timer1: b m 16 bit v i b chia t n s , có th th c hi n ch c n

sleep

-Timer2: b m 8 bit v i b chia t n s , b postcaler

- Các chu n giao ti p n i ti p SSP(Synchronous Serial Port) v i các chân

u khi n RD, WR, CS bên ngoài

c tính Analog:

- 8 kênh chuy i ADC 10 bit

Trang 13

Programming) thông qua 2 chân.

- Watchdog Timer v i b ng trong

Trang 14

1.1.4 T ch c b nh

C u trúc b nh u khi n PIC16F877A bao g m b nh

trình (Program memory) và b nh d li u (Data Memmory)

1.1.4.1 B nh

Trang 15

1.1.4.2 B nh d li u

B nh d li u c a PIC là b nh c chia ra làm nhi u

i v i PIC16F877A b nh d li c chia ra làm 4 bank M i

ng 28 byte, bao g m các thanh ghi có ch c bi t SFR (Special Function Register) n m a ch th p và các thanh ghi

c s d ng (ví dghi STATUS) s t t t c các bank c a b nh d li u giúp thu n ti n trong quá trình truy xu t và làm gi m b t l nh c c th

c a b nh d li

Hình 1.4: b nh d li u PIC16F877A

Trang 16

- Thanh ghi STATUS (03h, 83h, 103h, 183h): thanh ghi ch a k t qu

th c hi n phép toán c a kh i ALU, tr ng thái reset và các bit ch n bank c n truy xu t trong b nh d li u

Trang 17

- Thanh ghi PIE2 (8Dh): ch u khi n ng t c a các kh i ch c

t c a b so sánh và ng t ghi vào b nh EEPROM

- Thanh ghi PIR2 (0Dh): ch a các c ng t c a các kh i ch i

vi, các ng c cho phép b u khi n ch a trong thanh ghi PIE2

- Thanh ghi PCON (8Eh): ch a các c hi u cho bi t tr ng thái các chreset c u khi n

1.1.4.2.2.Thanh ghi m

Các thanh ghi này có th c truy xu t tr c ti p ho c gián ti p thông

ch a các bi n s , h ng s , k t qu ho c các tham s

ph c v

1.1.4.3 Stack

Stack không n m trong b nh y b d li u mà là m t

u khi n c t vào trong stack Khi m t

Trang 18

C n chú ý là không có c hi u nào cho bi t tr

không bi c khi nào stack tràn Bên c p l nh c u khi n

u khi n PIC16F877A có 5 c ng xu t nh p, bao g m PORTA, PORTB, PORTC, PORTD, PORTE

i v i các PORT và các thanh ghi

Trang 19

sánh, ngõ vào analog ngõ vào xung clock c a Timer0 và ngõ vào c a b giao

ti p MSSP (Master Synchronous Serial Port)

sánh, b Timer1, b PWM và các chu n giao ti p n i ti p I2C, SPI, SSP, USART

- a ch 07h): ch a giá tr các pin trong PORTC

Trang 20

ng là TRISE Các chân c a PORTE có ngõ vào analog Bên c PORTE

u khi n c a chu n giao ti p PSP

n PORTE g m:

- PORTE: ch a giá tr các chân trong PORTE

- u khi n xu t nh p và xác l p các thông s cho chu n giao

ti p PSP

1.1.6 Timer0

t trong ba b m ho c b nh th i c u khi n PIC16F877A Timer0 là b c k t n i v i b chia t n s(prescaler) 8 bit C u trúc c a Timer0 cho phép ta l a ch n xung clock tác

ng và c nh tích c c c a xung clock Ng t Timer0 s xu t hi n khi Timer0

cho phép ng t Timer0 tác ng, TMR0IF=0 không cho phép ng t Timer0 tác

kh i c a

Trang 21

Hình 1.5: kh i c a Timer0.

Mu n Timer0 ho ng ch Timer ta clear bit TOSC

ng h (t n s vào Timer0 b ng ¼ t n s oscillator) Khi giá tr thanh ghi TMR0 t FFh tr v 00h, ng t Timer0 s xu t hi n Thanh ghi TMR0 cho

c giúp ta nh th m ng t Timer0 xu t hi n m t ng

Mu n Timer0 ho ng ch counter ta set bit TOSC

ng lên b c l y t chân RA4/TOCK1 Bit TOSE (OPTION_REG<4>) cho phép l a ch n c nh tác

s là c nh xu ng n u TOSE=1

Khi thanh ghi TMR0 b tràn, bit TMR0IF (INTCON<2>) s c set

ng t c a Timer0 C ng t này ph c xóa b

Trang 22

c khi b m b u th c hi n l m Ng t Timer0

B chia t n s c chia s gi a Timer0 và WDT (Watchdog

c s d ng cho Timer0 thì WDT

ng c a prescaler Các bit PS2:PS0 (OPTION_REG<2:0>) xác

nh l i m t cách chi ti t v u khi n trên

Các l ng lên giá tr thanh ghi TMR0 s xóa ch ho ng

1.1.7 Timer1

Timer1 là b nh th i 16 bit, giá tr c a Timer1 s

thanh ghi (TMR1H:TMR1L) C ng t c a Timer1 là bit TMR1IF(PIR1<0>)

u khi n c a Timer1 s là TMR1IE (PIE<0>)

th i (timer) v i xung kích là xung clock c a oscillator (t n s c a timer b ng

¼ t n s c a oscillator) và ch m (counter) v i xung kích là xung ph n ánh các s ki n c m l y t bên ngoài thông qua chân

Trang 23

ng v i vi c l a ch n ch ho ng là timer hay counter)

Timer1:

Hình 1.6: kh i c a Timer1

b i m t trong hai kh i CCP(Capture/Compare/PWM)

c set, Timer1 s l y xung clock t

Khi clear bit T1OSCEN Timer1 s l m t oscillator ho c t chân RC0/T1OSO/T1CKI

Timer1 có hai ch ng b (Synchronous) và b ng b

(T1CON<2>)

ch sleep và ng t do Timer1 t o ra khi b tràn có kh

Trang 24

làm ngu n xung clock cho kh i CCP (Capture/Compare/Pulse width modulation).

Khi T1SYNC m vào Timer1 s ng b hóa v i xung

ch sleep

Các thanh ghi liên quan n Timer1 g m:

- a ch 0Bh, 8Bh, 10Bh, 18Bh): cho phép ng t ho ng (GIE và PEIE)

- PIR1 ( a ch 0Ch): ch a c ng t Timer1 (TMR1IF)

- a ch 8Ch): cho phép ng t Timer1 (TMR1IE)

- a ch 0Eh): ch a giá tr 8 bit th p c a b m Timer1

- a ch 0Eh): ch a giá tr 8 bit cao c a b m Timer1

- a ch 10h): xác l p các thông s cho Timer1

1.1.8 Timer2

Timer2 là b nh th c h tr b i hai b chia t n sprescaler và postcaler Thanh ghi ch a giá tr m c a Timer2 là TMR2 Bit cho phép ng t Timer2 tác ng là TMR2ON (T2CON<2>) C ng t c a Timer2 là bit TMR2IF (PIR1<1>) Xung ngõ vào (t n s b ng ¼ t n s

chia t n s prescaler 4 bit (v i các t s chia t n s

là 1:1, 1:4 ho u khi n b i các bit T2CKPS1:T2CKPS0(T2CON<1:0>))

c h tr thanh ghi PR2 Giá tr m trong thanh ghi

Trang 25

- a ch 0Ch): ch a c ng t Timer2 (TMR2IF).

- a ch 11h): ch a giá tr m c a Timer2

- a ch 12h): xác l p các thông s cho Timer2

- a ch 92h): thanh ghi h tr cho Timer2

1.2 THI T B LCD

Ngày nay, th LCD (Liquid Crystal Display)

Trang 27

2 Vdd Chân c p ngu n cho LCD, khi thi t k m ch ta n i

chân này v i 5V c a m u khi n

+ ch ghi: D li u bus s c LCD chuy n vào (ch p nh n) thanh ghi bên trong nó khi phát hi n

m t xung (low-to-high transition) c a tín hi u chânE

ng c a bus d li i thông tin

+ Ch 8 bit: D li u c truy n trên c ng,

Trang 28

rõ i dùng ch vi c cung c a ch l nh b ng cách n p vào thanh

p vào thanh ghi IR m t chu i 8 bit, chíp HD44780

s tra b ng mã l nh t a ch mà IR cung c p và th c hi n l nh

Trang 29

- ch a d li ghi vào

li u t 2 vùng RAM này g i ra cho MPU ( ch

ghi thông tin vào DR, m ch n i bên trong chíp s t ng ghi thông tin này vào DDRAM ho c CGRAM Ho c khi thông tin v a ch c ghi vào IR,

d li u a ch này trong vùng RAM n i c a HD44780 s c chuy n ra

truy n cho MPU V y b u khi n chân RS và R/W chúng

ta có th chuy n qua l i gi a 2 thanh ghi này trong khi giao ti p v i MPU

B ng 1.2 tóm t t l i các thi t l i v i hai chân RS và R/W theo m

c c b n DB7 và giá tr c a b a

Trang 30

-DB6 khi có thi

mà cao (not busy), cho nên

-5µS (ngay sau khi BF=1) tr khid

Hình 1.12: M i liên h gi a ch c a DDRAM và v trí hi n th c a LCD

Trang 31

Hình 1.13: M i liên h gi a ch c a ROM và d li u t o m u kí t f) Vùng

1.2.4 T p l nh c a LCD

Trang 32

a 2 thanh ghi này

Hình 1.14: M i liên h gi a ch c a CGRAM, d li u CGRAM,

và mã kí t

Trang 33

L nh Clear Display (xóa hi n th ) s ghi m t kho ng tr ng

(mã hi n th kí t 20H) vào t t c ô nh trong DDRAM,

b a ch AC=0, tr l i hi n th g c n u nó

u tiên), chReturn

Trang 34

n N:

* Chú ý:

Không th hi n th ki u kí t m nh ki u hi n

Trang 35

m c th p Cho nên, khi l u khi n, b n

ph i ki m tra c c khi ghi d li u vào LCD Khi

c c BF, giá tr c c xu t ra các bit [AC]

a ch c a CG hay DDRAM là tùy thu c vào l nh

các chân DBx t m ch ngoài s c LCD chuy n vào

Sau khi ghi, b a ch AC t ng

m 1 tùy theo thi t l p Entry mode i gian c p nh t AC không tính vào th i gian th c thi l nh

37µs tADD4µs

Trang 36

c tính c a các chân giao ti p

cc =

B ng 1.5: Mi n làm vi ng

Trang 37

m n

theo dõi các thông và thao tác

2.2 THI T K CÁC KH I

2.2.1 M

Trang 39

- Nhi Kelvin T = Vout/(10mV).

T Kelvin ta có th C theo công th c:

T C)= T Kenvin) - 273,15

2.2.2 Kh i x lý

c em

PWM

Hình 2.4: nguyên lý c a PIC16F877A trong m ch

Trang 40

2.2.3 Kh i ADC (tích h p trong PIC16F877A)

ADC (Analog to Digital Converter) là b chuy i tín hi u gi a hai

d và s PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0) Hi n th chu n VREF có th c l a ch n là VDD, VSS hay

hi n th chu c xác l p trên hai chân RA2 và RA3 K t qu chuy n

i t tín hi sang tín hi u s là 10 bit s

trong hai thanh ghi ADRESH : ADRESL Khi không s d ng b chuy i

khác Khi quá trình chuy i hoàn t t, k t qu s

+ Thi t l p các thông s cho b chuy i ADC:

- Ch n ngõ vào analog, ch n áp l y m u (d a trên các thông s c a thanh ghi ADCON1)

- Ch n kênh chuy i AD (thanh ghi ADCON0)

- Ch n xung clock cho kênh chuy i AD (thanh ghi ADCON0)

- Cho phép b chuy i AD ho ng (thanh ghi ADCON0)

+ Thi t l p các c ng t cho AD:

- Clear bit ADIF

- Set bit ADIE

- Set bit PEIE

- Set bit GIE

+ i cho t i khi quá trình l y m u hoàn t t

+ B u quá trình chuy i (set bit GO/DONE )

+ i cho t i khi quá trình chuy i hoàn t t b ng cách :

- Ki m tra bit GO/DONE N u GO/DONE =0, quá trình chuy

hoàn t t

Trang 42

ch khu i hi u ch chuy n d n áp trong LM335 (Vout=2,73÷3,73V ng v i d i nhi 0C) thành d i t 0÷5V r ADC tích h p trong PIC16F877A.

Trang 43

Hình 2.6: u raHình 2.6

Trang 44

- ra

Duty = t1/T.100%

Trong kh u khi n, PIC16F87 u khi

t o xung PWM r m ch c u H tích h p trong IC Driver L293D

Trang 46

cao (l n nh n nh t 1.2A nên r t thích h p

Hình 2.9: chân L293D

Trang 47

n m t chi c s d ng r ng rãi trong các ng

d ng công nghi p vì nó cung c p công su i ho c moment không

Trang 48

n ch y qua cu n dây qu n xung quanh m t lõi s t non,

c nh phía bên c b ng b i m t l ng lên, trong khi c nh

i di n l i b ng b ng m t l ng xu ng theo nguyên lí bàn tay trái

c a Fleming Các l ng quay lên cu n dây, và làm cho rotor quay

chuy n m n sau m i v trí ng v i ½ chu kì Khi m t c a cu n

theo quán tính

Trang 49

n m t chi u l i ta có nhi u cu n dây n i ra

liên t c và h i theo các v trí khác nhau c a rotor

Trang 51

ng s d u ch n áp c p cho

i, còn t không t ng thì tùy thu c vào giá tr u khi n

u khi n là m t h ng song song:

- M ch nguyên lí:

Trang 53

Hình 2.15: m ch nguyên lý h th ng.

Trang 55

#FUSES NOWDT //No Watch Dog Timer

#FUSES HS //High speed Osc (> 4mhz for PCM/PCH)

(>10mhz for PCD)

#FUSES NOPUT //No Power Up Timer

Trang 56

#FUSES NOPROTECT //Code not protected from reading

#FUSES NODEBUG //No Debug mode for ICD

#FUSES NOBROWNOUT //No brownout reset

#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#FUSES NOCPD //No EE protection

#FUSES NOWRT //Program memory not write protected

#FUSES RESERVED //Used to set the reserved FUSE bits

delay_ms(150); // Ham delay chong rung phim

while(INPUT(PIN_D0)==0); // Cho den khi nut duoc tha ra

Mode++; // Tang mode len 1 de chuyen sang mode ke tiep

if(Mode==4) Mode=0; // Lap lai mode 0 khi da chuyen qua het cac mode

KeyPress=1;

Trang 58

if (Read_T<Tdat) {Duty=0; On_Off=0;}

else {dT=Read_T-Tdat; On_Off=1;

if(Read_T<60) {output_bit(PIN_C6,0);

if(dT<=2) Duty=40;

else if(dT<=4) Duty=55;

else if(dT<=6) Duty=70;

else if(dT<=8) Duty=85;

else Duty=100;}

else{output_bit(PIN_C6,1);

if(dT<=2) Duty=40;

else if(dT<=4) Duty=55;

else if(dT<=6) Duty=70;

else if(dT<=8) Duty=85;

else Duty=100;}

}

}

/************************************************/

Trang 59

void HienNhietDo() // Ham hien thi nhiet do do duoc tu LM335{

Trang 60

LCD_Char(" DAT GIAM NHIET ");

T = Tdat; // Tach hang chuc va don vi cua tmin va hien thi ra LCDchuc = T/10 + 48;

Trang 61

void SetTUp() // Ham cai dat nguong nhiet do max

case 0: HienNhietDo(); break;

case 1: SetTUp(); break;

Trang 62

case 2: SetTDown(); break;

case 3: LCD_Cmd(0x80); LCD_Char(" CHE DO ON/OFF ");

if(On_Off==1) {LCD_Cmd(0xC0); LCD_Char(" ON ");}else {LCD_Cmd(0xC0); LCD_Char(" OFF ");} }

CLEAR_INTERRUPT(INT_TIMER1); // Xoa co ngat timer1

DISABLE_INTERRUPTS(GLOBAL); // Khong cho phep ngat khacCount++; // Sau moi ngat ta tang bien dem

if(Count==10) // khi cnt=10 thi da dem duoc 10 lan tuong ung voi 1s{

case 0: set_pwm2_duty(0); break;

case 40: set_pwm2_duty(102); break;

case 55: set_pwm2_duty(140); break;

case 70: set_pwm2_duty(178); break;

Trang 63

case 85: set_pwm2_duty(217); break;

case 100: set_pwm2_duty(255); break;

lcd_init(); // Khoi tao LCD

SETUP_TIMER_1(T1_INTERNAL|T1_DIV_BY_8); // Cai dat timer1 voi bo chia tan 1:8

SETUP_TIMER_2(T2_DIV_BY_16,255,1);

SET_TIMER1(3035); // Gia tri khoi tao cho timer1 ( dem den 65535

Trang 64

// voi clock 20Mhz chia 8 => mot ngat tuong ung voi 0.1s )ENABLE_INTERRUPTS(INT_TIMER1); // Cho phep ngat timer1

ENABLE_INTERRUPTS(GLOBAL); // Cho phep ngat toan cuc

while(KeyPress==0); // Lien tuc lap lai viec kiem tra xem nhiet do

} // co duoc doc hay ko va kiem tra phim bam

}

Ngày đăng: 27/02/2018, 12:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w