Você está na página 1de 6

CONDICIONAMENTO DE SINAIS ANALÓGICOS PARA

APLICAÇÕES INDUSTRIAIS
Lucas da Silva Candido1, Leandro Zeidan Toquetti2
1
Tecnologia em Automação Industrial, FATEC-SBC, São Bernardo do Campo, Brasil
2
Professor do Departamento de Ensino Geral da FATEC São Paulo e Diretor da FATEC São Bernardo do Campo

lutg_candido@hotmail.com, lzeidan@fatecsp.br

Resumo intermédio de interpolação, qual a pressão no interior da


caldeira.
A tendência da tecnologia de aperfeiçoar métodos, Em muitos casos, é comum possuir um elemento
com intuito de reduzir custos e tempos de cíclo gastos sensor que transmite sinal elétrico diferente do que o
em processos, tem estimulado a interconexão entre CLP está preparado para ler. Nesta situação, o
dispositivos de automação. Esta interconexão representa integrador do sistema geralmente opta por uma das
a confiabilidade do processo, uma vez que os padrões opções citadas na Tabela I:
aceitos são comparados com os valores monitorados em
tempo real. Visando proporcionar um controle Tabela I - Opções para integração de sinais.
integrado, os conceitos aqui propostos, permitem a
interação de sinais analógicos entre dispositivos de um Opção Vantagem Desvantagem
determinado processo. Adquirir um novo Alto custo, prazo de
Precisão
sensor entrega
1. Introdução Adquirir módulo
Alto custo, prazo de
que leia o sinal
entrega, adequação
Dados os avanços tecnológicos, a cada dia torna-se adequado ao Precisão
do hardware e
mais inaceitável que qualquer processo tenha sua sensor (CLP
software
confiabilidade ameaçada pela falta de monitoramento modular)
das variáveis inerentes a ele. Condicionar o Precisão depende
Tomemos como exemplo o funcionamento de uma sinal do sensor, Baixo dos componentes
caldeira, representado na Figura 1: para interligá-lo ao custo empregados, e do
CLP projeto eletrônico

Para início da análise, consideremos um sensor de


pressão com transmissão de sinal 4-20mA que deve
permitir o controle da variável física em um
determinado processo, e sabendo que o CLP, ou
microcontrolador, possui entradas analógicas capazes de
ler tensão, na faixa de 0-5Vcc apenas, este artigo tem
como objetivo proporcionar uma condição de
interconexão entre os dois dispositivos. Essa análise se
inicia na saída do sinal do transmissor, e se encerra na
interpretação dos dados dentro do software de
Figura 1 - Caldeira [1] programação.
A queima de combustível aquece a água que é
continuamente depositada no interior da caldeira.
2. O sensor existente
Conforme a temperatura aumenta, a água passa do
Para integração correta entre os sinais analógicos,
estado sólido para o gasoso, e a pressão interna começa
faz-se necessário uma análise das características
a subir [2]. Com isso, para garantir condições seguras de
técnicas de cada um dos dispositivos em questão. A
operação, um sistema de controle deve ser capaz de
Figura 2, é uma foto da etiqueta de identificação do
monitorar a pressão interna da caldeira, e estar apto para
sensor de pressão existente. Nela podemos verificar
interferir no processo – abrindo, fechando válvulas, de
alguns dados importantes para a execução da nossa
maneira proporcional (analógica), ou digital.
análise. Outros dados, podem ser rastreados junto ao
Para isso, um elemento sensor de pressão, capaz de
fabricante, por intermédio do número de série (Serial
transmitir um sinal equivalente em grandeza elétrica –
No).
geralmente miliampere[mA], ou volt[V] – deve ser
integrado ao processo. Um CLP com capacidade de ler
grandezas elétricas analógicas, deve interpretar, por
3.1. Entrada analógica
As 16 entradas analógicas do Arduino Mega 2560
têm resolução de 10bits. Por padrão, o fundo de escala
da entrada analógica é 5Vcc, medidos com referência ao
terra (0Vcc) da placa.
O conversor ADC (Analog Digital Converter) do
microcontrolador ATmega2560, através de
comparações e aproximações, providencia em registros
Figura 2 - Sensor pressão SMAR específicos os valores correspondentes as tensões
aplicadas em cada entrada analógica, conforme
Modelo: LD301M – transmissor indicador de Equação 1 [4].
pressão manométrica com controle de PID incorporado
– HART. V I N .1024
Faixa de medição de pressão: A faixa de medição ADC = (1)
V REF
de pressão do sensor existente, Figura 2, foi
representada na tabela II. A faixa de pressão nas
unidades, psi e mbar, também foram calculadas, pois Onde V I N é a tensão aplicada na entrada
são unidades mais comuns nos processos industriais analógica em questão e V REF a tensão de referência
brasileiros. selecionada – neste caso, 5Vcc.
Precisão: 0,04% Note que o resulta ADC é adimensional, e todo
Sinal de saída analógico: 4-20mA processo de conversão, para a unidade desejada, deve
Alimentação: 24Vcc (2 fios) ser desenvolvido pelo integrador via software de
programação.
Tabela II - Faixa de medição do sensor de pressão, e sua
equivalência psi e mbar. 3.2. Interpretação dos dados analógicos
inH2O psi mbar Podemos, por intermédio de interpolação linear,
8,33 – 1000 0,30 – 36,13 20,75 – 2490,89 relacionar o valor que o conversor ADC provê (0-1023
admensional) com cada um dos valores de processo que
O sinal de saída provido pelo sensor, de 4-20mA, desejamos, nas grandezas correspondentes (corrente,
varia conforme a pressão na conexão de entrada de ar do pressão).
sensor. Assim, podemos implementar a Tabela 2, com o O Gráfico 1, ilustra o processo de interpolação de
sinal de corrente (ver Tabela 3), onde é mostrada a duas grandezas distintas.
variação da corrente em função da pressão:

