- Компоненти, необходими за ШАПКА за двигател на Raspberry Pi
- L293D IC драйвер за двигател
- Схема на веригата за Raspberry Pi Motor Driver HAT
- Изработване на печатни платки за Raspberry Pi Motor Driver HAT
- Поръчка на печатни платки от PCBWay
- Сглобяване на
- Настройка на Raspberry Pi
- Обяснение на кода на драйвера на двигателя Raspberry Pi
- Тестване на ШАПКА за двигател на Raspberry Pi
Raspberry Pi HAT е допълнителна платка за Raspberry Pi със същите размери като Pi. Той може директно да се побере в горната част на Raspberry Pi и не изисква допълнителни връзки. На пазара има много шапки Raspberry Pi. В този урок ще създадем Raspberry Pi Motor Driver HAT за задвижване на постояннотокови и стъпкови двигатели. Тази шапка на моторния драйвер се състои от интегрална схема на драйвера на двигателя L293D, 16 * 2 LCD дисплеен модул, четири бутона и допълнителни щифтове за модул SIM800 с регулатор 3.3V. Тази Raspberry Pi HAT ще ви бъде полезна, докато изграждате роботизиран проект.
Тук използвахме PCBWay, за да предоставим платките за печатни платки за този проект. В следващите раздели на статията разгледахме пълната процедура за проектиране, поръчка и сглобяване на платките на печатни платки за Raspberry pi Motor Driver HAT Също така сме изградили Raspberry Pi Hat за 16x2 LCD и Raspberry Pi LoRa HAT в предишните си проекти.
Компоненти, необходими за ШАПКА за двигател на Raspberry Pi
- Raspberry Pi
- L293D IC
- 4 × Бутони
- SMD резистори (1 × 10K, 12 × 1K)
- 1 × 10K потенциометър
- 4 × SMD светодиоди
- LM317 Регулатор на напрежение
- 2 × винтови клеми
- 16 * 2 LCD модул
L293D IC драйвер за двигател
L293D е популярен 16-пинов двигател с интегрална схема. Както подсказва името, той се използва за управление на еднополярни, биполярни стъпкови двигатели, постояннотокови двигатели или дори серво мотори. Една единична интегрална схема L293D може да задвижва два постояннотокови мотора едновременно. Също така, скоростта и посоката на тези два двигателя могат да се контролират независимо. Тази интегрална схема се предлага с два щифта за входяща мощност, т.е. „Vcc1“ и „Vcc2“. Vcc1 се използва за захранване на вътрешната логическа схема, която трябва да бъде 5V, а Vcc2 щифтът е за захранване на двигателите, които могат да бъдат 4.5V до 36V.
L293D Спецификации:
- Напрежение на двигателя Vcc2 (Vs): 4.5V до 36V
- Максимален пиков ток на двигателя: 1.2A
- Максимален непрекъснат ток на двигателя: 600mA
- Захранващо напрежение към Vcc1 (VSS): 4.5V до 7V
- Преходно време: 300ns (при 5V и 24V)
- Предлага се автоматично термично изключване
Схема на веригата за Raspberry Pi Motor Driver HAT
Пълната схематична диаграма за двигател L293D с Raspberry Pi е показана на изображението, дадено по-долу. Схемата е изчертана с помощта на EasyEDA.
Тази HAT се състои от интегрална схема за двигател L293D, 16 * 2 LCD дисплеен модул и четири бутона. Ние също така осигурихме щифтове за модул SIM800 с регулатор 3.3V, проектиран с помощта на променливия регулатор LM317 за бъдещи проекти. Raspberry Pi Motor Driver HAT ще седи директно върху Raspberry Pi, което улеснява управлението на роботи, използващи Raspberry Pi.
Изработване на печатни платки за Raspberry Pi Motor Driver HAT
След като схемата бъде направена, можем да продължим с излагането на печатната платка. Можете да проектирате печатната платка, използвайки всеки софтуер за печатни платки по ваш избор. Използвахме EasyEDA за производството на печатни платки за този проект. Можете да видите всеки слой (Top, Bottom, Topsilk, bottomomskil и др.) На печатната платка, като изберете слоя от прозореца „Layers“. Отделно от това е предоставен и 3D изглед на печатната платка за това как би изглеждал след изработката. По-долу са изгледите на 3D модела на горния и долния слой на PCB HAT Pi Motor Driver HAT.
Оформлението на печатни платки за горната схема също е достъпно за изтегляне като Gerber от връзката, дадена по-долу:
- Гербер файл за Raspberry Pi Motor Driver HAT
Поръчка на печатни платки от PCBWay
След финализирането на дизайна можете да продължите с поръчката на печатната платка:
Стъпка 1: Влезте в https://www.pcbway.com/, регистрирайте се, ако за първи път. След това в раздела PCB Prototype въведете размерите на вашата PCB, броя на слоевете и броя на PCB, който ви е необходим.
Стъпка 2: Продължете, като кликнете върху бутона „Цитирай сега“. Ще бъдете отведени на страница, където да зададете няколко допълнителни параметъра като тип платка, слоеве, материал за печатни платки, дебелина и др. Повечето от тях са избрани по подразбиране, но ако избирате някакви конкретни параметри, можете да ги изберете тук.
Стъпка 3: Последната стъпка е да качите файла Gerber и да продължите с плащането. За да се увери, че процесът е гладък, PCBWAY проверява дали вашият Gerber файл е валиден, преди да продължи с плащането. По този начин можете да бъдете сигурни, че вашата PCB е удобна за изработка и ще се свърже с вас като ангажирана.
Сглобяване на
След няколко дни получихме нашата ПХБ в чист пакет и качеството на ПХБ беше добро както винаги. Най-горният и долният слой на дъската са показани по-долу:
След като се уверих, че следите и следите са правилни. Продължих със сглобяването на печатната платка. Изображението тук показва как изглежда напълно споената дъска.
Настройка на Raspberry Pi
Преди да програмираме Raspberry Pi, трябва да инсталираме необходимите библиотеки. За това първо актуализирайте Raspberry Pi OS, като използвате командите по-долу:
Sudo apt-get update Sudo apt-get upgrade
Сега инсталирайте библиотеката Adafruit_CharLCD за LCD модула. Тази библиотека е за LCD платки Adafruit, но също така работи и с други платки LCD.
sudo pip3 инсталирайте Adafruit-CharLCD
Обяснение на кода на драйвера на двигателя Raspberry Pi
Тук в този проект ние програмираме Raspberry Pi да задвижва два DC двигателя в посока напред, назад, наляво и надясно едновременно в интервал от две секунди. Посоката на двигателите ще се покаже на LCD дисплея. Пълният код е даден в края на документа. Тук обясняваме някои важни части от кода.
Както обикновено, стартирайте кода, като импортирате всички необходими библиотеки. Модулът RPi.GPIO се използва за достъп до GPIO пиновете с помощта на Python. Модулът време се използва за пауза в програмата за предварително определен момент.
импортиране RPi.GPIO като GPIO време за импорт дъска за импортиране внос Adafruit_CharLCD като LCD
След това задайте GPIO щифтовете за IC и LCD дисплея на драйвера на двигателя L293D.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Сега задайте 6-те щифта на двигателя като изходни щифтове. Следващите четири са изходните щифтове, от които първите два се използват за управление на десния мотор, а следващите два за левия мотор. Следващите два щифта са Разрешаване на щифтове за десен и ляв двигател.
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)
Вътре в контура while преместете двата DC двигателя в посока напред, назад, наляво и надясно едновременно в интервал от две секунди.
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")…… ………………………………
Тестване на ШАПКА за двигател на Raspberry Pi
След като завършите сглобяването на печатната платка, монтирайте HAT на драйвера на двигателя на Raspberry Pi и стартирайте кода. Ако всичко върви нормално, DC двигателите, свързани към Raspberry Pi, ще се движат едновременно наляво, напред, надясно и назад на всеки две секунди и посоката на двигателя ще се показва на LCD дисплея.
Ето как можете да създадете своя собствена шапка L293D Raspberry Pi Motor Driver. Пълният код и работното видео на проекта са дадени по-долу. Надявам се, че проектът ви е харесал и ви е било интересно да създадете свой собствен. Ако имате някакви въпроси, моля, оставете ги в раздела за коментари по-долу.