- Създаване на графичен потребителски интерфейс MATLAB за управление на DC мотор
- MATLAB код за управление на DC двигател с Arduino
- Необходим материал
- Електрическа схема
- Управление на DC мотор с MATLAB
В този урок ще ви покажем как да управлявате DC мотора с помощта на MATLB и Arduino. Ако сте нов с MATLAB, препоръчително е да започнете с проста програма за мигане на LED с MATLAB.
Създаване на графичен потребителски интерфейс MATLAB за управление на DC мотор
След приключване на настройката с Arduino за MATLAB, трябва да изградим GUI (графичен потребителски интерфейс) за управление на DC мотора. За да стартирате GUI, въведете командата по-долу в командния прозорец
ръководство
Ще се отвори изскачащ прозорец, след което изберете нов празен GUI, както е показано на изображението по-долу,
Сега изберете три бутона за въртене по посока на часовниковата стрелка, въртене срещу часовниковата стрелка и СТОП, както е показано по-долу,
За да промените размера или да промените формата на бутона, просто кликнете върху него и ще можете да плъзнете ъглите на бутона. Чрез двукратно щракване върху бутона можете да промените цвета, низа и етикета на този конкретен бутон. Ние сме персонализирали три бутона, както е показано на снимката по-долу.
Можете да персонализирате бутоните според вашия избор. Сега, когато запазите това, в прозореца на редактора на MATLAB се генерира код. За да кодирате вашия Arduino за изпълнение на някаква задача, свързана с вашия проект, винаги трябва да редактирате този генериран код. Така че по-долу сме редактирали кода MATLAB.
MATLAB код за управление на DC двигател с Arduino
Пълният код на MATLAB, след като го редактирате за управление на мотора с постоянен ток, е даден в края на този проект. Освен това тук включваме GUI файла (.fig) и кодовия файл (.m) за изтегляне, с помощта на който можете да персонализирате бутоните според вашите изисквания. По-долу има някои ощипвания, които направихме за завъртане на DC мотора по посока на часовниковата стрелка, обратно на часовниковата стрелка и спиране с помощта на три бутона.
Копирайте и поставете долния код на ред №. 74, за да се уверите, че Arduino говори с MATLAB всеки път, когато стартирате m-файла.
изчисти всичко; глобален a; a = arduino ();
Когато превъртите надолу, ще видите, че има три функции за всеки бутон в GUI. Сега напишете кода във всяка функция според задачата, която искате да изпълните при щракване.
Във функцията на бутона по часовниковата стрелка копирайте и поставете долния код точно преди крайните скоби на функцията, за да завъртите мотора по посока на часовниковата стрелка. Тук даваме HIGH на щифт 6 и LOW на щифт 5, за да завъртим двигателя в посока на часовниковата стрелка.
глобален a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); пауза (0,5);
Сега във функцията на бутона против часовниковата стрелка поставете долния код в края на функцията, за да завъртите двигателя в посока, обратна на часовниковата стрелка. Тук даваме HIGH на щифт 5 и LOW на щифт 6, за да завъртим двигателя в посока, обратна на часовниковата стрелка.
глобален a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); пауза (0,5);
Накрая във функцията на бутона СТОП поставете долния код в края, за да спрете въртенето на двигателя. Тук даваме LOW и на щифтове 5 и 6, за да спрем двигателя.
глобален a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); пауза (0,5);
Необходим материал
- MATLAB инсталиран лаптоп (Предпочитание: R2016a или по-нови версии)
- Arduino UNO
- DC мотор
- L293D - двигател
Електрическа схема
Управление на DC мотор с MATLAB
След като настроите хардуера според схемата, просто кликнете върху бутона за изпълнение, за да стартирате редактирания код във.m файл
MATLAB може да отнеме няколко секунди, за да отговори, не кликвайте върху който и да е бутон на GUI, докато MATLAB не покаже индикация зает, което можете да видите в долния ляв ъгъл на екрана, както е показано по-долу,
Когато всичко е готово, щракнете върху бутона по посока на часовниковата стрелка или обратно на часовниковата стрелка, за да завъртите двигателя. Когато натиснете бутона по посока на часовниковата стрелка, текущият поток през Pin 6 до Pin 5 и двигателят ще се завърти по посока на часовниковата стрелка, докато в посока обратно на часовниковата стрелка токът преминава през Pin 5 към Pin 6 и двигателят ще се завърти по посока на часовниковата стрелка. За да спрете въртенето на DC мотора, натиснете бутона STOP. Същият метод може да се използва за управление на сервомотора с помощта на MATLAB, просто трябва да редактираме съответно кода. Можете да разгледате видеоклипа по-долу, за да разберете пълния процес на управление на двигателя MATLAB DC с помощта на Arduino.