Tải bản đầy đủ (.pdf) (13 trang)

HIỆN THỰC HỆ THỐNG ĐIỀU KHIỂN TỐC ĐỘ VÀ VỊ TRÍ ĐỘNG CƠ MỘT CHIỀU

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 (184.33 KB, 13 trang )

1

Điều khiển tốc độ động cơ một chiều loại nhỏ
1. Sơ đồ khối
Sơ đồ khối cho điều khiển tốc độ của động cơ một chiều loại nhỏ sử dụng vi
điều khiển P89C664: (hình 1)
Yêu cầu là sử dụng vi điều khiển để điều khiển tốc độ động cơ DC theo chiều
thuận và ngược và hiện thực ở hai tốc độ (nhanh và chậm). Công tắc (nút nhấn)
được dung tạo ra hai tốc độ và tác động quay ngược.
Sơ đồ khối được minh họa ở hình 1, sử dụng vi điều khiển P89C664.
Phương pháp điều khiển tốc độ là bằng điều rộng xung (PWM) dung P89C664.
Đặt chân 7 P1.5=’0’ (logic 0) và áp dụng PWM vào chân P1.4 (chân 6) làm cho
động cơ quay thuận. Việc điều khiển quay thuận hay nghịch đạt được bằng
thiết kế cầu của mạch điều khiển động cơ. Nếu nút nhấn không được nhấn thì
động cơ vẫn ổn định. Giả sử nút nhấn 1 được thiết lập PWM ở tỉ số 6:4 và nút 2
được thiết lập PWm với tỉ số 9:1.
PWM =

Ton
Ton
=
T
Ton + Toff

P89C664
Động cơ chạy

Mạch lái
động cơ

Động cơ



Ngược chiều

Tốc độ 1

Tốc độ 2

Ngược chiều

Nút nhấn 1

Nút nhấn 2
Nút nhấn 3

Hình 1
Tỉ số 6:4 có chu kì tổng T=6+4=10 và 6 chu kì ở mức cao (1), 4 ở mức thấp
(0). Tỉ số 9:1 có T=10, và 9 ở mức 1, và 1 ở mức 0.
Thanh ghi capture CCAP1L (low) và CCAP1H(high) là 8 bit và có 256 (28)
mức tăng.
mức tăng/chu kì=256/10=25,6
vì vậy tỉ số 6:4 =154 mức tăng ở logic 1, 102 mức ở logic 0. Tỉ số 9:1=230 mức
ở logic 1 và 26 mức ở logic 0.

Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


2

Hình 2: Mạch tạo mức logic 0/1
Vi điều khiển P89C664 có 64 KB Bộ nhớ chương trình Flash, 1 KB bộ nhớ

Ram trên chip, 3 timer-To, T1, T2, dãy bộ đếm lập trình được (PCA), bộ thu
phát bất đồng bộ đa năng (UART), giao tiếp I2C. P89C664 có 44 chân dạng
PLCC. VCC (chân 44), Vss(chân 22), T0/CEX3 (P3.4), T1/CEX4(P3.5), T2
(P1.0), P.14(CEX1), P1.5(CEX2), P3.0 (RxD), P3.1 (TxD), P3.2 (/INT0), P3.3
(/INT1).
2. Điều khiển động cơ:
Sơ đồ cầu được minh họa ở hình 3. Mạch tận dụng cặp transistor bổ phụ
NPN/PNP T2/T3 và T4/T5. Động cơ dung không quá 0,5 A trong khi diode tạo
điện áp dẫn gây bởi dòng chuuyển mạch nhanh.

Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


3

