Giáo trình Hệ thống điều khiển nhúng

ƒ Hệ nhúng ?

Trong thế giới thực của chúng ta bất kỳ một thiết bị hay hệ thống điện/điện tử có khả

năng xử lý thông tin và điều khiển đều có thể tiềm ẩn trong đó một thiết bị hay hệ

nhúng, ví dụ như các thiết bị truyền thông, thiết bị đo lường điều khiển, các thiết bị

phục vụ sinh hoạt hàng ngày như lò vi sóng, máy giặt, camera Rất dễ dàng để có thể

kể ra hàng loạt các thiết bị hay hệ thống như vậy đang tồn tại quanh ta, chúng là hệ

nhúng. Vậy hệ nhúng thực chất là gì và nên hiểu thế nào về hệ nhúng? Hiện nay cũng

chưa có một định nghĩa nào thực sự thoả đáng để được chuẩn hoá và thừa nhận rộng

rãi cho hệ nhúng mà vẫn chỉ là những khái niệm diễn tả về chúng thông qua những đặc

thù chung. Tuy nhiên ở đây chúng ta có thể hiểu hệ nhúng là một phần hệ thống xử lý

thông tin nhúng trong các hệ thống lớn, phức hợp và độc lập ví dụ như trong ôtô, các

thiết bị đo lường, điều khiển, truyền thông và thiết bị thông minh nói chung. Chúng là

những tổ hợp của phần cứng và phần mềm để thực hiện một hoặc một nhóm chức năng

chuyên biệt, cụ thể (Trái ngược với máy tính PC mà chúng ta thường thấy được sử

dụng không phải cho một chức năng mà là rất nhiều chức năng hay phục vụ chung cho

nhiều mục đích). PC thực chất lại là một hệ thống lớn, tổ hợp của nhiều hệ thống nhúng

ví dụ như card màn hình, âm thanh, modem, ổ cứng, bàn phím Chính điều này làm

chúng ta dễ lúng túng nếu được hỏi nên hiểu thế nào về PC, có phải là hệ nhúng hay

không.

ƒ Hệ thời gian thực ?

Trong các bài toán điều khiển và ứng dụng chúng ta rất hay gặp thuật ngữ “thời gian

thực”. Thời gian thực có phải là thời gian phản ánh về độ trung thực của thời gian hay

không? Thời gian thực có phải là hiển thị chính xác và đồng bộ theo đúng như nhịp

đồng hồ đếm thời gian hay không? Không phải hoàn toàn như vậy! Thực chất, theo

cách hiểu nếu nói trong các hệ thống kỹ thuật đặc biệt các hệ thống yêu cầu khắt khe về

sự ràng buộc thời gian, thời gian thực được hiểu là yêu cầu của hệ thống phải đảm bảo

thoả mãn về tính tiền định trong hoạt động của hệ thống. Tính tiền định nói lên hành vi

của hệ thống thực hiện đúng trong một khung thời gian cho trước hoàn toàn xác định.

Khung thời gian này được quyết định bởi đặc điểm hoặc yêu cầu của hệ thống, có thể là

vài giây và cũng có thể là vài nano giây hoặc nhỏ hơn nữa. Ở đây chúng ta phân biệt

yếu tố thời gian gắn liền với khái niệm về thời gian thực. Không phải hệ thống thực

hiện rất nhanh là sẽ đảm bảo được tính thời gian thực vì nhanh hay chậm hoàn toàn là

phép so sánh có tính tương đối vì mili giây có thể là nhanh với hệ thống điều khiển

nhiệt nhưng lại là chậm đối với các đối tượng điều khiển điện như dòng, áp . Hơn thế

nữa nếu chỉ nhanh không thì chưa đủ mà phải đảm bảo duy trì ổn định bằng một cơ

chế hoạt động tin cậy. Chính vì vậy hệ thống không kiểm soát được hoạt động của nó

(bất định) thì không thể là một hệ thống đảm bảo tính thời gian thực mặc dù hệ thống

đó có thể cho đáp ứng rất nhanh, thậm chí nhanh hơn rất nhiều so với yêu cầu đặt ra.

Một ví dụ minh hoạ tiêu biểu đó là cơ chế truyền thông dữ liệu qua đường truyền

chuẩn Ethernet truyền thống, mặc dù ai cũng biết tốc độ truyền là rất nhanh nhưng vẫn