Tabela III - Faixa de medição do sensor de pressão, e


sua equivalência psi e mbar.
mA inH2O psi mbar
Mínimo 4 8,33 0,30 20,75
Médio 12 504,165 18,215 1255,82
Máximo 20 1000 36,13 2490,89

3. O controlador
O dispositivo receptor do sinal analógico utilizado
nesta análise, tem sido muito utilizado alvo de Gráfico 1 - Processo de interpolação linear
estudantes de graduação em diversos setores da
indústria. Isso devido seu custo, flexibilidade, e
capacidade de integração com outros dispositivos. Do Gráfico 1, podemos extrair a seguinte equação
O Arduino Mega 2560 é uma placa microcontrolada (Equação 2):
baseada no ATmega2560. Ele tem 54 pontos digitais de
I/O (dos quais 15 podem ser usados como saídas PWM), y− y 0 y1− y 0
= (2)
16 entradas analógicas, 4 UARTs (porta serial), 1 cristal x−x 0 x1− x0
de 16MHz, uma conexão USB, um conector de
alimentação, leitor ICSP, e um botão de reset [3]. Da Equação 2, podemos extrair a equação para
encontrar os valores de y, em função de x (Equação 3):
y 1− y 0 (Circuito Integrado) a tensão de saída varie de diversas
y= . ( x− x 0 )+ y 0 (3) formas em função da tensão de entrada, ajuste de ganho,
x 1−x 0 casamento de impedâncias, custo relativamente baixo,
entre outros benefícios.
Na Equação 3, substituindo os valores nos eixos das Devido a alimentação do sensor ser de 24Vcc,
abscissas e ordenadas, conforme as unidades em análise, utilizaremos o amplificador operacional LM358
é possível determinar os valores analógicos envolvidos (Figura 4) [5] da Texas Instruments - que possui dois
no processo (tensão, corrente, pressão), como veremos amplificadores operacionais - que pode ser alimentado
mais adiante. por uma fonte de tensão não simétrica, na faixa de 3-
32Vcc.
4. Condicionamento do sinal analógico
Como proposto inicialmente em nossa análise, o
sensor de pressão LD301M, possui saída de sinal
analógico de 4-20mA. O microcontrolador
ATmega2560, montado na placa do Arduino Mega2560,
possui entrada analógica de 0-5Vcc.
O condicionamento do sinal pode ser feito através de
um divisor de tensão (Figura 3).
Figura 4 - LM 358

As principais características destes amplificadores


operacionais são:

Tensão de alimentação, V CC : ± 16 ou 32V


Tensão de entrada diferencial, V ID : ± 32V
Tensão de entrada, V I (uma das): -0,3 a 32V
Tensão offset de entrada: 3mV (típico)
Taixa de variação no ganho unitário: 3V/μs
(típico)

Simbologia: A simbologia, para cada amplificador


operacional, está ilustrada na Figura 5.

Figura 3 - Divisor de tensão


