În acest tutorial vom arăta cum putem deplasa motoarele robotului. Mai întâi testăm controlul direct în MATLAB pentru a afla direcția de rotație a roților individuale. Mai târziu vom merge la Simulink și vom arăta conexiunea blocurilor individuale, astfel încât să putem controla motoarele în alte sarcini.

De ce vom avea nevoie?

Controlul motoarelor de curent continuu

Conexiune controler motor DC

  • Intrare + - (conector albastru) - sursa de alimentare a motoarelor, de la suportul bateriei conectăm cablul roșu la + și cablul negru la -
  • Intrare M1 (conector albastru) - conexiune motor (notată ca M1)
  • Intrare M2 (conector albastru) - conexiune motor (notată ca M2)
  • M1A și M1B - intrări pentru controlul motorului M1, conectați cu cablul de conectare la pinii PWM (de exemplu, D2 și D3)
  • M2A și M2B - intrări pentru controlul motorului M2, conectați la pinii PWM (de exemplu, D4 și D5) cu un cablu de conectare
  • GND - masă a părții de control, conectați-vă la GND Arduino
  • 5V - sursa de alimentare a piesei de control, conectați-vă la 5V Arduino

Punem jumperul galben lângă motorul M2 în pozițiile MP și +, astfel încât să alimentăm motoarele din baterii și nu din Arduino. Dacă doriți să schimbați direcția de rotație a motorului M1 sau M2, reconectați cablurile din conectori. De exemplu, conexiunea ar putea arăta astfel:

manuale

Controlul motoarelor de la MATLAB

Să încercăm să setăm 3V la pinul digital D2 pentru o secundă și apoi să oprim motorul

Controlul motorului de la Simulink

Mai întâi vom folosi 2 blocuri pentru a controla motoarele de la Simulink

  • Simulink - Surse - Constant
  • Pachet de asistență Simulink pentru hardware Arduino - Comun - PWM

Porniți modelul cu butonul Monitor & Tune și în timpul rulării de simulare puteți modifica viteza motoarelor individuale în intervalul 0 - 255. În experimente puteți observa că din combinația de intrări M1A/M1B și M2A/M2B doar un singur motor intrarea poate avea o valoare diferită de zero într-un moment M1 și una pentru motorul M2.

  • Simulink - Matematică - Abs
  • Simulink - Rutare semnal - Comutator
  • Simulink - Rutare semnal - Mux
  • Simulink - Rutare semnal - Demux

În acest manual am arătat cum putem controla motoarele folosind Simulink. Dar cum putem crea o succesiune de operații? Mergeți înainte și apoi vă întoarceți într-o parte? MATLAB și Simulink conțin o extensie pentru modelarea secvenței de operații și o vom arăta în manualul următor.