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

Tổng quan về điều khiển tự động cho người mới học

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 (649.32 KB, 4 trang )

Small tutorial Tổng quan về điều khiển tự động - phần 2

1

II.Từ khái niệm đến hình
dung hệ thống
Mục tiêu của phần này là giúp bạn đọc hình
dung các công đoạn hiện thực và áp dụng một
bộ điều khiển vào thực tế, không đi sâu vào
giải thích các phương trình toán học. Các bài
viết khác sẽ lần lượt giải quyết các vấn đề chi
tiết
Không gì dễ hiểu bằng một ví dụ cụ thể. Ở
đây, ta lấy ví dụ về điều khiển động cơ DC.
Tổng thể hệ thống
Tổng thể hệ thống điều khiển động cơ DC bao
gồm 4 phần:
- Động cơ DC
- Bộ nguồn để cấp dòng/áp
- Cảm biến để đo vận tốc/vị trí
- Bộ điều khiển để sai khiến bộ nguồn

Động cơ DC phải được cấp dòng/áp thì mới có
thể hoạt động, nhưng không phải cứ cấp tùy ý
là có thể chạy đúng như yêu cầu.
Cảm biến có nhiệm vụ đo đạc vận tốc/vị trí, để
hồi tiếp về cho bộ điều khiển biết.
Bộ điều khiển dựa vào yêu cầu mong muốn và
vận tốc/ vị trí hiện thời do cảm biển hồi tiếp về
để tính toán xem cần cấp bao nhiêu dòng/áp
thì máy sẽ hoạt động như yêu cầu.


Bộ nguồn có nhiệm vụ là hễ bộ điều khiển
muốn cấp bao nhiêu thì nó sẽ cấp bấy nhiêu.
Còn chúng ta đương nhiên là người ra yêu cầu.
Mô hình động cơ DC
Nguyên lý động cơ DC được giới thiệu ở đây
/>B%99ng_c%C6%A1_%C4%91i%E1%BB%8
7n_m%E1%BB%99t_chi%E1%BB%81u
Bằng các nghiên cứu về máy điện DC, người
ta chỉ ra rằng quan hệ giữa vận tốc ra và
dòng/áp cấp vào theo các pt như sau :
 = 

Ω (1)
()




()
=
1
+ 
=
1

1 +



(2)

() = 

() (3)
Ω()
()
=
1
+ 
=
1

1 +



(4)
Lưu ý : đôi khi ta có một hệ thống mà ta không biết bên
trong là cái gì, vậy ta không thể nào dùng các định lý
khoa học để tìm ra các phương trình hàm truyền dễ
dàng. Ta phải làm ngược lại là đo đạc vào-ra rồi suy ra
mô hình của hệ thống. Công việc này gọi là nhận dạng
hệ thống (identification)
Matlab/Simulink là công cụ không thể thiếu để
phân tích và thiết kể, nó cho phép ta biểu diễn
các phương trình trên dưới dạng sơ đồ khối
(figure 2).
Sau khi xây dựng xong mô hình trên Simulink,
ta cần kiểm chứng xem nó đã đúng chưa, bằng
cách cho Simulink chạy thử để xem đáp ứng ra
có hợp lý chưa. Nếu đã đúng rồi thì ta đã xong

bước mô hình hóa.
Figure 1 : lý thuyết máy điện DC
Small tutorial Tổng quan về điều khiển tự động - phần 2

2

Thiết kế bộ điều khiển cổ điển-Nguyên
lý bộ PID
Bộ điều khiển được hiểu là một chiến thuật
tính toán tín hiệu điều khiển, sao cho đầu ra
được như mong muốn.
Gọi là cổ điển vì chúng được phát minh từ rất
lâu, vào khoảng đầu thế kỷ 20. Dấu hiệu nhận
biết là đa số chúng được thiết kể trong miền
tần số (miền Laplace – miền s).
Có cũng không nhiều lắm các loại bộ điều
khiển cổ điển mà ta có thể kể ra như : PID,
sớm trễ pha, hồi tiếp trạng thái,…Trong đó
PID được dùng nhiều nhất vì giải quyết được
phần lớn các bài toán trong công nghiệp và có
thiết kế đơn giản, tiết kiệm. Vì lý do đó, và
cũng vì trong thực tế PID thường được dùng
để điều khiển động cơ DC, ta sẽ nói qua về bộ
PID ngay bây giờ.
PID = Proportional-Integral-Derivative (Tỉ lệ-
Tích phân-Vi phân).
Bộ PID là một sự phát triển ý tưởng từ luật
điều khiển ở hình 2 (nói theo ý người viết chứ
không phải theo lịch sử phát triển) theo nghĩa
như sau:

