25 C
Hanoi
Chủ Nhật, Tháng Chín 25, 2022

THIẾT KẾ PHẦN CỨNG - NHẬN THIẾT KẾ ĐIỆN TỬ CHO SẢN PHẨM PHẦN CỨNG SỐ, IOT, CÔNG NGHIỆP,...

Home LẬP TRÌNH VI ĐIỀU KHIỂN ARDUINO Bộ điều khiển PID trong vi điều khiển

Bộ điều khiển PID trong vi điều khiển

PID là gì?

PID là sự kết hợp của 3 bộ điều khiển: tỉ lệtích phân và vi phân, có khả năng điều chỉnh sai số thấp nhất có thể, tăng tốc độ đáp ứng, giảm độ vọt lố, hạn chế sự dao động. 

Bộ điều khiển PID hay chỉ đơn giản là PID là một kỹ thuật điều khiển quá trình tham gia vào các hành động xử lý về “tỉ lệtích phân và vi phân“. Nghĩa là các tín hiệu sai sốxảy ra sẽ được làm giảm đến mức tối thiểu nhất bởi ảnh hưởng của tác động tỉ lệ, ảnh hưởng của tác động tích phân và được làm rõ bởi một tốc độ đạt được với tác động vi phân số liệu trước đó. Điều khiển PID là một kiểu điều khiển có hồi tiếp vòng kín được sử dụng rộng rải trong hệ thống điện, tự động hóa, điện tử,…
Điều khiển PID: là một kiểu điều khiển có hồi tiếp, ngõ ra thay đổi tương ứng với sự thay đổi của giá trị đo. Người ta có thể chỉ áp dụng điều khiển P, PI, hay PID.

Sơ đồ khối hệ thống sử dụng PID

     Công thức toán của bộ điều khiển PID trên miền Laplace:

Hàm truyền bộ điều khiển PID
Giải thích các thông số của hàm truyền PID

Ví dụ

Ví dụ: Khi bạn muốn điều khiển lò nung, theo như bình thường thì bạn phải cài đặt mức nhiệt độ là 38ºC, khi đạt ngưỡng 38ºC thì ngắt nhiệt. Nhưng theo cách này thì độ chính xác là 38ºC sẽ thấp vì có sai số lớn. Do đó, khi sử dụng bộ điều khiển PID thì nó sẽ điều chỉnh giá trị điều khiển ở ngõ ra Ouput sao cho sai lệch giữa giá trị đo được của hệ thống với giá trị cài đặt nhỏ nhất có thể ( sai số∼0), tạo sự ổn định và có đáp ứng nhanh.

Một cách đơn giản nhất để hiểu về PID như sau:

  • P: là phương pháp điều chỉnh tỉ lệ,  giúp tạo ra tín hiệu điều chỉnh tỉ lệ với sai lệch đầu vào theo thời gian lấy mẫu.
  • I: là tích phân của sai lệch theo thời gian lấy mẫu. Điều khiển tích phân là phương pháp điều chỉnh để tạo ra các tín hiệu điều chỉnh sao cho độ sai lệch giảm về 0. Từ đó cho ta biết tổng sai số tức thời theo thời gian hay sai số tích lũy trong quá khứ. Khi thời gian càng nhỏ thể hiện tác động điều chỉnh tích phân càng mạnh, tương ứng với độ lệch càng nhỏ.
  • D: là vi phân của sai lệch. Điều khiển vi phân tạo ra tín hiệu điều chỉnh sao cho tỉ lệ với tốc độ thay đổi sai lệch đầu vào. Thời gian càng lớn thì phạm vi điều chỉnh vi phân càng mạnh, tương ứng với bộ điều chỉnh đáp ứng với thay đổi đầu vào càng nhanh.
Đồ thị đáp ứng khi sử dụng các khâu của bộ điều khiển PID

Diễn giải tương tự:

Điều chỉnh tỉ lệ (P): là phương pháp điều chỉnh tạo ra tín hiệu điều chỉnh tỉ lệ với sai lệch đầu vào.

Điều chỉnh tích phân (I): là phương pháp điều chỉnh tỉ lệ để lại một độ lệch (offset) sau điều chỉnh rất lớn. Để khắc phục ta sử dụng kết hợp điều chỉnh tỉ lệ với điều chỉnh tích phân. Điều chỉnh tích phân là phương pháp điều chỉnh tạo ra tín hiệu điều chỉnh sao cho độ lệch giảm tới 0. Thời gian càng nhỏ thể hiện tác động điều chỉnh tích phân càng mạnh, ứng với độ lệch càng bé.

