4. Controlul motorului DC


Controlul vitezei motorului DC prin LabVIEW și Arduino: În articolul nostru precedent am văzut cum să programați Arduino cu LabVIEW. Scriem primul nostru program în care am controlat LED-ul conectat la pinul 13 al plăcii Arduino UNO cu un push-buton creat în LabVIEW. În tutorialul de astăzi vom face un pas înainte și vom vedea cum să controlăm viteza motorului DC prin LabVIEW și Arduino. Vom începe să construim VI-ul de la zero și apoi să controlăm viteza și direcția motorului DC din interfața grafică LabVIEW. Dacă nu știți despre LabVIEW, vă sugerăm să verificați această postare pe Început cu LabVIEW și Arduino cu LabVIEW.

dc controlul vitezei motorului cu Labview și Arduino

Componente pentru controlul vitezei motorului cu LabVIEW

Evaluarea 5V este necesară pentru a putea fi alimentată direct de la sursa de alimentare disponibilă pe placa Arduino. Dacă utilizați un motor cu valori ridicate de curent și de tensiune, va trebui să modificați puțin circuitele de antrenare a motorului.

Acest driver de motor este un cip special conceput pentru controlul direcției motorului. Puteți să utilizați Arduino Shield pentru acest scop, care are deja astfel de cipuri integrate. Dar va trebui să modificați codul în cazul în care utilizați scutul în loc de cip.

    • breadboard

    • Jumper Wires

Cerințe software:

    • LabVIEW

    • Arduino, interfațare pentru LabVIEW

Dacă nu ați instalat aceste programe, vă puteți referi la tutorialul anterior.

Schema de conexiuni:

În această secțiune vom prezenta procesul pas cu pas pentru a conecta circuitul.

    1. Puneți driver-ul de motor L293D în placa de testare. Ar trebui să fie plasat în mijloc, astfel ca ambele laturi ale pinilor să nu fie scurtcircuitate.

Aici este configurația pinilor driverului de motor L293D.

    1. Conectați pinul 8 și pinul 16 cu alimentarea de 5V.

    2. Conectați pinul 4 sau 5 cu masa lui 5V.

    3. Conectați pinul Arduino numărul 4 cu pinul 7 din L293D.

    4. Conectați pinul Arduino numărul 5 cu pinul 2 al lui L293D.

    5. Conectați pinul Arduino numărul 6 cu pinul 1 al lui L293D.

    6. Conectați pinul 3 al L293D la un terminal al motorului.

    7. Conectați pinul 6 al L293D la celălalt terminal al motorului.

După aceasta, am terminat cu circuitul acestui proiect, acum putem trece la următorul pas, care este software-ul LabVIEW.

Programul LabVIEW pentru controlul vitezei și direcției motorului DC:

În această secțiune vom scrie programul LabVIEW pentru a controla viteza și direcția motorului DC.

    1. Porniți LabVIEW.

    2. Creați Blank VI ca în Tutorial 1.

    3. Accesați panoul LabVIEW "Diagrama bloc"

    4. Faceți clic dreapta pe spațiul alb. Mergeți la "Arduino" și selectați "init". Aceasta va adăuga inițializările plăcii Arduino.

5. Aduceți cursorul oriunde în panoul LabVIEW "Diagrama bloc" și plasați "Init".

6. Prima intrare este "VISA resource". Este portul serial pe care îl folosiți pentru interfața Adruino. Îl puteți găsi în "device manager" al computerului dvs. sub "ports (COM & LPT) ...". Asigurați-vă că placa Arduino este conectată la calculator, altfel nu va fi afișată. În cazul meu este COM4.

7. Aduceți cursorul pe prima intrare a lui "Init" până când apare "VISA resource". Faceți clic dreapta pe ea. Mergeți la "create" și selectați "constant". Deoarece va fi o valoare constantă a portului, care va fi folosită întotdeauna pentru comunicarea serială.

8. Dați clic pe săgeată și va afișa opțiunea disponibilă. În cazul meu, este "COM4". Selectați una potrivită după verificarea de la device manager, așa cum este menționat mai sus, altfel nu va funcționa.

9. A doua intrare este "Baud Rate". Creați-o la fel de constantă ca cea făcută pentru "VISA resource". Faceți clic dreapta pe "Baud Rate" apoi pe "create" și apoi pe "constant".

10. A treia intrare este "Board Type", a patra este "Bytes per packet" și a cincea este "Connection type", făcându-le și ele constante.

11. Faceți clic pe spațiul alb din "Diagrama bloc" LabVIEW și urmați "Structure → selectați While loop".

12. Desenați un dreptunghi pe "Diagrama bloc" LabVIEW și faceți clic pe pictograma rotundă de culoare roșie a "loop condition" Creați o constantă făcând click dreapta pe ea. Va afișa o pictogramă "STOP" pe diagramă.

13. Așezați 2 blocuri Digital Write Pin și 1 bloc "PWM Write Pin" după cum urmează. Avem nevoie de 2 pini de scrierea digitală pentru a controla direcția motorului în 2 direcții diferite (stânga și dreapta). Pinul PWM va fi folosit pentru a controla viteza motorului.

În mod similar, se plasează al doilea "Digital Write" și pentru "PWM Block". Puneți blocul "PWM write pin" pe panoul "Diagrama bloc" LabVIEW.

14. Puneți "Close Block" după cum urmează.

15. Acest proces are ca rezultat urmarea diagramă bloc LabVIEW.

16. Faceți clic pe spațiul alb din "Diagrama bloc" și urmați "Arduino → Low Level → și selectați Set Digital Pin"

17. Puneți "Set Digital Pin" pe "Diagrama bloc". Plasați astfel 3 blocuri "Set Digital Pin" pe "Diagrama bloc". Acest lucru rezultă

18. Legați diagrama de mai sus așa cum se arată mai jos. Puteți obține ajutor din tutorialul anterior.

19. Mai mult, conectați blocurile așa cum se arată în diagramă. Avem de asemenea nevoie de mai mult de două blocuri "close". De asemenea, trebuie să le plasați. Pentru intrarea PWM se creează control ca cel făcut anterior și pentru toate celelalte intrări vom crea constante.

20. Acum, porniți Ardunio IDE.

21. Faceți clic pe "File" apoi pe "Open" și urmăriți după cum se arată. Treceți prin toate aceste dosare din "Computer" și deschideți fișierul LIFA_BASE Arduino.

22. Încărcați programul deschis în Arduino IDE folosind butonul săgeată din partea de sus a lui Arduino IDE.

23. După încărcare, închideți Arduino IDE. Este foarte important să închideți Arduino IDE deoarece atât LabVIEW, cât și Arduino folosesc COM4. Dacă nu este închis, LabVIEW nu va putea comunica și LabVIEW se va bloca.

24. Acum mergeți la panoul frontal din LabVIEW și rulați programul în meniul toolbar din LabVIEW.

25. Când punem 1 în locul "direction1", motorul se rotește într-o direcție. Când punem 1 în locul "direction2", motorul se rotește în altă direcție. Fiți atent, când faceți acest lucru, nu faceți simultan "direction1" și "direction2". Ambele controale de direcție nu ar trebui să fie 1 simultan. Dacă un control al direcției este 1, altul ar trebui să fie 0. În caz contrar, L293D se va distruge definitiv. Un alt lucru de observat este că viteza ar trebui să fie undeva între 0 și 255, în caz contrar motorul nu se va roti.

26. Prin variația vitezei între 0 și 255 putem vedea că viteza motorului variază. La 0, motorul este oprit și la 255 se rotește la viteza maximă.