Hình 3: Mạch điều khiển cầu sử dụng ngõ vào từ chân P1.4 và P1.5 để điều
khiển tốc độ động cơ một chiều và hướng quay.
Động cơ ngừng (off) khi P1.4 và P1.5 ở logic 0, cực C của T1 và T6 ở mức cao.
Vì vậy T2 và T4 sẽ dẫn (on) trong khi T3 và T5 tắt (off)(không dẫn) và không
có dòng dẫn qua động cơ giữa 5V và đất (GND, mass).
Động cơ quay(on): khi P1.5=’0’, cực C của T6 sẽ cao, T4 dẫn và T5 tắt. Nếu
tín hiệu PWM áp dụng vào P1.4 thì khi PWM ở logic 1, T1 dẫn, cực C của T1
ở mức thấp; vì vậy T2 tắt và T3 dẫn. Do đó dòng điện dẫn qua đất thong qua
transistor T3, động cơ Dc và qua transistor T4 lên nguồn +5V.
Động cơ quay ngược(reverse): Nếu P1.4=’0’ (logic 0) thì T2 dẫn và T3 tắt. Nếu
tín hiệu PWM áp dụng vào P1.5 thì khi PWM là logic cao (1), transistor T4 tắt
và T5 dẫn, tạo ra dòng điện dẫn ngược thong qua T5, động cơ và T2.
5.6.3. Hoạch định chương trình:
Chương trình điều khiển động cơ theo một hướng từ chân P1.4 dùng phương
pháp điều rộng xung, được cấu trúc từ dãy đếm lập trình được (PCA). Quay

ngược đạt được bằng cách áp đặt PWM ở chân P1.5.
Hai tốc độ là : nhanh (9:1) và chậm (6:4). Nghịch đảo và tốc độ được chọn từ
nút nhấn on/off tích cực mức thấp (logic 0).
Chương trình kiểm tra nút nhấn bằng hành động ngắt /INT0 mức thấp ở chân
P3.2. Chương trình sau khai báo vectơ ngắt có địa chỉ ở 0003H và chỉ tới chuỗi
đuợc chọn ngắt CHECK.
Org 03h; địa chỉ ngắt ngoài 0
Sjmp check; nhảy tới chương trình phục vụ ngắt
Khởi động (START)
CFH=1100 1111 b và điều này làm cho chân 4 và 5 của port 1 là bằng zero và
vì vậy hành động đầu tiên của chương trình là tắt động cơ.
SETB IT0 bật ngắt xảy ra trên chuyển từ mức cao sang thấp (cạnh xuống) của
hành động nút nhấn trên chân 2 của port 3 (/INT0).
MOV IEN0,#81H đặt số nhị phân 1000 0001 vào thanh ghi cho phép ngắt IE
IEN0 để cho phép hành động của /INT0.
Kiểm tra (CHECK)
Các nút nhấn của port 1 chân số 0 (quay ngược), chân 1(6:4 tốc độ 1), chân
2(9:1 tốc độ 2) là bình thường ở logic 1. Khi nút nhấn được nhấn, chúng chuyển
thành logic 0 và lệnh JNB (jump if not bit) trở nên tích cực và gửi chương trình
tới chương trình phục vụ tương ứng.
Tốc độ (SPEED)
Với tốc độ 1 và tốc độ 2, hành động PWM là thong qua chân 4 trên port 1 khi
cho quay ngược, tốc độ 1R và tốc độ 2R, hành động PWM là thong qua chân 5
của port 1. Như vậy hành động của hai dòng chương trình đầu tiên của bốn
chương trình con này là không cho phép hành động PWM trên chân đối diện.
Chương trình: Sinh viên làm như một bài tập.
Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


4


Bài tập: Viết chương trình hợp ngữ điều khiển động cơ DC ở trên dung Keil
µVision 2 hay TopView.
Mô phỏng: dung Proteus.
Chương trình:
$include (REG66x.inc)
; địa chỉ SFR
org 0
; địa chỉ reset
sjmp START
;nhảy tới START
org 03h
; địa chỉ ngắt ngoài 0
sjmp CHECK
;nhảy tới chương trình con ngắt
org 40h
; địa chỉ bắt đầu chương trình
START: mov p1,#0CFh
; động cơ lái về zero (0).
setb IT0
;ngắt trên cạnh âm
mov IEN0,#81H
; ngắt ngoài 0 INT0 được cho phép
STAY: SJMP STAY
;chờ ở đây cho tới khi ngắt xảy ra.
CHECK: JNB P1.0, REVERSE; nếu được chọn nhảy tới reverse
JNB P1.1, SPEED1 ; nhảy tới tốc độ 1 6:4
JNB P1.2, SPEED2 ; nhảy tới tốc độ 2 9:1
SJMP CHECK
;kiểm tra nút nhấn trở lại