Điều chỉnh vi phân (D): khi hằng số thời gian hoặc thời gian chết của hệ thống rất lớn điều chỉnh theo P hoặc PI có đáp ứng quá chậm thì ta sử dụng kết hợp với điều chỉnh vi phân. Điều chỉnh vi phân tạo ra tín hiệu điều chỉnh sao cho tỉ lệ với tốc độ thay đổi sai lệch đầu vào.
     Thời gian càng lớn thì điều chỉnh vi phân càng mạnh, ứng với bộ điều chỉnh đáp ứng với thay đổi đầu vào càng nhanh.

Đồ thị đáp ứng quá độ

Mục tiêu sử dụng bộ điều khiển PID

PID được coi là là bộ điều khiển lý tưởng của các hệ thống điều khiển quy trình hiện đại. Nó được sử dụng hầu hết trong các ứng dụng điều khiển quá trình tự động trong công nghiệp hiện nay. Để điều chỉnh lưu lượng, nhiệt độ, áp suất, vv…

  • Giảm sai số xác lập đến mức tối thiểu nhất
  • Hạn chế độ dao động
  • Giảm thời gian xác lập và độ vọt lố.

Biến đổi rời rạc hóa để lập trình cho vi điều khiển

Bộ điều khiển số không thể lấy mẫu liên tục theo thời gian, nó cần được rời rạc ở một vài mức. Khi cho hệ số lấy mẫu ngắn bên trong thời gian vi phân có thể đạt được xấp xỉ một sai phân có giới hạn và tích phân qua việc lấy tổng. Chúng ta sẽ quan tâm mỗi dạng ở một thời điểm, và sai số được tính ở mỗi khoảng lấy mẫu:

e(n) = X(n) – Y(n)

            Bộ PID rời rạc đọc sai số, tính toán và xuất ngõ ra điều khiển theo một khoảng thời gian xác định (không liên tục) – thời gian lấy mẫu T. Thời gian lấy mẫu cần nhỏ hơn đơn vị thời gian của hệ thống.
Bộ PID rời rạc đọc sai số, tính toán và xuất ngõ ra điều khiển theo một khoảng thời gian xác định (không liên tục) – thời gian lấy mẫu T. Thời gian lấy mẫu cần nhỏ hơn đơn vị thời gian của hệ thống
Không giống các thuật toán điều khiển đơn giản khác, bộ điều khiển PID có khả năng xuất tín hiệu ngõ ra dựa trên giá trị trước đó của sai số cũng như tốc độ thay đổi sai số. Điều này giúp cho quá trình điều khiển chính xác và ổn định hơn.

Các bước khai triển hàm truyền bộ điều khiển PID

Theo một số sách lý thuyết điều khiển tự động ta có hàm truyền rời rạc trên miền ảnh z:

Rời rạc hóa hàm truyền PID
Bộ điều khiển PID số (rời rạc)

Bài toán đặt ra là tính các hệ số Kp, Ki, Kd như thế nào?

Phương pháp Ziegler-Nichols là phương pháp thực nghiệm để xác định tham số của bộ điều khiển, bằng cách dựa vào đáp ứng quá độ của đối tượng điều khiển. Tùy theo đặc điểm của đối tượng điều khiển mà Ziegler-Nichols đã đưa ra hai phương pháp lựa chọn tham số:

            Phương pháp Ziegler-Nichols thứ nhất: phương pháp này áp dụng cho các đối tượng có đáp ứng đối với tín hiệu vào là hàm nấc có dạng chữ S như điều khiển nhiệt độ, …

Đáp ứng nấc của hệ hở có dạng chữ S

            Thông số của bộ điều khiển được cho trong bảng sau:

Các tham số PID theo phương pháp Ziegler-Nichols thứ nhất

Phương pháp Ziegler-Nichols thứ hai: Phương pháp này áp dụng cho đối tượng có khâu tích phân lý tưởng như mực chất lỏng của bồn chứa, vị trí hệ truyền động dùng động cơ, … Đáp ứng quá độ của hệ hở tăng đến vô cùng. Phương pháp này được thực hiện như sau:

Xác định hằng số khuếch đại tới hạn
  • Thay bộ điều khiển PID trong hệ kín bằng bộ khuếch đại tới hạn.
  • Tăng hệ số khuếch đại tới giá trị tới hạn để hệ kín ở chế độ biên ổn định, tức là hàm đầu ra có dạng dao động điều hòa.
  • Xác định chu kì T_th của dao động.
