- Componente necesare pentru Raspberry Pi Motor Driver HAT
- IC driver motor L293D
- Diagrama circuitului pentru driverul de motor Raspberry Pi HAT
- Fabricarea PCB pentru Raspberry Pi Motor Driver HAT
- Comandarea PCB-ului de la PCBWay
- Asamblarea
- Configurare Raspberry Pi
- Explicație privind codul driverului motorului Raspberry Pi
- Testarea Raspberry Pi Motor Driver HAT
Un Raspberry Pi HAT este o placă suplimentară pentru Raspberry Pi cu aceleași dimensiuni ca și Pi. Se poate potrivi direct pe partea superioară a Raspberry Pi și nu necesită alte conexiuni. Există multe HAT-uri Raspberry Pi disponibile pe piață. În acest tutorial, vom construi un Raspberry Pi Motor Driver HAT pentru a acționa motoare DC și Stepper. Acest driver pentru motor HAT este format dintr-un driver de motor L293D IC, un modul de afișaj LCD 16 * 2, patru butoane și pini suplimentari pentru modulul SIM800 cu un regulator de 3,3 V. Acest Raspberry Pi HAT va fi util la construirea unui proiect robot.
Aici, am folosit PCBWay pentru a furniza plăcile PCB pentru acest proiect. În secțiunile următoare ale articolului, am acoperit procedura completă de proiectare, comandare și asamblare a plăcilor PCB pentru Raspberry pi Motor Driver HAT. De asemenea, am proiectat Raspberry Pi Hat pentru 16x2 LCD și Raspberry Pi LoRa HAT în proiectele noastre anterioare.
Componente necesare pentru Raspberry Pi Motor Driver HAT
- Raspberry Pi
- L293D IC
- 4 × Butoane de apăsare
- Rezistoare SMD (1 × 10K, 12 × 1K)
- Potențiometru 1 × 10K
- 4 × LED-uri SMD
- Regulator de tensiune LM317
- 2 × terminale cu șurub
- Modul LCD 16 * 2
IC driver motor L293D
L293D este un popular IC cu driver cu 16 pini. După cum sugerează și numele, este folosit pentru a controla motoare unipolare, bipolare pas cu pas, motoare de curent continuu sau chiar servomotoare. Un singur IC L293D poate conduce două motoare de curent continuu în același timp. De asemenea, viteza și direcția acestor două motoare pot fi controlate independent. Acest IC vine cu doi pini de intrare de putere, adică „Vcc1” și „Vcc2”. Vcc1 este utilizat pentru alimentarea circuitelor logice interne care ar trebui să fie de 5V, iar pinul Vcc2 este pentru alimentarea motoarelor care pot fi de la 4.5V la 36V.
Specificații L293D:
- Tensiunea motorului Vcc2 (Vs): 4,5V la 36V
- Curent maxim al motorului de vârf: 1.2A
- Curent continuu maxim al motorului: 600mA
- Tensiunea de alimentare la Vcc1 (VSS): 4,5V la 7V
- Timp de tranziție: 300ns (la 5V și 24V)
- Oprire termică automată este disponibilă
Diagrama circuitului pentru driverul de motor Raspberry Pi HAT
Schema completă pentru driverul de motor L293D cu Raspberry Pi este prezentată în imaginea de mai jos. Schema a fost desenată folosind EasyEDA.
Acest HAT constă din IC-ul driverului de motor L293D, modul de afișaj LCD 16 * 2 și patru butoane. De asemenea, am furnizat pini pentru modulul SIM800 cu un regulator de 3,3V proiectat folosind regulatorul variabil LM317 pentru proiecte viitoare. Raspberry Pi Motor Driver HAT va sta direct deasupra Raspberry Pi, facilitând controlul roboților folosind Raspberry Pi.
Fabricarea PCB pentru Raspberry Pi Motor Driver HAT
Odată ce schema este finalizată, putem continua cu așezarea PCB-ului. Puteți proiecta PCB utilizând orice software PCB la alegere. Am folosit EasyEDA pentru a fabrica PCB pentru acest proiect. Puteți vizualiza orice strat (de sus, de jos, de top, de fund, etc.) al PCB-ului selectând stratul din fereastra „Straturi”. În afară de aceasta, este oferită și o vizualizare 3D a PCB-ului despre modul în care ar apărea după fabricare. Mai jos sunt prezentările modelului 3D ale stratului superior și al stratului inferior al PCB-ului HAT pentru driverul de motor Pi.
Aspectul PCB pentru circuitul de mai sus este, de asemenea, disponibil pentru descărcare ca Gerber de pe linkul de mai jos:
- Fișier Gerber pentru Raspberry Pi Motor Driver HAT
Comandarea PCB-ului de la PCBWay
După finalizarea proiectării, puteți continua cu comanda PCB-ului:
Pasul 1: intrați pe https://www.pcbway.com/, înscrieți-vă dacă este prima dată. Apoi, în fila Prototip PCB, introduceți dimensiunile PCB-ului, numărul de straturi și numărul de PCB de care aveți nevoie.
Pasul 2: Continuați făcând clic pe butonul „Cotați acum”. Veți fi direcționat către o pagină unde să setați câțiva parametri suplimentari, cum ar fi tipul de placă, straturi, material pentru PCB, grosime și multe altele. Cele mai multe dintre ele sunt selectate în mod implicit, dar dacă alegeți parametrii specifici, îi puteți selecta aici.
Pasul 3: ultimul pas este să încărcați fișierul Gerber și să continuați plata. Pentru a vă asigura că procesul este ușor, PCBWAY verifică dacă fișierul dvs. Gerber este valid înainte de a continua plata. În acest fel, puteți fi sigur că PCB-ul dvs. este prietenos cu fabricarea și vă va ajunge la fel de angajat.
Asamblarea
După câteva zile, am primit PCB-ul nostru într-un pachet elegant, iar calitatea PCB-ului a fost bună ca întotdeauna. Stratul superior și cel inferior al plăcii sunt prezentate mai jos:
După ce ne-am asigurat că urmele și amprentele erau corecte. Am continuat cu asamblarea PCB-ului. Imaginea de aici arată cum arată placa complet lipită.
Configurare Raspberry Pi
Înainte de a programa Raspberry Pi, trebuie să instalăm bibliotecile necesare. Pentru aceasta, mai întâi, actualizați sistemul de operare Raspberry Pi utilizând comenzile de mai jos:
Sudo apt-get update Sudo apt-get upgrade
Acum instalați biblioteca Adafruit_CharLCD pentru modulul LCD. Această bibliotecă este pentru plăcile LCD Adafruit, dar funcționează și cu alte plăci LCD de marcă.
sudo pip3 instalează Adafruit-CharLCD
Explicație privind codul driverului motorului Raspberry Pi
Aici, în acest proiect, programăm Raspberry Pi să acționeze simultan două motoare de curent continuu în direcția Forward, Reverse, Left și Right într-un interval de două secunde. Direcția motoarelor va fi afișată pe ecranul LCD. Codul complet este dat la sfârșitul documentului. Aici, explicăm câteva părți importante ale codului.
Ca de obicei, porniți codul importând toate bibliotecile necesare. Modulul RPi.GPIO este utilizat pentru a accesa pinii GPIO folosind Python. Modulul timp este utilizat pentru a întrerupe programul pentru un timp predefinit.
import RPi.GPIO ca GPIO timp de import bord de import import Adafruit_CharLCD ca LCD
După aceea, alocați pinii GPIO pentru afișajul IC și LCD al driverului motorului L293D.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Acum, setați cei 6 pini ai motorului ca pini de ieșire. Următorii patru sunt pinii de ieșire din care primii doi sunt utilizați pentru a controla motorul drept și următorii doi pentru motorul stâng. Următorii doi pini sunt Enable pins pentru motoarele din dreapta și din stânga.
GPIO.setup (Motor1A, GPIO.OUT) GPIO.setup (Motor1B, GPIO.OUT) GPIO.setup (Motor1E, GPIO.OUT) GPIO.setup (Motor2A, GPIO.OUT) GPIO.setup (Motor2B, GPIO.OUT) GPIO.setup (Motor2E, GPIO.OUT)
În interiorul buclei while, mișcați simultan cele două motoare de curent continuu în direcția Forward, Reverse, Left și Right într-un interval de două secunde.
GPIO.output (Motor1A, 0) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Left') print ("Left") sleep (2) #Forward GPIO.output (Motor1A, 1) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Forward') print ("Forward") print… …………………………………
Testarea Raspberry Pi Motor Driver HAT
Odată ce ați terminat asamblarea PCB-ului, montați driverul motorului HAT pe Raspberry Pi și lansați codul. Dacă totul merge bine, motoarele de curent continuu conectate la Raspberry Pi se vor deplasa simultan în direcția stânga, înainte, dreapta și invers la fiecare două secunde, iar direcția motorului va fi afișată pe afișajul LCD.
Acesta este modul în care vă puteți construi propriul driver de motor Raspberry Pi L293D HAT. Codul complet și videoclipul de lucru al proiectului sunt prezentate mai jos. Sper că ți-a plăcut proiectul și ți s-a părut interesant să-ți construiești propriul. Dacă aveți întrebări, vă rugăm să le lăsați în secțiunea de comentarii de mai jos.