В този урок ще покажем как можем да движим двигателите на робота. Първо тестваме управлението директно в MATLAB, за да разберем посоката на въртене на отделните колела. По-късно ще отидем на Simulink и ще покажем връзката на отделни блокове, за да можем да управляваме двигателите при други задачи.
Какво ще ни трябва?
Управление на постояннотокови двигатели
Връзка на контролера за постоянен ток
- Вход + - (син конектор) - захранване на двигатели, от държача на батерията свързваме червения кабел към +, а черния кабел към -
- Вход M1 (син конектор) - връзка на двигателя (обозначена като M1)
- Вход M2 (син конектор) - връзка на мотора (обозначена като M2)
- M1A и M1B - входове за управление на двигателя M1, свържете със свързващ кабел към PWM щифтове (напр. D2 и D3)
- M2A и M2B - входове за управление на мотора M2, свържете към PWM щифтовете (напр. D4 и D5) чрез свързващ кабел
- GND - земя на контролната част, свържете се към GND Arduino
- 5V - захранване на управляващата част, свържете се към 5V Arduino
Поставяме жълтия джъмпер до мотора M2 в позициите MP и +, така че да захранваме двигателите от батерии, а не от Arduino. Ако искате да промените посоката на въртене на двигателя M1 или M2, свържете отново кабелите в съединителите. Например връзката може да изглежда така:
Управление на двигатели от MATLAB
Нека се опитаме да настроим 3V на цифров щифт D2 за една секунда и след това да спрем двигателя
Управление на двигателя от Simulink
Първо ще използваме 2 блока за управление на двигателите от Simulink
- Simulink - Източници - Постоянна
- Пакет за поддръжка на Simulink за хардуер Arduino - Често - PWM
Стартирайте модела с бутона Monitor & Tune и по време на симулационния цикъл можете да променяте скоростите на отделни двигатели в диапазона 0 - 255. В експериментите можете да забележите, че от комбинацията на входовете M1A/M1B и M2A/M2B само един двигател входът може да има ненулева стойност в един момент M1 и една за двигателя M2.
- Simulink - математика - абс
- Simulink - маршрутизация на сигнала - превключвател
- Simulink - Маршрутизация на сигнала - Mux
- Simulink - маршрутизация на сигнала - Demux
В това ръководство показахме как можем да управляваме двигатели, използвайки Simulink. Но как можем да създадем последователност от операции? Продължете за малко и след това се обърнете на една страна? MATLAB и Simulink съдържат разширение за моделиране на последователността на операциите и ние ще го покажем в следващото ръководство.