Đáp ứng nấc của hệ kín khi k = k_th

            Thông số của bộ điều khiển được cho

Các tham số PID theo phương pháp Ziegler-Nichols thứ hai

Phương pháp chỉnh định bằng thực nghiệm (thử sai):

  • Đặt  Ki= Kd = 0. Tăng  đến khi hệ thống ổn định giá trị điều chỉnh gần với giá trị mong muốn, chấp nhận vọt lố nhỏ
  • Nếu chưa tới giá trị tới hạn thì tăng Ki
  • Nếu có vọt lố thì tăng giá trị Kd

Ngoài ra còn một số phương pháp khác như dùng giải thuật mờ (Fuzzy), giải thuật di truyền (GA), dùng phần mềm để tự động chỉnh định thông số, …

Chia sẻ trên các diễn dàn điện tử Việt Nam

dientuvietnam.net

Phương pháp Ziegler Nichol bạn nói chỉ dùng khi đối tượng của bạn có khâu delay có trễ (tử số có e ^ (-Ts)) hay có khâu quán tính bậc nhất dưới mẫu số 1/(Ts+1), điển hình là cái lò nhiệt. Để tìm thông số cho bộ điều khiển PID đối với đối tượng này thì người ta trước hết khảo sát đặc tính vòng hở của hệ thống, cấp môt tín hiệu điều khiển vào cho đối tượng, sau đó khảo sát đặc tính quá độ của hệ thống, từ đó xác định các thông số T và L. Khi đó, các thông số của bộ HC PID được tính theo T và L.

Còn đối với một số đối tượng có hàm truyền trong mẫu số có dạng dao động bậc hai như K/(1+T1s)*(1+T2s), điển hình là động cơ điện DC. Theo lí thuyết, ta nên tìm hàm truyền tường minh từ các phương trình vật lí nhưng mình cũng chưa thấy ai làm kiểu này bao giờ cả. Đối với loại này thì có hai cách “trị” thực tế như sau

  • Cách 1:Mình cũng khảo sát quá độ của hệ thống. Nếu đặc tính quá độ giống đặc tính theo pp HC Ziegler-Nichols thì mình sẽ xài Ziegler Nichols.
  • Cách 2:Mình cấp tín hiệu đặt rồi thay đổi dần các thông số Kp, Ki, Kd cho phù hợp. Đầu tiên, mình sẽ làm cho hệ thống ổn định bằng cách cho Ki, Kd bằng 0. Sau đó tăng dần Kp lên. Khi Kp càng nhỏ thì Nyquist hệ hở càng xa điểm (-1,j0). Hệ chắc chắn sẽ ổn định. Nhưng đổi lại, đáp ứng sẽ lâu. Mình tăng dần Kp đến khi hệ thống bắt đầu dao động thì dừng lại. Để triệt tiêu sai số xác lập,mình sẽ tăng dần Ki lên, nhưng đổi lại, do Ki tăng, hệ thống sẽ rât có khả năng bị vọt lố, mình tăng cho đến khi đặc tính quá độ vọt lố chừng 10% thì dừng. Tiếp theo, mình sẽ tăng tiếp Kd. Khi Kd tăng thì rất có thể thời gian xác lập mình dài ra hơn một chút nhưng bù lại, bạn sẽ bù trừ được 10% vọt lố ở trên.”

Ở bài viết sau mình sẽ đi sâu hơn về thuật toán khi lập trình PID.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Chia sẻ PCB KIT ESP32

Mạch nguyên lý schemaic: Download toàn bộ project phần mềm Altium: DOWNLOAD Một vài hình ảnh thiết kế trên Altium:

Chia sẻ PCB Ethernet Gigabit Switch 5 Port

Mạch nguyên lý Schematic: DOWNLOAD ALTIUM PROJECT Một số hình ảnh 3D và 2D của mạch: Lớp TOP: Lớp 2: Lớp 3:Lớp Bottom:

Chia sẻ PCB mạch Hub USB2.0 dùng FE1.1S

DOWNLOAD PROJECT (ALTIUM) Mạch thiết kế trên phần mềm Altium, 2 lớp, dùng cho mục đích thử nghiệm.

Chia sẻ PCB nguồn công nghiệp VRB2405YMD-20WR3

Công suất đầu ra 20 Vin (VDC) 18~36 Vout (VDC) 5 Số đầu ra 1 Điện áp cách ly 1500     DOWNLOAD  

Recent Comments