Você está na página 1de 31

Por Fernando Koyanagi

Controlando um motor de passo


(Vídeo da montagem)
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.
Extraindo o motor do Scanner . . .
Extraindo o motor do Scanner . . .
Extraindo o motor do Scanner . . .
Extraindo o motor do Scanner . . .
Motor do Scanner
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).
Motor BIPOLAR
BRANCO e VERMELHO BRANCO e VERDE
NÃO formam uma NÃO formam uma
bobina bobina

(circuito aberto) (circuito aberto)

Branco e Amarelo VERMELHO e VERDE


formam uma bobina formam uma bobina

(resistência baixa) (resistência baixa)


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 - No modo FULL STEP as


+ - + - bobinas são ativadas e tem
suas polarizações invertidas
1 + - - -
sequencialmente.
2 - + - -
3 - - + -
4 - - - +
5 + - - -
6 - + - -
7 - - + -
8 - - - +
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.
Descrição dos pinos.
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
Escolhendo o driver para controle.

Sequencia de ativação.
In In In In Motor Motor Motor Motor
_1 _2 _3 _4 A+ A- B+ B-
1 0 0 0 + - - -
0 1 0 0 - + - -
0 0 1 0 - - + -
0 0 0 1 - - - +
Montagem do circuito

Conexões
ARDUINO, REGULADOR E FIO Módulo L298
MOTOR
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
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.


Código – Fonte do Arduino

Detalhe do loop – Passo 1 Detalhe do loop – Passo 2


Código – Fonte do Arduino

Detalhe do loop – Passo 3 Detalhe do loop – Passo 4


Entendendo o programa
Entendendo o programa
Entendendo o
programa
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

Você também pode gostar