SPEED1: ANL CCAPM2,#0FDH; xoá PWM lái trên chân P1.5
CLR P1.5
; đặt P1.5 về logic 0
ORL CCAPM1,#42H; bật (set) ECOM1 và PWM1(P1.4)
MOV CCAP1L,#102; nạp giá trị đếm 6;4
MOV CCAP1H,#102; đếm 6:4 được nạp lại
ORL CCON,#40H ; bật CR để bật timer PCA lên
RETI
;trở về từ ngắt
SPEED2: ANL CCAPM2,#0FDH; xóa PWM lái trên P1.5
CLR P1.5
; đặt P1.5 về logic 0
ORL CCAPM1,#42H ; bật ECOM1 và PWM1(P1.4)
MOV CCAP1L,#26; nạp số đếm 9:1
MOV CCAP1H,#26; số đếm 9:1 được nạp lại
ORL CCON,#40H ; bật CR để bật timer PCA lên
RETI
;trở về từ ngắt
REVERSE: JNB P1.1,SPEED1R; nhảy tới quay ngược speed1
JNB P1.2, SPEED2R; nhảy tới quay ngược speed2
SJMP CHECK
;kiểm tra nút nhấn ngõ vào
SPEED1R: ANL CCAPM1,#0FDH; xoá PWM lái trên P1.4
CLR P1.4
; đặt P1.4 về logic 0
ORL CCAPM2,#42H ; bật ECOM2 và PWM2 (P1.5)
MOV CCAP2L,#102; nạp giá trị đếm 6;4
MOV CCAP2H,#102; đếm 6: 4 được nạp lại
ORL CCON,#40H ;bật CR để bật timer PCA lên
RETI

;trở về từ ngắt
SPEED2R: ANL CCAPM1,#0FDH; xóa PWM lái trên P1.4
Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


5

CLR P1.4
; đặt P1.4 về logic 0
ORL CCAPM2,#42H; bật ECOM2 và PWM2
MOV CCAP2L,#26
; nạp số đếm 9:1
MOV CCAP2H,#26
, đếm 9:1 được nạp lại
ORL CCON,#40H
;bật CR để bật timer PCA lên
RETI
;trở về từ ngắt
END
Chương trình dung phần mềm Raisonance. Bạn có thể dung Keil µVision hay
TopView.
Tham khảo: David Calcutt, Fred Cowan, Hassan Parchizadeh, 8051
Microcontrollers: an Application based introduction, Newnes (Elsevier), 2004.

Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


6

Bài 6: Hiện thực hệ thống điều khiển tốc độ và vị trí động cơ một chiều


I.Mục tiêu:
Khảo sát làm mô hình động cơ dung vi điều khi ểnPIC
16F877A/887 giao tiếp máy tính.
Nhận dạng hàm truyền động cơ DC dùng đáp ứng n ấc hệ hở của ZieglerNichols.

Điều khiển và thu thập dữ lệu tốc độ và vị trí động cơ theo
phương pháp on/off.
-Sử dụng chương trình VB6.0, và chương trình CCS cho PIC.
Cảm biến tốc độ l à encoder.
II. Cơ sở lý thuyết:

1. Sơ đồ khối điều khiển
Khối máy
tính

Khối Vi
điều
khiển
PIC

Khối
công suất
(cầu H)

Khối
động cơ
DC

Khối

Encoder

