Thu thập dừ liệu vào/ra của động cơ điện một chiều từ thựcnghiệm

Một phần của tài liệu đồ án : Thiết kế bộ điều khiển PID SỐ TRÊN NỀN VI ĐIỀU KHIỂN PIC (Trang 84 - 129)

b) Thuật tốn PID số

3.1.3.Thu thập dừ liệu vào/ra của động cơ điện một chiều từ thựcnghiệm

Chúng ta sử dụng kit điều khiển để thu thập dữ liệu nhận dạng động cơ điện một chiều theo mơ hình :

Hình 3.2 Đặc tính thu thập dữ liệu nhận dạng

Trong giao điện phần mềm giám sát hệ thống chúng ta cĩ thể lấy trực tiếp dữ liệu vào/ra xuất ra file định dạng Exel. Như vậy chúng ta cĩ tập dữ liệu đối tưọng lưu trên file: ‟C:\data.xls‟. Chúng ta hồn tồn cĩ thể chuyển dữ liệu dạng khác để sử dụng nhạn dạng như file „.mat‟, „.dat‟… Matlab vẫn hỗ trợ các dữ liệu định dạng này.

Khi thu thập dữ liệu đối tượng ta cho điện áp dầu vào động cơ là 9V, thời gian trích mầu 5ms .

3.1.4. Nhận dạng động cơ điên một chiều bằng Toolbox Identification cảu Matlab

Sau khi thu thập dữ liệu vào ra của động cơ ta tiến hành nhận dạng đối tượng sử dụng toolbox của Matlab (System Identification toolbox) . Khi nhận dạng đối tượng sử dụng dữ liệu trong miền thời gian Time – Domain Data. Các bước tiến hành nhận dạng trên Matlab tĩm lược như sau :

Các câu lệnh để tiến hành nhận dạng dữ liệu trong cửa sổ Matlab:

>> X=xlsread('D:\data.xls',1) // Đọc dữ liệu lưu trong data1.xls >> u1=X(:,1) // Đầu vào điện áp bước nhảy >> y1=X(:,2) // đầu ra tốc độ y1

>> save identdata u1 y1 // lưu file dữ liệu dưới dạng identdata.mat >> ident // mở của sổ nhận dạng

Hình 3.3Chọn đầu vào và mơ hình nhận dạng của đối tượng

Hình 3.4Phương thức nhận dạng và đánh giá mơ hình thu được

truyền: WDT(s) = 2Với η=0.31528 ,T=0.0057876 , K=138.67 1+ 2*ηTs+ (Ts)

Hình 3.5 Đặc tính quá độ đối tượng sau khi nhận dang

3.1.5. Đánh giá chất lượng mơ hình

Cũng trong Toolbox này Matlab cịn cho ta thấy sai lệch tương đối giữa đối tượng nhận dạng và tập dừ liệu ban đầu thu thập được.

Cĩ thể đánh giá sai lệch mơ hình thực đối tượng là khoảng 5.5% làcĩ thể chấp nhận được. Mơ hình đố tượng động cơ điện một chiều chúng ta nhận dạng được là khá chính xác.

3.2 Thiết kế luật điều khiển PID

3.2.1. Phương pháp Ziegler-Nichols1

Để thiết kế bộ điều khiển PID ta dùng phương pháp Ziegler – Nichols thứ nhất dựa trên cơ sở đặc tính của đối tượng .

Từ hình vẽ trên ta cĩ L = 0,00375 ; T = 0,041và hệ số k = 71.2 Kp= 0.16 Ti = 0.0075 Td = 0.0019 3.2.2. Phương pháp IMC

Phương pháp này cĩ ưu điểm là thiết kế tính tốn các tham số bộ điều khiển PID cho từng loại mơ hình đối tượng khác nahu qua một số biểu thức trung gian. Chúng ta sử dụng phương pháp này cho đối tượng động cơ một chiều là vì nĩ đã cĩ sẵn luật thiết kế .Đối tượng động cơ điện một chiều cĩ mơ hình :

K

Ta cĩ : Chon tc=0.06