không phải hệ hoạt động thời gian thực vì không thoả mãn tính tiền định trong cơ chế

truyền dữ liệu (có thể là rất nhanh và cũng có thể là rất chậm nếu có sự canh trạnh và

giao thông đường truyền bị nghẽn).

Giáo trình Hệ thống điều khiển nhúng trang 1

Trang 1

Giáo trình Hệ thống điều khiển nhúng trang 2

Trang 2

Giáo trình Hệ thống điều khiển nhúng trang 3

Trang 3

Giáo trình Hệ thống điều khiển nhúng trang 4

Trang 4

Giáo trình Hệ thống điều khiển nhúng trang 5

Trang 5

Giáo trình Hệ thống điều khiển nhúng trang 6

Trang 6

Giáo trình Hệ thống điều khiển nhúng trang 7

Trang 7

Giáo trình Hệ thống điều khiển nhúng trang 8

Trang 8

Giáo trình Hệ thống điều khiển nhúng trang 9

Trang 9

Giáo trình Hệ thống điều khiển nhúng trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 54 trang baonam 7080
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Hệ thống điều khiển nhúng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Hệ thống điều khiển nhúng

Giáo trình Hệ thống điều khiển nhúng
1 
            Trường Đại học Bách khoa Hà Nội           Bộ môn Điều khiển tự động    
                         Tài liệu tóm tắt bài giảng 
HỆ THỐNG ĐIỀU KHIỂN NHÚNG 
        (Embedded Control Systems) 
               TS. Lưu Hồng Việt                              
