Tài liệu: Điều khiển động cơ dc với pid số trên dspic 33fj64gp802

Tài liệu nghiên cứu Điều khiển động cơ dc với pid số trên dspic 33fj64gp802, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Người đăng

Ẩn danh

Thể loại

Đồ Án
69
3
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Điều khiển Động cơ DC với PID Số

Điều khiển động cơ DC bằng bộ điều khiển PID số là một trong những ứng dụng quan trọng trong tự động hóa hiện đại. PID (Proportional-Integral-Derivative) là thuật toán điều khiển phổ biến nhất, được sử dụng để điều chỉnh tốc độ và vị trí của động cơ DC một cách chính xác. Phương pháp này kết hợp ba thành phần: sai lệch tỷ lệ, tích lũy sai lệch và đạo hàm sai lệch, giúp hệ thống đạt được hiệu suất tối ưu.

1.1. Khái niệm cơ bản về bộ điều khiển PID

Bộ điều khiển PID là một hệ thống phản hồi âm giúp giảm thiểu sai lệch giữa giá trị mong muốn và giá trị thực tế. Ba thành phần chính gồm: P (Proportional) điều chỉnh dựa trên sai lệch hiện tại, I (Integral) tích lũy sai lệch theo thời gian, và D (Derivative) dự đoán xu hướng sai lệch trong tương lai.

II. Nguyên lý hoạt động của Điều khiển PID Số trên Động cơ DC

Nguyên lý hoạt động dựa trên việc đo lường sai số giữa tín hiệu tham chiếu và tín hiệu phản hồi từ cảm biến. Bộ vi xử lý sẽ tính toán tín hiệu điều khiển dựa trên công thức PID và gửi đến mạch điều khiển công suất để điều chỉnh điện áp cấp cho động cơ. Quá trình này lặp lại liên tục với tần số lấy mẫu định trước, đảm bảo động cơ hoạt động ổn định.

2.1. Cấu trúc hệ thống điều khiển

Hệ thống gồm: cảm biến (encoder hoặc tachometer), bộ vi xử lý (PLC, Arduino, STM32), mạch điều khiển công suất (PWM driver), và động cơ DC. Tín hiệu từ cảm biến được đưa vào vi xử lý, tính toán giá trị PID, rồi phát ra tín hiệu PWM để điều khiển tốc độ động cơ một cách liên tục và chính xác.

III. Phương pháp Điều chỉnh thông số PID

Điều chỉnh thông số PID là bước quan trọng nhất để đảm bảo hiệu suất tối ưu. Có nhiều phương pháp điều chỉnh như Ziegler-Nichols, Cohen-Coon, hoặc điều chỉnh thủ công. Mục tiêu là tìm ra các hệ số Kp, Ki, Kd phù hợp sao cho hệ thống vừa nhanh chóng đáp ứng, vừa ổn định mà không gây overshoot quá lớn.

3.1. Phương pháp Ziegler Nichols

Phương pháp này bắt đầu bằng cách tăng Kp cho đến khi hệ thống dao động liên tục. Ghi lại giá trị Kp tới hạn (Kcr) và chu kỳ dao động (Pcr), sau đó sử dụng các công thức tính toán để xác định Kp, Ki, Kd. Phương pháp này hiệu quả và được sử dụng rộng rãi trong thực tế.

IV. Ứng dụng thực tế và các lưu ý khi triển khai

Điều khiển động cơ DC với PID số được ứng dụng trong robot, hệ thống tự động hóa, máy CNC, và các thiết bị công nghiệp. Khi triển khai, cần chú ý đến tần số lấy mẫu, độ chính xác của cảm biến, độ trễ hệ thống, và chịu tải động cơ. Kiểm tra kỹ lưỡng và hiệu chuẩn các thông số đảm bảo hệ thống hoạt động an toàn và hiệu quả.

4.1. Các lưu ý quan trọng trong triển khai

