BỘ GIAO THÔNG VẬN TẢI
ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚN MÔN HỌC
ĐO LƯỜNG VÀ ĐIỀU KHIỂN BẰNG MÁY
TÍNH
ĐỀ TÀI:GIÁM SÁT-ĐIỀU KHIỂN NHIỆT ĐỘ TRONG
NHÀ MÁY
GVHD: Th.S Lê Thị Ngọc Quyên
Nhóm thực hiện:Nhóm 3
MỤC LỤC
PHẦN MỞ ĐẦU............................................................................................................... 1
1.
Lý do chọn đề tài................................................................................................. 1
2.
Giới thiệu đề tài...................................................................................................1
CHƯƠNG I: GIỚI THIỆU CÁC LINH KIỆN CHÍNH................................................2
1. Board Arduino Uno R3............................................................................................2
2. Cảm biến nhiệt độ LM35.........................................................................................3
3.Tip 122........................................................................................................................ 4
4.Motor quạt 775..........................................................................................................4
5. Đèn sợi đốt 12VDC...................................................................................................5
6.
Bộ nguồn 12VDC................................................................................................5
CHƯƠNG II:XÂY DỰNG MƠ HÌNH...........................................................................7
1.Sơ đồ khối...................................................................................................................7
2.Sơ đồ ngun lí mơ phỏng trên proteus...................................................................7
3. Arduino.....................................................................................................................8
3.1 Giới thiệu arduino..............................................................................................8
3.2 Code arduino......................................................................................................9
4.Giao diện thiết kế trên C#.......................................................................................11
5. PID........................................................................................................................... 11
5.1 Giới thiệu về PID..............................................................................................11
5.2 Đặc tính bộ điều khiển PID.............................................................................12
PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay, các bộ vi điều khiển đang có ứng dụng ngày càng
rộng rãi trong các lĩnh vực kỹ thuật và đời sống xã hội, đặc biệt là
trong kĩ thuật tự động hóa và điều khiển từ xa. Giờ đây, với nhu
cầu chuyên dụng hóa, tối ưu (thời gian, khơng gian, giá thành),
tính bảo mật, tính chủ động trong cơng việc... ngày càng địi hỏi
khắt khe. Việc đưa ra cơng nghệ mới trong lĩnh vực chế tạo mạch
điện tử để đáp ứng những u cầu trên là hồn tồn cấp thiết mang
tính thực tế cao.
Nền kinh tế nhà máy công nghiệp đô thị đang được đẩy mạnh
phát triển. Việc chọn đề tài thiết kế mạch giám sát- điều khiển
nhiệt độ trong nhà máy với mục đích góp phần vào nghiên cứu
phát triển ngành nghề đang được sử dụng khá phổ biến.
Một trong những cách tốt nhất để hạn chế thời gian ngừng
hoạt động của thiết bị ngoài dự kiến là phải lên kế hoạch, cách thức
nhà máy được kiểm tra để bảo dưỡng và sửa chữa, kiểm soát năng
suất hoạt động. Nếu thực hiê `n tốt điều này, các nhà quản lb có thể
chắc chắn rằng tất cả các thiết bị đều đang hoạt động mô `t cách hiệu
quả nhất.
Đề tài gần gũi với đời sống và có đóng góp lớn cho việc phát
triển kinh tế xã hội đặc biệt là nền kinh tế .
2. Giới thiệu đề tài
Đề tài thiết kế mạch sử dụng vi điều khiển điều chỉnh nhiệt
độ trong nhà máy là một trong những ứng dụng phổ biến của đời
sống được đưa ra qua quá trình tìm hiểu thực tế.
Mạch bao gồm khối cảm biến nhiệt biến đổi thành tín hiệu
điện, sau đó báo về cho khối xử lb tự dộng thu nhận tín hiệu điện,
xử lb tín hiệu này rồi so sánh, từ đó điều chỉnh nhiệt độ trong nhà
máy được giữ ở một mức nhiệt độ nhất định cần thiết.
Đề tài góp phần trong việc giảm cơng sức lao động và mang
lại hiệu quả kinh tế cao.
CHƯƠNG I: GIỚI THIỆU CÁC LINH KIỆN CHÍNH
1. Board Arduino Uno R3
Một trong những board thông dụng, được sử dụng nhiều nhất là
board Arduino Uno. Dòng này đã phát triển tới thế hệ thứ 3 với tên
gọi là Arduino Uno Revision 3 (Arduino Uno R3).
Hình 2.1 Board Arduino Uno R3
Vi điều khiển
Atmega328P( họ 8 bit)
Điện áp hoạt động
5V
Điện áp vào khuyên dùng
7-12V
Điện áp vào giới hạn
6-20V
Digital I/O pin
14 (trong đó 6 chân PWM)
PWM Digital I/O Pins
6
Analog Input Pins
6 (độ phân giải 10 bit)
Cường độ dòng điện trên mỗi 20mA
I/O pin
Cường độ dòng điện trên mỗi 50mA
3.3V pin
32 KB (ATmega328P)
Flash Memory
0.5 KB được sử dụng bởi
bootloader
SRAM
2 KB (ATmega328P)
EEPROM
1 KB (ATmega328P)
Tốc độ xung nhịp
16 MHz
Chiều dài
68.6 mm
Chiều rộng
53.4 mm
Trọng lượng
25 g
Bảng 1 Thông số cơ bản của Board Arduino Uno R3
Nhiệm vụ chính: Là trung tâm của hệ thống. Thực hiện tiếp nhận
tính tốn, xử lb tín hiệu đến và truyền đi.
2. Cảm biến nhiệt độ LM35
a. LM35 có 3 chân: 1 Vcc, 1 GND, 1 Analog
b. Nhiệt độ LM35 thay đổi tuyến tính:10mV/°C
c. Độ chính xác thực tế: 1/4°C ở nhiệt độ phịng và 3/4°C ngồi
khoảng 2°C tới 150°C
d. LM35 có hiệu năng cao, cơng suất tiêu thụ là 60uA
e. LM35 hiệu điện thế 3,3-5V
3.Tip 122
a. Tip 112 có 3 chân: chân B, C, E.
b. Transistor TIP122 là darlington transistor thuộc loại transistor
NPN.
c. TIP122 có Uc cực đại = 60V, dòng Ic cực đại = 5A
d. Hệ số khuếch đại hFE của darlington transistor TIP122 thấp
nhất là 1000.
e. Chức năng: dùng để băm xung điều khiển đèn và quạt.
4.Motor quạt 775
Motor 775 gắn quạt tạo gió giảm nhiệt độ
a. Nguồn sử dụng: 12-24VDC
b. Cơng suất: 288W
c. Vịng quay: 21000RPM
d. Momen xoắn: 125mN.m
e. Chiều dài: 10,6cm
f. Chiều rộng: 4.3cm
g. Kích thước trục: phi 5
h. Độ dài trục: 17 mm
i. Khoảng cách lỗ bắt vít: M4-29mm
j. Khối lượng: 350g
6. Bộ nguồn 12VDC
a.
b.
c.
d.
e.
f.
g.
h.
i.
j.
k.
l.
Nguồn cấp: 110-220VAC
Ngõ ra DC: 12VDC.
Dịng điện: 05A.
Cơng suất ngõ ra: 125W.
Có biến trở điều chỉnh ngõ ra.
Nhiệt độ hoạt động: -40~71 độ C.
Độ ẩm: 20~95%
Khối lượng: 480g.
Cấp chính xác ngõ ra: cộng – trừ 1%
Vỏ ngoài: Kim loại.
Cấp bảo vệ: IP20.
Cấp nguồn 220V vào 2 chân L & N, nếu có thể nên nối đất chân
GND
m.Nguồn có 2 đầu ra +12V và 2 đầu ra 0V.
CHƯƠNG II:XÂY DỰNG MƠ HÌNH
1.Sơ đồ khối
2.Sơ đồ ngun lí mô phỏng trên proteus
3. Arduino
3.1 Giới thiệu arduino
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng
các ứng dụng điện tử. Arduino gồm có board mạch có thể lập trình
được (thường gọi là vi điều khiển) và các phần mềm hỗ trợ phát triển
tích hợp IDE (Integrated Development Environment) dùng để soạn
thảo, biên dịch code và nạp chương trình cho board.
Arduino ngày nay rất phổ biến cho những người mới bắt đầu tìm
hiểu về điện tử vì nó đơn giản, hiệu quả và dễ tiếp cận. Không giống
như các loại vi điều khiển khác, Arduino khơng cần phải có các công
cụ chuyên biệt để phụ vụ việc nạp code, ví dụ để nạp code cho PIC
cần phải có Pic Kit. Đối với Arduino rất đơn giản, ta có thể kết nối
với máy tính bằng cáp USB. Thêm vào đó việc lập trình cho Arduino
rất dễ dàng, trình biên dịch Arduino IDE sử dụng phiên bản đơn giản
hóa của ngơn ngữ C++.
3.2 Code arduino
#define Fan1 6
#define Fan2 5
float ND_do, reading;
float err, err_old, PW1, PW2;
volatile float DUTY;
int sensorPin = A0;// chân analog kết nối đến cảm biến LM35
int state, i;
float ND_DAT =30;//khởi tạo nhiệt dộ ban đầu 300C
float kp=7.8, Ki=0.005, Kd=5.9, P, I, D;//cài đặt hệ số Kp,Ki,Kd
void setup ()
{
Serial.begin(9600);// Khởi động Serial ở mức baudrate 9600
pinMode (Fan1, OUTPUT);
pinMode (Fan2, OUTPUT);
// pinMode (10,OUTPUT);
PW1=0;
PW2=0;
}
void loop()
{
if ( Serial.availabel() > 0)
{
state = Serial.read();
ND_DAT = state ;
}
for (i=0 ; i<150 ; i++ )
// lệnh lặp 150 lần
{
reading = reading + analogRead (sesorPin);//đọc giá trị từ LM35
delay(1) ;
}
reading = reding/150;// lấy giá trị trung bình 150 lần đọc để giảm sai
số
float voltange = reading*5.0 /1024.0;
ND_do =voltage * 100.0;
Serial.println (ND_do) ;//Gửi giá trị trung ND do lên máy tính
Delay (50);
// thiết lập thuật toán điều khiển PID
err = ND_DAT – ND_do;
P=Kp*err;
I=Ki * (err +err_old)*100/1000;
D=Kd*(err-err_old)*10;
err_old =err;
DUTY = P+I+D;
Delay (5);
PW1 =PW1 + DUTY ;
PW2 =PW2- DUTY;
PW1 = constrain (PW1, 0,025);// xung PWM điều khiển quạt máy
PW2 = constrain (PW2, 0,025);// xung PWM điều khiển quạt sưởi
analogWrite (Fan1, 0,025);// chân 6
analogWrite (Fan2, 0,025);// chân 5
}
4.Giao diện thiết kế trên C#
5. PID
5.1 Giới thiệu về PID
Bộ điều khiển PID (A proportional integral derivative controller)
là bộ điều khiển sử dụng kỹ thuật điều khiển theo vòng lặp dụng kỹ
thuật điều khiển theo vịng lặp có hồi tiếp được sử dụng rộng rãi
trong các hệ thống điều khiển tự động.
Một bộ điều khiển PID cố gắng hiệu chỉnh sai lệch giữa tín hiệu
ngõ ra và ngõ vào sau đó đưa ra một một tín hiệu điều khiển để điều
chỉnh quá trình cho phù hợp.
Bộ điều khiển kinh điển PID đã và đang được sử dụng rộng rãi để
điều khiển các đối tượng SISO bởi vì tính đơn giản của nó cả về cấu
trúc lẫn nguyên lb làm việc. Bộ điều chỉnh này làm việc rất tốt trong
các hệ thống có qn tính lớn như điều khiển tốc độ, điều khiển
mức,... và trong các hệ điều khiển tuyến tính hay có mức độ phi tuyến
thấp.
PID là một trong những lb thuyết cổ điển và cũ nhất dùng cho điều
khiển tuy nhiên nó vẫn ứng dụng rộng rãi cho đến ngày nay.
Sơ đồ khối của bộ điều khiển PID:
5.2 Đặc tính bộ điều khiển PID
- Thành phần tỉ lệ (Kp) có tác dụng làm tăng tốc độ đáp ứng của
hệ, và làm giảm chứ không triệt tiêu sai số xác lập của hệ (steadystate error).
- Thành phần tích phân (Ki) có tác dụng triệt tiêu sai số xác lập
nhưng có thể làm giảm tốc độ đáp ứng của hệ. - Thành phần vi phân
(Kd) làm tăng độ ổn định hệ thống, giảm độ vọt lố và cải thiện tốc độ
đáp ứng của hệ.
- Lưu b rằng quan hệ này khơng phải chính xác tuyệt đối vì Kp,
Ki và Kd cịn phụ thuộc vào nhau. Trên thực tế, thay đổi một thành
phần có thể ảnh hưởng đến hai thành phần cịn lại. Vì vậy bảng trên
chỉ có tác dụng tham khảo khi chọn Kp, Ki, Kd.
5.3 Xây dựng simulink tìm Kp, Ki, Kd
Hàm truyền hệ thống rời rạc
-
là hàm truyền với hệ thống với ngõ vào là điện áp cấp cho động cơ và
ngõ ra là tốc độ động cơ.
Đáp ứng
vịng kín
Thời gian
lên
Độ vọt lố
POT(%)
Kp
Thời gian
xác lập
Thay đổi
nhỏ
Ki
Kd
Sai số xác
lập
Loại bỏ
Thay đổi
nhỏ
Bảng này chỉ đúng 70%-80% trường hợp
Sai số xác lập:
Điều khiển P thì hệ thống ln ổn định.
Thay đổi
nhỏ
- PID rời rạc:
- Chọn
Hệ thống ổn định