2 
Nội dung 
1 MỞ ĐẦU................................................................................................................................5 
1.1 Các khái niệm về hệ nhúng......................................................................................5 
1.2 Lĩnh vực ứng dụng của hệ nhúng...........................................................................7 
1.3 Đặc điểm công nghệ và xu thế phát triển của hệ nhúng .....................................8 
1.3.1 Đặc điểm công nghệ.....................................................................................8 
1.3.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng .................................9 
1.4 Mục đích và nội dung môn học.............................................................................10 
2 CẤU TRÚC PHẦN CỨNG HỆ NHÚNG........................................................................11 
2.1 Các thành phần kiến trúc cơ bản...........................................................................11 
2.1.1 Đơn vị xử lý trung tâm CPU.....................................................................11 
2.1.2 Xung nhịp và trạng thái tín hiệu..............................................................13 
2.1.3 Bus địa chỉ, dữ liệu và điều khiển............................................................16 
2.1.4 Bộ nhớ ..........................................................................................................17 
2.1.5 Không gian và phân vùng địa chỉ............................................................21 
2.1.6 Ngoại vi........................................................................................................21 
2.1.7 Giao diện......................................................................................................33 
2.2 Một số nền phần cứng nhúng thông dụng (µP/DSP/PLA) ...............................37 
2.2.1 Chip Vi xử lý / Vi điều khiển nhúng .......................................................37 
2.2.2 Chip DSP......................................................................................................39 
2.2.3 PAL...............................................................................................................41 
3 CƠ SỞ KỸ THUẬT PHẦN MỀM NHÚNG....................................................................48 
3.1 Đặc điểm phần mềm nhúng ..................................................................................48 
3.2 Biểu diễn số và dữ liệu ...........................................................................................48 
3.2.1 Các hệ thống cơ số......................................................................................48 
3.2.2 Số nguyên ....................................................................................................48 
3.2.3 Số dấu phảy tĩnh.........................................................................................50 
3.2.4 Số dấu phảy động.......................................................................................51 
3.2.5 Một số phép tính cơ bản............................................................................52 
3.3 Tập lệnh ....................................................................................................................55 
3.3.1 Cấu trúc tập lệnh CISC và RISC...............................................................55 
3.3.2 Định dạng lệnh ...........................................................................................57 
3.3.3 Các kiểu truyền địa chỉ toán tử lệnh .......................................................57 
3.3.4 Nguyên lý thực hiện pipeline.....................................................................60 
3.3.5 Harzard........................................................................................................61 
3 
3.4 Ngôn ngữ và môi trường phát triển .....................................................................63 
3.4.1 Ngôn ngữ.....................................................................................................63 
3.4.2 Biên dịch ......................................................................................................65 
3.4.3 Simulator .....................................................................................................70 
3.4.4 Emulator ......................................................................................................71 
3.4.5 Thiết kế hệ thống bằng máy tính .............................................................71 
4 HỆ ĐIỀU HÀNH NHÚNG ...............................................................................................73 
4.1 Hệ điều hành.......................... ...  ứng cùng với một sự kiện hoặc điều kiện. Đặc biệt khi số hạng mục trao đổi giữa 
bộ  tạo và bộ sử dụng  lớn hơn 1. Với  loại mạng như vậy người  ta phân  loại và gọi  là 
mạng Petri Chuyển đổi/Vị trí (Transitions/Places) ký hiệu tắt là P/T‐net.  
Cũng tương tự như EN, P/T‐net bao gồm:  
• Các vị trí được ký hiệu và mô tả bởi các vòng tròn: Các vị trí có thể chứa một số 
nguyên dương các thẻ bài. 
• Các chuyển đổi được mô tả bởi các hình chữ nhật: Các chuyển đổi sẽ lấy đi hoặc 
thêm vào số thẻ bài từ hoặc tới một vị trí.  
• Các mũi tên kết nối trực tiếp giữa các vị trí và chuyển đổi: Các mũi tên có kèm 
theo các trọng số tương ứng với số lượng thẻ bài mà nó có thể được lấy ra hoặc 
thêm vào trong các vị trí.  
Qui ước: Một  tập vị  trí kết nối với chuyển đổi  thông qua một mũi  tên  trực  tiếp  theo 
chiều từ vị trí tới chuyển đổi được gọi là tập các tiền chuyển đổi. Ngược lại, một tập vị 
trí kết nối với chuyển đổi thông qua một mũi tên trực tiếp theo chiều ngược từ vị trí tới 
chuyển đổi thì được gọi là tập các hậu chuyển đổi.  
Một chuyển đổi có thể xảy ra (thực hiện) khi và chỉ khi tất cả các vị trí trong tập tiền vị 
trí chứa một số  lượng  tối  thiểu  thẻ bài như được định nghĩa bởi các  trọng số của các 
mũi tên tương ứng.  
Khi một chuyển đổi được thực thi nó sẽ  
9 loại bỏ bớt số thẻ bài từ tập tiền vị trí bằng đúng số lượng đã được định nghĩa 
cho các trọng số của các mũi tên tương ứng và  
9 cộng thêm vào số lượng các thẻ bài vào tập hậu vị trí đúng bằng với trọng số của 
các mũi tên tương ứng.  
Ví dụ biểu diễn mô tả một hoạt động hệ thống với 2 hạng mục cần đồng bộ giữa bộ tạo 
và bộ sử dụng. 
101 
Hình 6‐8: Hoạt động đồng bộ với hai hạng mục 
Để có thể biểu diễn hệ thống một cách khoa học và logic cần có một định nghĩa đầy đủ 
mô tả bởi mạng Petri.   
ƒ Mạng điều kiện/ sự kiện Định nghĩa:  ( , , )N C E F= được gọi là một mạng nếu và chỉ nếu nó thoả mãn các thuộc 
tính sau: 
5 C và E là các tập độc lập vàC E∩ ≠∅ . 
5 ( x ) ( x )F E C C E⊆ ∪ là quan hệ nhị phân và được gọi là quan hệ luồng. 
C được gọi là các điều kiện và E được gọi là các sự kiện.  Định nghĩa: Cho một mạng N và  ( )x C E∈ ∪ .  : { | }x y yFx• = được gọi là tập các điều kiện 
trước của x và  : { | }x y xFy• = được gọi là điều kiện sau của x.  
Hay nói cách khác là một điều kiện cần phải được thoả mãn để một sự kiện nào đó xảy 
ra thì được gọi là điều kiện trước và một điều kiện được thoả mãn sau khi một sự kiện 
nào đó xảy ra thì được gọi là điều kiện sau của sự kiện đó.  Định nghĩa: Cho một tập  ( , ) xc e C E∈  
( , )c e được gọi là một vòng lặp nếu  cFe eFc∧  
Mạng N được gọi là thuần nhất nếu F không chứa bất kỳ một vòng lặp nào.  Định nghĩa : Một mạng được gọi là đơn giản nếu không có bất kỳ hai chuyển đổi t1, t2 
nào có cùng tập các điều kiện trước và các điều kiện sau.  
Các mạng mà không chứa bất kỳ phần tử tách biệt nào cũng như không có thêm bất kỳ 
một hạn chế nào thì được gọi là mạng điều kiện /sự kiện.   
ƒ Mạng chuyển đổi/vị trí 
Trong các mạng điều kiện/sự kiện chỉ chứa nhiều nhất  là một token cho mỗi một điều 
kiện. Để hạn chế điều này tức là một điều kiện có thể chứa nhiều token và người ta gọi 
102 
là mạng  chuyển  đổi/vị  trí. Các vị  trí  tương  ứng với  các  điều kiện và  các  chuyển  đổi 
tương ứng với các sự kiện trong mạng điều kiện/sự kiện.   
Số  lượng  token cho mỗi một điều kiện được gọi  là Marking. Về mặt  toán học, Marking 
chính là một ánh xạ toán học cho phép chuyển một tập các vị trí vào một tập các số tự 
nhiên được mở rộng bởi các biểu tượng đặc biệt ∞ .  
Ví dụ : Mô tả chương trình điều khiển luồng tàu điện bằng mạng Petrinet điều kiện/sự 
kiện để tránh trường hợp xung đột trên một đường ray theo hai hướng tàu chạy.  
Các điều kiện :  
• Tàu muốn vào đường ray theo chiều sang phải. 
• Tàu đang chuyển động trên đường ray theo chiều phải. 
• Tàu thoát ra khỏi đường ray theo chiều phải. 
• Tàu muốn vào đường ray theo chiều sang trái. 
• Tàu đang chuyển động trên đường ray theo chiều trái. 
• Tàu thoát ra khỏi đường ray theo chiều trái.  
Các sự kiện : 
• Tàu vào đường ray từ chiều bên trái 
• Tàu rời khỏi đường ray theo chiều phải 
• Tàu rời đường ray 
• Tàu vào đường ray từ chiều bên phải 
• Tàu rời khỏi đường ray theo chiều trái  
Token : Đường ray sẵn sàng cho tàu vào theo một trong hai chiều  
103 
6.3.4 Ngôn ngữ mô tả phần cứng (VHDL) 
VHDL (Very High Speed Integrated Circuit Hardware Description Lanuage) là một ngôn ngữ 
chung để mô tả các thiết kế phần cứng ở mức phần  tử  logic cơ bản cấu thành nên hệ 
thống và đã được phát triển bởi tổ chức quốc phòng Mỹ. Mục đích chính  là để thuận 
tiện cho việc  trao  đổi dữ  liệu  thiết kế phần cứng  theo một  định dạng chuẩn mà mọi 
người có thể hiểu và thông dịch, tạo điều kiện thuận lợi trong việc phối hợp hay hợp tác 
trong các dự án thiết kế. Đặc biệt nó rất thuận tiện trong việc chuyển đổi hay tổng hợp 
biên dịch  thành một dạng ngôn ngữ  thực  thi phần cứng  thực. Điều này  rất khó  thực 
hiện bằng các ngôn ngữ bậc cao như C nhưng với VHDL điều này chính là ưu điểm nổi 
bật và là thế mạnh trong việc mô hình hoá hệ thống, mô tả một cách chi tiết các phần tử 
cứng cấu thành tham gia trong hệ thống.  
VHDL là một chuẩn IEEE (Std‐1076) đã được sự hỗ trợ bởi rất nhiều nhà cung cấp phát 
triển phần cứng. Ứng dụng một cách chuyên nghiệp ngôn ngữ này là phục vụ cho việc 
mô tả các mạch ASICs phức hợp, chế tạo thực thi các mạch FPGA...  
Ngôn ngữ VHDL có thể đọc hiểu khá dễ dàng với cấu trúc cú pháp rõ ràng gần giống 
như ngôn ngữ Visual Basic và Pascal. Nó có thể phát huy được thế mạnh về cú pháp để định nghĩa xây dựng kiểu dữ liệu mới và hỗ trợ cho việc lập trình theo nhóm. Với xu 
thế hiện nay các nhóm phát triển có thể thực thi với điều kiện cách xa nhau về khoảng 
cách địa lý, vì vậy việc phối hợp và thiết kế theo nhóm là rất cần thiết.   
„Tom Cantrell recently wrote that the future is bright for FPGAs, which will play a large role in 
mainstream applications (“More Flash, Less Cash,” Circuit Cellar, 178, May 2005). I agree with 
Tom,  but  I’ll  go  further  and  predict  that VHDL will  become  the  premier  technology used  to 
define  FPGA  content  either  as  output  from  design  tools  or  with  direct  programming.  In 
combination with VHDL,  FPGAs  provide  a  lowcost  approach  to  defining  complex  hardware 
designs that were inconceivable only a few decades ago. Perhaps most importantly, using VHDL 
to define hardware is fun”  
104 
6.4 Thiết kế phần mềm điều khiển 
6.4.1 Mô hình thực thi bộ điều khiển nhúng 
Hình 6‐9: Hệ thống điều khiển số 
Để thực thi một bộ điều khiển số trên thiết bị vật lý thực phải đòi hỏi xét xem bộ điều 
khiển với mô hình hàm truyền đã cho có thể hiện thực hóa được không. Điều kiện phải 
xét thực ra là để đảm bảo rằng không có đầu ra nào của hệ thống lại xuất hiện trước khi 
có tín hiệu vào. Hay nói cách khác hệ thống xây dựng phải tuân thủ tính nhân quả.  
Nếu khai triển hàm truyền của bộ điều khiển số được mô tả ở dạng tổng quát 
  10 1 1
