Controle de servo motor preto Beaglebone
Este tutorial explica o uso fundamental do PWM onde o servo motor é controlado por potenciômetro. É um motor DC que opera com pulso elétrico. Você pode fazer a interface direta do servo motor com o Beaglebone black sem qualquer driver IC. Para isso você deve escrever um programa em script python com adafruit PWM e biblioteca ADC.
Ferramentas necessárias:
- Beaglebone Preto
- Servo motor (micro servo 9g)
- Potenciômetro (5kΩ)
- Resistor de 1 k Ω
- 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
É um tutorial de aprendizagem simples no qual fiz a interface do servo motor e do potenciômetro com o Beaglebone preto. Quando o script está sendo executado, ele entra em um loop contínuo. A posição do servo motor varia de acordo com o valor do potenciômetro. Se você variar o valor do potenciômetro, o ângulo de rotação do servo motor também muda. Quando o valor do ângulo inserido atingir o valor limite do servo motor, saia do loop contínuo e pare o programa. 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. O servo motor requer 4,8 V, enquanto o potenciômetro precisa de apenas 3,3 V. O BBB possui 5 V no sistema de chip e 3,3 V no conector do pino, o que permite extrair ambas as fontes do Beaglebone Black. O sistema 5 V é consumido para o servo motor e 3,3 V é consumido para o potenciômetro. 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. Outro lado da placa de ensaio conecta o sistema de alimentação de 5 V do pino número 8º do cabeçalho P9 e torna o aterramento comum com o pino número 2e do cabeçalho P8.
O potenciômetro possui três terminais. O do meio é o terminal de saída e está conectado ao pino ADC (40º pino do cabeçalho P9) de Beaglebone preto. A saída do potenciômetro é um valor analógico, por isso está conectado ao pino ADC. Qualquer pino esquerdo ou direito do potenciômetro é conectado a 3,3 V e os pinos restantes são conectados ao pino de aterramento ADC (34º pino do cabeçalho P9).
O servo motor também possui três terminais:
Fio laranja – entrada de pulso
Fio vermelho – Vcc
Fio marrom – Terra

O servo motor é um atuador rotativo que controla a posição linear ou angular do motor. É controlado por pulso elétrico com várias larguras ou modulação por largura de pulso. BBB tem pino PWM no chip. O servo motor é conectado ao pino PWM (13º pino do cabeçalho P8) do BBB. Eu conectei um resistor de 1k ohm entre os dois para protegê-lo de danos desnecessários.
Código-fonte do projeto
Código-fonte do projeto
###
importar Adafruit_BBIO.PWM como PWM
###
Diagramas de circuito
| servo-BBB6 controlado por beagleblack | ![]() |
Vídeo do projeto
