Lập trình GUI MATLAB điều khiển động cơ DC sử dụng cầu H L298D

Hai bài viết trước chúng ta đã được làm quen với cách tạo GUI MATLAB điều khiển LED và LED RGB thông qua việc sử dụng công cụ button, slider. Bài viết này tôi sẽ hướng dẫn các bạn tạo giao diện GUI MATLAB điều khiển động cơ DC. Để điều khiển được động cơ DC quay thuận, quay nghịch, dừng một cách đơn giản nhất nên dùng module mạch cầu H L298D. Qua bài viết này tôi sẽ tích hợp cả button push, slider và sử dụng thêm công cụ edit text để hiển thị giá trị từ slider.

Trước tiên, chúng ta phải lắp đặt phần cứng để thuận tiện cho việc sau này chạy thử chương trình điều khiển động cơ DC qua GUI MATLAB vừa tạo.

Kết nối phần cứng

Sơ đồ kết nối Arduino điều khiển động cơ qua L298

Để có thể lặp được mạch điều khiển động cơ như hình trên, các bạn cần chuẩn bị:

  • Bo Arduino Uno hoặc một bo Arduino nào khác
  • Module L298D
  • Motor DC
  • Nguồn: Nguồn pin, nguồn tổ ổng
  • Một số dây dẫn

Motor DC được nối vào kênh OUT1, OUT2 trên Module L298D. L298D nối với Arduino theo bảng sau:

Module L298DArduino Uno
EN1D3
IN1D4
IN2D5
GNDGND

Bảng giá trị logic của Module L298

QUAY THUẬND4 (LOW)D5 (HIGH)
QUAY NGHỊCHD4 (HIGH)D5 (LOW)
DỪNGD4 (LOW)D5 (LOW)
DỪNGD4 (HIGH)D5 (HIGH)

Sau khi lặp xong phần cứng, bây giờ bắt đầu tạo GUI MATLAB thôi nào.

Tạo GUI MATLAB

Mở MATLAB, tại cửa sổ Command Window gõ lệnh: >>guide –> chọn Black GUI.

Tại khu vực thiết kế GUI trong cửa sổ GUI, chúng ta tạo ra 3 button push. Một button cho chức năng quay thuận, một button cho chức năng quay nghịch và button còn lại cho chức năng dừng. Tạo một slider để điều khiển tốc độ động cơ DC và một edit text để hiển trị giá trị tốc động động cơ.

Thiết kế giao diện Matlab cho điều khiển động cơ

Sau khi tạo được giao diện như hình trên, ta tiến hành chỉnh thuộc tính cho từng đối tượng. Click chọn đối tượng –> Chuột phải –> Property Inspector.

Property Inspectorpushbutton1pushbutton2pushbutton3slideredit text
BackgroundColorblueyellowreddefaultdefault
FontSize121212default12
FontWeightboldboldbolddefaultbold
Maxdefaultdefaultdefault5default
Mindefaultdefaultdefault1default
StringQUAY THUẬNQUAY NGHỊCHSTOPdefault 
TagButton_QTButton_QNButton_SSlider_TDedit_Slider

Sau khi tùy chỉnh tất cá thuộc tính cho các đối tượng trên ta sẽ được giao diện như sau:

Giao diện GUI MATLAB cho điều khiển động cơ qua Arduino

Sau khi hoàn thành được giao diện trên, chúng ta nhấn ctrl+S để lưu GUI vừa tạo lại. Đặt tên cho GUI và Save lại, lúc này file .m được tạo ra và được mở sẵn trên cửa sổ MATLAB. Bây giờ, chuyển sang tùy chỉnh code cho các đối tượng.

Add code trong file .m

Tìm đến dòng function varargout trong file .m và thêm dòng clear all; và khai báo thêm một biến phần cứng cho Arduino.

Tìm đến đoạn code function Button_QT_Callback, thêm đoạn code được đánh dấu trong khung màu đỏ dưới đây.

Tiếp đến là function Button_QN_Callback

Tượng tư như vậy cho function Button_S_Callback

Như vậy là chúng ta vừa add code xong cho 3 button tương ứng với 3 chức năng quay thuận, quay nghịch và dừng. Tiếp theo, add code cho slider với chức năng điều khiển tốc độ động cơ và hiển thị giá trị tốc độ trên edit text. Các bạn thêm đoạn code như hình nhé.

Trong đoạn code này, câu lệnh Get (hObject, ‘Value’) sẽ trả về giá trị hiện tại của slider, giá trị này được gán cho biến TocDo.

Câu lệnh writePWMVoltage dùng để viết function PWM trong Arduino hardware từ MATLAB. Qua đó làm thay đổi điện áp vào chân EN1 và làm thay đổi tốc độ động cơ được điều khiển qua L298D.

Câu lệnh set(handles.edit_Slider,’string’,num2str(TocDo1)); dùng để hiển thị giá trị từ biến TocDo1 ra edit text. num2str() dùng để chuyển đổi giá trị biến TocDo1 ra kiểu string.

Chạy chương trình và kiểm tra

Sau khi add code cho file .m xong và Save nó lại. Chúng ta, kết nối Arduino với máy tính và nhấn RUN chạy chương trình GUI MATLAB. Đợi vài giây (Bạn để ý chữ busy ở dưới gốc trái cửa sổ MATLAB không xuất hiện là được). Sau đó, bạn kiểm tra các button chức năng có hoạt động đúng không nhé.

Đây là kết quả giao diện GUI sau khi RUN.

Lập trình GUI MATLAB điều khiển động cơ DC sử dụng cầu H L298D
Lập trình GUI MATLAB điều khiển động cơ DC sử dụng cầu H L298D

Chúc các bạn thành công!

Download file

GUI_DC_Control.fig & .m

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

2 bình luận về “Lập trình GUI MATLAB điều khiển động cơ DC sử dụng cầu H L298D”

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

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