Upload
lulu
View
242
Download
4
Embed Size (px)
DESCRIPTION
Trabalho com Microcontroladores - Dissertação
Citation preview
Londrina 2011
JEAN FERNANDO DOS SANTOS VIEIRA
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS TECNOLOGIA EM AUTOMAÇÃO INDÚSTRIAL
PROJETO CONTROLE DE NÍVEL MICROCONTROLADO E SUPERVISIONADO POR SOFTWARE SCADA UTILIZANDO
COMUNICAÇÃO POR RADIO FREQUÊNCIA
Londrina 2011
PROJETO CONTROLE DE NÍVEL MICROCONTROLADO E SUPERVISIONADO POR SOFTWARE SCADA UTILIZANDO
COMUNICAÇÃO POR RADIO FREQUÊNCIA
Trabalho de Conclusão de Curso apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção do título de Tecnólogo em Automação Industrial. Orientador: Prof. Miguel Angel Chincaro Bernuy,
JEAN FERNANDO DOS SANTOS VIEIRA
Londrina, _____de ___________de 20___.
Prof. Orientador Miguel Angel Chincaro Bernuy
Prof. Membro 2 Universidade Norte do Paraná
Prof. Membro 3 Universidade Norte do Paraná
JEAN FERNANDO DOS SANTOS VIEIRA
PROJETO CONTROLE DE NÍVEL MICROCONTROLADO E SUPERVISIONADO POR SOFTWARE SCADA UTILIZANDO
COMUNICAÇÃO POR RADIO FREQUÊNCIA
Trabalho de Conclusão de Curso aprovado, apresentado à
UNOPAR - Universidade Norte do Paraná, no Centro De Ciências Exatas E
Tecnológicas, como requisito parcial para a obtenção do título de Tecnólogo em
Automação Industrial, com nota final igual a _______, conferida pela Banca
Examinadora formada pelos professores:
Dedico este trabalho
Primeiramente a toda a minha família pela
compreensão por minha ausência às nossas
reuniões semanais.
A todos que me apoiaram e me motivaram
nesse período de minha vida.
A todas as pessoas, que assim como eu,
acreditam na melhoria da nossa sociedade
através da educação.
AGRADECIMENTOS
A todos que, direta ou indiretamente, contribuíram para a realização
deste trabalho, em especial aos meus pais Carlos Vieira e Maria Angela dos Santos,
pelo apoio, compreensão e incentivo durante minha formação. A Empresa Microway
- Cursos e Treinamentos em Informática representada por Elter Aguiari e Kelen
Vanessa Aguiari, pela disponibilização dos equipamentos, materiais,
companheirismo e pela compreensão nos momentos de minha ausência profissional.
A todos meus amigos, pelas cobranças, pela ajuda e incentivo para a conclusão do
trabalho.
Agradeço também todos os professores que ajudaram de alguma
forma para a realização desse trabalho, pela sua dedicação em nos transmitir seus
conhecimentos de grande valia, em especial ao professor e orientador Miguel Angel
Chincaro Bernuy, pelo acompanhamento e dedicação.
E por fim a Deus, por me dar a oportunidade, força e coragem para
atingir meus objetivos, pois sem ele muito do que conquistei não seria possível.
“Nada é tão incompreensível que um pouco de pensamento lógico não resolva.”
Jean Fernando dos Santos Vieira
VIEIRA, Jean Fernando dos Santos. Projeto controle de nível microcontrolado e
supervisionado por software SCADA utilizando comunicação por rádio freqüência. 2011. 93 páginas. Trabalho de Conclusão de Curso (Superior de Tecnologia em Automação Industrial) – Centro de Ciências Exatas e Tecnológicas, Universidade Norte do Paraná, Londrina, 2011.
RESUMO
A necessidade de sistemas de armazenamento de líquidos é tão antiga quanto o
homem civilizado. Para o processo de supervisão, medição e controle, os reservatórios dificilmente deixam de utilizar um operador humano. A instalação de um sistema de automação pode garantir a comodidade e facilidade no
gerenciamento de reservatórios. O presente documento visa estudar e conhecer uma parte muito importante da automação, a relação entre dispositivos, softwares e programação utilizados em plantas e processos industriais, por profissionais da área.
Neste trabalho focou-se o desenvolvimento de um projeto que utilize microcontroladores para o controle de nível em um reservatório, utilizando uma comunicação baseada na transmissão de dados por rádio freqüência, fazendo
posteriormente, sua interação entre o usuário e este sistema, com o auxilio de um software supervisório. Para o alcance desse objetivo, foram agrupadas inúmeras técnicas da área de automação industrial. Programação, eletrônica, redes industriais
e telecomunicações estão entre as áreas que possibilitaram o conhecimento necessário para projetar tal sistema. Dividiu-se esse projeto em varias partes: pesquisa e criação de circuito para leitura de valores discretos, desenvolvimento de
um protocolo, assim como o pacote de dados, para a transmissão de informações, programação das rotinas de controle, transmissão, recepção e supervisão dos estados lógicos dos níveis e da bomba no reservatório e sua simulação através dos
softwares encontrados no ramo industrial, finalmente, terminando com o levantamento de custos para implantação e viabilização deste sistema. Espera-se que essa iniciativa, abra um “leque” de opções aos profissionais da área e instigue outros no interesse pela automação.
Palavras-chave: Automação. Microcontrolador. PIC16F877A. Supervisório. Elipse
SCADA. Comunicação Serial. MAX-232. Rádio Freqüência. RF. Reservatório. Controle de Nível.
VIEIRA, Jean Fernando dos Santos. Project control of level microcontrolled and
with supervisory SCADA software utilizing communication by radio frequency. 2011. 93 pages. Work of Conclusion of Course (Superior of Technology in Industrial Automation) – Center of Exact and Technological Sciences, Universidade Norte do Paraná, Londrina, 2011.
ABSTRACT
The need for systems of liquid storage is as old as the civilized man. For the
supervisory process, measurement and control, the reservoirs can hardly leave to utilize a human operator. The installation of an automation system can ensure the convenience and easiness in management of reservoirs. The present document aims
to study and know a very important part of automation, the relation among devices, softwares and programming used in plants and industrial processes, for professionals in the area. In This work focused on the development of a project that uses
microcontrollers to control the level in a reservoir, using a communication based on the transmission of data by radio frequency, making later, its interaction between the user and the system with the aid of supervisory software. For the reach of this
objective, were grouped innumerable techniques of the area of industrial automation. Programming, electronics, industrial networks and telecommunications are among the areas that have allowed the knowledge necessary to design such system. This
project was divided into several parts: research and creation of circuit for reading of discrete values, development of a protocol, as well as the data package, for the transmission of information, programming of control routines, transmission, reception
and supervision of the logical states of levels and of the pump in reservoirs and its simulation through the softwares found in industrial branch, finally, ending with the lifting of the costs for deployment and feasibility of this system. It’s expected that this
initiative, will open a "range" of options to professionals in the area and abet others in the interests by automation.
Key-words: Automation. Microcontroller. PIC16F877A. Supervisory. Elipse SCADA.
Serial Communication. MAX-232. Radio Frequency. RF. Reservoir. Control of Level.
LISTA DE FIGURAS
Figura 1 – Reservatório de água ..................................................................................16
Figura 2 - Malha Fechada .............................................................................................20
Figura 3 - Malha Aberta ................................................................................................20
Figura 4 – Sensores de níveis do tipo eletrodo............................................................22
Figura 5 – Circuito eletrônico acoplado aos eletrodos .................................................23
Figura 6 - Diagrama de pinos do PIC16F877A ............................................................27
Figura 7 – Configuração dos pinos e circuito de operação do MAX232 .....................29
Figura 8 – Ligação dos cabos no conector DB9 ..........................................................30
Figura 9 – Estrutura do rádio enlace ............................................................................31
Figura 10 – Módulo TWS-HS-2.....................................................................................33
Figura 11 - Módulo RWS-371-6 ....................................................................................34
Figura 12 – Arranjo físico proposto ao sistema. A) representa quadro de comando B)
representa a central de monitoramento. ......................................................................36
Figura 13 – Níveis do reservatório................................................................................37
Figura 14 – Código de verificação de acionamento de sensores e bomba ................38
Figura 15 – Programa supervisório de monitoramento ...............................................39
Figura 16 – Pacote de dados ........................................................................................40
Figura 17 – Código para validação de dados ..............................................................41
Figura 18 – Tela do Compilador PCWH com um programa em linguagem C ............43
Figura 19 – Tela do ambiente ISIS de simulação do Proteus circuito de exemplo ....44
Figura 20 – Tela inicial do Elipse SCADA ....................................................................45
Figura 21 – Fluxograma representativo do Quadro de comandos ..............................46
Figura 22 – Código das rotinas do Quadro de comando .............................................47
Figura 23 – Fluxograma representativo da Central de monitoramento.......................48
Figura 24 – Código das rotinas da Central de comando .............................................49
Figura 25 – Driver ASCII.dll implantado no Elipse SCADA .........................................50
Figura 26 – Configuração no Elipse SCADA ...............................................................50
Figura 27 – Configuração do driver na aba ASCII .......................................................52
Figura 28 – Tag’s criados no Elipse SCADA................................................................53
Figura 29 – Scripts usados nas tag’s tempo e tempo2 ................................................55
Figura 30 – Elementos gráficos presentes na tela de supervisão e seus comandos .55
Figura 31 – Zona ativa, sua mensagem e seus valores correspondentes .................56
Figura 32 – Circuito da central de monitoramento .......................................................59
Figura 33 – Circuito da central de monitoramento .......................................................60
Figura 34 – Nova estrutura com circuito do quadro e da central unidos ....................60
Figura 35 – Botões que representam os sensores de nível ........................................61
Figura 36 – Erro na visualização das informações enviadas ......................................62
Figura 37 – MAX-232 A) Ligação antiga B) Ligação nova ..........................................62
Figura 38 – Teste da simulação Ok ..............................................................................63
Figura 39 – Simulação de dados nos terminais virtuais ..............................................64
Figura 40 – Tela do supervisório responsável pela recepção de dados .....................65
Figura 41 – Tela do supervisório responsável pela recepção de dados .....................65
Figura 42 – Aplicação MESTRE configurada ...............................................................66
Figura 43 – Aplicação ESCRAVO configurada ............................................................66
Figura 44 – Configuração do ID de recepção (ESCRAVO) .........................................67
Figura 45 – Configuração do ID de transmissão (MESTRE).......................................68
Figura 46 – Aplicação MESTRE enviando dados ........................................................68
Figura 47 – Aplicação ESCRAVO recebendo dados ...................................................69
Figura 48 – Cabo DB9 ..................................................................................................69
Figura 49 – Conector ligado ao cabo manga ...............................................................70
Figura 50 – Circuito confeccionado do quadro de comando .......................................71
Figura 51 – Circuito confeccionado da central de monitoramento ..............................72
Figura 52 – Gravador Picburner USB ...........................................................................72
Figura 53 – Osciloscópio analisando o sinal do envio de dados .................................73
Figura 54 – Central de monitoramento indicando erro na recepção dos comandos ..74
Figura 55 - Quadro de comando com erro ...................................................................74
LISTA DE TABELAS
Tabela 1 - Características do padrão RS-232 ..............................................................28
Tabela 2 – Classificação das ondas de rádio ..............................................................32
Tabela 3 – Pinos do TWS .............................................................................................33
Tabela 4 – Pinos do RWS .............................................................................................34
Tabela 5 – Lógica de interpretação da operação da bomba .......................................38
Tabela 6 – Equivalência entre caracteres X decimal baseado na tabela ASCII.........42
Tabela 7 – Descrição dos parâmetros..........................................................................51
Tabela 8 – Parâmetros da aba ASCII...........................................................................53
Tabela 9 – Configuração dos tag’s PLC .......................................................................54
Tabela 10 – Mensagem visualizada no supervisório em relação aos sensores de
nível................................................................................................................................56
Tabela 11 – Mensagem visualizada no supervisório em relação a bomba ................57
Tabela 12 – Mensagem visualizada no supervisório em relação aos níveis ..............57
Tabela 13 – Imagens usadas na animação do reservatório........................................58
Tabela 14 – Terminais virtuais e suas funções ............................................................61
Tabela 15 – Mapeamento dos pinos no conector DB9 ................................................70
Tabela 16 - Preços dos componentes ..........................................................................75
LISTA DE ABREVIATURAS E SIGLAS
A Ampére
ABNT Associação Brasileira de Normas Técnicas
ASCII American Standard Code for Information Interchange (Código Padrão
Americano para o Intercâmbio de Informação)
CI Circuito integrado
CLP Programmable Logic Controller (Controlador Lógico programável)
CMOS Complementary Metal-Oxide-Semiconductor (Semicondutor Metal-òxido
Complementar)
CPU Central Processing Unit (Unidade Central de Processamento)
DCE Data Circuit-terminating Equipment
DTE Data Terminal Equipment
K kilo
Kbps Kilo bits por segundo
OEM Ondas Eletromagnéticas
MHz Mega Hertz
PIC Peripheral Interface Controller
PID Proporcional, Integral e Derivativo
UNOPAR Universidade Norte do Paraná
SCADA Supervisory Control And Data Acquisition (Sistema de Supervisão e Aquisição de Dados)
TRIAC Triode for Alternating Current (Triodo de Corrente Alternada)
TTL Transistor-Transistor logic
V Volts
SUMÁRIO
1 INTRODUÇÃO .......................................................................................................14
1.1 CONTEXTUALIZAÇÃO DO PROBLEMA .........................................................15
1.2 OBJETIVO ..........................................................................................................17
1.2.1 Objetivos Gerais .............................................................................................17
1.2.2 Objetivos Específicos .....................................................................................17
1.3 JUSTIFICATIVA .................................................................................................17
1.4 ORGANIZAÇÃO DO TRABALHO .....................................................................18
2 FUNDAMENTAÇÃO TEÓRICA .............................................................................19
2.1 SISTEMA DE CONTROLE DE PROCESSOS..................................................19
2.1.1 Sistemas De Controle Em Malha Fechada ...................................................19
2.1.2 Sistemas De Controle Em Malha Aberta .......................................................20
2.1.3 Processo Contínuo .........................................................................................20
2.1.4 .Processo Discreto .........................................................................................21
2.2 CONCEITUAÇÃO DA VARIÁVEL NÍVEL .........................................................21
2.2.1 Sensores De Nível Do Tipo Eletrodo .............................................................22
2.3 COMUNICAÇÃO DE DADOS ............................................................................24
2.4 SISTEMA SUPERVISÓRIO (SCADA) ..............................................................24
2.4.1 Propósito Do Sistema SCADA .......................................................................25
2.5 MICROCONTROLADORES ..............................................................................25
2.5.1 Histórico ..........................................................................................................26
2.5.2 Microcontrolador PIC16F877A .......................................................................26
2.5.3 Linguagem C...................................................................................................27
2.6 PADRÃO RS-232 ...............................................................................................28
2.6.1.1 CI MAX-232 ....................................................................................................29
2.7 SISTEMAS DE RADIO.......................................................................................30
2.7.1 Equipamentos De Radio ................................................................................30
2.7.2 Ondas Eletromagnéticas ................................................................................30
2.7.3 Radio Enlace...................................................................................................31
2.7.4 Classificação Das Ondas De Rádio ...............................................................32
2.7.5 Módulo De Transmissão TWS-HS-2 .............................................................32
2.7.6 Módulo De Recepção RWS-371-6.................................................................33
2.7.7 Normas De Propagação De Ondas De Rádio ...............................................34
3 DESENVOLVIMENTO ...........................................................................................36
3.1 Descrição do Funcionamento ............................................................................36
3.2 Metodologia ........................................................................................................40
3.2.1 Pacote De Dados............................................................................................40
3.2.2 Protocolos De Dados......................................................................................40
3.2.3 Softwares Utilizados .......................................................................................43
3.2.3.1 Compilador PCWH versão 4 ..........................................................................43
3.2.3.2 Proteus 7 professional ....................................................................................44
3.2.3.3 Elipse SCADA .................................................................................................44
3.3 Rotinas ................................................................................................................45
3.3.1 Rotina Quadro De Comando ..........................................................................45
3.3.2 Rotina Central De Monitoramento .................................................................48
3.4 TELA DE SUPERVISÃO ....................................................................................49
4 SIMULAÇÃO E RESULTADOS ............................................................................59
4.1 CUSTO LEVANTADO PARA IMPLANTAÇÃO DO PROJETO ........................75
4.2 DIFICULDADES ENCONTRADAS ....................................................................75
5 CONCLUSÃO ........................................................................................................77
REFERÊNCIAS .............................................................................................................78
ANEXOS ........................................................................................................................80
ANEXO A – Tabela de códigos ASCII ..........................................................................81
ANEXO B – Diretivas geradas pelo software PCWH Compiler para a biblioteca
quadro.h .........................................................................................................................81
ANEXO C – Código do quadro de comando desenvolvido no software PCWH
Compiler – Arquivo quadro.c ........................................................................................82
ANEXO D – Diretivas geradas pelo software PCWH Compiler para a biblioteca
central.h .........................................................................................................................88
ANEXO E – Código do quadro de comando desenvolvido no software PCWH
Compiler – Arquivo central.c .........................................................................................88
14
1 INTRODUÇÃO
Ao longo dos anos, a atividade de desenvolvimento de projetos
industriais tem passado por inúmeras mudanças. Tais alterações são conseqüências
da diversidade de instalações, equipamentos, edificações que surgem numa escala
bastante grande. Os projetos são normalmente complexos e juntamente com esse
grau de complexidade, novos modelos e técnicas estão surgindo, e
conseqüentemente, sendo aprimorados para o alcance do resultado operacional
esperado. As organizações também estão encarando essa atividade de uma
maneira responsável.
Já há algum tempo vem se verificando uma tendência para a
descentralização da inteligência e da capacidade de decisão dos componentes de
sistemas de automação industrial. Estes sistemas são desacoplados em diferentes
níveis de automação, cujos elementos inteligentes são interligados entre si através
de redes industriais, sem perder as vantagens de uma supervisão e condução
central do sistema como um todo. Esta descentralização traz consigo uma série de
vantagens técnicas, tais como a diminuição da sobrecarga de uma unidade de
processamento central, entre outros benefícios.
Para se tornar uma automação, o projeto, pode utilizar os mais
diversos componentes, entre eles, os Controladores Lógicos Programáveis (CLP´s)
que são equipamentos destinados à execução de tarefas de intertravamento,
temporização, contagem, operações matemáticas, supervisão em máquinas e
processos, controlando plantas industriais completas, reduzindo o espaço
necessário nas instalações e facilitando significativamente atividades de
reprogramação de fábrica e de manutenção, assim como pode ser utilizado
dispositivos de mais simples aquisição, mas que possibilita as mesmas ações de um
CLP, no caso, os microcontroladores.
Por sua vez, muitos projetos automatizados trazem consigo
benefícios que vão alem da redução dos custos operacionais, existe a questão de
comodidade e gerenciamento de tempo que um sistema automatizado com
softwares de supervisão torna possível.
15
1.1 CONTEXTUALIZAÇÃO DO PROBLEMA
Um reservatório pode ser designando também como tanque, que é
uma espécie de unidade hidráulica de reunião, armazenamento e passagem de
fluidos sob pressão atmosférica (figura 1), situados estrategicamente em um sistema
de modo a atenderem algumas situações:
a) Garantir o transporte do liquido com vazão e com a melhor
condição de pressão de maneira constante;
b) Garantir que o liquido terá sua quantidade sempre garantida no
processo;
c) Segurança e controle de alguns processos onde o nível do
produto não pode ultrapassar determinados limites.
Os reservatórios na grande maioria dos casos são utilizados pra
estocagem de água para consumo humano. A necessidade de sistemas de tanque
de água é tão antiga quanto o homem civilizado. Um reservatório de água, provêm o
armazenamento de água potável para consumo, a sistemas de irrigação na
agricultura, a supressão de fogo em sistemas anti-incêndio, a pecuária, a fabricação
de produtos químicos, a preparação de alimentos, bem como muitas outras
prováveis utilizações na área comercial e industrial.
16
Figura 1 – Reservatório de água
Fonte: Saubertecnica.blogspot.com
Para o processo de supervisão, medição e controle, os tanques
reservatórios utilizam um operador humano. Os reservatórios de fluidos, estando boa
parte das vezes situados em locais de difícil acesso ou distantes, exigem mais
tempo aos funcionários para monitorarem as regiões dos quais estão localizados,
seja andando ou utilizando outro meio de transporte.
A instalação de um sistema de automação pode garantir a
comodidade e facilidade de gerenciamento de reservatórios. Com a utilização de
dispositivos que transmitem e recebem dados via radio freqüência e o uso de CLP’s
ou de microcontroladores, para controlar o nivelamento do liquido, há possibilidade
de resolução do desconforto encontrado, quando comparado aos reservatórios
operando de forma tradicional.
17
1.2 OBJETIVO
1.2.1 Objetivos Gerais
Este trabalho tem como objetivo geral, desenvolver um projeto que
utilize um microcontrolador para controle de nível em um reservatório, utilizando uma
comunicação via rádio e fazer o interfaceamento entre o usuário e este sistema, com
o auxilio de um programa supervisório. É visado transcrever os conhecimentos
adquiridos na elaboração deste trabalho aderindo às normas para desenvolvimento
de documentos acadêmicos.
1.2.2 Objetivos Específicos
a) Estudar o princípio de funcionamento e utilização de
microcontroladores, programação, sistemas de radio e
supervisórios através de pesquisa;
b) Projetar um sistema que utilize esses elementos para controlar
de maneira automática o nivelamento num reservatório;
c) Criar um protocolo de comunicação;
d) Desenvolver um sistema de supervisão para visualizar as
ocorrências do reservatório;
e) Verificar a viabilidade do sistema utilizando microcontroladores;
f) Comunicar dispositivos utilizando rádio freqüência;
g) Comunicar microcontrolador e computador usando porta serial;
h) Confeccionar, programar e testar o sistema proposto;
i) Favorecer no progresso das habilidades de escrita de artigos
técnicos do autor;
j) Divulgar o conhecimento adquirido, em sites especializados da
área.
1.3 JUSTIFICATIVA
Escolheu-se o tema pela afinidade e desejo do autor na elaboração
18
de sistemas com os elementos citados anteriormente, visando estudar e conhecer
uma parte muito importante da automação, a relação entre dispositivos, softwares e
linguagem de programação; utilizado em plantas e processos de automação
industrial, por profissionais da automação industrial, como técnicos e tecnólogos.
Levou-se em consideração também a disseminação do emprego desses elementos
nas plantas industriais, instigando a busca por novos adeptos dessas tecnologias. O
intuito da pesquisa é desenvolver esse protótipo de supervisão e comunicação RF
de baixo custo que possa atender tanto empresas com alto poder aquisitivo, como
pequenas empresas e/ou quaisquer instalações que necessitem de um instrumento
para medição de nível, mas não possuam capital disponível para investir, garantindo
a automatização com eficiência de um reservatório sem a necessidade de grandes
investimentos.
1.4 ORGANIZAÇÃO DO TRABALHO
Este trabalho de conclusão de curso está organizado em capítulos,
no primeiro capitulo serão descritas as características gerais, uma idéia geral de
todo o trabalho. No capitulo 2, é descrito teorias relevantes em relação ao tema
como o controle de processos, microcontrolador, rádio freqüência, sistema
supervisório entre outros. O Capitulo 3 deste trabalho trata da descrição do
funcionamento, métodos utilizados para desenvolvimento do sistema baseado na
pesquisa do capitulo dois, este capítulo relata os passos seguidos para o
desenvolvimento de tudo o que é proposto utilizando materiais de fácil aquisição e
de baixo custo. Os testes, a simulação do sistema usando softwares para
automação, a confecção e os resultados obtidos durante as simulações de
comunicação entre o microcontrolador, computador, transmissor e receptor de radio,
serão relatados no capitulo 4. No capitulo 5 apresenta-se as conclusões deste
trabalho, encerrando com as referências bibliográficas dos materiais utilizados para
o desenvolvimento do mesmo e alguns documentos anexados.
19
2 FUNDAMENTAÇÃO TEÓRICA
2.1 SISTEMA DE CONTROLE DE PROCESSOS
Um sistema regulador automático, no qual a saída é uma variável,
tal como temperatura, pressão, fluxo de líquido, pH, condutividade, velocidade, entre
outros; é denominado um Sistema de Controle de Processo.
Faz-se necessário um domínio muito rígido para o controle da
variável, ou seja, para que o processo não seja deteriorado por problemas técnicos
ou parado por ausência de insumos, a variável do processo deve ser
constantemente monitorada de maneira eficiente e precisa.
O Controle de processo é exaustivamente aplicado na indústria, pois
sempre existe a necessidade de atuar sobre uma determinada atividade mesmo que
os meios externos tentem desviá-lo de uma condição que deveria ficar em estado
estacionário ou adequado à proposta da planta industrial.
2.1.1 Sistemas De Controle Em Malha Fechada
São sistemas de controle com realimentação. Em um sistema de
controle em malha fechada o sinal de saída é comparado com o sinal de entrada, de
maneira a trazer a saída do sistema a um valor desejado implicando no uso de ação
de controle a fim de reduzir o erro (desvio) do sistema, tornando o sistema mais
preciso e fazendo com que ele reaja a perturbações externas (figura 2). O emprego
da realimentação e do controle em malha fechada permite as seguintes:
a) Aumentar a precisão do sistema;
b) Rejeitar o efeito de perturbações externas;
c) Melhorar a dinâmica do sistema, estabilizando-o de maneira
natural a instabilidade encontrada na configuração desse
sistema quando em malha aberta;
d) Reduzir a sensibilidade do sistema às variações dos parâmetros
do processo, ou seja, tornar o sistema mais robusto.
20
Figura 2 - Malha Fechada
Fonte: Autoria própria
2.1.2 Sistemas De Controle Em Malha Aberta
São aqueles sistemas em que consiste a aplicação de um sinal de
controle pré-determinado pela entrada, de maneira que a saída não tenha nenhum
efeito sobre a ação de controle do processo, a saída não é medida nem
realimentada para comparação com a entrada, a precisão do sistema depende de
uma calibração com observado na ilustração 3. Na presença de perturbações, um
sistema de controle em malha aberta não desempenhará a tarefa desejada.
Figura 3 - Malha Aberta Fonte: Autoria própria
2.1.3 Processo Contínuo
Relaciona-se a sistemas em que as variáveis precisam ser
monitoradas e controladas sem interrupção cuja produção requer que determinadas
quantidades de matérias-primas sejam combinadas apropriadamente durante um
certo período de tempo. São exemplos a fabricação de colas ou de alimentos, em
que a mistura de insumos, em proporções calculadas, precisa ser mantida aquecida
21
durante um tempo preestabelecido. Também podem ser classificadas nessa
categoria as indústrias farmacêutica, química, de bebidas, de produtos de limpeza,
de alimentos, cerâmica, siderúrgicas e de embalagens.
No Processo Contínuo, as variáveis predominantes são analógicas e
exigem controle de malha fechada através de algoritmos especialistas e/ou de
controle PIDs.
2.1.4 .Processo Discreto
Tem relação com à fabricação de produtos ou peças que podem ser
contados como unidades individuais e na qual predominam as atividades discretas.
Normalmente condicionadas à ocorrência de eventos, como detecção de presença,
estado ligado ou desligado, fim-de-linha São exemplos desse tipo de processo a
produção de placas de metal estampadas, de automóveis, aviões, bens de capital,
brinquedos, eletroeletrônicos, computadores, vestuário, tijolos, pneus e calçados.
Controle de processos discretos é a implementação de uma
operação lógica e/ou seqüência de eventos através do qual o processo é levado a
um estado desejado.
2.2 CONCEITUAÇÃO DA VARIÁVEL NÍVEL
O nível é uma das variáveis mais encontradas em aplicações
industriais. Sua definição é simples, é uma referência de posição determinada entre
dois meios, geralmente líquidos, porém, em alguns casos, pode ser sólidos, vapores
ou gases ou até mesmo a combinação entre esses estados físicos (ALVES, 2005).
Sua medição pode ser feita de inúmeras maneiras, porém há alguns aspectos que
precisam ser levados em consideração como:
a) As características exigidas da aplicação;
b) A precisão desejada;
c) O tipo de produto;
d) Custos ou outros detalhes que sejam relevantes na
implementação do sistema.
Suas formas de aferimento são encontradas nas seguintes constituições:
a) Medição direta: Que é a medição que tomamos como referência
22
a posição do plano superior da substância medida. Neste tipo de
medição podemos utilizar réguas ou gabaritos, visores de nível,
bóias ou flutuadores.
b) Medição de nível indireta: Neste tipo de medição, o nível é
medido de modo que sejam utilizadas grandezas físicas como
parâmetros. Essas grandezas podem ser pressão, empuxo,
radiação e algumas propriedades elétricas; tensão e corrente.
c) Medição de nível Descontínua: Medidores são empregados para
fornecer indicação apenas quando o nível atinge certos pontos
desejados como, por exemplo, em sistemas de alarme e
segurança de nível alto ou baixo.
2.2.1 Sensores De Nível Do Tipo Eletrodo
De acordo com Thomazini e Albuquerque (2007), os eletrodos
metálicos são utilizados em aplicações do qual o material no reservatório seja
condutivo. No momento em o liquido atinge os dois elementos, o eletrodo de
referência e o eletrodo marcador de nível, o liquido fecha um circuito enviando um
sinal elétrico para o circuito de controle (figura 4). Normalmente utiliza-se esse tipo
de circuito para proteções contra transbordamento, controle de nível máximo e
mínimo.
Figura 4 – Sensores de níveis do tipo eletrodo
Fonte: Vinicius Brasil
Porem esse circuito nos revela uma saída analógica, para uma
aplicação que necessite de uma saída digital o seguinte circuito eletrônico deve ser
23
montado, ligação esta demonstrada na figura 5.
. Figura 5 – Circuito eletrônico acoplado aos eletrodos
Fonte: Autoria própria
Esse circuito opera da seguinte maneira: cada eletrodo será
acoplado no lugar das chaves, o eletrodo de referência estará ligado diretamente no
GND (Ground ou terra), no momento em que o líquido estiver sobre ele e o próximo
eletrodo, o transistor entrará no regime de funcionamento na região de saturação
fazendo com que o led acenda, indicando que a corrente do emissor esta indo para
o coletor. O capacitor garante que não haverá nenhum sinal de tensão indo até que
seja armazenada a tensão necessária para manter um fluxo uniforme para o resistor
e o diodo, que possibilita uma queda de tensão e filtra os sinais de carga negativa
deixando apenas o fluxo positivo atravessar, mandando assim um sinal de tensão
24
compatível com circuitos integrados, tudo isso, se a tensão do emissor estiver de
acordo com a tensão destes dispositivos.
2.3 COMUNICAÇÃO DE DADOS
Tafner, Loesch e Stringari (1996), caracterizam como comunicação
de dados a troca de informações entre dois ou mais elementos e sendo originado na
comunicação de dados natural (voz). Esses autores conceituam ainda os principais
aspectos da comunicação como: fonte de transmissão (transmissor), informação a
ser transmitida, canal ou meio de comunicação e destino da informação transmitida
(receptor).
Eles alegam que a mensagem em sistemas de comunicação baseia-
se no sistema binário, onde um bit é a menor unidade de representação, usado para
descrever as condições de existência de dois estados: ligado (“1”) ou desligado (“0”).
Um conjunto de bits representa uma letra, um número ou um símbolo especial,
quando se usa um padrão, no caso, o código padronizado ASCII. De acordo com
Tafner, Loesch e Stringari (1996), o código ASCII utiliza sete bits na sua
representação o que resulta em 128 (27) combinações possíveis, sendo este um dos
códigos de representação mais utilizados na comunicação de dados digitais.
2.4 SISTEMA SUPERVISÓRIO (SCADA)
SCADA é um acrônimo derivado do inglês para Supervisory Control
And Data Acquisition transcrito em português como, Sistema de Supervisão e
Aquisição de Dados, ou simplesmente conhecido como sistema supervisório.
Segundo Boyer, o SCADA permite a um usuário coletar e enviar de
forma limitada, dados entre uma única ou diversas instalações, distantes uma das
outras. Ele foi concebido para monitorar e controlar grandes processos
Um sistema supervisório, é um programa que tem por objetivo
ilustrar o comportamento de um processo através de figuras e gráficos, tornando-se
assim, uma interface objetiva entre um operador e o processo, desviando dos
algoritmos de controle. O software de supervisão é o responsável pela aquisição de
dados diretamente dos dispositivos controladores para o computador, pela sua
organização, gerenciamento e tratamento dos dados.
25
O supervisório deve permitir que estratégias de controle e
supervisão que possam ser desenvolvidas utilizando-se de funções avançadas, com
telas gráficas possibilita o interfaceamento homem-máquina, facilitando a
visualização e compreensão da planta industrial e o controle das funções do
processo.
2.4.1 Propósito Do Sistema SCADA
O SCADA permite que um operador, de uma estação central ao
processo distribuído em larga escala, fazer mudanças de valores em pontos
remotos, para abrir ou fechar válvulas, e adquirir informações sobre medidas de um
processo. Para locais com dimensões extensas, os benefícios em torno da redução
de custos de procedimentos rotineiros de visita para monitorar e controlar processos
não pode ser mensurado, ainda mais se forem locais de difícil acesso que
necessitem de transporte especial. Os reais propósitos de um sistema SCADA estão
em permitir que o usuário estenda suas habilidades de ver o que está ocorrendo e
de fazer as mudanças necessárias para o processo trabalhar conforme o designado,
tudo isso em tempo real, reduzindo assim os custos de operação.
2.5 MICROCONTROLADORES
De modo inicial as tarefas de comando e controle de máquinas e
processos industriais eram feitas por relés eletromagnéticos especialmente
projetados para este fim. O microcontrolador é um circuito integrado de custo baixo
que contém na sua síntese: memória programável somente para leitura, que
armazena permanentemente as instruções programadas; memória RAM, que
trabalha armazenando “variáveis” utilizadas pelo programa; CPU, que interpreta e
executa comandos desse programa. Existem também dispositivos de entradas e
saídas, que tem a finalidade de controle de dispositivos externos ou de receber
sinais pulsados de chaves e sensores. Esses componentes se encontram num
mesmo circuito integrado.
Os microcontroladores, de modo geral, têm tido destaque
considerável no desenvolvimento de novas tecnologias pela sua dinâmica nas
respostas solicitadas, bem como pela facilidade de programá-los, sobretudo quando
26
se utiliza alguma linguagem de programação de alto nível, como a linguagem C
utilizada neste trabalho. A escolha do microcontroladores PIC foi baseada na sua
fácil aquisição, baixo custo e serem programados em C através do compilador PIC C
Compiler. Outras vantagens da utilização dos microcontroladores PIC incluem:
Menor ocupação de espaço, Potência elétrica requerida menor, reutilização
programável, se ocorrerem mudanças de requisitos de controle, Maior confiabilidade;
Permite a interface com CLPs e microcomputadores.
2.5.1 Histórico
Segundo Sousa (2001) O primeiro microcontrolador foi lançado pela
Texas Instruments em 1972, o TMS 1000 de 4 bits, que inclui RAM, ROM e suporte
a I/O em um único chip, permitindo o uso sem qualquer outro chip externo. Em 1977
a Intel lança o microcontrolador 8048, que possuía memória de programa externa
(ROM), e memória de dados interna de 256 kbytes (RAM).
2.5.2 Microcontrolador PIC16F877A
O PIC16F877A é um microcontrolador CMOS de 14 bits e 40 pinos
Fabricado pela Microchip Technology, que contém as seguintes características
(MICROCHIP, 2003):
a) 35 instruções;
b) Clock de 20 MHz;
c) Memória Flash de 2.048 x 14 bits, para armazenamento do
programa;
d) Memória RAM de 224 bytes, para registradores e variáveis de
programa;
e) Memória EEPROM de 128 bytes, para dados não voláteis;
f) Interrupção externa, do timer, de transição de bits da porta B e
de término de escrita na EEPROM;
g) 16 registradores especiais;
h) 8 níveis de pilha;
i) Modos de endereçamento direto, indireto e relativo;
j) 16 pinos de entrada e saída em 2 portas de comunicação;
27
k) 2 comparadores analógicos;
l) 3 timers;
m) Saída com modulação da largura de pulsos;
n) Watchdog Timer (Temporizador que dispara um reset no PIC).
o) Funcionamento com Alimentação entre 2V e 5,5V
Na concepção deste trabalho, o PIC16F877A (Figura 6) será
utilizado para a coleta de informações a respeito do nível e estado da bomba,
transmissão e recepção dados via rádio freqüência e comunicação do computador
pela porta serial. A imagem a seguir demonstrará a estrutura dos pinos desse
microcontrolador.
Figura 6 - Diagrama de pinos do PIC16F877A
Fonte: Microchip
2.5.3 Linguagem C
Para programar microcontroladores existem algumas linguagens de
programação compatíveis desde que atendam as funcionalidades de cada
microcontrolador e conversão em linguagem.
A linguagem de programação C é um tipo de linguagem usada pra
inúmeros propósitos, bem estruturada ela é pertencente a uma família de linguagens
cujas características são: portabilidade, modularidade, compilação separada,
recursos de conversão para baixo nível, geração de código eficiente, confiabilidade,
28
regularidade, simplicidade e facilidade de uso, consagrando-se uma das linguagens
mais populares do mundo, pois seu uso varia desde a criação de banco de dados a
aplicações mais simples.
O trabalho com essa linguagem obedece a uma seqüência de
operações para criação de um programa executável que, na maioria das vezes, está
codificada em linguagem de baixo nível, suas etapas de operação são: Escrita do
módulo fonte em um editor de textos; Acionamento de um compilador que traduz a
codificação do usuário para uma forma de linguagem de nível inferior; Geração do
executável criado pelo lincador.
2.6 PADRÃO RS-232
Zanco (2006) descreve o RS-232 como um padrão de nível físico
que teve primeira versão publicada no início da década de 60 pelo órgão EIA
(Eletronic Industries Association). O padrão RS-232 define características
mecânicas, elétricas e funcionais para a comunicação serial de dados entre um
Equipamento Terminal de Dados (DTE) e um Equipamento de Comunicação de
Dados (DCE).
O comprimento máximo do cabo que interliga o DTE ao DCE não é
definido pelo RS-232, entretanto, por causa da capacidade limitação da capacitância
de 2500pF e com a impedância da carga variada entre 3 e 7 Kilo ohms, limita-se a
distância do cabo em 20 metros. Suas características serão demonstradas na tabela
abaixo:
Tabela 1 - Características do padrão RS-232
ESPECIFICAÇÕES CARACTERISTICAS
Modo de operação Ponto a ponto
Numero total de drivers e receivers 1 Driver – 1 receiver
Comprimento da rede 20 metros
Taxa de transmissão 20Kbps
Faixa de tensão do circuito de saída Até 25V
Nível de tensão do circuito de saída – 2 nós sob carga Entre 5V e 15V
Nível de tensão do circuito de saída sem carga Até 25V
Impedância do circuito de entrada e saída (em Ohms) 3k a 7k
Sensibilidade do circuito de entrada Entre 3V
Fonte: Zanco
O padrão RS-232 não exige o protocolo de comunicação utilizado,
29
entretanto, ele pode suportar tanto a comunicação serial síncrona quanto a
comunicação serial assíncrona. A comunicação assíncrona universal é a mais usada
pelo padrão RS-232 por não necessitar de um clock no sinal da transmissão.
2.6.1.1 CI MAX-232
O MAX-232 é o dispositivo que fará a conversão de tensão entre o
sinal emitido pelo microcontrolador da área onde se encontrará o quadro de
comandos para os dispositivos RF, e no supervisório, entre o sinal do RF para o
microcontrolador e o computador. O MAX 232 possui o seguinte esquema mostrado
na figura 7.
Figura 7 – Configuração dos pinos e circuito de operação do MAX232
Fonte: Maxim
O cabo serial ligado ao computador é composto de três fios (RX, TX
e GND). Os pinos 2 e 3 do conector DB9 serão conectados através do cabo serial
respectivamente aos pinos TX (que transmite os dados) e RX (que recebe os dados)
dos PIC’s. O pino 5 (GND - terra) do conector é ligado à fonte de alimentação do
circuito. Os capacitores eletrolíticos complementaram o circuito inversor interno que
produz as tensões positivas e negativas utilizadas no padrão RS-232. É relevante
salientar quanto à correta ligação dos cabos, pois uma vez que os cabos de
recepção e transmissão sejam trocados, será comprometido todo o sistema. Essa
30
ligação é visualizada a partir da figura 8.
Figura 8 – Ligação dos cabos no conector DB9 Fonte: Autoria própria
2.7 SISTEMAS DE RADIO
2.7.1 Equipamentos De Radio
Os equipamentos de rádio são usualmente empregados com a
intenção de transmitir ou receber mensagens e quaisquer tipos de informações por
intermédio de ondas eletromagnéticas. Os equipamentos de rádio mais comuns são
os transmissores, os receptores e/ou a combinação de ambos
(NASCIMENTO,2000).
2.7.2 Ondas Eletromagnéticas
A energia enviada pelas antenas transmissoras e captada pelas
antenas receptoras é transportada por ondas eletromagnéticas. Seu nome origina-se
do fato de que são compostas por campos elétricos e magnéticos variáveis e se
propagam no vácuo à velocidade de 300.000 quilômetros por segundo.
A maneira como os campos elétrico e magnético se orientam no
espaço é chamada polarização. Se o campo elétrico é paralelo à superfície da Terra,
dizemos que a polarização é horizontal; se o campo elétrico está em plano
perpendicular à superfície da Terra, a polarização é vertical. Podemos orientar
antenas verticalmente ou horizontalmente.
Conceito: OEM é uma perturbação física composta por um campo
31
elétrico (E) e um campo magnético (H) variáveis no tempo, perpendiculares entre si,
capazes de se propagar no espaço.
Freqüência: número de oscilações por unidade de tempo (Hz).
Comprimento de onda: distância percorrida pela onda durante um
ciclo. É definido pela velocidade de propagação dividida pela freqüência. Ver fórmula
ao lado.
2.7.3 Radio Enlace
Podemos definir como rádio enlace o conjunto de equipamentos
necessários para estabelecer comunicação por rádio entre dois pontos.
Os elementos básicos para a implementação de um rádio enlace
são:
a) Rádio transmissor (TX);
b) Linha de transmissão da estação transmissora;
c) Antena transmissora;
d) Meio de propagação;
e) Antena receptora;
f) Linha de transmissão da estação receptora;
g) Rádio Receptor (RX).
A figura abaixo ilustra com maiores detalhes o arranjo estrutural de
um radio enlace.
Figura 9 – Estrutura do rádio enlace
Fonte: Autoria própria
No radio enlace ponto a ponto é usualmente empregado o sistema
Simplex, ou seja, transmissão de dados é feita de forma que um dispositivo
transmita, e depois receba dados de retorno.
32
2.7.4 Classificação Das Ondas De Rádio
As ondas de rádio são energias propagadas através de um meio que
no caso é o meio aéreo (atmosfera), sua diferenciação é atribuída a partir de sua
faixa de freqüência de operação. A tabela a seguir demonstrará essas
características:
Tabela 2 – Classificação das ondas de rádio
Sigla Freqüência Comprimento da
onda Faixa de freqüência
VLF Muito baixa 10 a 100Km 3kHz a 30kHz
LF Baixa 10 a1Km 30kHz a 300kHz
MF Media 100 a 1000m 300kHz a 3MHz
HF Elevada 10 a 100m 3MHz a 30MHz
VHF Muito alta 1 a10m 30MHz a 300MHz
UHF Ultra elevada 10 a 100cm 300MHz a 3GHz
SHF Super elevada 1 a 10cm 3GHz a 300GHz
EHF Extremamente elevada 0,1 a 1cm 30GHz a 300GHz
Fonte: Miyoshi e Sanches
2.7.5 Módulo De Transmissão TWS-HS-2
A transmissão dos dados via rádio freqüência é feita pelo TWS-HS-2
da Wenshing®©, figura 10. Na existência da necessidade de propagação das ondas
de rádio a um alcance maior, este módulo transmissor de rádio freqüência precisa de
uma antena para essa propagação. O TWS, opera a uma freqüência típica de
433,92MHz, suporta uma tensão de 0,3V até 12V, sua tensão de operação é de 5V
e trabalha a uma temperatura mínima de -20ºC e máxima de até 85ºC.
33
Figura 10 – Módulo TWS-HS-2
Fonte: Wenshing
A tabela abaixo mostra a função de cada pino do transmissor.
Tabela 3 – Pinos do TWS
PINO FUNÇÃO
1 Enable/ Disable
2 Data
3 Vcc
4 Gnd
5 Antenna
Fonte: Wenshing
A função Enable/Disable representa o pino que habilitará ou não a
transmissão do módulo, Data será a informação a ser transmitida, Vcc é a tensão de
operação do módulo (5V), respectivamente o Terra e a antena são identificados
pelos pinos 4 e 5.
2.7.6 Módulo De Recepção RWS-371-6
A recepção dos dados via rádio freqüência será feita com a
utilização do módulo RWS-371-6 da mesma fabricante do transmissor mencionado
anteriormente na figura 10. Este módulo receptor admite e percebe as oscilações de
onda transmitida, decodificando tais oscilações em sinais de dados, realizando a
recepção desses dados numa faixa de freqüência que varia entre o mínimo de
433,42MHz e no máximo 434,42MHz, normalmente trabalhando com uma freqüência
típica de 433,92MHz, compatível com módulo TWS-HS-2. O RWS suporta uma
tensão de 5V (figura 11).
34
Figura 11 - Módulo RWS-371-6 Fonte: Wenshing
A tabela 4 expõe a função de cada pino do receptor.
Tabela 4 – Pinos do RWS
PINO FUNÇÃO
1 Gnd
2 Digital Output
3 Linear Output
4 Vcc
5 Vcc
6 Gnd
7 Gnd
8 Antenna
Fonte: Wenshing
Como visualizado anteriormente as funções Gnd, Vcc e Antenna,
respectivamente representam terra, tensão de operação e antena (nesse caso de
recepção). A função Digital Output e Linear Output designam reciprocamente as
saídas de sinais digitais e de sinais analógicas, embora para a aplicação do projeto,
idealiza-se utilizar a saída digital.
2.7.7 Normas De Propagação De Ondas De Rádio
De acordo com os autores MIYOSHI e SANCHES (2002), A faixa de
freqüência reservada a qualquer tipo de sistema de comunicação é chamada de
canal de rádio freqüência. Para a não ocorrência de interferências na recepção, é de
suma importância, que não existam dois sinais compartilhando o mesmo canal, em
uma mesma região. Para regularizar com o mínimo de interferência, a operação dos
35
sistemas de comunicação via radio, existem órgãos, em todos os países,
encarregados da tarefa de controlar a ocupação do espectro de rádio freqüência.
Tais órgãos são, quase todos, membros do Comitê Consultivo Internacional de
Radiocomunicações (CCIR), com sede da Suíça. O órgão responsável por este
serviço no Brasil é a Agência Nacional de Telecomunicações (ANATEL).
A freqüência de trabalho a ser utilizada pelos módulos de recepção e
transmissão de dados, mencionados a seguir, não necessita de licença para o
funcionamento por se tratar de uma banda de uso livre para aplicações industriais,
cientificas e medicas, a faixa ISM de freqüências, os valores reservados para esse
fim são 433MHz, 900MHz, 1.8GHz, 2.4GHz e 5.8GHz.
36
3 DESENVOLVIMENTO
Nessa parte do trabalho, começará a ser mostrada como se
idealizou a parte física. Serão detalhadas quais estruturas estão interconectadas, e
como será feita a comunicação de dados entre estes dispositivos.
3.1 DESCRIÇÃO DO FUNCIONAMENTO
Abaixo, segue uma ilustração em forma de diagrama de blocos, a
título de generalização, para informação da ligação entre as partes do circuito.
Figura 12 – Arranjo físico proposto ao sistema. A) representa quadro de comando B) representa a
central de monitoramento. Fonte: Autoria própria
Basicamente o sistema de controle de nível é composto por
sensores, microcontroladores, onde serão localizadas as lógicas de acionamento ou
interrupção, bomba, módulo de transmissão e recepção de radio freqüência, antena
retransmissora, transdutor MAX 232 e um computador onde será feita a supervisão
do reservatório.
Inicialmente, ao acionar o sistema, será feita a leitura dos sinais
discretos dos sensores, cada um dos sensores N1, N2 e N3, representa
respectivamente os níveis baixo, médio e alto. Os sensores serão estrategicamente
posicionados nos pontos que indiquem 10%, 50% e 100% do total de volume no
reservatório, são demonstrados os níveis a partir da figura 13.
37
Figura 13 – Níveis do reservatório
Fonte: Autoria própria
No caso deste sistema eletrodos de nível serão utilizados como
sensores, eles serão responsáveis pela leitura do nível, interpretando assim a
presença ou ausência do líquido. Tal leitura será constituída de forma binária, ou
seja, 0 e 1. Será dado 1 no momento em que há presença do líquido e 0 para a
ausência do líquido, estas leituras são analisadas constantemente pelo
microcontrolador de maneira que ele interprete os dados e tome a decisão
necessária. As ações suportadas foram definidas como sendo o acionamento, o
desligamento ou manter a bomba num estado estacionário. Qualquer que seja o
caso, o estado da bomba também será analisado pelo microcontrolador.
Desenvolveu-se uma tabela verdade que contempla a operação da bomba.
38
Tabela 5 – Lógica de interpretação da operação da bomba
Tabela verdade do Sistema
Sensor N3 Sensor N2 Sensor N1 Resultado
Ativado Ativado Ativado Desligar Bomba
Ativado Ativado Desativado Erro (Aviso)
Ativado Desativado Ativado Erro (Aviso)
Ativado Desativado Desativado Erro (Aviso)
Desativado Ativado Ativado Manter Ativo Sistema
Desativado Ativado Desativado Erro (Aviso)
Desativado Desativado Ativado Manter Ativo Sistema
Desativado Desativado Desativado Ligar Bomba
Fonte: Autoria própria
Na ocasião de Erro (Aviso) será demonstrada posteriormente uma
tabela que revelará as mensagens ao sistema supervisório na seção do trabalho
Tela de Supervisão.
Para a análise dos sinais de dos sensores e da bomba, foi
desenvolvido o código mostrado na figura 14.
Figura 14 – Código de verificação de acionamento de sensores e bomba
Fonte: Autoria própria
Foi criada uma função ent_nivel_bomba(), como dito anteriormente,
ela é responsável por verificar os estados dos níveis e da bomba.
Após a averiguação feita pelo microcontrolador, níveis e estado da
bomba, serão armazenadas informações acerca do comportamento do sistema e
posteriormente as mesmas serão enviadas via módulo de transmissão, o TWS-HS-2.
Num terceiro momento o sinal enviado pelo transmissor será
captado pelo módulo de recepção, o RWS-371-6, que conectado ao segundo
39
microcontrolador fará com que as informações oriundas do dispositivo responsável
pela monitoração dos níveis e do estado da bomba (central de observação ou
ambiente de supervisão), sejam redirecionadas através da porta serial do
computador.
Posteriormente a esses acontecimentos, os dados redirecionados ao
computador serão interpretados por um programa supervisório, desenvolvido no
software Elipse SCADA, como os dados dispostos na figura a seguir.
Figura 15 – Programa supervisório de monitoramento
Fonte: Autoria própria
As informações sobre os eventos no supervisório serão explanados
na seção Tela de Supervisão.
40
3.2 METODOLOGIA
3.2.1 Pacote De Dados
Para a comunicação dos dispositivos foi criado um protocolo para a
comunicação dos dados. O pacote de dados desenvolvido foi baseado na utilização
do código de caracteres ASCII, a estrutura do telegrama a ser enviado está
designada na figura 16.
Figura 16 – Pacote de dados Fonte: Autoria própria
Cada parte desse telegrama é composto por 1 Byte, o START
BYTE, é o elemento que representa o Byte de sincronização iniciando a mensagem
no sistema, sem ele nenhuma mensagem é recebida tanto pelo quadro de comando
quanto pela central de monitoramento. O Byte DADOS, alocará a informação sobre
os estados dos níveis e da bomba pelo quadro de comando, outrora ele será
responsável em concentrar a informação enviada pela central de monitoramento,
que indicará ou não ações no quadro de comando. O Byte de finalização da
mensagem, STOP BYTE, ira assegurar a integridade das informações do pacote
enviadas pelo sistema.
Os caracteres que formam o START BYTE e o STOP BYTE são
respectivamente os caracteres “#” (sustenido) e “*” (asterisco), da tabela ASCII, seus
valores no programa desenvolvido na linguagem C, para o “#” é o numero 35 e para
o “*” seu numeral equivalente é o 42.
3.2.2 Protocolos De Dados
Para que haja comunicação entre dispositivos, deve ser estabelecido
um conjunto de regras para garantir a ordem na transferência de dados de maneira
41
eficiente e segura. A esse conjunto dá-se o nome de protocolo.
Cada equipamento devido suas características poderá exigir um
protocolo diferente. Para ser um protocolo, as regras de transferências de dados
devem estabelecer inicio e fim de conexões lógicas entre os dispositivos, assegurar
que as informações sejam transferidas sem erros e ter procedimentos para requisitar
reenvio ou recuperar as mensagens em caso de erros. Para o devido fim, o
protocolo de dados projetado segue a seguinte regra: Verificar o START_BYTE e o
STOP_BYTE. Todas as informações que não contiverem esses dois Bytes serão
descartadas pelos microcontroladores da central e do quadro de comando. O código
desenvolvido que possibilitou essa validação é representado pela figura 17.
Figura 17 – Código para validação de dados
Fonte: Autoria própria
Após as verificações do START_BYTE e STOP_BYTE, o código
return dados_rx[1], envia o byte DADOS. Caso não sejam verídicas as informações
será retornado um caracter de erro, “É”, através do código fputc(144, quadro),
42
retornando ao ponto inicial de verificação do START_BYTE, utilizando o código goto
volta, na ocorrência de algum erro na leitura do STOP_BYTE o mesmo
procedimento relatado acima ira acontecer.
O byte DADOS, como dito anteriormente, irá conter todas as
informações sobre os estados dos níveis, estado da bomba, comandos de
acionamento automático e manual, alem de indicar a interrupção de todo o sistema.
Como explicado em certas regiões deste documento, todo o pacote de dados é
baseado na tabela ASCII de caracteres, para ilustrar os valores recebidos e
enviados neste sistema foi desenvolvida a tabela 6;
Tabela 6 – Equivalência entre caracteres X decimal baseado na tabela ASCII
CARACTER Correspondente em decimal
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
: 58
; 59
< 60
= 61
> 62
? 63
É 144
# 35
* 42
p 112
@ 64
% 37
Fonte: Autoria própria
Será explicado sucintamente a utilização dos caracteres “p”, “@” e
“%”, num próximo momento do trabalho.
43
3.2.3 Softwares Utilizados
3.2.3.1 Compilador PCWH versão 4
O compilador PCWH versão da CCS (Custom Computer Services)
consiste em um ambiente integrado de desenvolvimento (IDE) para sistema
operacional Windows, a qual suporta toda a linha de microcontroladores PIC (séries
PIC12, PIC14, PIC16 e PIC18), o qual faz a compilação de um código escrito em
linguagem de programação C, gerando assim um código na linguagem de máquina.
Na realidade, o PCWH é dividido em três módulos compiladores
independentes:
a) PCB: para dispositivos de 12 bits (series PIC 12 e PIC 16c5x);
b) PCM: para dispositivos de 14 bits (series PIC 14000 e PIC
16xXXX);
c) PCH: para dispositivos de 16 bits (series PIC 18).
Na figura 18 apresentada logo abaixo, pode se verificar a tela do
CCS com uma aplicação de exemplo.
Figura 18 – Tela do Compilador PCWH com um programa em linguagem C
Fonte: Autoria Própria
44
3.2.3.2 Proteus 7 professional
O Proteus 7 professional é um pacote de softwares da área de
engenharia usada para a simulação de circuitos eletrônicos, que possibilita
desenvolver e testar modelos físicos antes da confecção de um protótipo e ajuda na
montagem da placa de circuito impresso. Tal ferramenta será utilizada para testar
circuito, possibilitando assim garantir a integridade desse o circuito e de todo o
projeto assim como seus componentes eletrônicos, através do Proteus será possível
verificar o funcionamento do projeto e seus possíveis erros. A figura abaixo mostra o
software Proteus 7 Professional utilizando o ambiente ISIS que faz a construção e
simulação dos circuitos, com um circuito de exemplo.
Figura 19 – Tela do ambiente ISIS de simulação do Proteus circuito de exemplo
Fonte: Autoria própria
3.2.3.3 Elipse SCADA
O Elipse SCADA é uma poderosa software para o desenvolvimento
de sistemas de supervisão e controle de processos. Ele possui diversos recursos
que facilitam e agilizam a tarefa de desenvolvimento das mais diversas aplicações.
Configurável pelo usuário permite a monitoração de variáveis em tempo real, através
45
de gráficos e objetos que estão relacionados com as variáveis físicas em campo,
com possibilidade de fazer acionamentos e enviar ou receber informações para
equipamentos de aquisição de dados. Além disso, possui exclusiva linguagem de
programação, o Elipse Basic, possibilitando automatização de diversas tarefas a fim
de atender as necessidades específicas de um determinado processo. A figura 20
demonstra a tela do Elipse SCADA com uma aplicação de exemplo
Figura 20 – Tela inicial do Elipse SCADA
Fonte: Autoria própria
3.3 ROTINAS
Uma rotina é um conjunto de instruções aglutinadas que possibilitam
a execução de uma tarefa pré-definida. Demonstra-se nesta seção do trabalho
algumas rotinas criadas para os microcontroladores responsáveis pelas ações do
quadro de comandos e da central de monitoramento.
3.3.1 Rotina Quadro De Comando
As figuras 21 e 22 exibem um fluxograma e parte do código
46
desenvolvido pelo programa PCWH Compiler que ordena as instruções que o
quadro de comando irá desempenhar.
Figura 21 – Fluxograma representativo do Quadro de comandos
Fonte: Autoria Própria
47
Figura 22 – Código das rotinas do Quadro de comando
Fonte: Autoria própria
Inicialmente a primeira rotina a ser executada pelo programa é a
rotina ent_nivel_bomba(), atribuída à variável niveis_e_bomba, que tem como
responsabilidade a leitura dos níveis e o estado da bomba. Posteriormente a isso
uma segunda rotina é executa, envia_pacote(niveis_e_bomba), que enviará as
informações sobre os estados dos elementos citados anteriormente à central de
monitoramento. Logo após isso é necessário a indicação pela central da ação a ser
tomada para a manifestação ou não da próxima rotina do sistema, a rotina atribuída
à variável comando, que possibilita isso é recebe_comando(). Usou-se a sub-rotina
fputc(comando, quadro), para verificar em testes se o caracter que representa a
ação enviada pela central de monitoramento esta sendo recebido realmente. Num
quinto momento entra-se nas rotinas de verificação do que foi enviado pela central.
Os caracteres “p”, “@” e “%”, indicam de maneira respectiva se o sistema operará
automaticamente, se será operado manualmente, ligando a bomba ou se o sistema
permanecerá desativado, como observado na figura anterior.
Na ocasião de operar no modo automático, será iniciado uma nova
rotina, compara_dados(), que também é atribuída a uma variável,
niveis_e_bomba_int. Essa rotina tem como responsabilidade o controle da bomba,
acionando ou desacionando-a em relação aos sinais dos níveis apresentados.
48
3.3.2 Rotina Central De Monitoramento
As figuras 23 e 24 revelam um fluxograma e uma porção do código
desenvolvido pelo programa PCWH Compiler que ordena as tarefas que a central de
monitoramento irá desempenhar.
Figura 23 – Fluxograma representativo da Central de monitoramento
Fonte: Autoria Própria
49
Figura 24 – Código das rotinas da Central de comando
Fonte: Autoria própria
A rotina recebe_dados_quadro é a primeira a ser executa, nela as
informações vindas do quadro de comando são interpretadas e depois são
atribuídas na variável info. Num segundo momento estas informações são
repassadas para o computador, através da rotina envia_dados_PC, pela porta serial,
tais informações serão visualizadas no software Elipse SCADA, no qual estará o
sistema de supervisão. Posteriormente, após a confirmação do usuário no
supervisório, será enviado um caracter de comando pela saída serial, e o mesmo
será capturado pela rotina recebe_dados_PC, que atribuído a variável comando,
será finalmente redirecionado para o quadro de comando.
3.4 TELA DE SUPERVISÃO
A priori teve-se a preocupação de encontrar uma maneira para
identificar as informações vindas do microcontrolador pela entrada serial do
computador. Anteriormente definiu-se que as informações a serem transmitidas e
recebidas seriam baseadas na tabela ASCII de caracteres, porem o Elipse não
possui suporte para manipular tags com esse tipo de dados. Necessitou-se então de
um componente que complementa-se as capacidades de trabalho do Elipse SCADA,
para estabelecer uma eficiente comunicação com o MAX-232 e decodificação dos
caracteres da tabela ASCII. Esse componente foi o Driver ASCII.dll versão 1.08. A
figura 25 demonstra o uso desse componente no Elipse SCADA.
50
Figura 25 – Driver ASCII.dll implantado no Elipse SCADA
Fonte: Autoria própria
Para ser feita a comunicação pela entrada serial é necessário
configurar esse driver com os parâmetros que governam o funcionamento de troca
de mensagens entre dispositivos, os valores configurados nos parâmetros
importantes para esta aplicação são demonstrados abaixo.
Figura 26 – Configuração no Elipse SCADA
Fonte: Autoria própria
A tabela 7 descreverá os significados desses parâmetros.
51
Tabela 7 – Descrição dos parâmetros
Opção Descrição
Port Portas de comunicação (COM1 à COM4)
Baud rate Taxa de transmissão de dados em bits por segundo (1200 á 115200)
Data bits Bits de dados (7 ou 8 bits)
Parity Paridade dos dados (None: nenhuma; Odd: par; Even: ímpar; Mark: Marcado; Space: Com espaço)
Stop bits Bits de parada (1; 1,5 ou 2 bits)
Fonte: Autoria própria
Deve-se lembrar que essas configurações essencialmente têm que
estar em conformidade, com os parâmetros de comunicação de dados dos
microcontroladores, observar as diretivas “#use rs232” dos anexos B e D.
Entretanto muitos componentes encontrados originalmente no
software Elipse SCADA não possibilitam uma manipulação direta com caracteres e
sim valores numéricos decimais, binários, entre outros. Fez-se necessário então
uma nova configuração que possibilitasse o envio de caracteres para o quadro de
comando e o recebimento dos caracteres, oriundos do mesmo dispositivo, utilizando
uma conversão no sistema numérico binário. Para isso configurou-se a aba ASCII
como na figura abaixo.
52
Figura 27 – Configuração do driver na aba ASCII
Fonte: Autoria própria
Criou-se dois ID’s, “000” e “001”, respectivamente eles representam
os comandos de recepção de dados em sistema numérico binário e transmissão de
dados no formato de caracteres. Os ID’s foram configurados para os campos TX e
RX, com a seguinte regra indicada para a configuração destes elementos, %Nt<cr>,
onde:
a) % - símbolo identificador de campo variável;
b) N – Numero de elementos a serem recebidos;
c) t – Tipo de dado
d) <cr> - Carrier return ou enter
O ID 000 tem o seguinte formato nos campos RX e TX %8b/r valor
binário e o ID 001 no formato %1s/r no valor string ou caracter.
Optou-se em criar dois ID’s com parâmetros TX e RX iguais para
evitar algum tipo de incompatibilidade entre esses parâmetros. Para a melhor
compreensão do que parâmetros da figura acima representam observe a tabela 8.
53
Tabela 8 – Parâmetros da aba ASCII
Opção Descrição
Max Answer Bytes: Número máximo de bytes aguardados na resposta
Max Answer Elements: Número máximo de variáveis (elementos) em um comando ou resposta; ID: Índice do Comando
TX: Formato das variáveis do Comando de Envio
RX: Formato das variáveis do Comando de Recepção
Fonte: Autoria própria
Após ter definido a configuração do driver do supervisório, a próxima
etapa a ser estabelecida diz respeito à criação dos tag’s do supervisório. Tag é um
elemento que está associado diretamente ao valor de uma variável do processo em
que se esta trabalhando.
A figura seguinte mostra os tag’s criados para a visualização dos
níveis e da bomba no aplicativo supervisório desenvolvido.
Figura 28 – Tag’s criados no Elipse SCADA
Fonte: Autoria própria
Cada tag tem uma função especifica a desempenhar. Os tag’s
comando1, comando2 e comando3 são do tipo RAM, usados para armazenar
valores na memória, eles contêm ordenadamente os valores em caracteres “%”, “@”
e “p”. Os tag’s do tipo PLC, que tem como característica serem usados para troca de
informações entre dispositivos, envia_comando, recebe_comando, VarRX e VarTX,
esses tag’s foram configurados para enviar uma pergunta pela serial, ler uma
resposta pela serial, lê os valores das variáveis da opção RX atualizados na ultima
54
recepção e escrever os valores das variáveis da opção TX antes de enviar um
comando.
Para que cada tag opere da maneira descrita anteriormente,
necessita-se colocar os parâmetros do campo N1, N2, N3 e N4 da guia geral do
Organizer do Elipse Scada. Para simplificar o entendimento desta configuração a
tabela a seguir demonstrará os valores a serem colocados nesses parâmetros.
Tabela 9 – Configuração dos tag’s PLC
Tag N1 (modo de
trabalho (escrita ou leitura)
N2 (ID ou índice de comando)
N3 (índice de variável )
N4 (quando necessitar resposta)
envia_comando 4 1 0 0
recebe_comando 3 0 0 0
VarRX 2 0 0 0
VarTX 1 1 0 0
Fonte: Autoria própria
Tempo e tempo2, serão respectivamente responsáveis pela
atualização automática das informações a serem enviadas pela central de
monitoramento e por dados recebidos do quadro de comando. Por se tratarem de
tag’s do tipo crono foram utilizados seus preset’s, tempo pré-definido em que é
acionada uma ação, para lerem e escreverem nas tag’s de recebimento e envio de
comandos. As duas tag’s crono têm inicio e reinicio automático da contagem para
que ocorra uma repetição infinita de envio e recebimento. A figura 29 revela o script
feito para a ocorrência destas ações.
55
Figura 29 – Scripts usados nas tag’s tempo e tempo2
Fonte: Autoria própria
O tag Teste, do tipo demo, foi usado somente para testar a
influencias de tag’s nos elementos da tela do supervisório. Botões, textos e
animações compõem graficamente os objetos associados às variáveis do sistema de
monitoramento de níveis criado. Os comandos que criaram os elementos da tela de
supervisório estão marcados juntamente com seus respectivos objetos, esse arranjo
pode ser averiguado na ilustração 30.
Figura 30 – Elementos gráficos presentes na tela de supervisão e seus comandos
Fonte: Autoria própria
56
Os elementos gráficos de animações e textos possuem em sua
essência, métodos de configuração similares para atribuição dos tag’s. nesses
objetos para se conseguir estados em concordância com o valor adquirido do tag, é
de fundamental importância, a personalização de suas zonas. Zona é um intervalo
numérico das tag’s onde é indicada uma mensagem ou imagem correspondente
aquele valor lido (figura 31).
Figura 31 – Zona ativa, sua mensagem e seus valores correspondentes Fonte: Autoria própria
Como existem muitos objetos com inúmeras mensagens para serem
demonstradas visualmente, como opção construíram-se as tabelas 10, 11, 12 e 13,
que representam as mensagens de acordo com os caracteres recebidos pelo
supervisório. Lembrando que nas opções de mínimo e máximo só deverão ser
colocados valores numéricos decimais, a seção pacote de dados exibi as
correspondências entre caracteres e números com base decimal.
Tabela 10 – Mensagem visualizada no supervisório em relação aos sensores de
nível
CARACTER MENSAGEM PARA NÍVEIS
0 Todos os níveis em estado baixo
1 N1 em estado alto
2 N2 em estado alto (erro em n1)
3 N1 e n2 em estado alto
4 N3 em estado alto (erro em n1 e n2)
5 N1 e n3 em estado alto (erro em n2)
6 N2 e n3 em estado alto (erro em n1)
57
7 N1 , n2 e n3 em estado alto
8 Todos os níveis em estado baixo
9 N1 em estado alto
: N2 em estado alto (erro em n1)
; N1 e n2 em estado alto
< N3 em estado alto (erro em n1 e n2)
= N1 e n3 em estado alto (erro em n2)
> N2 e n3 em estado alto (erro em n1)
? N1, n2 e n3 em estado alto (Alerta indicação de superação do limite do reservatório)
Fonte: Autoria própria
Tabela 11 – Mensagem visualizada no supervisório em relação à bomba
CARACTER MENSAGEM PARA BOMBA
0 Bomba Desligada
1 Bomba Desligada
2 Bomba Desligada
3 Bomba Desligada
4 Bomba Desligada
5 Bomba Desligada
6 Bomba Desligada
7 Bomba Desligada
8 Bomba Ligada
9 Bomba Ligada
: Bomba Ligada
; Bomba Ligada
< Bomba Ligada
= Bomba Ligada
> Bomba Ligada
? Bomba Ligada
Fonte: Autoria própria
Tabela 12 – Mensagem visualizada no supervisório em relação aos níveis
CARACTER MENSAGEM PARA POSIÇÃO DO NÍVEIS
0 Nível mínimo
1 Nível mínimo
2 Nível Médio
3 Nível Médio
4 Nível Máximo
5 Nível Máximo
6 Nível Máximo
7 Nível Máximo
8 Nível mínimo
9 Nível mínimo
: Nível Médio
; Nível Médio
< Nível Máximo
= Nível Máximo
> Nível Máximo
? Nível Máximo
Fonte: Autoria própria
58
Tabela 13 – Imagens usadas na animação do reservatório
CARACTER NOME DA IMAGEM
0 Reservatorio0.jpg
1 Reservatorio10.jpg
2 Reservatorio50.jpg
3 Reservatorio50.jpg
4 Reservatorio100.jpg
5 Reservatorio100.jpg
6 Reservatorio100.jpg
7 Reservatorio100.jpg
8 Reservatorio0.jpg
9 Reservatorio10.jpg
: Reservatorio50.jpg
; Reservatorio50.jpg
< Reservatorio100.jpg
= Reservatorio100.jpg
> Reservatorio100.jpg
? Reservatorio100.jpg
Fonte: Autoria própria
Cada zona foi configurada respeitando essa regra.
59
4 SIMULAÇÃO, CONFECÇÃO E RESULTADOS
Segue abaixo a simulação do projeto onde é feito a comunicação
entre os microcontroladores usando o circuito RF anteriormente mencionado, e a
comunicação entre microcontrolador e o computador, feito pela porta serial. A
simulação foi criada usando o programa ISIS 7 Professional do Proteus. Nesta
simulação foram programados os microcontroladores PIC16F877A com um código
fonte em C, porém, como nesta simulação não fará uso dos componentes como o
eletrodo, optou-se em substituí-lo por um botão devido ao ISIS não possuir um
elemento que represente os sensores de nivelamento concebido no projeto.
Inicialmente, deu-se preferência na construção dos circuitos
separadamente, entretanto não seria possível a simulação do circuito de
transmissão e recepção de rádio, já que o ISIS também não dá suporte a esses
elementos, como mostrado em seqüência nas figuras 32 e 33.
Figura 32 – Circuito da central de monitoramento
Fonte: Autoria própria
60
Figura 33 – Circuito da central de monitoramento
Fonte: Autoria própria
Para pode fazer a simulação da transmissão e recepção dos dados,
opondo-se a estrutura anterior, decidiu-se criar o seguinte arranjo (figura 34).
Figura 34 – Nova estrutura com circuito do quadro e da central unidos
Fonte: Autoria própria
Observa-se que nesse novo esboço foram inseridos elementos
61
diferenciados, nomeiam-se tais elementos como terminais virtuais, por terem a
capacidade de visualizar dados digitados ou enviados pelas vias de comunicação
dos microcontroladores. Por se tratarem de cinco elementos é necessária a tabela
14 para a compreensão da função de cada um desses terminais virtuais.
Tabela 14 – Terminais virtuais e suas funções
Terminal Virtual Função
VISUAL DADOS P/CENTRAL
Fazer a leitura das informações originadas do quadro de comando no formato do pacote de dados e visualizar o comando vindo da central
ENVIA DADOS P/QUADRO
Simular o envio de comandos pela central no formato do pacote de dados
VISUAL DADOS P/PC Verificar se a informação, sem o formato do pacote de dados, que chegar antes do MAX-232 é compatível com a informação enviada
pelo quadro de comando
ENVIA DADOS RX MAX232
Simula o envio de comandos sem o formato do pacote de dados depois do MAX-232
VISUAL DADOS TX MAX232
Verificar se a informação, sem o formato do pacote de dados, que chegar depois do MAX-232 é compatível com a informação enviada
pelo quadro de comando
Fonte: Autoria própria
Após testar inúmeras situações utilizando os botões que
representam os níveis do reservatório (figura 35), verificou-se que no momento de
envio de comandos pela serial depois do CI MAX-232, originam erros nos caracteres
de comando e de informações, ocasionado mudanças dos caracteres esperados.
Figura 35 – Botões que representam os sensores de nível
Fonte: Autoria própria
Esse fenômeno se deve por causa da conversão dos sinais de
tensão feita pelo MAX-232. Ele converte os sinais TTL (Transistor-Transistor Logic),
oriundos dos microcontroladores, nos sinais de tensão do padrão RS-232 ou vice-
62
versa, isso poderia explicar perfeitamente o erro ocorrido (figura 36).
Figura 36 – Erro na visualização das informações enviadas
Fonte: Autoria própria
Para solucionar esse infortúnio já imaginado, usou-se uma nova
ligação dos pinos do CI MAX-232 que possibilita-se a conversão dos sinais de
tensão TTL/RS-232, pelo próprio dispositivo (figura 37).
Figura 37 – MAX-232 A) Ligação antiga B) Ligação nova
Fonte: Autoria própria
63
Após a mudança nessa estrutura pode-se comprovar que as
informações enviadas em qualquer ponto da simulação seriam os mesmos, no que
diz respeito à recepção dos dados esta idéia também é comprovada através da
figura 38.
Figura 38 – Teste da simulação Ok
Fonte: Autoria própria
A imagem visualiza a simulação nos terminais virtuais, os
sublinhados amarelos indicam os estados dos níveis e da bomba, segundo as
tabelas da seção Telas do supervisório. Os sublinhados em vermelho indicam os
comandos enviados pelo computador, vistos na seção rotinas (figura 39).
64
Figura 39 – Simulação de dados nos terminais virtuais
Fonte: Autoria própria
Ressalta-se que a ligação feita deve ser usada apenas em
simulação, numa ocasião prática a ligação a ser definida, deve ser igual ou similar
ao da figura 39a, sem a tentativa de converter os níveis de tensão, já que ao ligar as
saídas do MAX-232 em um computador pela entrada serial os níveis de tensão são
compatíveis.
Para certificar que a comunicação dos caracteres em código ASCII é
realmente possível, desenvolveu-se duas aplicações para simular o conceito
explicado na seção Tela de Supervisão, as figuras 40 e 41, mostram os aplicativos
usados para essa validação.
65
Figura 40 – Tela do supervisório responsável pela recepção de dados
Fonte: Autoria própria
Esta aplicação é o ESCRAVO, ela receberá os dados da aplicação
MESTRE, mostrada a seguir.
Figura 41 – Tela do supervisório responsável pela recepção de dados
Fonte: Autoria própria
Utilizaram-se dois computadores para testar se o conceito,
mencionado anteriormente, é aplicável. É utilizado um protocolo diferente de
comunicação, o TCP/IP(Transfer Control Protocol/ Internet Protocol) do padrão
Ethernet, por se tratar de computadores em rede. As aplicações MESTRE e
ESCRAVO foram configuradas para trabalhar nesse padrão conforme as ilustrações
abaixo.
66
Figura 42 – Aplicação MESTRE configurada
Fonte: Autoria própria
Figura 43 – Aplicação ESCRAVO configurada
Fonte: Autoria própria
Visualiza-se que para fazer a comunicação do MESTRE com o
ESCRAVO, nas aplicações devem ser especificadas na configuração do Driver
ASCII, as portas de comunicação abertas, no MESTRE deve ser indicado o IP do
67
computador onde será executado a aplicação ESCRAVO.
Em ambos os casos, é necessário configurar também os ID’s para
recepção e transmissão de dados, conforme mostrado na figura 44.
Figura 44 – Configuração do ID de recepção (ESCRAVO)
Fonte: Autoria própria
Para esse caso, foi construído um pacote com parâmetros dos
comandos TX e RX idênticos, duas variáveis, uma do tipo “u” (decimal sem sinal) e
uma do tipo “s” (string ou caracter). Para a configuração do ID de transmissão foi
feito um pacote similar no qual trocou-se a variável tipo “s” por uma do tipo “b”
(binário), como na figura 45.
68
Figura 45 – Configuração do ID de transmissão (MESTRE)
Fonte: Autoria própria
Executando as duas aplicações pode-se verificar e comprovar que
apertando os botões, ou digitando valores no MESTRE, a mesma aparecerá para o
ESCRAVO, como é alegado nas ilustrações seguintes.
Figura 46 – Aplicação MESTRE enviando dados Fonte: Autoria própria
69
Figura 47 – Aplicação ESCRAVO recebendo dados
Fonte: Autoria própria
Ao pressionar o botão T1 é colocado uma valor em VarTx2, em
VarTx1 foi digitado um numeral qualquer na aplicação MESTRE, em seguida foi
enviado para VarRx2 valor numérico correspondente do caracter “p” para a
aplicação ESCRAVO, juntamente com o que tinha sido digitado no MESTRE para
VarRx1.Com isso comprova-se que a aplicação citada na seção Tela de Supervisão
é válida e eficaz.
4.1 CONFECÇÃO DO SISTEMA
O projeto foi desenvolvido primeiramente pela parte de interconexão
entre o computador e o microcontrolador, com a confecção do cabo de comunicação
serial. A figura 48 mostra o conector DB9 pronto.
Figura 48 – Cabo DB9 Fonte: Autoria própria
70
Para facilitar a conexão entre o DB9 e o MAX-232, utilizou-se um
conector e um cabo manga 4 vias, a figura 49 contempla esse arranjo.
Figura 49 – Conector ligado ao cabo manga
Fonte: Autoria própria
A tabela 15 demonstra com foi feito a ligação no DB9 e no MAX-232.
Tabela 15 – Mapeamento dos pinos no conector DB9
Função do
pino Conector
DB9 Ação a ser feita Pino do MAX-232
GND 5 Ligar no GND do sistema Nenhum
RXD 2 Ligar no TX do MAX-232 14
TXD 3 Ligar no RX do MAX-232 13
DTR 4 Ligado com o pino 6 Nenhum
DSR 6 Ligado com o pino 4 Nenhum
RTS 7 Ligado com o pino 8 Nenhum
CTS 8 Ligado com o pino 7 Nenhum
RI 9 Sem ação Nenhum
DCD 1 Sem Ação Nenhum
Fonte: Autoria própria
Segundo Tafner, Loesch e Stringari (1996), os pinos GND, RXD,
TXD, DTR, DSR, RTS, CTS, RI e DCD do conector DB9 são conhecidos
respectivamente como: Signal Ground (Terra), Receive Data (recepção de dados),
71
Transmitted Data (Transmissão de dados), Data Terminal Ready (Terminal de dados
Pronto), Data Set Ready (conjunto de dados ligado), Request to Send(pronto a
enviar), Clear to Send (Envie os dados), Ring Indicator (indicador de telefone
tocando) e Data Carrier Detect (portadora detectada).
SOUZA e LAVINIA (2003) completam idéia definindo que os pinos 4
e 6 e os pinos 7 e 8 devem ser ligados entre si, para configurar o cabo no modo de
Null-Modem ou modem nulo, pois ele “força” o “handshaking” automático, ou seja, o
computador entenderá que o dispositivo conectado ao cabo estará sempre
disponível, reconhecendo que ambos os dispositivos estão prontos para se
comunicar, no caso o MAX-232, junto ao microcontrolador, e o computador.
O próximo passo foi fazer as ligações necessárias, conforme o
estipulado no inicio do capitulo para o posterior teste. A figura 50 mostra a
construção feita para o quadro de comando.
Figura 50 – Circuito confeccionado do quadro de comando
Fonte: Autoria própria
A figura 51 demonstra o que foi feito na confecção da central de
monitoramento, que será ligado ao DB9, formando assim a comunicação serial.
72
Figura 51 – Circuito confeccionado da central de monitoramento
Fonte: Autoria própria
Após a construção destes circuitos foi necessário o uso do gravador
de PIC’s para fazer com que os microcontroladores recebessem as instruções
programadas ao longo do projeto. O gravador utilizado é o PicBurner USB como o
visto na imagem a seguir.
Figura 52 – Gravador Picburner USB
Fonte: Autoria própria
73
4.2 RESULTADOS
Nos testes desses circuitos, um fenômeno ainda desconhecido
ocorreu, os arranjos montados não seguiram a proposta desejada. Alguns dos
circuitos apresentaram uma inconstância na recepção dos dados vindos do
computador, enviados pela aplicação desenvolvida no software supervisório. Apesar
dos sinais enviados terem sido visualizados através de um osciloscópio, tais dados,
não foram ser interpretados pelo microcontrolador, tão pouco recebidos pelo
supervisório. A ilustração 53 demonstra o sinal de dados enviados pela aplicação do
supervisório.
Figura 53 – Osciloscópio analisando o sinal do envio de dados Fonte: Autoria própria
A seta indica a transmissão de dados pelo supervisório, nesse caso,
apenas sua interpretação pelo microcontrolador ficou comprometida. Como
observado na figura 54.
74
Figura 54 – Central de monitoramento indicando erro na recepção dos comandos
Fonte: Autoria própria
A seta indica o Led que representa a recepção dos dados
(caracteres “p”, “%” e “@”). Apesar do supervisório não estar sendo executado, a
informação estava sendo enviada e retransmitida ao mesmo tempo para o quadro de
comando, o que não poderia ocorrer. A imagem abaixo mostra o que ocorreu no
circuito do quadro de comando.
Figura 55 - Quadro de comando com erro
Fonte: Autoria própria
Nessa imagem, é verificado que o led, indicado pela seta,
responsável pela ativação da bomba não poderia estar acesso, pois nenhum
75
comando realmente tinha sido enviado pelo supervisório.
4.3 CUSTO LEVANTADO PARA IMPLANTAÇÃO DO PROJETO
Nesse ponto do trabalho levantou-se o custo da implementação
futura desse projeto, no que diz respeito os circuitos integrados, componentes
eletrônicos e elementos de interconexão a se utilizar. A tabela 16 relaciona os
preços desses componentes.
Tabela 16 - Preços dos componentes
Componente Preço unitário (R$) Quantidade Total (R$)
CI MAX-232N 4,10 1 4,10
PIC 16F877A 16,75 2 33,50
Conector DB9 0,90 1 0,90
Capa p/ DB9 1,25 1 1,25
*Cabo Manga 3 vias 3,07 2 metros 6,14
Conector KRE 4 terminais 1,00 1 1,00
Capacitor eletrolítico 1uF 0,75 4 3,00
Cristais de 10 MHz 4,85 2 9,70
Modulo de transmissão TWS-HS-2 38,00 2 76,00
Modulo de recepção RWS-371-6 38,00 2 76,00 Total 211,59
Fonte: Autoria própria *Varia em relação à distância entre o microcontrolador da central e o computador com supervisório Não se estima custos para fontes de alimentação e outros componentes para a confecção das placas de circuito impresso ou gravação dos micrcontroladores.
A programação criada, ver anexos C e E, só pode ser quantificada
em relação ao tempo, dependendo das habilidades do programador, não foi feito um
levantamento de um valor específico de mercado para seu desenvolvimento, já que
a programação criada tem caráter experimental.
4.4 DIFICULDADES ENCONTRADAS
Pode-se citar como dificuldade inicial o acesso a materiais que
contemplassem o assunto, devido à escassez do mesmo, a programação do
protocolo para comunicação serial, assim como a comunicação RF. A localização do
driver do sistema supervisório para a comunicação serial entre o microcontrolador e
computador, que fosse compatível e suportado para a linguagem ASCII com o
sistema operacional Windows XP. Podem ser citados também como empecilhos,
adquirir informações sobre um circuito eletrônico que contempla-se os estados
76
lógicos digitais para utilizar como nível no microcontrolador, forma algumas
adversidades encontradas na confecção deste trabalho.
A impossibilidade de funcionamento dos circuitos projetados, por
causas ainda desconhecidas, para comprovar a viabilização do sistema, pode ser
maior dos fatores levantados como um dos principais problemas no projeto.
77
5 CONCLUSÃO
Desde o principio da elaboração desse trabalho teve-se como
preocupação relacionar vários níveis de conhecimentos adquiridos durante a
formação acadêmica do autor, reunindo áreas da Automação Industrial. Assim como
em muitos outros cursos que envolvem a área de tecnologia, encontraram-se
infortúnios não presentes ou pouco relatados na teoria, e sim no momento de uma
aplicação pratica, sendo essencial a busca de informações que de alguma forma
contribuíssem na resolução de alguns problemas relatados.
Após estudos de todas as bibliografias adquiridas, pode-se concluir
que as informações contidas neste trabalho são suficientes para consolidar uma boa
base teórica. No espaço de tempo usado para a construção desse trabalho teve-se
uma aproximação direta com as normativas que regem a qualidade para a
elaboração de documentos acadêmicos. Esse aprendizado será muito relevante
para o futuro profissional.
Para o objetivo de projetar um sistema que utiliza inúmeros recursos
da área de automação, o presente trabalho atendeu a proposta. Entretanto, sem as
falhas encontradas na confecção e teste do sistema, poderia ser sanado qualquer
duvida a respeito da confiabilidade do mesmo. É de suma importância a descoberta
dos fatores que realmente interferiram nos resultados esperados. As hipóteses
levantadas a respeito do que deve ter ocorrido são: má conexão entre os terminais
do protoboard, interferências não determinadas em circuito de alta freqüência, já que
foram utilizados cristais de 10 MHz; conversão dos sinais feitos pelo MAX-232,
receptores e transmissores de rádio freqüência não recomendados para esse tipo de
aplicação.
Respeitando a linha de raciocínio deste projeto, abre-se a
possibilidade de desenvolver um protótipo que faça leituras de sinais analógicos.
Outra situação importante levantada durante a confecção desse trabalho foi sua
potencialidade em transformá-lo futuramente num produto, desde que feito
melhorias, ajustes e correções.
Espera-se que este documento acadêmico confeccionado, seja de
grande valia, como instrumento para outros discentes ou outros profissionais da
área, instigando-os na melhoria continua ou até mesmo proporcionando que outrem
encontre aqui um novo caminho para uma futura vocação profissional.
78
REFERÊNCIAS
ALVES, José Luiz Loureiro. Instrumentação, controle e automação de processos. Rio de Janeiro: LTC, 2005. 270p.
ASCII Table. Disponível em: <http://www.asciitable.com/>. Acesso em 1 Março de
2011. BOYER, Stuart A. SCADA: supervisory control and data acquisition. 4ed.
North Carolina: ISA, 2010. 257p.
BRASIL, Vinicius. Sensor de nível. Disponível em: <http://vinicius.brasil.vilabol.uol.com.br/eletronica/ sensornivel.htm>. Acesso em:11
de Março de 2011.
CAPELLI, Alexandre. Automação industrial: controle do movimento e processos contínuos. São Paulo: Érica, 2006. 236p.
COSTA, Hélio da Silva. TELEMETRIA DE PROCESSOS VIA MODEM RF UTILIZANDO MICRO-CONTROLADORES. Disponível em: <http://www2.ele.ufes.br/~projgrad/documentos/PG2006_1/heliosilvacosta.pdf>.
Acesso em: 11 de Janeiro de 2011.
FILHO, Carlos Fernandes de Medeiros. Notas de aula – Reservatórios de Água. Disponível em: <http://www.dec.ufcg.edu.br/saneamento/Reserv01.html>. Acesso
em 14 Fevereiro de 2011.
FRANCHI, Claiton Moro; CAMARGO, Valter Luís Arlindo de. Controladores lógicos programáveis: sistemas discretos. 2ed. São Paulo: Érica, 2010. 352p.
MICROCHIP, PIC16F87XA Data Sheet. 2003. Disponível em <http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf> Acesso em 10 de Fevereiro de 2011.
MIYOSHI, Edson Mitsugo; SANCHES, Carlos Alberto. Projetos de sistemas rádio. São Paulo: Érica, 2002. 534p.
NASCIMENTO, Juarez do. Telecomunicações. 2ed. São Paulo: Makron Books,
2000. 341p.
SENA, Hamilton. Simulador Ladder – LDMICRO. Acarajé Turbinado. Disponível em: <http://hsena.wordpress.com/2010/02/17/simulador-ladder-ldmicro/>. Acesso em
05 de Março de 2001.
SOUZA, David José de; LAVINIA, Nicolás César. Conectando o PIC 16F877A: recursos avançados. São Paulo: Érica, 2003. 380p.
79
TAFNER, Malcon Anderson; LOESCH, Cláudio; STRINGARI, Sérgio. Comunicação
de dados usando linguagem “C”. Blumenau: FURB, 1996.
TECWISE – Sistemas de Automação. Redes wireless industriais. Artigo Publicado em: Julho de 2010. Disponível em: <http://www.tecwise.com.br/content/view/53/84/>.
Acesso em: 11 de Janeiro de 2011.
THOMAZINI, Daniel; ALBUQUERQUE, Pedro Urbano Braga de. Sensores Industriais: fundamentos e Aplicações. São Paulo. Érica, 2007. 224p.
WENSHING ELETRONICS CO. TWS-HS - RF MODULE Series. Disponível em: <http://www.wenshing.com.tw/data_sheet/TWS-HS_Series_315MHz_433.92Mhz_868.35MHz_ASK_RF_Transmitter_Module_Data_
Sheet.pdf>. Acesso em 14 Março de 2011.
__________________________. RWS 371 - RF MODULE Series. Disponível em: <http://www.wenshing.com.tw/Data_Sheet/RWS-371-
6_433.92MHz_ASK_RF_Receiver_Module_Data_Sheet.pdf>. Acesso em 14 de Março de 2011
ZANCO, Wagner da Silva. Microcontroladores PIC Técnicas de Software e
Hardware para Projetos de Circuitos Eletrônicos com base no PIC 16F877A. 1 ed. São Paulo: Érica, 2006.75p.
80
ANEXOS
81
ANEXO A – Tabela de códigos ASCII
ANEXO B – Diretivas geradas pelo software PCWH Compiler para a biblioteca quadro.h
#include <16F877A.h>
#device adc=8
#FUSES WDT //Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18)
used for I/O
82
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=10000000, RESTART_WDT)// habilita watch dog timer
#use rs232(baud=9600, parity=N, xmit=PIN_B5, rcv=PIN_B6, bits=8,
stream=quadro) // serial do transmissor e recptor RF
ANEXO C – Código do quadro de comando desenvolvido no software PCWH Compiler – Arquivo quadro.c
#include "\TCC\Projeto Fisico e programação\quadro.h"
#include <float.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define stop_byte 42
#define start_byte 35
char ent_nivel_bomba()// verificação das variáveis(Bomba e níveis) Adiciona ou
retira bit da variável nivel_bomba de acordo com o sinal recebido.
{
int nivel_bomba=48;
if (input(PIN_B1))
{ bit_set(nivel_bomba,0); // torna nivel_bomba 0b00000001
}
else
bit_clear(nivel_bomba,0);// limpa o bit
if (input(PIN_B2))
{ bit_set(nivel_bomba,1); // torna nivel 0b00000010
}
83
else
bit_clear(nivel_bomba,1);// limpa o bit
if (input(PIN_B3))
{ bit_set(nivel_bomba,2); // torna nivel 0b00000100
}
else
bit_clear(nivel_bomba,2);// limpa o bit
if (input(PIN_B7))// verifica saída da bomba
{ bit_set(nivel_bomba,3); // torna nivel 0b00001000
}
else //verifica saída da bomba
bit_clear(nivel_bomba,3);// limpa o bit
return nivel_bomba;
}
void compara_dados(int estado) //liga ou desliga a bombba conforme o caracter
enviado
{
if(estado==15+48)
output_low(PIN_B0);
if(estado==14+48)
output_low(PIN_B0);
if(estado==13+48)
output_low(PIN_B0);
if(estado==12+48)
output_low(PIN_B0);
if(estado==11+48)
output_high(PIN_B0);
if(estado==10+48)
output_low(PIN_B0);
if(estado==9+48)
84
output_high(PIN_B0);
if(estado==8+48)
output_high(PIN_B0);
if (estado==7+48)
output_low(PIN_B0);
if(estado==6+48)
output_low(PIN_B0);
if(estado==5+48)
output_low(PIN_B0);
if(estado==4+48)
output_low(PIN_B0);
if(estado==3+48)
output_low(PIN_B0);
if(estado==2+48)
output_low(PIN_B0);
if(estado==1+48)
output_low(PIN_B0);
if(estado==0+48)
output_high(PIN_B0);
}
void envia_dados(char dados)
{
fputc(dados,quadro); //envia dados para o dispositivo RF
}
void envia_pacote(char dados2)//envia pacote de dados para o dispositivo RF
start_byte, dados2, stop_byte
{
int i;
char buffer[3];
85
buffer[0] = start_byte;
buffer[1] = dados2;
buffer[2] = stop_byte;
output_high(PIN_B4);
delay_ms(100);
for (i = 0; i < 3; i++) // envia os bytes da transmissão
{
envia_dados(buffer[i]);
delay_ms(10);
}
output_low(PIN_B4);
}
char recebe_dados() //função pra receber dados da serial RF
{
char dadosrx[3];
int i;
volta:
i=0;
dadosrx[0]=fgetc(quadro);
delay_ms(10);
if(dadosrx[0]==start_byte)
{
dadosrx[1]=fgetc(quadro);// busca o byte na porta
delay_ms(10);
dadosrx[2]=fgetc(quadro);
delay_ms(10);
if(dadosrx[2]==stop_byte)
{
return dadosrx[1];
}
else if(dadosrx[2]!=stop_byte)
{
fputc(144,quadro);
86
goto volta;
}
else
{
fputc(144,quadro);
goto volta;
}
}
else if(dadosrx[0]!=start_byte)
{
fputc(144,quadro);
goto volta;
}
}
void main()
{
char niveis_e_bomba,comando;
int niveis_e_bomba_int;
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL);
setup_wdt(WDT_2304MS);// Reiniciar no caso de travamento em 2 minutos
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
while(1)
{
niveis_e_bomba=ent_nivel_bomba();
87
envia_pacote(niveis_e_bomba);
delay_ms(100);
comando=recebe_dados();
if(comando=='p') //Quando o caracter 'p' aparecer sistema operará em modo
automático
{
niveis_e_bomba_int=niveis_e_bomba;
compara_dados(niveis_e_bomba_int);
}while(!comando=='p')
if(comando=='@') //Quando o caracter '@' aparecer sistema operará em modo
manual ligado
{
output_high(PIN_B0);
}
if(comando=='%') //Quando o caracter '%' aparecer sistema operará em modo
manual desligado
{
output_low(PIN_B0);
}
}
}
88
ANEXO D – Diretivas geradas pelo software PCWH Compiler para a biblioteca central.h
#include <16F877A.h>
#device adc=8
#FUSES WDT // Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=10000000, RESTART_WDT) // habilita watch dog timer
#use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8, stream=PC) //
porta serial do computador
#use rs232(baud=9600, parity=N, xmit=PIN_B4, rcv=PIN_B0, bits=8, stream=central)
// serial do transmissor e recptor RF
ANEXO E – Código do quadro de comando desenvolvido no software PCWH
Compiler – Arquivo central.c
#include "\TCC\Projeto Fisico e programação\central.h"
#include <float.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define stop_byte 42
#define start_byte 35
89
char recebe_dados_quadro() //função pra receber dados da serial RF vindos do
quadro de comandos
{
char dadosrx[3];
int i;
volta:
i=0;
delay_ms(100);
dadosrx[0]=fgetc(central); // busca o byte na porta
if(dadosrx[0]==start_byte) //confere se é start_byte na porta
{
dadosrx[1]=fgetc(central); // busca o byte na porta
delay_ms(10);
dadosrx[2]=fgetc(central);
delay_ms(10);
if(dadosrx[2]==stop_byte) //confere se é stop_byte na porta
{
return dadosrx[1];
}
else if(dadosrx[2]!=stop_byte)
{
fputc(144,PC);
fputc(144,central);
goto volta;
}
else
{
fputc(144,PC);
fputc(144,central);
goto volta;
}
90
}
else if(dadosrx[0]!=start_byte)
{
fputc(144,PC);
fputc(144,central);
goto volta;
}
}
void envia_dados_PC(int dados)
{
fputc(dados,PC); //envia dados para o computador
}
char recebe_dados_PC() //função pra receber dados da serial do Computador
{
char dadosrx_PC;
dadosrx_PC = fgetc(PC);
if(dadosrx_PC=='p' || dadosrx_PC=='%' || dadosrx_PC=='@')
{
output_high(PIN_B1);
delay_ms(100);
output_low(PIN_B1);
}
return dadosrx_PC;
}
void envia_dados(char dados)
{
91
fputc(dados,central); //envia dados para o dispositivo RF
}
void envia_pacote_quadro(char dados2)//envia pacote de dados para o dispositivo
RF start_byte, dados2, stop_byte
{
int i;
char buffer[3];
buffer[0] = start_byte;
buffer[1] = dados2;
buffer[2] = stop_byte;
output_high(PIN_B5);
delay_ms(100);
for (i = 0; i < 3; i++) // envia os bytes da transmissão
{
envia_dados(buffer[i]);
delay_ms(10);
}
output_low(PIN_B5);
}
void main()
{
char info,comando;
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL);
setup_wdt(WDT_2304MS); // Reiniciar no caso de travamento em 2 minutos
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
92
while(1) // loop infinito
{
info = recebe_dados_quadro(); //recebe informação do quadro
envia_dados_PC(info); //enviar caracter para PC
delay_ms(100);
comando=recebe_dados_PC(); // recebe dados do supervisório
envia_pacote_quadro(comando); //envia dados para quadro
}
}