Qua thực nghiệm, ta thấy kit điều khiển PID số đã thiết kế hoạt động tốt trên hệ thống ổn định tốc độ động cơ DC, với đáp ứng của hệ thống bám tốt tín hiệu tham khảo và thời gian xác [r]
Trang 1PHÁT TRIỂN KIT ĐIỀU KHIỂN PID SỐ SỬ DỤNG MCU-MSP430
Nguyễn Minh Trường1 và Nguyễn Chí Ngôn2
1 Lớp Kỹ thuật điều khiển và tự động hóa K37-TC11Y8A1
2 Khoa Công nghệ, Trường Đại học Cần Thơ
Thông tin chung:
Ngày nhận: 03/05/2014
Ngày chấp nhận: 28/08/2014
Title:
Development of the
MCU-MSP430 – based digital PID
controller kit
Từ khóa:
Điều khiển PID số, động cơ
DC, MCU-MSP430
Keywords:
Digital PID control, DC
motor, MCU-MSP430
ABSTRACT
This study aims to design and manufacture a digital PID controller kit using the MSP-430 microcontroller of Texas Instruments Inc., which allows collecting real time data and sending them to a PC A low-power
DC motor is used as a control plant to verify the performance of the proposed controller kit and the computer interface software Experimental results show that it is feasible to integrate the digital PID controller on the MSP430 microcontroller and the PC interface can conveniently display and record the transient system response
TÓM TẮT
Nghiên cứu này nhằm thiết kế và chế tạo kit điều khiển PID số tích hợp trên vi điều khiển MSP-430 của hãng Texas Instruments, có thu thập dữ liệu theo thời gian thực và gửi về máy tính Một động cơ DC công suất nhỏ được sử dụng làm đối tượng điều khiển để kiểm chứng khả năng hoạt động của kit PID số và phần mềm giao tiếp với máy tính Kết quả thực nghiệm cho thấy khả năng tích hợp bộ điều khiển PID số trên MCU-MSP430 là khả thi; phần mềm giao tiếp giữa kit PID số và máy tính cho phép hiển thị
và lưu trữ thời gian quá độ của đáp ứng một cách thuận lợi
1 GIỚI THIỆU
Ngày nay bộ điều khiển vi tích phân tỉ lệ (bộ
điều khiển PID- Proportional Integral Derivative
controller) được sử dụng rộng rãi trong các hệ
thống điều khiển công nghiệp (Johnson, M.A and
M.H Moradi, 2005) Bộ điều khiển PID gồm 3
thông số riêng biệt, do đó đôi khi nó còn được gọi
là điều khiển ba khâu: khâu tỉ lệ, khâu tích phân và
khâu vi phân, được viết tắt là P, I, và D (Hình 1)
Thiết kế bộ điều khiển PID thực chất là việc điều
chỉnh 3 thông số trên để đạt được chất lượng điều
khiển theo yêu cầu Bộ điều khiển PID được tích
hợp thành các mô-đun công nghiệp lập trình được
và tiện dụng (Nippon Instruments, 2014; Bluefic
Industrial and Scientific Technologies, 2014)
Ngoại trừ giá thành cao, thì các mô-đun công
nghiệp này đáp ứng được hầu hết các nhu cầu ứng
dụng tương ứng
Nhằm mục tiêu chế tạo bộ điều khiển PID số nhỏ gọn, giá thành thấp, phục vụ cho các nhu cầu điều khiển trong phạm vi phòng thí nghiệm, chế tạo các robot tham gia kỳ thi Robocon quốc gia,… nghiên cứu này hướng đến việc ứng dụng vi điều khiển MCU-MSP 430 (Texas Instuments,2014) để thiết kế và chế tạo một kit phát triển PID số
Hình 1: Sơ đồ khối của bộ điều khiển PID
Trang 22 TỔNG QUAN KIT ĐIỀU KHIỂN PID
SỐ SỬ DỤNG MCU-MSP430
2.1 Lý thuyết và nguyên lý hoạt động
Sơ đồ điều khiển PID số dựa trên MCU-MSP
430 được thể hiện trên Hình 2, để điều khiển tốc độ
động cơ DC Nguyên lý hoạt động của hệ như sau:
Đầu tiên, vận tốc tham khảo Vset được cài đặt cho
hệ thống Lúc này, hệ thống khảo sát là hệ hở Khi
động cơ hoạt động, vi điều khiển sẽ tiến hành lấy mẫu vận tốc đáp ứng của hệ hở này thông qua encoder Sau khi lấy mẫu xong, vi điều khiển sẽ hiệu chỉnh các thông số (KP, KD và KI) của bộ điều khiển Sau đó, nhập các thông số KP, KD và KI vừa hiệu chỉnh xuống vi điều khiển Từ các thông số
KP, KD và KI vừa nhận, bộ điều khiển PID số được thiết lập trên vi điều khiển và sẵn sàng hoạt động
Hình 2: Sơ đồ hệ thống điều khiển PID
2.2 Phương pháp điều chỉnh bộ điều khiển PID
Để có thể điều chỉnh bộ điều khiển PID, người
thiết kế cần nắm vững ảnh hưởng của các thông số
(KP, KD và KI) lên chất lượng đáp ứng, được tóm tắt trên Bảng 1 (Jinghua Zhong, 2006)
Bảng 1: Ảnh hưởng của các thông số của bộ điều khiển lên chất lượng hệ thống
Thông số Thời gian tăng Thời gian quá độ Thời gian xác lập Sai số xác lập Độ ổn định
Kd Giảm ít Giảm ít Giảm ít Không tác động Cải thiện nếu K d nhỏ
2.2.1 Phương pháp điều chỉnh thử sai
Phương pháp điều chỉnh thử sai thường thiết
đặt giá trị đầu của K i và K d bằng không Tăng dần
Kp cho đến khi đáp ứng vòng điều khiển dao động,
sau đó K p có thể được đặt tới xấp xỉ một nửa giá trị
đó Sau đó tăng K i đến giá trị phù hợp sao cho đảm
bảo thời gian tăng của đáp ứng Tuy nhiên, K i quá
lớn sẽ gây mất ổn định Cuối cùng, tăng K d, nếu
cần thiết, cho đến khi vòng điều khiển có thể chấp
nhận được khi đáp ứng nhanh chóng lấy lại được
giá trị tham khảo sau khi bị nhiễu tác động Tuy
nhiên, K d quá lớn sẽ làm hệ thống đáp ứng chậm
2.2.2 Phương pháp thực nghiệm Ziegler– Nichols
Phương pháp thực nghiệm Ziegler–Nichols, được giới thiệu bởi John G Ziegler và Nathaniel B
Nichols vào những năm 1940 Độ lợi K i và K d lúc đầu được gán bằng không Độ lợi P được tăng đến
giá trị tới hạn K u, mà ở đó đáp ứng vòng hở bắt đầu
dao động K u và chu kỳ dao động P u được dùng để cài đặt thông số bộ điều khiển PID theo quan hệ được Ziegler–Nichols đề xuất trên Bảng 2 (Jinghua Zhong, 2006)
Trang 3Bảng 2: Thông số PID theo phương pháp
Ziegler–Nichols
Dạng điều khiển K p K i K d
-PI 0.45 K u 1.2 K p /P u
-PID 0.6 K u 2 K p /P u KpPu/8
2.3 Thiết kế phần cứng kit PID số
2.3.1 Khối nguồn
Hình 3 mô tả sơ đồ thiết kế đơn giản cho nguồn cấp điện của Kit PID Trong đó, điện áp 5VDC được đưa qua chip LM1117 để tạo nguồn 3.3VDC cấp cho chip MCU MSP430F5529
GND
C3 10uF
J1
DC JACK_0
1
TEST
5V
1 2
3.3V
1
2
RST
U4
LM1117
3 1
2
VIN ADJ VOUT
C5 10uF
VCC3.3
J9
NAP
1 2
VCC5
C6 104
GND
VCC5
R12 330
C4 104
D1 LED
Hình 3: Sơ đồ thiết kế khối nguồn
2.3.2 Khối vi điều khiển
Vi điều khiển sử dụng là MCU MSP430F5529,
trên Hình 4 Nó có chức năng lấy mẫu đáp ứng từ
xung encoder, xuất tín hiệu điều khiển tốc độ động
cơ, nhận các tín hiệu điều khiển từ bên ngoài
Ngoài ra, vi điều khiển còn chức năng quan trọng
là xây dựng bộ điều khiển PID số Bên cạnh những chức năng trên, vi điều khiển còn có chức năng: reset hệ thống, cho hệ thống bắt đầu hoạt động gọi là bộ start, chọn chế độ xử lý và chức năng báo hiệu
VCC3.3
J3
CON8
1 3 5 7 TEST
SW3
GND
PWM
GND
NE1
LCD2 RST LCD1 NE2
KENHB
GND
LCD4
LED1
PN 80
U6
Ty pe
AVCC1 11
AVSS1 14
AVSS2 68
DVCC1 18
DVCC2 50
DVSS1 19
DVSS2 49
P1.0/TA0CLK/ACLK 21
P1.1/TA0.0 22
P1.2/TA0.1 23
P1.3/TA0.2 24
P1.4/TA0.3 25
P1.5/TA0.4 26
P1.6/TA1CLK/CBOUT 27
P1.7/TA1.0 28
P2.0/TA1.1 29
P2.1/TA1.2 30
P2.2/TA2CLK/SMCLK 31
P2.3/TA2.0 32
P2.4/TA2.1 33
P2.5/TA2.2 34
P2.6/RTCCLK/DMAE0 35
P2.7/UCB0STE/UCA0CLK 36
P3.0/UCB0SIMO/UCB0SDA 37
P3.1/UCB0SOMI/UCB0SCL 38
P3.2/UCB0CLK/UCA0STE 39
P3.3/UCA0TXD/UCA0SIMO
P3.5/TB0.5 42 P3.6/TB0.6 43 P3.7/TB0OUTH/SVMOUT 44 P4.0/PM_UCB1STE/PM_UCA1CLK 45 P4.1/PM_UCB1SIMO/PM_UCB1SDA 46 P4.2/PM_UCB1SOMI/PM_UCB1SCL 47 P4.3/PM_UCB1CLK/PM_UCA1STE 48 P4.4/PM_UCA1TXD/PM_UCA1SIMO 51 P4.5/PM_UCA1RXD/PM_UCA1SOMI 52
P4.6/PM_NONE 53 P4.7/PM_NONE 54
P5.0/A8/VREF_/VEREF_
9
P5.1/A9/VREF_/VEREF_
10
P5.2/XT2IN 69 P5.3/XT2OUT 70 P5.4/XIN
12
P5.5/XOUT 13
P5.6/TB0.0 55 P5.7/TB0.1 56
P6.0/CB0/A0 77 P6.1/CB1/A1 78 P6.2/CB2/A2 79 P6.3/CB3/A3 80 P6.4/CB4/A4
1
P6.5/CB5/A5 2
P6.6/CB6/A6 3
P6.7/CB7/A7 4
P7.0/CB8/A12 5
P7.1/CB9/A13 6
P7.2/CB10/A14 7
P7.3/CB11/A15 8
P7.4/TB0.2 57 P7.5/TB0.3 58 P7.6/TB0.4 59 P7.7/TB0CLK/MCLK 60
P8.0 15
P8.1 16
P8.2 17
PJ.0/TDO 72 PJ.1/TDI/TCLKPJ.2/TMS 7374 PJ.3/TCK 75
PUR 63 PU.0/DP 62 PU.1/DM 64
TEST/SBWTCK 71
V18 67 VBUS 65
VCORE
VUSB 66
*RST/NMI/SBWTDIO 76
J5
CON8
1 3 5 7
VCC3.3
SW2
SW4
SW1
LCD0
VCC3.3
Hình 4: Sơ đồ thiết kế của vi xử lý
Trang 42.3.3 Khối hiển thị LCD
Khối hiển thị Hình 5 sử dụng LCD 16x2 để
hiển thị các thông số cần thiết để tương tác giữa hệ thống và người sử dụng
GND LCD4
LCD5
GNDLCD0 VCC5 LCD2
LCD3 GND VCC5
VCC5
U2 LCD-1602
GND
LCD1
R2 220
Hình 5: Sơ đồ thiết kế mạch hiển thị LCD 16x2
2.3.4 Khối công suất
Khối công suất Hình 6 dùng chip L298D, là
chip tích hợp 2 mạch cầu H, dùng để điều khiển tốc
độ động cơ và đảo chiều chuyển động của động cơ
D7
MOTOR1
J2
DOMINO MOTOR
1 2
MOTOR2
MOTOR
MOTOR
1 2 3 4 5 6
MOTOR2
J6
CON3
1 2 3
D6 D5
PWM
D8
KENHA
VCC5
GND
VCC5V
MOTOR1
VCC3.3
NE1
GND KENHB
VCCL298
NE2
VIN
MOTOR2
VCCL298
VCC5
U5
L298
5 7 10 12
2 3 13 14
6 11
1 15
9 4
1A1 1A2 2A1 2A2
1Y1 1Y2 2Y1 2Y2
1EN 2EN
1E 2E
VCC1 VCC2
GND
MOTOR1
Hình 6: Khối công suất điều khiển động cơ
2.3.5 Khối Encoder
Nguyên lý hoạt động của encoder được minh
họa trên Hình 7 Cách đọc encoder trên MCU
MSP430F5529 bằng phương pháp ngắt ngoài Đây
là phương pháp dễ và đạt độ chính xác cao Ý
tưởng của phương pháp rất đơn giản, chúng ta nối
kênh A của encoder với 1 ngắt ngoài (INT2 chẳng
hạn) và kênh B với một chân nào đó bất kỳ (không phải chân ngắt) Cứ mỗi lần ngắt ngoài xảy ra, tức
có 1 xung xuất hiện trên ở kênh A thì trình phục vụ ngắt ngoài tự động được gọi Trong trình phục vụ ngắt này chúng ta kiểm tra mức của kênh B, tùy theo mức của kênh B chúng ta sẽ tăng biến đếm xung lên 1 hoặc giảm đi 1
Trang 5Hình 7: Cấu trúc của Encoder (AVR tutorial, 2014)
2.3.6 Khối giao tiếp máy tính
Khối giao tiếp máy tính Hình 8 được thực hiện
thông qua cổng USB và giao tiếp vi xử lý thông qua giao tiếp UART
Hình 8: Sơ đồ nguyên lý mô-đun FT232 giao tiếp máy tính
2.4 Chương trình PID số trên MCU-MSP430
2.4.1 Điều khiển động cơ DC bằng MCU
Mô hình hệ thống sử dụng động cơ DC 24V có
vận tốc không tải tối đa là 4000 vòng/phút
Encoder dung cho động cơ có độ phân giải 100
xung/vòng Kênh A của encoder được nối với ngắt
ngoài của MCU để đếm xung Nhận và gửi tín hiệu
điều khiển với máy tính thông qua giao tiếp UART Màn hình LCD dùng để hiển thị vận tốc thực của motor đọc từ encoder và vận tốc đặt Giải thuật PID số được vận hành bởi MCU-MSP430 trong thời gian lấy mẫu là 20 ms Timer B dùng để tạo thời gian 20 ms Timer A là bộ tạo tín hiệu PWM điều khiển tốc độ động cơ
Trang 6Hình 9: Lưu đồ giải thuật của MCU-MSP430
2.4.2 Rời rạc hóa PID
Thiết kế một bộ điều khiển PID số trên một vi
điều khiển yêu cầu dạng chuẩn của bộ điều khiển
PID phải được rời rạc hóa Vi phân bậc một được
xác định bằng sai phân hữu hạn lùi (1) Khâu tích
phân được rời rạc hóa, với thời gian lấy mẫu ∆t
như (2):
Do đó, một giải thuật vận tốc cho việc thực thi
bộ điều khiển PID rời rạc trên một MCU đạt được bằng cách đạo hàm u(t), sử dụng các thông số xác định từ đạo hàm bậc một và đạo hàm bậc 2, tìm ra u(tk) cuối cùng ta được (3):
2.4.3 Đoạn chương trình PID số
error = setpoint - actual_position ;
integral = integral + (error*dt) ;
derivative = (error - previous_error)/dt ;
output = (Kp*error) + (Ki*integral) +
(Kd*derivative) ;
previous_error = error;
2.5 Chương trình điều khiển trên máy tính
Thiết kế giao diện dựa trên nền GUI của MATLAB, giao tiếp với thiết bị thông qua cổng COM máy tính
(1)
(2)
(3)
Trang 7Hình 10: Giao diện điều khiển động cơ được trên PC
Hình 11: Lưu đồ giải thuật giao tiếp trên PC
Trang 83 KẾT QUẢ THỰC NGHIỆM
Bộ điều khiển PID số sử dụng MCU-MSP430
có cấu trúc như Hình 12, thực hiện quá trình điều
khiển động cơ thực, ta thu thập đáp ứng ở Hình 13
Để thuận lợi cho việt khảo sát quá trình vận hành
của hệ thống cũng như thu thập số liệu đánh giá chất lượng điều khiển của giải thuật, hệ thống có thể được điều khiển trực tiếp trên máy tính (PC) thông qua giao diện người dùng như Hình 10 hoặc điều khiển trực tiếp trên KIT MSP430
Hình 12: Mô Hình điều khiển động cơ DC
Hình 13: Đáp ứng của hệ thống
Kết quả thực nghiệm đã chứng tỏ kit PID số
được đề xuất trong nghiên cứu cho kết quả điều
khiển tốt, với sai số xác lập nhỏ hơn 0.04% so với
giá trị tham khảo
4 KẾT LUẬN
Qua thực nghiệm, ta thấy kit điều khiển PID số
đã thiết kế hoạt động tốt trên hệ thống ổn định tốc
độ động cơ DC, với đáp ứng của hệ thống bám tốt
tín hiệu tham khảo và thời gian xác lập hợp lý Kit
PID này hoàn toàn có thể sản xuất phục vụ nhu cầu
học tập và nghiên cứu của sinh viên
TÀI LIỆU THAM KHẢO
1 AVR tutorial, 2014
http://www.hocavr.com/index.php/app/dcse
rvo Truy cập: 13/6/2014
2 Bluefic Industrial and Scientific Technologies, 2014 Microprocessor Based PID Controller URL:
http://www.blueficindia.com/microprocesso r-based-pid-controller.htm (truy cập:
13/06/2014)
3 Jinghua Zhong, 2006 PID Controller Tuning: A Short Tutorial, Mechanical Engineering, Purdue University
4 Johnson M.A and M.H Moradi, 2005
Chapter 8, in: PID Control - New Identification and Design Methods, pp
297-337 Springer-Verlag London Ltd ISBN-10: 1-85233-702-8
5 Nippon Instruments, 2014 PID Controllers, India
6 Texas Instruments, 2014 MSP430™ Ultra-Low-Power Microcontrollers