- Komponenty požadované pro HAT ovladače motoru Raspberry Pi
- Integrovaný obvod ovladače motoru L293D
- Schéma zapojení Raspberry Pi Motor Driver HAT
- Výroba PCB pro Raspberry Pi Motor Driver HAT
- Objednání desky plošných spojů z PCBWay
- Sestavování
- Nastavení Raspberry Pi
- Vysvětlení kódu ovladače motoru Raspberry Pi
- Testování HAT ovladače motoru Raspberry Pi
Raspberry Pi HAT je přídavná deska pro Raspberry Pi se stejnými rozměry jako Pi. Může se přímo vejít na vrchol Raspberry Pi a nevyžaduje žádné další připojení. Na trhu je k dispozici mnoho HAT Raspberry Pi. V tomto tutoriálu budeme stavět HAT Raspberry Pi Motor Driver pro řízení stejnosměrných a krokových motorů. Tento HAT Driver Driver se skládá z IC ovladače motoru L293D, 16 * 2 LCD zobrazovacího modulu, čtyř tlačítek a dalších pinů pro modul SIM800 s regulátorem 3,3 V. Tento Raspberry Pi HAT se bude hodit při stavbě robotického projektu.
Zde jsme použili PCBWay k poskytnutí desek plošných spojů pro tento projekt. V následujících částech článku jsme se zabývali kompletním postupem návrhu, objednávky a montáže desek plošných spojů pro Raspberry pi Motor Driver HAT. V našich předchozích projektech jsme také postavili Raspberry Pi Hat pro 16x2 LCD a Raspberry Pi LoRa HAT.
Komponenty požadované pro HAT ovladače motoru Raspberry Pi
- Raspberry Pi
- L293D IC
- 4 × tlačítka
- SMD rezistory (1 × 10K, 12 × 1K)
- 1 × 10K potenciometr
- 4 × LED diody SMD
- Regulátor napětí LM317
- 2 × šroubové svorky
- 16 * 2 LCD modul
Integrovaný obvod ovladače motoru L293D
L293D je populární 16kolíkový integrovaný obvod ovladače motoru. Jak název napovídá, používá se k ovládání unipolárních, bipolárních krokových motorů, stejnosměrných motorů nebo dokonce servomotorů. Jeden integrovaný obvod L293D může pohánět současně dva stejnosměrné motory. Rychlost a směr těchto dvou motorů lze také řídit nezávisle. Tento IC je dodáván se dvěma piny napájení, tj. „Vcc1“ a „Vcc2“. Vcc1 se používá k napájení vnitřních logických obvodů, které by měly být 5V, a kolík Vcc2 k napájení motorů, které mohou být 4,5V až 36V.
Specifikace L293D:
- Napětí motoru Vcc2 (Vs): 4,5V až 36V
- Maximální špičkový proud motoru: 1,2 A.
- Maximální trvalý proud motoru: 600 mA
- Napájecí napětí na Vcc1 (VSS): 4,5V až 7V
- Přechodný čas: 300ns (při 5V a 24V)
- K dispozici je automatické tepelné vypnutí
Schéma zapojení Raspberry Pi Motor Driver HAT
Kompletní schematický diagram ovladače motoru L293D s Raspberry Pi je zobrazen na obrázku níže. Schéma bylo nakresleno pomocí EasyEDA.
Tento HAT se skládá z IC ovladače motoru L293D, 16 * 2 LCD zobrazovacího modulu a čtyř tlačítek. Rovněž jsme poskytli kolíky pro modul SIM800 s regulátorem 3,3 V navrženým s použitím variabilního regulátoru LM317 pro budoucí projekty. Raspberry Pi Motor Driver HAT bude přímo sedět na Raspberry Pi, což usnadní ovládání robotů pomocí Raspberry Pi.
Výroba PCB pro Raspberry Pi Motor Driver HAT
Jakmile je schéma hotové, můžeme pokračovat s vyložením desky plošných spojů. Desku plošných spojů můžete navrhnout pomocí libovolného softwaru desek plošných spojů podle vašeho výběru. Pro výrobu PCB pro tento projekt jsme použili EasyEDA. Můžete zobrazit libovolnou vrstvu (nahoře, dole, Topsilk, bottomsilk atd.) Desky plošných spojů výběrem vrstvy v okně „Layers“. Kromě toho je k dispozici také 3D pohled na desku plošných spojů o tom, jak by vypadala po výrobě. Níže jsou 3D pohledy na horní vrstvu a spodní vrstvu desky plošných spojů Pi Motor Driver HAT.
Uspořádání desek plošných spojů pro výše uvedený obvod je také k dispozici ke stažení jako Gerber z níže uvedeného odkazu:
- Soubor Gerber pro HAT Raspberry Pi Motor Driver
Objednání desky plošných spojů z PCBWay
Po dokončení návrhu můžete pokračovat v objednávání desky plošných spojů:
Krok 1: Vstupte na https://www.pcbway.com/, zaregistrujte se, pokud jste poprvé. Poté na kartě Prototyp desky plošných spojů zadejte rozměry desky plošných spojů, počet vrstev a požadovaný počet desek plošných spojů.
Krok 2: Pokračujte kliknutím na tlačítko „Citovat nyní“. Budete přesměrováni na stránku, kde můžete nastavit několik dalších parametrů, jako je typ desky, vrstvy, materiál pro PCB, tloušťka a další. Většina z nich je vybrána ve výchozím nastavení, ale pokud se rozhodnete pro konkrétní parametry, můžete je vybrat zde.
Krok 3: Posledním krokem je nahrání souboru Gerber a pokračování platby. Před pokračováním v platbě PCBWAY ověří, zda je váš soubor Gerber platný, aby byl proces hladký. Tímto způsobem si můžete být jisti, že vaše deska plošných spojů je přátelská k výrobě a zastihne vás.
Sestavování
Po několika dnech jsme dostali naše PCB v úhledném balení a kvalita PCB byla jako vždy dobrá. Horní vrstva a spodní vrstva desky jsou zobrazeny níže:
Poté, co se ujistil, že stopy a stopy jsou správné. Pokračoval jsem v montáži desky plošných spojů. Obrázek zde ukazuje, jak vypadá úplně pájená deska.
Nastavení Raspberry Pi
Před programováním Raspberry Pi musíme nainstalovat požadované knihovny. Za tímto účelem nejprve aktualizujte operační systém Raspberry Pi pomocí následujících příkazů:
Aktualizace Sudo apt-get Aktualizace Sudo apt-get
Nyní nainstalujte knihovnu Adafruit_CharLCD pro modul LCD. Tato knihovna je určena pro LCD desky Adafruit, ale funguje také s jinými značkovými LCD deskami.
sudo pip3 nainstalujte Adafruit-CharLCD
Vysvětlení kódu ovladače motoru Raspberry Pi
Zde v tomto projektu programujeme Raspberry Pi tak, aby poháněl dva stejnosměrné motory ve směru vpřed, vzad, doleva a doprava současně ve dvousekundovém intervalu. Směr motorů se zobrazí na LCD. Celý kód je uveden na konci dokumentu. Zde vysvětlujeme některé důležité části kódu.
Jako obvykle spusťte kód importem všech požadovaných knihoven. Modul RPi.GPIO se používá pro přístup k pinům GPIO pomocí Pythonu. Modul čas se používá k přerušení programu na předem definovanou dobu.
import RPi.GPIO jako GPIO čas importu import desky import Adafruit_CharLCD jako LCD
Poté přiřaďte piny GPIO pro IC a LCD displej ovladače motoru L293D.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Nyní nastavte 6 motorových pinů jako výstupní piny. Další čtyři jsou výstupní piny, z nichž první dva slouží k ovládání pravého motoru a další dva pro levý motor. Další dva piny jsou Povolit piny pro pravý a levý 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)
Ve smyčce while pohybujte dvěma stejnosměrnými motory ve směru vpřed, vzad, doleva a doprava současně ve dvousekundovém intervalu.
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") …… ………………………………
Testování HAT ovladače motoru Raspberry Pi
Po dokončení montáže desky plošných spojů namontujte HAT ovladače motoru na Raspberry Pi a spusťte kód. Pokud vše půjde dobře, stejnosměrné motory připojené k Raspberry Pi se budou každé dvě sekundy pohybovat současně ve směru vlevo, vpřed, vpravo a vzad a směr motoru se zobrazí na LCD displeji.
Takto si můžete vytvořit svůj vlastní HAT L293D Raspberry Pi Motor Driver. Celý kód a pracovní video projektu jsou uvedeny níže. Doufám, že se vám projekt líbil a bylo pro vás zajímavé vytvořit si vlastní. Máte-li jakékoli dotazy, nechte je prosím v sekci komentářů níže.