- Komponenty požadované pre Raspberry Pi Motor Driver HAT
- Integrovaný obvod budiča motora L293D
- Schéma zapojenia motorového vodiča HAT Raspberry Pi
- Výroba DPS pre motorový pohon HAT Raspberry Pi
- Objednávanie DPS z PCBWay
- Montáž
- Nastavenie Raspberry Pi
- Vysvetlenie kódu ovládača motora Raspberry Pi
- Testovanie HAT motorického ovládača Raspberry Pi
Raspberry Pi HAT je doplnková doska pre Raspberry Pi s rovnakými rozmermi ako Pi. Môže sa priamo umiestniť na vrch Raspberry Pi a nevyžaduje žiadne ďalšie pripojenia. Na trhu existuje veľa HAT Raspberry Pi. V tomto výučbe sa chystáme vytvoriť HAT Raspberry Pi Motor Driver pre pohon jednosmerných a krokových motorov. Tento motorový ovládač HAT sa skladá z integrovaného ovládača motora L293D, 16 * 2 LCD zobrazovacieho modulu, štyroch tlačidiel a ďalších pinov pre modul SIM800 s regulátorom 3,3 V. Tento Raspberry Pi HAT sa vám bude hodiť pri stavaní robotického projektu.
Tu sme použili PCBWay na zabezpečenie dosiek plošných spojov pre tento projekt. V nasledujúcich častiach článku sme sa zaoberali kompletným postupom navrhovania, objednávania a montovania dosiek plošných spojov pre Raspberry pi Motor Driver HAT. V našich predchádzajúcich projektoch sme tiež postavili čiapku Raspberry Pi pre 16x2 LCD a Raspberry Pi LoRa HAT.
Komponenty požadované pre Raspberry Pi Motor Driver HAT
- Malinový koláč
- L293D IC
- 4 × tlačidlá
- SMD rezistory (1 × 10K, 12 × 1K)
- 1 × 10K potenciometer
- 4 × LED diódy SMD
- Regulátor napätia LM317
- 2 × skrutkové svorky
- 16 * 2 LCD modul
Integrovaný obvod budiča motora L293D
L293D je populárny 16-pólový integrovaný obvod vodiča motora. Ako už názov napovedá, používa sa na riadenie unipolárnych, bipolárnych krokových motorov, jednosmerných motorov alebo dokonca servomotorov. Jeden integrovaný obvod L293D môže súčasne poháňať dva jednosmerné motory. Rýchlosť a smer týchto dvoch motorov je tiež možné ovládať nezávisle. Tento IC je dodávaný s dvoma napájacími pinmi, tj. „Vcc1“ a „Vcc2“. Vcc1 sa používa na napájanie vnútorných logických obvodov, ktoré by mali byť 5 V, a kolík Vcc2 slúži na napájanie motorov, ktoré môžu byť v rozsahu 4,5 V až 36 V.
Špecifikácie L293D:
- Napätie motora Vcc2 (Vs): 4,5 V až 36 V
- Maximálny špičkový prúd motora: 1,2 A.
- Maximálny nepretržitý prúd motora: 600 mA
- Napájacie napätie do Vcc1 (VSS): 4,5 V až 7 V.
- Prechodný čas: 300ns (pri 5V a 24V)
- K dispozícii je automatické tepelné vypnutie
Schéma zapojenia motorového vodiča HAT Raspberry Pi
Kompletný schematický diagram ovládača motora L293D s Raspberry Pi je zobrazený na obrázku nižšie. Schéma bola nakreslená pomocou programu EasyEDA.
Tento HAT sa skladá z integrovaného obvodu ovládača motora L293D, 16 * 2 LCD zobrazovacieho modulu a štyroch tlačidiel. Poskytli sme tiež kolíky pre modul SIM800 s regulátorom 3,3 V navrhnutým s použitím variabilného regulátora LM317 pre budúce projekty. Raspberry Pi Motor Driver HAT bude priamo sedieť na vrchu Raspberry Pi, čo uľahčí ovládanie robotov pomocou Raspberry Pi.
Výroba DPS pre motorový pohon HAT Raspberry Pi
Akonáhle je schéma hotová, môžeme pokračovať s vyskladaním DPS. DPS môžete navrhnúť pomocou ľubovoľného softvéru DPS podľa vášho výberu. Použili sme program EasyEDA na výrobu DPS pre tento projekt. Môžete si pozrieť ktorúkoľvek vrstvu (vrchná, spodná, vrchná vrstva, spodná vrstva atď.) DPS výberom vrstvy v okne „Vrstvy“. Okrem toho je k dispozícii aj 3D modelový pohľad na DPS o tom, ako by sa javilo po výrobe. Ďalej sú zobrazené 3D modely vrchnej a spodnej vrstvy plošných spojov Pi Motor Driver HAT.
Rozloženie dosiek plošných spojov pre vyššie uvedený obvod je tiež k dispozícii na stiahnutie ako Gerber z odkazu uvedeného nižšie:
- Pilník Gerber pre Raspberry Pi Motor Driver HAT
Objednávanie DPS z PCBWay
Po dokončení návrhu môžete pokračovať v objednávaní DPS:
Krok 1: Prejdite na stránku https://www.pcbway.com/ a zaregistrujte sa, ak ste prvýkrát. Potom na karte Prototyp PCB zadajte rozmery vašej PCB, počet vrstiev a požadovaný počet PCB.
Krok 2: Pokračujte kliknutím na tlačidlo „Citovať teraz“. Prejdete na stránku, kde môžete nastaviť niekoľko ďalších parametrov, ako napríklad typ dosky, vrstvy, materiál pre PCB, hrúbka a ďalšie. Väčšina z nich je predvolene vybratá, ale ak sa rozhodnete pre konkrétne parametre, môžete ich tu zvoliť.
Krok 3: Posledným krokom je nahranie súboru Gerber a pokračovanie v platbe. Pred pokračovaním v platbe PCBWAY overuje, či je váš súbor Gerber platný, aby sa ubezpečil, že proces je hladký. Týmto spôsobom si môžete byť istí, že vaša doska plošných spojov je výrobne priateľská a že sa k vám dostane ako zaviazaná.
Montáž
Po niekoľkých dňoch sme dostali náš DPS v úhľadnom balení a kvalita DPS bola ako vždy dobrá. Horná a spodná vrstva dosky sú zobrazené nižšie:
Po skontrolovaní správnosti stôp a stôp. Pokračoval som montážou DPS. Obrázok tu ukazuje, ako vyzerá úplne spájkovaná doska.
Nastavenie Raspberry Pi
Pred programovaním Raspberry Pi musíme nainštalovať požadované knižnice. Za týmto účelom najskôr aktualizujte operačný systém Raspberry Pi OS pomocou nasledujúcich príkazov:
Aktualizácia Sudo apt-get Aktualizácia Sudo apt-get
Teraz nainštalujte knižnicu Adafruit_CharLCD pre modul LCD. Táto knižnica je určená pre dosky LCD Adafruit, ale funguje aj s inými značkami LCD.
sudo pip3 nainštalujte Adafruit-CharLCD
Vysvetlenie kódu ovládača motora Raspberry Pi
Tu v tomto projekte programujeme Raspberry Pi tak, aby poháňal dva jednosmerné motory v smere dopredu, dozadu, doľava a doprava súčasne v dvojsekundovom intervale. Smer motorov sa zobrazí na LCD displeji. Celý kód je uvedený na konci dokumentu. Tu vysvetľujeme niektoré dôležité časti kódu.
Ako obvykle, spustite kód importom všetkých požadovaných knižníc. Modul RPi.GPIO slúži na prístup k pinom GPIO pomocou Pythonu. Modul čas sa používa k prerušeniu programu na vopred definovanú dobu.
import RPi.GPIO ako GPIO čas importu import doska import Adafruit_CharLCD ako LCD
Potom priraďte piny GPIO pre IC a LCD displej ovládača motora L293D.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Teraz nastavte 6 motorových pinov ako výstupné piny. Ďalšie štyri sú výstupné piny, z ktorých prvé dva slúžia na ovládanie pravého motora a ďalšie dva pre ľavý motor. Ďalšie dva piny sú Povoliť piny pre pravý a ľavý 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)
Vo vnútri while slučky posuňte dva jednosmerné motory v smere dopredu, dozadu, doľava a doprava súčasne v dvojsekundovom intervale.
GPIO.output (Motor1A, 0) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Left') tlač ("Left") spánok (2) #Forward GPIO.output (Motor1A, 1) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Forward') print ("Forward") …… ………………………………
Testovanie HAT motorického ovládača Raspberry Pi
Po dokončení montáže dosky plošných spojov namontujte HAT ovládača motora na Raspberry Pi a spustite kód. Ak všetko pôjde dobre, jednosmerné motory pripojené k Raspberry Pi sa budú každé dve sekundy pohybovať súčasne vľavo, dopredu, vpravo a dozadu a na LCD displeji sa zobrazí smer motora.
Takto si môžete zostaviť svoj vlastný HAT L293D Raspberry Pi Motor Driver. Celý kód a pracovné video projektu sú uvedené nižšie. Dúfam, že sa vám projekt páčil a bolo pre vás zaujímavé vytvoriť si vlastný. Ak máte nejaké otázky, nechajte ich prosím v sekcii komentárov nižšie.