Este tutorial explica como fazer a interface do motor DC com o Beaglebone preto, onde o motor DC atua como um dispositivo atuador. Devido à corrente insuficiente, não é possível acionar o motor diretamente do BBB e, portanto, é necessário um IC do driver do motor. O programa é escrito em script python com a biblioteca Adafruit GPIO.
Ferramentas necessárias:
- Beaglebone preto
- motor DC
- Driver IC (ou seja, L293D)
- Botão de apertar
- Resistor de 1 kΩ
- Capacitor de 0,1uF
- Tábua de ensaio
- Conectores fêmea para fêmea
Configuração do ambiente de software
Instale a versão mais recente do python no BBB conforme explicado no tutorial Como fazer o primeiro programa python com Beaglebone Black. Instale a biblioteca Adafruit python-GPIO chamada adafruit_BBIO.
Trabalhando
Eu fiz a interface do motor DC e do switch com o pino GPIO do Beaglebone Black. Quando o script é executado, ele entra em um loop contínuo. Um toque no interruptor começará a girar o motor no sentido horário, enquanto outro toque o desligará. Imprensa Ctrl+C para interromper a execução do programa no terminal de comando SSH.
Descrição
Vamos primeiro preparar a conexão do circuito. Pegue uma placa de ensaio e forneça VCC e aterramento do BBB até a linha da placa de ensaio. L293D opera em pelo menos 4,5 V enquanto Switch e GPIO funcionam em 3,3 V. BBB possui sistema de chip de 5 V e cabeçalho de pino de 3,3 V. Portanto, você pode retirar os dois suprimentos do Beaglebone Black. O sistema 5 V é consumido para L293D e 3,3 V é consumido para switch e GPIO.
Em um lado da placa de ensaio, conecte a alimentação de 3,3 V do pino número 3terceiro do cabeçalho P9 e aterramento do pino número 2e do cabeçalho P8. Por outro lado, conecte o sistema de alimentação de 5 V do pino número 8º do cabeçalho P9 e faça o aterramento comum com o pino número 2e do cabeçalho P8.
O botão de pressão possui dois terminais. Qualquer um deles se conecta ao solo. Forneça o resistor VCC de 3,3 V a 1k ohm para outro terminal do botão. Extremidade comum do resistor e botão, conecte com o pino número 30º do cabeçalho P9.
L293D é um driver de motor IC que permite acionar o motor em ambas as direções. O acionamento do motor CC está com alta capacidade de corrente, mas o pino GPIO do BBB não consegue gerar corrente suficiente para acionar o motor CC. O L293D IC supera esse problema e é necessário para fazer a interface entre o BBB e o motor DC. O L293D também protege o BBB contra danos devido à fem traseira gerada pelo motor DC.
A saída do BBB está conectada à entrada do L293D. Pino número 8º e 9º do cabeçalho P8 atuam como terminais positivo e negativo do motor, respectivamente. Pegue a entrada desses pinos e conecte com input1 (2e pino do L293D) e entrada2 (7º pino de L293D) Pino de L293D respectivamente. Faça a interface do motor DC entre a saída 1 (3terceiro pino do L293D) e saída2 (6º pino do L293D) pino do L293D. Forneça 5 V do sistema para ambos VCC (16º pino do L293D) e VSS (8º pino do L293D) pino do L293D. VCC é fonte para tradução lógica interna em L293D e VSS é alimentação para driver 5V.
Conectei um capacitor de 0,1 uF entre os terminais de saída 1 e saída 2 para alinhamento e proteção contra fem traseira. Forneça a alimentação ao Beaglebone preto conectando ao PC através de um cabo USB. Agora seu circuito está preparado.
Abra o terminal de comando e acesse o Beaglebone black através do SSH conforme explicado no tutorial começando com Beaglebone preto. Crie um novo arquivo usando tocar comando com .py extensão (ou seja, led.py). Abra o arquivo com qualquer editor de texto (ou seja, nano, vim etc.) e escreva um código em linguagem python.
Configuração do pino GPIO
Importe a biblioteca GPIO da biblioteca adafruit Beaglebone black chamando a seguinte linha no programa:
importar Adafruit_BBIO.GPIO como GPIO
Configuração e função do GPIO já expliquei no tutorial Interface de LED com Beaglebone Black e switch com interface com Beaglebone preto.
Execute o script no terminal:
Digite o seguinte comando com o nome do arquivo no prompt de comando:
nome do arquivo python.py
ou seja, python dcMotor.py