1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID

32 4,6K 275
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

Tiêu đề Ứng Dụng Pic16F877A Để Đo Và Ổn Định Nhiệt Độ Bằng Thuật Toán PID
Tác giả Nguyễn Anh Tuấn - 08D2, Nguyễn Duy Luân - 08D2, Nguyễn Hữu Tâm - 08D2, Nguyễn Văn Hiệu - 08D4
Trường học Bách Khoa Đà Nẵng
Thể loại Đề Tài Nhóm
Thành phố Đà Nẵng
Định dạng
Số trang 32
Dung lượng 3,34 MB

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

Nội dung

Tài liệu tham khảo Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID

Trang 1

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 1

ĐỀ TÀI NHÓM 5

“Ứng dụng Pic16F877A đo và ổn định nhiệt độ bằng thuật toán PID”

MỤC LỤC

Chương I: Tìm hiểu thiết bị

Chương II: Sơ đồ nguyên lý

Chương III: Lập trình CCS, kết nối PC và mô phỏng Proteus

Chương IV: Mô hình thực tế và chạy thử chương trình

Chương V: Kết luận

Thành viên trong nhóm:

1/ Nguyễn Anh Tuấn – 08D2 (nhóm trưởng)

2/ Nguyễn Duy Luân – 08D2

3/ Nguyễn Hữu Tâm – 08D2

4/ Nguyễn Văn Hiệu – 08D4

Trang 2

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 2

Chương I TÌM HIỂU THIẾT BỊ 1/ PIC16F877A:

- Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài

14 bít.Mỗi lệnh đều được thực thi trong một chu kỳ xung clock.Tốc độ hoạt

động tối đa cho phép là 20MHz với một chu kỳ lệnh là 200ns.Bộ nhớ chương

trình 8Kx14 bít, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM

với dung lượng 256x8 byte.Số PORT I/O là 5 với 33 pin I/O

- Các đặc tính ngoại vi bao gồm các khối chức năng sau:

Trang 3

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 3

+ Timer0: bộ đếm 8 bít với bộ chia tần số 8 bít

+ Timer1: bộ đếm 16 bít với bộ chia tần số, có thể thực hiện chức năng đếm dựa

vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep

+ Timer2: bộ đếm 8 bít với bộ chia tần số, bộ postcaler

+ Hai bộ Capture/ so sánh/ điều chế độ rộng xung

+ Các chuẩn giao tiếp nối tiếp SSP, SPI và I2C

+ Chuẩn giao tiếp nối tiếp USART với 9 bít địa chỉ

+ Cổng giao tiếp song song PSP với các chân điều khiển RD, WR, CS ở bên

ngoài

- Các kênh Analog:

+ 8 kênh chuyển đổi ADC 10 bít.Hai bộ so sánh

- Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:

+ Bộ nhớ flash với khả năng ghi xóa được 100.000 lần

+ Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần

+ Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm

+ Khả năng tự nạp chương trình với sự điều khiển của phần mềm

+ Watchdog Timer với bộ dao động trong

+ Chức năng bảo mật mã chương trình

+ Chế độ Sleep

+ Có thể hoạt động với nhiều dạng Oscillator khác nhau

2/ CẢM BIẾN NHIỆT ĐỘ LM35 DZ:

Trang 4

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 4

- LM35 là một cảm biến nhiệt độ analog, nhiệt độ được xác định bằng cách đo

hiệu điện thế ngõ ra của LM35:

+ Đơn vị nhiệt độ: °C

