abnt tcc jean

93
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

Upload: lulu

Post on 14-Dec-2015

239 views

Category:

Documents


4 download

DESCRIPTION

Trabalho com Microcontroladores - Dissertação

TRANSCRIPT

Page 1: Abnt Tcc Jean

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

Page 2: Abnt Tcc Jean

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

Page 3: Abnt Tcc Jean

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:

Page 4: Abnt Tcc Jean

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.

Page 5: Abnt Tcc Jean

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.

Page 6: Abnt Tcc Jean

“Nada é tão incompreensível que um pouco de pensamento lógico não resolva.”

Jean Fernando dos Santos Vieira

Page 7: Abnt Tcc Jean

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.

Page 8: Abnt Tcc Jean

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.

Page 9: Abnt Tcc Jean

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

Page 10: Abnt Tcc Jean

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

Page 11: Abnt Tcc Jean

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

Page 12: Abnt Tcc Jean

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

Page 13: Abnt Tcc Jean

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

Page 14: Abnt Tcc Jean

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

Page 15: Abnt Tcc Jean

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.

Page 16: Abnt Tcc Jean

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.

Page 17: Abnt Tcc Jean

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.

Page 18: Abnt Tcc Jean

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

Page 19: Abnt Tcc Jean

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.

Page 20: Abnt Tcc Jean

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.

Page 21: Abnt Tcc Jean

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

Page 22: Abnt Tcc Jean

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

Page 23: Abnt Tcc Jean

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

Page 24: Abnt Tcc Jean

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

Page 25: Abnt Tcc Jean

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.

Page 26: Abnt Tcc Jean

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

Page 27: Abnt Tcc Jean

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;

Page 28: Abnt Tcc Jean

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,

Page 29: Abnt Tcc Jean

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,

Page 30: Abnt Tcc Jean

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

Page 31: Abnt Tcc Jean

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

Page 32: Abnt Tcc Jean

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.

Page 33: Abnt Tcc Jean

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.

Page 34: Abnt Tcc Jean

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).

Page 35: Abnt Tcc Jean

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

Page 36: Abnt Tcc Jean

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.

Page 37: Abnt Tcc Jean

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.

Page 38: Abnt Tcc Jean

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.

Page 39: Abnt Tcc Jean

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

Page 40: Abnt Tcc Jean

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.

Page 41: Abnt Tcc Jean

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

Page 42: Abnt Tcc Jean

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),

Page 43: Abnt Tcc Jean

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.

Page 44: Abnt Tcc Jean

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

Page 45: Abnt Tcc Jean

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

Page 46: Abnt Tcc Jean

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

Page 47: Abnt Tcc Jean

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

Page 48: Abnt Tcc Jean

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.

Page 49: Abnt Tcc Jean

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

Page 50: Abnt Tcc Jean

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.

Page 51: Abnt Tcc Jean

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.

Page 52: Abnt Tcc Jean

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.

Page 53: Abnt Tcc Jean

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.

Page 54: Abnt Tcc Jean

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

Page 55: Abnt Tcc Jean

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.

Page 56: Abnt Tcc Jean

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

Page 57: Abnt Tcc Jean

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)

Page 58: Abnt Tcc Jean

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

Page 59: Abnt Tcc Jean

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.

Page 60: Abnt Tcc Jean

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

Page 61: Abnt Tcc Jean

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

Page 62: Abnt Tcc Jean

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-

Page 63: Abnt Tcc Jean

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

Page 64: Abnt Tcc Jean

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).

Page 65: Abnt Tcc Jean

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.

Page 66: Abnt Tcc Jean

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.

Page 67: Abnt Tcc Jean

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

Page 68: Abnt Tcc Jean

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.

Page 69: Abnt Tcc Jean

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

Page 70: Abnt Tcc Jean

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

Page 71: Abnt Tcc Jean

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),

Page 72: Abnt Tcc Jean

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.

Page 73: Abnt Tcc Jean

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

Page 74: Abnt Tcc Jean

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.

Page 75: Abnt Tcc Jean

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

Page 76: Abnt Tcc Jean

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

Page 77: Abnt Tcc Jean

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.

Page 78: Abnt Tcc Jean

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.

Page 79: Abnt Tcc Jean

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.

Page 80: Abnt Tcc Jean

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.

Page 81: Abnt Tcc Jean

80

ANEXOS

Page 82: Abnt Tcc Jean

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

Page 83: Abnt Tcc Jean

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

}

Page 84: Abnt Tcc Jean

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)

Page 85: Abnt Tcc Jean

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];

Page 86: Abnt Tcc Jean

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);

Page 87: Abnt Tcc Jean

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();

Page 88: Abnt Tcc Jean

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);

}

}

}

Page 89: Abnt Tcc Jean

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

Page 90: Abnt Tcc Jean

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;

}

Page 91: Abnt Tcc Jean

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)

{

Page 92: Abnt Tcc Jean

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);

Page 93: Abnt Tcc Jean

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

}

}