- Komponenter, der kræves til Raspberry Pi Motor Driver HAT
- L293D IC-motordriver
- Kredsløbsdiagram til Raspberry Pi Motor Driver HAT
- Fabrikation af print til Raspberry Pi Motor Driver HAT
- Bestilling af printkort fra PCBWay
- Montering af
- Raspberry Pi-opsætning
- Raspberry Pi Motor Driver Code Forklaring
- Test af Raspberry Pi Motor Driver HAT
En Raspberry Pi HAT er et tilføjelseskort til Raspberry Pi med de samme dimensioner som Pi. Det kan passe direkte på toppen af Raspberry Pi og kræver ikke yderligere forbindelser. Der er mange Raspberry Pi HAT'er tilgængelige på markedet. I denne vejledning skal vi bygge en Raspberry Pi Motor Driver HAT til at køre jævnstrøms- og trinmotorer. Denne motordriver-HAT består af en L293D-motordriver-IC, 16 * 2 LCD-skærmmodul, fire trykknapper og ekstra ben til SIM800-modul med en 3,3 V regulator. Denne Raspberry Pi HAT vil være praktisk, når du bygger et robotprojekt.
Her har vi brugt PCBWay til at levere PCB-kortene til dette projekt. I de følgende afsnit af artiklen har vi dækket den komplette procedure til design, bestilling og samling af printkort til Raspberry pi Motor Driver HAT. Vi har også bygget Raspberry Pi Hat til 16x2 LCD og Raspberry Pi LoRa HAT i vores tidligere projekter.
Komponenter, der kræves til Raspberry Pi Motor Driver HAT
- Hindbær Pi
- L293D IC
- 4 × trykknapper
- SMD-modstande (1 × 10K, 12 × 1K)
- 1 × 10K Potentiometer
- 4 × SMD-lysdioder
- LM317 Spændingsregulator
- 2 × skrueterminaler
- 16 * 2 LCD-modul
L293D IC-motordriver
L293D er en populær 16-pin motor driver IC. Som navnet antyder, bruges det til at styre unipolære, bipolære trinmotorer, jævnstrømsmotorer eller endda servomotorer. En enkelt L293D IC kan køre to DC-motorer på samme tid. Også disse to motorers hastighed og retning kan styres uafhængigt. Denne IC leveres med to strømindgangsben, dvs. 'Vcc1' og 'Vcc2'. Vcc1 bruges til at drive det interne logiske kredsløb, som skal være 5V, og Vcc2-pin er til at drive motorerne, som kan være 4,5V til 36V.
L293D Specifikationer:
- Motorspænding Vcc2 (Vs): 4,5V til 36V
- Maksimal maksimal motorstrøm: 1.2A
- Maksimal kontinuerlig motorstrøm: 600mA
- Forsyningsspænding til Vcc1 (VSS): 4,5V til 7V
- Overgangstid: 300ns (ved 5Vand 24V)
- Automatisk termisk nedlukning er tilgængelig
Kredsløbsdiagram til Raspberry Pi Motor Driver HAT
Det komplette skematiske diagram til L293D-motordriver med Raspberry Pi er vist på billedet nedenfor. Skematisk tegning blev brugt ved hjælp af EasyEDA.
Denne HAT består af L293D-motordriver-IC, 16 * 2 LCD-displaymodul og fire trykknapper. Vi har også leveret stifter til SIM800-modulet med en 3,3 V regulator designet med LM317 variabel regulator til fremtidige projekter. Raspberry Pi Motor Driver HAT sidder direkte oven på Raspberry Pi, hvilket gør det lettere at kontrollere robotter ved hjælp af Raspberry Pi.
Fabrikation af print til Raspberry Pi Motor Driver HAT
Når skematisk er færdig, kan vi fortsætte med at lægge printkortet ud. Du kan designe printkortet ved hjælp af hvilken som helst pcb-software, du vælger. Vi har brugt EasyEDA til at fremstille PCB til dette projekt. Du kan se et hvilket som helst lag (Top, Bottom, Topsilk, bottomsilk osv.) På printkortet ved at vælge laget fra 'Layers' vinduet. Bortset fra dette leveres der også en 3D-modelvisning af printkortet om, hvordan det ser ud efter fabrikation. Nedenfor er 3D-modelvisningerne af det øverste lag og det nederste lag af Pi Motor Driver HAT PCB.
Printkortlayoutet til ovenstående kredsløb kan også downloades som Gerber fra nedenstående link:
- Gerber-fil til Raspberry Pi Motor Driver HAT
Bestilling af printkort fra PCBWay
Når du er færdig med designet, kan du fortsætte med at bestille printkortet:
Trin 1: Gå ind på https://www.pcbway.com/, tilmeld dig, hvis det er første gang. Indtast derefter dimensionerne på din PCB, antallet af lag og antallet af PCB, du har brug for, på fanen PCB Prototype.
Trin 2: Fortsæt ved at klikke på knappen 'Citér nu'. Du føres til en side, hvor du kan indstille et par ekstra parametre som korttype, lag, materiale til printkort, tykkelse og mere. De fleste af dem er valgt som standard, men hvis du vælger specifikke parametre, kan du vælge dem her.
Trin 3: Det sidste trin er at uploade Gerber-filen og fortsætte med betalingen. For at sikre, at processen er glat, verificerer PCBWAY, om din Gerber-fil er gyldig, inden du fortsætter med betalingen. På denne måde kan du være sikker på, at dit print er fabrikationsvenligt og når dig som engageret.
Montering af
Efter et par dage modtog vi vores PCB i en pæn pakke, og PCB-kvaliteten var som altid god. Det øverste lag og det nederste lag af tavlen er vist nedenfor:
Efter at have sørget for, at sporene og fodsporene var korrekte. Jeg fortsatte med at samle printkortet. Billedet her viser, hvordan det fuldstændigt lodde bord ser ud.
Raspberry Pi-opsætning
Før vi programmerer Raspberry Pi, skal vi installere de nødvendige biblioteker. Til det skal du først opdatere Raspberry Pi OS ved hjælp af nedenstående kommandoer:
Sudo apt-get opdatering Sudo apt-get upgrade
Installer nu Adafruit_CharLCD-biblioteket til LCD-modulet. Dette bibliotek er beregnet til Adafruit LCD-tavler, men det fungerer også med andre LCD-tavler.
sudo pip3 installer Adafruit-CharLCD
Raspberry Pi Motor Driver Code Forklaring
Her i dette projekt programmerer vi Raspberry Pi til at køre to jævnstrømsmotorer i fremad, baglæns, venstre og højre retning samtidigt i et interval på to sekunder. Motorenes retning vises på LCD'et. Komplet kode gives i slutningen af dokumentet. Her forklarer vi nogle vigtige dele af koden.
Som sædvanlig skal du starte koden ved at importere alle de nødvendige biblioteker. RPi.GPIO-modulet bruges til at få adgang til GPIO-benene ved hjælp af Python. Modulet tid bliver brugt til at holde pause i programmet for en foruddefineret tid.
importer RPi.GPIO som GPIO importtid importkort import Adafruit_CharLCD som LCD
Derefter tildeles GPIO-benene til L293D-motordriverens IC og LCD-display.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Indstil nu de 6 motorstifter som outputstifter. De næste fire er outputstifterne, hvoraf de to første bruges til at styre den højre motor og de næste to til den venstre motor. De næste to ben er Aktiver ben til højre og venstre motor.
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)
Inde i mens sløjfen skal du flytte de to jævnstrømsmotorer i retning fremad, baglæns, venstre og højre samtidigt i et interval på to sekunder.
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") …… …………………………………
Test af Raspberry Pi Motor Driver HAT
Når du er færdig med at montere printkortet, skal du montere motordriveren HAT på Raspberry Pi og starte koden. Hvis alt går i orden, vil DC-motorerne, der er tilsluttet Raspberry Pi, bevæge sig i retning mod venstre, fremad, til højre og baglæns hvert andet sekund, og motorretningen vises på LCD-displayet.
Sådan kan du oprette din egen L293D Raspberry Pi Motor Driver HAT. Den komplette kode og arbejdsvideo af projektet er angivet nedenfor. Håber du nød projektet og fandt det interessant at bygge dit eget. Hvis du har spørgsmål, skal du lade dem være i kommentarfeltet nedenfor.