- Komponenter som kreves for Raspberry Pi Motor Driver HAT
- L293D Motor Driver IC
- Kretsdiagram for Raspberry Pi Motor Driver HAT
- Fabrikasjon av PCB for Raspberry Pi Motor Driver HAT
- Bestille PCB fra PCBWay
- Montering av
- Raspberry Pi-oppsett
- Raspberry Pi Motor Driver Code Forklaring
- Testing av Raspberry Pi Motor Driver HAT
En Raspberry Pi HAT er et tilleggsbrett for Raspberry Pi med samme dimensjoner som Pi. Den kan passe direkte på toppen av Raspberry Pi og krever ingen ytterligere tilkoblinger. Det er mange Raspberry Pi HAT-er tilgjengelig i markedet. I denne opplæringen skal vi bygge en Raspberry Pi Motor Driver HAT for å kjøre DC- og trinnmotorer. Denne motordriveren HAT består av en L293D motor driver IC, 16 * 2 LCD-skjermmodul, fire trykknapper og ekstra pinner for SIM800-modul med en 3.3V regulator. Denne Raspberry Pi HAT vil være nyttig når du bygger et robotprosjekt.
Her har vi brukt PCBWay til å gi PCB-kortene for dette prosjektet. I de følgende avsnittene av artikkelen har vi dekket den komplette prosedyren for å designe, bestille og montere PCB-kortene for Raspberry pi Motor Driver HAT. Vi har også bygget Raspberry Pi Hat for 16x2 LCD og Raspberry Pi LoRa HAT i våre tidligere prosjekter.
Komponenter som kreves for Raspberry Pi Motor Driver HAT
- Bringebær Pi
- L293D IC
- 4 × trykknapper
- SMD-motstander (1 × 10K, 12 × 1K)
- 1 × 10K potensialmeter
- 4 × SMD-lysdioder
- LM317 Spenningsregulator
- 2 × Skrueterminaler
- 16 * 2 LCD-modul
L293D Motor Driver IC
L293D er en populær 16-pin motor driver IC. Som navnet antyder, brukes den til å kontrollere unipolare, bipolare trinnmotorer, DC-motorer eller til og med servomotorer. En enkelt L293D IC kan kjøre to DC-motorer samtidig. Dessuten kan hastigheten og retningen til disse to motorene styres uavhengig. Denne IC leveres med to strøminngangspinner, dvs. 'Vcc1' og 'Vcc2'. Vcc1 brukes til å drive den interne logiske kretsen som skal være 5V, og Vcc2 pin er for å drive motorene som kan være 4,5V til 36V.
L293D Spesifikasjoner:
- Motorspenning Vcc2 (Vs): 4,5V til 36V
- Maksimal topp motorstrøm: 1.2A
- Maksimal kontinuerlig motorstrøm: 600mA
- Forsyningsspenning til Vcc1 (VSS): 4,5V til 7V
- Overgangstid: 300ns (ved 5Vand 24V)
- Automatisk termisk avstengning er tilgjengelig
Kretsdiagram for Raspberry Pi Motor Driver HAT
Det komplette skjematiske diagrammet for L293D-motordriver med Raspberry Pi er vist på bildet nedenfor. Skjematisk tegning ble brukt med EasyEDA.
Denne HATEN består av L293D IC-motordriver, 16 * 2 LCD-skjermmodul og fire trykknapper. Vi har også levert pinner til SIM800-modulen med en 3.3V regulator designet med LM317 variabel regulator for fremtidige prosjekter. Raspberry Pi Motor Driver HAT vil sitte direkte på toppen av Raspberry Pi, noe som gjør det lettere å kontrollere roboter ved hjelp av Raspberry Pi.
Fabrikasjon av PCB for Raspberry Pi Motor Driver HAT
Når skjematisk er ferdig, kan vi fortsette med å legge ut PCB. Du kan designe PCB med hvilken som helst PCB-programvare du ønsker. Vi har brukt EasyEDA til å produsere PCB for dette prosjektet. Du kan se hvilket som helst lag (topp, bunn, overflatemelk, bunnmelk osv.) På PCB ved å velge laget fra vinduet "Lag". Bortsett fra dette, er det også gitt en 3D-modellvisning av kretskortet om hvordan det vil se ut etter fabrikasjon. Nedenfor er 3D-modellvisningene av det øverste og nederste laget av Pi Motor Driver HAT PCB.
PCB-oppsettet for kretsen ovenfor er også tilgjengelig for nedlasting som Gerber fra lenken nedenfor:
- Gerber-fil for Raspberry Pi Motor Driver HAT
Bestille PCB fra PCBWay
Etter at du er ferdig med designet, kan du fortsette med å bestille PCB:
Trinn 1: Gå inn på https://www.pcbway.com/, registrer deg hvis dette er første gang. Deretter skriver du inn dimensjonene på PCB-en, antall lag og antall PCB du trenger i kategorien PCB-prototype.
Trinn 2: Fortsett ved å klikke på "Sitat nå" -knappen. Du blir ført til en side der du kan angi noen ekstra parametere som brettetype, lag, materiale for PCB, tykkelse og mer. De fleste av dem er valgt som standard, men hvis du velger noen spesifikke parametere, kan du velge dem her.
Trinn 3: Det siste trinnet er å laste opp Gerber-filen og fortsette med betalingen. For å sikre at prosessen er jevn, verifiserer PCBWAY om Gerber-filen din er gyldig før du fortsetter med betalingen. På denne måten kan du være sikker på at PCB-en din er fabrikasjonsvennlig og vil nå deg som engasjert.
Montering av
Etter noen dager mottok vi PCB-en i en pen pakke, og PCB-kvaliteten var god som alltid. Det øverste laget og det nederste laget av brettet er vist nedenfor:
Etter å ha sørget for at sporene og fotavtrykkene var riktige. Jeg fortsatte med å montere PCB. Bildet her viser hvordan det fullstendige loddede kortet ser ut.
Raspberry Pi-oppsett
Før vi programmerer Raspberry Pi, må vi installere de nødvendige bibliotekene. For det, oppdater først Raspberry Pi OS ved hjelp av kommandoene nedenfor:
Sudo apt-get update Sudo apt-get upgrade
Installer nå Adafruit_CharLCD-biblioteket for LCD-modulen. Dette biblioteket er for 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 prosjektet programmerer vi Raspberry Pi til å kjøre to DC-motorer i fremover, bakover, venstre og høyre retning samtidig i et to sekunders intervall. Retningen til motorene vises på LCD-skjermen. Komplett kode er gitt på slutten av dokumentet. Her forklarer vi noen viktige deler av koden.
Start som vanlig koden ved å importere alle nødvendige biblioteker. RPi.GPIO-modulen brukes til å få tilgang til GPIO-pinnene ved hjelp av Python. Modulen tid blir brukt til å stoppe programmet for en forhåndsbestemt tid.
importer RPi.GPIO som GPIO importtid importkort import Adafruit_CharLCD som LCD
Deretter tildeler du GPIO-pinnene for L293D-motordriverens IC og LCD-skjerm.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Sett nå de 6 motorpinnene som utgangspinn. De neste fire er utgangspinnene der de to første brukes til å kontrollere høyre motor og de neste to for venstre motor. De to neste pinnene er Aktiver pinner for høyre 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)
Inne i mens sløyfen flytter du de to likestrømsmotorene i retning forover, bakover, venstre og høyre samtidig i to sekunders intervall.
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") …… ………………………………
Testing av Raspberry Pi Motor Driver HAT
Når du er ferdig med å montere kretskortet, monterer du driveren HAT på Raspberry Pi og starter koden. Hvis alt går bra, vil DC-motorene som er koblet til Raspberry Pi, bevege seg i retning venstre, fremover, høyre og bakover samtidig hvert annet sekund, og motorretningen vises på LCD-skjermen.
Slik kan du bygge din egen L293D Raspberry Pi Motor Driver HAT. Den komplette koden og arbeidsvideoen til prosjektet er gitt nedenfor. Håper du likte prosjektet og syntes det var interessant å bygge ditt eget. Hvis du har spørsmål, kan du legge dem igjen i kommentarfeltet nedenfor.