Tải bản đầy đủ (.pptx) (28 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.05 MB, 28 trang )

Giá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

Vận tốc
Vận tốc mong muốn
Máy tính và giao diện đk
Bộ điều khiển
PID
Mô hình động
Cơ DC
Cảm biến đo tốc
độ (encoder)
Tải
(-)
2
SƠ ĐỒ KHỐI ĐỀ TÀI
NỘ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
Tổng quan về vi điều khiển PIC16F877A

CPU tốc độ cao:
- Tập lệnh gồm 35 lệnh có độ dài 14 bit.
- Các cấu trúc lệnh chỉ mất một hoặc hai chu kỳ xung clock.
- Tốc độ tối đa là 20MHz với chu kỳ lệnh là 200ns.
- Bộ nhớ chương trình tốc độ cao 8Kx14 bit.
- Bộ nhớ dữ liệu RAM 368x8 byte.
-
Bộ nhớ dữ liệu EEPROM 256x8 byte.
4

Đặ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

Đặc tính ngoại vi:
- Cổng giao tiếp nối tiếp đồng bộ (SSP) với phương thức SPI (Master) và I
2
C
(Master/Slave).
- Bộ thu phát tổng hợp đồng bộ và không đồng bộ (USART/SCI) với 9 bit địa chỉ.

-
Cổng giao tiếp song song (PSP) với các chân điều khiển bên ngoài RD, WR và CS.
Đặc tính Analog:
-
8 kênh chuyển đổi ADC 10-bit
-
2 bộ so sánh
6
Động cơ điện một chiều và các
phương pháp điều chỉnh tốc độ

Động cơ điện một chiều kích từ độc lập:
7
U
kt
+ -
I
kt
R
ktf
U
kt
R
uf
I
u
E
+ -

Quan hệ n = f(M) là một đường thẳng

8
n
n
0
n
đm
0
M
đm
(I
ưđm
)
∆n
M(I
ư
)

Các phương pháp điều chỉnh tốc độ
+ Điều chỉnh bằng cách thay đổi từ thông
Φ:
n
0
M
đm
(I
ưđm
)
M(I
ư
)

n
’’’
n
’’
n

n
đm
Φ
’’’
Φ
’’
Φ

Φ
đm

