Công nghệ Robocon

Điều khiển động cơ DC Servo bằng giải thuật PID

Một trong những vấn đề từng làm đau đầu tổ lập trình robot trong những năm qua là robot chạy không ổn định, vừa mới lập trình chạy được khi chạy thêm một vòng nữa thì lại bị lỗi, khi Pin đầy robot chạy tốt , pin yếu một chút thì lại chạy sai. Việc dừng tại một vị trí chính xác nào đấy trên sân cũng rất quan trọng, tuy nhiên robot lại khi thì dừng chỗ này, lúc lại dừng dừng chỗ kia.

Sau nhiều nghiên cứu một giải pháp đã được tìm ra, đó là bộ điều khiển động cơ dùng giải thuật PID. Kỹ thuật điều khiển PID tuy không phải là một kỹ thuật điều khiển mới, nhưng lại là kỹ thuật phổ biến nhất chuyên dùng để điều khiển các hệ thống trong công nghiệp như hệ thống lò nhiệt, điều khiển tốc độ, vị trí, moment động cơ AC và DC. Một trong những lý do bộ điều khiển PID trở nên phổ biến như vậy là vì tính đơn giản, dễ triển khai trên những vi xử lý nhỏ với hiệu năng tính toán hạn chế.

Cấu trúc chung của hệ thống vòng kín như sau:

Hình 1: Cấu trúc chung của hệ thống điều khiển vòng kín

Trong hình vẽ trên:

        - Plant: là hệ thống cần được điều khiển

        - Controller: Cung cấp tín hiệu điều khiển cho Plant, được thiết kế để điều khiển toàn bộ đáp ứng của hệ thống.

Hàm truyền của bộ điều khiển PID có dạng như sau:

Trong đó:

          - KP: Độ lợi khâu tỷ lệ

          - KI: Độ lợi khâu tích phân

          - KD: Độ lợi khâu vi phân

Biến số (e) đại diện cho sai số giữa giá trị mong muốn (R) và giá trị ngõ ra (Y). Sai số này (e) sẽ được đưa đến bộ điều khiển PID, và bộ điều khiển này sẽ tính toán cả vi phân và tích phân của tín hiệu sai số này. Tín hiệu (u) sẽ có giá trị như sau:

Tín hiệu (u) sẽ được đưa đến đối tượng điều khiển và ta sẽ thu được một tín hiệu (Y) mới. Tín hiệu này sẽ lại được đưa đến cảm biến để tính toán ra sai số mới (e). Bộ điều khiển lại tính toán các giá trị vi phân, tích phân của sai số này. Quá trình cứ thế lặp đi lặp lại.

Đặc tính của bộ điều khiển P, I và D: Bộ điều khiển tỷ lệ (KP) có tác dụng làm giảm thời gian lên và sẽ làm giảm, nhưng không triệt tiêu, sai số ở trạng thái xác lập (steady- state error).

Bộ điều khiển tích phân (KI) sẽ triệt tiêu sai số ở trạng thái xác lập, nhưng lại có thể làm giảm chất lượng của đáp ứng quá độ.

Bộ điều khiển vi phân (KD) sẽ làm tăng độ ổn định của hệ thống, giảm độ vọt lố và tăng chất lượng đáp ứng quá độ.

Tác động của mỗi bộ điều khiển KP, KI, KD được trình bày trong bảng sau:

 

Thời gian lên

Độ vọt lố

Thời gian

quá độ

Sai số xác lập

KP

Giảm

Tăng

Thay đổi nhỏ

Tăng

KI

Giảm

Tăng

Tăng

Triệt tiêu

KD

Thay đổi nhỏ

Giảm

Giảm

Thay đổi nhỏ

Cần lưu ý rằng trong bộ điều khiển PID, sự các tác động này có thể không chính xác, vì KP, KI và KD phụ thuộc lẫn nhau. Thực ra, thay đổi một trong các thông số này có thể làm thay đổi tác động của hai thông số còn lại.

Chỉnh định bộ điều khiển PID bằng phương pháp Zeigler – Nichols: Ban đầu, đặt tất cả các độ lợi KP, KI, KD bằng 0. Sau đó tăng KP lên cho đến khi đạt được giá trị độ lợi Ku, là độ lợi mà ở đó ngõ ra của hệ thống bắt đầu dao động với biên độ không đổi. Ku và chu kỳ dao động Tu được dùng để tính toán các độ lợi KP, KI, KD dựa vào công thức sau.

Bộ điều khiển

KP

KI

KD

P

Ku/2

-

-

PI

Ku/2.2

Tu/1.2

-

PID

Ku/1.7

Tu/2

Tu/8

Driver PID cho động cơ DC:

Hình 2: Sơ đồ khối phần cứng

Trong mạch điều khiển này, vi điều khiển đóng vai trò quan trọng nhất. Nó nhận tín hiệu điều khiển từ main board, tín hiệu hồi tiếp từ động cơ thông qua incremental encoder để tính toán ra giá trị PWM cần thiết xuất ra cho bộ khuếch đại công suất điều khiển động cơ đạt tốc độ/vị trí mong muốn. Như đã nói ở trên, PID là thuật toán điều khiển khá đơn giản, do đó, ta có thể sử dụng các vi điều khiển từ dòng 8bit (8051, AVR, PIC16, PIC18) đến những dòng cao cấp hơn như dòng 16bit (dsPIC, PIC24) hoặc 32bit (ARM, PIC 32bit, AVR 32bit).

Incremental encoder cũng là bộ phận không thể thiếu trong hệ thống, nó cung cấp thông tin về trạng thái hiện thời của hệ thống cho vi điều khiển. Encoder có độ phân giải càng cao thì cho chất lượng điều khiển càng tốt. Tuy nhiên, encoder có độ phân giải cao thì cũng yêu cầu khả năng xử lý của vi điều khiển cao hơn.

Khối công suất nhằm cung cấp điện áp chính xác điều khiển động cơ hoạt động dựa trên việc xử lý, tính toán của vi điều khiển. Tùy theo công suất của động cơ cần điều khiển mà ta phải thiết khối này cho phù hợp.

Ken Nguyễn (theo Bình Nguyên)

PID, robocon, robocon 2013, giải thuật PID, công nghệ pid, Lạc Hồng


      • Địa chỉ: Số 10, Huỳnh Văn Nghệ, P. Bửu Long, Tp. Biên Hòa - Tỉnh Đồng Nai
      • Điện thoại: 0251 3952 778
      • Email: lachong@lhu.edu.vn
      • © 2023 Đại học Lạc Hồng
        1,908,355       1/903