Figura 5-Simbologia
A queda de tensão no resistor R2, é calculada pela amplificador operacional
Equação 4.
O amplificador operacional será inserido no circuito,
V =R . I (4) de maneira que, a tensão de entrada seja igual a tensão
de saída (ganho unitário). Devido a alta impedância da
Substituindo, o mínimo e o máximo valor de tensão entrada não-inversora e a possibilidade de obtenção do
que podemos medir neste circuito está expresso nas ganho unitário ao curto-circuitar a entrada inversora à
Equações 5 e 6, respectivamente. saída do amplificador. A implementação será da
seguinte maneira (Figura 6):
V min=250 [Ω]. 4[ mA]=1[V ] (5)

V máx=250[Ω].20 [ mA]=5[V ] (6)

Apesar de os valores já estarem condicionados para


a faixa de tensão aceitável pelo microcontrolador,
implementaremos este circuito básico inserindo um
amplificador operacional.
Circuitos condicionadores de sinais implementados
com amplificadores operacionais são os mais comuns, Figura 6-Amplificador
pois são flexíveis, possibilitam que, com um único CI operacional em ganho unitário
O ganho do amplificador operacional na
configuração não inversora (Figura 6), é unitário, ou
seja, V out =V i n .

O esquema eletrônico final, com o divisor de tensão


e a implementação do amplificador operacional, fica
conforme mostrado na Figura 7.

Figura 8 - Modelo de teste em laboratório

Nos testes realizados em laboratório, para uma


tensão de entrada V i n=4,985[V ] (Figura 9), é
medido uma tensão de saída V out =4,984 [V ]
(Figura 10).
Figura 7 - Circuito eletrônico, com divisor
de tensão e amplificador operacional

Testes realizados com auxílio do software ISIS


Professional, resultaram em um erro de +0,01V na saída
do LM358, devido desbalanceamento das entradas
inversora e não-inversora. Este valor é característico, e
esperado. O erro de +0,01V representa 0,2% do fundo
de escala de saída, FSO (Full Scale Output), e pode ser
calculado conforme Equação 7.

(V out −V i n )[V ]
.100[ %] (7) Figura 9 - Medição da V i n no circuito
FSO [V ]
eletrônico
Substituindo na Equação 7 os valores obtidos via
software, encontraremos o erro previsto (Equação 8).

(5,08−5,07)[V ]
.100 [%]=0,2 [ %] (8)
5 [V ]

4.1. Teste em laboratório


