- Componenti necessari per Raspberry Pi Motor Driver HAT
- L293D Motor Driver IC
- Schema del circuito per Raspberry Pi Motor Driver HAT
- PCB di fabbricazione per Raspberry Pi Motor Driver HAT
- Ordinazione di PCB da PCBWay
- Assemblaggio di
- Configurazione Raspberry Pi
- Spiegazione del codice del driver del motore Raspberry Pi
- Testare il Raspberry Pi Motor Driver HAT
Un Raspberry Pi HAT è una scheda aggiuntiva per Raspberry Pi con le stesse dimensioni di Pi. Può adattarsi direttamente alla parte superiore di Raspberry Pi e non richiede ulteriori connessioni. Ci sono molti HAT Raspberry Pi disponibili sul mercato. In questo tutorial, costruiremo un Raspberry Pi Motor Driver HAT per pilotare motori DC e passo-passo. Questo HAT driver motore è costituito da un IC driver motore L293D, modulo display LCD 16 * 2, quattro pulsanti e pin aggiuntivi per modulo SIM800 con un regolatore 3.3V. Questo HAT Raspberry Pi tornerà utile durante la creazione di un progetto robotico.
Qui abbiamo utilizzato PCBWay per fornire le schede PCB per questo progetto. Nelle sezioni seguenti dell'articolo, abbiamo coperto la procedura completa per progettare, ordinare e assemblare le schede PCB per Raspberry pi Motor Driver HAT. Abbiamo anche costruito Raspberry Pi Hat per LCD 16x2 e Raspberry Pi LoRa HAT nei nostri progetti precedenti.
Componenti necessari per Raspberry Pi Motor Driver HAT
- Raspberry Pi
- L293D IC
- 4 × pulsanti
- Resistori SMD (1 × 10K, 12 × 1K)
- Potenziometro 1 × 10K
- 4 × LED SMD
- Regolatore di tensione LM317
- 2 × terminali a vite
- Modulo LCD 16 * 2
L293D Motor Driver IC
L'L293D è un popolare circuito integrato per driver motore a 16 pin. Come suggerisce il nome, viene utilizzato per controllare motori passo-passo unipolari, bipolari, motori CC o anche servomotori. Un singolo circuito integrato L293D può pilotare due motori CC contemporaneamente. Inoltre, la velocità e la direzione di questi due motori possono essere controllate indipendentemente. Questo IC è dotato di due pin di ingresso di alimentazione, ovvero "Vcc1" e "Vcc2". Vcc1 è usato per alimentare il circuito logico interno che dovrebbe essere 5V, e il pin Vcc2 è per alimentare i motori che possono essere da 4,5V a 36V.
Specifiche L293D:
- Tensione motore Vcc2 (Vs): da 4,5 V a 36 V.
- Massima corrente di picco del motore: 1.2A
- Corrente massima continua del motore: 600mA
- Tensione di alimentazione a Vcc1 (VSS): da 4,5 V a 7 V.
- Tempo di transizione: 300ns (a 5V e 24V)
- È disponibile lo spegnimento termico automatico
Schema del circuito per Raspberry Pi Motor Driver HAT
Il diagramma schematico completo per L293D Motor Driver con Raspberry Pi è mostrato nell'immagine riportata di seguito. Lo schema è stato disegnato utilizzando EasyEDA.
Questo HAT è composto da IC driver motore L293D, modulo display LCD 16 * 2 e quattro pulsanti. Abbiamo anche fornito i pin per il modulo SIM800 con un regolatore 3.3V progettato utilizzando il regolatore variabile LM317 per progetti futuri. Il Raspberry Pi Motor Driver HAT si posizionerà direttamente sopra Raspberry Pi, rendendo più facile il controllo dei robot utilizzando Raspberry Pi.
PCB di fabbricazione per Raspberry Pi Motor Driver HAT
Una volta completato lo schema, possiamo procedere con la disposizione del PCB. Puoi progettare il PCB utilizzando qualsiasi software PCB di tua scelta. Abbiamo utilizzato EasyEDA per fabbricare PCB per questo progetto. È possibile visualizzare qualsiasi strato (Top, Bottom, Topsilk, Bottomsilk, ecc.) Del PCB selezionando lo strato dalla finestra "Layers". Oltre a questo, viene fornita anche una vista del modello 3D del PCB su come apparirebbe dopo la fabbricazione. Di seguito sono riportate le viste del modello 3D dello strato superiore e dello strato inferiore di Pi Motor Driver HAT PCB.
Il layout PCB per il circuito sopra è anche disponibile per il download come Gerber dal link indicato di seguito:
- File Gerber per Raspberry Pi Motor Driver HAT
Ordinazione di PCB da PCBWay
Dopo aver finalizzato il progetto, puoi procedere con l'ordinazione del PCB:
Passaggio 1: accedi a https://www.pcbway.com/, registrati se è la prima volta. Quindi, nella scheda Prototipo PCB, inserisci le dimensioni del tuo PCB, il numero di strati e il numero di PCB richiesto.
Passaggio 2: procedi facendo clic sul pulsante "Cita ora". Verrai indirizzato a una pagina in cui impostare alcuni parametri aggiuntivi come il tipo di scheda, i livelli, il materiale per PCB, lo spessore e altro. La maggior parte di essi è selezionata per impostazione predefinita, ma se stai optando per parametri specifici, puoi selezionarli qui.
Passaggio 3: il passaggio finale è caricare il file Gerber e procedere con il pagamento. Per assicurarsi che il processo sia fluido, PCBWAY verifica se il file Gerber è valido prima di procedere con il pagamento. In questo modo, puoi essere certo che il tuo PCB è facile da fabbricare e ti raggiungerà come impegnato.
Assemblaggio di
Dopo alcuni giorni, abbiamo ricevuto il nostro PCB in un pacchetto pulito e la qualità del PCB era buona come sempre. Lo strato superiore e lo strato inferiore del tabellone sono mostrati di seguito:
Dopo esserti assicurato che le tracce e le impronte fossero corrette. Ho proceduto con l'assemblaggio del PCB. L'immagine qui mostra l'aspetto della scheda completamente saldata.
Configurazione Raspberry Pi
Prima di programmare il Raspberry Pi, dobbiamo installare le librerie richieste. Per questo, prima aggiorna il sistema operativo Raspberry Pi utilizzando i seguenti comandi:
Sudo apt-get aggiornamento Sudo apt-get aggiornamento
Ora installa la libreria Adafruit_CharLCD per il modulo LCD. Questa libreria è per schede LCD Adafruit, ma funziona anche con schede LCD di altre marche.
sudo pip3 installa Adafruit-CharLCD
Spiegazione del codice del driver del motore Raspberry Pi
Qui in questo progetto, stiamo programmando il Raspberry Pi per pilotare due motori CC in direzione Avanti, Indietro, Sinistra e Destra contemporaneamente in un intervallo di due secondi. La direzione dei motori verrà visualizzata sul display LCD. Il codice completo è fornito alla fine del documento. Qui stiamo spiegando alcune parti importanti del codice.
Come al solito, avvia il codice importando tutte le librerie richieste. Il modulo RPi.GPIO viene utilizzato per accedere ai pin GPIO utilizzando Python. Il tempo del modulo viene utilizzato per mettere in pausa il programma per un tempo predefinito.
import RPi.GPIO come GPIO import time import board import Adafruit_CharLCD as LCD
Successivamente, assegnare i pin GPIO per l'IC del driver del motore L293D e il display LCD.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motore1A = 4 Motore1B = 17 Motore1E = 12
Ora, imposta i 6 pin del motore come pin di uscita. I quattro successivi sono i pin di uscita dai quali i primi due vengono utilizzati per controllare il motore destro e i due successivi per il motore sinistro. I due pin successivi sono i pin di abilitazione per i motori destro e sinistro.
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)
All'interno del ciclo while, spostare i due motori CC in direzione avanti, indietro, sinistra e destra simultaneamente in un intervallo di due secondi.
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") …… ………………………………
Testare il Raspberry Pi Motor Driver HAT
Una volta finito di assemblare il PCB, monta il driver del motore HAT su Raspberry Pi e avvia il codice. Se tutto va bene, i motori DC collegati a Raspberry Pi si muoveranno simultaneamente nella direzione sinistra, avanti, destra e indietro ogni due secondi e la direzione del motore verrà visualizzata sul display LCD.
In questo modo puoi costruire il tuo CAPPELLO driver motore Raspberry Pi L293D. Di seguito sono riportati il codice completo e il video di lavoro del progetto. Spero ti sia piaciuto il progetto e che sia stato interessante crearne uno tuo. Se hai domande, lasciale nella sezione commenti qui sotto.