automação de instrumentação de laboratório...precisão e capacidade de até mais de 16 bits de...

6
Departamento de Ciência dos Materiais e Metalurgia Automação de Instrumentação de Laboratório Alunos: Henrique Vaisman Pinto e Pedro Bittencourt Orientador: Raul Almeida Nunes Introdução Um sistema embarcado é um sistema de computação projetado com propósito especial, para executar uma função dedicada. Diferentemente de um computador de próposito genérico, como por exemplo o computador pessoal, um sistema embarcado executa uma ou algumas poucas tarefas definidas, normalmente com necessidades específicas e geralmente inclui hardware e partes mecânicas não encontradas normalmente em um computador genérico. Tal sistema por ser dedicado a tarefas específicas, pode ser otimizado, reduzindo seu tamanho e preço final. Sistemas embarcados são comumente produzidos para consumo em massa ou para a realização de tarefas que um computador genérico normalmente não faria. Na prática, os sistemas embarcados variam desde dispositivos portáteis, como por exemplo relógios e players de música Mp3; até grandes aparatos, como sinais de trânsito, controladores de processos fabris e modems de acesso a internet. Em termos de complexidade esses sistemas vão desde um único circuito integrado microcontrolador, até várias unidades, periféricos e redes de dados. Sistemas embarcados são extremamente otimizados para a função desejada, feitos em escala reduzida de modo a trazer portabilidade ao instrumento e dar acesso ao mesmo remotamente, tornando-os ideais para automação de instrumentos. Objetivos Dominar e aprender técnicas de programação embedded e projeto de hardware para uso em instrumentação eletrônica com sistemas embarcados. Observar e entender as necessidades dos usuários dos instrumentos e posteriormente criar interface de instrumentos melhores, visando dessa forma tentar criar uma interface para o instrumento que seja mais simples e intuitiva. Metodologia Foi escolhida a plataforma de desenvolvimento Microlab X1 [1] (figura 5, vide página 5). Nesta plataforma pode-se programar diversas famílias de microcontroladores; entre as quais posso ressaltar como exemplos: de 8 bits o PIC do fabricante Microchip, de 16 bits MSP430 (figura 6, vide página 5) da Texas Instruments, de 32 bits o ARM7 da ST Electronics. Microlab X1 A plataforma Microlab X1 mostrou-se uma ferramenta poderosa, visto que esta usa um sistema modular onde é fácil trocar de microcontrolador, bastando retirar do soquete a placa com o microcontrolador e inserir outro de sua escolha. A placa prevê a utilização de novos modelos, onde basta-se projetar uma placa adaptadora, que é simples e barata, feito isso pode-se o usar o microcontrolador. Esta é uma vantagem em relação a outras plataformas de desenvolvimento, que normalmente aceitam apenas um microcontrolador específico e exclusivo.

Upload: others

