- Componentes necessários para o HAT do driver do motor Raspberry Pi
- IC do driver do motor L293D
- Diagrama de circuito para Raspberry Pi Motor Driver HAT
- Fabricando PCB para Raspberry Pi Motor Driver HAT
- Solicitando PCB da PCBWay
- Montando o
- Configuração Raspberry Pi
- Explicação do código do driver do motor Raspberry Pi
- Testando o HAT do driver do motor Raspberry Pi
Um Raspberry Pi HAT é uma placa complementar do Raspberry Pi com as mesmas dimensões do Pi. Pode caber diretamente na parte superior do Raspberry Pi e não requer mais conexões. Existem muitos CHAPÉUS Raspberry Pi disponíveis no mercado. Neste tutorial, vamos construir um Raspberry Pi Motor Driver HAT para acionar motores CC e de passo. Este driver de motor HAT consiste em um driver de motor L293D IC, 16 * 2 Módulo de exibição LCD, quatro botões e pinos extras para o módulo SIM800 com um regulador de 3,3V Este Raspberry Pi HAT será útil durante a construção de um projeto robótico.
Aqui, usamos o PCBWay para fornecer as placas PCB para este projeto. Nas seções a seguir do artigo, cobrimos o procedimento completo para projetar, solicitar e montar as placas PCB para o HAT do driver do motor Raspberry pi. Também construímos o chapéu Raspberry Pi para LCD 16x2 e o chapéu Raspberry Pi LoRa em nossos projetos anteriores.
Componentes necessários para o HAT do driver do motor Raspberry Pi
- Raspberry Pi
- L293D IC
- 4 × botões de pressão
- Resistores SMD (1 × 10K, 12 × 1K)
- 1 × 10K Potenciômetro
- 4 × LEDs SMD
- Regulador de tensão LM317
- 2 × terminais de parafuso
- Módulo 16 * 2 LCD
IC do driver do motor L293D
O L293D é um IC com driver de motor de 16 pinos popular. Como o nome sugere, ele é usado para controlar motores de passo unipolares, bipolares, motores DC ou mesmo servo motores. Um único L293D IC pode acionar dois motores CC ao mesmo tempo. Além disso, a velocidade e a direção desses dois motores podem ser controladas de forma independente. Este IC vem com dois pinos de entrada de energia, ou seja, 'Vcc1' e 'Vcc2'. Vcc1 é usado para alimentar os circuitos lógicos internos, que devem ser de 5 V, e o pino Vcc2, é para alimentar os motores, que podem ser de 4,5 V a 36 V.
Especificações do L293D:
- Tensão do motor Vcc2 (Vs): 4,5 V a 36 V
- Corrente máxima do motor de pico: 1,2A
- Corrente máxima contínua do motor: 600mA
- Tensão de alimentação para Vcc1 (VSS): 4,5 V a 7 V
- Tempo de transição: 300ns (em 5V e 24V)
- O desligamento térmico automático está disponível
Diagrama de circuito para Raspberry Pi Motor Driver HAT
O diagrama esquemático completo para o driver do motor L293D com Raspberry Pi é mostrado na imagem abaixo. O esquema foi desenhado usando EasyEDA.
Este HAT consiste no IC do driver do motor L293D, Módulo de exibição LCD 16 * 2 e quatro botões. Também fornecemos pinos para o Módulo SIM800 com um regulador de 3,3 V projetado usando o regulador variável LM317 para projetos futuros. O Raspberry Pi Motor Driver HAT ficará diretamente em cima do Raspberry Pi, tornando mais fácil controlar robôs usando Raspberry Pi.
Fabricando PCB para Raspberry Pi Motor Driver HAT
Assim que o esquema estiver pronto, podemos prosseguir com o layout do PCB. Você pode projetar o PCB usando qualquer software de PCB de sua escolha. Usamos EasyEDA para fabricar PCB para este projeto. Você pode visualizar qualquer camada (superior, inferior, superior, inferior, etc.) do PCB selecionando a camada na janela 'Camadas'. Além disso, também é fornecida uma visão do modelo 3D do PCB sobre como ele ficaria após a fabricação. Abaixo estão as vistas do modelo 3D da camada superior e da camada inferior do HAT PCB do driver Pi Motor.
O layout de PCB para o circuito acima também está disponível para download como Gerber no link fornecido abaixo:
- Arquivo Gerber para Raspberry Pi Motor Driver HAT
Solicitando PCB da PCBWay
Depois de finalizar o design, você pode prosseguir com o pedido do PCB:
Passo 1: Acesse https://www.pcbway.com/, inscreva-se se esta for a sua primeira vez. Em seguida, na guia Protótipo de PCB, insira as dimensões de seu PCB, o número de camadas e o número de PCB que você precisa.
Passo 2: Continue clicando no botão 'Citar Agora'. Você será levado a uma página onde pode definir alguns parâmetros adicionais como tipo de placa, camadas, material para PCB, espessura e muito mais. A maioria deles é selecionada por padrão, mas se você está optando por quaisquer parâmetros específicos, você pode selecioná-los aqui.
Etapa 3: A última etapa é fazer o upload do arquivo Gerber e prosseguir com o pagamento. Para ter certeza de que o processo está tranquilo, a PCBWAY verifica se o seu arquivo Gerber é válido antes de prosseguir com o pagamento. Dessa forma, você pode ter certeza de que sua placa de circuito impresso é de fabricação amigável e chegará até você quando estiver comprometida.
Montando o
Depois de alguns dias, recebemos nosso PCB em um pacote elegante e a qualidade do PCB estava boa como sempre. A camada superior e a camada inferior da placa são mostradas abaixo:
Depois de se certificar de que as pegadas e pegadas estavam corretas. Prossegui com a montagem do PCB. A imagem aqui mostra a aparência da placa totalmente soldada.
Configuração Raspberry Pi
Antes de programar o Raspberry Pi, temos que instalar as bibliotecas necessárias. Para isso, primeiro atualize o Raspberry Pi OS usando os comandos abaixo:
Sudo apt-get update Sudo apt-get upgrade
Agora instale a biblioteca Adafruit_CharLCD para o módulo LCD. Esta biblioteca é para placas LCD Adafruit, mas também funciona com placas LCD de outras marcas.
sudo pip3 install Adafruit-CharLCD
Explicação do código do driver do motor Raspberry Pi
Aqui neste projeto, estamos programando o Raspberry Pi para acionar dois motores CC nas direções para frente, para trás, para a esquerda e para a direita simultaneamente em um intervalo de dois segundos. A direção dos motores será exibida no LCD. O código completo é fornecido no final do documento. Aqui, estamos explicando algumas partes importantes do código.
Como de costume, inicie o código importando todas as bibliotecas necessárias. O módulo RPi.GPIO é usado para acessar os pinos GPIO usando Python. O tempo do módulo é usado para pausar o programa por um tempo predefinido.
import RPi.GPIO como GPIO import time import board import Adafruit_CharLCD como LCD
Depois disso, atribua os pinos GPIO para o IC do driver do motor L293D e o display LCD.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
Agora, defina os 6 pinos do motor como pinos de saída. Os próximos quatro são os pinos de saída dos quais os dois primeiros são usados para controlar o motor direito e os próximos dois para o motor esquerdo. Os próximos dois pinos são os pinos de habilitação para motores direito e esquerdo.
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)
Dentro do loop while, mova os dois motores DC nas direções para frente, para trás, para a esquerda e para a direita simultaneamente em um intervalo de dois segundos.
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") …… ………………………………
Testando o HAT do driver do motor Raspberry Pi
Assim que terminar de montar o PCB, monte o driver do motor HAT no Raspberry Pi e execute o código. Se tudo correr bem, os motores CC conectados ao Raspberry Pi se moverão para a esquerda, para a frente, para a direita e para trás simultaneamente a cada dois segundos e a direção do motor será exibida no visor LCD.
É assim que você pode construir seu próprio CHAPÉU de driver de motor L293D Raspberry Pi. O código completo e o vídeo de trabalho do projeto são fornecidos abaixo. Espero que você tenha gostado do projeto e achado interessante construir o seu próprio. Se você tiver alguma dúvida, deixe-as na seção de comentários abaixo.