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-4 RESUMO - Este artigo descreve a placa de aquisição de dados M-4 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-4 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/13 O modelo M-4 consiste em: Microcontrolador Microchip PIC 16F876; Driver serial utilizando MAX-232; Driver para 4 Motores de Passo; 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 e o módulo das 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$ 7,21 + 2% de IPI. A taxa de envio para Curitiba é de R$ 13,00. 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-4.HEX que deve ser importado (ver Figura 2). Rev. 1.1 2/13 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/13 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/13 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/13 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/13 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/13 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 Rev. 1.1 8/13 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. A Figura 14 mostra o módulo de driver de motor de passo com 5 ou 6 fios. 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. Monitore constantemente a temperatura dos transistores e 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/13 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/13 2.9 Fonte de alimentação O circuito básico de uma fonte de alimentação para ligar o PIC com 5V/1A é mostrado na Figura 17. Figura 17: Fonte de alimentação 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.10 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 18, 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é. Rev. 1.1 11/13 Figura 18: Acionamento de relé 2.11 Características elétricas Tensão de alimentação Vcc = 5V; Consumo: menor que 2mA; 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.12 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 12/13 3 PROTOCOLO DE COMUNICAÇÃO DO MODELO M-4 A seguir são listados os comandos disponíveis para o módulo M-4. 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 SMxFREE Parada incondicional do motor de passo x, 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> 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 13/13