Post on 28-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automação de Instrumentação de Laboratório...precisão e capacidade de até mais de 16 bits de precisão na quantização e alta velocidade de conversão e amostragem (a bibliografia

Departamento de Ciência dos Materiais e Metalurgia

Automação de Instrumentação de Laboratório

Alunos: Henrique Vaisman Pinto e Pedro BittencourtOrientador: Raul Almeida Nunes

IntroduçãoUm sistema embarcado é um sistema de computação projetado com propósito

especial, para executar uma função dedicada. Diferentemente de um computador de próposito genérico, como por exemplo o computador pessoal, um sistema embarcado executa uma ou algumas poucas tarefas definidas, normalmente com necessidades específicas e geralmente inclui hardware e partes mecânicas não encontradas normalmente em um computador genérico. Tal sistema por ser dedicado a tarefas específicas, pode ser otimizado, reduzindo seu tamanho e preço final. Sistemas embarcados são comumente produzidos para consumo em massa ou para a realização de tarefas que um computador genérico normalmente não faria.

Na prática, os sistemas embarcados variam desde dispositivos portáteis, como por exemplo relógios e players de música Mp3; até grandes aparatos, como sinais de trânsito, controladores de processos fabris e modems de acesso a internet. Em termos de complexidade esses sistemas vão desde um único circuito integrado microcontrolador, até várias unidades, periféricos e redes de dados.

Sistemas embarcados são extremamente otimizados para a função desejada, feitos em escala reduzida de modo a trazer portabilidade ao instrumento e dar acesso ao mesmo remotamente, tornando-os ideais para automação de instrumentos.

ObjetivosDominar e aprender técnicas de programação embedded e projeto de hardware para

uso em instrumentação eletrônica com sistemas embarcados.Observar e entender as necessidades dos usuários dos instrumentos e posteriormente

criar interface de instrumentos melhores, visando dessa forma tentar criar uma interface para o instrumento que seja mais simples e intuitiva.

MetodologiaFoi escolhida a plataforma de desenvolvimento Microlab X1 [1] (figura 5, vide página

5). Nesta plataforma pode-se programar diversas famílias de microcontroladores; entre as quais posso ressaltar como exemplos: de 8 bits o PIC do fabricante Microchip, de 16 bits MSP430 (figura 6, vide página 5) da Texas Instruments, de 32 bits o ARM7 da ST Electronics.

Microlab X1A plataforma Microlab X1 mostrou-se uma ferramenta poderosa, visto que esta usa

um sistema modular onde é fácil trocar de microcontrolador, bastando retirar do soquete a placa com o microcontrolador e inserir outro de sua escolha. A placa prevê a utilização de novos modelos, onde basta-se projetar uma placa adaptadora, que é simples e barata, feito isso pode-se o usar o microcontrolador. Esta é uma vantagem em relação a outras plataformas de desenvolvimento, que normalmente aceitam apenas um microcontrolador específico e exclusivo.

Page 2: Automação de Instrumentação de Laboratório...precisão e capacidade de até mais de 16 bits de precisão na quantização e alta velocidade de conversão e amostragem (a bibliografia

Departamento de Ciência dos Materiais e Metalurgia

A Microlab ainda possui uma grande variedade de periféricos instalados na placa da plataforma dos quais posso destacar: RTC (do inglês, real time clock, relógio de tempo real), memória serial, leitor de cartão de memória Flash do tipo SD/MMC (Secure Digital, Multi Media Card), display inteligente de LCD (do inglês, Liquid Crystal Display, Mostrador de Cristal Líquido) 16 linhas por 2 colunas, display de LCD passivo, display de sete segmentos, interface serial RS-232, interface para display gráfico, teclado de 12 teclas com preparação para leitura por varredura, entradas analógicas opticamente isoladas de corrente e tensão, conector para controle de motores do tipo servo (do padrão de 3 pinos, usados largamente em modelismo), um relé para controle de cargas de maior potência e por fim dois barramentos de expansão prevendo o uso futuro de novos módulos (vide figura 2) a serem adicionados a plataforma.

Um dos módulos adicionados foi o controlador de “Ponte H” que consiste em um controlador de potência para motores de aplicação bidirecional (vide figura 1).

Fig 1: Módulo de expansão Ponte H Fig 2: Módulos da Microlab X1

Foi escolhido o uso da família MSP430 devido a sua ampla lista de vantagens frente a outras famílias : versatilidade, baixo consumo, ampla gama de versões e custos variados, a variedade de periféricos, dessa forma ideais a instrumentação.

A linguagem de programaçãoA linguagem escolhida para a escrita do software foi C, devida a ampla utilização

dessa linguagem em diversas áreas, a existência de extensa literatura e a existência de um livro em português de um autor brasileiro [2] sobre a família MSP430 sendo programada em linguagem C.

Feito e carregado o programa em C no microcontrolador, é necessário fazer o processo conhecido como debugging, onde depuram-se eventuais erros e ajustes na programação. Nesse processo, os chips da família MSP430 apresentam implementações de hardware interno que permitem fazer em tempo real o debbugging e também fazer um monitoramento de variáveis e registradores internos, o que facilita imensamente o trabalho.

MicrocontroladorOs chips MSP430 possuem uma extensa variedade de configurações de uso das

diversas fontes de clocks internos, que incluem: um oscilador com cristal externo para altas frequências e um para baixa frequências, um oscilador interno DCO, que se mostrou uma poderosa fonte de clock com grandes qualidades, das quais posso ressaltar: uma extensa gama de frequências de operação, o baixo tempo de inicialização, a rapidez até alcançar a

Page 3: Automação de Instrumentação de Laboratório...precisão e capacidade de até mais de 16 bits de precisão na quantização e alta velocidade de conversão e amostragem (a bibliografia

Departamento de Ciência dos Materiais e Metalurgia

estabilidade da freqüência sinal de clock e por fim baixo consumo. As fontes de clock no MSP430 podem ser ainda alocadas para 3 sinais principais internos: MCLK, SMCLK e ACLK. Essa possibilidade trouxe imensa flexibilidade ao microcontrolador, dessa forma podemos ter até 3 frequências distintas para operação do núcleo de processamento (CPU) e dos diversos periféricos: timers, USARTs, A/Ds, D/A e gerador de PWM (do inglês, Pulse Width Modulation, modulação por lagura de pulso).

Os microcontroladores MSP430 possuem também modos de consumo extremamente reduzidos que são chamados LPM (do inglês Low power mode). Cada modo LPM desliga progressivamente partes do microcontrolador não utilizadas, para reduzir o consumo total do chip, sendo assim uma ótima escolha para uso em aplicações móveis e portáteis onde a autonomia da bateria deve ser grande e o espaço físico destinado a ela deve ser pequeno.

Dispositivos de Entrada e Saída de dadosEscolhidos plataforma, microcontrolador e linguagem a serem utilizados, passou-se ao

estudo das diversas partes constituintes do sistema embarcado. De que maneira inserir e capturar dados para um sistema, armazená-los e, posteriormente, processá-los. Métodos de acionamento de atuadores e quais padrões e protocolos utilizar caso seja necessária a troca de informação.

Os métodos existentes hoje, de se inserir informações em um sistema controlado eletrônicamente, vão além do uso de botões e simplesmente luzes indicadoras de estado. Visto isso, buscamos aplicar e dominar técnicas que aumente a interação e facilite a operação do instrumento por parte do usuário.

Tais técnicas compreendem a união de hardware e software. Uma das que foram estudadas é o uso de um botão giratório, na qual utilizamos um encoder mecânico e através de software aplicado a este, podemos obter um botão giratório que se mostrou uma maneira muito prática de inserir e configurar menus num sistema microcontrolado.

Utilizando como exemplo uma situação comum presente na maioria dos equipamentos eletrônicos da vida moderna: configurando e ajustando o horário correto em um relógio de pulso digital, ou tocadores de vídeocassete. Ao ajustar o horário temos que pressionar inúmeras vezes botões que muitas vezes são incômdos aos dedos, desta forma se fosse usado um botão giratório, poderíamos girar/ rolar o botão, inserindo os dados de forma mais rápida e intuitiva.

Tal botão em conjunto com um display LCD, ou um display de sete segmentos a LED (do inglês, light emitting diode, diodo emissor de luz) pode ser usado como meio de monitoramento e ajuste do instrumento, facilitando a tarefa do usuário de inserir dados com auxílio de menus.

O display de sete segmentos é um meio de mostrar dados ao usuário. Para utilizá-lo de maneira otimizada, usa-se a técnica de mutliplexação. Essa técnica demanda hardware dedicado, assim como maior trabalho de manipulação de software envolvendo diagramas complexos de tempo para a sua correta operação.

Por outro lado, o display de LCD inteligente não necessita de hardware extra para seu funcionamento, o software que o controla mostrou-se muito simples, devido a existência de um controlador interno ao display que torna o interfaceamento do mesmo muito prático. Dessa forma um código em C para utilizar o LCD é bem simples e curto, sendo assim o principal motivo de sua ampla utilização no mercado.

Em outras aplicações os botões giratórios mostraram-se inconvenientes, pois necessitam de grande espaço físico de montagem em um painel de controle de um instrumento. Tais botões também mostram-se mais pesados, em relação aos botões comuns de toque para aplicações de instrumentos portáteis. Assim, em certas aplicações o uso de botões ou teclados (que são a conjunção destes) mostra-se vantajoso.

Page 4: Automação de Instrumentação de Laboratório...precisão e capacidade de até mais de 16 bits de precisão na quantização e alta velocidade de conversão e amostragem (a bibliografia

Departamento de Ciência dos Materiais e Metalurgia

Dessa forma foi estudada a leitura de teclados matriciais, ou seja, ler dados do teclado usando o menor requisito de hardware. Nesse tipo de arquitetura os botões são dispostos em linhas e colunas, assim somente são necessárias portas de entrada e saída (E/S) do microcontrolador para o número de linhas somado ao de colunas. Tomando como exemplo um teclado de 4 linhas por 3 colunas: temos sem a arquitetura matricial a necessidade de 12 portas de E/S. No entanto, aplicando esta arquitetura temos a necessidade de apenas 7, mostrando assim sua vantagem.

Foi estudada a implementação de comunicação serial, importante ferramenta para realizar a comunicação com um computador ou algum outro instrumento. Nem sempre é possível em microcontroladores guardar grande volume de dados ou fazer operações complexas. Nesses casos, pode-se implementar a comunicação serial com o computador, para guardar os dados para futuro uso ou tratamento. Dessa forma poderemos posteriormente aplicar processamento e filtragem digital aos dados obtidos.

Na maioria das aplicações de circuitos eletrônicos, existe hoje uma preferência de uso de lógica digital, em relação aos antigos circuitos analógicos. O uso de sinal ou lógica digital, diminui possíveis problemas com ruídos, facilita a transmissão de dados e não apresenta perda de informação por atenuação do sinal.

Mesmo assim, existem importantes partes de um circuito eletrônico que não podem ser digitalizadas, como por exemplo sensores e transdutores. Para poder digitalizar dados usamos conversores Analógicos-Digitais (mais conhecidos como conversores A/D). Existem diversos tipos de conversores A/D, como: Delta-Sigma, SAR, Slope. O A/D mais utilizado em nossos experimentos foi o do tipo SAR. O conversor do tipo SAR apresenta características como complexidade baixa, diversidade de conversores no mercado, disponibilidade de compra, boa precisão e capacidade de até mais de 16 bits de precisão na quantização e alta velocidade de conversão e amostragem (a bibliografia utilizada foi o livro [5] ).

Um conversor externo em especial, o ADS1286P da Burr-Brown, foi utilizado. Suas características mais importantes são 12 bits de precisão e 37 mil amostras por segundo do sinal a ser convertido. O valor do sinal digitalizado é lido pelo microcontrolador através de comunicação serial com protocolo específico SPI.

Fig 3: Montagem com o ADS1286 Fig 4: ADS1286

Tal protocolo foi implementado através do uso do hardware da USART do MSP430 aliado com um código em C. Normalmente o uso somente do hardware já sanaria as necessidades do protocolo SPI, mas o A/D utiliza uma comunicação com tamanho de palavra de 15 bits, o hardware do MSP possui o registrador interno da USART para palavra de até 8 bits, o que precisou ser acertado por software. Tirando esse inconveniente da palavra, a comunicação por SPI se mostrou vantajosa já que é um tipo de comunicação de forma serial onde se economiza vias de dados, que diminui a quantidade de fios, que gera como

Page 5: Automação de Instrumentação de Laboratório...precisão e capacidade de até mais de 16 bits de precisão na quantização e alta velocidade de conversão e amostragem (a bibliografia

Departamento de Ciência dos Materiais e Metalurgia

consequências a diminuição das chances de rompimento mecânico do fio e o tempo projeto da placa do circuito eletrônico.

Existem outros tipos de protocolos de comunicação serial disponíveis e amplamente utilizados, além do protocolo SPI. Um deles é o I2C. Ambos SPI e I2C são da forma serial síncrona. Tais protocolos não têm uso restrito para comunicação com conversores A/D. Podem ser utilizados para a comunicação com diversos periféricos, exemplos: memórias Flash, potenciomêtros digitais, RTC, conversores D/A e etc...

Foram estudados e postos em prática, vários atuadores de controle de valvúlas, bombas d’água, solenóides e motores. Dessa forma foi estudado o uso de relés para ativar atuadores elétricos/mecânicos, uso de Pontes-H para controlar motores em forma bidirecional e uso de modulação PWM para controle de servos-motores.

Além das características desejadas num sistema, também foram estudados efeitos de ruídos elétricos (os livros que foram utilizados são [3] e [4]) e técnicas de filtragens para evitar erros e condições indesejadas.

Fig 5: Microlab X1 Fig 6: Microcontrolador MSP430

ConclusõesO estudo teórico e prático permitiu uma maior compreensão do conceito de sistema

embarcado e produziu protótipos de sensoriamento e controle de instrumentos de laboratório. A qualidade dos sinais obtidos e da funcionalidade de controle de alguns equipamentos foi significativamente melhorada com as técnicas aprendidas.

A padronização de uma plataforma de desenvolvimento e a criação de bibliotecas de software para seu uso em automação de instrumentos também foi um dos grandes benefícios atingidos com os trabalhos.

A linguagem C proporciona uma programação de mais alto nível em relação à programação em Assembly. No entanto gera códigos de tamanho menor em relação à linguagens de mais alto nível. Sendo assim a linguagem C se mostrou muito eficiente para a programação de microcontroladores presentes em sistemas embarcados.

O MSP430 se mostrou muito versátil e poderoso, com diversas opções de periféricos úteis em projetos de sistemas embarcados, distribuídos entre as famílias, sendo cada uma delas voltada a um tipo de aplicação.

Referências

1 - Nome e produto registrado em nome de ScTec - Automação e Projeto Especiais (www.sctec.com.br).

Page 6: Automação de Instrumentação de Laboratório...precisão e capacidade de até mais de 16 bits de precisão na quantização e alta velocidade de conversão e amostragem (a bibliografia

Departamento de Ciência dos Materiais e Metalurgia

2 - Pereira, Fábio Microcontroladores MSP430: Teoria e prática. 1.ed. São Paulo: Érica, 2005. 440p.

3- OTT, Henry W. Noise reduction techniques in electronic systems. 2nd. ed. New York: J. Wiley,, c1988. 426 p.

4- MORRISON, Ralph. Grounding and shielding techniques. 4th ed. New York: Wiley-Interscience Publication, 1998. 201 p.

5- OESCHELE, David F. Analog-to-digital and digital-to-analog conversion techniques /. 2nd ed. - New York : J. Wiley, c1994. 397p.