Académique Documents
Professionnel Documents
Culture Documents
L A B O R A T R I O
Experincia
s experincias 5 e 6 so relacionadas com o acionamento por servo motores RC (Radio Controle). Esses servo motores so muito teis em pequenos projetos de acionamento devido ao seu baixo custo, facilidade de controle e preciso de posicionamento. Seu acionamento requer a gerao de um sinal de PWM (Pulse Width Modulation) com caractersticas especficas. Na experincia 5 ser realizado o acionamento de um servo motor com uma interface de usurio atravs do mdulo de LCD. J na experincia 6 devero ser acionados dois servo motores simultaneamente.
Objetivo
O objetivo destas duas experincias que o aluno se familiarize com o acionamento por microprocessador aprendendo como gerar sinais PWM por interrupo, em um eixo na experincia 5 e em dois eixos na experincia 6.
Resumo
Primeiramente, o aluno dever entender como gerar um sinal de sada num bit de uma porta do 8255 e depois como controlar esse bit dentro de uma interrupo, que produzir o sinal PWM desejado. Depois o aluno dever implementar um programa de controle de posio do servo motor RC atravs de uma interface que utiliza o display LCD e os botes do mdulo de LCD.
Servo motores RC so pequenos dispositivos de acionamento muito utilizados em aeromodelos. Devido o seu baixo custo, facilidade de acionamento e preciso de posicionamento so muito utilizados em pequenos projetos de robtica. Os servo motores RC utilizados no laboratrio so alimentados por tenses at 6 Volts e operam bem com os 5 Volts que alimentam o kit. Isso torna a sua ligao ao kit Figura 1. Servo motor RC praticamente direta, dispensando qualquer tipo de interface adicional. O servo motor RC possui 3 fios para sua conexo ao sistema., A Figura 2 mostra os sinais de cada um dos pinos do conector.
Pinos
1 2 3
1 Sinal de controle PWM 2 Alimentao entre 4,8 e 6 Volts 3 Alimentao - Terra
No pino 1 deve entrar o sinal PWM de controle de posio do servo motor. Os pinos 2 e 3 so destinados alimentao do servo. O sinal de PWM segue nveis de tenso e corrente dentro do padro TTL. J pelos pinos de alimentao passaro correntes que dependem do tamanho do servo. No caso do servo do laboratrio essas correntes devem ser inferiores a 1 Ampre.
Sinal de controle PWM
O sinal de controle do servo do tipo PWM, mas no utilizado como um PWM convencional. A largura do pulso de PWM controla a posio do servo, mas ao contrrio de um sinal PWM convencional, a essa variao da largura do pulso no corresponder uma variao de corrente proporcional no motor. Esse tipo de servo aceita pulsos peridicos a cada 20 ms continuamente. Esse tempo no crtico podendo variar tranqilamente entre 10 e 30 ms. O pulso de 1,5 ms considerado o meio do curso no posicionamento do servo. Um pulso de 1,0 ms deve corresponder ao mximo de posio para rotao num determinado sentido que cerca de -60. Da mesma maneira, um pulso de 2,0 ms dever corresponder ao mximo de posio para rotao no sentido oposto, cerca de +60. Esses so os limites especificados pelo fabricante. Valores de tempo de pulso menores que 1,0 ms e maiores que
2,0 ms podem ser utilizadas para se obter cerca de 180 de variao angular total, apesar de no serem garantidos pelo fabricante. A Figura 3 mostra a forma de onda do sinal de controle PWM.
20 ms
Para se gerar esse sinal, deve-se utilizar uma interrupo peridica a cada 20ms, a rotina de interrupo controla a largura do pulso atravs de um loop de software. Os timers do 8254 deve ser utilizados para gerar o sinal de interrupo INT 1 exatamente da mesma maneira que foram utilizados na Experincia 3. A Freqncia nessa experincia, contudo, dever ser de 50Hz na sada do Timer 1. Assim, ao invs de se programar a constante 100 no Timer 0 devese programar a constante 20. A constante do Timer 1 deve permanecer inalterada e igual a 3.072.
Procedimento Experimental
A sada PWM feita com o 8255 nessa experincia. Assim, o aluno dever estudar o datasheet do 8255 e saber como se configura a Porta C para sada. O bit 2 dessa porta utilizado como comando PWM para o servo motor RC.
Estudo obrigatrio. Ligando o servo motor RC no mdulo de I/O.
O servo motor RC conectado aos terminais 12, 14 e 16 do conector P4 do mdulo de I/O. A Figura 4 mostra como feita essa ligao, ou seja os pinos 1, 2 e 3 do conector do servo motor RC devem ser conectados nos pinos 12, 14 e 16 do conector P4 do mdulo de I/O nessa seqncia. O conector P4 do mdulo do I/O fornece a alimentao necessria ao servo motor RC atravs de seus pinos 14 e 16
1 2 3
Projeto.
O aluno dever implementar um programa para controlar um servo motor RC com comandos de configurao e movimentao pelas teclas do mdulo de LCD. Mensagens de status devero ser dadas pelo LCD. Segue a descrio do programa a ser implementado.
1. O servo motor RC deve ser conectado no mdulo de I/O de
da seguinte maneira: Porta A entrada, Porta B sada (LEDs), Porta C sada (servo motor RC).
3. Os timers 0 e 1 do 8254 do mdulo de I/O A programao dos
devem ser programados para gerar um pulso a cada 20 ms (modo 2), ou seja a freqncia do timer 1 de 50Hz.
uma interrupo peridica a cada 20 ms. No caso gerada a INT 1 (ou 6.5 do 8085)
2 do Port C do 8255 que o sinal de controle PWM para o servo motor RC. Essa rotina deve levantar o bit 2 do Port C do 8255, ficar num loop de software pelo tempo dado por uma varivel global que vai determinar a posio do servo e depois baixar o bit 2 deixando-o em zero at a prxima interrupo.
6. Devero ser parmetros configurveis no programa: limite de
tempo superior do PWM, limite de tempo inferior do PWM, velocidade mxima de deslocamento do servo motor.
7. Devero ser criadas 10 constantes de posicionamento (que
correspondem a 10 valores de tempo do PWM) que estejam entre os limites inferior e superior do PWM.
descritos a seguir.
Modo de operao.
Ao entrar nesse modo deve ser colocada a frase Controle servo na primeira linha do LCD. Nesse modo as teclas D0 e D4 controlam posicionamento do servo em 10 valores discretos entre 0 e 10. A tecla D0 decrementa a posio at um mnimo de 0 e a tecla D4 incrementa a posio at um mximo de 10. Ao incrementar ou decrementar a posio, o servo deve ser movimentar para a posio correspondente e o valor dessa posio deve ser mostrado nas ltimas posies segunda linha do display LCD com a palavra Posio: no incio da segunda linha. A tecla D7 chaveia para o segundo modo. A Figura 5 mostra a configurao de teclas e mensagens no LCD para esse modo.
Controle Posio:
servo 05
Posio entre 0 e 10
+
Chaveia o modo
Modo de configurao. Ao entrar nesse modo deve ser colocada a palavra Configuracao na primeira linha do LCD. As teclas so usadas para definir os diversos parmetros segundo a Tabela 1.
D2 D6
O primeiro conjunto de teclas D0 e D4 ajustam o limite superior do PWM, o segundo conjunto de teclas, D1 e D5, ajustam o limite inferior do PWM enquanto que o conjunto de teclas D2 e D6 ajustam a velocidade de
incremento ou decremento da posio. Ou seja, no caso de uma variao continua entre o limite inferior do PWM e o limite superior do PWM, esse parmetro especifica quanto tempo se dever esperar entre um incremento de posio e outro. Os valores de velocidade, limite inferior de PWM e limite superior de PWM devero se apresentados na 2 linha do display LCD, cada um precedido de uma legenda que identifique o valor. Assim, a velocidade dever ser precedida do identificador v:, o limite inferior de PWM dever ser precedido por i: e o limite superior de PWM dever ser precedido por s:, conforme mostrado na Figura 6. A tecla D7 chaveia para o prximo modo, ou volta para o anterior. A tecla D3 inicia ou para o movimento contnuo do servo motor entre o limite inferior do PWM e o limite superior do PWM com a espera em cada posio dada pelo parmetro velocidade. A Figura 6 mostra a configurao de teclas e mensagens no LCD para esse modo.
+ -
+ -
Check List Voc sabe programar os timers do 8254 para gerar um pulso a cada 20 ms? Voc sabe configurar a porta C do 8255 para sada? Voc sabe programar a interrupo INT 1 para gerar o PWM para o servo motor RC?
Entregar Rotina de programao dos timers para gerar um pulso a cada 20 ms Rotina de interrupo para gerar PWM Programa principal de controle
Experincia
Experincia 6 incrementa um modo de operao aos j desenvolvidos na experincia 5. Nesse novo modo sero controlados dois servo motores RC simultaneamente e ser desenvolvida uma interface com o usurio atravs do mdulo LCD para tratar esse novo caso.
Objetivo
O objetivo dessa experincia fazer o controle simultneo da posio de dois servo motores. O programa baseado numa interrupo peridica para gerar os sinais de PWM para os dois motores.
Resumo
Nessa experincia ser adicionado um modo de operao estrutura de programa desenvolvida na experincia anterior. Nesse modo sero controlados 2 servo motores RC simultaneamente. Ser definido um par de valores de posicionamento atravs da interface do mdulo de LCD e ser dado um comando para movimentar os 2 servo motores RC.
Procedimento experimental
A base para essa experincia a mesma para a experincia anterior. Deve ser recapitulada a programao do 8255 e como utilizar a interrupo para a gerao do sinal de PWM para os servo motores RC.
Estudo obrigatrio. Ligando dois servo motores RC no mdulo de I/O. Um dos servo motores
RC conectado aos terminais 12, 14 e 16 do conector P4 do mdulo de I/O da mesma maneira que na experincia 5. O outro servo motor RC conectado aos terminais 11, 13 e 15 do conector P4. A Figura 7 mostra como feita essa ligao, ou seja os pinos 1, 2 e 3 do conector de um dos servo motores RC devem ser conectados nos pinos 12, 14 e 16 do conector P4 do mdulo de I/O nessa seqncia enquanto que o segundo servo motor RC deve ter seus pinos 1, 2 e 3 conectados nos pinos 11, 13 e 15, respectivamente. O conector P4 do mdulo do I/O fornece a alimentao necessria aos servo motores RC atravs de seus pinos 14, 16, 13 e 15.
1 2 3
10 12 14 16 18 20 21 22 26
1 2 3
de operao ao programa da experincia 5. Esse modo dever fazer o controle de posio de 2 servo motores RC simultaneamente. As teclas do mdulo de LCD so usadas para controlar as funes desse modo e as mensagens para o usurio so dadas no display de LCD.
1. Os servo motores RC devem ser conectados ao mdulo de
experincia 5.
(1) a freqncia do timer 1 a mesma que a da experincia 5, 50 Hz, e na rotina de interrupo os dois sinais de PWM devem ser gerados ao mesmo tempo; (2) a freqncia do timer 1 o dobro da utilizada na experincia 5, ou seja 100Hz, e alternadamente na rotina de interrupo gerado o sinal de PWM para cada um dos motores.
4. Da mesma maneira que na experincia 5, a sada do timer 1 ser
utilizada para gerar a interrupo INT 1 para o 8085, a cada 20 ms, na primeira opo do item 3, ou a cada 10 ms, na segunda opo do item 3.
5. A rotina de interrupo dever levantar e baixar o bit 2 do Port
LCD, deve chavear entre os dois modos da experincia 5 e depois para o modo dessa experincia. Assim, os modos sero chaveados na seqncia: modo de controle de servo, modo de configurao e modo de posicionamento. O funcionamento do novo modo descrito a seguir. Ao entrar nesse modo deve ser escrita a palavra Posicionamento na primeira linha do LCD. As funes das teclas a seguinte:
Modo de posicionamento.
Teclas D0 e D4 servem para decremento e incremento, respectivamente, do valor da posio de um dos motores. Os valores possveis esto limitados a 10 posies distintas, da mesma maneira que foi definido na experincia 5. O valor da posio colocado na 2 linha do display de LCD depois da legenda y:. Teclas D1 e D5 servem para decremento e incremento, respectivamente, do valor da posio do outro motor. O valor da posio colocado na 2 linha do display de LCD depois da legenda x:. Tecla D6 chaveia entre movimento contnuo e controle de posio. No movimento contnuo os dois motores movimentam-se continuamente entre os limites do PWM definidos no modo de configurao. A direo do movimento dos dois motores definida pela tecla D2 conforme descrito no prximo item. A velocidade de movimentao corresponde ao parmetro definido no modo de configurao da experincia 5. No controle de posio os motores vo simultaneamente da sua posio atual para a posio apresentada na 2 linha do display de LCD.
Tecla D2 alterna a direo de movimento dos motores no movimento contnuo. O movimento pode se dar em duas direes: (1) motores se movem na mesma direo e (2) motores se movem em direes contrrias. Tecla D3 Se estiver definido o controle contnuo dos motores, essa tecla inicia e para o movimento. Se estiver definido o controle de posio, aps pressionar essa tecla os motores vo simultaneamente da posio atual para a posio definida na 2 linha do display de LCD. Tecla D8 chaveia entre os modos, assim se o modo atual for o modo de posicionamento, aps pressionar essa tecla programa ir para o modo de controle de servo.
+ -
Check List Voc sabe programar os timers do 8254 para gerar um pulso a cada 20 ms ou 10 ms? Voc sabe gerar dois sinais de PWM na Porta C do 8255 simultaneamente dentro da rotina de interrupo? Voc sabe mover continuamente os dois servo motores RC simultaneamente?
Entregar Rotina de programao dos timers para gerar um pulso a cada 20 ms ou a cada 10 ms (dependendo da escolha de como implementar o programa) Rotina de interrupo para gerar dois sinais de PWM simultaneamente Programa principal de controle
10