n = n
o
- ∆n
M
K
R
K
U
n
u
u
.
)(

2
Φ

Φ
=
Σ
+ Điều chỉnh bằng cách thay đổi điện trở phần ứng R
ưf
:
+ Điều chỉnh bằng cách thay đổi điện áp phần ứng U
ư
:
9
n
0
M
đm
(I
ưđm
)
M(I
ư
)
n
0
R
ưf
= 0
R
ưf1

R
ưf2
R
ưf3
n
0
M
đm
(I
ưđm
)
M(I
ư
)
n
04
n
01
n
02
n
03
1(U
đm
)
2
3
4

n = n

o
- ∆n

n = n
o
- ∆n
M
K
RR
K
U
n
ufu
u
.
)(
2
Φ
+

Φ
=
M
K
RR
K
U
n
ufu
u

.
)(
2
Φ
+

Φ
=

Thay đổi điện áp bằng phương pháp điều biến độ rộng xung PWM:
U
đm
U
tb
0V
U
đm
U
tb
0V
U
đm
U
tb
0V
80% duty cyle
60% duty cyle
20% duty cyle
10


Sơ đồ khối của ĐMđl với kích từ không đổi
11
Cấu trúc thu gọn:


U
E
-
-
M
C
ω
ω

U
M
C
I
Φ
=
K
K
Ð
1
u
u
u
R
L
T =

2
)( Φ
=
K
JR
T
u
C
Jp
1
u
u
pT
R
+1
/1
1
2
++ pTpTT
K
CCu
Đ
1
)1(
)(
2
2
++
+
Φ

pTpTT
pT
K
R
CCu
u
u
Lý thuyết điều khiển PID

Sơ đồ khối bộ điều khiển PID:
12
P
Setpoint
+
Error
I
D
Process
Output
-

Hàm truyền đạt của khâu PID:
)(teK
p

t
i
deK
0
)(

ττ
)(
)(
td
tde
K
D
;
)1(
)(
21
2
0

++
=
zz
AzAzA
zG
CPID
;
;2
2
;
2
2
1
0
T
K

A
T
KTK
KA
T
KTK
KA
D
DI
P
DI
P
=
−+−=
++=
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

Sai số
xác lập
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ỏ
14

Phương pháp thực nghiệm Ziegler Nichols
Các bước chỉnh định 3 thông số K
P
, K
I
, K
D
:

Chỉ điều khiển hệ thống bằng bộ điều khiển tỉ lệ K
P
(đặt K
I
= K
D
= 0)
2. Tăng K
P
đến giá trị K
C
mà ở đó hệ thống bắt đầu dao động - điểm cực của hàm truyền kín nằm
trên trục ảo jω, xác định tần số ω
C

của dao động vừa đạt.
Từ 2 giá trị K
C
và ω
C
vừa đạt, xác định các thông số
K
P
, K
I
, K
D
theo bảng sau:
15
3. Tinh chỉnh 3 thông số này để đạt được đáp ứng
mong muốn.
Thiết kế và thi công mô hình phần cứng
RS232
Nguồn 24V
ĐC
Encoder
Máy tính ĐK
Nguồn 5V
Khối hiển thị LCD
Phản hồi
PID;
Mạch lực(cầu H)
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
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
18
CCP2
40
39
38
37
36
35
34
33
VDD
GND
D7_LCD
D6_LCD
D5_LCD
D4_LCD
E_LCD
RS_LCD
TX
RX
GND
VDD
reset
Led_Thuan
Led_nguoc
Led_Taicho
Led_tuxa
Kp
Ki

Kd
Led_thuan
Led_Nguoc
Led_Taicho
Led_tuxa
VDD
GND
Reset
Kp
Ki
Kd
RS
E
D4
D5
D6
D7
Kd
Ki
Kp
LED_thuan
LED_taicho
LED_tuxa
LED_nguoc
VDD
GND
TX
RX
T1OUT
R1IN

RB4
RB5
RB6
RB7
RB0
RB1
RB2
X12
X11
ENCODER
VDD
GND
GND
VDD
Reset
VDD
GND
RB3
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
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35

RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1

U0
PIC16F877A
X1
4MHz
C1
33pF
C2
33pF
GND
1
2
5VDC
Q1
B688
Q2
B688
Q3
D718
Q4
D718
GND
R8
1k
R9
10k
R12
370R
GND
R10
1k

R11
10k
GND
R14
1k
R15
10k
R16
370R
GND
R17
1k
R18
10k
1
2
4
3
U1
P521
1
2
4
3
U2
P521
1
2
4
3

U3
P521
1
2
4
3
U4
P521
1
2
24VDC
CONN-H2
VDD
GND
1
2
DONGCO
PWM1
PWM1PWM2
PWM2
24V-
24V+
24V-
24V+
24V-
24V+
24V+
24V-
C3
104

C4
104
D5
1N4007
D6
1N4007
D7
1N4007
D8
1N4007
1
2
3
4
5
6
7
8
BANPHIM
CONN-H8
1
2
3
4
5
6
7
8
LCD
CONN-H8

1
2
3
4
MAX232
CONN-H4
1
2
3
4
5
6
7
8
9
10
LED-RESET
CONN-SIL10
PWM1
PWM2
D7
14
D6
13
D5
12
D4
11
D3
10

D2
9
D1
8
D0
7
E
6
RW
5
RS
4
VSS
1
VDD
2
VEE
3
K
16
A
15
LCD1
TC1602A-01T
R1
270R
1
2
3
4

5
6
7
8
LCD
CONN-H8
THUAN/NGUOC
TOC DO
OK
8
9 PID
5
6 NEXT
2
3
0
CHAY/DUNG
7
4
1
1
2
24VDC
CONN-H2
1
2
5VDC
CONN-H2
BR1-24V
GBU6A

BR2-5V
2W01G
VI
1
VO
3
GND
2
U1
7824
VI
1
VO
3
GND
2
U2
7805
Q1
B688
C1
2200u
C2
1000u
D1
1N4007
C3
2200u
D2
1N4007

C5
104
D3
LED
R2
330R
C4
10u
D4
LED
R3
10k
R4
10R
1
2
3
4
5
6
7
8
9
10
J1
LED-RESET
RESET
RV1
1k
RV2

1k
RV3
1k
D1
LED
D2
LED
D3
LED
D4
LED
R1
270R
R3
270R
R4
270R
R5
270R
GND
VDD
R2
370R
VDD
GND
R6
270R
R7
270R
R13

270R
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
T1OUT
14
R1IN
13

T2OUT
7
R2IN
8
C2+
4
C2-
5
C1+
1
C1-
3
VS+
2
VS-
6
U1
MAX232
C1
10u
C2
10u
C3
10u
C4
10u
1
2
3
4

5
6
7
8
BANPHIM
CONN-S8
1
2
3
4
J3
ENCODER
VDD
GND
1
2
24V~
CONN-H2
1
2
9V~
CONN-H2
VDD
GND
VDD
GND
GND
VDD
17


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
18
CCP2

40
39
38
37
36
35
34
33
VDD
GND
D7_LCD
D6_LCD
D5_LCD
D4_LCD
E_LCD
RS_LCD
TX
RX
GND
VDD
reset
Led_Thuan
Led_nguoc
Led_Taicho
Led_tuxa
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
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT

33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U0
PIC16F877A
X1

4MHz
C1
33pF
C2
33pF
GND
1
2
NGUON 5V
R12
370R
R16
370R
VDD
GND
C3
104
C4
104
1
2
3
4
5
6
7
8
BANPHIM
CONN-H8
1

2
3
4
5
6
7
8
LCD
CONN-H8
1
2
3
4
MAX232
CONN-H4
1
2
3
4
5
6
7
8
9
10
LED-RESET
CONN-SIL10
PWM1
PWM2
1

2
3
4
J3
ENCODER
VDD
GND
18
Q1
B688
Q2
B688
Q3
D718
Q4
D718
GND
R8
1k
R9
10k
GND
R10
1k
R11
10k
GND
R14
1k
R15

10k
GND
R17
1k
R18
10k
1
2
4
3
U1
P521
1
2
4
3
U2
P521
1
2
4
3
U3
P521
1
2
4
3
U4
P521

1
2
NGUON 24V
CONN-H2
1
2
DONGCO
PWM1
PWM1PWM2
PWM2
24V-
24V+
24V-
24V+
24V-
24V+
24V+
24V-
D5
1N4007
D6
1N4007
D7
1N4007
D8
1N4007
19

Mạch động lực:
20

RB4
RB5
RB6
RB7
RB0
RB1
RB2
RB3
LEFT/RIGHT
SPEED
OK
8
9 BACK
5
6 PID
2
3
0
RUN/STOP
7
4
1
1
2
3
4
5
6
7
8

BANPHIM
CONN-S8

Mạch bàn phím:
TX
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
T1OUT
14
R1IN
13
T2OUT
7
R2IN
8
C2+
4
C2-
5
C1+
1
C1-
3
VS+
2
VS-
6
U1
MAX232
C1
10u
C2
10u
C3

10u
C4
10u
GND
VDD
GND
GND
VDD
RS
E
D4
D5
D6
D7
VDD
GND
D7
14
D6
13
D5
12
D4
11
D3
10
D2
9
D1
8

D0
7
E
6
RW
5
RS
4
VSS
1
VDD
2
VEE
3
K
16
A
15
LCD1
TC1602A-01T
R1
270R
1
2
3
4
5
6
7
8

LCD
CONN-H8
21

Mạch giao tiếp và hiển thị:

Giao diện điều khiển trên máy tính:
22
23
GIẢI THUẬT CHƯƠNG TRÌNH

Thuật điều khiển PID:
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) + A
0
E(k) + A
1
E(k-1) + A
2
E(k-2)
Trong đó:
;
;2
2
;
2
2
1
0

T
K
A
T
KTK
KA
T
KTK
KA
D
DI
P
DI
P
=
−+−=
++=
Bắt đầu
Khai báo biến, các giá trị ban đầu,
khai báo ngắt, khai báo Timer, khai báo PWM,
cho phép ngắt hoạt động.
Đ
S
Thự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

Lưu đồ thuật toán chương trình chính:
Bắt đầu quét bàn phím
Hàng ngõ vào, cột ngõ ra
Hàng mức 1, cột mức 0
delay_20ms
RBj = 0
Hàng ngõ ra, cột ngõ vào
RBj = 0
0 ≤ i ≤ 3
RBi = 0
Xác định phím được nhấn
Thực hiện đoạn chương trình của phím
Kết thúc quét bàn phím
4 ≤ j ≤ 7
RBj = 0
1
1
Đ
Đ
SS
S
Đ
25

Lưu đồ thuật toán quét bàn phím:

×