3 protocolo de comunicação do modelo m-5

Propaganda
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ
CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA
LABORATÓRIO DE ENGENHARIA DA COMPUTAÇÃO
TUTORIAL DE UTILIZAÇÃO DA PLACA DE AQUISIÇÃO E CONTROLE M-5
RESUMO - Este artigo descreve a placa de aquisição de dados M5 que
permite comunicação entre um hardware específico e um computador, utilizando a
porta serial disponível no PC. O modelo apresentado permite controlar até dois
motores de passo, ler até duas entradas analógicas e ainda possui 4 entradas ou
saídas digitais.
1 INTRODUÇÃO
A placa de aquisição e controle de dados é indicada no desenvolvimento
de projetos rápidos e sem a necessidade de uma implementação de hardware muito
complexo.
O firmware M-5 facilita a utilização de motores de passo, leitura de um
sinal analógico e controlar entradas e saídas digitais, requerendo apenas um
conhecimento básico de eletrônica digital.
Com a integração do software com o hardware, exercitamos os
conhecimentos na implementação de programas que controlam um dispositivo
eletrônico.
O diagrama da Figura 1 mostra o princípio de funcionamento da placa,
sendo dividida em módulos que podem ou não ser incluídos no projeto.
Figura 1: Diagrama geral
Para acionar um dispositivo ou ler alguma informação (por exemplo, um
motor de passo, entrada digital, etc.), o PC deve enviar um comando adequado
através da linha serial, sendo este interpretado e executado pela placa de aquisição
e controle. Em alguns casos, estes comandos retornam valores para o PC sendo
então necessária uma comunicação bidirecional.
Rev. 1.1
1/14
O modelo M-5 consiste em:





Microcontrolador Microchip PIC 16F876;
Driver serial utilizando MAX-232;
Driver para 2 Motores de Passo;
Conversor Analógico/Digital, 2 canais;
Entrada/Saída Digital (IO), uma porta de 4Bits.
O módulo principal e o modulo da comunicação serial são essenciais
para o funcionamento da placa. O driver para motor de passo, o módulo de leitura de
sinal analógico e as entradas / saídas (IO) são opcionais, pois são independentes e
aplicáveis de acordo com a necessidade do projeto.
2 PROCEDIMENTO DE MONTAGEM E TESTE
2.1 Aquisição do material
Este projeto requer apenas componente comercial. A aquisição do
microcontrolador Microchip PIC16F876-20/P pode ser feita através do seu
representante no Brasil, AUT-COMP, com sede em São Paulo. O contato deve
ser feito por telefone (11 – 6915-7443) e o seu custo é de aproximadamente US$
5,99 + 2% de IPI. A taxa de envio para Curitiba é de R$ 9,99. A forma de
pagamento é através de depósito bancário e o tempo para o envio é de
aproximadamente uma semana (dados obtidos em 11/09/2002).
Quanto aos outros componentes, podem ser encontrados nas lojas de
componentes eletrônicos. O motor de passo pode ter um custo alto se for
adquirido novo, porém há a opção de comprar um usado ou retirar de alguma
sucata de equipamentos como impressora, fax, scanner, e outros. Dê preferência
por motores de passo de 5 ou 6 terminais. Modelos com 4 terminais exigem um
circuito mais complicado.
Cuidado especial deve ser tomado quanto às características elétricas do
motor de passo, devendo a tensões e a correntes ser compatível com o circuito
montado. Por exemplo, se tivermos um circuito que funcione com 5V e possa
suprir no máximo uma corrente de 1A, não podemos ligar nele um motor que
consuma 2A ou que tenha uma tensão de alimentação de 2,8V, com risco de
danificar o circuito ou o motor. Os demais componentes necessários como
resistores e diodos têm seu custo mínimo e o preço pode variar muito
dependendo da loja.
2.2 Gravação do PIC
A gravação do PIC deve ser feita através do gravador PICStart Plus e do
software MPLAB disponíveis no Laboratório de Engenharia de Computação.
Através do MPLAB (acessando o menu FILE->IMPORT->IMPORT TO MEMORY),
uma caixa de diálogo irá abrir e solicitando o caminho do arquivo M-5.HEX que
deve ser importado (ver Figura 2).
Rev. 1.1
2/14
Figura 2: Procedimento de gravação
Para habilitar o programador, selecione o menu PICSTART PLUS-> ENABLE
PROGRAMMER (Figura 3).
Figura 3: Habilitação do gravador
Ao habilitar o programador, uma nova janela deve abrir e o botão
PROGRAM deve ser pressionado, Figura 4. Neste instante a gravação é iniciada
e podendo demorar alguns minutos. Concluída a gravação, uma mensagem de
sucesso é exibida e o chip pronto!
Figura 4: Parâmetros de programação
Rev. 1.1
3/14
2.3 Módulo principal
O módulo principal é composto do PIC, do MAX-232, do cristal, de um
resistor e do cabo serial. Sua montagem deve ser feita seguindo o esquema da
Figura 5.
O PIC deve ser alimentado com 5V no pino 20 e o GND nos pinos 8 e/ou
19. Um cristal oscilador de 4MHz deve ser ligado entre os pinos 9 e 10 e um
resistor de 1kΏ deve ser ligado no pino 1 para reset.
A interface serial tem como principal componente o MAX-232. Sua
função é conformar o sinal do padrão RS-232, que trabalha com níveis de tensão
de 12V a -12V, para o padrão TTL. São necessários quatro capacitores que
devem ser ligados, lembrando que os pinos de alimentação são respectivamente
os pinos 16 e 15, para Vcc (5V) e GND. Os pinos 9 e 10 são os pinos de TX e RX
que devem ser ligados ao PIC, pois trabalham com níveis TTL. Os pinos 7 e 8
são ligados nos pinos 2 e 3 do conector DB-9, no qual o sinal é do tipo RS-232. O
GND do conector DB-9 (pino 5) deve ser ligado com o GND da placa,
necessariamente. A Figura 6 mostra como deve ser feito o cabo serial, tomando o
devido cuidado para não confundir os pinos de DB-9 com o DB-25.
Figura 5: Módulo principal
Figura 6: Cabo serial
Rev. 1.1
4/14
2.4 Teste inicial
Para um teste inicial é necessário que o hiperterminal (Windows) seja
configurado corretamente conforme a seqüência
a) Execute o HIPERTERMINAL do Windows, criando uma nova
conexão, como mostra a Figura 7.
Figura 7: Nova conexão
b) Escolha qual porta serial será
direcionamos para a COM1, Figura 8
utilizada.
Normalmente
Figura 8: Escolhendo a porta serial
c) Por fim, conforme a Figura 9 configure:
 a velocidade, em bits por segundo, para 9600;
 o número de bits de dados, para 8;
 a paridade para nenhuma;
 o bit de parada para 1;
 o controle de fluxo também para nenhum.
