У цьому уроці ми покажемо, як ми можемо рухати двигуни робота. Спочатку ми перевіряємо управління безпосередньо в MATLAB, щоб з’ясувати напрямок обертання окремих коліс. Пізніше ми перейдемо до Simulink і покажемо з'єднання окремих блоків, щоб ми могли керувати двигунами в інших завданнях.

Що нам буде потрібно?

Управління двигунами постійного струму

Підключення контролера двигуна постійного струму

  • Вхід + - (синій роз'єм) - живлення двигунів, від тримача батареї ми підключаємо червоний кабель до +, а чорний кабель до -
  • Вхід M1 (синій роз'єм) - підключення двигуна (позначається як M1)
  • Вхід M2 (синій роз'єм) - підключення двигуна (позначається як M2)
  • M1A та M1B - входи для управління двигуном M1, підключіть з'єднувальним кабелем до ШІМ-контактів (наприклад, D2 та D3)
  • M2A та M2B - входи для управління двигуном M2, підключіть до ШІМ-контактів (наприклад, D4 та D5) за допомогою з'єднувального кабелю
  • GND - земля контрольної частини, підключена до GND Arduino
  • 5В - джерело живлення керуючої частини, підключити до 5В Arduino

Ми ставимо жовту перемичку поруч з двигуном М2 у положення MP і +, щоб живити двигуни від акумуляторів, а не від Arduino. Якщо ви хочете змінити напрямок обертання двигуна M1 або M2, знову підключіть кабелі в роз'ємах. Наприклад, з'єднання може виглядати так:

Вхід синій

Управління двигунами від MATLAB

Спробуємо встановити 3В на цифровий штифт D2 на одну секунду, а потім зупинити двигун

Управління двигуном від Simulink

Спочатку ми використаємо 2 блоки для управління двигунами від Simulink

  • Simulink - Джерела - Постійне
  • Пакет підтримки Simulink для апаратного забезпечення Arduino - загальний - ШІМ

Запустіть модель за допомогою кнопки Monitor & Tune, і під час запуску моделювання ви можете змінювати швидкість руху окремих двигунів в діапазоні 0 - 255. В експериментах ви можете помітити, що з комбінації входів M1A/M1B та M2A/M2B лише один двигун вхід може мати ненульове значення в один момент М1 і одне для двигуна М2.

  • Simulink - Math - Abs
  • Simulink - Маршрутизація сигналу - комутатор
  • Simulink - Маршрутизація сигналу - Mux
  • Simulink - Маршрутизація сигналів - Demux

У цьому посібнику ми показали, як ми можемо керувати двигунами за допомогою Simulink. Але як ми можемо створити послідовність операцій? Піти вперед на деякий час, а потім повернутися вбік? MATLAB та Simulink містять розширення для моделювання послідовності операцій, і ми покажемо це в наступному посібнику.