- Komponenty wymagane dla Raspberry Pi Motor Driver HAT
- Układ scalony sterownika silnika L293D
- Schemat obwodu dla Raspberry Pi Motor Driver HAT
- Wykonanie PCB dla Raspberry Pi Motor Driver HAT
- Zamawianie PCB w PCBWay
- Składanie
- Konfiguracja Raspberry Pi
- Objaśnienie kodu sterownika silnika Raspberry Pi
- Testowanie kapelusza sterownika silnika Raspberry Pi
Raspberry Pi HAT to dodatkowa płytka dla Raspberry Pi o takich samych wymiarach jak Pi. Może pasować bezpośrednio do Raspberry Pi i nie wymaga żadnych dalszych połączeń. Na rynku dostępnych jest wiele Raspberry Pi HAT. W tym samouczku zamierzamy zbudować HAT sterownika silnika Raspberry Pi do napędzania silników prądu stałego i krokowego. Ta czapka sterownika silnika składa się z układu scalonego sterownika silnika L293D, modułu wyświetlacza LCD 16 * 2, czterech przycisków i dodatkowych styków do modułu SIM800 z regulatorem 3,3 V. Ten Raspberry Pi HAT przyda się podczas budowania robota.
Tutaj użyliśmy PCBWay do dostarczenia płytek PCB dla tego projektu. W kolejnych częściach artykułu omówiliśmy pełną procedurę projektowania, zamawiania i montażu płytek PCB dla Raspberry pi Motor Driver HAT. Zbudowaliśmy również Raspberry Pi Hat dla 16x2 LCD i Raspberry Pi LoRa HAT w naszych poprzednich projektach.
Komponenty wymagane dla Raspberry Pi Motor Driver HAT
- Raspberry Pi
- L293D IC
- 4 × przyciski
- Rezystory SMD (1 × 10K, 12 × 1K)
- Potencjometr 1 × 10 K.
- 4 × diody SMD
- Regulator napięcia LM317
- 2 × zaciski śrubowe
- Moduł LCD 16 * 2
Układ scalony sterownika silnika L293D
L293D jest popularnym 16-pinowym układem scalonym sterownika silnika. Jak sama nazwa wskazuje, służy do sterowania unipolarnymi, bipolarnymi silnikami krokowymi, silnikami prądu stałego, a nawet serwomotorami. Pojedynczy układ scalony L293D może jednocześnie sterować dwoma silnikami prądu stałego. Ponadto prędkość i kierunek tych dwóch silników można kontrolować niezależnie. Ten układ scalony jest wyposażony w dwa piny wejściowe zasilania, tj. „Vcc1” i „Vcc2”. Vcc1 służy do zasilania wewnętrznych obwodów logicznych, które powinno mieć napięcie 5 V, a pin Vcc2 służy do zasilania silników, które mogą mieć napięcie od 4,5 V do 36 V.
Specyfikacje L293D:
- Napięcie silnika Vcc2 (Vs): 4,5 V do 36 V.
- Maksymalny szczytowy prąd silnika: 1,2A
- Maksymalny ciągły prąd silnika: 600mA
- Napięcie zasilania do Vcc1 (VSS): 4,5 V do 7 V.
- Czas przejścia: 300ns (przy 5V i 24V)
- Dostępne jest automatyczne wyłączanie termiczne
Schemat obwodu dla Raspberry Pi Motor Driver HAT
Pełny schemat ideowy sterownika silnika L293D z Raspberry Pi pokazano na poniższym obrazku. Schemat został narysowany za pomocą EasyEDA.
Ta nakładka składa się z układu scalonego sterownika silnika L293D, modułu wyświetlacza LCD 16 * 2 i czterech przycisków. Dostarczyliśmy również piny do modułu SIM800 z regulatorem 3,3 V zaprojektowanym przy użyciu regulatora LM317 Variable do przyszłych projektów. Nakładka Raspberry Pi Motor Driver HAT zostanie umieszczona bezpośrednio na Raspberry Pi, co ułatwi sterowanie robotami za pomocą Raspberry Pi.
Wykonanie PCB dla Raspberry Pi Motor Driver HAT
Po wykonaniu schematu możemy przystąpić do układania PCB. Możesz zaprojektować PCB przy użyciu dowolnego wybranego oprogramowania PCB. Użyliśmy EasyEDA do wyprodukowania PCB dla tego projektu. Możesz wyświetlić dowolną warstwę (górną, dolną, topową, dolną itp.) PCB, wybierając warstwę z okna „Warstwy”. Oprócz tego dostępny jest również trójwymiarowy widok modelu PCB pokazujący, jak wyglądałby po wyprodukowaniu. Poniżej znajdują się widoki modelu 3D górnej warstwy i dolnej warstwy PCB sterownika Pi Motor HAT.
Układ PCB dla powyższego obwodu jest również dostępny do pobrania jako Gerber z linku podanego poniżej:
- Plik Gerber dla Raspberry Pi Motor Driver HAT
Zamawianie PCB w PCBWay
Po sfinalizowaniu projektu można przystąpić do zamawiania PCB:
Krok 1: Wejdź na https://www.pcbway.com/, zarejestruj się, jeśli to Twój pierwszy raz. Następnie w zakładce Prototyp PCB wprowadź wymiary swojej płytki PCB, liczbę warstw i liczbę potrzebnych PCB.
Krok 2: Kontynuuj, klikając przycisk „Cytuj teraz”. Zostaniesz przeniesiony na stronę, na której możesz ustawić kilka dodatkowych parametrów, takich jak typ płytki, warstwy, materiał na PCB, grubość i inne. Większość z nich jest zaznaczona domyślnie, ale jeśli zdecydujesz się na określone parametry, możesz je tutaj wybrać.
Krok 3: Ostatnim krokiem jest załadowanie pliku Gerber i kontynuacja płatności. Aby upewnić się, że proces przebiega bezproblemowo, PCBWAY sprawdza, czy plik Gerber jest prawidłowy przed przystąpieniem do płatności. W ten sposób możesz być pewien, że Twoja płytka drukowana jest przyjazna dla produkcji i dotrze do Ciebie zgodnie z zobowiązaniem.
Składanie
Po kilku dniach otrzymaliśmy PCB w zgrabnym opakowaniu, a jakość PCB była jak zawsze dobra. Poniżej pokazano górną i dolną warstwę płyty:
Po upewnieniu się, że ślady i ślady są prawidłowe. Przystąpiłem do montażu PCB. Zdjęcie tutaj pokazuje, jak wygląda całkowicie wlutowana płytka.
Konfiguracja Raspberry Pi
Przed zaprogramowaniem Raspberry Pi musimy zainstalować wymagane biblioteki. W tym celu najpierw zaktualizuj system operacyjny Raspberry Pi za pomocą poniższych poleceń:
Sudo apt-get update Sudo apt-get upgrade
Teraz zainstaluj bibliotekę Adafruit_CharLCD dla modułu LCD. Ta biblioteka jest przeznaczona dla tablic LCD Adafruit, ale działa również z tablicami LCD innych marek.
sudo pip3 zainstaluj Adafruit-CharLCD
Objaśnienie kodu sterownika silnika Raspberry Pi
Tutaj, w tym projekcie, programujemy Raspberry Pi do jednoczesnego sterowania dwoma silnikami prądu stałego w kierunku do przodu, do tyłu, w lewo i w prawo w dwusekundowych odstępach. Kierunek silników zostanie wyświetlony na wyświetlaczu LCD. Pełny kod znajduje się na końcu dokumentu. Tutaj wyjaśniamy kilka ważnych części kodu.
Jak zwykle, uruchom kod, importując wszystkie wymagane biblioteki. Moduł RPi.GPIO służy do dostępu do pinów GPIO za pomocą Pythona. Moduł czasowy służy do wstrzymać program na zaplanowanym czasie.
import RPi.GPIO jako GPIO import czas importu tablicy import Adafruit_CharLCD jako LCD
Następnie przypisz piny GPIO do układu scalonego sterownika silnika L293D i wyświetlacza LCD.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Teraz ustaw 6 pinów silnika jako piny wyjściowe. Kolejne cztery to piny wyjściowe, z których dwa pierwsze służą do sterowania prawym silnikiem, a kolejne dwa do lewego. Kolejne dwa piny to piny Enable dla prawego i lewego silnika.
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)
Wewnątrz pętli while, przesuń dwa silniki prądu stałego jednocześnie w kierunku do przodu, do tyłu, w lewo i w prawo w dwusekundowych odstępach.
GPIO.output (Motor1A, 0) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Lewo') print ("Lewo") uśpienie (2) #Forward GPIO.output (Motor1A, 1) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Forward') print ("Forward") …… ………………………………
Testowanie kapelusza sterownika silnika Raspberry Pi
Po zakończeniu montażu płytki drukowanej zamontuj sterownik silnika HAT na Raspberry Pi i uruchom kod. Jeśli wszystko pójdzie dobrze, silniki prądu stałego podłączone do Raspberry Pi będą poruszać się jednocześnie w lewo, w przód, w prawo i do tyłu co dwie sekundy, a kierunek silnika zostanie wyświetlony na wyświetlaczu LCD.
W ten sposób możesz zbudować swój własny L293D Raspberry Pi Motor Driver HAT. Pełny kod i działające wideo projektu są podane poniżej. Mam nadzieję, że projekt spodobał Ci się i zbudowanie własnego okazało się interesujące. Jeśli masz jakieś pytania, zostaw je w sekcji komentarzy poniżej.