- Komponenter som krävs för Raspberry Pi Motor Driver HAT
- L293D Motor Driver IC
- Kretsschema för Raspberry Pi Motor Driver HAT
- Tillverkning PCB för Raspberry Pi Motor Driver HAT
- Beställa PCB från PCBWay
- Montering av
- Raspberry Pi-installation
- Raspberry Pi Motor Driver Code Förklaring
- Testa Raspberry Pi Motor Driver HAT
En Raspberry Pi HAT är ett tilläggskort för Raspberry Pi med samma dimensioner som Pi. Den kan passa direkt på toppen av Raspberry Pi och kräver inga ytterligare anslutningar. Det finns många Raspberry Pi HAT-modeller på marknaden. I den här handledningen ska vi bygga en Raspberry Pi Motor Driver HAT för att driva likströms- och stegmotorer. Denna Motor Driver HAT består av en L293D motor driver IC, 16 * 2 LCD-skärmmodul, fyra tryckknappar och extra stift för SIM800-modul med en 3,3 V-regulator. Denna Raspberry Pi HAT kommer att vara till nytta när du bygger ett robotprojekt.
Här har vi använt PCBWay för att tillhandahålla PCB-kort för detta projekt. I följande avsnitt i artikeln har vi täckt hela proceduren för att designa, beställa och montera kretskort för Raspberry pi Motor Driver HAT. Vi har också byggt Raspberry Pi Hat för 16x2 LCD och Raspberry Pi LoRa HAT i våra tidigare projekt.
Komponenter som krävs för Raspberry Pi Motor Driver HAT
- Raspberry Pi
- L293D IC
- 4 × tryckknappar
- SMD-motstånd (1 × 10K, 12 × 1K)
- 1 × 10K Potentiometer
- 4 × SMD-lysdioder
- LM317 Spänningsregulator
- 2 × skruvterminaler
- 16 * 2 LCD-modul
L293D Motor Driver IC
L293D är en populär 16-stifts IC-motorförare. Som namnet antyder används den för att styra unipolära, bipolära stegmotorer, likströmsmotorer eller till och med servomotorer. En enda L293D IC kan driva två likströmsmotorer samtidigt. Dessutom kan hastigheten och riktningen för dessa två motorer styras oberoende. Denna IC levereras med två strömingångar, dvs 'Vcc1' och 'Vcc2'. Vcc1 används för att driva de interna logiska kretsarna som ska vara 5V, och Vcc2-stift är för att driva motorerna som kan vara 4,5V till 36V.
L293D Specifikationer:
- Motorspänning Vcc2 (Vs): 4,5V till 36V
- Maximal motorström: 1.2A
- Maximal kontinuerlig motorström: 600mA
- Matningsspänning till Vcc1 (VSS): 4,5V till 7V
- Övergångstid: 300ns (vid 5V och 24V)
- Automatisk termisk avstängning är tillgänglig
Kretsschema för Raspberry Pi Motor Driver HAT
Det fullständiga schematiska diagrammet för L293D Motor Driver med Raspberry Pi visas i bilden nedan. Schematisk ritades med EasyEDA.
Denna HAT består av L293D Motor Driver IC, 16 * 2 LCD-displaymodul och fyra tryckknappar. Vi har också tillhandahållit stift för SIM800-modulen med en 3,3 V-regulator konstruerad med LM317-variabelregulator för framtida projekt. Raspberry Pi Motor Driver HAT kommer direkt att sitta ovanpå Raspberry Pi vilket gör det lättare att kontrollera robotar med Raspberry Pi.
Tillverkning PCB för Raspberry Pi Motor Driver HAT
När schemat är klart kan vi fortsätta med att lägga ut kretskortet. Du kan designa PCB med valfri PCB-programvara. Vi har använt EasyEDA för att tillverka PCB för detta projekt. Du kan se vilket lager som helst (topp, botten, övermjölk, bottenmjölk, etc.) på kretskortet genom att välja lagret i fönstret "Lager". Bortsett från detta tillhandahålls också en 3D-modellvy av PCB om hur den skulle se ut efter tillverkning. Nedan visas 3D-modellvyerna av det översta och undre lagret av Pi Motor Driver HAT PCB.
PCB-layouten för ovanstående krets är också tillgänglig för nedladdning som Gerber från länken nedan:
- Gerber-fil för Raspberry Pi Motor Driver HAT
Beställa PCB från PCBWay
Efter att ha slutfört designen kan du fortsätta med att beställa kretskortet:
Steg 1: Gå in på https://www.pcbway.com/, registrera dig om det är första gången. Ange sedan måtten på din PCB, antalet lager och antalet PCB du behöver på fliken PCB Prototype.
Steg 2: Fortsätt genom att klicka på knappen "Citera nu". Du kommer till en sida där du kan ställa in några ytterligare parametrar som korttyp, lager, material för kretskort, tjocklek och mer. De flesta är valda som standard, men om du väljer några specifika parametrar kan du välja dem här.
Steg 3: Det sista steget är att ladda upp Gerber-filen och fortsätta med betalningen. För att säkerställa att processen är smidig verifierar PCBWAY om din Gerber-fil är giltig innan du fortsätter med betalningen. På så sätt kan du vara säker på att din PCB är tillverkningsvänlig och når dig som engagerad.
Montering av
Efter några dagar fick vi vår PCB i ett snyggt paket och PCB-kvaliteten var som alltid bra. Brädans översta och undre lager visas nedan:
Efter att ha kontrollerat att spåren och fotspåren var korrekta. Jag fortsatte med att montera kretskortet. Bilden här visar hur det helt lödda kortet ser ut.
Raspberry Pi-installation
Innan vi programmerar Raspberry Pi måste vi installera de bibliotek som krävs. För det, uppdatera först Raspberry Pi OS med följande kommandon:
Sudo apt-get update Sudo apt-get upgrade
Installera nu Adafruit_CharLCD-biblioteket för LCD-modulen. Detta bibliotek är för Adafruit LCD-kort, men det fungerar också med andra LCD-kort.
sudo pip3 installera Adafruit-CharLCD
Raspberry Pi Motor Driver Code Förklaring
Här i det här projektet programmerar vi Raspberry Pi för att köra två likströmsmotorer i framåt-, bakåt-, vänster- och högerriktningen samtidigt i ett intervall på två sekunder. Motorns riktning visas på LCD-skärmen. Komplett kod ges i slutet av dokumentet. Här förklarar vi några viktiga delar av koden.
Som vanligt startar du koden genom att importera alla nödvändiga bibliotek. RPi.GPIO-modulen används för att komma åt GPIO-stiften med Python. Modulen tiden används för att pausa programmet under en förutbestämd tid.
importera RPi.GPIO som GPIO importtid importkort importera Adafruit_CharLCD som LCD
Därefter tilldelar du GPIO-stiften för L293D-motorförarens IC och LCD-display.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Ställ nu in de 6 motorstift som utgångsstift. De kommande fyra är utgångsstiften, av vilka de två första används för att styra höger motor och de två följande för den vänstra motorn. Nästa två stift är Aktivera stift för höger och vänster 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)
Inuti medan slingan flyttar du de två likströmsmotorerna i framåt-, bakåt-, vänster- och högerriktning samtidigt i två 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") …… …………………………………
Testa Raspberry Pi Motor Driver HAT
När du är klar med montering av kretskortet monterar du motordrivrutinen HAT på Raspberry Pi och startar koden. Om allt går bra kommer DC-motorerna som är anslutna till Raspberry Pi att röra sig åt vänster, framåt, höger och bakåt samtidigt varannan sekund och motorriktningen visas på LCD-skärmen.
Så här kan du bygga din egen L293D Raspberry Pi Motor Driver HAT. Den fullständiga koden och arbetsvideo för projektet ges nedan. Hoppas du gillade projektet och tyckte att det var intressant att bygga ditt eget. Om du har några frågor, vänligen lämna dem i kommentarfältet nedan.