Академический Документы
Профессиональный Документы
Культура Документы
2007/2008
Introduo e Objectivos
O objectivo deste trabalho consiste em controlar um step motor atravs da introduo de
comandos pela consola que os envia pela porta srie. O comando dever incluir um
parmetro para o nmero de steps dado pelo motor, outro para a preciso dos micro passos
dados pelo motor e ainda outro para o sentido de rotao.
Adicionalmente fazer-se- um pequeno estudo adicional para determinar a velocidade
mxima de rotao do motor escolhido.
Implementao, Procedimento e Anlise
Em termos concretos, comearemos por seleccionar um step motor disponvel,
determinaremos a sequncia correcta dos pinos do motor e depois as sequncias binrias
para a preciso normal e dupla de forma a criar os movimentos de rotao pretendidos.
Construir-se- ento um algoritmo em C para efectuar a rotao do motor com os
parmetros desejados e integrar-se- isto com um sistema estruturado de recepo,
interpretao e execuo de comandos atingindo-se assim o objectivo deste trabalho
laboratorial.
1 sesso de laboratrio
Material utilizado:
Step motor OEM de 6 fios;
Osciloscpio digital;
Multmetro;
Foi-nos ento atribudo o step motor da figura 1. Sem entrar em detalhes sobre a estrutura
dos step motors, comeou-se por determinar com que tipo de step motor se ia trabalhar atravs
da medio da resistncia entre os vrios fios. Os resultados esto expressos na seguinte
tabela para melhor visualizao:
11,3
22,3
11,3
22,3
11,3
11,3
11,3
11,3
22,3
11,3
22,3
11,3
Tendo ento determinado a estrutura do step motor usado, restava agora saber a sequncia de
disposio das bobines internas para saber com que ordem se deve fornecer corrente
atravs dos terminais do step motor.
Para descobrir a sequncia correcta fazer-se- uso da Lei de Induo de Faraday. Se a
passagem de corrente atravs das bobines gera um campo nas bobines que induz o
movimento do ncleo magntico do motor, o processo inverso, isto , a rotao externa
(neste caso manual) do ncleo magntico do motor (agora gerador) vai induzir corrente nas
bobines de forma sequencial, corrente essa que podemos visualizar se ligarmos os terminais
do motor (agora gerador) s pontas de prova do osciloscpio.
Visuzalizando a diferena de fase entre os vrios sinais gerados, podemos ento determinar
com facilidade a sequencia correcta de rotao.
Canal (osciloscpio)
Por fim, estabeleceram-se as sequncias binrias que iro ser usadas no programa para
controlar o step motor e que tendo em conta o princpio de funcionamento deste e os dados
recolhidos acima, se tornam imediatas. Quando queremos efectuar movimentos em
preciso simples, basta-nos fornecer corrente de forma sequencial a cada pino
correspondendo isso sequncia binria:
1000, 0100, 0010, 0001, 1000, ...
Quando queremos efectuar movimentos em preciso dulpa, criamos um estado intermdio
atravs do fornecimento de corrente em simultneo a dois pinos sucessivos. Isto vai
obrigar o ncleo magntico a colocar-se numa posio intermdia entre as duas bobines
gerando assim mais preciso. A sequncia naturalmente maior devido ao aumento de
resoluo:
1000, 1100, 0100, 0110, 0010, 0011, 0001, 1001, 1000, ...
E aqui se concluiu a primeira sesso de laboratrio.
2 sesso de laboratrio
Por fim, para assegurar que no temos saltos bruscos tinham-se duas hipteses, ou guardar
sempre o ltimo estado do motor e rodar a partir desse ponto ou obrigar o motor a
efectuar sempre um determinado nmero de passos que assegure que estou sempre em
situao conhecida. Por questes de convenincia e sugesto do docente, escolheu-se a
segunda opo.
Como nota adicional, convm referir que a velocidade de rotao ser controlada atravs
de um parmetro interno do programa utilizando uma funo de delay.
A funo responsvel pela interpretao e armazenamento dos parmetros de orientao,
preciso e nmero de passos a funo interpreterRoda. A funo responsvel pela execuo
do ciclo de rotao a funo executeRoda.
Utilizando a estrutura bsica de interrupes e comunicao via porta srie dos programas
anteriores j extensivamente explicados aquando dos mesmos, construram-se as fundaes
da interaco com o utilizador deste programa.
Ao contrrio do que se fez nos programas anteriores, procedeu-se finalmente a uma
estruturao em blocos de todo o programa, estrutura essa j sub-entendida na explicao
do algoritmo principal. Convm referir neste contexto que todas as variveis de relevo
foram armazenadas em estruturas para facilitar o aproveitamento futuro deste programa
noutras aplicaes ou adio de funcionalidades.
Desta forma, a funo principal agora apenas directamente responsvel pela gesto
directa das consequncias das interrupes geradas o que se reflecte na gesto indirecta de
comandos. O ponto mais importante desta gesto indirecta que liga o algoritmo principal
interaco com o utilizador, feita atravs da funo findCommand que trata da gesto dos
comandos introduzidos a pedido da funo principal.
Regressando ao procedimento laboratorial propriamente dito, consultou-se ento a datasheet
do ULN2803 que se vai usar como amplificador dos sinais lgicos que provm do nosso
CPU para o step motor.
Efectuaram-se as ligaes aos outputs do CPU para as entradas do ULN2803, ligaram-se as
suas sadas ao step motor de acordo com a ordem determinada na primeira sesso laboratorial
e por fim ligou-se a alimentao ao ULN2803 e tambm ao ponto comum do step motor
tendo o cuidado de usar uma resistncia em srie para proteco do motor.
Figura 4 Sinais da bobine e de dois steps consecutivos a 5000 ciclos de relgio (irregular)
Figura 5 Sinais da bobine e de dois steps consecutivos a 6000 ciclos de relgio (limite)
Figura 6 Sinais da bobine e de dois steps consecutivos a 10000 ciclos de relgio (estvel)
Figura 7 Sinais da bobine e de dois steps consecutivos a 50000 ciclos de relgio (estvel)