Lựa chọn cảm biến phù hợp với yêu cầu độ chính xác, đảm bảo mạch điều khiển công suất đủ khả năng, sử dụng tần số lấy mẫu cao để giảm độ trễ. Thêm bộ lọc để loại bỏ nhiễu, bảo vệ động cơ khỏi quá tải, và thử nghiệm kỹ trước khi đưa vào sử dụng thực tế.

01/01/2026

Trích đoạn nội dung tài liệu

Chương I: GIỚI THIỆU VỀ DSPIC 33FJ64GP802 1.1 GIỚI THIỆU HỌ VI ĐIỀU KHIỂN DSPIC 33FJ64GP SƠ ĐỒ CHÂN & CẤU TRÚC BÊN TRONG DSPIC 33FJ64GP802 1.1 Giới thiệu về họ vi điều khiển DSPIC 33FJ64GP Họ vi điều khiển DSPIC 33FJ64GP là họ vi điều khiển chuẩn CMOS 16 bit (high performance, 16- Bit digital signal controllers),với CPU được chế tạo theo cấu trúc Harvard (có vùng nhớ riêng cho chương trình (mã) và dữ liệu).Họ vi điều khiển DSPIC 33FJ64GP mang đầy đủ các đặc tính của một dòng vi điều khiển thông thường (I/O port,timer,interrupt,UART…).Nhưng đặc biệt so với các dòng vi điều khiển khác như 8051,hay AVR thì DSPIC 33FJ64GP có nhưng thế mạnh sau:  Bộ dao động của DSPIC thông qua bộ chia (nhân tần số) PLL, sau đó dùng 2 chu kỳ để thực hiện 1 lệnh,ở DSPIC cho phép tần số dao động tối đa là 80Mhz chạy ở tối đa 40MIPS nên tốc độ xử lý (1 chu kỳ máy là 0.05µs) nhanh hơn rất nhiều so với PIC 16F887 và 8051,cũng như khả năng nhân tần số thông qua bộ chia có thể giúp ta thay đổi tần số dao động.  Tập lệnh rút gọn,với trình biên dịch C làm tối ưu hóa giải thuật,ngoài ra DSPIC rất mạnh về khả năng xử lý số với 2 module lớn là DAC (audio digital to analog converter) và DCI (data converter interface).  Ngoài ra họ vi điều khiển DSPIC 33FJ64GP còn cho phép nhiều module giao tiếp (communication Modules) như SPI (hỗ trợ 8-bit và 16-bit với giao diện I/O đơn giản),I2C,UART,truyền thông CAN(ECANTM module).2 Giới thiệu về DSPIC 33FJ64GP802 Là một trong nhưng vi điều khiển thuộc họ DSPIC 33F,nên ngoài những đặc tính có được đã nêu ở trên thì đối với 33FJ64GP802 còn có những đặc điểm sau: + Số chân: 28 + Bộ nhớ chương trình (program flash memory): 64Kbyte + Ram: 16Kbyte + Số chân có thể remap (remappable pins): 16 + UART : 2 + Ngắt ngoài (external Interrupts) :3 + ADC (10-bit/12-bit) :10 SVTH: LÊ VĂN QUÝ - ĐINH QUANG TRƯỜNG – TRẦN VĂN VINH Trang4 ĐỒ ÁN 1 GVHD:TS.HUỲNH THÁI HOÀNG + I/O pins : 21 + Timer : 5 (16 bit) Để có thể thấy được tính năng nổi trội và sự hơn hẳn của DSPIC 33FJ64GP802 ta có bảng so sanh sau với một số vi điều khiển đã học Program Data Memory Device Memory SRAM EEP I/O A/D Operating Timer Interrrupt P Communication /RAM ROM Range W Modules Flash M (byte) / ROM 8051 128 4Kbyte 32 0 1MIPS 2 6 0 1 UART PIC 4Kbyte 256 256byte 18 12 5MIPS 3 4 1UART,1SPI, 16F690 1 I2C DSPIC 64Kbyte 16K 21 10 40MIPS 5 49 4 2UART,2SPI, 33FJ64 (10- 1ECAN,1 I2CTM GP802 bit/12- bit 1.3 Sơ đồ chân DSPIC 33FJ64GP802 Hình 1.1  Từ sơ đồ chân ở trên ta thấy : + DSPIC 33FJ64GP802 có tất cả 28 chân,có 2 loại là loại linh kiện dán hoặc chân. + DSPIC 33FJ64GP802 có 2 PORT I/O : PORT A,PORT B,PORT C.Trong đó PORTA gồm các chân : RA0÷RA4,trong đó PORT B gồm các chân : RB0÷RB15.Ngoài ra còn có thêm 15 chân remapable pin từ RP0(1) ÷ RP15(1).

SVTH: LÊ VĂN QUÝ - ĐINH QUANG TRƯỜNG – TRẦN VĂN VINH Trang5 ĐỒ ÁN 1 GVHD:TS.HUỲNH THÁI HOÀNG + DSPIC 33FJ64GP802 sử dụng thạch anh (Crystal) gắn bên ngoài có tầm từ 3Mhz đến 10Mhz,còn nếu dùng thạch anh tốc độ cao (high speed crystal) có tầm từ 10Mhz-40Mhz. + Kết nối phần cứng bên ngoài của DSPIC 33FJ64GP802 trong mạch được thực hiên như sau (theo datasheet).2 Dựa vào hình vẽ trên (hình 1.2) ta có thể thiết kế phần cứng cho mạch,nhưng trước hết ta cần xác định các giá trị R1,R và tụ C,các giá trị tụ nối giữa AVDD – AVSS. Theo datasheet ta có được - Tụ nối giữa VCAP /VDDCORE và Ground có tác dụng ổn định điện áp ngõ ra và chân này (VCAP / VDDCORE) không được nối với VDD và có giá trị từ 4. - Các tụ nối giữa các cặp chân cung cấp nguồn như VDD,VSS,AVDD và AVSS có giá trị thích hợp là 0.Các tụ này nên mắc gần các chân càng tốt hơn trong quá trình lọc.

- Đối với cách kết nối ngõ vào chân RESET (MCLR) SVTH: LÊ VĂN QUÝ - ĐINH QUANG TRƯỜNG – TRẦN VĂN VINH Trang6 ĐỒ ÁN 1 GVHD:TS.HUỲNH THÁI HOÀNG Hình 1.3 - Với giá trị R ≤ 10 kΩ (R = 10kΩ) là thích hợp cùng vơi đó là giá trị của R1,theo datasheet ta thấy R1 ≤ 470Ω (R = 470Ω) có tác dụng hạn dòng,còn lại tụ C ở đây vơi giá trị thích hợp là 0.1µF (tụ 104) là thích hợp.4 Mô tả chân I/O của DSPIC 33FJ64GP802 Tên Chân Loại chân Loại bộ đệm Mô tả (Pin Name) (Pin Type) (Buffer type) AN0-AN12 I Analog Những kênh ngõ vào analog CLKI I ST/CMOS Ngõ vào của bộ dao động CLKO O ST/CMOS ngoài,luôn kết nối với chân OSC1-2 INT0-INT2 I ST Ngắt ngoài 0-2 RA0-RA4 I/O ST PORTA RB0-RB15 I/O ST PORTB T1CK-T5CK I Ngõ vào timer 1-timer 5(với external clock) MCLR I/P ST Ngõ Reset AVDD P P Nối V+ nguồn cung cấp (3.3V) U1CTS I ST Ngõ vào UART1 xóa để nhận U1RTS O ST Ngõ ra UART1 sẵn sàng nhận U1RX I ST Ngõ vào UART1 nhận U1TX O ST Ngõ ra UART1 truyền đi CVREF O ANA Ngõ ra so sánh điện áp C1RX I ST Ngõ vào nhận ECAN1 C1TX O ST Ngõ ra truyền đi ECAN1 SVTH: LÊ VĂN QUÝ - ĐINH QUANG TRƯỜNG – TRẦN VĂN VINH Trang7 ĐỒ ÁN 1 GVHD:TS.HUỲNH THÁI HOÀNG 1.5 Cấu trúc bên trong DSPIC 33FJ64GP802 Từ cấu trúc bên trong họ vi điều khiển 33FJ64GPX02 ta có thể thấy được rằng: + Các chân lấy từ vi điều khiển có 2 loại là: Một là các chân ở dạng remappable pins,và các PORT (A,B,C) thực hiện các chức năng I/O hoặc khác + Sử dụng 2 đường Bus dữ liệu là : X data bus,Y data bus.Trong đó X data bus nối với các PORT và ngõ interrupt controller đồng thời kết nối với bộ đếm chương trình Programmer counter, data latch.Còn Y data bus nối với DMA RAM từ DMA RAM nối với DMA Controller nối kết với các PORT và Remappable Pins của vi điều khiển.4 SVTH: LÊ VĂN QUÝ - ĐINH QUANG TRƯỜNG – TRẦN VĂN VINH Trang8 ĐỒ ÁN 1 GVHD:TS.HUỲNH THÁI HOÀNG 1.6 Cấu hình Bộ dao động cho chip - Có 2 sự lựa chọn cho bộ định thời trên chíp (nguồn xung nhịp) là bộ dao động nội và bộ dao động ngoại. - Bộ PLL ( Phase-Locked Loop) trên chip dùng để định tầm cho tần số thực thi cũng như định tần số xung nhịp cần thiết cho hệ thống. - Bộ dao động FRC có thể được dùng với bộ PLL trên chip có thể cho phép chip thực thi lệnh với tốc độ tối đa mà không cần bất cứ nguồn xung nhịp nào bên ngoài. - Thanh ghi điều khiển nguồn xung nhịp là OSCON Hình 1.5 DSPIC 33FJ64GP802 cung cấp cho ta 7 chế độ lựa chọn xung nhịp: - Bộ dao động nhanh RC (FRC) - Bộ dao động FRC kết hợp với Phase Locked Loop (PLL) - Bộ dao động chính (XT,HS hoặc EC) - Bộ dao động với PLL - Bộ dao động phụ (LP) - Bộ dao động nguồn thấp RC (LPRC) SVTH: LÊ VĂN QUÝ - ĐINH QUANG TRƯỜNG – TRẦN VĂN VINH Trang9 ĐỒ ÁN 1 GVHD:TS.HUỲNH THÁI HOÀNG - Bộ dao động FRC với postscaler  Việc lựa chọn bộ định thời cho hệ thống: Thiết lập cấu hình những bit cho bộ dao động được đặt trong thanh ghi cấu hình trong bộ nhớ chương trình.Trong đó: +Những bits cấu hình lựa chọn dao động tức thời FNOSC<2:0> + Những bits lập nên chế độ dao động chính là POSCMD<1:0> + Những bits cho phép người dùng lựa chọn trong 12 bộ xung nhịp  Ngõ ra bộ dao động (hoặc ngõ ra của PLL nếu ngõ này được chọn) là FOSC được chia cho 2 để tạo ra chỉ dẫn thiết bị xung nhịp (FCY) và xung nhịp biên (FP).FCY sẽ xác định tốc độ thực thi lệnh của thiết bị và tốc độ đó có thể tăng lên 40MHz.

 Một trong những điều chúng ta cần lưu ý trong việc viết chương trình cho DSPIC 33FJ64GP802 là việc CONFIG các tính năng hay các hàm header,trong đó có việc CONFIG cấu hình của PLL.Chúng ta cần biết là:Bộ PLL trên chip cũng cấp khả năng linh hoạt cao trong việc lựa chọn tốc độ thực hiện lệnh.Có thể tham khảo theo sơ đồ dưới (Hình 1.6) o Ngõ ra của bộ dao động chính hoặc FRC,bao hàm trong đó là “FIN”,được chia cho cho chỉ số định tầm N1 có giá trị từ 2,3…33 trước khi được cung cấp bởi điện áp điều khiển dao động PLL(VCO- voltage controlled Oscillator).Ngõ vào của VCO phải được lựa chọn trong tầm 0.8Mhz đến 8Mhz. o Bộ chia hồi tiếp cung cấp bởi chỉ số ‘M’.Chỉ tiêu này được lựa chọn là để cho tần số VCO ngõ ra nằm trong tần số 100Mhz -200Mhz o Ngõ ra VCO sau cùng được chia cho chỉ số N2.’N2’ có thể là 2,4,8 và phải được chọn sao cho ngõ ra tần số PLL nằm trong tầm 12.5Mhz đến 80Mhz,để tạo ra tốc độ thực thi lệnh từ 6.25-40MIPS Vd: Như cho tần số của thạch anh là 10Mhz được dùng để chọn chế độ dao động là XT với PLL Nếu PLLPRE<4:0> = 0 thì N1 = 2 lúc này ngõ vào VCO là 10/2 = 5 Mhz thuộc khoảng 0.8 – 8Mhz (thỏa) Nếu PLLDIV<8:0> = 0x1E thì M = 32 lúc này thì ngõ ra VCO là 5 x 32 = 160 Mhz cũng thuộc trong khoảng 100-200 Mhz SVTH: LÊ VĂN QUÝ - ĐINH QUANG TRƯỜNG – TRẦN VĂN VINH Trang10 ĐỒ ÁN 1 GVHD:TS.HUỲNH THÁI HOÀNG Nếu PLLPOST<1:0> = 0 thì N2 = 2.Lúc này cung cấp cho FOSC là 160/2 = 80Mhz.Thì kết quả tốc độ xử lý lệnh là 80/2 = 40MIPS Hình 1.2 TỔ CHỨC BỘ NHỚ VÀ VÙNG ĐỊA CHỈ BÊN TRONG DSPIC 33FJ64GP802 1.1 Tổ chức bộ nhớ chương trình Không gian bộ nhớ chương trình được tổ chức thành từng khối word địa chỉ.Mặc dầu nó có được tạo bởi 24bits,nhưng những khối word địa chỉ này dễ dàng tương thích cho truy cập mỗi địa chỉ bộ nhớ chương trình tại vùng word thấp và word cao (lower word và upper word).Word thấp luôn đặt ở địa chỉ chẵn còn word cao đặt ở địa chỉ lẻ.1) Địa chỉ bộ nhớ chương trình thường là những word xếp gọn trên vùng word thấp và những địa chỉ được tăng lên hoặc giảm đi trong quá trình code thực thi.Việc sắp xếp này mang lại sự tương thích với không gian địa chỉ dữ liệu bộ nhớ và dữ liệu chương trình được truy cập dễ dàng.1 SVTH: LÊ VĂN QUÝ - ĐINH QUANG TRƯỜNG – TRẦN VĂN VINH Trang11 ĐỒ ÁN 1 GVHD:TS.HUỲNH THÁI HOÀNG 1.2 Vùng địa chỉ dữ liệu DSPIC 33FJ64GP802 có vùng địa chỉ phân chia 16-bit-wide dữ liệu. Vùng địa chỉ dùng AGUs (Address Generation Units) để thực hiện các tác vụ đọc và ghi.Sơ đồ bộ nhớ dữ liệu và truy cập được thể hiện qua hình dưới (Hình 2.Tất cả vùng địa chỉ tích cực (EAs) trong vùng địa chỉ dữ liệu rộng 16bits và chỉ đến những bytes trong vùng đó.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