Hình – Sơ đồ khối điều khiển
Khối máy tính
Dùng ngôn ngữ lập trình Visual Basic 6.0 làm phương tiện giao tiếp. Nhiệm
vụ của VB6 là:
– Tạo giao diện người dùng để giao tiếp với người sử dụng. Trên đó cho
phép thay đổi giá trị tốc độ yêu cầu, thay đổi bộ thông số PID, chọn chiều quay
của động cơ, vẽ đồ thị biểu diễn đáp ứng của hệ thống.
– Thiết lập giao tiếp với khối Vi điều khiển qua cổng nối tiếp RS – 232.
– Lấy giá trị đo tốc độ thực tế do khối vi điều khiển truyền về để xử lý.
– Từ giá trị đo tốc độ thực tế, thực hiện thuật toán PID xuất giá trị độ rộng
xung về khối Vi xử lý để điều khiển.
– Xuất giá trị điều khiển chiều quay của động cơ được thiết lập trên giao
diện người dùng.
Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


7

Khối vi điều khiển
Dùng ngôn ngữ lập trình C (CCS C) cho PIC 16F877A/887 để lập trình cho
Vi điều khiển PIC. Nhiệm vụ của khối Vi điều khiển là:
– Thiết lập giao tiếp với máy tính qua cổng giao tiếp nối tiếp.
– Thực hiện thuật toán PID số , sử dụng tính năng điều rộng xung(PWM).
– Thực hiện việc lấy tốc độ thực tế của động cơ từ khối encoder và truyền
giá trị này về cho khối máy tính để xử lý.
Khối công suất
Nhiệm vụ của khối này là:
– Khuếch đại công suất từ tín hiệu điều khiển do khối vi điều khiển truyền

tới để điều khiển động cơ DC.
– Cho phép đảo chiều quay của động cơ thông qua cầu H.
Khối động cơ DC
Khi nhận được xung điều khiển từ khối công suất, động cơ sẽ quay với tốc
độ phụ thuộc vào độ rộng của xung truyền tới. Động cơ DC servo có tích hợp
sẵn encoder (200 xung).
Khối encoder
Đo tốc độ của động cơ bằng cách xuất xung liên tục về cho khối Vi điều
khiển. Động cơ quay nhanh hay chậm tùy thuộc vào số xung xuất ra trong một
khoảng thời gian. Việc định thời gian lấy mẫu được thực hiện từ khối vi điều
khiển.
2.Hàm truyền động cơ:
Hàm truyền động cơ DC:
Động cơ DC là thiết bị truyền động công suất mà phân phối năng lượng
ra tải.
Động cơ một chiều được mô tả ở hình sau:

Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


8

Hình 5.9: Sơ đồ nối dây của động cơ DC
Trong đó: Load : tải; Armature: phần ứng, Field: trường; Inertia: mơ men
qn tính; Friction: ma sát.
Từ thong của động cơ tỉ lệ với dòng điện từ, giả sử từ trường khơng bão
hòa:
φ = K f if
(1)
Mơ men của động cơ được giả sử là tuyến tính với φ và dòng điện phần

ứng ia (armature current)
(2)
Tm = K1φ .ia (t ) = K 1 K f i f (t )ia (t )
hay Tm (t ) = K m .ia (t )
trong đó K1 là hằng số tỉ lệ.
Sức phản điện động: Vb = K 1φ .ω
dθ (t )
Hay Vb (t ) = K b
= K bω (t )
dt

Rõ rang từ phương trình (2) để có phần tử tuyến tính, một dòng điện phải
là hằng số. Trường hợp ia=Ia dòng điện phần ứng khơng đổi ta có động cơ được
điều khiển bằng dòng từ (field current controlled motor). Xét trường hợp động
cơ DC được điều khiển bằng phần ứng (armature controlled DC motor), động
cơ sử dụng dòng ia như là biến điều khiển. Phần cảm (stator) dung cuộn dây từ
và dòng hay từ trường khơng đổi. Khi dòng điện từ khơng đổi được thiết lập
trong cuộn dây từ, mơ men động cơ là
Tm ( s ) = TL ( s) + Td ( s )
(3)
Mơ men động cơ bằng mơ men phân phối cho tải. Quan hệ này được
minh họa (3). Trong đó, TL(s) là mơ men tải và Td(s) là mơ men của nhiễu (thể
hiện mômen ma sát tải như là ma sát Coulomb).
Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