0 1
( )
m
m
R n
n
b b z b zG z
a a z a z
− −
− −
+ + ⋅⋅⋅ += + + ⋅⋅⋅+   (1.5) 
thành chuỗi lũy thừa theo z thì nó phải không được phép chứa bất kỳ phần tử nào chứa 
lũy thừa dương của z. Hay nói cách khác là bộ điều khiển được mô tả như (1.5) phải có 
bậc  0≤ tức là bậc của tử số phải nhỏ hơn hoặc bằng bậc của mẫu số (n m≥ ). 
Sau khi đã thiết kế được bộ điều khiển số thì việc còn lại là lập trình và nạp vào các bộ điều khiển vật lý khả trình. Thực chất quá trình này là thực thi hàm truyền của bộ điều 
khiển số bằng  lập trình số trên các bộ điều khiển vật  lý đã có. Ở đây chúng ta sẽ chủ 
yếu quan tâm đến việc triển khai để chuẩn bị cho bước lập trình các hàm truyền của bộ điều khiển số. Xuất phát từ mô tả hàm truyền dạng tổng quát của bộ điều khiển số 
  10 1 1
0 1
( )( )
( )
m
m
R n
n
b b z b zU zG z
E z a a z a z
− −
− −
+ + ⋅⋅⋅ += = + + ⋅⋅⋅+   (1.6) 
trong đó,  0 0a ≠  nếu  0 0b ≠ ; m và n là các số nguyên dương. 
Có thể triển khai để thực thi một hàm truyền của bộ điều khiển số theo 3 cách như sau: 
ƒ  Triển khai lập trình số trực tiếp 
Để triển khai lập theo phương pháp lập trình trực tiếp thì hàm truyền bộ điều khiển đã 
cho biểu diễn trong miền z phải được chuyển đổi về dạng hàm truyền rời rạc  
  * * *0