Kp=Ti/(tc*K)= 0.0004

Ti=2*η*T=0.00365=>Ki=0.12 Td=T/(2*η)=0.092=>Kd=0.000037 (adsbygoogle = window.adsbygoogle || []).push({});

3.2.3. Mơ phỏng và đánh giá chất lượng bộ điều khiển

Hình 3.9 Đặc tính mơ phỏng

Rõ dàng hai phương pháp đều cho đặc tính hệ thống sai lệch và đoọ quá điều chỉnh bằng khơng nhưng IMC cho ta thời gian quá độ Tqd=140ms, cịn Ziegler- Nichols cho Tqd=230ms. Như vậy phương pháp IMC cho ta kết quả tốt hơn.

3.3 Thiết bị chấp hành(IC L298)

Đảm nhiệm vai trị thiết bị chấp hành trong hệ thống điều khiển thực thi thuật tốn điều khiển là mạch cơng suất L298.L298 là một Driver tích hợp sẵn 2 mạch cầu H bên trong với chuẩn điều khiển TTL, khơng cĩ Diode nội bảo vệ Mosfet. Chịu tải tối đa trên

Mơ hình Simulink:

mỗi cầu là 2A, điện áp 40VDC. Logic “0” ở ngõ vào lên tới 1.5V ( khả năng khử nhiễu cao). Sử dụng dạng đĩng gĩi Multiwatt15.

Một số đặc điểm của mạch cơng suất L298: Điện áp cấp lên đến 46V

• Tổng dịng DC chịu đựng lên đến 4A • Chức năng bảo vệ quá nhiệt

• Điện áp logic „0‟ từ 0V đến 1.5V nên tính chống nhiễu tốt.

Hình 3.10 Sơ đồ chân L298

Chức năng các chân :

MW.15 Power SO Tên Chức năng 1.15 2;19

Sense A sense B

Nối chân này qua điện trở cảm ứng dịng xuống GND để điều khiển dịng tải .

2;3 4;5 Out1 Out2

Ngõ ra của cầu A . Dịng của tải mắc giữa 2 chân này được qui định bởi chân 1.

4 6 Vs Chân cấp nguồn cho tầng cơng suất. Cần cĩ một tụ điện khơng cảm kháng 100nF nối giữa chân này và chân GND

5;7 7;9 Input1 Input2

Chân ngõ vào của cầu A, tương thích chuẩn TTL

6;11 8;14 EnableA EnableB

Chân ngõ vào enable (cho phép) tương thích chuẩn TTL. Mức thấp ở chân này sẽ cấm (disable) ngõ ra cầu A (đối với chân EnableA) và/hoặc cầu B ( đối với chân EnableB)

9 12 VSS Chân cấp nguồn cho khối logic. Cần cĩ tụ điện 100nF nối giữa chân này với GND

10;12 13;15 Input3 Input4

Các chân logic ngõ vào của cầu B

13;14 16;17 Output3

Output4 Ngõ ra của cầu B. Dịng của tải mắc giữa hai chân này được qui định bởi chân 15. (adsbygoogle = window.adsbygoogle || []).push({});

- 3;18 N.C Khơng kết nối .

Hình 3.11: Các chế độ của L298

Hai chân C,D của L298 để điều khiển chiều động cơ, phanh động cơ. Chân Enable của L298 dùng làm đầu vào băm xung PWM cho động cơ để cĩ thể điều khiển tốc độ động cơ.

Bảng chế độ của trong quá trình điều khiển động cơ :

Đầu vào Chức năng

M1E=1

M1A=1; M1B=0 Tiến động cơ

M1A=0; M1B=1 Lùi động cơ

M1A=M1B Dừng khẩn cấp (phanh)

Trong thực tế ứng dụng này, động cơ DC chỉ cĩ dịng tải 200mA khi hoạt động bình thường, và lên đến tối đa 2A khi quá tải. Tuy nhiên cũng cần thiết kế một bộ điều khiển mở cĩ thể sử dụng cho các động cơ lên đến 4A.