9
Tm ( s ) = ( K 1 K f I f ) I a ( s ) = K m I a ( s )

(4)


với K m = K1φ : hằng số mômen.
Khi từ trường khơng đổi được dung, ta có
Tm ( s ) = K m I a ( s )

Mơ men tải cho qn tính quay được viết như sau:
d 2θ (t )
dθ (t )
+b
= Tm (t ) − Td (t )
2
dt
dt
TL ( s) = Js 2θ ( s) + bsθ ( s) = Tm ( s ) − Td ( s )

TL (t ) = J

(8)
trong đó Km là hàm của từ tính của vật liệu từ.
Dòng điện phần ứng có quan hệ với điện áp vào đặt vào phần ứng
(armature) Va(s) ( gọi là U):
di a (t )
+ Vb (t )
dt
Va ( s ) = Ra I a ( s ) + La sI a ( s ) + Vb ( s )

Va (t ) = Ra ia (t ) + La

(5)


trong đó Ra là điện trở phần ứng
La là điện cảm phần ứng.
Va là điện áp vào đặt vào phần ứng.
Vb(s) (gọi là E) là điện áp điện động ngược (sức phản điện động phần
ứng) và tỉ lệ với tốc độ động cơ.
Vb ( s) = K bϖ ( s)
(6)
và dòng điện phần ứng
I a (s) =

Va ( s ) − K bϖ ( s)
( R a + La s )

(7)

Quan hệ cho động cơ DC được điều khiển bằng phần ứng được minh họa
ở hình sau:
Sử dụng phương trình (4), (7) và (8) hay sơ đồ khối và cho Td(s)=0, ta
giải và đạt được hàm truyền sau:
G ( s) =
=

θ (s)
Va ( s )

=

Km
s[( Ra + La s )( Js + b) + K b K m ]


Km

(9)

.
s ( s 2 + 2ξϖ n s + ϖ n2 )
Km
θ (s)
hay G ( s) =
=
3
Va ( s ) La Js + ( Ra J + bLa ) s 2 + ( K b K m + Ra b) s

Phương trình trạng thái: khi có nhiễu Td(t)
 dia (t )  − Ra
 dt   La
 dϖ   K

= m
 dt   J
 dθ   0
 dt  


Kb
La
b

J
1





0
1
 0 
i
(
t
)
  a   La 
 1




0 ϖ (t ) +  0 Va (t ) + − Td (t ) (10)

 0J 
0  θ (t )   0 


 

 


Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc



10

trong đó Td(t) được xem là ngõ vào thứ hai trong phương trình trạng
thái.
Khi không có nhiễu Td(t), Phương trình trạng thái:
 dia (t )  − Ra
 dt   La
 dϖ   K

= m
 dt   J
 dθ   0
 dt  



0
1
i
(
t
)
  a   La 
 
0 ϖ (t ) +  0 Va (t )
(11)




0
0  θ (t ) 
 

 

Tuy nhiên, đối với nhiều động cơ DC, hằng số thời gian điện từ của động cơ
(hằng số thời gian của phần ứng) τ a = La / Ra bị bỏ qua nên ta có

G ( s) =

θ (s)
Va ( s )

=

Kb
La
b

J
1



Km
[ K /( Ra b + K b K m )]
(12)
= m
s[ Ra ( Js + b) + K b K m ]

s (τ 1 s + 1)

trong đó hằng số thời gian tương đương τ 1 = Ra J /( Ra b + K b K m ). , còn gọi là
hằng số thời gian điện cơ của động cơ.Chú ý là Km bằng Kb (Km=Kb=Ce). Sự
bằng nhau này được minh họa bằng cách xem xét hoạt động động cơ ở trạng
thái xác lập và cân bằng cơng suất khi điện trở rotor bị bỏ qua.