Após equacionamento e testes via software – quando
possível - o condicionador de sinal foi levado a um
laboratório com o intuito de obter resultados que
pudessem comprovar a sua qualidade. Os testes práticos
Figura 10 - Medição da V out no circuito
possibilitaram qualificar o projeto como satisfatório. eletrônico
Caso o resultado obtido fosse insatisfatório, seria
necessário buscar outras alternativas que agregassem Substituindo na Equação 7 os valores medidos em
maior precisão ao projeto, como outros CIs ou outros laboratório, encontramos o erro obtido (Equação 9).
circuitos eletrônicos.
O circuito testado em laboratório, foi montado (4,985−4,984)[V ]
conforme Figura 8. .100 [ %]=0,02[ %] (9)
5[V ]
Após a validação do circuito condicionador de sinal,
foi conectado à sua entrada o sinal de 4-20mA
proveniente do sensor de pressão, e a saída do
condicionador de sinal foi conectada à entrada analógica }
do Arduino, e desenvolvida a programação. void ENTRADAS(){
EA0 = analogRead(A0);
5. O programa }
void MEDIA_ENTRADA_ANALOGICA(){
Algumas técnicas de programação um pouco mais if (AuxMedia < QtAquisicoes){
especificas foram utilizadas com intuito de minimizar o AuxEA0 = AuxEA0 + EA0;
programa. A função Interp_ClpToEng, é responsável AuxMedia = AuxMedia + 1;
por interpolar todas as unidades de engenharia, }
conforme equações a seguir. else{
EA0 = AuxEA0 / QtAquisicoes;
Tensão em V conforme Equação 10. Corrente = Interp_ClpToEng(EA0, 204.6, 1023,
4, 20);
5−0 Tensao = Interp_ClpToEng(EA0, 0, 1023, 0, 5);
y[V ]= .(x−0)+0 (10) Pressao_inH2O = Interp_ClpToEng(EA0, 204.6,
1023−0
1023, 8.33, 1000);
Corrente em mA conforme Equação 11. Pressao_psi = Interp_ClpToEng(EA0, 204.6,
1023, 0.30, 36.13);
20−4 Pressao_mbar = Interp_ClpToEng(EA0, 204.6,
y[mA ]= .(x−204,6)+4 (11) 1023, 20.75, 2490.89);
1023−204,6
EXIBE_SERIAL();
Pressão em inH2O conforme Equação 12. AuxEA0 = 0;
AuxMedia = 0;
1000−8,33 }
y[inH 2 O ]= .( x−204,6)+8,33 (12) }
1023−204,6
void EXIBE_SERIAL(){
Pressão em psi conforme Equação 13. char FloatValue[40];
String AuxMsg;
36,13−0,3 String Msg;
y[ psi ]= .( x−204,6)+0,3 (13) AuxMsg = "ADC EA0(0-1023): ";
1023−204,6
dtostrf(EA0,1,2,FloatValue);
Pressão em mbar conforme Equação 14. Msg = AuxMsg + FloatValue + "[]";
Serial.println(Msg);
2490,89−20,75 AuxMsg = "Tensao(0-5V): ";
y[mbar ]= .( x−204,6)+20,75 (14) dtostrf(Tensao,1,2,FloatValue);
1023−204,6
Msg = AuxMsg + FloatValue + "[V]";
O valor da entrada analógica A0, não é interpolado Serial.println(Msg);
(Equação 15). AuxMsg = "Corrente(4-20mA): ";
dtostrf(Corrente,1,2,FloatValue);
ADC = A0 (15) Msg = AuxMsg + FloatValue + "[mA]";
Serial.println(Msg);
O valor da variável EA0 (Entrada Analógica 0), é a AuxMsg = "Pressao: ";
média de duas mil aquisições da entrada A0. dtostrf(Pressao_inH2O,1,2,FloatValue);
Msg = AuxMsg + FloatValue + "[inH2O]";
A seguir, pode-se ler o programa utilizado para AuxMsg = " = ";
leitura da entrada analógica do arduino, interpolação dtostrf(Pressao_psi,1,2,FloatValue);
com as unidades de engenharia, e exibição dos valores. Msg = Msg + AuxMsg + FloatValue +
"[psi]";
//---------------------------------------------------- INICIO AuxMsg = " = ";
int EA0; dtostrf(Pressao_mbar,1,2,FloatValue);
float Corrente, Tensao, Pressao_inH2O, Pressao_psi, Msg = Msg + AuxMsg + FloatValue +
Pressao_mbar; "[mbar]";
const int QtAquisicoes = 2000; Serial.println(Msg);
long AuxEA0 = 0; Serial.println("----- Valores atualizados...");
int AuxMedia = 0; }
void setup() { float Interp_ClpToEng(int EA, float MinClp, float
Serial.begin(9600); MaxClp, float MinEng, float MaxEng){
} float Resultado;
void loop() { return Resultado = (((MaxClp-EA)/(MaxClp-
ENTRADAS(); MinClp)*(MaxEng-MinEng))-MaxEng)*-1;
MEDIA_ENTRADA_ANALOGICA(); }
//-------------------------------------------------------- FIM http://www.youtube.com/watch?v=DcMqQfcUp1Y

Com auxílio de uma das ferramentas disponíveis no [3] Site oficial


software de programação do arduino, chamada Serial http://arduino.cc/
Monitor, é possível testar as funções de conversão e
controle utilizadas pelo programador. [4] Datasheet do microcontrolador ATmel2560
Verificar novamente os valores das grandezas físicas Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-
convertidas via software, com auxílio de outros 1280-1281-2560-2561_datasheet
equipamentos de medição que o integrador tenha à mão
é de suma importância, pois essa verificação, sendo [5] Datasheet do amplificador operacional
realizada com critério, auxilia a detecção de erros na http://www.ti.com/lit/ds/symlink/lm358.pdf
instalação, digitação no programa, e comprova a
veracidade das informações obtidas a partir dos dados
iniciais.
Os valores exibidos são atualizados toda vez que o
arduino executa a função EXIBE_SERIAL. Esta função
é executada após a aquisição, somatória de 2000 valores
de A0, e após e execução das funções de interpolação. O
resultado do serial monitor pode ser visto na Figura 11.

Figura 11: Monitoramento das variáveis via


Serial Monitor

6. Conclusões

Após a verificação dos resultados satisfatórios -


sensor de pressão saída 4-20mA, conectado com o
controlador entrada 0-5V por intermédio de um circuito
eletrônico condicionador de sinal - fica a cargo do
programador, através dos conhecimentos que possui a
respeito das peculiaridades do processo que está
controlando, implementar lógicas de segurança,
sinalização, disponibilização e parametrização de
setpoints flexíveis, e o que mais for conveniente.

7. Referências Bibliográficas

[1] Marcos Sergio de Oliveira Filho, Projeto Academia


de Ciência
http://www.academiadeciencia.org.br/site/2012/06/28/c
aldeira-ou-gerador-de-vapor/

[2] Princípio de funcionamento de uma caldeira

Você também pode gostar