1 0
( ) ( ) ( )
n m
k k
k k
a u t a u t kT b e t kT
= =
+ − = −∑ ∑   (1.7) 
105 
Từ đẳng thức (1.7) dễ dàng tính ra được giá trị của đầu ra  *( )u t của bộ điều khiển số đã 
cho theo các giá trị hiện tại và quá khứ của đầu vào  *( )e t cũng như các giá trị quá khứ 
của chính nó 
  * * *
0 10 0
1 1( ) ( ) ( )
m n
k k
k k
u t b e t kT a u t kT
a a= =
= − − −∑ ∑   (1.8) 
Để thực hiện bộ điều khiển này yêu cầu phải lưu trữ các giá trị quá khứ của đầu vào và đầu ra của bộ điều khiển. Với bộ điều khiển đã cho yêu cầu phải có  n m+  giá  trị cần 
phải lưu trữ hay nói cách khác cần phải có  n m+  phần tử lưu trữ.  
Một phương pháp khác để triển khai lập trình trực tiếp là sử dụng cơ chế tách trực tiếp đầu vào và đầu  ra của bộ điều khiển  theo một biến  trung gian X(z). Không mất  tính 
tổng quát nếu chúng ta nhân cả tử và mẫu của hàm truyền bộ điều khiển số đã cho với 
một biến X(z). Từ đó rút ra được hàm truyền của đầu vào E(z) theo X(z) và hàm truyền 
của đầu ra U(z) theo X(z). Phương pháp này thực hiện như sau: 
  10 1
