propostadeumsistemademonitoramento emtemporeal ... · atmel e pic). para uma comparação justa de...

82
Universidade Estadual de Londrina Centro de Tecnologia e Urbanismo Departamento de Engenharia Elétrica Filipe Travizani Riçato Proposta de um Sistema de Monitoramento em Tempo Real, para Estudos de Determinação de Economia de Energia, em Aquecimento Solar de Água Londrina 2018

Upload: truongtuyen

Post on 01-Dec-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Universidade Estadual de LondrinaCentro de Tecnologia e UrbanismoDepartamento de Engenharia Elétrica

Filipe Travizani Riçato

Proposta de um Sistema de Monitoramentoem Tempo Real, para Estudos de

Determinação de Economia de Energia, emAquecimento Solar de Água

Londrina2018

Page 2: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Universidade Estadual de Londrina

Centro de Tecnologia e UrbanismoDepartamento de Engenharia Elétrica

Filipe Travizani Riçato

Proposta de um Sistema de Monitoramento emTempo Real, para Estudos de Determinação deEconomia de Energia, em Aquecimento Solar de

Água

Trabalho de Conclusão de Curso orientado pelo Prof. Dr. Wal-ter Germanovix intitulado “Proposta de um Sistema de Monito-ramento em Tempo Real, para Estudos de Determinação de Eco-nomia de Energia, em Aquecimento Solar de Água” e apresentadoà Universidade Estadual de Londrina, como parte dos requisitosnecessários para a obtenção do Título de Bacharel em EngenhariaElétrica.

Orientador: Prof. Dr. Walter Germanovix

Londrina2018

Page 3: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Ficha Catalográfica

Filipe Travizani RiçatoProposta de um Sistema de Monitoramento em Tempo Real, para Estudosde Determinação de Economia de Energia, em Aquecimento Solar de Água -Londrina, 2018 - 81 p., 30 cm.Orientador: Prof. Dr. Walter Germanovix1.Transmissão de dados GPRS. 2. Eficiência Energética de painéis solares paraaquecimento de água. 3. Servidor TCP/IP. 4. Baixo Custo.I. Universidade Estadual de Londrina. Curso de Engenharia Elétrica. II.Proposta de um Sistema de Monitoramento em Tempo Real, para Estudos deDeterminação de Economia de Energia, em Aquecimento Solar de Água.

Page 4: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Filipe Travizani Riçato

Proposta de um Sistema de Monitoramentoem Tempo Real, para Estudos de

Determinação de Economia de Energia, emAquecimento Solar de Água

Trabalho de Conclusão de Curso apresentado ao Cursode Engenharia Elétrica da Universidade Estadual deLondrina, como requisito parcial para a obtenção do tí-tulo de Bacharel em Engenharia Elétrica.

Comissão Examinadora

Prof. Dr. Walter GermanovixUniversidade Estadual de Londrina

Orientador

Prof. Dr. Carlos Henrique GonçalvesTreviso

Universidade Estadual de Londrina

Prof. Dr. Ernesto Fernando FerreyraRamírez

Universidade Estadual de Londrina

Londrina, 5 de fevereiro de 2018

Page 5: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Dedico este trabalho ao meu avô Anízio Nogueira.

Page 6: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Agradecimentos

Agradeço a minha mãe, Salete Henrique Nogueira, minha tia Sandra Nogueira e meutio Donizete Nogueira, que não mediram esforços para me proporcionarem uma boa for-mação pessoal, acadêmcia e profissional, e principalmente, por demonstrar todo o apoiopara tudo que precisei.

Agradeço também aos demais familiares (irmãos, primos, primas, tios e tias) quesempre me apoiaram nesta caminhada.

Agradeço aos meus amigos que a Universidade Estadual de Londrina me deu durante agraduação, os quais faço questão de citar alguns aqui: Gislaine SAO, Augusto Kamizake,Pedro Henrique, Rafael Loni, Italo Stresser que me proporcionaram várias aventuras,momentos descontraídos, pelo suporte dado quando necessitei e principalmente por meaturarem durante todo este tempo.

Agradeço ao meu Orientador Walter Germanovix por todos os conselhos e pelo apoiodurante a execução deste trabalho.

Agradeço a Professora Thalita Gorban Ferreira Giglio por propor o tema do trabalho.Por fim agradeço ao Departamento de Engenharia Elétrica por toda a contribuição

dada para a minha formação acadêmica e profissional, tanto aos docentes como aos téc-nicos pela passagem de conhecimento e experiência. Agradeço à Universidade Estadualde Londrina por me proporcionar toda a experiência vivida no campus.

Page 7: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

“Toda a nossa ciência, comparada com a realidade, é primitiva e infantil – e, noentanto, é a coisa mais preciosa que temos.”

Abert Einstein

Page 8: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Filipe Travizani Riçato. Proposta de um Sistema de Monitoramento em TempoReal, para Estudos de Determinação de Economia de Energia, em Aqueci-mento Solar de Água. 2018. 81 p. Trabalho de Conclusão de Curso em EngenhariaElétrica - Universidade Estadual de Londrina, Londrina.