Rev. 1.1
5/14
Figura 9: Configurações gerais da porta serial
Para sabermos se o hiperterminal foi configurado corretamente,
devemos conectar o cabo serial na COM1 e realizar um curto-circuito entre os
pinos 2 e 3 da outra ponta do cabo. Quando uma tecla alfanumérica é
pressionada este caractere deve aparecer no hiperterminal.
Após montar o módulo conforme a Figura 5, conectá-lo ao computador. Ao ligar
este módulo, uma mensagem de apresentação deverá ser exibida no
hiperterminal conforme a Figura 10.
Figura 10: Mensagem inicial
Rev. 1.1
6/14
2.5 Configuração das mensagens e do eco do teclado
Figura 11: Configuração inicial
A placa de aquisição geralmente retorna ao usuário cada tecla digitada
(eco) e mensagens para facilitar a visualização. Porém, ao desenvolver uma
aplicação no computador, estas opções podem ser inconvenientes. Para
ligar/desligar as opções de exibir as mensagens e eco, use o comando
CONFIG<ENTER>. Ao digitar este comando, as mensagens da Figura 11 serão
apresentadas permitindo ativar ou não estas opções. Estas configurações
permanecerão ajustadas mesmo se o PIC for desligado1.
2.6 Módulo de leitura e escrita digital
O procedimento a seguir descreve um teste inicial para determinar o
funcionamento dos sinais de leitura e escrita digital.
Conforme a Figura 12, conecte os pinos da porta de IO (IO-0, IO-1, ...,IO-3) aos
LEDs da mesa digital, não esquecendo de ligar o GND da mesa no terra do
circuito. Ao digitar o comando WR01<ENTER> no hiperterminal, o primeiro LED
deve acender.
Obs.: para melhor explicação do comando WR verifique o item 3.
Para testar estes sinais como entrada, podemos ligar os pinos de IO nas chaves
de mesa digital. Ao digitar o comando RD<ENTER> no hiperterminal, será exibida
a leitura dos bits como um valor em hexadecimal.
Com estes testes podemos ter uma noção geral do seu funcionamento.
1
Estas configurações são salvas na memória EEPROM (não volátil).
Rev. 1.1
7/14
Figura 12: Pinos de IO
2.7 Teste do acionamento de motor de passo
O procedimento a seguir descreve um teste inicial para verificar a seqüência de
acionamento dos dois motores de passo. Para isto, podemos conectar as saídas das
fases nos LEDs da mesa digital, conforme a Figura 13. Ao digitar o comando
SM1RUN <ENTER> no hiperterminal, os LEDs ligados a saída SM0..SM3 do motor
1 deverão acender na seqüência de acionamento normal das fases do motor. Ao
digitar o comando SMV80<ENTER> a seqüência será executada com uma
velocidade maior. Para parar, o comando SM1STOP<ENTER> pode ser utilizado.
Obs.: para melhor explicação do comandos acima verifique o item 3.
Figura 13: Saídas do motor de passo
2.8 Montagem do driver para motor de passo
O procedimento a seguir descreve o funcionamento e características da
etapa de potência que controla cada motor de passo.
mostra o módulo de driver de motor de passo, necessário para utilizarmos
Rev. 1.1
8/14
motores de maior potência. De acordo com os transistores utilizados este módulo
permite um aumento na capacidade de corrente das saídas. Os transistores
recomendados são de potência (por exemplo, TIP 121), com dissipador de calor
e/ou ventilação forçada. Os resistores que ligam o PIC com o transistor servem
para limitar a corrente de polarização dos transistores. Também é necessário
colocarmos diodos em paralelo com as bobinas do motor, evitando que uma
corrente reversa seja descarregada pelo transistor.
CUIDADO: observe a polaridade dos diodos na Figura 14!
CUIDADO: observe a tensão VR que não deve ultrapassar 30 V e a corrente
do transistor não pode ser maior que 2 A. Caso necessário, dissipadores de
calor e/ou ventilação forçada devem ser usados.)!
Figura 14: Driver do motor de passo com seis e cinco fios respectivamente.
Para trabalhar com motores de passo com 4 fios, o driver é um pouco mais
complicado. A Figura 15 mostra o diagrama em blocos de ligação no motor.
Rev. 1.1
9/14
Motor
De
Passo
Figura 15: Ligação dos 4 drivers com o motor de passo (4 fios)
Nesta figura verificamos a necessidade de 4 drivers do tipo SM-DRV. A Figura 16
exibe o diagrama esquemático recomendado para o SM-DRV.
Do PIC
Para o motor
Figura 16: diagrama esquemático do driver SM-DRV.
Neste diagrama, T1 utiliza o TIP 125, porém pode ser utilizado TIP126 ou TIP127. Já
o transistor T2 recomendado é o TIP 122, porém pode ser utilizado TIP120 ou
TIP121 sem problemas.
Observe ainda que o valor do resistor R3 deve ser calculado em função do da
tensão VR (ver Figura 16).
CUIDADO: observe a tensão VR que não deve ultrapassar 30 V e a corrente do
transistor não pode ser maior que 2 A. Monitore constantemente a temperatura
dos transistores e caso necessário dissipadores de calor e/ou ventilação
forçada devem ser usados!
Rev. 1.1
10/14
2.9 Modulo de leitura analógica
Para utilizar o módulo de leitura de canal analógico necessário que um
sinal analógico seja colocado nos pinos correspondentes ao AD1 e AD2.
CUIDADO: o sinal analógico aplicado aos terminais AD1 e AD2 deve estar
entre a faixa de 0V até 5V. Valores negativos ou maiores que 5 V podem
danificar o microcontrolador.
A Figura 17 exemplifica exibe uma forma de ligação simples utilizando
um potenciômetro. Com seu pino central ligado a entrada analógica e os outros
dois contatos ao GND e ao Vcc(5V), podemos variar o valor da tenção em AD0
girando o potenciômetro. Quando solicitada uma leitura através do comando
ADx<ENTER> (x representa o numero da porta do AD, de 0 a 3), o valor da
tensão é convertido em um valor digital de 8 bits (0V é convertido em 00h e 5V
em FFh). Para os valores intermediários basta realizar uma multiplicação inteira
(ignorando a parte fracionária) do valor de tensão de entrada por 51d. A resposta
será sempre exibida em HEXADECIMAL.
Figura 17: Leitura do AD
2.10 Fonte de alimentação
O circuito básico de uma fonte de alimentação para ligar o PIC com 5V/1A é
mostrado na Figura 18.
Figura 18: Fonte de alimentação
Rev. 1.1
11/14
ATENÇÃO: tome muito cuidado com montagem da fonte de alimentação, pois
está conectada a rede elétrica! Não brinque com este circuito! Caso a
montagem não esteja adequada, há riscos de choque-elétrico e queimaduras
causadas por curto-circuito! Antes de ligá-lo solicite orientação do professor
ou pessoal técnico qualificado.
Tabela 1: Lista de materiais da fonte de alimentação.
Componente
Fusível 2A/250V
Transformador 12V/1.5A
Diodo 1N4004
Capacitor de 3300µF/50V
Capacitor de 100µF/50V
Regulador de Tensão 7805
Resistor 270 Ω
LED
Qtd.
1
1
4
1
1
1
1
1
Os componentes da fonte não estão inclusos na lista de materiais descrita
no fim deste documento.
2.11 Outras aplicações
O módulo de leitura e escrita digital (item 2.5) também pode ser utilizado
para controlar/ler diversos dispositivos (LEDs, relés, displays, ler sensores,
switchs, etc.).
A Figura 19, mostra como ligar um relé a saída digital para controlar uma
lâmpada. Cuidado especial deve ser tomado para que a tensão de alimentação Vr
(no máximo 15V) seja compatível com a tensão da bobina do relé.
Figura 19: Acionamento de relé
2.12 Características elétricas