0
1( ) ( ) ( )mmU z b b z b z X za
− −= + + ⋅⋅⋅+   (1.9) 
  1 21 2
0 0
1 1( ) ( ) ( ) ( )nnX z E z a z a z a z X za a
− − −= − + + ⋅⋅⋅+   (1.10) 
Theo phương pháp này yêu cầu số phần tử lưu trữ chính bằng giá trị n, bằng bậc của đa 
thức mẫu số trong hàm truyền bộ điều khiển số đã cho. Từ các đẳng thức (1.9) và (1.10) 
ta cũng dễ dàng xây dựng được giản đồ trạng thái mô tả hàm truyền của bộ điều khiển 
số (giả thiết  3m n= = ).            
Hình 6‐10: Giản đồ trạng thái của hệ thống số 
ƒ  Triển khải lập trình số ghép tầng 
Cách triển khai này yêu cầu chuyển đổi bộ điều khiển về dạng tích của các hàm truyền đơn giản để có  thể dễ dàng  thực hiện bằng các chương  trình đơn giản. Hay nói cách 
khác bộ điều khiển số đã cho là kết quả ghép tầng của nhiều bộ điều khiển nhỏ.  
ƒ  Triển khai lập trình số song song 
Bộ điều khiển đã cho sẽ được tách ra thành tổng của các bộ điều khiển đơn giản và có 
thể thực hiện lập trình song song cho các bộ điều khiển đó.  
X   1z X−   2z X−   3z X−  
0 3/a a1 3
/a a  2 3
/a a  
3b  
2b  
0b  3
1
a
1z−   1z−  
1b  
1z−  ( )U z   ( )Y z  
106 
6.4.2 Ví dụ triển khai bộ điều khiển PID số 
Xấp xỉ hoá thành phần vi tích phân 
Có 3 phương pháp xấp xỉ gián đoạn phổ biến áp dụng cho các thành phần tích phân: 
vượt trước (forward), vượt sau (backward), và trapezoidal.  
ƒ Xấp xỉ sai phân vượt trước    ( ) ( ) ( )f fy kT T y kT Tx kT+ − =   (1.11) 
Áp dụng chuyển đổi z cho (1.11) ta thu được 
  ( )
( ) 1
fy z T
x z z
= −   (1.12) 
Dó đó xấp xỉ hoá tích phân sẽ là: 
  1
1
T
s z
≈ −   (1.13)  
Hình 6‐11: Xấp xỉ sai phân vượt trước 
ƒ Xấp xỉ sai phân vượt sau 
Tương tự như sai phân vượt trước ta có xấp xỉ tích phân như sau: 
  1
1
Tz
s z
≈ −   (1.14)  
Hình 6‐12: Xấp xỉ sai phân vượt sau 
ƒ Xấp xỉ Trapezoidal 
Phép xấp xỉ tích phân thu được sẽ là: 
  1 1
2 1
T z
s z
+≈ −   (1.15)  
107 
Hình 6‐13: Xấp xỉ Trapezoidal 
Đẳng thức lý tưởng mô tả bộ điều khiển PID 
0
( ) ( ) ( ) ( )
1 ( )( ) ( )
P I D
t
D
I
u t u t u t u t
de tK e t e d T
T dt
τ τ
= + +
⎡ ⎤= + +⎢ ⎥⎣ ⎦∫
  (1.16) 
trong đó, K  là hệ số khuếch đại,  IT   là hằng số thời gian tích phân,  DT   là hằng số thời 
gian vi phân.  
Trong  trường hợp  chu kỳ  trích mẫu nhỏ,  đẳng  thức  (1.16)  có  thể  được  chuyển  sang 
dạng đẳng thức sai phân bằng phương pháp rời rạc hoá. Trong đó, thành phần vi phân 
có thể được xấp xỉ như phép tính sai phân bậc nhất và thành phần tích phân được xấp 
xỉ dạng vượt trước. Bằng phép rời rạc này ta thu được đẳng thức mô tả bộ điều khiển 
PID số như sau: 
  ( )1
0
( ) ( ) ( ) ( ) ( 1)
k
s D
P
iI s
T Tu k K e k e i e k e k
T T
−
=
⎡ ⎤= + + − −⎢ ⎥⎣ ⎦∑   (1.17) 
Từ đẳng thức (1.17) ta dễ dàng nhận thấy rằng để thực thi bộ điều khiển PID cần thông 
tin của  tất cả các sai  lệch e  trong quá khứ. Để  thuận  tiện cho việc  thực hiện  lập  trình, 
dạng đệ qui sẽ phù hợp hơn và có thể rút ra từ (1.17) như sau: 
  ( )2
