Lập trình Matlab cho Arduino: Làm việc với PWM

Bài viết này sẽ giải thích làm thế nào để làm việc với chân PWM, analog Input trên board Arduino khi dùng MATLAB.

Matlab hỗ trợ lập trình trên board Arduino cung cấp 5 function cho chúng ta dùng để xử lý analogl I/O. Tìm hiểu xem 5 function này là gì nhé?

Các function cơ bản

configurePin(): tương ứng pinMode() bên Arduino IDE dùng để định nghĩa chân pin mode input hay output.

Tham khảo: 

writePWMVoltage(): dùng để write PWM voltage trên chân digital.

Tham khảo:

writePWMDutyCycle(): được dùng để set PWM duty cycle trên chân digital.

Tham khảo:

readVoltage(): dùng để read analog trên chân analog.

Tham khảo:

Bài viết này chúng ta sẽ tiếp cận với Arduino Analog I/O khi sử dụng MATLAB. Chúng ta sẽ viết chương trình minh họa: Điều khiển tốc độ động cơ bằng L298D

Chương trình Demo: Điều khiển tốc độ động cơ bằng L298

Chương trình này sẽ xuất xung PWM làm cho động cơ từ đứng yến đến chạy nhanh dần rồi dừng rồi chạy nhanh dần,….

Sơ đồ nối dây

Sơ đồ kết nối điều khiển tốc độ động cơ bằng L298 với Arduino trên Matlab

Viết chương trình

Tạo một Script mời và viết đoạn chương trình dưới đây vào nhé.

Code chương trình điều khiển tốc độ động cơ bằng Matlab

Save chương trình lại với tên: control_speed_motor.

Trong chương trình

writeDigitalPin(board,IN1,1);
writeDigitalPin(board,IN2,0);

2 dòng lệnh này dùng để set chiều động cơ

for k=0:5
writePWMVoltage(board,EN,k);
pause(0.5);
end

Đoạn code for dùng để điều xung PWM trên Arduino tạo điện áp đầu ra chân EN từ 0-5V tương ứng k chạy từ 0 đến 5.

Chạy chương trình và xem kết quả

Tại cửa sổ Command Window trên Matlab, các bạn gõ lệnh:

>> control_speed_motor –> Enter

Video kết quả chạy chương trình:

https://youtu.be/NIoAuBHyf9E

Download file

control_speed_motor.m

Bài viết các bạn có thể tham khảo:

Viết một bình luận

This site uses Akismet to reduce spam. Learn how your comment data is processed.