MICROCONTROLADORES PIC – PRÁTICA - PARTE 3
CONTROLE DE MOTOR DE PASSO



Os motores de passo são amplamente difundidos no mundo da eletrônica / mecatrônica / microrobótica. Sua precisão, aliada a sua força (torque) fazem deste motor um excelente “posicionador”. Eles estão presentes em impressoras, pequenos CNC’s, mesas “XY”, etc. Por estas e muitas outras razões, os motores de passo também são utilizados em pequenos e médios robôs. Alguns dos robôs que publiquei na revista Mecatrônica Fácil, como o ADR-2ADR-3 e o Desenhista,  utilizaram motores de passo para se locomover.

Para operar um motor de passo, temos que “ligar” e “desligar” (chaveamento) suas bobinas em uma seqüência correta. A freqüência com que estas bobinas são “chaveadas” determinará a velocidade de giro do motor. Para fazê-lo girar em sentido contrário devemos inverter a seqüência de chaveamento. Veja a tabela abaixo, nela descrevo a seqüência para operar um motor de passo de seis fios (duas bobinas independentes).

Tabela - Seqüência para chaveamento


Seqüência de Passos

1

2

3

4

...1...

Bobina 1

1

1

0

0

1

Bobina 2

0

0

1

1

0

Bobina 3

1

0

0

1

1

Bobina 4

0

1

1

0

0

Os valores iguais a “1” equivalem à bobina ligada e os valores iguais a “0” equivalem à bobina desligada. A analise da tabela é feita do “passo 1” para o “passo 4”. A partir desse ponto a operação é repetida para manter o motor em funcionamento. Lembrando que a maioria dos motores necessitam de mais de 70 passos para uma volta completa. Quanto mais passos para uma volta o motor necessitar, mais preciso o mesmo será.

Para fazer o motor girar em sentido contrário, devemos fazer a analise inversa na tabela. O primeiro passo passa a ser o de número “4” e o último o de número “1”. Esta operação é repetida até conseguirmos o número de voltas desejado.

Infelizmente não existe uma padronização entre os fabricantes de motores de passo, que nos permita através de um código de cores identificar as ligações de suas bobinas internamente. Para isso é necessário que você, de posse de um multímetro na posição de leitura de resistências, faça uma analise de seu motor. A figura abaixo demonstra como isso deve ser feito.



O CIRCUITO

Na figura abaixo, você tem o circuito do exemplo prático proposto. Meu protótipo foi montado em uma matriz de contato (pront-o-board). Porém se você não tem esta ferramenta, poderá montar o circuito em uma placa do tipo padrão (universal) ou mesmo construir uma placa de circuito impresso. Em ambos os casos o uso de um soquete para evitar soldar o PIC é altamente recomendável.



Para alimentar o circuito você poderá montar uma fonte de alimentação com 12V para os motores e 5 V para o PIC, conforme a figura abaixo.



Você também pode utilizar um suporte para oito pilhas (ou dois suportes para quatro pilhas associados em série) médias para os motores e um suporte de quatro pilhas pequenas com um diodo 1N4001 associado em série com estas para alimentar o PIC. Veja a figura abaixo.

Obs.: Se você for utilizar a alimentação do circuito através de pilhas é muito importante que o número de pilhas seja exatamente como descrito acima: oito pilhas médias para os motores e quatro pilhas pequenas para o PIC, com um diodo esteja presente. As quatro pilhas pequenas fornecerão 6V e o diodo causará uma queda de tensão de aproximadamente 0,7V. Assim tem-se 5,3V máximos na alimentação que estará dentro da faixa do PIC (5VDC +/- 10%). A associação das 8 pilhas em série gerará uma tensão igual a 12V, tensão da maioria dos motores de passo. Não observar estas recomendações pode significar o “fim” do seu microcontrolador!!! 

Apesar de ser possível realizar os testes com pilhas, o uso das mesmas em circuitos que utilizam motores de passo não é recomendado, pois o consumo destes é grande. Caso você escolha esta opção, deve ter em mente que isso só deve ser feito em caso de testes e nunca para circuitos finais.


O PROGRAMA

Para compreender melhor o funcionamento do programa você deve observar o fluxograma apresentado na figura abaixo.


Obs.: O código fonte deste exemplo aqui apresentado está disponível para download no final desta página.

O programa “inicia” as variáveis, o vetor de interrupção e prepara as portas de entrada e saída. Na rotina principal ele inicia um “loop” de leitura para ver qual chave foi pressionada e então interpreta o comando colocando o motor em movimento, ou não, no sentido solicitado.

O controle do motor é feito através de três chaves. S1 faz o motor girar em sentido horário, S2 em sentido anti-horário e S3 para o motor. Não foi inserido controle de velocidade e você poderá realizar testes alterando o tempo de execução da seqüência através da função TEMPMOTOR no código fonte. Como exercício você poderá também inserir mais chaves para o controle da velocidade, por exemplo.



CONCLUSÃO

O controle de um motor de passo não é assim algo tão complicado como parecia ser. O mais importante é estar atento aos "conceitos". De nada adianta ir direto ao código fonte, copiá-lo e usá-lo em um outro projeto, sem antes ter compreendido o conceito demonstrado.




DOWNLOADS:

- Código fonte


Lista de materiais para o exercício proposto 

Semicondutores

1 – PIC16F84A-4/P – microcontrolador Microchip
4 – TIP112 – transistores darlington NPN


Resistores

1 – 330R – laranja, laranja, marrom
3 – 4K7 – amarelo, violeta, vermelho
4 – 10K – marrom, preto, laranja


Capacitores

2 – 33pF – capacitor cerâmico


Diversos

1 – cristal 4MHz
1 – motor de passo unipolar, 4 bobinas, 6 ou 5 fios – bobinas 12V(veja texto)
3 – chaves “push-buttons” normalmente abertas
1 – fonte de alimentação (veja texto)
1 – suporte para 4 pilhas pequenas (veja texto)
2 – suportes para 4 pilhas médias (veja texto)
Matriz de contato (pront-o-board), fios para ligação, etc


Lista de materiais para fonte

Semicondutores

1 – 7805 – regulador de voltagem
4 – 1N4001 – diodo retificador
1 – LED – tipo comum, vermelho e redondo


Resistores

1 – 330R – laranja, laranja, marrom


Capacitores

1 – 1000uFx25V – eletrolítico
1 – 330nF (0,33uF) – poliéster
1 – 100nF (0,1uF) – poliéster


Diversos

1 – Transformador 12+12V x 1000mA (1A)
Placa para montagem, chave liga/desliga, rabicho, gabinete, cabos para ligação, plugs tipo “banana” (vermelho e preto), fios, etc



Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.