Rev. 1.1
Tensão de alimentação Vcc = 5V;
Consumo: menor que 2mA;
12/14




Tensão da entrada digital: 0/5V (padrão TTL);
Tensão da entrada analógica: de 0V até 5V;
Impedância máxima do circuito permitida na entrada analógica: 10k ohms;
Corrente de saída máxima do terminal do PIC = 20mA;
2.13 MATERIAIS
Para a montagem da placa são necessários os seguintes componentes
 1 Microcontrolador PIC 16F876-4 (Módulo Principal);
 1 Cristal de 4MHz (módulo principal);
 1 Resistores de 1k Ώ (módulo principal);
 4 Resistores de 330 Ώ (módulo principal);
 1 Interface Serial MAX-232 (modulo de comunicação serial);
 4 Capacitores de 10µ F/25 V (modulo de comunicação serial);
 4 Resistores de 470 Ώ (driver do motor de passo);
 8 Transistores TIP 121 ou equivalente (driver do motor de passo);
 8 Diodos de uso geral 1N4007 ou 1N4004 (driver do motor de passo).
Rev. 1.1
13/14
3 PROTOCOLO DE COMUNICAÇÃO DO MODELO M-5
A seguir são listados os comandos disponíveis para o módulo M-5.
Tipo de comando
Leitura e escrita digital
Leitura do Conversor
Analógico/Digital
Controle do motor de
passo
Comando
Descrição
Lê a porta de I/O (resposta em
RD
hexadecimal)
Escreve o dado dd (hexadecimal) na porta
WRdd
de I/O
Lê o canal “x” do conversor AD (resposta
ADx
em hexadecimal)
Configura o tempo entre as mudanças de
SMVdd
fase do motor de passo para delay
proporcional2 a dd (hexadecimal)
Ajusta sentido horário3 de rotação da
SMxRR
saída do motor de passo x
Ajusta sentido anti-horário da rotação da
SMxRL
saída do motor de passo x
Define o número dddd (hexadecimal) de
SMxdddd
passos que o motor x deverá girar.
Retorna com o número de passos que
ainda faltam para concluir o comando
SMx?
SMxdddd do motor x (resposta em
hexadecimal)
SMxRUN
Giro incondicional do motor de passo x
SMxSTOP Parada incondicional do motor de passo x
Parada incondicional do motor de passo x,
SMxFREE
com a liberação das bobinas4
Exemplos:



2
Para ler um dado da porta de IO é necessário utilizar o comando:
RD<ENTER>. O valor lido é retornado na forma de dois caracteres ASCII,
representando um byte em hexadecimal.
Para ligar os bits IO3 e IO2 desligando os bits IO2 e IO0 (ver Figura 12) é
necessário utilizar o comando: WR0A<ENTER>
Para ler um valor analógico do canal AD0 (ver Figura 17) é necessário utilizar
o comando: AD0<ENTER>. Será efetuada a leitura do AD0 e retorna dois
caracteres ASCII representando um byte em hexadecimal.
delay 
1024  dddd
(onde clock = 4MHz)
clock
3
Dependendo da seqüência de montagem das fases, o sentido de rotação pode ficar invertido.
Normalmente o motor de passo fica com as bobinas acionadas para fazer o travamento do motor de
passo, quando utilizado o comando FREE as bobinas ficam desligadas. Este comando pode ser útil
em sistemas onde é necessário economizar energia.
4
Rev. 1.1
14/14
Download