Figura 1- Motores de Passo.
É um tipo de motor elétrico que não possui escova, são construídos para operarem em corrente contínua(DC) e são acionados pela polarização de suas bobinas. Geralmente são utilizados em aplicações que demandam precisão e torque, podem ser utilizados na agricultura, automobilística, robótica, cortes CNC, impressoras, etc.
Podem ser classificados em 3 tipos, conforme sua construção: Ímã permanente, Relutância Variável ou hibrido.
Ímã permanente
São mais baratos e tem baixa resolução, normalmente seus passos são de 7,5º a 15º (24 – 48 passos/resolução). O eixo é constituído de um ímã permanente e não possui dentes. Os polos energizados do eixo provem uma maior quantidade de fluxo magnético e por isso o motor de ímã permanente tem uma melhor característica de toque, quando comparado com o motor de relutância variável. No entanto, ainda existe o motor híbrido, que tem mais torque que os outros.
Relutância Variável
Esse motor é utilizado em circuitos ou sistemas com menor relutância. Consiste em um eixo de ferro com vários dentes. Quando os enrolamentos estão polarizados “energizados”, ocorre a atração dos dentes e se aciona a rotação do eixo. Pelo fato do rotor não ser magnetizado, esse tipo de motor tem menos torque quando comparado com os outros motores de passo.
Híbrido
O motor hibrido é bem mais caro que os outros, mas tem uma melhor resolução de passos, normalmente de 3,6º a 0,9º 9 (100 – 400 passos/resolução). Também tem um torque maior que os motores de ímã permanente e de relutância variável. O motor híbrido contém um ímã permanente no eixo e também as melhores características de um motor de relutância variável. Os dentes do eixo possibilitam um melhor caminho para guiar o fluxo magnético para os locais preferidos no Gap de ar.
Motores de passos possuem polos magnéticos que determinam o número de passos por revolução.
Ex.: Alguns motores possuem 200 passos por revolução. Isso significa que num giro de 360 graus, o motor possui uma resolução precisa de 1.8 graus em cada passo.
A força do motor é medida em Torque (Kgf.cm). Porém, conforme aumentamos a velocidade de acionamento das bobinas,o torque tende a diminuir.
Veja abaixo o exemplo na figura abaixo de um motor NEMA17 da PBC Linear
Figura 2 - Curva referente torque versus velocidade de acionamento parao motor NEMA 17da PBC Linear.
A maioria dos motores de passos não possuem feedback para sua orientação, embora tenham bastante precisão durante seu posicionamento. Outra desvantagem é a sua baixa eficiência, já que para obtermos torque elevado devemos aplicar muita potencia nas bobinas.
Nomenclatura.
Normalmente os motores de passos seguem uma norma referente ao padrão NEMA,sigla para "National Electrical Manufacturers Association"{,} que é uma tabela de características referente ao tipo do motor, considerando sua dimensão, número de passos por revolução, classe de isolação, número de fios etc. Por exemplo: o motor NEMA 23 possui altura e largura em torno de 2.3 polegadas. O padrão NEMA é bastante utilizado na indústria, pois permite que motores de diferentes fabricantes possam ser utilizados na mesma aplicação ou projeto.
Para saber mais sobre o padrão NEMA:
Bobinas e Fases
Um motor de passos pode ter várias bobinas, mas essas bobinas são agrupadas juntas, sendo denominadas de fases. Todas as bobinas em uma determinada fase são polarizadas ao mesmo tempo. Segue abaixo as tabelas um, dois e três para polarização das bobinas em modo Full-Step, e Half-Step.
Tabela 1 - Passo Completo 1 (Full-Step)
Tabela 2 - Passo Completo 2 (Full-Step)
Tabela 3 - Meio Passo (Half-Step)
Podemos classificar o acionamento dos motores como unipolar e bipolar, como na Figura a baixo.
Figura 3 - Exemplo de configuração nos motores bipolares e Unipolares.
Motor unipolar.
Um motor unipolar possui dois enrolamentos (que podem ser compostos de varias bobinas) por fase. Podemos encontrar facilmente motores de cinco ou seis fios unipolares. Nesses motores, temos um ou dois fios que são ligados em um ponto comum VCC ou GND, sobrando quatro fios para serem acionados durante a polarização.
Quando não se tem o datasheet de um motor de passos, uma solução é medir a resistência entre os fios do motor.
Podemos determinar facilmente o fio (s)comum (s) do motor medindo a resistência com um multímetro. Você poderá medir a resistência entre dois fios aleatórios. O fio que indicar a mesma resistência em relação a todos os outros fios é o comum. Normalmente a medida de cada um dos fios em relação ao comum será a metade da resistência encontrada entre os outros fios sobressalentes.
Exemplo de Uso para Motor Unipolar.
Abaixo podemos conferir um exemplo para identificação dos fios do motor em um motor de 5 fios, onde podemos verificar a resistência do fio comum em relação aos outros fios do motor. Nesse exemplo podemos notar que a resistência entre fio comum, de cor vermelha e os outros fios é por volta de 72Ω enquanto que a resistência entre todos os outros fios, tirando o comum é de 144Ω. Podemos olhas a baixo a ligação de um motor analisado.
Para esse exemplo selecionamos um motor unipolar PN: KPO9HM2-029
Figura 4 - Identificaçaõ das resistencias nos fios do motor de passos.
Com as medidas realizadas nos fios do motor podemos montar a seguinte tabela.
Tabela 4 - Identificação dos fios para Motor Unipolar
Uma vez identificado as bobinas podemos levantar o esquema esquema elétrico que será útil para determinarmos a seqüência de polarização das bobinas.
Figura 5 - Caracterização dos fios das bobinas do motor.
Depois de identificar o fio comum podemos colocá-lo em uma fonte, em VCC e ir alternando o GND da fonte em cada um dos fios restantes procurando identificar uma seqüência completa de acionamento. Você pode verificar a seqüência correta pelo movimento do rotor, que devera deslocar um passo em cada pulso aplicado em cada fio (Nesse caso com o GND). O sentindo do deslocamento poderá ser horário ou anti-horário. Algum tempo poderá ser perdido durante essa etapa, mas uma vez identificada a seqüência correta não precisaremos mais repetir esse procedimento.
A seqüência de acionamento será usada durante a programação para girar o motor de passos. E para alterar o sentido da rotação é só alteramos a seqüência dos pulsos aplicados nas bobinas dentro do programa.
Esse tipo de motores são facilmente acionados e pra isso podemos usar drivers formados por transistores sendo comandados por um microcontrolador.
Abaixo podemos observar um esquema para acionamento dos motores.
Figura 6 - Exemplo de acionamento de um motor unipolar com um micro controlador AT89c2051 e um Driver para utilizando transistores do tipo NPN.
O link para download da placa pode ser encontrado aqui.... Coloque o link para o arquivo do gerber dessa placa.
Software de Programação para Motor Unipolar
Segue abaixo um exemplo de programação usando AT89C2051 com o PORT1 Para testes práticos foi adicionado um tempo de acionamento de 500μs entre cada polarização. Esse tempo devera ser ajustado conforme o motor e aplicação, lembrando que um tempo menor faz com que o motor perca o torque durante acionamento.
O tempo de acionamento é importante para o desempenho do motor, pois sendo escolhido incorretamente o motor poderá travar ou até mesmo entrar em ressonância, vibrar ou perder passos.
Figura 7 - Sequencia para HalfStep usando AT89C2051 com delay de 500ms entre cada acionamento para uma seqüência em sentido horário.
Para invertermos o sentido de rotação do motor basta iniciar a seqüência de polarização de baixo pra cima durante a programação, Passo 8 , Passo 7, Passo 6... Passo1.
Podemos ainda utilizar circuitos integrados como driver, por exemplo o ULN2003 no qual sete transistores são integrados no mesmo encapsulamento. Sempre que optarmos por uma solução já pronta, devemos considerar o nível de corrente que estará passando pelas bobinas durante o acionamento. Correntes muito elevadas poderão danificar o circuito. A figura 8 demonstra um esquematico para o acionamento de 2 motores unipolares com um micro controlador PIC18F877A fazendo o acionamento dos drivers ULN2003.
Figura 8 - Esquemático para acionamento de motores unipolar com microcontrolador PIC18F877A e o driver ULN2003.
Programação no micro controlador PIC
Abaixo podemos ver um exemplo de programação em um controlador PIC16F877A de um motor unipolar:
Nesse exemplo usamos o PORTD para escrever a seqüência de bits para a polarização de cada bobina.
Delay_us: seria o intervalo para a nova polarização, TIME_DELAY recebe o valor de 500us, lembrando que o uso do delay é muito importante para controlar o torque do motor.
O tempo de acionamento é importante para o desempenho do motor, pois sendo escolhido incorretamente o motor poderá travar ou até mesmo entrar em ressonância, vibrar ou perder passos.
Figura 9 - Exemplo de programação HalfStep utilizando microcontrolador PIC 18F877A para acionamento de motor Unipolar.
Motor bipolar
Um motor bipolar geralmente possui quatro ou oito fios para acionamento. Nos quais devemos inverter a polarização das bobinas durante o acionamento. Sua polarização é mais complicada do que nos motores unipolares, porem conseguimos trabalhar com maior torque nesses motores. Existe duas ligações por fase, nenhuma está em comum. Também conseguimos determinar quais são as bobinas com a ajuda de um multímetro.
Na figura seis e sete, e também a tabela cinco podemos conferir um exemplo na qual podemos verificar a resistência das bobinas, identificando-as dessa maneira. Nesse exemplo podemos notar que a resistência entre os fios 1 e 3 é em torno de 12Ω, o que seria a resistência da bobina, caso medimos os fios 1 e 2 veremos que não há resistência entre eles.
Exemplo de uso para motores bipolares.
No exemplo abaixo analisaremos um motor bipolar com 4 fios.
Figura 10 - Teste resistência no multímetro.
Figura 11 - Motor Bipolar.
Tabela 5 - Motor bipolar analisado.
Essa etapa de identificação nos motores bipolares de 4 fios é mais rápida que nos motores unipolares. Pois precisamos apenas levantar os fios que são conectadas as bobinas.
Para podermos acionar esse tipo de motor devemos levar em consideração que as bobinas devem ser polarizadas em sentidos opostos para o motor poder girar. Dessa forma, se faz necessário o uso de um circuito de driver em ponte H para inversão da corrente de polarização.
Figura 12 - Driver para motor Bipolar.
Software de Programação para Motor Bipolar
Abaixo podemos ver um exemplo de programação de um motor Bipolar usando o micro controlador PIC18F877A:
Nesse exemplo usamos o PORTD para escrever a seqüência de bits para a polarização de cada bobina.
Delay_us: seria o intervalo para a nova polarização, que no caso é 1000μs.
Para testes práticos, criamos dois tempos que determinam o ligamento e o desligamento das bobinas e um tempo de delay entre o acionamento das bobinas. Esses tempos deverão ser ajustados em cada caso considerando motor e aplicação.
O tempo de acionamento é importante para o desempenho do motor, pois sendo escolhido incorretamente o motor poderá travar ou até mesmo entrar em ressonância, vibrar ou perder passos.
Figura 13 - Exemplo de programação FullStep utilizando microcontrolador PIC 18F877A para acionamento de motor bipolar.
Para invertermos o sentido de rotação do motor basta iniciar a seqüência de polarização de baixo pra cima durante a programação, Passo 4 , Passo 3, Passo 2 e Passo1.
Controle de motor de passo bipolar com L298
No caso de motores bipolares também podemos recorrer a utilização de drivers prontos como o L298, que possui dois canais formados por ponte H com capacidade de acionamento de motores até 46V, com corrente maxima 2A por canal. Nesse caso um integrado L298 pode acionar um motor bipolar.
No esquemático abaixo podemos visualizar um circuito onde um controlador PIC12F877A pode acionar 2 motores bipolares fazendo uso de dois drivers do tipo L298.
Figura 14 - Esquemático para acionamento de motores bipolares com microcontrolador PIC18F877A e o driver L298.