THIẾT KẾ VÀ LẮP RÁP MẠCH ĐIỀU KHIỂN ỔN ĐỊNH TỐC ĐỘ ĐỘNG CƠ ĐIỆN MỘT CHIỀU DÙNG VI ĐIỀU KHIỂN PIC16F877A
Trang 1Giáo viên hướng dẫn : Th.S Trần Kim Phúc
1
ĐẠI HỌC PHAN CHÂU TRINH
KHOA KHOA HỌC – CÔNG NGHỆ
Bộ môn ĐTVT
ĐỀ TÀI :
THIẾT KẾ VÀ LẮP RÁP MẠCH ĐIỀU KHIỂN ỔN ĐỊNH TỐC ĐỘ ĐỘNG CƠ ĐIỆN MỘT CHIỀU
DÙNG VI ĐIỀU KHIỂN PIC16F877A
Thuyết minh: ĐỒ ÁN TỐT NGHIỆP
Trang 3NỘI DUNG ĐỀ TÀI
Chương 1: Tổng quan về động cơ điện một chiều và các phương pháp điều chỉnh tốc độ động cơ
Chương 2: Động cơ điện một chiều và các phương pháp điều chỉnh tốc độ
Phần 3: Lý thuyết điều khiển PID.
Phần 4: Thiết kế và thi công mô hình phần cứng Phần 5: Giải thuật chương trình 3
Trang 4Tổng quan về vi điều khiển PIC16F877A
- Bộ nhớ chương trình tốc độ cao 8Kx14 bit
- Bộ nhớ dữ liệu RAM 368x8 byte
4
Trang 5 Đặc tính ngoại vi:
- Timer0: bộ đếm/định thời 8 bit với bộ chia tần
- Timer1: bộ đếm/định thời 16 bit với bộ chia tần,
có thể hoạt động ở chế độ sleep
- Timer2: bộ đếm/định thời 8 bit với bộ chia tần prescaler và postscale
- 2 bộ Capture, Compare, PWM:
+ Capture 16 – bit, độ phân giải tối đa 12.5 ns
+ Compare 16 – bit, độ phân giải tối đa 200 ns
+ PWM 16 – bit, độ phân giải tối đa 10-bit
5
Trang 6 Đặc tính ngoại vi:
- Cổng giao tiếp nối tiếp đồng bộ (SSP) với phương
- Bộ thu phát tổng hợp đồng bộ và không đồng bộ (USART/SCI) với 9 bit địa chỉ
khiển bên ngoài RD, WR và CS
Đặc tính Analog:
6
Trang 7Động cơ điện một chiều và các
Trang 8R K
U
) ( F: 2
F:
Trang 9+ Điều chỉnh bằng cách thay đổi điện trở phần
n = n o - ∆n
n = n o - ∆n
M K
R
R K
U
n u u uf .
) ( F: 2
F:
M K
R
R K
U
) ( F: 2
F:
Trang 10 Thay đổi điện áp bằng phương pháp điều biến
10
Trang 11Sơ đồ khối của ĐMđl với kích từ không đổi
K
J R
/ 1
1
2
T p p
T T
K
C C
u
Đ
1
) 1
( )
p T p
T T
p
T K
R
C C
u
u u
Trang 12Lý thuyết điều khiển PID
Sơ đồ khối bộ điều khiển PID:
Hàm truyền đạt của khâu PID:
)
(
t d
t de
K D
; )
1 (
)
2 0
A z
A z
A z
G CPID
;
;
2 2
; 2
2 1 0
T
K A
T
K T
K K
A
T
K T
K K
A
D
D
I P
D
I P
Trang 13 Ảnh hưởng của K P , K I , K D lên hệ thống
Đáp ứng
vòng kín Thời gian tăng Vọt lố Thời gian xác lập xác lậpSai số
Kp Giảm Tăng Thay đổi nhỏ Giảm
Ki Giảm Tăng Tăng Loại bỏ
Kd Thay đổi nhỏ Giảm Giảm Thay đổi nhỏ
Trang 14động - điểm cực của hàm truyền kín nằm trên trục ảo
Trang 153 Tinh chỉnh 3 thông số này để đạt được đáp ứng
mong muốn.
Trang 16Thiết kế và thi công mô hình phần cứng
Khối điều khiển trung tâm PIC 16f877a
Khối bàn phím
16
Cấu trúc phần cứng của mô hình
Trang 1733 35 37 39 15 CCP1 23
Led_Chieuquay RS_LCD E_LCD D4_LCD D6_LCD D7_LCD
X12 X11
Led_Chedo
TX RX CCP1
Kp Ki Kd
T1OUT R1IN
RB4 RB5 RB6 RB7
RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7
RE0/AN5/RD 8 RE1/AN6/WR 9 RE2/AN7/CS 10
OSC1/CLKIN 13 OSC2/CLKOUT 14
RC1/T1OSI/CCP2 16RC2/CCP1 17RC3/SCK/SCL 18
RD0/PSP0 19RD1/PSP1 20
RB7/PGD 40RB6/PGC 39RB5 38RB4 37RB3/PGMRB2 3635 RB1 34RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/RX/DT 26RC6/TX/CK 25RC5/SDO 24RC4/SDI/SDA 23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI 15
MCLR/Vpp/THV 1
4 3
U1
P521
1 2 4
3
U2
P521
1 2
4 3
U3
P521
1 2 4
PWM2
24V+
J1
COM
1 3
MAX232
CONN-H4
T1IN 11 R1OUT 12 T2IN 10 R2OUT 9
T1OUT 14R1IN 13T2OUT 7R2IN 8C2+
4 C2- 5
C1+
1 C1- 3
VS+ 2VS- 6
J3
ENCODER GND
GND VDD
GND GND
VDD
17
Trang 18 Mạch điều khiển trung tâm:
Encoder
33 34 35 36 37 38 39 40 15 CCP1 CCP2 23 24
Led_Chieuquay RS_LCD E_LCD D4_LCD D5_LCD D6_LCD D7_LCD
X12 X11
Led_Chedo
TX RX CCP1
Kp Ki Kd
Led_thuan Led_Nguoc Led_Taicho Led_tuxa VDD GND
Reset Kp Ki Kd
X12
X11
ENCODER VDD GND
GND VDD
RA0/AN0 2
RA1/AN1 3
RA2/AN2/VREF-/CVREF 4
RA4/T0CKI/C1OUT 6
RA5/AN4/SS/C2OUT 7
RE0/AN5/RD 8
RE1/AN6/WR 9
RE2/AN7/CS 10
OSC1/CLKIN 13
OSC2/CLKOUT 14
1 2
LED-RESET
CONN-SIL10
PWM1 PWM2
1 2 3 4
Trang 1924V+
Trang 20RB4 RB5 RB6 RB7
Trang 21TX RX
T1OUT R1IN
1 6 2 7 3 8 4 9 5
J1
COM
1 2 3 4
MAX232
CONN-H4
T1IN 11
R1OUT 12
T2IN 10
R2OUT 9
C2-C1+
1
3
GND
GND VDD
Trang 22 Giao diện điều khiển trên máy tính :
22
Trang 23GIẢI THUẬT CHƯƠNG TRÌNH
Trong vi điều khiển thuật toán điều khiển PID được thực hiện thông qua phương trình sai phân dạng lặp:
y(k) = y(k-1) + A0E(k) + A1E(k-1) + A2E(k-2)
Trong đó:
;
;
2 2
; 2
2 1 0
T
K A
T
K T
K K
A
T
K T
K K
A
D
D
I P
D
I P
Trang 24Thực hiện chương trình tính toán PID
Đ S
Thực hiện chương trình ngắt
Flag_Timer1=
1
Có ngắt xảy ra?
set_pwm1_duty = pw_duty set_pwm2_duty = pw_duty
24
Trang 26pw_duty = 1024
Bắt đầu tính PID
Đặt các giá trị ban đầu Đ
S
E_2 = v_set – v_cur
pw_duty = pw_duty + AoE_2 + A1E_1 + A2E_0
Kết thúc tính PID
Trang 27Ngắt PortB (RB4÷RB7)
Thực hiện đoạn chương trình ứng
với mỗi phím Gọi chương trình quét bàn phím
Kết thúc ngắt PortB
27
Trang 28Xin chân thành cảm ơn quý thầy
cô, các bạn đã lắng nghe và quan tâm đến đề tài này!
Sinh viên thực hiện:
Nguyễn Tuấn Bình
Lê Thị Kiều Oanh
Lớp 08DT
28