Bộ P : tín hiệu điều khiển tỉ lệ thuận với sai
lệch. Sai lệch càng nhiều thì bộ P sẽ chỉ đạo
bộ nguồn cấp dòng/áp càng mạnh để mau đưa
đáp ứng về cái ta mong muốn, khi sai lệch còn
ít thì bộ P giảm tín hiệu điều khiển. Cho nên
tín hiệu điều khiển mà bộ P chỉ đạo là :


= 


Bộ D : tín hiệu điều khiển tỉ lệ với đạo hàm
của đáp ứng ra nhưng ngược dấu. Nó có tác
dụng như một cái phanh, làm cho máy hoạt
động một cách “cẩn thận” hơn. Giống như ta
vừa chạy xe vừa giữ phanh. Bộ D giúp hệ
thống bớt “trượt”, nghĩa là bớt chạy lố.


= 



= 




Bộ I : tín hiệu điều khiển tỉ lệ với tích phân sai
số. Bên trên ta đã nói bộ D giữ phanh giúp cho

máy bớt “trượt”. Nhưng có thể xảy ra trương
hợp khi chưa chạy tới điểm mong muốn mà
máy đã dừng do lực hãm phanh mạnh quá. Khi
máy dừng ở một điểm mãi thì tích phân sai số
theo thời gian tăng, dẫn đến u
I
tăng, đẩy máy
chạy tiếp đến đích.


= 

 

0

Tổng hợp lại :
 = 

+ 

+ 


Thiết kế bộ PID là công việc tìm K
P
,K
I
,K
D

.
Có nhiều phương pháp thiết kế bộ điều khiển
PID. Có phương pháp theo kiểu “ăn liền” như
Ziegle-Nichols, không cần hiểu bản chất, chỉ
cần đo đạc 1 vài thông số theo dạng có sẵn, rồi
áp dụng công thức của Z-N là ra được các
thông số. Tuy nhiên nếu không rơi vào dạng
có sẵn thì chịu. Cho nên, nếu bạn muốn học
Figure 2 : mô hình máy điện DC
Small tutorial Tổng quan về điều khiển tự động - phần 2

3

đktđ “chuẩn” thì bạn nên tìm hiểu những cách
khác : thiết kế dựa trên cực của hệ thống; dựa
trên độ dự trữ biên độ và pha của hệ thống;
theo thời gian đáp ứng, độ vọt lố, băng thông
của hệ thống,… đây đều là những phương
pháp cơ bản. Trong đó khái niệm cực của hệ
thống là trung tâm nhất, mọi thứ đều có thể
giải thích theo cực của hệ thống.
Như đã nói, bài viết này giới thiệu tổng quan,
không nhằm tính toán, sẽ có bài khác để làm
rõ vấn đề thiết kế.
Hiện thực hóa bộ điều khiển
Bộ điều khiển analog:
Bộ điều khiển PID ở trên cũng chỉ là 1 biểu
thức hàm truyền trong miền s, chung quy cũng
chỉ là vi, tích phân. Mà như vậy thì nó sẽ được
thực hiện dễ dàng với vài con opamp, điện trở,

cuộn dây, tụ điện.
Hãy làm một cái mạch có áp ra/áp vào bằng
hàm truyền của bộ PID. Nó chính là bộ điều
khiển. Các thông số Kp,Ki,Kd có thể thay đổi
dễ dàng bằng các biến trở.
Bộ đk analog thì dễ thiết kế, các thông số của
nó chính là các thông số đã tìm ra ở trên. Tuy
nhiên, nếu muốn thay bộ điều khiển thì phải
thay luôn cả cái mạch.
Bộ điều khiến số sẽ được giới thiệu kỹ hơn vì
có thể thay đổi dễ dàng bằng code, và ngày
càng được dùng nhiều do sự phát triển của các
hệ thống truyền thông công nghiệp.
Bộ điều khiển số :
Các thông số của bộ điều khiển số không còn
giống với các thông số bên trên nữa. Chúng có
cách thiết kế khác-thiết kế trên miền z.
Bộ điều khiển số được hiện thực hóa nhờ các
chip vi xử lý như PIC, AVR, FPGA,…Ý
tưởng của bộ điều khiển số cũng giống như
môn “phương pháp tính” ở các trường đại học.
Lấy mẫu : vị trí/vận tốc của động cơ DC là
liên tục trong thời gian. Nhưng ta đo chúng với
1 tần số f, chu kỳ T. Cứ sau thời gian T ta mới
đọc chúng 1 lần.
Thay vì tích phân sai số một cách liên tục thì
ta cộng dồn nó tại các thời điểm lấy mẫu n*T.
u
I
(n) = u

