Neste tutorial, aprenderemos sobre Servo Motor e como fazer a interface do Servo com MSP430. O MSP-EXP430G2 é uma ferramenta de desenvolvimento também conhecida como LaunchPad fornecida pela Texas Instruments para aprender e praticar como usar seus microcontroladores. Esta placa se enquadra na categoria de Linha de valor MSP430, onde podemos programar todos os microcontroladores da série MSP430. Se você é novo no MSP, verifique nosso tutorial de introdução ao MSP430.
Servo motor e PWM:
Antes de entrar em detalhes, primeiro devemos conhecer os Servo motores.
Um servo motor é uma combinação de motor DC, sistema de controle de posição e engrenagens. Os servos possuem diversas aplicações no mundo moderno e com isso, estão disponíveis em diversos formatos e tamanhos. Estaremos usando o Servo Motor SG90 neste tutorial, é um dos mais populares e mais baratos. SG90 é um servo de 180 graus. Portanto, com este servo podemos posicionar o eixo de 0 a 180 graus.
Um servo motor tem principalmente três fios, um é para tensão positiva, outro é para aterramento e o último é para ajuste de posição. O fio vermelho está conectado à alimentação, o fio marrom está conectado ao aterramento e o fio amarelo (ou BRANCO) está conectado ao sinal.
Cada servo motor opera em frequências PWM diferentes (a frequência mais comum é 50HZ, que é usada neste tutorial), portanto, obtenha a ficha técnica de seu motor para verificar em qual período de PWM seu servo motor funciona.
A frequência do sinal PWM (modulado por largura de pulso) pode variar com base no tipo de servo motor. O importante aqui é a DUTY RATIO do sinal PWM. Com base nesta razão de dever, a eletrônica de controle ajusta o eixo.
Conforme mostrado na figura abaixo, para que o eixo seja movido para 9o, a RAÇÃO PARA LIGAR deve ser 1 / 18.ie. 1ms de tempo ON e 17ms de tempo OFF em um sinal de 18ms.
<Para que o eixo seja movido para 12o clock, o tempo ON do sinal deve ser 1,5 ms e o tempo OFF deve ser 16,5 ms. Esta relação é decodificada pelo sistema de controle no servo e ele ajusta a posição com base nele. Este PWM aqui é gerado usando MSP430. Saiba mais sobre como gerar PWM com MSP430 aqui.
Antes de conectar o servo ao MSP430, você pode testar seu servo com a ajuda deste circuito testador de servo motor. Verifique também nossos projetos Servo abaixo:
- Controle servo motor usando Arduino
- Controle do servo motor com Arduino Due
- Interface Servo Motor com Microcontrolador 8051
- Controle servo motor usando MATLAB
- Controle de servo motor por Flex Sensor
- Controle de posição servo com peso (sensor de força)
Materiais requisitados:
- MSP430
- Servo SG90
- Fios macho-fêmea
Diagrama de circuito e explicação:
No MSP430, temos bibliotecas que são predefinidas e as funções PWM já estão escritas nessas bibliotecas, portanto, não precisamos nos preocupar com os valores PWM. Você tem que apenas colocar o ângulo pelo qual deseja girar o eixo e o resto é operado por essas bibliotecas e microcontroladores.
Aqui, estamos usando o PIN 6, ou seja, P1.4, que é o pino PWM do MSP430. Mas você pode usar qualquer PIN. Não é necessário usar o pino PWM para servo porque todas as funcionalidades PWM são escritas na própria biblioteca.
O arquivo de cabeçalho usado para controlar o servo é “ servo.h ”.
Usaremos Energia IDE para escrever nosso código. O código é simples e fácil de entender. É igual ao Arduino e pode ser encontrado no menu Exemplo. O código completo e o vídeo são fornecidos abaixo. Você pode editar o código conforme sua necessidade e enviá-lo para o MSP430
É isso!! Fizemos a interface de um servo motor com um microcontrolador PIC, agora você pode usar sua própria criatividade e descobrir aplicações para isso. Existem muitos projetos por aí que usam um servo motor.