Việc hạn chế dịng cho động cơ là rất cần thiết, cĩ nhiều tình huống khơng mong đợi xảy ra, vì vậy cần phải cĩ chế độ hạn dịng bằng phần mềm.

Trong các trường hợp nguy hiểm như ngắn mạch do va chạm, hoặc tuột dây nối, cần cĩ mạch bảo vệ chống ngắn mạch bằng phần cứng để đáp ứng kịp thời.

Cần điều khiển PWM ở tần số cao để tránh tiếng ồn do động cơ tạo ra, nhất là những tiếng kêu nghe rất rõ ở khoảng tần số 1KHz đến 3KHz. Bộ điều khiển PWM thơng thường được điều khiển ở 5KHz.Nối song song hai cầu H để điều khiển động cơ lên đến 4A.

Hình 3.12 : Sơ đồ giải pháp

L298 khơng cĩ Diode nội bảo vệ, do đĩ cần cĩ 4 Diode ngồi bảo vệ. Để đảm bảo điều khiển PWM ở tần số cao, cần dùng Diode nhanh cĩ điện trở thấp. Diode chuyên dụng để điều khiển động cơ là các Diode “fast recovery Schottky”. Nhưng ở tần số khoảng 5KHz vẫn cĩ thể dùng loại 1N4007.

Lưu ý rằng, khi hoạt động L298 rất nĩng, do vậy cần cần phải lắp miếng tản nhiệt. Hai chân RC0 và RC1 để điều khiển chiều quay của động cơ:

+ ) RC0 = 1 và RC1 = 0 quay thuận + ) RC0 = 0 và RC1 = 1 quay nghịch

+ ) RC0 = RC1 = 0 hoặc RC0 = RC1 = 1 động cơ dừng quay

Chân PWM được đưa vào chân Enable của L298, do vậy chỉ cần điều chỉnh độ lớn của

Dutycycle của PWM ta cĩ thể điều chỉnh được điện áp đầu ra của L298 đưa vào động cơ ( 0V : 12V ).

3.4 Cảm biến (Encoder)

Nguyên lý hoạt động của cảm biến encoder : có nhiều loại encoder khác nhau như : Encoder tiếp xúc, Encoder từ trường, Encoder quang (Encoder quang

tương đối và Encoder quang tuyệt đối). Mỗi loại lại có một nguyên lý hoạt động khác nhau, trong khuôn khổ báo cáo đồ án chỉ trình bày phần nguyên lý loại encoder sử dụng là Encoder quang tương đối ( incremental encoder).

Mô hình thứ 1

Hình 3.13 : Mơ hình1 - En coder quang tương đối

Incremental encoder về cơ bản là một đĩa tròn quay quanh một trục được đục lỗ như hình trên.

(adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.14 : Phương thức hoạt động Encoder quang tương đối

Ở 2 bên mặt của cái đĩa tròn đó, sẽ có một bộ thu phát quang. Trong quá trình encoder quay quanh trục, nếu gặp lỗ rống thì ánh sáng chiếu qua được, nếu gặp mãnh chắn thì tia sáng không chiếu quá được. Do đó tín hiệu nhận được từ sensor quang là một chuổi xung. Mỗi encoder được chế tạo sẽ biết sẵn số xung trên một vòng. Do đó ta có thể dùng vi điều khiển đếm số xung đó trong một đơn vị thời gian và tính ra tốc độ động cơ.

Cái encoder mà em sử dụng trong đồ án của mình, hoàn toàn giống với mô hình ở trên. Tuy nhiên, mô hình trên có nhược điểm lớn là : ta không thể xác định được động cơ quay trái hay quay phải, vì có quay theo chiều nào đi nữa thì chỉ có một dạng xung đưa ra. Ngoài ra điểm bắt đầu của động cơ, ta cũng không thể nào biết được.

Cải tiến mô hình 1 bằng mô hình 2 như sau: Mô hình thứ 2

Hình 3.15 : Mơ hình 2 -En coder quang tương đối

Trong mô hình này, người ta đục tất cả là 2 vòng lỗ. Vòng ngoài cùng giống như mô hình 1, vòng giữa pha so với vòng ngoài là 90 độ. Khi đó, dạng xung ra từ 2 vòng trên như sau :

Hình 3.16 : Sơ đồ xung của En coder quang tương đối(mơ hình 2)

Hai xung đưa ra từ 2 vòng lệch nhau 90 độ, nếu vòng ngoài nhanh pha hơn vòng trong thì chắc chắn động cơ quay từ trái sang phải và ngược lại.

Một lỗ ở vòng trong cùng dùng để phát hiện điểm bắt đầu của động cơ. Có thể viết chương trình cho vi điều khiển nhận biết : nếu có một xung phát ra từ vòng trong cùng này, tức là động cơ đã quay đúng một vòng.

Với những đặc tính trên, encoder dùng rất phổ biến trong việc xác định vị trí góc của động cơ…..

Vấn đề quan trọng trong việc tìm mua những loại động cơ có gắn encoder như thế này để làm đồ án đối với sinh viên là : cặp mắt quang 2 bên encoder để tạo xung thường bị chết và không có đồ thay thế.

Một loại encoder thứ 2 cũng phổ biến hiện nay, đó là :absolute encoder. Mô hình đĩa quang của loại này như sau:

Cách tính tốc độ động sơ sử dụng trong đồ án

đồ án động cơ được gắn Encoder 100 xung/vịng.

Hai kênh xung A và B được đưa vào hai chân ngắt của VĐK là INT1 , INT2. Ta thiết lập khi cĩ sườn xuống thì tạo ngắt. Do vậy tổng số xung trên 1 vịng sẽ được nhân đơi lên thành 200 xung.

Cách tính tốc độ : Tốc độ = (Counter*60)/(200*T) Ở đây:

T : là chu kỳ trích mẫu

Counter : là số xung đếm được trong khoảng thời gian T Trong đồ án sử dụng T = 0.02 s nên : Tốc độ = Counter * 15

3.5 Hệ thống điều khiển

Trên cơ sỏ thiết kế bộ điều khiển PID số chương 2 chúng ta cĩ thể khái quát hệ thống điều khiển động cơ điện một chiều cĩ dạng:

Hình 3.17 Sơ đồ hệ thốngđiều khiển động cơ

Hình 3.18 Cấu trúc hệ thống điều khiển

Cơ sở nguyên lý thực hiện sơ đồ điều khiển tốc độ động cơ :

- Thực hiện điều khiển động cơ bằng bộ điều khiển thiết kế cài dặt trên vi điều khiển.

- Sử dụng encoder quang tương đối dùng dể phản hồi tốc độ động cơ.

- Giao tiếp máy tính qua chuẩn RS232 thơng qua modul trên mcạh điều khiển hiển thị đặc tính hệ thống theo phương pháp điều chế độ rộng xung PWM. (adsbygoogle = window.adsbygoogle || []).push({});

- Trên mạch cĩ khối hiển thị LCD hiển thị các chế độ hoạt động động cơ cùng như các thơng số: tốc độ , điện áp điều khiển…

khin PIC

3.7 :Kết quả thực nghiệm Bộ điều khiển PI

Hình 3.20 Đặc tính với bộ điều khiển PI Bộ điều khiển PID

Hình 3.21 Đặc tính với bộ đièu khiển PID

Hình 3.22 Hệ thống khi cĩ nhiễu

Hình 3.23 Đặc tính khi hệ thống cĩ thay đỏi giá trị đặt

3.8 So sánh kết quả mơ phỏng và thực tế

Dựa trên kết quả mơ phỏng trên Matlab và trên giao diện chương trình ta cĩ thể đánh giá:

- Đặc tính hệ thống sau thực hiện bộ điều khiển là tương đối tốt đáp ứng chỉ tiêu chất lượng : độ quá điều chỉnh nhỏ, thịi gian qua độ nhỏ khồn 200-600ms

- Trên giao diện chương trình vẫn thấy rõ sai lệch so mơ phỏng Matlab: đặc tính chưa thật mịn, và vẫn tồn tại sai số so với tốc độ đặt khoảng sai số dao động từ 2% tới 10%.

Kết luận

Các kết quả đạt được

Trên cơ sở thiết kế phần cứng và phần mềm khi thực hiện đồ án đã đạt được một số kết quả sau:

- Về phần cứng: Tìm hiểu về vi điều khiển Pic

- Đi sâu tìm hiểu một số thuật tốn điều khiển như bộ điều khiển PID, bộ điều khiển mờ…

- Nhận dạng và mơ phỏng đối tượng điều khiển (động cơ một chièu kích từ độc lập) trên Matlab.

- Thiết kế kit phần cứng cho vi điều khiển Pic 18F4520 cĩ khả năng điều khiển nhiều đối tượng (động cơ một chiều. lị nhiệt…). với các thuật tốn điều khiển khác nhau

- Tạo được giao diện và giao tiếp được PC và vi điều khiển trung tâm

Một số điểm hạn chế

Trong gian đoạn làm đồ án, chúng em đã rất cố gắng nghiên cứu, thiết kế để cĩ được những kết quả đã nêu trên. Tuy nhiên do thời gian và kiến thức của chúng em cĩ hạn, mặt khác một số điều kiện về thiết bị khơng cho phép nên trong đồ án cịn những hạn chế :

- Sử dụng Encoder cĩ độ phân giải chưa cao nên vẫn gây ra nhiều sai số trong quá trình tính tốn.

- Pic 18F4520 là dịng vi điều khiển 8 bits cĩ tốc độ tính tốn và bộ nhớ chương trình khơng lớn nên khĩ áp dụng cho những bộ điều khiển cần nhiều bộ nhớ như : bộ điều khiển mờ...

- Kết quả thu được vẫn cĩ sai số so với mơ hình lý tưởng thiết kế trên Matlab. - Một số modul trên Kit chưa được khai thác. (adsbygoogle = window.adsbygoogle || []).push({});

Hướng khắc phục các điểm hạn chế

khắc phục sai số .

- Sử dụng dịng Pic 16 bits, 32 bits...

Hướng phát triển đề tài

- Thiết kế bộ điều khiển thích nghi PID, bộ điều khiển mờ học theo mơ hình mẫu : FMRLC, hoặc bộ điều khiển ứng dụng mạng Nơron.

Kết luận

- Mở rộng thêm các đối tượng thực mà Kit cĩ thể làm việc được như lị nhiệt, bình mức…

Do lí do về thời gian những lí do khách quan khác nên đồ án được thực hiện vẫn cịn nhiều khiếm khuyết. Chúng em rất mong nhận được nhũng ý kiến đĩng gĩp quý báu của các thầy cơ.

Một lần nữa, chúng em xin chân thành cảm ơn cơ giáo PGS.TS Phan Xuân Minh đã hướng dẫn chúng em tận tình trong quá trình thực hiện đồ án này.

Tài liệu tham khảo

1. Nguyễn Phùng Quang, Andreas Dittrich – Truyền động điện thơng minh – NXB KHKT, 2002

2. Nguyễn Tăng Cường, Phan Quốc Thắng – Cấu trúc và lập trình họ vi điều khiển 8051

3. Nguyễn Dỗn Phước : Lý thuyết điều khiển tuyến tính. Nhà xuất bản khoa học kỹ thuật, 2005

4. Nguyễn Phùng Quang : Matlab & Simulink dành cho kỹ sư điều khiển tự động. Nhà xuất bản khoa học kỹ thuật, 2005

5. Nguyễn Phùng Quang : Bài giảng điều kiển số 6. Nguyễn Văn Hồ : Tự động hố quá trình cơng nghệ 7. Hồng Minh Sơn : Điều khiển quá trình

8. Phạm Cơng Ngơ (chủ biên) : Tự học Visual C++ từ cơ bản đến nâng cao. Nhà

Một phần của tài liệu đồ án : Thiết kế bộ điều khiển PID SỐ TRÊN NỀN VI ĐIỀU KHIỂN PIC (Trang 84 - 129)