ResumoNeste trabalho foi desenvolvido um sistema capaz de medir variáveis de temperatura,corrente elétrica e presença ou ausência de fluxo, com a finalidade de auxiliar na análiseda eficiência energética de painéis solares para aquecimento de água em residência. Essesistema além de contar os sensores que farão a leitura das variáveis, também tem ummódulo GSM/GPRS responsável pela transmissão dos dados em tempo real para umservidor TCP/IP, no qual mostra as variáveis em forma de gráfico e em uma tabela, e porfim tem um módulo SD usado para ter um backup do dados caso ocorra algum problemana transmissão. Para o protótipo final objetivando obter uma alta confiabilidade e umbaixo custo, foram feitos testes com três microcontroladores de famílias diferentes (ARM,ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foitestador por 8 dias com cada microcontrolador. Ao final dos teste, por apresentar umaboa resposta e um menor custo o ATMEGA328-PU foi utilizado para ser o processadordo protótipo final.

Palavras-Chave: 1.Transmissão de dados GPRS. 2. Eficiência Energética de painéissolares para aquecimento de água. 3. Servidor TCP/IP. 4. Baixo Custo.

Page 9: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Filipe Travizani Riçato. Proposal of a Real-Time Monitoring System for Studieson the Determination of Energy Saving in Solar Water Heating. 2018. 81 p.Monograph in Electrical Engineering - Londrina State University, Londrina.

AbstractIn this work, a system was developed capable of measuring temperature, electric currentand presence or absence of flow variables, with the purpose of assisting in the energyefficiency analysis of solar panels for domestic water heating. This system, in additionto counting the sensors that will read the variables, also has a GSM / GPRS moduleresponsible for transmitting the data in real time to a TCP / IP server, in which itshows the variables in graph form and in a table, and finally has an SD module usedto have a textit backup of the data in case some transmission problem occurs. For thefinal prototype aiming to obtain a high reliability and a low cost, were tested with threedifferent microcontrollers. For a fair comparison of performance, the complete system wastester for 8 days with each microcontroller. At the end of the test, the ATMEGA328-PUwas used to be the final prototype processor.

Key-words: 1.GPRS data transmission. 2. Energy Efficiency of solar panels for waterheating. 3. TCP/IP Server. 4. Low Cost.

Page 10: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Lista de ilustrações

1 Sistema completo para elaboração do projeto. . . . . . . . . . . . . . . 182 Elementos básicos da arquitetura GSM. . . . . . . . . . . . . . . . . . 223 Placa de desenvolvimento Arduino Uno . . . . . . . . . . . . . . . . . . 284 Placa de desenvolvimento stm32 . . . . . . . . . . . . . . . . . . . . . . 295 Gravador PICKIT 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Placa de desenvolvimento PIC32MX330f064h . . . . . . . . . . . . . . 307 Módulo GSM/GPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Fluxograma para programação dos comandos AT para comunicação

TCP/IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Sensor de Corrente SC013 -100 . . . . . . . . . . . . . . . . . . . . . . 3510 Circuito de condicionamento para o sensor de corrente. . . . . . . . . . 3511 Fluxograma para leitura do sensor de corrente SC − 103. . . . . . . . . 3712 Sensor de temperatura DS18b20. . . . . . . . . . . . . . . . . . . . . . 3813 Inicialização da comunicação no protocolo 1-Wire. . . . . . . . . . . . . 3914 Modo de escrita dos bits 0 e 1 feitas pelo dispositivo. . . . . . . . . . . 3915 Circuito para funcionamento do sensor de temperatura . . . . . . . . . 4016 Fluxograma para leitura do sensor de Temperatura DS18b20. . . . . . 4017 Célula piezoelétrica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4118 Divisores de tensão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4119 Circuito para condicionar o sinal da célula piezoelétrica. . . . . . . . . 4220 Comparador do sinal de entrada com a referência. . . . . . . . . . . . . 4221 Fluxograma para leitura do sensor de presença de fluxo. . . . . . . . . 4322 Fluxograma para rotina de gravação. . . . . . . . . . . . . . . . . . . . 4423 Módulo cartão SD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4524 Fluxograma LOOP principal do sistema. . . . . . . . . . . . . . . . . . 4925 Primeira antena testada. . . . . . . . . . . . . . . . . . . . . . . . . . . 5126 Segunda antena testada. . . . . . . . . . . . . . . . . . . . . . . . . . . 5127 Gráfico do sensor de temperatura. . . . . . . . . . . . . . . . . . . . . 5228 Valor medido pelo multímetro. . . . . . . . . . . . . . . . . . . . . . . 5229 Gráfico do sensor de corrente obtido pelo MATLAB. . . . . . . . . . . 5330 Gráfico do sensor de temperatura no servidor TCP/IP. . . . . . . . . . 5431 Gráfico do sensor de corrente no servidor TCP/IP. . . . . . . . . . . . 5532 Dados enviados pelo RTC. . . . . . . . . . . . . . . . . . . . . . . . . . 5533 Sistema supervisório para ausência de fluxo, nível LOW . . . . . . . . 55

Page 11: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

34 Sistema supervisório para presença de fluxo, HIGH . . . . . . . . . . . 5635 Esquemático do protótipo final. . . . . . . . . . . . . . . . . . . . . . . 5836 Layout da placa com malha de terra. . . . . . . . . . . . . . . . . . . . 5937 Gravador AVR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5938 Visualização 3D do protótipo final. . . . . . . . . . . . . . . . . . . . . 60

Page 12: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Lista de tabelas

1 Frequências de Operação GSM em MHz ((TUDE, 2003)) . . . . . . . . 222 Frequências das operadoras para GSM/GPRS. . . . . . . . . . . . . . . 233 Informações Módulo Arduino Uno (ATMEL, 2014) . . . . . . . . . . . 284 Formato do protocolo de comunicação implementado no projeto. . . . . 465 Comando de leitura do sensor de temperatura. . . . . . . . . . . . . . . 476 Comando de leitura do sensor de corrente. . . . . . . . . . . . . . . . . 477 Comando de leitura do RTC. . . . . . . . . . . . . . . . . . . . . . . . 488 Comando de Presença de Fluxo. . . . . . . . . . . . . . . . . . . . . . 489 Tabela relacionando a corrente medida pela sensor de corrente e pelo

multímetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5310 Tabela do teste do sistema real com os diferentes microcontroladores. . 5611 Tabela de preço do protótipo final . . . . . . . . . . . . . . . . . . . . 60

Page 13: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Lista de Siglas e Abreviaturas

ADC Analog-to-Digital ConvertersAmpOp Amplificador OperacionalARM Advanced RISC MachineAVR AtmelAT AttentionCI Circuito IntegradoCMD CommandoCMOS complementary metal-oxide-semiconductorCRC Cyclic Redundancy CheckDQ DATADSZ Data SizeEOF End of FrameEEPROM Electrically-Erasable Programmable Read-Only MemoryFig. FiguraFTP File Transfer ProtocolGND GroundGPRS General Packet Radio ServiceGSM Groupe Special MobileID IdentificaçãoIP Internet ProtocolLED Light Emitting DiodeMISO MASTER INPUT SLAVE OUTPUTMOSI MASTER OUTPUT SLAVE INPUTµC MicrocontroladorPC Personal ComputerPCI Placa de Circuito ImpressoPIC Programmable Interface ControllerRAM Random Access MemoryRCP ReceptRMS Root Mean SquareROM Read Only MemoryRTC Real Time ClockSD SECURITE Digital CArdSIM Subscriber Identity ModuleSND Sender

Page 14: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

SOF Start of FrameSPI Serial Peripheral InterfacePRMT ParametroRST ResetTab. TabelaTC Transformador de CorrenteTCP Transmission Control ProtocolUDP User Datagram ProtocolUSART Universal Synchronous Asynchronous Receiver TransmitterUSB Universal Serial Bus

Page 15: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.1 Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.2 Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . 212.1 Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2 GSM/GPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.1 GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.2 GPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3 Cartão SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3.1 Gravação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.3.2 Armazenamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.3.3 Velocidade de gravação . . . . . . . . . . . . . . . . . . . . . . . . . 252.3.4 Comunicação entre cartão SD e Microcontrolador (SPI) . . . . 262.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . 273.1 Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.1.1 Arduino - ATMEGA328 . . . . . . . . . . . . . . . . . . . . . . . . . 273.1.2 Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.1.3 Microcontrolador ARM . . . . . . . . . . . . . . . . . . . . . . . . . 283.2 PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3 Módulo GSM/GPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.1 SIM800l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.2 Comandos AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3.3 Fluxograma para programação do módulo GPRS . . . . . . . . . 323.4 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.4.1 Sensor de Corrente SC103-100 . . . . . . . . . . . . . . . . . . . . . 343.4.2 Sensor de Temperatura DS18b20 . . . . . . . . . . . . . . . . . . . 373.4.2.1 Protocolo 1-Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Page 16: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

3.4.3 Sensor de presença de fluxo de água . . . . . . . . . . . . . . . . . 413.5 Cartão SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.6 Servidor TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.6.1 Definição do Protocolo de Mensagens . . . . . . . . . . . . . . . . 453.6.2 Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.6.2.1 Sensor de Temperatura - DS18b20 . . . . . . . . . . . . . . . . . . . 473.6.2.2 Sensor de Corrente - SCT-103 . . . . . . . . . . . . . . . . . . . . . . 473.6.2.3 Real Time Clock - Ds1307 . . . . . . . . . . . . . . . . . . . . . . . . 483.6.2.4 Sensor de presença de fluxo de água . . . . . . . . . . . . . . . . . . 483.7 Sistema Completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.8 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.1 Módulo GPRS/GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.2 Sensor de Temperatura . . . . . . . . . . . . . . . . . . . . . . . . . 524.3 Sensor de corrente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.4 Sensor de presença de fluxo . . . . . . . . . . . . . . . . . . . . . . 544.5 Teste do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.6 Comparação entre os microcontroladores . . . . . . . . . . . . . . 564.7 Desenvolvimento da placa . . . . . . . . . . . . . . . . . . . . . . . 574.8 Preço do prototipo final . . . . . . . . . . . . . . . . . . . . . . . . . 604.9 Conclusão do capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Lista de Apêndices . . . . . . . . . . . . . . . . . . . . . . . . . . 65

A CÓDIGOS ARDUINO . . . . . . . . . . . . . . . . . . . . . . . . 66A.1 Código do modulo GSM e GPRS . . . . . . . . . . . . . . . . . . . 66A.2 Código Sensor de temperatura . . . . . . . . . . . . . . . . . . . . 67A.3 Código do Sensor de Corrente . . . . . . . . . . . . . . . . . . . . . 68A.4 Código para o Cartão SD . . . . . . . . . . . . . . . . . . . . . . . . 69A.5 Código para montagem da mensagem para o Servidor TCP/IP 69A.6 Enviar mensagem para o Servidor TCP/IP . . . . . . . . . . . . . 70

B CÓDIGOS ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . 71B.1 Código GSM/GPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Page 17: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

B.2 Sensor de temperatura DS18b20 . . . . . . . . . . . . . . . . . . . 71B.3 Sensor de corrente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72B.4 RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73B.5 Cartão SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

C CÓDIGOS PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76C.1 Sensor DS18b20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76C.2 Sensor de corrente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76C.3 Real Time Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

D CÓDIGO MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . 79D.1 Código do MATLAB para leitura dos sensores de corrente e

temperatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Page 18: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

17

1 Introdução

1.1 Motivação

Atualmente, o uso de sistemas de aquecimento de água por meio de aquecimento solarestá muito disseminado. No Brasil estes sistemas foram implementados em casas construí-das pelo governo e destinadas a pessoas com baixa renda pelos programas como (MinhaCasa, Minha Vida). Embora esses programas sejam um bem social criado pelo governo,a redução no consumo de energia deve ser comprovada, ou seja, deve ser criado algumdispositivo para demonstrar que o sistema é eficaz e que está sendo usado adequadamentepelos moradores da residência.

A importância da inclusão da tecnologia por meio de políticas públicas brasileiras podeser destacada pelo benefício não apenas a que se diz respeito ao usuário final, mas tambémao sistema elétrico nacional. A principal vantagem é a redução da conta mensal de energiaelétrica, permitindo a transferência do recurso economizado para outras necessidades.

Porém, ainda pode ter benefícios de maior escala, ou seja, benefícios para o país,uma vez que os chuveiros elétricos encontram-se predominantemente nas habitações deinteresse social, sua substituição pelo sistema de aquecimento solar favorece a reduçãona demanda de pico. Com isso, se reduz a demanda de energia proveniente das usinastermelétricas e hidrelétricas(GIGLIO, 2015).

A Empresa de Pesquisa Energética - EPE também ressalta estes benefícios e, combase nos dados divulgados em (ABRAVA, 2014), estima que de 2014 a 2022, os coletoresinstalados nas unidades habitacionais do programa Minha Casa, Minha Vida, evitarão anecessidade de gerar 6,3 TWh de energia elétrica.

Partindo do princípio de que as pessoas devem utilizar o sistema de maneira corretapara obter a economia esperada, temos que ter como fonte de pesquisas equipamento quemedem a eficácia do sistema levando em consideração a maneira que os mesmos estãosendo utilizados.

A medição se insere neste cenário como uma estratégia de pesquisa, na busca peloentendimento de como as pessoas utilizam o sistema de aquecimento solar, e se o mesmooferece economia e benefícios ao usuário e ao país (GIGLIO, 2015).

O grande objetivo deste trabalho é desenvolver um procedimento metodológico de me-dição investigativa e detalhada, que permita analisar a influência do usuário na economiade energia. Outro objetivo consiste em aprofundar os estudos ligados ao desempenhodo sistema de aquecimento solar em uso e demonstrar que os resultados de economia deenergia não podem estar dissociados dos fatores socioeconômicos e comportamentais dos

Page 19: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 1. Introdução 18

usuários.Uma descrição simplificada do sistema é apresentada na Fig. 1.

Figura 1 – Sistema completo para elaboração do projeto.

Fonte: Do autor.

1.2 Justificativa

Este projeto de TCC tem como propósito a implementação do circuito de maneirafuncional para medição das variáveis de temperatura, corrente e presença de fluxo deágua e sensor de corrente e a transmissão dessas informações via GPRS a um servidor,onde essas informações serão armazenadas para que sejam realizadas análises estatísticaspara verificação da eficiência energética dos painéis solares.

Em meio às crises energéticas no país, causadas principalmente pela falta de investi-mentos no setor, crescem os custos com tarifa de energia, o que reflete diretamente nosgastos do consumidor residencial e dificulta o desenvolvimento de vários outros setoresimportantes na economia. Isso trás novos desafios para as concessionárias de energiaelétrica, para o governo e até mesmo para os próprios consumidores. No cenário atualsabe-se que a maior parte dos gastos de energia elétrica se deve ao aquecimento de água,isto é, chuveiro e torneiras elétricas, e claro que o primeiro é o grande vilão.

Sabendo disso, o governo tem um projeto de construir casas para famílias de baixarenda, com os painéis solares para o aquecimento de água para que o “consumo de energiaelétrica diminua”, no entanto, deve se fazer medições a fim de se validar tal afirmação(ANEEL, 2015).

Sendo assim, esse trabalho busca desenvolver soluções (equipamento) para realizar asmedições necessárias, transmitir os dados a um servidor de tal maneira que possam seranalisados e dessa forma poder a verificar a eficiência do painel do solar e também se aresidências que os possuem utilizam-no adequadamente.

Page 20: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 1. Introdução 19

1.3 Objetivo

1.4 Objetivos

1.4.1 Gerais

Este projeto de TCC propõe o estudo de sensores, microcontroladores, transmissão dedados de dados via GSM/GPRS, criação de um servidor TCP/IP para armazenamentode dados e acompanhar as variáveis em tempo real, sensores de temperatura, corrente epresença de fluxo de água, bem como o condicionamento desses sinais. Basicamente oobjetivo geral é fazer a integração de todas as partes deste trabalho.

1.4.2 Específicos

Os seguintes objetivos específicos são:

1. Conhecimento necessário de eletrônica analógica e eletrônica de digital para cumprirtal tarefa;

2. Pensar no projeto como um todo, e fazer algo funcional e viável para aplicaçõesfuturas.

1.5 Metodologia

O Procedimento Metodológico utilizado para o desenvolvimento deste trabalho con-siste no desenvolvimento de um sistema utilizado para auxiliar na análise de eficiênciaenergética de painéis solares destinados para aquecimento de água.

A metodologia do trabalho consiste primeiro em fazer o módulo GSM/GPRS, depoisfoi feito o estudo de quais sensores utilizar junto com seus protocolos de comunicação.

A fim de validar o procedimento metodológico proposto foram tomadas as seguintesetapas:

1. Estudo dos comandos AT para comunicação com o módulo GSM/GPRS.

2. Análise dos sensores de corrente e temperatura

3. Validação de comunicação entre o microcontrolador com os sensores e o móduloGPRS.

4. Avaliação dos resultados.

5. Desenvolver sensor de presença de fluxo através de uma célula piezoelétrica

6. Validar sensor de presença de fluxo com o microcontrolador.

Page 21: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 1. Introdução 20

7. Testar o sistema por vários dias com os três microcontroladores.

8. Comparar dentre os microcontrolares, para saber qual atende melhor o sistema emquestão de custo e desempenho.

9. Montar protótipo final.

Page 22: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

21

2 Fundamentação Teórica

2.1 Microcontroladores

O avanço da tecnologia tornou possível armazenar milhares de transistores num únicochip. Isso constituiu um dos requisitos para a produção de microprocessadores e, os pri-meiros computadores foram construídos adicionando periféricos externos e internos taiscomo memória, conversores AD/DA, linhas de entrada e saída, temporizadores entre ou-tros. Um crescente aumento do nível de integração permitiu o aparecimento de circuitosintegrados incluindo juntamente processadores e periféricos. Foi assim que apareceu oprimeiro chip contendo um microcomputador e que passou a ser designado por microcon-trolador (SOARES, 2003).

Microcontrolador é um circuito integrado composto por um microprocessador e dispo-sitivos periféricos essenciais para o seu funcionamento como: memória de programa e dedados; e também periféricos acessórios como: interfaces de entrada e saída de dados.

Eles também são equipados com diversos circuitos eletrônicos tais como: conversoranalógico digital, temporizadores, comparadores, interfaces de comunicação, geradores depulsos, entre outros. São muito populares devido ao seu baixo custo. Isso vem tornandoos microcontroladores como soluções de viabilidade de vários projetos que tem comoprioridade o baixo consumo de energia.

Por serem programáveis, podem ser utilizados nas mais diversas aplicações em sistemasembarcados, como celulares, eletrodomésticos, equipamentos de automação industrial,relógios, alarmes, brinquedos e outros. Uma grande parte de componentes eletrônicoshoje é composta por microcontroladores, pois podem ser desenvolvidos para aplicaçõesespecíficas.

A capacidade de processamento e de armazenamento varia entre os microcontrolado-res definindo desta forma, famílias de processadores com funções semelhantes. Existemfamílias que são de linhas compactas, isto é, possuem poucas funções, ocupam menosespaço, consomem menos energia. Esses são usados para executar operações mais simplesque não necessitem de muitos recursos. Outros são compostos por maior capacidade dearmazenamento de dados, palavras de bits maiores, diversas funcionalidades e podem serusados para a execução de atividades mais complexas, e em algumas ocasiões substituindocomputadores(ZILLER, 2000).

Além de terem baixo custo como vantagem ainda consomem pouca energia, são portá-teis, eliminam a necessidade de muitos componentes externos, podem ser reconfiguradoscom facilidade.

Neste trabalho mostraremos testes com 3 microcontroladores de família ARM, PICe Arduino(ATMEL). Foram utilizadas placas de desenvolvimento para os testes inicial,

Page 23: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 2. Fundamentação Teórica 22

apenas a placa do pic foi confeccionada as outras são placas comerciais.

2.2 GSM/GPRS

2.2.1 GSM

O GSM é um padrão digital de segunda geração (2G), desenvolvido na Europapara substituir os diferentes e incompatíveis padrões analógicos utilizados pelos paíseseuropeus. Foi adotado na maior parte do mundo, utilizando inicialmente a faixa de 900MHz com canais de 200 kHz, posteriormente uma versão adaptada para as faixas de 1800e 1900 MHz. O GSM é hoje o padrão com o maior número de usuários em todo o mundo(TUDE,2003).

O GSM possui a estrutura básica dos sistemas de telefone móvel, oferecendo as mes-mas funcionalidades básicas dos demais sistemas celulares associadas à mobilidade comoroaming e handover entre células, como representado na Fig. 2.

Figura 2 – Elementos básicos da arquitetura GSM.

Fonte (TUDE, 2003).

O GSM foi padronizado para operar nas faixas de frequências apresentadas na Tabela1, sendo o GSM 900 e o DCS 1800 adotados na Europa e o PCS 1900 nos Estados Unidos.

Tabela 1 – Frequências de Operação GSM em MHz ((TUDE, 2003))

GSM 900 DCS 1800 PCS 1900Up Link 890-915 1710-1785 1850-1910

Down Link 935-960 1805-1880 1930-1990∆ F 45 95 80

Page 24: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 2. Fundamentação Teórica 23

O GSM foi criado para forma copiar a rede móvel, isto todos os serviços que estariamdisponíveis na rede fixa. A estrutura flexível dos canais físicos do GSM, bem como autilização de um protocolo robusto, facilitaram a introdução de serviços como por exemplo:

• Serviço de mensagem SMS;

• Serviço de identificador;

• Serviço de localização (GPS);

• Serviço de dados por pacotes;

No Brasil existem cerca de dez empresas atuando como operadoras de telefonia móvel,entre elas as mais conhecidas são a VIVO, a TIM, a Claro e Oi, em Londrina tambémtem uma operadora local, a Sercomtel.

É importante saber a frequência GSM que a operadora trabalha, pois os protocolos sãocompatíveis apenas com duas bandas de frequência, a Tabela 2 apresenta as frequênciasdas operadoras mais conhecidas no Paraná.

Tabela 2 – Frequências das operadoras para GSM/GPRS.

Operadora Frequência [MHz]VIVO 850/1900CLARO 900/1800TIM 900/1800OI 900/1800

SERCOMTEL 900/1800

2.2.2 GPRS

Segunda geração 2G teve a intenção de oferecer telefonia digital para serviços de voz,no entanto não tinha como objetivo acessar à Internet. Essa transporta dados por pacotes,através do protocolo IP e para que a rede móvel seja adaptada à Internet, é preciso queos dados sejam organizados também em pacotes.

Para resolver esse problema de dados organizados em pacotes foi criado a tecnologiaGPRS, cuja essência é possibilitar o tráfego de dados por pacotes para integrar a rede detelefonia celular à Internet (NASCIMENTO, 2004).

Com a chegada desta tecnologia o sistema passou a ser chamado de 2.5G. As outrasaplicações implementadas na geração 2G continuaram utilizando a comutação de circuitos.

De acordo com o discutido anteriormente, a evolução na Rede GSM com o serviçoGPRS oferece um aumento da taxa de transmissão de dados. A velocidade saltou de 9, 6kbps para próximo dos 171, 2 kbps (na prática bem menos que isso), em que se podeoperar uma Rede GPRS. Os assinantes passaram a pagar apenas a quantidade de dados

Page 25: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 2. Fundamentação Teórica 24

transferidos e não pelo tempo de conexão à rede (SVERZUT, 2005). Graças a isso, maisserviços puderam ser oferecidos como:

• Chat - pode utilizar salas de bate-papo normalmente, sem nenhuma restrição;

• Web Broswing - pode-se navegar por páginas HTML9 e ter acesso a todo conteúdo,como imagens, entre outros;

• Wap - uma tecnologia complementar, fornecendo downloads mais rápidos;

• Imagens - é possível receber e enviar imagens de câmeras digitais;

• Transferência de documentos - acesso a FTP10;

• E-mail - as mensagens são recebidas diretamente sem a necessidade de verificar noservidor;

• Áudio e Vídeo - arquivos de vídeo e áudio poderão ser enviados pela rede;

A tecnologia GPRS, embora não seja a mais recente, é a que oferece melhor desem-penho em termos de confiabilidade, qualidade de comunicação e cobertura a um custorelativamente baixo.

Uma característica importante deste do serviço GPRS é a estrutura de redes de celu-lares e Internet já consolidadas, isentando o usuário de construir e manter a sua própriarede. A grande vantagem é a integração com a Internet, que permite conexão com qual-quer ponto do mundo em diferentes equipamentos. Essa versatilidade é algo importanteem qualquer sistema de monitoramento remoto de dados(TATEOKI et al., 2007).

O serviço GPRS utiliza os recursos já existentes na rede GSM, acrescentando algunselementos na infra-estrutura da rede para suportar os novos serviços de dados. Alémde permitir aos usuários a troca de dados e acesso à Internet, a rede GPRS permitiuàs operadoras de telefonia testar e implementar novos serviços que futuramente seriamaproveitados no sistema 3G (PIROTTI; ZUCCOLOTTO, 2009).

2.3 Cartão SD

A sigla SD vem do termo em inglês “Secure Digital”. O cartão SD nada mais é do queuma forma segura e acessível de armazenar grande quantidade de informação.

Esses cartões utilizam a chamada memória flash, ou armazenamento sólido, uma téc-nica de gravação resistente a impactos e veloz na transferência dos dados. A informaçãofica armazenada no chip sem que seja necessário o acesso a uma bateria ou outras fontesde energia.

Page 26: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 2. Fundamentação Teórica 25

2.3.1 Gravação

Diferentemente do que acontece nos discos rígidos, em que o processo de gravação deinformações é mecânico, os cartões utilizam a chamada memória flash. Também conhe-cida como armazenamento sólido, esse tipo de técnica de gravação e leitura resulta emequipamentos mais resistentes a impactos, mais velozes na transferência de dados e commaior durabilidade.

O procedimento de gravação e leitura é bastante simples. O sistema conta com doistransistores separados por uma fina camada de óxido de silício. Um dos lados funcionacomo uma porta de controle, ativando as células da memória e fazendo a leitura de dados.Já o outro é uma espécie de porta flutuante, armazenando as informações.

A corrente elétrica passa de um lado para outro e uma tensão aplicada na porta decontrole atrai os elétrons para a porta flutuante. Esse processo todo é bastante durável:estima-se que um dispositivo possa ser regravado pelo menos 100 mil vezes (NORBURY,2016).

2.3.2 Armazenamento

Basicamente, há três tipos de definição entre os cartões SD: o modelo-padrão, conhe-cido como SD Standard, alcança apenas 2 GB de armazenamento. Já o SDHC (siga paraSecure Digital High Capacity) consegue armazenar até 32 GB de conteúdo. Por fim, oSDXC, padrão mais recente entre os cartões, já pode ser encontrado em versões de até256 GB (NORBURY, 2016).

2.3.3 Velocidade de gravação

A indicação de velocidade de leitura de um cartão é mensurada por classes. Existemquatro padrões de velocidade e cada um deles diz respeito a um uso ideal.(MICROCHIP,2014)

• Classe 2: atinge velocidades mínima de 2Mb/s e é ideal para gravação de vídeos emdefinições-padrão.

• Classe 4: atinge velocidade mínima de 4Mb/s e é o modelo mais indicado paragravação de vídeos em HD (resolução de 720p).

• Classe 6: atinge a velocidade mínima de 6 Mb/s e também é indicado para a gravaçãode vídeos em HD. O ganho real em relação à Classe 4 é pequeno, mas na prática aversão garante um pouco mais de segurança para o usuário.

• Classe 10: atinge a velocidade mínima de 10Mb/s, sendo o formato mais apropriadopara vídeos em Full HD (1080p). UHS Speed Class 1: atinge a velocidade mínima

Page 27: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 2. Fundamentação Teórica 26

de 10Mb/s, mas seu uso é mais restrito. Ideal para vídeos de longa duração ou paratransmissões em tempo real.

2.3.4 Comunicação entre cartão SD e Microcontrolador (SPI)

Os cartões SD comunicam-se através de uma Interface Periférica Serial (SPI – SerialPeripheral Interface), que permite a troca de dados de vários dispositivos em full-duplex.A SPI é um protocolo síncrono que possibilita um dispositivo mestre (master) iniciar acomunicação com um escravo (slave).

Para prover o sincronismo, o sinal de clock (no microcontrolador este pino é chamadode SCK) pode ser gerado somente pelo mestre, e este sinal controla quando os dadospodem mudar e quando são válidos para leitura. Por ser síncrono, varia apenas de acordocom as subidas e descidas do Clock, não afetando a integridade dos dados. Por permitirvários escravos, o SPI precisa controlar qual deles está sendo acessado, e o faz com umsinal CS (Chip Select) ou SS (Slave Select, que não precisa ser conectado caso existaapenas um escravo.

2.4 Conclusão

Neste capítulo foi apresentada a teoria sobre microcontroladores, comunicação GSM/G-PRS e cartão de SD. Na próxima seção será evidenciada toda a parte de desenvolvimentodo sistema.

Page 28: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

27

3 Desenvolvimento

3.1 Microcontroladores

3.1.1 Arduino - ATMEGA328

O microcontrolador ATMega328PU utiliza arquitetura Havard de 8 bits, é RISC, epossui 32kB de memória flash, 1kB de memória EEPROM, 2kB memória SRAM, 32registradores de uso geral, 3 temporizadores/ contadores, 1 USART, 1 SPI, 1 I2C, 6conversores AD de 10 bits, e watchdog time, entre outras características. Este dispositivoirá controlar os sensores, configuração, leitura de dados e a comunicação serial com móduloGPRS (MORO, 2015).

Para o começo dos testes foi trabalhado com o chip junto à placa de desenvolvimento(Arduino Uno) e foi utilizada a IDE Arduino para comunicação, copilação e execução doprograma.

3.1.2 Arduino UNO

A plataforma de desenvolvimento Arduino possui diversas características que a torna-ram uma solução atraente. Por oportuno, algumas dessas características:

• Regulador de tensão de entrada, podendo utilizar fontes de alimentação que possuamtensão entre 6V e 20V ;

• Saída de alimentação de 3, 3V e 5V para ligar outros componentes ao hardware sema necessidade de utilizar outra fonte de alimentação;

• Conectores em todas as portas de entrada e saída do microcontrolador, facilitandoa integração com outros componentes, como por exemplo, sensores de movimento;

• Ambiente de desenvolvimento de algoritmos próprio e upload através da porta USBde qualquer computador.

Segundo informações do site, Arduino (ATMEL, 2014) “é uma plataforma open-sourcede prototipagem eletrônica baseada na flexibilidade, hardware e software fácil de usar”. Elafoi desenvolvida para ser autônoma, necessitando somente de uma fonte de alimentaçãopara executar suas rotinas.

Por utilizar os microcontroladores da família AVR (descrita na seção 3.1), essa plata-forma é composta por inúmeras versões. Algumas delas estão listadas no quadro abaixo:

Page 29: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 28

Tabela 3 – Informações Módulo Arduino Uno (ATMEL, 2014)

- ARDUINO UNOMicrocontrolador ATmega 328

No de portas de E/S14 (sendo que 6podem ser usadascomo PWM4)

No de portas de Entrada analógica 6Flash memory 32kBClock speed 16 MHzBootloader 0.5kB

A placa usado nos teste do projeto é mostrada na Fig. 3

Figura 3 – Placa de desenvolvimento Arduino Uno

Fonte: Do autor.

3.1.3 Microcontrolador ARM

O microcontrolador ARM utilizado foi o STM32F407VGT6. Trata-se de um micro-controlador da família Cortex-M4. Sua frequência de operação (clock) pode chegar até168MHz. Possui uma memória flash de 1MB e 192kB de memória RAM (ARM, 2000).Além disso, conta com vários timers e conversores analógico-digitais.

Este microcontrolador foi utilizado por possuir uma arquitetura conhecida e ter ca-pacidade de processamento necessária para a análise do sinal no módulo de recepção doprojeto. Além disso, os microcontroladores da família ARM são muito utilizados paraaplicações de processamento de sinais e imagens. Há várias bibliotecas, disponibiliza-das gratuitamente, que implementam funções específicas dos periféricos, sendo utilizadascomo base para desenvolver o código e a lógica do dispositivo, principalmente o exemplorelacionado à conversão AD, temporizadores e interrupções externas (ARM, 2000).

Page 30: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 29

Para gravação foi utilizado o software COIDE. Essa interface para gravação é gratuitae possui alguns exemplos de como utilizá-la.

Na Fig. 4 está a placa de desenvolvimento utilizada.

Figura 4 – Placa de desenvolvimento stm32

Fonte: Do autor.

3.2 PIC

Os microcontroladores da família PIC são fabricados pela MICROCHIP Technology.Esses microcontroladores utilizam arquitetura Havard. Existe uma infinidade de micro-controladores de 8, 16 e 32 bits.

Para os testes foi elaborada uma placa de desenvolvimento utilizando o PIC32MX330F064H,cujas características são: 4 SPI’s, 4 USARTs, 2 I2Cs, RTC interno, entre outras funcio-nalidades.

Para a programação deste utilizaremos o software MPLAB IDE 8.92 e para sua gra-vação é necessário um gravador chamado PICKIT 3, conforme a Fig. 5.

Figura 5 – Gravador PICKIT 3

Fonte: Do autor.

A placa de desenvolvimento utilizada está representada na Fig. 6.

Page 31: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 30

Figura 6 – Placa de desenvolvimento PIC32MX330f064h

Fonte: Do autor.

3.3 Módulo GSM/GPRS

3.3.1 SIM800l

É um dispositivo para comunicação de voz e transmissão de dados desenvolvidopela Neoway. Assim como o módulo da Telic, tem especificações como as de um apare-lho celular comum, mas é designado para aplicações industriais, pois não tem nenhumafuncionalidade implementada (SIM800L, 2000). A Fig. 7 mostra o módulo.

Figura 7 – Módulo GSM/GPRS

Fonte: Do autor.

A comunicação com o módulo é serial UART nível CMOS 2,85V e usa comandos ATpadrão, bem como alguns comandos AT3 estendidos próprios deste módulo (SIM800L,2000).

Suas principais características são:

Page 32: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 31

• Opera nas quatro bandas das operadoras de telefonia GSM 850 / 900 / 1800 / 1900MHz.

• Dispõe de um socket especial para SIM Card.

• Suporta mensagens SMS.

• Pilha TCP/IP embutida incluindo protocolos TCP, IP, UDP, e FTP.

• UART com velocidade de até 115200 bps.

e suas características elétricas são:

• Potência máxima de saída de +33 dBm (2 W) nas frequências 850 / 900MHz.

• Potência máxima de saída de +30 dBm (1 W) nas frequências 1800 / 1900 MHz.

• Corrente instantânea Max 2A.

• Consumo de 2, 5mA em espera.

• Consumo de 210mA em transmissão GPRS com máxima potência.

• Tensão de alimentação em 3, 3 a 4, 5 VDC (3, 9 VDC recomendado).

• Sensibilidade de −107dBm, tipicamente, nas frequências 850 / 900 MHz.

• Sensibilidade de −107dBm, tipicamente, nas frequências 1800 / 1900 MHz.

• Interface de dados UART CMOS 2,85V.

Para efeito de testes serão apresentados dois módulos de transmissão de dados, são elesGC864 QUAD - V2 e o SIM800l. Ambos os módulos possuem o protocolo de comunicaçãoserial, e reconhecem comando AT (SIM800L, 2000).

Para os testes do módulo GSM/GPRS será utilizado os comandos AT a fim de ter umcomunicação com um servidor TCP/IP e um conversor USB serial para conseguir enviare receber as strings do módulo, antes de utilizar o módulo com o microcontrolador.

3.3.2 Comandos AT

Os comandos AT, abreviatura da palavra Attention, foram desenvolvidos em 1977 porDennis Hayes e implementado no Hayes Smartmodem em 1981. O objetivo destes co-mandos, também conhecidos como Hayes AT Commands, era criar uma interface paraconfiguração e fornecimento de instruções, como por exemplo, discar um número de tele-fone.

Page 33: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 32

O objetivo principal destes comandos era fornecer comunicação entre os modems. Con-tudo, a telefonia celular, através do GSM, passou a adotar este padrão de comunicação,permitindo assim que ações como realização de chamada, transmissão de dados, voz, SMS,entre outros serviços fossem possíveis.

Os serviços que podem ser acionados no modem através dos comandos AT são serviçosde chamada, enviar e receber SMS, auto-resposta e verificação de qualidade do sinal.

Depois de uma análise atenta da documentação com os comandos AT (??) suportadospelo módulo e sabendo-se que será utilizado um servidor TCP, os comandos utilizadospara tal finalidade são:

• AT - Testa a resposta do módulo.

• AT+CGATT=1 - Habilita o serviço de internet do chip de celular

• AT+CIPMUX=0 - Ativa o modo texto

• AT+CSTT\”www\”, \”\”, \”\” - Configura o servidor padrão, o primeiro parâmetrocoloca-se o site, e os três apenas abre e fecha haspas duplas.

• AT+CIICR - Solicita o IP do CHIP.

• AT+CIFSR

• AT+CIPSTART=\”TCP\”, \”201.54.99.204\”, \”5001\” - Conecta-se ao servidor.O primeiro parâmetro refere-se ao tipo de conexão (UDP,FTP ou TCP), o segundoparâmetro o IP do servidor, o terceiro refere-se a porta liberada para transmissãode dados.

• AT+CIPSEND - Envia os dados. Sempre após mandar o dado deve-se enviarCTRL+Z para que o módulo funcione adequadamente.

É importante ressaltar que deve enviar após cada comando um \r\n.

3.3.3 Fluxograma para programação do módulo GPRS

Neste tópico será apresentado o fluxograma de como o módulo GSM/GPRS se co-municará com o servidor TCP/IP. Na Fig. 8 encontra-se a representação completa doconexão.

Page 34: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 33

Figura 8 – Fluxograma para programação dos comandos AT para comunicação TCP/IP.

Fonte: Do autor.

O fluxograma apresentado na Fig. 8 mostra como será feito a conexão com o servidorTCP/IP. O primeiro estado é o reset, no qual a saída colocada em nível alto e depois de1s o pino fica em nível em alta impedância.

O próximo estado faz o teste com o módulo GSM/GPRS ao enviar o comando AT. Se

Page 35: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 34

a resposta for “ERROR”, vai para o estado ERRO e caso a resposta seja “OK”, vai parao estado que inicializa a GPRS.

O estado INIT_ GPRS seguinte tem como função configurar a rede de dados (funçãoGPRS). Nesta parte envia-se pela serial o comando AT+GATT = 1. Se o módulo iniciacom sucesso retorna “OK”, caso contrário retorna “ERROR”.

O quarto estado habilita o modo texto pelo envio do comando “AT +CIPMUX = 0′′.Se o modo é ativado com sucesso, o módulo responde “OK” e vai para o estado CONF_SERV, caso contrário vai para o estado “ERRO”.

O quinto estado é CONF_ SERV, neste é enviado o comando AT+CSTT\”www\”, \”\”, \”\”.Se a conexão estiver certa, o módulo retorna ”OK“ e vai para o estado CONNECT_ SER-VER , caso contrário retorna “ERROR”.

O sexto estado CONNECT_ SERVER é a principal parte, os parâmetros deste co-mando são o IP do servidor e a porta aberta para comunicação, o comando enviado parao modulo é AT+CIPSTART=\”TCP\”, \”201.54.99.204\”, \”5001\”, caso for feita a co-nexão com servidor, o módulo retorna “CONNECT OK” e vai para o estado ESCREVE_MSG, caso contrário vai para o estado “ERRO”.

O estado “ERRO” faz o módulo voltar ao estado RESET e começa todo o estado deconexão novamente.

3.4 Sensores

Para elaboração do trabalho e poder testar corretamente o envio de informações parao servidor via sinal GPRS, foi desenvolvido um conjunto de sensores com a finalidade demostrar como o sistema funcionará.

Serão utilizados 3 sensores, o sensor de corrente, sensor de temperatura e o sensor depresença de fluxo de água. Os dois primeiros sensores são sensores vendidos comercial-mente, enquanto o sensor de presença de fluxo foi desenvolvido com eletrônica analógica.

3.4.1 Sensor de Corrente SC103-100

Os sensores de corrente vêm sendo utilizados em larga escala para determinação deconsumo de painéis e equipamentos elétricos. Existem diversos tipos de sensores como ossensores de efeito Hall e TC (transformadores de corrente).

A grande vantagem de se utilizar um transformador de corrente é não precisar cortaro fio para medir a corrente, ou seja, é um sensor não invasivo, conforme representado naFig. 9.

Page 36: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 35

Figura 9 – Sensor de Corrente SC013 -100

Fonte: Do autor.

O princípio de funcionamento deste sensor é baseado na lei de Ampere que enuncia

“todo condutor por onde flui uma corrente elétrica induz ao seu redorum campo magnético proporcional à corrente 1”

e baseada também na lei de Faraday

“um campo magnético que varia ao longo do tempo induz em uma espirauma força eletromotriz que gera um corrente elétrica proporcional aintensidade do campo magnético”2.

O TC, através deste dois princípios físicos, consegue uma tensão proporcional à vari-ação de corrente elétrica na entrada do transformador.

Neste trabalho se dará enfase ao sensor de corrente do tipo TC modelo SC − 013,que pode medir valores de 0 até 100A de corrente alternada eficaz. Em sua saída tere-mos valores entre 0 a 50mA proporcionais ao valor de corrente percorrido no condutorprincipal.

O circuito para condiciamento do sinal está representado na Fig. 10.

Figura 10 – Circuito de condicionamento para o sensor de corrente.

Fonte: Do autor.2HAYT, Willian. H., Jr. Eletromagpetismo-Livros Técnicos e Científicos Editora-Rio de Janeiro-

1991. p.1292HAYT, Willian. H., Jr. Eletromagpetismo-Livros Técnicos e Científicos Editora-Rio de Janeiro-

1991. p.155

Page 37: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 36

Neste circuito os resistores R6 e R7 são resistores usados para obter uma referência de2, 5V , ou seja, é um divisor de tensão, utilizado para não ter a possibilidade de chegartensão negativo no microcontrolador. O capacitor C1 é utilizado para filtrar possíveisruídos.

Já o resistor de carga deve ser calculado de acordo com a corrente máxima que podepassar pelo condutor em que estará sendo feita a medida de corrente.

Para calcular o resistor, devemos seguir alguns passos:

• Passo 1: Determinar a corrente RMS (Irms) máxima que o circuito irá medir. Nocaso do projeto Irms = 100A.

• Passo 2: Converter a corrente RMS para corrente de pico. Para isso devemos utilizara seguinte relação:

IpicoP rim = Irms ∗√

2 = 100 ∗√

2 ≈ 141, 2A

• Passo 3: Determinar o número de espiras do secundário, sabendo que o primáriopossui apenas uma espira e as características do transformador 100A - 50mA.

N2 = N1 ∗I1

I2= 1 ∗ 100

50 · 10−3 = 2000 espiras

• Passo 4: Calcular a corrente máxima do secundário do transformador.

Ipicosec = N1 ∗ IpicoP rim

N2 = 1 ∗ 141, 22000 = 0, 06504A

• Passo 5: Através da lei de Ohm, dimensionar o resistor de carga, sabendo que atensão é 2, 5V proveniente do divisor de tensão.

Rcarga = Vdivisor

IpicoSec

= 2, 50, 06504 = 30, 92Ω

Valor comercial mais próximo adotado foi de 33Ω.

Para fazer o cálculo para converter os dados de bytes para Amperes deve-se utilizar aseguinte fórmula.

I(A) = V alorlidosensor ∗ 0.29593

O fluxograma para elaboração da rotina de leitura do sensor de corrente apresentadona figura 11.

Page 38: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 37

Figura 11 – Fluxograma para leitura do sensor de corrente SC − 103.

Fonte: Do autor.

Foram utilizadas algumas cargas para verificação de funcionamento do sensor de cor-rente. Além disso foi feito um circuito com lâmpada controlada por um triac para verificarse o sensor em questão conseguiria medir uma corrente que não tivesse uma senoide per-feita.

3.4.2 Sensor de Temperatura DS18b20

Este sensor de temperatura digital, DS18B20, trabalha com o protocolo de comunica-ção One Wire. Tal sensor possui precisão entre 9 e 12 bits, e pode ler uma temperaturana faixa de −55C e 125C (±0, 5C). A Fig. 12 representa fisicamente o sensor.

Page 39: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 38

Figura 12 – Sensor de temperatura DS18b20.

Fonte: Do autor.

Para ter vários sensores em alguma aplicação, cada sensor tem um número de sérieexclusivo de 64 bits gravado nele mesmo - essa condição permite que um grande númerode sensores seja usado em um barramento de dados. Esta é uma parte de muitos projetosde registro de dados e controle de temperatura.

Suas principais características de acordo com seu datasheet são (DALLAS, 2007):

• A única interface de one wire requer apenas um pino de porta para comunicação.

• Reduz a quantidade de componentes por ter integrado ao componente uma EE-PROM.

• Mede Temperaturas na faixa de −55C até +125C. Sendo que tem uma precisãode ±0, 5C numa faixa de medição entre 10C a 85C.

• Resolução programável entre 9 bits a 12 bits.

• Converte a temperatura to 12-bit em 750ms (max.)

• Para sua ligação é necessário utilizar um resistor de 4, 7kΩ pull-up entre VCC e pinode dados do sensor.

• Modo de economia de energia, pois utiliza apenas 2 pinos para operação (DQ eGND).

• Cada dispositivo possui um código serial de 64 bits original armazenado na ROMon-board, o que possibilita

• Configurações de alarme definidas pelo usuário (NV) com o temperatura máxima emínima.

Page 40: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 39

3.4.2.1 Protocolo 1-Wire

Este tipo de comunicação, desenvolvido pela Dallas Semiconductor Corp., tem comobase funcionamento a transmissão de dados em baixa velocidade, sinalização e sinal únicode energia. Este protocolo é semelhante ao protocolo I2C, no entanto com taxas detransmissão mais baixas e um maior alcance, isto é, podemos ter cabos de ligação de até3m a 4m com perda na transmissão de dados mínima. (DALLAS, 2007)

Esse protocolo é muito utilizado para pequenas funções digitais e também em sensoresde temperatura (termômetros).

A comunicação consiste primeiramente em um pulso de reset provocado pelo dispo-sitivo Mestre (microcontrolador). Este pulso é feito enviando nível 0 para o barramentopor no mínimo 480µs. Após receber este sinal, o dispositivo slave (no caso será o sensorde temperatura DS18b20) responde enviando 0 para o barramento por um certo tempomenor que 240µs e maior que 60µ, como mostra a Fig.13:

Figura 13 – Inicialização da comunicação no protocolo 1-Wire.

Fonte: (NETO et al., 2005)

Na comunicação 1-Wire o tempo de duração do pulso determina se o bit transmitidoé 0 ou 1. Um pulso curto representa o bit 1 enquanto que um pulso longo representa umbit 0, a Fig. 14 mostra essas transições de bit 0 para bit 1 e aproximadamente o tempo.

Figura 14 – Modo de escrita dos bits 0 e 1 feitas pelo dispositivo.

Fonte: (NETO et al., 2005).

Page 41: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 40

Pela Fig. 14 podemos observar que para escrever o bit 0 o pulso dura no mínimo 60µse no máximo 120µs. Já o bit 0 dura no máximo 15 µs.

Para leitura tanto do mestre quanto do escravo, o mestre inicializa o slot. A leiturado barramento acontece a partir deste momento.

A transmissão de dados entre escravo e mestre dura aproximadamente 1s.O datasheet do sensor de temperatura sugere que para ligação do sensor é necessário

colocar um resistor de pull-up de 10kΩ entre os pinos de VCC e DATA. O esquemáticocompleto da ligação fica de acordo a Fig. (15).

Figura 15 – Circuito para funcionamento do sensor de temperatura

Fonte: Do autor.

Para elaboração do programa foram utilizados os microcontroladores ARM, PIC eARDUINO para fazer a comunicação e a leitura do sensor, e uma interface serial paraverificação em tempo real do sensor. O fluxograma para comunicação One Wire e atransmissão serial dos dados.

Figura 16 – Fluxograma para leitura do sensor de Temperatura DS18b20.

Fonte: Do autor.

Page 42: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 41

Para o cálculo da temperatura será utilizada a seguinte equação.

Temp = V alorlidosensor

16Para comparação dos dados será utilizado o termômetro do multímetro.

Foram realizados testes utilizando um isqueiro e um copo de água com gelo paraverificar a faixa de medição de sensor.

3.4.3 Sensor de presença de fluxo de água

Para o desenvolvimento do sensor de fluxo foi utilizado o princípio da vibração deuma célula piezoelétrica Fig. 17. O circuito elaborado foi baseado em um comparador detensão utilizando amplificador operacional e com um detector de envoltória (detector depico). Logo, sempre que houver presença de fluxo, o amplificador satura positivamentefazendo com que a saída fique em nível alto, caso não ocorra vazão de água a saída ficaem nível baixo.

Figura 17 – Célula piezoelétrica.

Fonte: Do autor.

Para os testes iniciais foi utilizado um led para indicar a presença de água. Depoisde validado o teste, no lugar do led a saída do amplificador operacional será ligada naentrada Digital do microcontrolador.

A primeira parte do circuito foi montar dois divisores de tensões, um para a referênciade 2,5V e outro para dar offset no sinal de entrada, conforme Fig. (18).

Figura 18 – Divisores de tensão

Fonte: Do autor.

Page 43: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 42

Depois foi projetado o circuito com a célula piezoelétrica com o capacitor de desaco-plamento e o detector de pico. Para o detector foi utilizado um diodo de ação rápida(1N4937) e um capacitor de 10µF , conforme mostrado na Fig. 19

Figura 19 – Circuito para condicionar o sinal da célula piezoelétrica.

Fonte: Do autor.

Por último foi montado o comparador de tensão no qual o sinal de entrada será acres-cido do offset e comparado com a tensão de referência. A Fig. (20) mostra o circuitocomparador.

Figura 20 – Comparador do sinal de entrada com a referência.

Fonte: Do autor.

O fluxograma para leitura do sensor de presença de fluxo está na Fig. 21.

Page 44: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 43

Figura 21 – Fluxograma para leitura do sensor de presença de fluxo.

Fonte: Do autor.

Este fluxograma tem um funcionamento simples, basicamente inicializa uma porta deentrada, e inicializa a variável presença de fluxo. Logo após o microcontrolador faz aleitura da porta de entrada. Se a porta estiver nível alto, indica que existe presença defluxo, caso contrário não tem presença de fluxo.

3.5 Cartão SD

A importância do cartão de memória neste projeto é estritamente para backup, ouseja, caso exista uma falha na hora de envio para o servidor TCP, o dado é salvo nocartão. Logo depois de feitos todas as aquisições de dados na casa, o equipamento serárecolhido e posteriormente serão comparados os dados do servidor com os dados no cartãode memória.

Os cartões utilizam comunicação SPI conforme descrito na seção 2.3.4, no entanto oprocesso de gravação dos cartões é muito complexo. Devido a este fato, os fabricantedisponibilizam as bibliotecas necessárias para gravação no cartão. Estas bibliotecas sãoobtidas direto no site do fabricante.

Vale salientar que as bibliotecas para uso com o SD dos microcontroladores da famíliaPIC e AVR são funções bloqueantes, então deve-se fazer uma programação pensando nestefato para que o programa não fique travado.

Page 45: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 44

O fluxograma da Fig. (22) mostra como a função de gravação dos dados no cartão dememória será realizado.

Figura 22 – Fluxograma para rotina de gravação.

Fonte: Do autor.

A rotina de gravação do cartão SD possui três estados: Criar pasta, criar arquivo eescrever os dados. Para cada processo é utilizada a função de cada biblioteca e sempreque o retorno é negativo é refeita a tentativa do estado.

Os arquivos salvos no cartão SD são no formado .svc, pois além de ser um arquivoleve para armazenamento, este tipo de arquivo pode ser aberto facilmente por planilhaseletrônicas.

Tirando a placa do PIC que foi projetada com um slot para o cartão de memória,as outras placas necessitam de um módulo externo de cartão de memória. O móduloescolhido está representado na Fig. 23

Page 46: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 45

Figura 23 – Módulo cartão SD.

Fonte: Do autor.

3.6 Servidor TCP

O servidor TCP/IP deve realizar duas tarefas básicas: permanecer em execução aguar-dando (listening) a chegada de requisições em alguma porta pré-especificada; e responderà solicitação através de uma conexão estabelecida com o cliente em função da requisiçãorecebida.

O servidor montado para recepção dos dados está estruturado conforme o trabalho(BONIFáCIO, 2018). Toda essa seção é baseada neste trabalho.

O sistema supervisório irá receber, via comunicação TCP/IP, um pacote de informa-ção, interpretar as informações, identifica qual o sensor que enviou a mensagem, armazenao dado do respectivo sensor, plota o gráfico em tempo real e salva a informação em umatabela da planilha eletrônica contendo todas as leituras do sensores.

É claro que, para cada sensor, será montado um pacote de mensagem diferente.

3.6.1 Definição do Protocolo de Mensagens

Para a definição do protocolo de comunicação foi idealizado um método que fosse capazde fornecer segurança e confiabilidade nas transmissões de mensagens. Através da expe-riência prática obtida em campo no decorrer do estágio curricular de graduação, foramobservadas algumas boas práticas para o desenvolvimento de um sistema de comunicaçãoembarcada. Conforme descrito na Seção 3.1, sistemas embarcados possuem poucos recur-sos de processamento se comparados a um computador pessoal, portando é necessário queseja estabelecido uma forma de interpretação de mensagens de modo a otimizar o uso derecursos.

Deste modo, foi desenvolvido um protocolo que facilite a detecção de início e fimde mensagem, para que, tanto o sistema supervisório quanto o conjunto que está sendomonitorado, possam receber e interpretar facilmente novas mensagens. O protocolo decomunicação foi projetado para possuir os seguintes campos: início, cabeçalho, dados,verificação de erros e fim. Cada campo será descrito na sequência desta seção e o formatoda mensagem pode ser verificado na Tabela 4 abaixo.

Page 47: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 46

Tabela 4 – Formato do protocolo de comunicação implementado no projeto.

SOF SND RCP DSZ CMD PRMT CRC EOF1 byte 1 byte 1 byte 1 byte 1 byte Variável 2 bytes 1 byte

• SOF: indica início de mensagem. Valor = 0x01;

• SND: endereço do transmissor da mensagem.

• RCP: endereço do receptor da mensagem.

• DSZ: indica o número de bytes do parâmetro PRMT.

• CMD: tipo do comando, relacionado à cada tipo de sensor.

• PRMT: vetor de dados.

• CRC: detecção de erros na mensagem, 16bits.

• EOF: indica fim de mensagem. Valor = 0x04;

Conforme determinado pela Tabela (4), é necessário que o frame de mensagem possuabytes que indiquem o início da mensagem (SOF, do inglês: Start of Frame) e fim da novamensagem (EOF, do inglês: End of Frame). O cabeçalho da mensagem é responsávelpela determinação de quem é o emissor da mensagem e para quem esta mensagem estáendereçada; sendo assim, foram adicionados dois bytes que contêm a informação de quemsão o emissor (SND, do inglês: Sender ) e o destinatário da mensagem em questão (ADR,do inglês: Address). Sabendo que, além de contar com poucos recursos disponíveis, aprogramação de sistemas embarcados é feita normalmente em linguagem de baixo nível,como C e Assembly; é frequente a necessidade de lidar com vetores e ponteiros paraacessar posições da memória, portanto é imprescindível que seja enviado para o sistema otamanho do campo de dados da mensagem, para que seja possível determinar a quantidadede espaço que deve ser alocado para guardar a informação. Portanto, na definição docabeçalho foi especificado o campo tamanho de dados (DSZ, do inglês: Data Size) queinforma a quantidade de bytes enviados como informação. Desta maneira, o cabeçalho damensagem é composto por 3 bytes.

Dentre os dados que são enviados como informação, primeiramente tem-se um bytede comando que indica qual tipo de periférico deve ser acessado, controlado ou retornadoalguma informação. Sabendo que é necessário enviar pelo menos um comando, é possívelafirmar que, no mínimo, o valor do byte de tamanho deve ser 1, podendo aumentarconforme a especificação de cada comando. Dentre estes sensores e periféricos.

Pode-se perceber que os periféricos possuem uma grande diferença entre si, de modoque cada um tenha a sua particularidade e comandos específicos; cada tipo de comando eseus parâmetros está descrito na Seção 3.6.2. O campo Dados tem tamanho variável queserá transmitido no campo DSZ do cabeçalho.

Page 48: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 47

3.6.2 Comandos

Pelo protocolo cada sensor terá um código de identificação e o tamanho dos dados évariável.

Abaixo estarão os sensores e padrão de protocolo de cada sensor.

3.6.2.1 Sensor de Temperatura - DS18b20

Para transmitir a leitura dos dados, o conjunto que está sendo monitorado deve enviarpara o sistema supervisório uma mensagem com os seguintes parâmetros conforme aTabela 5 abaixo.

Tabela 5 – Comando de leitura do sensor de temperatura.

CMD ID Temperatura1 byte 1 byte 2 bytes

Descrição de cada um dos campos:

• CMD: comando que identifica o sensor de temperatura. Valor hexadecimal: 0x02.

• ID: número de identificação do sensor, pode variar de 0 a 255, ou, em hexadecimalde 0x00 até 0xFF.

• Temperatura: valor da temperatura aferido. Este valor deve ser do tipo sinalizado,ou seja, o bit mais significativo indica se é um valor positivo ou negativo.

Os valores de leitura enviados devem ser exatamente os mesmos recebidos do sensor,não deve ser realizado nenhum tratamento pré transmissão. Ao receber o dado, o softwarese encarrega de realizar o processamento dos dados realizando operações matemáticasconforme o datasheet do fabricante.

3.6.2.2 Sensor de Corrente - SCT-103

Para transmitir a leitura dos dados, o conjunto que está sendo monitorado deve enviarpara o sistema supervisório uma mensagem com os seguintes parâmetros, conforme aTabela 6 abaixo.

Tabela 6 – Comando de leitura do sensor de corrente.

CMD ID Corrente1 byte 1 byte 2 bytes

Descrição de cada um dos campos:

• CMD: comando que identifica o sensor de corrente. Valor hexadecimal: 0x03.

Page 49: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 48

• ID: número de identificação do sensor, pode variar de 0 a 255, ou, em hexadecimalde 0x00 até 0xFF.

• Corrente: valor de temperatura aferido. Este valor deve ser do tipo sinalizado, ouseja, o bit mais significativo indica se é um valor positivo ou negativo.

Os valores de leitura enviados devem ser exatamente os mesmo recebidos do sensor, nãodeve ser realizado nenhum tratamento pré transmissão. Ao receber o dado, o softwarese encarrega de realizar o processamento dos dados realizando operações matemáticasconforme o datasheet do fabricante.

3.6.2.3 Real Time Clock - Ds1307

Os comandos referentes ao RTC foram desenvolvidos e testados utilizando o circuitointegrado DS1307 da fabricante Maxim Integrated. Este CI possui modos de operaçãode baixo consumo, 56 bytes de memória SRAM, comunicação via I2C. Através de suasfuncionalidades é possível obter informações como segundos, minutos, horas, dias, datas,meses e anos; também é possível configurá-lo para operar como relógio com formatos de12 ou 24 horas.

Para transmitir os dados do conjunto de medição para o sistema supervisório, asmensagens devem obedecer o padrão estabelecido pela Tabela 8 abaixo.

Tabela 7 – Comando de leitura do RTC.

CMD ID RTC1 byte 1 byte 11 bytes

Descrição de cada um dos campos:

• CMD: comando que identifica o RTC. Valor hexadecimal: 0x06.

• ID: número de identificação da porta, pode variar de 0 a 255, ou, em hexadecimalde 0x00 até 0xFF.

• Parâmetros do RTC: campo composto por 9 bytes, conforme Tabela ??.

3.6.2.4 Sensor de presença de fluxo de água

Tabela 8 – Comando de Presença de Fluxo.

CMD ID Fluxo1 byte 1 byte 1 bytes

Descrição de cada um dos campos:

Page 50: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 49

• CMD: comando que identifica o sensor de presença de fluxo. Valor hexadecimal:0x07.

• Tipo: define o tipo de comando para a porta digital. 0x00 - leitura do nível lógicoda porta

Para o sensor de presença de fluxo, este se comportará como uma porta digital, ouseja, vai assumir apenas dois níveis, ligado ou desligado, interpretados como presença ouausência de fluxo.

3.7 Sistema Completo

Nesta seção será detalhado o fluxograma do sistema completo, isto é, utilizando todosos fluxogramas anteriores para representar o loop principal dos códigos desenvolvidos paraos processadores. A Fig. 24 mostra o fluxograma completo do sistema.

Figura 24 – Fluxograma LOOP principal do sistema.

Fonte: Do autor.

Este fluxograma representa o loop principal do sistema, em cada processo ele chamaas funções descritas anteriormente.

Page 51: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 3. Desenvolvimento 50

A primeira parte do sistema é criar as variáveis e inicializar o módulo TCP/IP, e oRTC. É importante fazer este processo para ajustar o horário correto, e garantir que omódulo consiga uma conexão estável com o servidor.

Depois das inicializações das variáveis, começam os processos: primeiro faz a leiturado RTC, monta a mensagem de acordo com protocolo explicado na seção ?? e por fimenvia a mensagem e passa para o próximo sensor.

O próximo sensor é o sensor de fluxo, que faz a leitura da porta de entrada, verifica sehá presença de fluxo, realiza a montagem da mensagem e envia os dados. E segue para opróximo processo.

O processo posterior realiza a leitura do sensor de corrente, faz os cálculos para correnteRMS, monta a mensagem seguindo o protocolo, e envia para servidor.

O penúltimo processo faz a leitura do sensor de temperatura, formata a mensagem eenvia para servidor.

Antes de reiniciar o processo todos os dados de leitura do sensor é gravado no cartãoSD.

3.8 Conclusão

Neste capítulo foi demonstrada toda a parte de desenvolvimento do projeto, tratandoisoladamente cada parte do projeto, apresentado o fluxograma de cada bloco do projetoe os circuito para condicionamento dos sinais dos sensores analógico (sensor de correntee sensor de presença de fluxo). Foi feita também uma união de todos os blocos.

Page 52: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

51

4 Resultados

4.1 Módulo GPRS/GSM

Seguindo os códigos implementados de acordo com o fluxograma apresentado na Seção3.3, foi verificado que a antena do do módulo tinha muita interferência, isto fazia com queo mesmo não conseguia acessar a rede para fazer comunicação.

Depois de uma pesquisa aprofundada, foi escolhida uma antena da 3M que resolveu osproblema do ruído tornando o módulo mais estável. Nas Figs. 25 e 26 são apresentadasas duas antenas.

Figura 25 – Primeira antena testada.

Fonte: Do autor.

Figura 26 – Segunda antena testada.

Fonte: Do autor.

Outra fonte de interferência no módulo era o próprio chip de celular que algumas vezesficava sem rede.

Para este tipo de erro, não foi possível achar uma solução, no entanto, a ideia de terum cartão SD é justamente para que caso ocorra um erro, o dado possa ser armazenado.

Page 53: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 52

4.2 Sensor de Temperatura

Depois de realizar a programação com os microcontroladores, foi feita a leitura datemperatura do sensor com auxílio do software MATLAB para acompanhar a variação detemperatura do sensor em relação ao tempo, conforme a Fig. 29. O script utilizado paraa obtenção da figura está no apêndice D.

Figura 27 – Gráfico do sensor de temperatura.

0 5 10 15 20 25 30

tempo(s)

25.2

25.4

25.6

25.8

26

26.2

26.4

26.6

26.8

27

27.2

Tem

pera

tura

(ºC

)

Sensor de temperatura DS18B20

X: 5Y: 26.2

Fonte: Do autor.

Pelo gráfico notamos que a temperatura medida foi de 26, 20C.Foi feita a medida com um multímetro RMS, com leitor de temperatura, no equipa-

mento foi medida 26C, conforme visto na Fig. 28.

Figura 28 – Valor medido pelo multímetro.

Fonte: Do autor. Fonte: Do autor.

Page 54: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 53

4.3 Sensor de corrente

Para o teste de funcionamento do sensor de corrente foram utilizadas algumas cargasque variam de 0, 16 A até 10A. A tabela 9 mostra as correntes medidas por um multímetroRMS e a corrente medida pelo sensor de corrente.

Tabela 9 – Tabela relacionando a corrente medida pela sensor de corrente e pelo multí-metro

Carga Corrente Nominal Corrente medidapelo multímetro

Corrente medidapelo sensor

Lâmpada 0,472 0.32 0.367Ventilador 1,1 0.99 0.981Ferro depassar 7,87 7.43 7,521

Aspirador 8.40 8,21 8,174

Pela tabela é possível verificar que o sensor de corrente possui uma pequena varia-ção em relação ao multímetro, no entanto, para correntes maiores, este erro pode serdesprezado, tornando viável o uso do sensor de corrente SC-013.

Também foi possível verificar a medição da corrente do aspirador em tempo real emtempo real acompanhando pelo MATLAB. O script está no apêndice D.

Figura 29 – Gráfico do sensor de corrente obtido pelo MATLAB.

0 5 10 15 20 25 30

tempo(s)

8

8.1

8.2

8.3

8.4

8.5

8.6

8.7

8.8

Cor

rent

e(A

)

Sensor de Corrente SC013

Fonte: Do autor.

Essa tomada de dados foi feita a cada 1s, e a corrente variou um pouco de 9,45 (o picoao ligar o aspirador), depois ficou oscilando entre 8,38 e 8,40 A, o que na média representaa medida da tabela 9.

Page 55: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 54

4.4 Sensor de presença de fluxo

Depois de montado o circuito das Figs. 18, 19 e 20, foi feito o teste colocando a célulapiezoelétrica colado ao cano de uma torneira.

Para fazer a calibração do sensor, foi ajustado o potenciômetro R2 de tal forma que,ao ligar a torneira, o sinal offset ficasse maior do que a referência. Foi uma cansativatomada de dados e conseguiu chegar ao valor de 2,48 V no sinal de OFFSET para que osistema funcionasse corretamente.

É claro que se fosse tomado outro cano para medição, essa calibração deveria ser feitanovamente.

4.5 Teste do sistema

Foi montado o sistema completo (com todos sensores, cartão SD e servidor TCP/IP)para os três microcontroladores.

Foi testada a transmissão de dados, registrada nas Figs. 30,31,32,33,34, que mostramos resultados obtidos para cada sensor e também para o RTC. Essas Figs. foram obtidascom a placa de desenvolvimento Arduino atuando como principal, para os outros µC oresultado foi similar.

Figura 30 – Gráfico do sensor de temperatura no servidor TCP/IP.

Fonte: Do autor.

Page 56: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 55

Figura 31 – Gráfico do sensor de corrente no servidor TCP/IP.

Fonte: Do autor.

Figura 32 – Dados enviados pelo RTC.

Fonte: Do autor.

Figura 33 – Sistema supervisório para ausência de fluxo, nível LOW

Fonte: Do autor.

Page 57: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 56

Figura 34 – Sistema supervisório para presença de fluxo, HIGH

Fonte: Do autor.

4.6 Comparação entre os microcontroladores

Foram feitos os testes do mesmo sistema para os três microcontroladores, e cada umficou com o sistema em funcionamento durante 8 dias, para uma comparação justa entreos sistemas embarcados.

A tabela 10 mostra algumas informações coletadas.

Tabela 10 – Tabela do teste do sistema real com os diferentes microcontroladores.

Características Arduino Uno STM32F407VG PIC32MX330f064hQuantidade de erros 1 0 3

Quantidade dedias funcionando 8 8 8

Facilidadede programação Fácil Médio Díficil

Custo da placa dedesenvolvimento (R$) 44,50 1 198,00 2 39,00 3

Custo apenas doMicrocontrolador $1,92 $13,08 $4,22

Confiabilidade Alta Alta Alta

Com a tabela 10 podemos notar que apenas as placa de desenvolvimentos do Arduinoe do Pic apresentaram erros, que de certa forma atrapalharam o sistema. Ambos osmicrocontroladores travaram na rotina de gravar os dados no cartão de memória, istoporque, as bibliotecas de ambos os sistemas embarcados fornecidas pelo próprio fabricante

3https://www.filipeflop.com/produto/placa-uno-r3-cabo-usb-para-arduino/ (Acesso 22 Janeiro de2018.)

3https://www.usinainfo.com.br/compativeis/kit-de-desenvolvimento-stm32f4-discovery-com-arm-cortex-m4f-4671.html (Acesso 22 Janeiro de 2018.)

3Placa desenvolvida pela empresa HS Technology (Acesso 18 Outubro de 2017.

Page 58: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 57

são de funções bloqueantes, ou seja, quando alguma função do cartão retornava ERROR, osistema travava. Estes erros foram eram ocasionados pelo CHIP SELECT (CS), que tema função de habilitar o funcionamento do cartão de memória. Resolvido este problema osistema funcionou adequadamente.

Ainda em relação à tabela, verificamos que tanto o chip ATMEGA328-PU sozinhocomo a placa de desenvolvimento do Arduino são mais baratos que os demais,e sua faci-lidade de programação para conseguir implementar novas funções com novos dispositivosé uma grande vantagem. Se bem programado, atende perfeitamente a função que foidestinado a um baixo custo.

O microcontrolador da família ARM é extremamente difícil de se trabalhar, exige umalto grau de conhecimento de programação e entendimento de todos os seus periféricos.No entanto, uma vez o código rodando, dificilmente ocorrerão erros que façam com que osistema pare de funcionar. A desvantagem é o custo, o investimento em microcontroladorARM é muito caro, no entanto, o ARM utilizado neste TCC é muito "poderoso", pode-se investir em ARM mais simples com as mesma características do Arduino para umacomparação de preço mais justa.

A fim de fazer um protótipo final foi escolhido o microcontrolador ATMEGA328-PU,mesmo que para isso teremos que usar um RTC externo, no caso DS1307, para montar aplaca final, na seção (4.7) mostrará o desenvolvimento desta placa.

4.7 Desenvolvimento da placa

Como discutido na seção anterior, o microcontrolador utilizado para o prototipo finalé o ATMEGA328-PU.

Foi utilizado o software Altium para desenvolvimento do esquemático e layout da placa,mostrados, respectivamente, nas Figs. 35 e 36.

Page 59: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 58

Figura 35 – Esquemático do protótipo final.

11

22

33

44

DD

CC

BB

AA

Tit

le

Num

ber

Rev

isio

nS

ize

A4

Dat

e:05

/10/

2017

She

et

of

Fil

e:C

:\U

sers

\..\S

heet

1.Sc

hDoc

Dra

wn

By:

DQ

2

GN

D1

VC

C3

U2

DS

1820

PC

6 (P

CIN

T14

/RE

SET

)1

PD

0 (P

CIN

T16

/RX

D)

2

PD

1 (P

CIN

T17

/TX

D)

3

PD

2 (P

CIN

T18

/IN

T0)

4

PD

3 (P

CIN

T19

/OC

2B/I

NT

1)5

PD

4 (P

CIN

T20

/XC

K/T

0)6

VC

C7

GN

D8

PB

6 (P

CIN

T6/

XTA

L1/

TO

SC1)

9

PB

7 (P

CIN

T7/

XTA

L2/

TO

SC2)

10

PD

5 (P

CIN

T21

/OC

0B/T

1)11

PD

6 (P

CIN

T22

/OC

0A/A

IN0)

12

PD

7 (P

CIN

T23

/AIN

1)13

PB

0 (P

CIN

T0/

CL

KO

/IC

P1)

14

PB

1 (O

C1A

/PC

INT

1)15

PB

2 (S

S/O

C1B

/PC

INT

2)16

PB

3 (M

OSI

/OC

2A/P

CIN

T3)

17

PB

4 (M

ISO

/PC

INT

4)18

PB

5 (S

CK

/PC

INT

5)19

AV

CC

20

AR

EF

21

GN

D22

PC

0 (A

DC

0/PC

INT

8)23

PC

1 (A

DC

1/PC

INT

9)24

PC

2 (A

DC

2/PC

INT

10)

25

PC

3 (A

DC

3/PC

INT

11)

26

PC

4 (A

DC

4/SD

A/P

CIN

T12

)27

PC

5 (A

DC

5/SC

L/P

CIN

T13

)28

U3

AT

meg

a328

P-PU

X1

1

X2

2

VB

AT

3

GN

D4

SD

A5

SC

L6

SQ

W/O

UT

7

VC

C8

U1

DS

1307

Z

10K

R1

10K

R2

SD

AS

CL

22pF

C4

Cap

22pF

C7

Cap

12

Y2

XTA

LG

ND

GN

D

XTA

L1

XTA

L2

XTA

L1

XTA

L2

22pF

C2

Cap

22pF

C3

Cap

12

Y1

XTA

LG

ND

GN

D

X1

X2

X1

X2

GN

D

VC

CV

CC

4k7

R3

GN

DG

ND

DS

18b2

0

DS

18b2

0

VC

C

GN

DG

ND

IN1

2

OU

T3

GN

D

U4

µA

78M

05C

KC

GN

DG

ND

VC

C

9V

GN

D

1 2

P4

MH

DR

1X2

GN

D

VC

C

10K

R6

Res

2

10k

R7

Res

2

VC

C

GN

D

33R5

Res

2

10u

C1

Cap

Pol

1

GN

D

SE

NS

OR

_Cor

rent

e

SE

NS

OR

_Cor

rent

e

S1

SW

-DPS

T

1 2

P1

Hea

der

2 1 2

P2

Hea

der

2

1 2

P3

Hea

der

2

GN

D

GN

D

VA

ZA

O

CO

RR

EN

TE

_AN

AL

OG

CO

RR

EN

TE

_AN

AL

OG

VA

ZA

O

10K

R4

GN

D

VC

C

RS

T

RS

T

VC

C

GN

DTX

_GS

MR

X_G

SM

TX

_GS

MR

X_G

SM

1 2 3 4 5

P5

Hea

der

5H

RS

T_G

SM

RS

T_G

SM

1 2 3 4 5

6 7 8 9 10

P6

GR

AV

AD

OR

AV

R

GN

D

VC

C

MO

SI

MIS

OS

CK

MIS

O

RS

TS

CK

MO

SI

10u

C5

Cap

Pol

110

uF

C6

Cap

Pol

1

VC

C

SC

LS

DA

VC

C

Fonte: Do autor.

Page 60: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 59

Para minimizar o problema de ruído eletromagnético é feita a malha de terra nas duasfaces da placa.

Figura 36 – Layout da placa com malha de terra.

Fonte: Do autor.

Um detalhe importante é o conector J6. Esse conector foi colocado para gravar o mi-crocontrolador através do gravador AVR, mostrado na Fig. 37. Um detalhe importante éque este gravador utiliza o protocolo SPI para gravar o mesmo utilizado para comunicaçãocom Cartão de memória, logo quando for passar o programa é necessário desconectar ocartão de memória.

Figura 37 – Gravador AVR.

Fonte: Do autor.

O protótipo da placa em 3D é mostrado na Fig.38.

Page 61: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 60

Figura 38 – Visualização 3D do protótipo final.

Fonte: Do autor.

Com o software foi gerado os arquivos GEBER e NCDRILL. Esses arquivos foramenviados para o fabricante para a confecção das placas, mas não ficaram prontas emtempo hábil, impossibilitando a realização de novos testes.

4.8 Preço do prototipo final

Será apresentado a tabela 11 de gasto do protótipo final 4.

Tabela 11 – Tabela de preço do protótipo final

Componente Quantidade Valor (R$)ATmega328P-PU 1 15,9Capacitor 100nF 3 0,3Capacitor 10uF 4 0,15

DS18b20 1 22,9Ds1307 1 4,25

Gravador AVR 1 35,9Socket 14 pinos 1 1Barra de pinos 4 1,5Resistor 10k 2 0,05resistor 4k7 1 0,05Push Buttom 1 1,2Cristal 8Mhz 1 1,05

Soquete cartão de memória 1 7,8Módulo GSM/GPRS SIM 800l 1 44,45

PCI 1 52,18

O gasto final para o protótipo, com os componentes e a PCI, foi de R$136, 50.

4A compra dos componente foi feita no site https://www.soldafria.com.br/ Acesso 12 de Dezembrode 2017.)

Page 62: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Capítulo 4. Resultados 61

4.9 Conclusão do capítulo

Os principais erros apresentados pelos módulos estavam sendo gerados pela má qua-lidade da antena que veio junto do módulo. Essa antena era muito suscetível a ruído,fazendo com que o módulo perdesse a conexão facilmente.

O sensor de temperatura funcionou de acordo com esperado, foi possível medir tem-peratura na faixa de 2C até 85C.

O sensor de corrente também obteve resultados satisfatório. Infelizmente não foi pos-sível medir uma corrente mais real à de um chuveiro, mas pelas cargas testadas, notamosque o sensor funcionará adequadamente.

O sensor de fluxo apresentou bom resultado quando testado. É claro que o processopara calibração é um pouco demorado e é necessário um potenciômetro de precisão paraajustar a tensão adequadamente.

Por fim, os testes foram realizados com os 3 microcontroladores e escolhido o ATMEGA328-pu para fazer o protótipo final.

Page 63: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

62

5 Conclusões

Depois de realizados todos os testes foi possível validar o processo, desde a escolha dossensores, do microcontrolador, o módulo GPRS e o servidor TCP/IP. Com essa validaçãopode-se dizer que o objetivo principal do trabalho foi alcançado, pois foi desenvolvido umsistema barato para auxiliar na análise de eficiência energética de painéis solares paraaquecimento de água.

Depois dos testes realizados com os microcontroladores, no qual todos funcionaramadequadamente ao projeto, foi escolhido o ATMEGA328-PU devido ao seu custo reduzidoe bom desempenho para o sistema proposto.

Os principais problemas apresentados por este sistema têm relação com a antena domódulo GPRS, a primeira figura 25 tinha muito problema com ruído e muitos testes foramimpossibilitados devido a este fato. A segunda antena apresentou um rendimento muitosuperior, responsável por boa parte dos resultados positivos deste trabalho.

O sensor de presença de fluxo foi uma ótima solução para o projeto por conseguirdeterminar se o chuveiro está ligado ou não de forma não invasiva.

O sensor de corrente, também não invasivo, mostrou ser uma ótima solução para osistema e apresentou uma boa precisão na medida quando comparado com um alicateamperímetro.

5.1 Trabalhos Futuros

Para os trabalhos futuros vale a pena destacar:

• Devido à não confecção da placa decorrente do atraso do prazo de entrega, a mon-tagem do protótipo final será um trabalho futuro.

• Executar os teste em um sistema realin loco, isto é instalar este sistema em umaresidência para que desta maneira o sistema seja validado por completo.

• Otimizar o código de programação a fim de reduzir a memória utilizada para arma-zenar o código, e minimizar os pequenos erros que acontecem.

• Melhorar o sensor de presença de fluxo, que além detectar presença de fluxo, consigadeterminar a vazão através da célula piezoelétrica.

Page 64: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

63

Referências

ANEEL. AGÊNCIA NACIONAL DE ENERGIA ELÉTRICA - ANEEL. Procedimentosdo Programa de Eficiência Energética. 2015. <http://www.aneel.gov.br/area.cfm?idArea=27>. [Online; acesso 06/12/2017]. 18

ARM. Datasheet Discovery STM32F407VG. 2000. <http://www.st.com/content/ccc/resource/technical/document/user_manual/70/fe/4a/3f/e7/e1/4f/7d/DM00039084.pdf/files/DM00039084.pdf/jcr:content/translations/en.DM00039084.pdf>. [Online; acesso06/11/2017]. 28

ATMEL. Datasheet Arduino UNo. 2014. <http://www.wecl.com.hk/distribution/catalogs/058-31-0328.pdf>. 11, 27, 28

BONIFáCIO, P. H. B. Desenvolvimento de Sistema Supervisóriopara Aquisição deDados de SensoresEmbarcados Através do Protocolo TCP/IP. Dissertação (Mestrado) —Universidade Estadual de Londrina, 2018. 45

DALLAS. DS18B20 data sheet. 2007. 38, 39

DOGAN, I. Sd card projects using the pic microcontroller. 2010.

GIGLIO, T. G. F. Influência do usuário na economia de energia obtida por meio do usode sistema de aquecimento solar de água em habitações de interesse social. Dissertação(Mestrado) — Universidade federal de Santa Catarina, 2015. 17

MICROCHIP. SPI: Overview and Use of the PICmicro Serial Peripheral Interface. 2014.[Online; acesso 06/12/2017]. 25

MORO, B. Automação de sistema de irrigação de pastagem. FAG, 2015. 27

NASCIMENTO, F. D. S. d. Os últimos serão dos primeiros: uma análise sociológica douso do celular. Tese (Doutorado) — http://www. teses. ufc. br/, 2004. 23

NETO, A. J. S. et al. Avaliação da transmissão de dados de temperatura no sistema1-wire. 2005. 39

NORBURY, P. Understanding the difference between consumer and industrial sdmemory cards. 2016. 25

PIROTTI, R. P.; ZUCCOLOTTO, M. Transmissão de dados através de telefonia celular:arquitetura das redes gsm e gprs. Revista Liberato, v. 10, n. 13, 2009. 24

SIM800L. Datasheet modulo SIM800l. 2000. <http://wiki.seeedstudio.com/images/4/46/SIM800L_Hardware_Design_V1.00.pdf>. [Online; acesso 01/07/2017]. 30, 31

SOARES, M. Microcontroladores embedded. mecatônica fácil. 2003. 21

SVERZUT, J. U. Redes gsm, gprs, edge e umts: evolução a caminho da terceira geração(3g). Editora: Érica. ISBN, p. 85–3650, 2005. 24

Page 65: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Referências 64

TATEOKI, G. T. et al. Monitoramento de dados via internet baseado em telefoniacelular. Universidade Estadual Paulista (UNESP), 2007. 24

TUDE, E. Amps/tdma (is-136). Tutorial em telefonia celular, São José dos Campos,Teleco, abr, 2003. 11, 22

ZILLER, R. M. Microprocessadores: Conceitos importantes. 2000. 21

Page 66: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice

Page 67: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

66

A Códigos Arduino

A.1 Código do modulo GSM e GPRS

1 void configura_TCP ( )2 3 S e r i a l . p r i n t ( "AT\ r \n " ) ;4 delay (100) ;5 S e r i a l . p r i n t ( "AT+CGATT=1\r \n " ) ;6 delay (1000) ;7

8 S e r i a l . p r i n t ( "AT+CIPMUX=0\r \n " ) ;9 delay (100) ;

10 S e r i a l . p r i n t ( "AT+CSTT=\"www\ " , \ " \ " , \ " \ " \ r \n " ) ;11 delay (100) ;12 S e r i a l . p r i n t ( "AT+CIICR\ r \n " ) ;13 delay (1000) ;14 S e r i a l . p r i n t ( "AT+CIFSR\ r \n " ) ;15 delay (1000) ;16 S e r i a l . p r i n t ( "AT+CIPSTART=\"TCP\" , \ " 1 87 . 1 8 . 8 2 . 2 55\ " , \ " 5 001\ " \ r \n " ) ;17 delay (2000) ;18

Page 68: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice A. Códigos Arduino 67

A.2 Código Sensor de temperatura

1

2 void ler_DS18b20 ( )3 4 byte addr [ 8 ] ;5 i f ( ! ds . s earch ( addr ) )6 7 //no more s en so r s on chain , r e s e t search8 ds . r e se t_search ( ) ;9 re turn −1000;

10 11 i f ( OneWire : : c rc8 ( addr , 7) != addr [ 7 ] ) 12 // S e r i a l . p r i n t l n ( "CRC i s not va l i d ! " ) ;13 re turn −1000;14 15 i f ( addr [ 0 ] != 0x10 && addr [ 0 ] != 0x28 ) 16 // S e r i a l . p r i n t ( " Device i s not r ecogn i z ed " ) ;17 re turn −1000;18 19 ds . r e s e t ( ) ;20 ds . s e l e c t ( addr ) ;21 ds . wr i t e (0 x44 , 1) ;22 byte pre sent = ds . r e s e t ( ) ;23 ds . s e l e c t ( addr ) ;24 ds . wr i t e (0xBE) ;25

26 f o r ( i n t i = 0 ; i < 9 ; i++) 27 Ds18b20 [ i ] = ds . read ( ) ;28 29 ds . r e se t_search ( ) ;30

31 vetor_dados [ 0 ] = 0x02 ;32 vetor_dados [ 1 ] = 0x01 ;33 vetor_dados [ 2 ] = Ds18b20 [ 1 ] ;34 vetor_dados [ 3 ] = Ds18b20 [ 0 ] ;35 cnt_vetor_dados = 4 ;36 Monta_Mensagem( vetor_dados , cnt_vetor_dados ) ;37

Page 69: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice A. Códigos Arduino 68

A.3 Código do Sensor de Corrente

1 void l e i t u r a_co r r en t e ( )2 3 i n t RawValue = 0 ;4 i n t cont = 0 ;5 i n t var = 0 ;6 whi le ( cont < 1000)7 8 RawValue = analogRead (A1) − 512 ;9 RawValue = sq r t (pow(RawValue , 2) ) ;

10 i f (RawValue > var )11 12 var = RawValue ;13 14 cont++;15 16 i f ( var <= 3)17 var = 0 ;18 Ampere [ 0 ] = var << 8 ;19 Ampere [ 1 ] = var ;20 var = 0 ;21 cont = 0 ;22 RawValue = 0 ;23

24 vetor_dados [ 0 ] = 0x03 ;25 vetor_dados [ 1 ] = 0x01 ;26 vetor_dados [ 2 ] = 0 ;27 vetor_dados [ 3 ] = 0 ;28 cnt_vetor_dados = 4 ;29 Monta_Mensagem( vetor_dados , cnt_vetor_dados ) ;30

Page 70: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice A. Códigos Arduino 69

A.4 Código para o Cartão SD

1 void escreve_SD ( )2 3 F i l e da taF i l e = SD. open ( " arquivo . csv " , FILE_WRITE) ;4 switch ( e s c r ev e )5 6 case 0 :7

8 i f ( da taF i l e )9

10 dataF i l e . p r i n t ( " temperatura (C) , c o r r en t e (A) , vazao (m/ s ) " ) ;11 dataF i l e . p r i n t ( " \ n " ) ;12 dataF i l e . c l o s e ( ) ;13 d i g i t a lWr i t e (10 , HIGH) ;14 e s c r ev e = 1 ;15 16 break ;17 case 1 :18 // s p r i n t f ( texto ,"%u,%u,%u " , Temperatura_DS18 , Corrente_num , vazao ) ;19 //SD. open ( " arquivo1 . csv " , FILE_WRITE) ;20 i f ( da taF i l e )21 22 dataF i l e . p r i n t (Temperatura_DS18 ) ;23 dataF i l e . p r i n t ( " , " ) ;24 dataF i l e . p r i n t (Corrente_num) ;25 dataF i l e . p r i n t ( " , " ) ;26 dataF i l e . p r i n t ( vazao ) ;27 dataF i l e . c l o s e ( ) ;28 d i g i t a lWr i t e (10 , LOW) ;29 e s c r ev e = 2 ;30 31 break ;32 de f au l t :33 break ;34 35

A.5 Código para montagem da mensagem para o Ser-vidor TCP/IP

1 void Monta_Mensagem( unsigned char ∗ vetor , uint8_t tamanho )2 3 i n t k = 0 ;4 uint16_t CRC = 0 ;5 cnt_vetor_enviar = 8 + tamanho ;

Page 71: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice A. Códigos Arduino 70

6 vetor_enviar [ 0 ] = SOF;7 vetor_enviar [ 1 ] = SND;8 vetor_enviar [ 2 ] = RCP;9 vetor_enviar [ 3 ] = tamanho − 2 ;

10 vetor_enviar [ 4 ] = vetor [ 0 ] ;11 f o r ( k = 1 ; k < tamanho ; k++)12 13 vetor_enviar [ 4 + k ] = vetor [ k ] ;14 15 // c a l c u l a r CRC16 vetor_enviar [ cnt_vetor_enviar − 3 ] = 0 ;17 vetor_enviar [ cnt_vetor_enviar − 2 ] = 0 ;18 vetor_enviar [ cnt_vetor_enviar − 1 ] = END;19

20 flag_mensagem_pendente = 1 ;21

A.6 Enviar mensagem para o Servidor TCP/IP

1 void envia_msg ( )2 3 i f ( flag_mensagem_pendente == 1)4 5 S e r i a l . p r i n t ( "AT+CIPSEND\ r \n " ) ;6 delay (100) ;7 S e r i a l . wr i t e ( vetor_enviar [ 0 ] ) ;8 f o r ( uint8_t i = 1 ; i < ( cnt_vetor_enviar − 2) ; i++)9

10 i f ( ( vetor_enviar [ i ] == SOF) | | ( vetor_enviar [ i ] == ESCAPE) | | (vetor_enviar [ i ] == END) )

11 12 S e r i a l . wr i t e (0 x10 ) ;13 S e r i a l . wr i t e ( vetor_enviar [ i ] + 0x20 ) ;14 15 e l s e16 17 S e r i a l . wr i t e ( vetor_enviar [ i ] ) ;18 19 20 S e r i a l . wr i t e ( vetor_enviar [ cnt_vetor_enviar − 1 ] ) ;21 S e r i a l . wr i t e (0x1A) ;22 delay (500) ;23 flag_mensagem_pendente = 0 ;24 // vetor_dados [ 3 0 ] =0;25 26

Page 72: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

71

B Códigos ARM

B.1 Código GSM/GPRS

B.2 Sensor de temperatura DS18b20

1 void DS18b20 ( ) 2 f l o a t temp ;3 /∗ I n i t system c lock f o r maximum system speed ∗/4 TM_RCC_InitSystem( ) ;5 /∗ I n i t HAL lay e r ∗/6 HAL_Init ( ) ;7 /∗ I n i t ONEWIRE port on PB4 pin ∗/8 TM_OneWire_Init(&OW, GPIOB, GPIO_PIN_4)9 i f (TM_OneWire_First(&OW) )

10 /∗ Read ROM number ∗/11 TM_OneWire_GetFullROM(&OW, DS_ROM) ;12 /∗ Star t temp conver s i on ∗/13 i f (TM_DS18B20_Is(DS_ROM) ) 14 /∗ Set r e s o l u t i o n ∗/15 TM_DS18B20_SetResolution(&OW, DS_ROM, TM_DS18B20_Resolution_12bits )

;16

17 /∗ Set high and low alarms ∗/18 TM_DS18B20_SetAlarmHighTemperature(&OW, DS_ROM, 30) ;19 TM_DS18B20_SetAlarmLowTemperature(&OW, DS_ROM, 10) ;20

21 /∗ Star t conver s i on on a l l s en s o r s ∗/22 TM_DS18B20_StartAll(&OW) ;23 24 /∗ Check i f connected dev i c e i s DS18B20 ∗/25 i f (TM_DS18B20_Is(DS_ROM) ) 26 /∗ Everything i s done ∗/27 i f (TM_DS18B20_AllDone(&OW) ) 28 /∗ Read temperature from dev i ce ∗/29 i f (TM_DS18B20_Read(&OW, DS_ROM, &temp) ) 30 /∗ Temp read OK, CRC i s OK ∗/31

32 /∗ Star t again on a l l s en so r s ∗/33 TM_DS18B20_StartAll(&OW) ;34

35 /∗ Check temperature ∗/36 i f ( temp > 30)

Page 73: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice B. Códigos ARM 72

37 TM_DISCO_LedOn(LED_RED) ;38 e l s e 39 TM_DISCO_LedOff(LED_RED) ;40 41 e l s e 42 /∗ CRC f a i l e d , hardware problems on data l i n e ∗/43 44 45 46

B.3 Sensor de corrente

1 void Corrente ( ) 2 char s t r [ 1 5 ] ;3

4 /∗ I n i t i a l i z e system ∗/5 SystemInit ( ) ;6

7 /∗ I n i t i a l i z e Delay l i b r a r y ∗/8 TM_DELAY_Init( ) ;9

10 /∗ I n i t i a l i z e USART1, 115200baud , TX: PB6 ∗/11 TM_USART_Init(USART1, TM_USART_PinsPack_2, 115200) ;12

13 /∗ I n i t i a l i z e ADC1 on channel 0 , t h i s i s pin PA0 ∗/14 TM_ADC_Init(ADC1, ADC_Channel_0) ;15

16 /∗ I n i t i a l i z e ADC1 on channel 3 , t h i s i s pin PA3 ∗/17 TM_ADC_Init(ADC1, ADC_Channel_3) ;18

19 whi le (1 ) 20 /∗ Read ADC1 Channel0

Read ADC1 Channel3 ∗/21 TM_ADC_Read(ADC1, ADC_Channel_0) , TM_ADC_Read(ADC1, ADC_Channel_3) ) ;22 whi le ( cont < 1000)23 24 RawValue = analogRead (A1) − 512 ;25 RawValue = sq r t (pow(RawValue , 2) ) ;26 i f (RawValue > var )27 28 var = RawValue ;29 30 cont++;31 32 i f ( var <= 3)33 var = 0 ;

Page 74: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice B. Códigos ARM 73

34 Ampere [ 0 ] = var << 8 ;35 Ampere [ 1 ] = var ;36 var = 0 ;37 cont = 0 ;38 RawValue = 0 ;39

40 vetor_dados [ 0 ] = 0x03 ;41 vetor_dados [ 1 ] = 0x01 ;42 vetor_dados [ 2 ] = 0 ;43 vetor_dados [ 3 ] = 0 ;44 cnt_vetor_dados = 4 ;45 Monta_Mensagem( vetor_dados , cnt_vetor_dados ) ;46 /∗ L i t t l e de lay ∗/47 Delayms (100) ;48 49

B.4 RTC

1 #inc lude " d e f i n e s . h "2 #inc lude " stm32f4xx . h "3 #inc lude " tm_stm32f4_rtc . h "4 #inc lude " tm_stm32f4_usart . h "5 #inc lude " tm_stm32f4_disco . h "6 #inc lude " tm_stm32f4_delay . h "7

8 #inc lude <s td i o . h>9

10 char buf [ 5 0 ] , buf2 [ 5 0 ] ;11 TM_RTC_Time_t datatime ;12

13 i n t main ( void ) 14 // I n i t i a l i z e system15 SystemInit ( ) ;16 // I n i t i a l i z e de lay17 TM_DELAY_Init( ) ;18 // I n i t i a i z e button19 TM_DISCO_ButtonInit ( ) ;20 // I n i t i a l i z e Leds21 TM_DISCO_LedInit ( ) ;22 // I n i t i a l i z e USART, TX: PB10 , RX: PB1123 TM_USART_Init(USART3, TM_USART_PinsPack_1, 115200) ;24

25 // I n i t i a l i z e RTC with i n t e r n a l 32768Hz c l o ck26 // It ’ s not very accurate27 i f ( !TM_RTC_Init(TM_RTC_ClockSource_Internal ) ) 28 //RTC was f i r s t time i n i t i a l i z e d

Page 75: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice B. Códigos ARM 74

29 //Do your s t u f here30 // eg . s e t d e f au l t time31 32

33 // Set wakeup i n t e r r up t every 1 second34 TM_RTC_Interrupts (TM_RTC_Int_1s) ;35

36 whi le (1 ) 37 // I f button pre s sed38 i f (TM_DISCO_ButtonPressed ( ) ) 39 datatime . hours = 0 ;40 datatime . minutes = 59 ;41 datatime . seconds = 55 ;42 datatime . year = 14 ;43 datatime . month = 6 ;44 datatime . date = 30 ;45 datatime . day = 6 ;46 // Set new time47 TM_RTC_SetDateTime(&datatime , TM_RTC_Format_BIN) ;48 49 50 51 //Custom reques t handler func t i on52 // Cal led on wakeup i n t e r r up t53 void TM_RTC_RequestHandler ( ) 54 //Get time55 TM_RTC_GetDateTime(&datatime , TM_RTC_Format_BIN) ;56

57 //Format time58 s p r i n t f ( buf , "%02d.%02d.%04d %02d:%02d:%02d Unix : %u\n " ,59 datatime . date ,60 datatime . month ,61 datatime . year + 2000 ,62 datatime . hours ,63 datatime . minutes ,64 datatime . seconds ,65 datatime . unix66 ) ;67

B.5 Cartão SD

1 #inc lude " d e f i n e s . h "2 #inc lude " stm32f4xx . h "3 #inc lude " tm_stm32f4_delay . h "4 #inc lude " tm_stm32f4_disco . h "5 #inc lude " tm_stm32f4_fatfs . h "

Page 76: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice B. Códigos ARM 75

6 #inc lude <s td i o . h>7 #inc lude <s t r i n g . h>8

9 void SD_card ( ) 10 // Fat f s ob j e c t11 FATFS FatFs ;12 // F i l e ob j e c t13 FIL f i l ;14 //Free and t o t a l space15 uint32_t to ta l , f r e e ;16

17 // I n i t i a l i z e system18 SystemInit ( ) ;19 // I n i t i a l i z e de lays20 TM_DELAY_Init( ) ;21 // I n i t i a l i z e LEDs22 TM_DISCO_LedInit ( ) ;23

24 //Mount dr ive25 i f ( f_mount(&FatFs , " " , 1) == FR_OK) 26 //Mounted OK, turn on RED LED27 TM_DISCO_LedOn(LED_RED) ;28

29 //Try to open f i l e30 i f ( f_open(& f i l , "1 s t f i l e . txt " , FA_OPEN_ALWAYS | FA_READ | FA_WRITE) ==

FR_OK) 31 // F i l e opened , turn o f f RED and turn on GREEN led32 // I f we put more than 0 cha ra c t e r s ( everyth ing OK)33 i f ( f_puts ( " F i r s t s t r i n g in my f i l e \n " , & f i l ) > 0) 34 i f (TM_FATFS_DriveSize(&to ta l , &f r e e ) == FR_OK) 35 //Data f o r d r i v e s i z e are va l i d36 37

38 //Turn on both l ed s39 TM_DISCO_LedOn(LED_GREEN | LED_RED) ;40 41

42 //Close f i l e , don ’ t f o r g e t t h i s !43 f_c l o s e (& f i l ) ;44 45

46 //Unmount dr ive , don ’ t f o r g e t t h i s !47 f_mount (0 , " " , 1) ;48 49

Page 77: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

76

C Códigos PIC

C.1 Sensor DS18b20

1 void DS18b20 ( )2 3

4 //−−− Perform temperature read ing5 Ow_Reset(&PORTE, 0) ; // Onewire r e s e t s i g n a l6

7 whi le ( Ow_Reset(&PORTE, 0)== 0) ;8

9 Ow_Write(&PORTE, 0 , 0xCC) ; // I s su e command SKIP_ROM10 Ow_Write(&PORTE, 0 , 0x44 ) ; // I s su e command CONVERT_T11 Delay_ms (1000) ;12

13 Ow_Reset(&PORTE, 0) ;14 Ow_Write(&PORTE, 0 , 0xCC) ; // I s su e command SKIP_ROM15 Ow_Write(&PORTE, 0 , 0xBE) ; // I s su e command

READ_SCRATCHPAD16

17 temp = Ow_Read(&PORTE, 0) ;18 temp = (Ow_Read(&PORTE, 0) << 8) + temp ;19

20 Delay_ms (1000) ;21

22

C.2 Sensor de corrente

1 void co r r en t e ( )2

3 4 // TODO: USER CODE! !5

6 setup_adc_ports (AN0_AN1_VSS_VREF) ;7

8 setup_adc (ADC_CLOCK_INTERNAL) ;9 set_adc_channel (0 ) ;

10 done = adc_done ( ) ;11 whi le ( cont < 1000)12 13 RawValue = read_adc ( ) − 512 ;14 RawValue = sq r t (pow(RawValue , 2) ) ;

Page 78: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice C. Códigos PIC 77

15 i f (RawValue > var )16 17 var = RawValue ;18 19 cont++;20 21 i f ( var <= 3)22 var = 0 ;23 Ampere [ 0 ] = var << 8 ;24 Ampere [ 1 ] = var ;25 var = 0 ;26 cont = 0 ;27 RawValue = 0 ;28

29 vetor_dados [ 0 ] = 0x03 ;30 vetor_dados [ 1 ] = 0x01 ;31 vetor_dados [ 2 ] = 0 ;32 vetor_dados [ 3 ] = 0 ;33 cnt_vetor_dados = 4 ;34 Monta_Mensagem( vetor_dados , cnt_vetor_dados ) ;35

C.3 Real Time Clock

1 typede f s t r u c t2 3 char sec ;4 char min ;5 char hrs ;6 RTC;7 RTC time ;8 void RTC_Interrupt ( )9

10 i f (TMR1IF_Bit) //Se ocorreu a i n t e r r up t11 12 TMR1IF_Bit = 0 ; //Limpa a f l a g de i n t e r r up t13 TMR1H = 0x80 ;14 TMR1L = 0 ;15 time . s ec++;16 i f ( time . s ec == 60 )17 18 time . s ec = 0 ;19 time . min++;20 i f ( time . min == 60)21 22 time . s ec = 0 ;23 time . min = 0 ;

Page 79: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice C. Códigos PIC 78

24 time . hrs++;25 26 27 28 29 void RTC_Init ( )30 31 T1CON = 0b00001111 ; // Pr e s c a l e r 1 : 1 , Osc i l ador l i gado , Clock Externo32 TMR1H = 0x80 ;33 TMR1L = 0 ; //Carrega va l o r de (TMR1H:TMR1L) com 3276834 time . s ec = 0 ;35 time . min = 0 ;36 time . hrs = 0 ;37 TMR1IE_Bit = 1 ; // h a b i l i t a i n t e r r up t do t imer138 PEIE_Bit = 1 ; // h a b i l i t a i n t e r r up t dos p e r i f e r i c o s39 GIE_Bit = 1 ; // Hab i l i t a i n t e r r up t g l oba l40 41 //Esta funcao v e r i f i c a o tempo do RTC com um42 // determinado tempo e executa a funcao do parametro43 char RTC_Check_Time( char _seg , char _min , char hr , void (∗ func ) ( ) )44 45 i f ( time . s ec == _seg && time . min == _min && time . hrs == hr )46 47 func ( ) ; //Executa a funcao do parametro48 re turn 1 ;49 50 re turn 0 ;51

Page 80: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

79

D Código Matlab

D.1 Código do MATLAB para leitura dos sensoresde corrente e temperatura

1

2 % @brie f s en so r read ing3 % @deta i l s4 % @author : FILIPE5 % @version : 06 % @date : 11/20167

8 f unc t i on [ ] = SENSOR_READ()9 % c l e a r a l l ;

10 c l o s e a l l ;11 de l e t e ( i n s t r f i n d ) ;12

13 %% va r i a b l e s14 pontos = 50 ;15

16 mm = 0 ; % counter17

18 % memory a l l o c a t i o n19 buff_x = ze ro s (1 , pontos ) ;20 buff_y = ze ro s (1 , pontos ) ;21 buff_z = ze ro s (1 , pontos ) ;22 tempo = ze ro s (1 , pontos ) ;23

24 %% plo t25 t i c26

27

28 f i g u r e (1 )29 i x1 = subplot ( 1 , 1 , 1 )30 t i t l e ( ’ Sensor de Corrente SC−013 ’)31 y l ab e l ( ’ Corrente (A) ’ )32 hold on33

34 f i g u r e (2 )35 temp1 = subplot ( 1 , 1 , 1 )36 t i t l e ( ’ Sensor de Temperatura DS18b20 ’ )37 y l ab e l ( ’ Temperatura (C) ’ )38 ylim ( [ 1 0 40 ] )

Page 81: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice D. Código Matlab 80

39 hold on40

41 x l ab e l ( ’ time ( s ) ’ )42

43 %% s e r i a l c on f i gu r a t i on44 s = s e r i a l ( ’COM3’ ) ; %a s s i g n s the ob j e c t s to s e r i a l port45 s e t ( s , ’BaudRate ’ , 9600) ;46 s e t ( s , ’ InputBuf f e rS i ze ’ , 512) ; %number o f bytes in input bu f f e r47 s e t ( s , ’ FlowControl ’ , ’ none ’ ) ;48 s e t ( s , ’ Parity ’ , ’ none ’ ) ;49 s e t ( s , ’ DataBits ’ , 8) ;50 s e t ( s , ’ StopBit ’ , 1) ;51 % se t ( s , ’ Timeout ’ , 0 . 2 ) ;52

53 f l u sh i npu t ( s ) ; % remove data from input bu f f e r54 fopen ( s ) ;55

56 %% loop57 whi le (mm <pontos )58 i f ( get ( s , ’ BytesAvai lab le ’ )==0)59 di sp ( ’ Data not a v a i l a b l e yet . Try again or check t ran smi t t e r . ’ )60 pause ( 0 . 1 )61 e l s e62 a = f r ead ( s , 4 , ’ uchar ’ )63

64 i g = SC013_conversion ( a ( 1 : 2 ) ) ;65

66 tg1 = DS18b20_conversion ( a ( 3 : 4 ) ) ;67

68 s c a t t e r ( ix1 , toc , i g )69 drawnow70

71 s c a t t e r ( temp1 , toc , tg1 )72 drawnow73

74 mm = mm + 1 ;75 t (mm) = toc ;76 end77 end78

79 hold o f f80 f c l o s e ( s ) ;81

82

83 %% saving v a r i a b l e s with timestamp84 % s=s t r c a t ( da t e s t r ( c lock , ’ yyyy−mm−dd−HHMM’ ) , ’m’ , da t e s t r ( c lock , ’ ss ’ ) , ’ s ’ )85 % save ( s p r i n t f ( ’ a l t i tude_%s ’ , s ) , ’ temperatura ’ , ’ bu f f_a l t i tude ’ , ’

Page 82: PropostadeumSistemadeMonitoramento emTempoReal ... · ATMEL e PIC). Para uma comparação justa de desempenho, o sistema completo foi ... SPI SerialPeripheralInterface PRMT Parametro

Apêndice D. Código Matlab 81

buf f_pressure ’ , ’ tempo ’ , ’ vetor_media ’ , ’ i n t e rva l o ’ , ’ buff_temperatura ’ )86

87 end88

89 f unc t i on [ xg ] = SC013_conversion ( a )90 %conversao de dados Sensor de co r r en t e91 xg = double ( a (1 ) ∗2^8 + a (2) ∗2^0 ) ;92 xg = double ( typecas t ( u int16 ( xg ) , ’ int16 ’ ) ) ∗0 . 29593 ;93 end94

95 f unc t i on [ xg ] = DS18b20_conversion ( a )96 %conversao de dados Sensor de temperatura DS18b2097 xg = double ( a (1 ) ∗2^8 + a (2) ∗2^0 ) ;98 xg = double ( typecas t ( u int16 ( xg ) , ’ int16 ’ ) ) /16 ;99 end

100

101 % end