Armature
Va(s)+

Tm(s)
Km
Ra + sLa

-

Td(s)
- TL(s)

+

1
J .s + b

ω

θ

1
.s Vị trí


Vb(s)
Kb

Hình 5.10 : Sơ đồ khối động cơ một chiều được điều khiển bằng phần ứng.
Khi xét hàm truyền của tốc độ, ta có :

G ( s) =
=

ϖ ( s)
Va ( s )

=

Km
[( Ra + La s)( Js + b) + K b K m ]

Km
( s 2 + 2ξϖ n s + ϖ n2 )

(13)

.

và khi bỏ qua τ a = La / Ra thì hàm truyền tốc độ là:
Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


11


G(s) =

ϖ ( s)

=

Va ( s )

[ K m /( Ra b + K b K m )]
τ 1s + 1

(14)

đây là khâu quán tính bậc nhất.
Khi bỏ qua phản ứng phần ứng, bỏ qua ma sát (b=0) và giả sử các phần
tử trong hệ thống là tuyến tính, có các phương trình sau:
di
dt

− Mc = J
dt
= Cei

U = E + Ri + L
M dc
M dc

(15), (16), (17) và (18)


E = C eϖ

trong đ ó:
U : điện áp hai đầu phần ứng.
I : dòng điện qua động cơ.
R,L: điện trở, t ự cảm mạch điện phần ứng.
E, Mdc: s ức điện động, moment quay của động cơ.
J: moment qn tính của các phần quay và Mc là moment cản.
Ce=Km : hằng số mômen
Từ phương trình trên , có thể suy ra hàm truyền động cơ như hình sau , cho
Mc=0 :

U

1R
1 + sL / R

-

Mc
Mdc -

I
Ce

1
J .s

ω


E
Ce

Hình5.11 : Sơ đồ khối động cơ một chiều khi từ thơng khơng đổi.
Hàm truyền tốc độ :
G ( s) =

ϖ ( s)
Va ( s )

=

Ce
La Js + ( Ra J ) s + Ce 2
2

(19)

Hàm truyền vò trí :
G ( s) =

θ (s)
Va ( s )

=

Ce
La Js + ( Ra J ) s 2 + Ce 2 .s
3


(20)

3.Đáp ứng nấc hệ hở theo Ziegler-Nichol:

Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc


12

Xem lý thuyết ở bài 5 Hiện thực hệ thống điều khiển nhiệt độ.
4.Điều khiển on/off:
Xem lý thuyết ở bài 5 Hiện thực hệ thống điều khiển nhiệt độ.

III. Thí nghiệm

1. Thí nghiệm khảo sát hệ hở :
Mục đích : Xác định thông số hàm truyền động cơ từ đồ thị quá trình quá độ
hệ hở với đầu vào hàm nấc.
Một cách gần đúng, có thể giả thuyết động cơ một chiều có hàm truyền là khâu
bậc nhất có hàm truyền như sau :
Udk

K
Ts + 1

wdco

Trong đó K : hệ số biểu diễn quan hệ vào ra : K=wdco/Udk.
2.Điều khiển tốc độ theo phương pháp on/off vòng kín:


R +

e

Bộ điều khiển
on/off

u

Động cơ DC

-

Trong đó:
R: tốc độ đặt.
C: tốc độ đo được.
E:sai lệch= r-c

Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc

c


13

U: tín hiệu điều khiển.

1. Điều khiển vị trí theo phương pháp on/off vòng kín:

Trong đó:

R: vị trí góc đặt.
C: vị trí góc đo được.
E:sai lệch= r-c
U: tín hiệu điều khiển.

IV. Báo cáo kết quả:
Sinh viên nộp báo cáo và giảng viên nhận xét, đánh giá.

Hướng dẫn thí nghiệmđiều khiển tự động (bổ sung)-©Huỳnh Minh Ngọc



×