+ Có mức điện áp thay đổi trực tiếp theo độ C (10mV/*C)

+ Có hiệu năng cao, công suất tiêu thụ là 60uA

+ Sản phẩm không cần phải canh chỉnh nhiệt độ khi sử dụng

+ Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C

tới 150°C

+ Chân +Vs là chân cung cấp điện áp cho LM35DZ hoạt động (4—20V)

+ Chân Vout là chân điện áp ngõ ra của LM35DZ, được đưa vào chân Analog

của các bộ ADC

+ Chân GND là chân nối mass,lưu ý cần nối mass chân này để tránh làm hỏng

cảm biến cũng như làm giảm sai số trong quá trình đo

3/ OPAM LM358:

- Tín hiệu từ cảm biến được đưa qua opam LM358 để khuếch đại lên trước khi

đưa vào chân analog của pic và qua đó nâng cao được độ chính xác hơn

Trang 5

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 5

4/ LED 7 ĐOẠN:

- LED 7 đoạn là một công cụ thông dụng được dùng để hiển thị các thông số

dưới dạng các số từ 0 đến 9.Mặc dù công cụ LCD giúp ta thể hiện các thông số

một cách linh động hơn nhưng LED 7 đoạn vẫn được sử dụng nhiều trong công

nghiệp do các ưu thế của nó như: ít chịu ảnh hưởng của nhiệt độ, dễ tạo sự chú

ý và góc nhìn rộng

- LED 7 đoạn bao gồm 7 đoạn LED được đánh dấu là các kí tự a, b, c, d, e, f, g

và một dấu chấm thập phân kí hiệu là dp.Ta có thể xem LED 7 đoạn là một tổ

hợp gồm 8 LED.8 LEDnày có một đầu (Anode hoặc Cathode) được nối chung

và được bố trí theo mộtqui tắc nhất định dùng để hiển thị các chữ số thập phân

- Có hai loại LED 7 đoạn, đó là loại Anode chung (cực Anode của các LED

được nối chung với nhau) và loại Cathode chung (cực Cathode của các LED

được nối chung với nhau)

- Tùy theo từng loại LED mà ta có các phương pháp điều khiển các LED trong

tổ hợp đó sáng tắt một cách thích hợp.Đối với loại Anode chung, một LED sẽ

Trang 6

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 6

được bật sang nếu mức logic đưa vào chân điều khiển đoạn LED đó là mức

logic 0.Đối với loại Cathode chung, một LED sẽ được bật sang nếu mức logic

đưa vào chân điều khiển đoạn LED đo là mức logic 1

5/ TRANZITO PNP (A1015):

Trang 7

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 7

- Bảng thông số:

- Chân nguồn của các led 7 đoạn sẽ được điều khiển bởi các chân trên vi điều

khiển thông qua cực Base của tranzito PNP

Trang 8

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 8

7/ MOSFET IRF 540 + OPTO PC817:

Trang 9

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 9

- Mosfet hay còn gọi là tranzitor có cực cách ly, có tác dụng như một khóa K

Việc kích đóng hay mở khóa K tùy thuộc điện áp đặt vào chân G của mosfet

- Ở đây ta đưa xung PWM từ chân RC1 của Pic vào chân G của mosfet để kích

mở nó, qua đó điều chỉnh được điện áp cung cấp cho động cơ (quạt làm mát),

nghĩa là thay đổi được tốc độ của động cơ

- Dùng Opto PC817 để cách ly quang giữa mạch động lực và mạch điều khiển

Trang 10

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 10

8/ CỔNG COM VÀ IC MAX 232:

a/ Cổng COM:

- Giao tiếp giữa PIC và PC thông qua cổng nối tiếp hay còn gọi là cổng COM

theo chuẩn giao tiếp RS232

- Cổng COM có 2 dạng: đầu nối DB25 ( 25 chân ) và DB9 ( 9 chân ) được mô

tả như bảng sau:

- Cổng nối tiếp được sử dụng để truyền dữ liệu hai chiều giữa máy tính và ngoại

vi, nó có các ưu điểm sau:

+ Khoảng cách truyền xa hơn so với truyền song song

Trang 11

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 11

+ Số dây kết nối ít

+ Có thể truyền không dây dùng hồng ngoại

+ Có thể ghép nối với VĐK hay PLC

+ Cho phép nối mạng

+ Có thể tháo lắp thiết bị trong lúc máy tính đang làm việc

+ Có thể cung cấp nguồn cho các mạch điện đơn giản

- Các thiết bị ghép nối chia làm 2 loại:

+ DCE: là các thiết bị trung gian như MODEM

+ DTE: là các thiết bị tiếp nhận hay truyền dữ liệu như PC, PLC, VĐK

+ Việc trao đổi tín hiệu thông thường qua 2 chân RDX (nhận) và RTX (gửi)

- Tín hiệu truyền theo chuẩn RS232:

+ Chuẩn RS232 truyền tín hiệu với các tốc độ thông dụng là: 1200 bps, 4800

bps, 9600 bps, 19200 bps

+ Định dạng khung truyền chuẩn RS232:

 Khi không truyền dữ liệu, đường truyền sẽ ở trạng thái mark ( điện áp

-10V)

 Khi bắt đầu truyền, DTE sẽ đưa ra xung Start ( space :10V ) và sau đó

truyền lần lượt từ D0 > D7 và Parity, cuối cùng là xung Stop ( mark:

-10V ) để khôi phục lại trạng thái đường truyền.Ví dụ truyền ký tự A:

 Các đặc tính kỹ thuật của chuẩn RS232:

Trang 12

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 12

b/ IC MAX 232:

- IC MAX 232 là IC chuyên dùng trong giao tiếp nối tiếp với PC.Nó có 2 bộ

đệm và 2 bộ nhận.Đường dẫn điều khiển lối vào CTS, điều khiển việc xuất dữ

liệu ở cổng nối tiếp khi cần thiết, được nối với chân 9.Chân RTS (chân 10) được

nối với đường dẫn bắt tay để điều khiển với quá trình nhận.Thường thì các

đường dẫn bắt tay được nối với cổng nối tiếp qua các cầu nối, để khi không

dùng đến nữa có thể để hở mạch các cầu này.Cách truyền dữ liệu đơn giản nhất

là chỉ dùng 3 chân RTX, RDX và GND

Trang 13

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 13

Trang 14

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 14

Cáp nối

Bóng điện 60W (làm nguồn nhiệt) Led đơn

CHƯƠNG II

SƠ ĐỒ NGUYÊN LÝ

Trang 15

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 15

CHƯƠNG III LẬP TRÌNH CCS, KẾT NỐI PC VÀ MÔ PHỎNG PROTEUS

1/ ĐO NHIỆT ĐỘ:

- Sử dụng cảm biến LM35 với độ phân giải là 10 mv/ 0C, dải nhiệt độ đo được

từ -50 đến 150 0C

- Để đọc được giá trị ADC ta dùng hàm read_adc( );

- Từ giá trị ADC đọc được ta quy đổi ngược lại nhiệt độ:

+ chọn chế độ ADC 10 bít (nghĩa là ADC có giá trị từ 0 đến 1023)

+ ta có: read_adc( ) =1023 - ứng với điện áp 5 (V)

read_adc( )=x - ứng với điện áp (x*5)/1023 (V)

2/ HIỂN THỊ RA LED 7 ĐOẠN:

- Dùng 4 led 7 đoạn để hiển thị nhiệt độ:

+led 1 và led 2 hiển thị nhiệt độ hàng chục và hàng đơn vị (từ 0 đến 99 0C)

+led 3 và led 4 hiển thị ký tự 0C

- Dùng thuật toán quét led:

Trang 16

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 16

3/ TÍNH ĐỘ RỘNG XUNG BẰNG THUẬT TOÁN PID:

- Trong miền thời gian, bộ điều khiển PID được mô tả bằng mô hình vào

ra:

Trong đó: e(t) là tín hiệu ngõ vào, u(t) là tín hiệu ngõ ra của bộ điều khiển

Tuy nhiên, đối với Vi Điều khiển nói chung, việc tính toán các thành phần

P,I,D‐ nói cách khác là tính các tích phân hay đạo hàm trong công thức trên là

không thực hiện được Lý do: CPU không thể tính toán chính xác tới mức Δt =0

nghĩa là không liên tục Do đó, ta chỉ có thể tính toán gần đúng bằng cách ta cho

Δ t= ε rất nhỏ nhưng lớn hơn 0

Để tìm hệ thức PID rời rạc ,ta xét đồ thị sau đây:

- Khi đó công thức trên được viết lại như sau:

Trang 17

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 17

- Đối tượng điều khiển là động cơ DC 12V

- Các ngõ vào và ra của bộ điều khiển PID như sau:

Ngõ vào: e= nhiệt độ đặt (tem_dat) ‐ nhiệt độ hiện tại (tem_htai)

Ngõ ra: u = %duty cycle

- Thuật toán PID:

Ki: hệ số tích phân

Kp: hệ số tỉ lệ

Kd: hệ số vi phân

e2: sai lệch nhiệt độ hiện tại

e1: sai lệch nhiệt độ quá khứ ngay trước đó

e_sum: tổng các sai lệch từ lúc đầu đến thời điểm hiện tại

e_del: độ biến thiên sai lệch nhiệt độ

duty: độ rộng xung PWM (theo %)

Xuất xung PWM với duty vừa tính được ở trên

4/ PHƯƠNG PHÁP ĐIỀU XUNG PWM:

- Phương pháp điều chế PWM có tên tiếng anh là Pulse Width Modulation là

phương pháp điều chỉnh điện áp ra tải hay nói cách khác là phương pháp điều

chế dựa trên sự thay đổi độ rộng của chuỗi xung vuông dẫn đến sự thay đổi điện

áp ra

- Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của sườn

dương hay hoặc là sườn âm

- Đây là phương pháp được thực hiện theo nguyên tắc đóng ngắt nguồn cới tải

và một cách có chu kì theo luật điều chỉnh thời gian đóng cắt.Phần tử thực hiện

nhiện vụ đó trong mạch các van bán dẫn

Trang 18

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 18

- Giá trị điện áp trung bình đặt lên tải:

Ud=Umax*(t0/T) V hay Ud=Umax*D

Với D=t0/T là hệ số điều chỉnh và tính theo %

- Cách xuất xung PWM trong CCS:

// cài đặt tần số điều xung:

// Khai bao bien toan cuc===============================

Byte const maled[ ]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

int8 mode,i,j,k,p,tem_dat,tem_do,HC,HDV,tam_i,tam_p,tam_d;

float adc_tong,adc_tb,adc_cu,adc_moi,TPe2,TPe1,Out_put;

signed int8 e2,e1;

Trang 19

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 19

long int16 value;

float Kp;

float Ki;

float Kd;

//e2: sai so nhiet do hien tai;

//e1: sai so nhiet do qua khu ngay truoc do;

//tem_dat: nhiet do dat;

//tem_do: nhiet do hien tai;

//Ki: he so tich phan;

Trang 20

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 20

// Khai bao ngat truyen thong RS232========================

// San sang nhan data tu RS232===========================

Trang 21

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 21

// Cai dat ADC=====================================

Trang 22

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 22

// Chuong trinh con===================================

// Cai dat nhiet do====================================

Trang 23

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 23

Trang 24

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 24

6/ GIAO TIẾP VỚI MÁY TÍNH QUA GIAO DIỆN VISUAL BASIC:

- Để giao tiếp thuận tiện với máy tính ta dùng giao diện Visual basic 6.0

+ Việc truyền thông nối tiếp trên Windows được thực hiện qua một ActiveX có

sẵn là Microsoft Comm Control.ActiveX này được lưu trữ trong file

MSCOMM32.OCT.Quá trình này có 2 khả năng thực hiện điều khiển trao đổi

thông tin:

 Điều khiển sự kiện: là phương pháp tốt nhất trong quá trình điều khiển

trao đổi thông tin.Quá trình điều khiển được thực hiện qua sự OnComm

 Hỏi vòng: được thực hiện thông qua việc kiểm tra các giá trị của thuộc

tính CommEvent sau một chu kỳ nào đó để xác định xem có sự kiện nào

xảy ra hay không

- Chương trình VB:

Private Sub Cmd_Reset_Click( )

Dim D As Byte

D = 0

Trang 25

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 25

Trang 26

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 26

- Test phần quét phím để đặt nhiệt độ cần ổn định:

Nút: RESET để chạy lại chương trình

INC để tăng nhiệt độ đặt

DEC để giảm nhiệt độ đặt

ENTER để xác nhận nhập thành công

- Test phần đo nhiệt độ từ cảm biến và hiển thị lên led 7 đoạn:

Trang 27

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 27

- Test phần xuất xung PWM tần số 5KHz với độ rộng xung là 50%:

Trang 28

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 28

Trang 29

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 29

( Mạch động lực )

( Nguồn nhiệt + cảm biến + quạt làm mát )

Trang 30

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 30

( Mô hình nhìn từ bên cạnh )

( Mô hình nhìn từ trên xuống )

Trang 31

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 31

( Mô hình nhìn đối diện )

( Hình ảnh mô phỏng )

Trang 32

Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 32

CHƯƠNG V KẾT LUẬN

Ưu điểm:

- Phần cứng thiết kế nhỏ gọn và đươc lắp ráp theo kiểu module nên dễ dàng

thay thế cũng như kiểm tra các linh kiện trong mạch

- Phần mềm chạy khá ổn định, sai lệch nhiệt độ nằm trong khoảng cho phép

- Có thể ứng dụng được trong thực tế ( ổn định nhiệt độ trong các lò ấp trứng,

trong các kho bảo quản nông sản…)

Nhược điểm:

- Thời gian xác lập của hệ thống còn lớn, chưa ổn định nhiệt độ một cách tuyệt

đối do chưa chọn được các hệ số Ki, Kp,Kd của bộ điều khiển PID một cách

chính xác

Ngày đăng: 08/04/2013, 14:15

HÌNH ẢNH LIÊN QUAN

SƠ ĐỒ NGUYÊN LÝ - Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID
SƠ ĐỒ NGUYÊN LÝ (Trang 14)

TỪ KHÓA LIÊN QUAN

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

w