I
(n-1) + ε(n)
Thay vì phi vân sai số thì ta lấy hiệu của nó tại
thời điểm n*T và (n-1)*T.
u
d
(n) = ε(n) - ε(n-1)
Các phép này được vi xử lý giải quyết nhanh
chóng nhờ vào các biến lưu giá trị của đại
lượng tại thời điểm trước đó.
Tần số lẫy mẫu là mấu chốt ở đây.
Vì sao ? Vì lấy mẫu là ta đã làm mất đi thông
tin.
Nếu lấy mẫu với tần số đủ lớn thì không sao,
hệ thống tuy là “số” nhưng cũng xem tương
đương như là analog. Nhưng nếu lấy mẫu quá
lớn, ta bị vấn đề về giới hạn tính toán của chip.
Chip không thể tính nhanh như vậy được, khi
chip chưa tính xong chu kỳ trước mà đã bị
“hối” tính tiếp cho chu kỳ sau thì … Nói chip
hoạt động được ở 20MHz có nghĩa là nó tính
được nhị phân 1+1 = 10 trong 50ns.
Nhưng nếu lấy mẫu với tần số quá nhỏ, ví dụ
như “1 ngày/1mẫu”, thì chip sẽ nhẹ nhàng,
nhưng… Vậy nên, định lý Shannon nói rằng
phải lấy mẫu với tần số lớn hơn 2 lần tần số
của tín hiệu cần lấy mẫu.
Thực ra định lý này hơi mơ hồ khi áp dụng
vào lấy mẫu trong hệ thống đktđ. Bởi vì “tần
số của tin hiệu cần lấy mẫu” bằng bao nhiêu?

Bởi vậy ta chọn tần số lấy mẫu lớn hơn 2 lần
tần số cắt của hàm truyền hở (tức là H(s)-mô
hình động cơ).
Tuy nhiên, lấy mẫu càng lớn thì càng dễ tính
toán các thông số để hệ thống ổn định. Cho
nên ta phải đắn đo giữa 2 cái giới hạn cho tần
Small tutorial Tổng quan về điều khiển tự động - phần 2

4

số lấy mẫu : đủ lớn để không mất thông tin, đủ
bé để chip tính toán được.
Nguồn và PWM
Sau khi thiết kế xong bộ điều khiển, đầu ra của
nó chính là tín hiệu điều khiển, nó báo cho bộ
nguồn biết cần cấp bao nhiêu dòng/áp cho
động cơ.
Tuy nhiên, vấn đề là ở chỗ, các nguồn (DC)
của chúng ta chỉ cấp được 2 mức dòng/áp là
Io/Vo-khi mở và 0-khi tắt. Mà tín hiệu đk do
bộ đk tính ra đâu phải chỉ có 2 mức, nó là một
hàm liên tục theo thời gian.
Cho nên PWM xuất hiện.
Ý tưởng của PWM là : vì tôi chỉ cấp được 2
mức, mà anh muốn một giá trị bất kỳ, thôi thì
để tôi đóng 1 tí và ngắt 1 tí, để có cái trung
bình bằng cái mà anh mong muốn. Nếu cái “1
tí” của tôi mà lâu quá thì không tốt, nhưng nếu
giả sử cái anh muốn hầu như chỉ thay đổi
không bao nhiêu trong vòng 1ms, thì nếu tôi

đóng ngắt 1000 lần trong 1ms đó thì coi như là
tôi bằng anh.
Chính là như vậy. Nhưng khi nào thì anh
đóng, khi nào anh ngắt trong 1ms đó ?
Hãy đưa tôi cái mà anh muốn, tôi đi so sánh nó
với 1 xung răng cưa chu kỳ 1/1000 ms, nếu cái
anh muốn lớn hơn thì tôi báo là 1, nếu nhỏ hơn
thì tôi báo là 0.
Nếu tôi báo là 1 thì anh cho điện áp 5V vào cái
cổng điều khiển của con transistor để nó đóng
mạch, dòng qua mạch là Io. Nếu tôi báo 0 thì
anh đưa 0V vào là nó ngắt. Trung bình lại thì
anh có cái mà anh mong muốn – giá trị bất kỳ.
PWM là kỹ thuật được dùng khắp mọi nơi.
Mấu chốt của nó chính là con transistor, ta chỉ
dùng 1 tín hiệu nhỏ nhưng lại đóng ngắt được
1 dòng lớn, và lại có thể đóng ngắt rất nhanh.
Nếu không có các linh kiện điện tử công suất
này thì chắc xã hội không được như ngày hôm
nay.
Đến đây là xong rồi, ta đã tính toán dòng/áp
sao cho máy hoạt động như yêu cầu, và đã sai
khiến bộ nguồn cấp dòng/áp đó, còn chờ gì
nữa, cắm điện vào và chạy thôi.
22/11/2012
Klong19
Tham khảo :
Bài viết chỉ bao gồm các kiến thức cơ bản có ở
khắp nơi nên người viết nghĩ không cần thiết
chỉ ra nguồn tham khảo. Nếu có tham khảo cụ

thể nguồn nào khi viết thì sẽ được liệt kê ở
đây:

×