Nội Dung Bài Viết
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
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é.
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:
Download file
Bài viết các bạn có thể tham khảo:
- Lập trình Arduino sử dụng Matlab: Analog Input potentiometer
- Lập trình Arduino sử dụng Matlab: Điều khiển tốc độ động cơ bằng pot
- Lập trình Arduino sử dụng Matlab: Analog Output PWM