0
( 1) ( 1) ( ) ( 1) ( 2)
k
s D
iI s
T Tu k K e k e i e k e k
T T
−
=
⎡ ⎤− = − + + − − −⎢ ⎥⎣ ⎦∑   (1.18) 
Từ (1.17) và (1.18) ta rút ra được algorithm điều khiển của PID số:   0 1 2( ) ( 1) ( ) ( 1) ( 2)u k u k a e k a e k a e k− − = + − + −   (1.19) 
trong đó,   0 1 D
s
Ta K
T
⎛ ⎞= +⎜ ⎟⎝ ⎠
,  1 1 2 sD
s I
TTa K
T T
⎛ ⎞= − + −⎜ ⎟⎝ ⎠
,   2 D
s
Ta K
T
=  
Mô hình bộ điều khiển ở dạng hàm truyền ta có: 
  1PID P I DG K K K ss= + +   (1.20) 
trong đó, thành phần tích phân có thể xấp xỉ theo một trong ba cách như mô tả trong 
phần 6.1, thành phần vi phân có thể được xấp xỉ như sau: 
  ( ) ( ) ( )
t T
de t e kT e kT T
dt T=
− −=   (1.21) 
108 
từ (1.21) có thể xấp xỉ hàm truyền thành phần vi phân 
  1( )D D zG z K Tz−=   (1.22) 
Như vậy hàm  truyền  của bộ điều khiển PID  số  có  thể được xấp xỉ  theo một  trong 3 
dạng như sau: 
ƒ Xấp xỉ vượt trước: 
  2 2( ) ( 2 )
( 1)
P D I P D D
PID
K T K z K T K T K z KG
Tz z
+ + − − += −   (1.23) 
ƒ Xấp xỉ vượt sau: 
  2 2( ) ( 2 )
( 1)
P D I P D D
PID
K T K K T z K T K z KG
Tz z
+ + − + += −   (1.24) 
ƒ Xấp xỉ Trapezoidal: 
  2 2 2(2 2 ) ( 2 4 ) 2
2 ( 1)
P I D I P D D
PID
K T K T K z K T K T K z KG
Tz z
+ + + − − += −   (1.25)   
TÀI LIỆU THAM KHẢO 
[1] Peter Marweden. Embedded Systems Design: Springer, 2006. 
[2] Michael Barr. Programming Embedded Systems in C and C++. O’Reilly, 1999. 
[3] Jack Ganssle. The Art of Designing Embedded Systems. Newnes, 1999. 
[4] Stuart R.Ball. Embedded Microprocessor Systems. Newnes, 2002 
[5] Qing  Li  and  Carolyn  Yao.  Real‐time  Concepts  for  Embedded  Systems,  CMP 
Books, 2003 
[6] Olli  S.,  Jaakko A.. Embedded Systems, Lecture Notes, Helsinki University of 
Tech. , 2006. 
[7] Lothar  Thiele.  Embedded  Systems,  Lecture Notes,  Swiss  Federal  Institute  of 
Tech. , 2006. 
[8] Don  Morgan.  Numerical  Methods:  Realtime    and  Embedded  Systems 
Programming. M&T, 1992. 
[9] Jerrry  Lueke.  Analog  and  Digital  Circuits  for  Electronic  Control  System 
Application. Newnes, 2005. 
[10] Adrea Bobbio. System Modelling with Petri Nets. A.G. Colombo, 1990. 
[11] Linda  Null  and  Julia  Lobur.  The  essentials  of  computer  Organization  and 
Architecture: Jones and Bartlett Publishers, 2003. 
[12] Hennessy,  J.  L.,  &  Patterson,  D.  A.  Computer  Architecture:  A  Quantitative 
Approach, San Francisco: Morgan Kaufmann, 1990. 
[13] Sen M. Kuo, Bob H. Lee, Wenshun Tian. Real‐time Digital Signal Processing: 
Implementations and Applications, John Wiley & Son, 2006. 
[14] Kuo. Digital Control Systems, Oxford, 2005.  

File đính kèm:

  • pdfgiao_trinh_he_thong_dieu_khien_nhung.pdf