Controlando um motor de passo - Animoby Games · As bobinas internas de um motor de passo podem...
Transcript of Controlando um motor de passo - Animoby Games · As bobinas internas de um motor de passo podem...
Características principais
Não possuem escovas ou comutadores aumentando a vida
útil.
Permitem o controle de velocidade e posicionamento mais
precisos.
Necessitam de um controle mais complexo para operação.
Rotaciona em ângulos discretos e sequenciais (chamados
passos).
Seu ponto forte é a precisão e não a velocidade ou torque,
ao contrário dos outros tipos de motores.
Configuração das bobinas ( Tipos )
As bobinas internas de um motor de passo podem aparecer
em duas configurações básicas: UNIPOLAR e BIPOLAR.
A forma como as bobinas são ligadas determinará a forma
de controle do motor e o tipo de driver que poderá ser
utilizado.
BIPOLAR
UNIPOLAR
Motor BIPOLAR As bobinas internas de um motor de passo BIPOLAR
são independentes (A+A- e B+B-). Normalmente
possuem 4 fios.
Para identificar os pares (A+A- ou B+B-), podemos utilizar
um ohmímetro. A resistência elétrica apresentada pelas
bobinas é baixa (na ordem de alguns ohms).
Se ao medir, detectarmos algum valor de resistência,
temos um par.
A identificação de qual bobina é A ou B não é importante
neste caso. Ao montar o circuito de ativação, perceberemos
se alguma das bobinas ficou invertida (+ e -), porque o motor
ao invés de girar irá oscilar de um lado para o outro. Basta
inverter os fios de alguma das bobinas.
- Motores Bipolares precisam de um driver capaz de
inverter a polaridade da tensão aplicada nas bobinas
(normalmente uma ponte H).
BRANCO e VERMELHO
NÃO formam uma
bobina
(circuito aberto)
Branco e Amarelo
formam uma bobina
(resistência baixa)
BRANCO e VERDE
NÃO formam uma
bobina
(circuito aberto)
VERMELHO e VERDE
formam uma bobina
(resistência baixa)
Motor BIPOLAR
Eletrônica digital e motores de passo
Para controlar os motores de passo, utilizamos
circuitos digitais para determinar a sequencia de
acionamento das bobinas. E a partir disso,
determinar sua velocidade de rotação, direção e
posicionamento.
Para isso, vamos programar um Arduino UNO para
efetuar o acionamento na sequencia e rapidez que
desejamos.
Eletrônica digital e motores de passo
Para motores BIPOLARES em modo FULL STEP:
Passo/Bobina A+
A-
B+
B-
1 + - - -
2 - + - -
3 - - + -
4 - - - +
5 + - - -
6 - + - -
7 - - + -
8 - - - +
- No modo FULL STEP as
bobinas são ativadas e tem
suas polarizações invertidas
sequencialmente.
Conhecendo o motor . . . Com o número de modelo do motor, procuramos pela sua
respectiva folha de dados.
Encontramos uma série próxima. Nela pudemos utilizar uma
tabela de comprimentos para encontrar o motor mais próximo.
Como o motor possui 30mm de comprimento, a
série mais próxima é a 17PM – K2.
Conhecendo o motor . . . Precisamos obter mais informações de nosso motor para poder caracterizá-lo. Uma medida que pode ajudar e é importante é a resistência das bobinas e o número de fios.
- Nosso motor possui 4 fios.
- Medindo o resistência do enrolamento encontramos 2,7 ohms aproximadamente.
Dos dois motores da série 17PM – K2, um deles
apresenta uma resistência similar, O 17PM – K249U.
Este pode ser o substituto mais atual do nosso motor.
MAS ATENÇÃO !!!
NOSSA INVESTIGAÇÃO NOS LEVOU A UM MOTOR
PARECIDO COM NOSSO MOTOR, MAS NÃO
SIGNIFICA QUE SEJA O MESMO MOTOR. ISSO
SERVIRÁ APENAS COMO NOSSO PONTO DE
PARTIDA, ONDE NOS ORIENTAREMOS, MAS NUNCA
JULGAREMOS QUE ESTAS INFORMAÇÕES SÃO
REALMENTE RELATIVAS A NOSSO MOTOR.
O MAIS ADEQUADO SEMPRE É TER A FOLHA DE
DADOS QUE REALMENTE CORRESPONDA AO
COMPONENTE.
Datasheet do motor . . .
Utilizando a folha de dados de nosso motor, encontramos as
seguintes informações:
- Número de passos por revolução: 200 (1,8 graus por passo)
- Corrente de operação: possivelmente 800mA
- Tensão de alimentação: possivelmente até 24V
- Configuração das bobinas: bipolar (4 fios)
Estas informações servirão apenas para uma orientação preliminar.
Escolhendo o driver para controle.
Não podemos utilizar o Arduino para controlar
diretamente as bobinas do motor.
Para isso será necessário utilizar um circuito
intermediário capaz de fornecer as tensões e
correntes adequadas. No caso, um circuito chamado
de driver.
Sua função será ajustar os sinais de controle enviados
pelo Arduino para os níveis adequados.
Escolhendo o driver para controle.
Para nosso tipo de motor usaremos o L298N, que
possui 2 pontes H internamente onde ligaremos cada
uma das bobinas e ele será responsável pela
polarização correta e o fornecimento de corrente.
O L298N pode suprir 2 ampères por canal. Nossa
expectativa é que o motor tenha um consumo por
volta de 800mA. Como utilizaremos uma fonte
ajustável de tensão para alimentar o motor e
monitoraremos a corrente drenada da fonte,
poderemos realizar a montagem com segurança.
Faremos isso aumentando a tensão de alimentação e
monitorando a corrente até que o motor apresente o
torque adequado.
Escolhendo o driver para controle.
Pinos Função
Motor A Saída para Motor A
+12V Alimentação do driver L298
GND Comum
+5V Saída de 5V (opcional)
ENA Habilita a saída de Motor A
In_1 1ª entrada de controle de polaridade (A)
In_2 2ª entrada de controle de polaridade (A)
In_3 3ª entrada de controle de polaridade (B)
In_4 4ª entrada de controle de polaridade (B)
ENB Habilita a saída de Motor B
Motor B Saída para Motor B
Descrição dos pinos.
Escolhendo o driver para controle.
In
_1
In
_2
In
_3
In
_4
Motor
A+
Motor
A-
Motor
B+
Motor
B-
1 0 0 0 + - - -
0 1 0 0 - + - -
0 0 1 0 - - + -
0 0 0 1 - - - +
Sequencia de ativação.
Montagem do circuito
ARDUINO, REGULADOR E
MOTOR
FIO Módulo L298
Pino 2 - Arduino AZUL In_1
Pino 3 - Arduino AZUL In_2
Pino 4 - Arduino LARANJA In_3
Pino 5 - Arduino LARANJA In_4
GND - Arduino PRETO GND
Saída do Regulador AMARELO +12V
GND do Regulador PRETO GND
A+ VERMELHO Motor A
A- PRETO Motor A
B+ VERMELHO Motor B
B- PRETO Motor B
Conexões
Código – Fonte do Arduino
Declarações Globais:
Começamos definindo constantes que representarão os pinos D2, D3, D4, D4 e D5 do Arduino. Estes pinos serão os responsáveis pela transmissão da sequencia de acionamento para o driver.
Criamos também uma variável chamada “velocidade”, que podemos utilizar para alterar a velocidade motor. Criamos como uma variável para poder explorar, caso desejássemos, a velocidade do motor utilizando o próprio código.
Código – Fonte do Arduino
Setup – Ajustando o Arduino
Na função void setup(), ajustamos
a função dos pinos de comando
como saídas digitais.
Código – Fonte do Arduino
Loop – Executando a sequencia de ativação
Será na função void loop() onde executaremos o acionamento sequencial das portas de comando, que transmitirão esta sequencia para o driver L298N que consequentemente ativará as bobinas.
O código simplesmente ativa os pinos como mostrado na tabela para cada um dos passos.
Vamos ver em detalhes.
Próximo tutorial
Montando um super servo com motor de passo e arduino
Em www.fernandok.com Download arquivo PDF dos diagramas Download arquivo INO do código fonte