Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
REDE DE SENSORES ALIMENTADA POR UM SISTEMA DE
COLETA DE ENERGIA DO AMBIENTE.
Mayli Silva de Souza
Projeto de Graduação apresentado ao Curso
de Engenharia Eletrônica e de Computação
da Escola Politécnica, Universidade Federal
do Rio de Janeiro, como parte dos requisitos
necessários à obtenção do t́ıtulo de Enge-
nheiro.
Orientador: Antônio Carlos Moreirão de
Queiroz
Rio de Janeiro
Setembro de 2016
REDE DE SENSORES ALIMENTADA POR UM SISTEMA DE
COLETA DE ENERGIA DO AMBIENTE
Mayli Silva de Souza
PROJETO DE GRADUAÇÃO SUBMETIDO AO CORPO DOCENTE DO CURSO
DE ENGENHARIA ELETRÔNICA E DE COMPUTAÇÃO DA ESCOLA PO-
LITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO
PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU
DE ENGENHEIRO ELETRÔNICO E DE COMPUTAÇÃO
Autor:
Mayli Silva de Souza
Orientador:
Prof. Antônio Carlos Moreirão de Queiroz, D. Sc.
Examinador:
Prof. Jose Gabriel Rodriguez Carneiro Gomes, Ph.D.
Examinador:
Prof. Carlos Fernando Teodósio Soares, D. Sc.
Rio de Janeiro
Setembro de 2016
ii
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Escola Politécnica - Departamento de Eletrônica e de Computação
Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária
Rio de Janeiro - RJ CEP 21949-900
Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que
poderá inclúı-lo em base de dados, armazenar em computador, microfilmar ou adotar
qualquer forma de arquivamento.
É permitida a menção, reprodução parcial ou integral e a transmissão entre bibli-
otecas deste trabalho, sem modificaçãode seu texto, em qualquer meio que esteja ou
venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem
finalidade comercial e que seja feita a referência bibliográfica completa.
Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es).
iii
AGRADECIMENTO
Gostaria de agradecer primeiramente a Deus que é digno de receber toda honra.
Sem a fé e a esperança depositadas nele, nada disso seria posśıvel. Também quero
agradecer a minha famı́lia, aquela que nunca deixou de me apoiar e ajudar no que
fosse preciso. Meus pais, Marcos e Márcia, que sempre deram todo suporte que
puderam, que acreditaram em mim em todos os momentos e que nunca duvidaram
que eu era capaz. Agradeço à minhas queridas irmãs, Mayná e Maytê, que sempre
despositaram em mim toda a confiança posśıvel e por terem me encorajado mais
do que ninguém. Ao Leon, meu braço direito, que me acompanhou de perto, que
me auxiliou em tudo que fosse posśıvel e que nunca mediu esforços para me ver
sorrir. Também gostaria de deixar um agradecimento especial ao meu orientador
Antônio Carlos, que esteve comigo por anos. Agradeço por toda paciência, por
todos os ensinamentos de qualquer caráter e por ter sido um marco na minha vida
acadêmica. Por fim, agradeço a todas estas peças primordiais que tornaram isso
posśıvel.
iv
RESUMO
Este trabalho visa a aplicação de microgeradores de energia elétrica, baseados em
geradores eletrostáticos acionados por vibrações mecânicas, como fonte de alimenta-
ção para módulos sensores que se comunicam por sinais de rádio, com aplicação em
sensoriamento em áreas de dif́ıcil acesso, onde existam fontes de vibração mecânica
dispońıveis. Os microgeradores deste tipo são baseados em capacitores variáveis me-
canicamente que podem ser constrúıdos por técnicas de microeletromecânica, o que
os torna muito compactos. O sistema usualmente opera em conjunto com um cir-
cuito controlador envolvendo um conversor CC/CC para reduzir uma relativamente
alta tensão de sáıda para uma mais baixa, que é então utilizada para alimentar o
próprio sistema de controle, possivelmente sem necessidade de uma bateria para ar-
mazenamento de energia. O módulo sensor é composto de um microcontrolador de
baixo consumo, de um transceptor (opera tanto como transmissor ou receptor) e do
sistema de medição da grandeza desejada. Com geradores de pequenas dimensões, a
potência que pode ser obtida é pequena, menos de 100 µW tipicamente. Isto requer
operação da carga em modo intermitente com baixo ciclo de trabalho, operando bre-
vemente com alta potência consumida entre longos intervalos de inatividade, onde a
energia é acumulada em um capacitor. Devido à baixa potência dispońıvel e ao breve
peŕıodo dispońıvel para consumo, o desafio é estabelecer uma comunicação entre os
módulos sensores dentro deste curto intervalo de tempo consumindo necessariamente
pouca energia.
Palavras-Chave: microgeradores, comunicação, sensores, vibração, microcontrola-
dor.
v
ABSTRACT
This work aims the application of electric power microgenerators, based on elec-
trostatic generators driven by mechanical vibration, as power supply for sensors
modules that communicate by radio signals, which applies to sensing for use in hard
to reach areas where there are mechanical vibration sources available. The micro-
generators of this type are based on mechanically variable capacitors which may be
build by microelectromechanical techniques, which makes them very compact. The
system usually operates with a controller circuit involving a DC/DC converter to
reduce a relatively high voltage to a lower one, which is then used to power the
control system itself, possibly without the need of a battery for energy storage. The
sensor module consists of a low-power microcontroller, a transceiver (operates also
as a transmitter or a receiver) and the measurement system. With small generators,
the power that can be obtained is small, typically less than 100 µW. This requires
operation of the load intermittently with low duty cycle, operating briefly with high
power consumption between long sleep intervals, where the energy is accumulated in
a capacitor. Due to the low power available and the short available period for con-
sumption, the challenge is to establish a communication between the sensor modules
within this short time interval necessarily requiring little power.
Key-words: microgenerators, communication, sensors, vibration, microcontroller.
vi
SIGLAS
UFRJ - Universidade Federal do Rio de Janeiro
MEMS - Microelectromechanical Systems
CC - Corrente Cont́ınua
PIC - Peripheral Interface Controller
MCU - Micro Controller Unit
SPI - Serial Peripheral Interface
GFSK - Gaussian frequency-shift keying
ADC - Analog to Digital Converter
EEPROM - Electrically-Erasable Programmable Read-Only Memory
vii
Conteúdo
1 Introdução 1
1.1 Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Sistema de Coleta de Energia 5
2.1 Dobrador de Bennet . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Máquina de Wilson . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Circuitos de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Controle Modificado . . . . . . . . . . . . . . . . . . . . . . . 11
3 Comunicação entre Módulos 13
3.1 Delimitações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Dispositivos Utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.1 Microcontrolador PIC . . . . . . . . . . . . . . . . . . . . . . 14
3.2.2 Transceptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.3 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Algoritmo Desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.1 Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.2 Módulo Remoto e Módulo Base . . . . . . . . . . . . . . . . . 19
3.3.3 Protocolo de Comunicação . . . . . . . . . . . . . . . . . . . . 21
3.3.4 Problemas encontrados . . . . . . . . . . . . . . . . . . . . . . 22
3.3.5 Algoritmo Final . . . . . . . . . . . . . . . . . . . . . . . . . . 24
viii
4 Resultados Experimentais 28
4.1 Resultados Práticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Resultados Teóricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 Conclusão e Trabalhos Futuros 48
5.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Bibliografia 51
A Algoritmo PIC 53
B Algoritmo Arduino 55
C Esquemáticos 57
ix
Lista de Figuras
2.1 Versão eletrônica do dobrador de Bennet. . . . . . . . . . . . . . . . . . 6
2.2 Versão do dobrador como carregador de bateria. . . . . . . . . . . . . . . 7
2.3 Dobrador com energia extráıda através de um conversor CC/CC do tipo
buck. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Máquina de Wilson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Circuito de controle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Novo circuito de controle. . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 PIC 16F628A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Transceptor nRF24L01+ . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Arduino Due . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Estação remoto e estação base . . . . . . . . . . . . . . . . . . . . . . . 19
3.5 Etapas de transmissão e recepção entre os módulos. . . . . . . . . . . . . 20
3.6 Trecho do código. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1 Placa experimental para o módulo remoto. . . . . . . . . . . . . . . . . . 29
4.2 Placa experimental e Gerador Eletróstático. . . . . . . . . . . . . . . . . 29
4.3 Arduino e Transceptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.4 Porta serial problema 2. . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.5 Porta serial problema 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.6 Problemas em conjunto. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.7 Acionamentos do remoto em vermelho e recarga da fonte de 3 V em azul. . 33
4.8 Capacitor que controla o tempo do monoestável. . . . . . . . . . . . . . . 33
4.9 Capacitor de sáıda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.10 LED em azul e sáıda regulada de 3 V em vermelho. . . . . . . . . . . . . 35
x
4.11 LED em azul, Pino CE do PIC em vermelho e sáıda regulada de 3 V em
verde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.12 Pino RB0 do PIC em azul e sáıda regulada de 3 V em vermelho. . . . . . 37
4.13 Sáıda regulada de 3 V em azul e LED sinalizador de problema em vermelho. 38
4.14 Sáıda regulada em azul, LED sinalizador de problema em vermelho e LED
referente ao estado OK em verde. . . . . . . . . . . . . . . . . . . . . . 39
4.15 Pino RB0 do PIC em vermelho e sáıda regulada em azul. . . . . . . . . . 40
4.16 Pino RB6 do PIC em vermelho e sáıda regulada em azul. . . . . . . . . . 41
4.17 Pino RB0 do PIC em vermelho e sáıda regulada em azul. . . . . . . . . . 42
4.18 Diagrama de tempo quando há problema no sensor 1. . . . . . . . . . . . 43
4.19 LED sinalizador de OK em azul e sáıda regulada em vermelho. . . . . . . 44
4.20 LED sinalizador de OK em vermelho e sáıda regulada com menor consumo
em azul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.21 LED sinalizador de problema em vermelho, de estado OK em verde e sáıda
regulada ampliada em azul. . . . . . . . . . . . . . . . . . . . . . . . . 46
C.1 Conexão PIC e nRF24L01+. . . . . . . . . . . . . . . . . . . . . . . . . 57
C.2 Conexão Arduino e nRF24L01+. . . . . . . . . . . . . . . . . . . . . . . 58
xi
Lista de Tabelas
3.1 Especificações técnicas PIC 16F628A. . . . . . . . . . . . . . . . . . . 15
3.2 Especificações técnicas nRF24L01+. . . . . . . . . . . . . . . . . . . . 16
3.3 Especificações de consumo nRF24L01+. . . . . . . . . . . . . . . . . 17
3.4 Especificações do Arduino Due. . . . . . . . . . . . . . . . . . . . . . 18
3.5 Protocolo de comunicação. . . . . . . . . . . . . . . . . . . . . . . . . 21
xii
Caṕıtulo 1
Introdução
1.1 Tema
Uma nova área de pesquisa aberta recentemente é a de sistemas de captura
de energia do ambiente, para alimentar circuitos com sensores autônomos. Pesquisas
têm sido feitas nos últimos anos sobre captura de energia diretamente por circui-
tos integrados usando fontes fotovoltaicas, térmicas, vibracionais, etc. No caso das
fontes vibracionais, as formas que parecem adequadas para integração, usando sis-
temas microeletromecânicos (MEMS) são o uso de piezoeletricidade e eletrostática.
Geradores eletrostáticos usando capacitores variáveis simples alterados por vibração
foram reportados na literatura recente, mas estes usualmente requerem um com-
plicado sistema de controle e conversores CC/CC para extração de energia, que é
sempre muito pouca, microwatts no máximo. Observou-se em [1] que era posśıvel
usar a estrutura de alguns geradores eletrostáticos clássicos simples, notadamente
o “dobrador de Bennet”, ou “dobrador de eletricidade”, para captura de energia de
vibração, sem necessidade de um sistema de controle e com alta eficiência. Também
foi mostrado em [1][2] que é posśıvel explorar a instabilidade dos geradores eletros-
táticos para gerar potências bem maiores do que é posśıvel obter com geradores
baseados em um único capacitor variável se for posśıvel a operação em tensão ele-
vada. Portanto, seria posśıvel construir um gerador eletrostático integrado gerando
até miliwatts de potência.
Com intuito de aproveitar esta descoberta, o projeto visa aplicar a energia
dispońıvel no processo descrito para usá-la em comunicações por rádio, visando cons-
1
truir um sistema de transmissão e recepção autônomo. Desta forma, o trabalho tem
como propósito a construção de um sistema de demonstração consistindo de um
transmissor de rádio de baixo consumo que transmite a leitura digital de sensores
periodicamente, alimentado pelo gerador elétrico que extrai energia de vibrações
mecânicas. A aplicação de sistemas assim é em redes de sensores, onde os elementos
sensores são autônomos, têm dimensões reduzidas e não têm conexões f́ısicas ex-
ternas. Uma interessante possibilidade é a de o sistema ser totalmente constrúıdo
em circuito integrado, incluindo o gerador eletrostático de energia implementado em
microeletromecânica. O dispositivo pode então ser constrúıdo totalmente selado e
com dimensões muito reduzidas, dispensando até mesmo uma bateria interna recar-
regável. A principal vantagem deste sistema é a monitoração remota de sensores
instalados em locais que são pouco acesśıveis, uma vez que este sistema não requer
manutenção e não será necessário a troca de baterias visto que o sistema é autônomo.
Os sensores podem ser usados para monitorar o estado de processos industriais, de
véıculos, de sondas de perfuração, etc.
1.2 Objetivos
O objetivo geral é conseguir realizar um sistema de transmissão por rádio de baixo
consumo que consiga monitorar uma rede de sensores de maneira autônoma e ali-
mentado pelo microgerador. Nos trabalhos [3] [4] foram desenvolvidos protótipos
macroscópicos do gerador eletrostático e de alguns circuitos de controle que viabi-
lizam a utilização da energia pelo sistema de comunicação. Alguns ajustes deverão
ser realizados no circuito de controle e no gerador elestrostático para atender às es-
pecificações dos dispositivos relacionados à transmissão. Desta forma, tem-se como
objetivos espećıficos:
• Viabilizar o processo de utilização da pouca energia dispońıvel com um
sistema de baixo consumo;
• Construir um sistema de transmissão e recepção adequado às especificações
e restrições;
• Elaborar um algoritmo que realize a comunicação de um microcontrolador
de baixo consumo com o dispositivo de transmissão de rádio.
2
1.3 Metodologia
A finalidade é adequar todo o projeto a utilizar o sistema de coleta de energia
que é fruto do trabalho realizado em [3]. Assim, a energia dispońıvel é gerada por
um gerador eletrostático acionado por vibração mecânica, que disponibiliza perio-
dicamente uma pequena quantidade de energia. É em conformidade com o sistema
de coleta de energia e seu circuito de controle que serão adequadas as necessidades
para aplicação na rede de sensores. Visando um baixo consumo dos dispositivos que
participarão da transmissão e recepção dos sinais digitais proveninentes dos sensores,
foi escolhido utilizar um microcontrolador PIC para realizar a interface de controle
entre o sensor e o dispositivo de transmissão e recepção por rádio.
O PIC será responsável pelo protocolo de comunicação com o transceptor, assim
que o gerador estiver pronto, ou seja, com energia dispońıvel, as funções a serem im-
plementadas seriam: O módulo sensor alimentado pelo sistema de coleta de energia
deve primeiramente coletar a informação do sensor e a transmitir junto com códigos
de identificação e endereçamento, de acordo com protocolo a ser especificado. A
seguir, enquanto ainda há energia dispońıvel, ou em um próximo ciclo (caso a sin-
cronia seja perdida no anterior), deve monitorar o receptor de rádio esperando uma
resposta da base com instruções ou confirmação de recebimento. A estação base do
sistema é similar, porém será utilizado um Arduino no lugar do PIC com o mesmo
módulo de rádio usado na estação remota, mas ficará sempre ligada esperando re-
ceber comunicações da rede de sensores. Um computador deve poder acessar as
informações no módulo base, recebidas dos módulos sensores, e comandar o envio
de instruções aos sensores. Um aspecto importante do sistema é o controle de ener-
gia nos módulos sensores, que devem ficar normalmente em modo de extremamente
baixo consumo ou desligados enquanto não houver energia dispońıvel. Quando o
gerador informar que há energia dispońıvel, deve-se usar esta energia da forma mais
eficiente posśıvel, rapidamente, voltando ao modo de baix́ıssimo consumo ordena-
damente até o próximo ciclo. Uma possibilidade a investigar é a comunicação entre
módulos sensores, por exemplo em um caso em que um sensor esteja muito distante
da base, mas possa se comunicar com outros sensores, que repetiriam sua informação
até que ela chegue na base. O pequeno ciclo de trabalho permitido pelo sistema de
3
coleta de energia pode tornar dif́ıcil esta forma de operação.
1.4 Descrição
O Caṕıtulo 2 descreve os principais geradores de energia utilizados para realização
deste trabalho e suas fundamentais diferenças. Também serão abordados os circuitos
de controle para os diferentes tipos de gerador, juntamente com a descrição das
mudanças necessárias para adequação do ciclo de trabalho e da energia necessária
para o processo de alimentação dos módulos de sensores.
O Caṕıtulo 3 apresenta os fundamentos da comunicação entre os módulos. São
apresentadas as especificações e o detalhamento dos dispositivos utilizados, assim
como as delimitações para o desenvolvimento do algoritmo. Todo este algoritmo é
explicitado apresentando uma detalhada interpretação do processo escolhido para
realizar a comunicação entre os módulos.
Os resultados experimentais são apresentados no Caṕıtulo 4. Nele será apresen-
tado todo o sistema de funcionamento constrúıdo macroscopicamente.
No Caṕıtulo 5 serão abordadas idéias para trabalhos futuros e a conclusão final
deste trabalho.
4
Caṕıtulo 2
Sistema de Coleta de Energia
2.1 Dobrador de Bennet
Com a crescente demanda atual para utilização de sensores em aplicações diversas
e que necessitam de monitoramento, ou seja, consigam se comunicar transmitindo e
recebendo informações, a utilização de dispositivos que não necessitem de troca de
bateria, reposição ou manutenção parece ser oportuno. Geralmente, estes sistemas
requerem pouca energia e operam sem atividade na maior parte do tempo, enviam
ou transmitem informações em ciclos de trabalhos espećıficos ou apenas quando
necessário. Baseado nessas premissas, entende-se que é desejável que hajam formas
de extração de energia do ambiente para que estes sistemas possam trabalhar de
forma consistente quando for solicitado.
Sistemas de coleta de energia são usados para extrair energia elétrica do meio
ambiente em situações onde o uso da rede elétrica ou de uma bateria são imposśıveis
ou incovenientes. Uma possibilidade é a captura de energia vibracional através de um
dispositivo capacitivo, onde um capacitor é constrúıdo para variar sua capacitância
por meio da variação da distância entre suas placas através da energia de vibração.
Se o capacitor é inicialmente carregado de alguma maneira, uma redução da sua
capacitância pela separação das suas placas, converte energia mecânica em energia
elétrica [1]. Tais dispositivos capacitivos possuem como vantagem a possibilidade de
serem constrúıdos utilizando técnicas MEMS.
5
Figura 2.1: Versão eletrônica do dobrador de Bennet.
Uma clássica estrutura proposta inicialmente por Abraham Bennet em 1787 apre-
sentou o primeiro gerador eletrostático do tipo “dobrador de eletricidade”, que fun-
ciona por meio de indução eletrostática. De um modo geral, podemos dizer que
geradores eficientes podem ser obtidos explorando as estruturas clássicas de gerado-
res elestrostáticos. Em [1], uma estrutura diferente é proposta, utilizando capacitores
variáveis e diodos para operar de maneira similar ao dobrador de Bennet.
A idéia do dobrador de Bennet é que a cada ciclo uma carga inicial, que por menor
que seja está sempre presente, seja dobrada para que possa gerar uma alta tensão em
apenas alguns ciclos de operação do circuito. No entanto, no circuito da figura 2.1 o
dobrador não será iniciado automaticamente se não possuir uma tensão inicial que
seja suficiente para polarizar os diodos, de modo que consiga dar ińıcio à operação
de multiplicação da carga. Entretanto, pode ser iniciado com sinal de interferência
elétrica das vizinhanças, que é o que acontece com o protótipo constrúıdo em [3].
Sempre se pode colocar uma antena para isto. Todavia, esta questão não é problema
quando o objetivo é se comportar como um carregador de bateria. O dobrador pode
ser utilizado de diversas maneiras como um carregador de bateria na versão mais
simples, C1 é substitúıdo por uma bateria como na figura 2.2.
O dobrador da figura 2.1, em condições proṕıcias com as capacitâncias variando
ciclicamente, é instável com as tensões crescendo exponencialmente e sendo multi-
6
Figura 2.2: Versão do dobrador como carregador de bateria.
plicadas por um fator a cada ciclo de variação da capacitância [2]. Em [1] também
foi brevemente mencionado que a instabilidade do dobrador pode ser utilizada de
maneira vantajosa, permitindo que a tensão em C1 cresça até um valor alto e depois
descarregando a energia armazenada em uma bateria usando um conversor CC/CC.
Em [2] são feitas análises do modelo do dobrador funcionando como carregador
de bateria. O fato de o gerador poder ser iniciado com pouca carga inicial, que pode
ser proveniente de rúıdo elétrico ou interferência externa, é usado para eliminar o
uso de bateria.
Uma das técnicas dispońıveis implementa geradores eletrostáticos simples basea-
das em capacitores variáveis que, na maioria dos casos, exploram o ganho de energia
que é obtido quando um capacitor mecanicamente variável é carregado quando a
sua capacidade é grande e, em seguida, descarregado quando a sua capacidade é
pequena. Conversores CC/CC são utilizados para implementar de forma eficiente a
operação de carga e descarga, o que requer um sistema de controle um pouco com-
plexo, transformando a alimentação do sistema de controle em uma questão nada
fácil [3].
No modelo para o dobrador mostrado na figura 2.1, uma carga inicial no capacitor
C1 é multiplicada por um fator que pode chegar a um máximo de dois em cada ciclo
da variação da capacitância de Ca e Cb (dáı o nome “dobrador”) e depois de alguns
7
Figura 2.3: Dobrador com energia extráıda através de um conversor CC/CC
do tipo buck.
ciclos atinge um limite que é dado apenas pelas tensões de ruptura dos dispositivos.
A forma mais simples de usar o dobrador como fonte de energia é com o capacitor
C1 substitúıdo por uma bateria, onde o dobrador não necessitaria de um sistema de
controle. Estas formas foram estudadas em [5] [6]. A quantidade de energia obtida
deste modo é muito pequena, caso a operação seja em baixa tensão. Quando mais
energia é necessária, uma possibilidade é a de deixar o dobrador (na forma da figura
2.1) atingir a maior tensão posśıvel, e em seguida, extrair a energia armazenada na
sua sáıda por um conversor CC/CC, como na figura 2.3.
Em inúmeros experimentos com esta estrutura, verificou-se que o dobrador nunca
falha para começar a operar, mesmo quando nenhuma carga inicial expĺıcita é for-
necida [3]. Isto permite a possibilidade de evitar a utilização de uma bateria, permi-
tindo que o dobrador apenas carregue um capacitor de armazenamento através do
conversor CC/CC, com um regulador de tensão implementado para manter a tensão
máxima constante. Um sistema de carregamento passivo alternativo também deve
existir, para alimentar o sistema de controle do conversor quando o dobrador começa
a operar.
Importante salientar que para extrair alguma energia considerável do dobrador, é
necessário colocar um capacitor de carga, pois do contrário, só será extráıda energia
dos capacitores internos do dobrador, o que é muito pouco. Existe um capacitor
ótimo de carga que extrai a maior potência posśıvel em [7] há um estudo detalhado
8
sobre como escolher este capacitor ótimo.
2.1.1 Máquina de Wilson
Figura 2.4: Máquina de Wilson.
A máquina de Wilson também é um gerador eletrostático baseado em capacitores
variáveis, porém ela possui algumas diferenças quanto ao dobrador de Bennet. Um
estudo sobre a máquina de Wilson foi feito em [8] onde são descritos detalhes sobre
seu funcionamento. A figura 2.4 mostra a versão eletrônica da máquina de Wilson,
que é ligada ao conversor CC/CC da mesma forma que o dobrador.
Este gerador permite um ajuste da potência gerada, com mais flexibilidade que
no dobrador, pois possui duas sáıdas onde a tensão no lado não usado como sáıda
da máquina pode ser limitada em valores à escolha, até certo limite natural.
2.2 Circuitos de Controle
A carga ideal transferida por descarga na figura 2.3 é obtida equacionando a
energia armazenada na capacitância de sáıda do dobrador. Quando a chave está
fechada e o capacitor C1 possuindo tensão VC1 iguala-se a energia armazenada na
capacitância do dobrador com QV0:
Q =(C1 + Cab)V
2C1
2V0(2.1)
9
Figura 2.5: Circuito de controle.
Cab é a contribuição de Ca e Cb em série. Considerando VD4 a queda no diodo
D4 e VD5 a queda no diodo D5, a equação da carga se torna:
Q =(C1 + Cab)(VC1 + VD5)
2
2(V0 + VD4 + VD5)(2.2)
O dobrador recupera de uma descarga em poucos ciclos após a mesma, porque a
carga no nó entre os capacitores variáveis não é perdida. À medida que o tempo
de recuperação e Q são ambos proporcional a C1, há pouco efeito na utilização de
maiores ou menores C1. Um valor um pouco menor do que o máximo de Ca ou Cb
é o adequado, resultando na recuperação de um ou dois ciclos [3].
A figura 2.5 mostra uma versão do sistema de controle que é alimentado pelo
dobrador e também fornece energia para si mesmo. Um diodo Zener D9 foi adici-
onado para regular, ou melhor, para limitar a tensão de sáıda e3. A limitação da
máxima tensão de sáıda do dobrador foi feita pelo diodo D8 avalanche já presente
no transistor de alta tensão M4. O circuito mede a tensão de sáıda do dobrador, e1,
10
através do divisor capacitivo C11-C12 ligado a M1. Quando e1 é suficientemente alta,
M1 conduz e dispara o circuito mono-estável abaixo, que liga o transistor de alta
tensão M4, a chave do conversor buck, M2, que reseta a sáıda do divisor capacitivo,
e M3, que retorna a tensão na entrada da porta NAND para ńıvel alto, formando
um “inversor dividido” com M1.
Este sistema de controle consome energia praticamente apenas para chavear M4,
com um pouco de energia adicional consumida pelo monoestável e idealmente tem
um consumo de energia insignificante enquanto monitora a tensão de sáıda do do-
brador. O resistor grande R2 foi conectado à fonte de alimentação para que, deste
modo, C12 seja carregado lentamente, acionando o monoestável periodicamente caso
não seja acionado pelo divisor capacitivo. Quando o dobrador começa a operar, e
e3 é muito baixo para alimentar as portas CMOS, sua tensão de sáıda e1 sobe até
a tensão de ruptura de D8, e sua operação é como em um carregador de bateria
conectado diretamente puxando alguma corrente para carregar C3 através de D8,
elevando e3. A carga entregue a cada ciclo, ignorando as quedas dos diodos, em
função dos valores dos capacitores do dobrador nas fases 1 e 2 do ciclo de operação
(Ca1 e CB2 pequeno, Ca2 e Cb1 grande) e de Vbreak, a tensão de ruptura de D8 mais
a tensão de sáıda sobre C3, é:
Q = Vbreak
Ca2Ca1− Cb2
Cb1− 1
1Ca1
+ 1Cb1
(2.3)
A corrente fornecida neste modo é pequena, e assim uma carga adicional a ser
alimentado pelo sistema deve estar no modo de espera de baixa energia durante a
inicialização. Quando a tensão sobre C3 sobe o suficiente, o conversor buck começa
a operar.
2.2.1 Controle Modificado
Para utilizar o circuito de controle da figura 2.5 neste projeto, foram necessários
alguns ajustes, como mostra a figura 2.6. Foi acrescentado um contador que aciona a
carga a cada 128 acionamentos do conversor. Um monoestável controla o tempo em
que a carga é acionada. Uma fonte de 3 V foi constrúıda para alimentar o PIC e o
11
Figura 2.6: Novo circuito de controle.
transceptor (que suporta tensões de alimentação de até 3.6 V no máximo) e é gerada
por um transformador feito com o indutor do conversor buck. O indutor primário de
5 mH fica com 6.8 V durante o acionamento, gerando 3.6 V sobre o secundário de
1.4 mH, e 3 V na sáıda, aproximadamente. Um Zener de 3.3 V garante que a tensão
não passe de 3.3 V, o que poderia acontecer com pouca carga. O resistor pontilhado
é uma fuga que deve existir para garantir que o circuito comece a funcionar. Pode
ser alcançada com um diodo grande inversamente polarizado porém é melhor ser um
Zener com alguma fuga ou mesmo um LED.
12
Caṕıtulo 3
Comunicação entre Módulos
3.1 Delimitações
Transmitir informações de sensores não é uma tarefa dif́ıcil quando o projeto não
possui ŕıgidas especificações de consumo e tempo. Apesar desta tarefa ser aparente-
mente fácil, nesta aplicação, o desafio é conseguir estabelecer uma comunicação de
baix́ıssimo consumo de energia em menos de 20 ms.
O primeiro problema começa na escolha do microcontrolador que ficará ligado
ao sensor e ao transceptor. Atualmente existem diversos microcontroladores muito
potentes com frequência de clock na ordem de centenas de MHz, que fazem com
que as informações e cálculos sejam processados muito rápido. Seria ideal a escolha
de um destes, caso a restrição fosse apenas a transmissão e recepção em um curto
peŕıodo de tempo. Entretanto, estes microcontroladores modernos, ao custo de seus
velozes processadores, devido a grande quantidade de diferentes periféricos e a alta
capacidade das memórias, consomem muito acima do que temos dispońıvel quando
é utilizado o dobrador apresentado no caṕıtulo 2 como alimentação.
Devido a impossibilidade da utilização de microcontroladores mais modernos e
atuais, a solução foi procurar alternativas de baixo consumo e com uma frequência
de clock razoável que permitam atender às necessidades de tempo e consumo.
Na seções seguintes, as tentativas de estabelecer uma comunicação entre os mó-
dulos serão detalhadas, assim como a estratégia utilizada para implementação do
13
algoritmo final.
3.2 Dispositivos Utilizados
3.2.1 Microcontrolador PIC
Devido às delimitações apresentadas, a solução encontrada foi utilizar microcon-
troladores PIC para fazer o controle do módulo que será alimentado pelo dobrador
de eletricidade.
Figura 3.1: PIC 16F628A.
Microcontroladores PIC são controladores programáveis que possuem a vantagem
de ter baixo custo e consumo. Existem diversos tipos de microcontroladores PICs,
variam tanto em relação a quantidade de periféricos, capacidade das memórias e
arquiteturas. Para este trabalho, escolhemos um PIC simples. Ele possui poucos
periféricos porém detém a vantagem de ter modos de baix́ıssimo consumo.
O escolhido foi o PIC 16F628A (figura 3.1), um microcontrolador de 8 bits, onde
algumas de suas principais especificações encontram-se na tabela 3.1. Mais informa-
ções sobre este modelo pode ser encontrado em [9].
Este PIC também possui a vantagem de suportar osciladores externos. Como o
clock interno do PIC (4 MHz) é relativamente baixo, poderia se optar por colocar,
14
Tabela 3.1: Especificações técnicas PIC 16F628A.
Oscilador interno 4 MHz
Corrente de Operação 120 µA @ 1 MHz, 2.0 V, typical
Corrente de Standby 100 nA @ 2.0 V, typical
Pinos I/O 16 com controle de direção
Memória de Programa/Flash 2048 palavras
Memória de dados - SRAM 224 bytes
Memória de dados - EEPROM 128 bytes
Timers 8/16 bit 2/1
por exemplo, um oscilador a cristal externamente para aumentar a velocidade de
processamento. Isto seria um benef́ıcio que reduziria a preocupação com o pouco
tempo dispońıvel para o PIC executar as tarefas, porém osciladores a cristal não se
estabilizam instantaneamente. Entretanto, osciladores externos poderiam ser uma
boa alternativa a se testar. Neste trabalho, mesmo com a baixa frequência do
oscilador interno o objetivo foi atingido e não foi necessário a inclusão de um clock
externo.
3.2.2 Transceptor
O transceptor é um dispositivo que pode ser configurado para se comportar tanto
como um transmissor ou como um receptor. Ele ficará ligado no PIC e será contro-
lado e configurado por ele. Sua função será de inicialmente transmitir a informação
lida do sensor pelo PIC e em seguida receber uma instrução da base de comunicação
para que o microcontrolador a execute.
O dispositivo de comunicação escolhido foi o nRF24L01+ (figura 3.2). Este trans-
ceptor opera na frequência de 2.4 GHz e possui funcionamento adequado para apli-
cações sem fio e de ultra baixa potência. Para projetar um sistema de rádio com
o nRF24L01+, é necessário apenas um MCU (microcontrolador) sem componentes
passivos externos. Este transceptor (ou rádio) utiliza o protocolo de comunicação
SPI (Serial Peripheral Interface) para ser configurado, ou seja, a comunicação entre
o PIC e o rádio deverão utilizar esse protocolo.
15
Figura 3.2: Transceptor nRF24L01+.
O rádio usa modulação do tipo GFSK e possui parâmetros configuráveis como
canal de frequência, potência de sáıda e velocidade da taxa de transferência de dados.
Esta taxa pode ser configurada entre 250 Kbps, 1 Mbps e 2 Mbps. A velocidade da
taxa de transmissão dos dados combinada com dois modos de economia de energia
torna o nRF24L01+ muito adequado para projetos de ultra baixa potência.
Alguma das especificações do rádio estão listadas na tabela 3.2.
Tabela 3.2: Especificações técnicas nRF24L01+.
Banda de operação 2.4 GHz
Taxa de dados no ar 250 Kbps, 1 Mbps ou 2 Mbps
Consumo no modo “power down” 900 nA
Consumo no modo “standby-I” 26 uA
Alimentação 1.9 a 3.6 V
Potência de sáıda 0, -6, -12 ou -18 dBm
Em [10] pode-se encontrar muitas outras caracteŕısticas interessantes que o
nRF24L01+ possui. Uma outra tabela muito importante para esta aplicação, é
a que relaciona a potência de sáıda com o consumo do transceptor (tabela 3.3).
Através dela podemos selecionar a configuração que mais nos interessa dependendo
do objetivo, para este trabalho a de menor consumo foi a selecionada (-18 dBm).
16
Tabela 3.3: Especificações de consumo nRF24L01+.
Potência de Sáıda RF Consumo de corrente DC
0 dBm 11.3 mA
-6 dBm 9.0 mA
-12 dBm 7.5 mA
-18 dBm 7.0 mA
3.2.3 Arduino
Figura 3.3: Arduino Due
Até então, tem-se um PIC que será alimentada pelo sistema coletor de energia
vibracional, um sensor e um transceptor que serão ligados a ele. Estes dispositivos
constituem o módulo remoto que ficará enviando periodicamente informações do
sensor ao segundo módulo.
O módulo que ficará recebendo as informações enviadas pelo PIC funcionará como
uma base. Tal base será ligada a um computador que fica recebendo as informações
e decide como irá responder. O microcontrolador que será responsável por responder
à informação recebida não possui especificações restritas, ou seja, pode-se usar um
microcontrolador mais moderno e que possui alimentação direta pela USB podendo
estar inteiramente ligado ao computador.
17
O Arduino Due, figura 3.3, foi o escolhido para funcionar na estação base, algumas
das especificações podem ser encontradas na tabela 3.4.
Tabela 3.4: Especificações do Arduino Due.
Microcontrolador AT91SAM3X8E
Tensão de Operação 3.3 V
Tensão de Entrada(recomendada) 7-12 V
Pinos I/O Digitais 54
Memória Flash 512 Kb
SRAM 96 Kb
Velocidade do Clock 84 MHz
Com o Arduino ligado ao computador, tem-se a facilidade de usar a porta serial
para a depuração do código. Além disso, através da porta serial pode-se traduzir
as informações recebidas do sensor de forma que o problema seja mais facilmente
traduzido. Demonstrações da utilização do Arduino utilizando a porta serial serão
apresentadas na próxima seção.
3.3 Algoritmo Desenvolvido
3.3.1 Cenário
O cenário principal é o conjunto de dois ambientes, o ambiente da base e o remoto.
Chamamos de base a estação que estará monitorando as informações que a estação
remota enviará periodicamente.
Para melhor visualização, a ilustração da figura 3.4 mostra as principais carac-
teŕıstica e diferenças entre a estação base e a estação remota. Lembrando que a
estação Remota é inteiramente alimentada pelo dobrador, ao passo que a estação
Base pode ser alimentada por qualquer fonte de alimentação.
Para mostrar que é posśıvel construir uma rede de sensores, as tentativas neste tra-
balho se basearam em a estação Remota conseguir transmitir e receber informações
dentro do tempo em que há energia dispońıvel para ser utilizada no dobrador.
18
Figura 3.4: Estação remoto e estação base
3.3.2 Módulo Remoto e Módulo Base
Uma vez que há energia suficiente para alimentar o PIC, ele imediatamente vai
tratar de fazer as configurações iniciais necessárias para o ińıcio da operação. Quando
o dobrador estabiliza, a sáıda de 3.0 V atinge um valor próximo a este e aplica
ao circuito remoto, no mesmo instante o PIC começa o processamento. Não há
qualquer forma de verificação da alimentação no algoritmo gravado no PIC, da
mesma maneira que ele inicia quando sua alimentação atinge o valor necessário para
19
ele ligar, quando a alimentação do dobrador cai abaixo do valor necessário, ele é
desligado. Tudo acontece sem qualquer monitoração, a prinćıpio isto não apresentou
nenhum problema para a vida útil do PIC ou para atrapalhar o acontecimento das
etapas.
O PIC, no modelo 16F628A, já tem mecanismos internos para controlar sua ali-
mentação, como o brown-out reset ou o power-up delay. Nesta aplicação nenhum
deles foi usado, pois a alimentação é baixa e precisa-se de todo o tempo dispońıvel
para realizar a transmissão e recepção de informações.
Na estação Remota a operação começa quando há energia suficiente para alimentar
o PIC, a partir deste momento as etapas são as seguintes (figura 3.5):
1. O PIC lê a informação do sensor que está ligado nele.
2. O PIC transmite a informação lida do sensor para a estação base através do
rádio.
3. A estação base processa a informação recebida e se prepara para transmitir
um comando de volta para o remoto.
4. A estação base envia a informação para o remoto para que ele possa realizar
a tarefa correspondente à informação recebida.
Figura 3.5: Etapas de transmissão e recepção entre os módulos.
20
Pode-se dizer que a principal função da estação remota é enviar informações, ao
passo que a principal função da base é receber. Entretanto, é importante que a
comunicação seja bidirecional entre os módulos pois no caso de o sensor sinalizar
algum problema, a estação base envia algum comando que o PIC entenda para
tomar uma iniciativa com a intenção de resolver o problema. Para o PIC entender
a informação proveniente da base, percebe-se a necessidade de um protocolo de
comunicação personalizado entre os módulos. Na próxima seção o protocolo de
comunicação básico desenvolvido será apresentado.
3.3.3 Protocolo de Comunicação
Neste trabalho foi implementado um algoritmo imaginando dois sensores ligados
no PIC. Quando um dos sensores apresentar problema, um endereço espećıfico do
problema desse sensor é enviado para a base, quando os dois sensores não indicarem
qualquer problema um outro endereço será enviado.
A tabela 3.5 mostra o significado de cada endereço que é enviado e recebido pela
estação remota dependendo do problema de cada sensor ou da falta destes.
Tabela 3.5: Protocolo de comunicação.
Estado Remoto Envia Base Envia
Tudo Ok 0x01 0x01
Problema no sensor 1 0x02 0x02
Problema no sensor 2 0x03 0x03
Problema nos dois sensores 0x04 0x04
O sistema é simples e o funcionamento sequencial, por exemplo, quando o sensor 1
indicar problema, o PIC enviará um endereço (neste caso 0x02) que representará para
a base que o sensor 1 apresentou problema. Quando a base receber esse endereço, ela
terá um endereço espećıfico (neste caso 0x02) para enviar de volta para o remoto, que
significa um comando para que o PIC solucione o problema. O mesmo acontecerá
caso o sensor 2 apresente problema, caso os dois sensores apresentem problema, ou
21
caso nenhum deles apresente problema. Neste último caso, o endereço significará
apenas que tudo está operando como deveria.
O endereço que o remoto envia e o que ele recebe é igual neste trabalho por apenas
apenas simplificar a codificação. Em um algoritmo mais complexo, o sensor 1 poderia
indicar mais de um problema por exemplo, e mais endereços seriam exigidos para
indicar esse outros posśıveis problemas.
A primeira coisa que o código gravado no PIC faz é ler as informações destes dois
sensores, se os dois não estiverem apresentando sinais de problemas, ele enviará um
endereço que equivale a um estado de operação normal (neste caso 0x01). Caso ele
identifique um problema em um ou nos dois sensores, um endereço que signifique tal
condição será enviado para a estação base. Algo similar acontece na estação base,
dependendo da informação que ela recebe, ela escolhe o endereço para enviar de
volta para a estação remota. Quando a estação remota recebe o endereço de volta
da base e realiza a operação correspondente, todo o processo é reiniciado e se repete
enquanto ainda houver tempo e energia dispońıvel.
3.3.4 Problemas encontrados
Diversos problemas foram encontrados durante a implementação de um algoritmo
final. Aparentemente, estabelecer uma comunicação entre os dois módulos não de-
veria parecer uma solução dif́ıcil, porém além das restrições anteriormente apresen-
tadas, a necessidade de reconfigurar o transceptor todas as vezes durante os ciclos
de operação, ocupa a maior parte do tempo do processo de transmissão e recepção,
além de induzir um problema de sincronia entre os dois módulos.
Pode-se afirmar que o PIC é reiniciado toda vez que o conversor CC/CC ligado
ao dobrador aciona a alimentação de 3 V, a cada 128 ciclos do dobrador. Uma vez
que ele é desligado, todas as configurações são perdidas e tudo deve ser configu-
rado novamente no próximo ciclo. O problema é que as configurações referentes ao
transceptor ocupam alguns do milisegundos do tempo dispońıvel. No caṕıtulo 4,
serão mostradas com detalhes as figuras correspondentes ao tempo que leva para
configurar, enviar e receber dados.
22
Este tempo de configuração acontece no mı́nimo duas vezes a cada ciclo, pois o
PIC primeiro é configurado como transmissor e em seguida deve ser configurado
como receptor para receber a resposta da base.
Nos testes iniciais, estimou-se um tempo de 10 ms para o peŕıodo de alimentação
proveniente do dobrador e portanto para realizar uma comunicação completa. Cha-
mamos de estabelecer uma comunicação completa, realizar as operações contidas na
figura 3.5, ou seja, o PIC deve conseguir enviar informações e em seguida receber al-
guma resposta da base. Porém, também foi observado que o tempo de configuração
do PIC como transmissor ou receptor demorava cerca de 6 ms, tornando imposśıvel
a configuração como transmissor e depois como receptor em um mesmo ciclo. Se
apenas a configuração do transceptor ocupava 6 ms, toda a comunicação demoraria
no mı́nimo 12 ms o que já seria mais do que os 10 ms estimados inicialmente.
A primeira tentativa de solucionar este problema foi através da utilização de uma
memória não volátil. Dado que o PIC apenas conseguiria ou transmitir ou receber
informações a cada ciclo, seria necessário que ele inicialmente após enviar, guardasse
a informação de que no ciclo anterior ele havia enviado alguma informação e portanto
no próximo ele deve ser configurado como receptor para receber. O PIC 16F628A
possui uma EEPROM (memória não-volátil) com 128 bytes dispońıvel para escrita.
Diversas tentativas de solucionar o problema utilizando a EEPROM foram desen-
volvidas, todavia todas elas apresentaram um problema de sincronia aparentemente
sem solução simples.
Basicamente, nos algoritmos desenvolvidos utilizando a memória não volátil, o
PIC transmitia a primeira vez e em seguida escrevia na EEPROM um endereço que
significava que ele iniciou a comunicação e enviou alguma informação. O Arduino
que está na base receberia este endereço e entenderia que ele deve enviar alguma
informação de volta para o PIC. Quando o Arduino enviar esta informação, ele não
vai possuir nenhuma referência que indique que o PIC está ligado ou não, ou seja,
não vai ter qualquer garantia que indique que o Arduino enviou a informação e o
PIC recebeu. Mesmo que o Arduino continue a transmissão um certo número de
vezes para que ele tenha certeza que o PIC recebeu, quando o PIC de fato receber
23
ele imediatamente vai tratar de enviar uma nova informação, e se o Arduino estiver
ainda na configuração de transmissor ele não receberá esta informação. Múltiplos
problemas são encontrados se a alimentação do PIC só permitir que ele envie ou
receba em um único ciclo. Não haverá qualquer ind́ıcio de sincronia entre os dois
módulos e isso pode acarretar no travamento de todo o processo.
Por este motivo foi descartada a utilização da memória não volátil, não apresen-
tando qualquer vantagem no seu emprego. Contudo, se fez necessário modificar o
capacitor que controla o tempo do monoestável no circuito de controle do dobra-
dor, possibilitando que o PIC disponha de mais tempo para que uma comunicação
completa possa ser estabelecida a cada ciclo.
3.3.5 Algoritmo Final
Com uma maior flexibilidade do tempo para estabelecer uma comunicação com-
pleta, o código final se tornou mais simples do que se esperava. Foram utilizados dois
pinos do PIC para os sensores serem ligados, também foram acrescentados 3 LEDs
para indicar cada estado. Seguindo a tabela 3.5, caso o estado atual seja OK, um
determinado endereço será enviado e o LED correspondente será ligado. No caso do
estado indicar problema no sensor 1 ou 2, seus respectivos LEDs serão acionados e
quando o problema for resolvido, o LED correspondente ao estado OK será acionado
em seguida.
O algoritmo do PIC e do Arduino são similares, as funções de configuração são
idênticas e os dois possuem uma função chamada “Send Byte()” que implementa
o protocolo SPI por software. Apesar do Arduino ter biblioteca open-source para
trabalhar com o nRF24L01+ e ainda possuir um periférico SPI, optou-se por fazer
toda configuração manual para que os códigos nos dois módulos sejam parecidos
visto que o PIC não possui nenhuma dessas vantagens.
Para compilar o código do PIC foi utilizado a própria IDE da Microchip e também
seu compilador, são eles: MPLABX e XC8. Para o Arduino a própria IDE do
Arduino na versão 1.6.9 foi utilizada. O algoritmo desenvolvido tanto para o PIC
24
quanto para o Arduino estão respectivamente no Apêndice A e Apêndice B e foram
desenvolvidos em C.
Os algoritmos podem ser melhor entendidos se forem explicados de maneira se-
quencial, lembrando que a principal função do Remoto é transmitir e a da Base
receber. Por este motivo durante o loop a primeira coisa que o Remoto faz é ser
configurado como transmissor e em seguinda transmitir. Na Base o Arduino é con-
figurado inicialmente como Receptor e começa recebendo informações. A Base per-
manece sempre ligada e teoricamente nunca é reiniciada, já o Remoto é reiniciado
cada vez que a alimentação de 3 V é ligada, a cada 128 ciclos de operação do do-
brador. Deve-se ter uma atenção ao pino RB0(TX IRQ) do PIC. Este pino deve
ser configurado como sáıda no caso de um tranmissor e como entrada no caso de
estar no modo receptor. Quando um dado é recebido, uma interrupção é gerada
nesse pino para indicar que recebeu e após isso ele pode ler o endereço. Através da
figura 3.6, que é um trecho do código do PIC, e com os passos que o processo segue
numerados a seguir, o entendimento do algoritmo torna-se mais simples.
1. O Arduino está configurado como receptor.
2. O PIC é configurado como transmissor.
3. O PIC lê os pinos onde os sensores estão ligados.
4. Caso ele identifique problema no Sensor 1, um endereço equivalente a este
problema é enviado para a base e o LED correspondente deste sensor é ligado.
5. O Arduino recebe a informação e joga na porta serial do computador a tradu-
ção deste endereço.
6. Após o PIC enviar o endereço e ligar o LED, ele imediatamente se configura
como receptor.
7. O Arduino após escrever na porta serial do computador o problema, aguarda
o PIC se configurar como receptor antes de enviar, ou seja, ele espera cerca de
6 ms.
8. O PIC já está configurado como receptor e está aguardando informações da
Base.
25
9. O Arduino se configura como transmissor e em seguida transmite um endereço
correspondente a solução do problema.
10. O PIC recebe a informação do Arduino, que é um comando para que ele apague
o LED do problema no sensor 1.
11. O PIC apaga o LED do problema e acende o LED do estado “OK” que per-
manece assim por 2 ms e depois é apagado.
12. O Arduino se configura como receptor e volta para o ińıcio do loop
13. O PIC volta para o ińıcio do loop.
Todo o processo é análogo para o caso de problema no sensor 2, para o caso de
tudo estar operando normalmente e para o caso de os dois sensores apresentarem
problemas. No caso dos dois sensores sinalizarem problema, os dois LEDs serão
acesos e depois apagados ao receber o comando da base, em seguida o LED cor-
respondente ao estado normal será aceso. Neste algoritmo ainda ocorre problemas
de sincronia, um exemplo é o Arduino demorar a se reconfigurar como receptor e o
PIC já ter voltado para o ińıcio do loop. Neste caso o arduino quando terminar de
se configurar como receptor vai ficar aguardando um endereço do PIC (que por sua
vez já enviou) e o PIC depois que enviou vai entrar num loop aguardando o Arduino
enviar a informação de volta. Entretanto, o Arduino só envia alguma informação se
receber algo do PIC primeiro, isto quer dizer que os dois lados estarão esperando
receber alguma informação para partir pra próxima etapa causando um impasse no
processo. Apesar disto, se o PIC reiniciar, o que de fato ocorre a cada ciclo de ope-
ração, o processo volta a operar normalmente. Este problema foi observado apenas
algumas vezes durante os testes, porém caso o Arduino não receba em um ciclo, ele
receberá no próximo não causando nenhum problema na comunicação.
26
Figura 3.6: Trecho do código.
27
Caṕıtulo 4
Resultados Experimentais
No caṕıtulo 3 o cenário de desenvolvimento foi apresentado, assim como o obje-
tivo de se alcançar uma comunicação completa entre os dois módulos em que um
deles é alimentado pelo gerador eletrostático. Neste caṕıtulo, serão apresentados e
comentados diversos resultados interessantes obtidos durante os experimentos.
4.1 Resultados Práticos
Neste cenário de testes, um osciloscópio foi utilizado para visualização dos gráficos.
Para simular os sensores, foram utilizados dois botões. Ao pressionar os botões, é
como se os sensores estivessem indicando problemas, ao passo que, o estado de “OK”
é simulado quando nenhum dos botões está pressionado. Para simplificar:
1. Estado OK → Nenhum botão está pressionado → Indicado através de um
LED verde.
2. Problema no sensor 1→ Botão 1 pressionado→ Indicado através de um LED
vermelho
3. Problema no sensor 2 → Botão 2 pressionado → Indicado através de outro
LED verde.
Para o módulo remoto, foi criado uma placa experimental com todos os dis-
positivos necessários para a comunicação. As figuras 4.1 e 4.2 mostram os protótipos
utilizados.
28
Figura 4.1: Placa experimental para o módulo remoto.
Figura 4.2: Placa experimental e Gerador Eletróstático.
29
Para o módulo base, a ligação do transceptor foi feita diretamente ao Arduino,
como mostra a figura 4.3, que por sua vez está sendo alimentado através da porta
USB do computador.
Figura 4.3: Arduino e Transceptor.
De modo geral, todo o sistema funciona como deveria. Ao pressionar um botão,
seu respectivo LED acende, em seguida apaga quando recebe a informação da base
e o LED de estado OK é ligado na sequência. Para o estado de OK (nenhum botão
pressionado), o LED verde acende e também só se apaga quando recebe a instrução
da base.
Como descrito no caṕıtulo 3, toda vez que o base receber um sinal do remoto,
o Arduino escreverá na porta serial o significado do endereço recebido. Isto pode
ser verificado nas figuras 4.5, 4.4 e 4.6, no instante que os botões indicadores de
problemas foram pressionados por alguns segundos. Enquanto nenhum dos botões
estava pressionado, um sinal de OK é impresso na tela. No momento que o botão
30
é pressionado o respectivo sinal pode ser visualizado na tela e em seguida quando
largamos o botão, o estado de OK volta a aparecer.
Figura 4.4: Porta serial problema 2.
Figura 4.5: Porta serial problema 1.
31
Figura 4.6: Problemas em conjunto.
4.2 Resultados Teóricos
Para entender os resultados teóricos, deve-se levar em consideração algumas va-
riáveis importantes. Como foi dito no caṕıtulo 2, um contador é responsável por
acionar a carga a cada 128 acionamentos do conversor, isto corresponde a 3.5 ms
aproximadamente de espera entre cada ciclo de acionamento da carga como mostra
a figura 4.7. Além disso o capacitor ótimo que deve ser colocado em paralelo com a
entrada do circuito da figura 2.6, também mencionado no caṕıtulo 2, deve ser levado
em conta, pois caso não exista este capacitor o circuito não consegue entregar tanta
potência. Isto pode prejudicar o valor calculado para a sáıda do circuito, uma vez
que não consiga potência suficiente para entregar uma tensão de 3 V na sáıda do
regulador.
Outro ponto muito importante a ser avaliado, são os capacitores das figuras 4.8 e
4.9 que foram retiradas do circuito de controle original. O capacitor de 22 nF que
pode ser observado na figura 4.8 é responsável por controlar o tempo do monoes-
tável, ou seja, quanto maior for este capacitor mais tempo teremos dispońıvel para
transmitir e receber informações. Exemplos assim serão mostrados ao longo deste
caṕıtulo, porém é fácil de entender que quanto maior for o capacitor, mais energia
32
Figura 4.7: Acionamentos do remoto em vermelho e recarga da fonte de 3 V
em azul.
é acumulada e então mais tempo teremos dispońıvel até que ele descarregue.
Figura 4.8: Capacitor que controla o tempo do monoestável.
A figura 4.9 mostra a sáıda regulada de 3 V que alimenta todos os dispositivos da
estação remota. Na figura, dois capacitores de 100 uF em paralelo são responsáveis
por fazer o filtro da fonte de sáıda. Quando retira-se um capacitor e a sáıda fica com
100 uF de capacitância ao contrário dos 200 uF obtido com os dois capacitores em
33
Figura 4.9: Capacitor de sáıda.
paralelo, o consumo torna-se mais viśıvel quando observado no osciloscópio, visto
que deste modo a queda de tensão provocada pelo consumo será duas vezes mais
abrupta.
As figuras 4.10, 4.11 e 4.12 , referem-se às condições do circuito de controle:
• 100 uF na sáıda regulada de 3 V.
• Não possui capacitor ótimo ou qualquer capacitor em paralelo com a entrada.
• Capacitor do monoestável igual a 22 nF.
Na figura 4.10 a curva em azul é o LED verde indicador de estado OK e a curva
em vermelho é a sáıda regulada de 3 V, ou seja, alimentação de todo circuito da
estação remota. Neste caso, esperava-se que a sáıda ficasse regulada em 3 V. Entre-
tanto, observa-se na figura que a curva em vermelho encontra-se abaixo deste valor
estando em aproximadamente 2.8 V. Isto se deve a falta do capacitor em paralelo
com a entrada do circuito, o que causa uma entrega de potência menor do que a
posśıvel e tornando o sistema não confiável, já que alguns dos componentes pode-
riam não ligar com um valor abaixo do calculado. A alimentação está dispońıvel por
aproximadamente 16 ms até que ela desligue novamente. Espera-se que o LED vá
para ńıvel alto após a transmissão do PIC e que quando receba o comando da base
o LED vá para ńıvel baixo. De fato, podemos identificar isto na figura, enquanto
ainda há alimentação o LED passa um peŕıodo ligado e depois volta para ńıvel baixo.
34
Figura 4.10: LED em azul e sáıda regulada de 3 V em vermelho.
Para garantir que o sinal observado do LED está ligando e desligando no mo-
mento certo, deve-se observar a figura 4.11 onde a curva em vermelho indica o pino
RB5(TX CE) do PIC, a curva em azul é o LED e a verde a sáıda regulada de 3 V.
A idéia aqui fica mais clara se o código desenvolvido no Anexo A ou a figura 3.6
for analisado em conjunto. Quando o PIC inicia a execução do código, este pino
permanece em ńıvel baixo até que a função Transmit Data() chegue quase ao fim,
dado que a última coisa que ela faz é pulsar o pino por exatos 1 ms. Na figura é fácil
identificar este momento e ainda observar que o LED é ligado logo em seguida como
era de se esperar. O LED só deve desligar quando a base retornar com o respectivo
comando, neste caso, observar o pino RB5 não traz muita informação. Entretanto,
observamos que o LED apaga quase no fim da alimentação do dobrador e ainda que
há um consumo considerável neste final.
Observando o código, também sabe-se que o PIC só recebe algum comando da
base quando ocorre uma interrupção no pino RB0(TX IRQ) fazendo com que este
35
Figura 4.11: LED em azul, Pino CE do PIC em vermelho e sáıda regulada
de 3 V em verde.
vá para ńıvel baixo para ler a informação e retorne para o ńıvel alto em seguida.
Nas figuras anteriores, se considerado o ińıcio da alimentação como 0 ms, o LED
é apagado um pouco depois dos 15 ms. Na figura 4.12 a curva em azul é o pino
RB0 do PIC e a em vermelho a alimentação proveniente do dobrador. Em um dado
momento ocorre a interrupção no pino, e ele vai para ńıvel baixo, e então um pouco
depois dos 15 ms ele retorna para ńıvel alto, que é um momento imediatamente
anterior ao momento que o LED retorna a ńıvel zero. Pode-se dizer que isto dá
ind́ıcios de que o LED só é apagado depois que ele recebe a informação da base.
36
Figura 4.12: Pino RB0 do PIC em azul e sáıda regulada de 3 V em vermelho.
As figuras 4.13, 4.14 e 4.15, referem-se às condições do circuito de controle:
• 200 uF na sáıda regulada de 3 V.
• Foi colocado um capacitor de 220 pF em paralelo com a entrada do circuito,
sendo este não necessariamente ótimo.
• Capacitor do monoestável igual a 27 nF na figura 4.13 e 4.14 e igual a 47 nF
na 4.15.
Espera-se que com as descrições acima, a sáıda regulada de 3 V esteja acima dos
2.8 V dado que um capacitor em paralelo com a entrada foi colocado. As quedas
devido ao consumo na curva da alimentação sejam duas vezes mais suaves à vista do
capacitor na sáıda regulada ser duas vezes maior e que a alimentação perdure por
37
mais tempo visto que os capacitores do monoestável são maiores do que nos gráficos
anteriores.
Na figura 4.13 a curva azul é a sáıda regulada de 3 V e a vermelha um LED
identificador de problema. Primeiramente, com o capacitor de 27 nF o tempo de
alimentação que antes era de 16 ms, subiu para 19 ms. Ainda verificamos que a
alimentação está até um pouco acima dos 3 V e as transições da curva mais suaves
confirmando todas as previsões para este cenário. Nesta figura e na 4.14 o cenário
é um botão sendo pressionado, ou seja, um indicativo de problema será enviado
para a base. O LED na figura foi acionado e em algum momento desligado, como
dito anteriormente, ele liga imediamente após o PIC transmitir o sinal e desliga
imediatamente depois do PIC receber o comando da base.
Figura 4.13: Sáıda regulada de 3 V em azul e LED sinalizador de problema
em vermelho.
38
No código desenvolvido, logo após o PIC receber um comando da base no caso
de ter enviado um sinal de problema, ele deverá piscar o LED sinalizador de estado
OK por 2 ms. Existe um delay no algoritmo desenvolvido para garantir que o LED
ficará ligado por pelo menos 2 ms após apagar o LED sinalizador do problema. Na
figura 4.14, as curvas são as mesmas da figura anterior, com o acréscimo de uma
em verde que representa o LED referente ao estado OK. Este LED é aceso logo em
seguida do LED do problema ter apagado e permanece assim por 2 ms como era de
se esperar indicando que todo funcionamento está seguindo a sincronia desejada.
Figura 4.14: Sáıda regulada em azul, LED sinalizador de problema em ver-
melho e LED referente ao estado OK em verde.
Na figura 4.15 um capacitor de 47 nF foi colocado no monoestável, esperando
que este concedesse um maior tempo para que o PIC continue ligado executando as
tarefas de transmissão e recepção. No pino RB0 do PIC, como dito em figuras an-
teriores, ocorre uma interrupção toda vez que o PIC recebe alguma informação. Na
figura observa-se claramente que ocorrem duas interrupções durante o tempo em que
39
a alimentação está ligada, sendo este tempo de aproximadamente 32 ms com a troca
do capacitor. Como praticamente a última tarefa que o PIC realiza é receber uma
informação, duas comunicações completas foram efetuadas durante este intervalo.
No primeiro cenário experimental, o PIC realizava um comunicação completa em 16
ms e recebia praticamente no final do tempo dispońıvel de alimentação. Com um
tempo duas vezes maior ele conseguiu efetuar duas comunicações completas como
era de se esperar.
Figura 4.15: Pino RB0 do PIC em vermelho e sáıda regulada em azul.
Nas figuras 4.16, 4.17, 4.19, 4.20 e 4.21 as condições são idênticas às da figura 4.15.
Portanto espera-se observar um tempo de alimentação igual a aproximadamente 32
ms, além das outras condições observadas no cenário de testes anterior. Análises
mais detalhadas quanto ao consumo da estação remota serão avalidas nestas figuras.
Para uma melhor identificação dos momentos em que o PIC é configurado como
transmissor, o dado é transmitido, o PIC é configurado como receptor e o dado é
40
recebido, a figura 4.16 apresenta além da curva da sáıda regulada, um sinal continu-
amente pulsado que está ligado ao pino RB6(TX SCK) do PIC. Verificando o algo-
ritmo desenvolvido, nota-se que todas as vezes que um byte é enviado ou recebido,
este pino correspondente ao SCK da comunicação SPI entre o PIC e o transceptor
é pulsado. Anteriormente foi dito que após a função de configuração de transmis-
sor Transmitter Config() seguido da função de envio de dado Transmit Data() o
pino correspondente ao TX CE permanece ligado por 1 ms. Como não há envio
de byte durante este intervalo, por o circuito está realizando um delay, o pino SCK
também sofre este delay ficando desligado por exatos 1 ms como mostra o primeiro
espaçamento entre os pulsos na figura. Neste momento então, o dado foi enviado.
Figura 4.16: Pino RB6 do PIC em vermelho e sáıda regulada em azul.
Em seguida, o PIC trata de chamar a função Receiver Config() para se con-
figurar como receptor e então espera a interrupção no pino RBO(TX IRQ). Este
segundo momento de espera também está claro na figura, indicando que o PIC está
configurado como receptor e está esperando informação da base. Nenhum byte é
41
enviado ou recebido neste momento, o que faz o pino TX SCK permanecer no seu
último estado. Após este momento, a função Read Payload() é chamada para que
o dado recebido seja lido. Como há byte para ser recebido o pino TX SCK volta
a pulsar e depois espera 2 ms que é o delay que possui no código para indicar fim
de uma comunicação completa entre os módulos. Lembre-se que nesta configuração
duas comunicações completas devem ocorrer dentro de um ciclo do dobrador, sendo
que a figura não mostra o final da segunda comunicação, basta verificar a escala.
Por isto após o terceiro espaçamento o pino TX SCK volta a pulsar, o que indica
que todo o processo recomeçou.
A figura 4.17 é só para indicar onde o pulso da interrupção ocorre. Para que,
comparando com a figura anterior, perceba-se o momento exato que ele recebeu. Ao
analisar o gráfico, este momento ocorre aproximadamente no meio da terceira reta, a
mais abrupta de todas, que se comparado a figura anterior, é imediatamente depois
de se receber o dado e então iniciar a sua leitura.
Figura 4.17: Pino RB0 do PIC em vermelho e sáıda regulada em azul.
42
Um diagrama de tempo foi criado em uma situação de problema no sensor 1. A
figura 4.18 mostra todo o processo envolvendo os pinos anteriormente citados e os
LEDs acendendo em sincronia e no momento correto. A situação foi simulada com
o capacitor que controla o monoestável igual a 22nF onde é praticamente o tempo
exato para acontecer apenas uma comunicação completa. Os intervalos de tempo
são aproximados e podem ser vistos nas figuras anteriores em escala. Nos primeiros
6.5 ms são enviados 25 bytes da PIC para o rádio onde o último é o endereço que faz
parte do protocolo, ou seja, que indicará o estado dos sensores. Para configuração do
receptor, que demora 5 ms, são enviados 20 bytes da PIC para o rádio. O segundo
intervalo que o SCK fica parado em ńıvel baixo é o intervalo em que a PIC está
esperando a resposta do Arduino, este tempo é ligeiramente variável porém gira
em torno de 1 ms. Logo em seguida a PIC prepara o rádio para ler o byte que o
Arduino enviou como resposta, neste momento a PIC envia 1 byte para o rádio, lê o
byte recebido e depois envia 3 bytes para limpar o rádio e preparar para a próxima
configuração.
Figura 4.18: Diagrama de tempo quando há problema no sensor 1.
As figuras 4.19 e 4.20 também são comparativas. A primeira delas apenas mostra
o LED sinalizador de OK ser aceso duas vezes no estado de nenhum problema.
43
A segunda ilustra uma mudança no algoritmo desenvolvido. Em todas as figuras
anteriores, em qualquer cenário, é posśıvel observar uma queda mais acentuada na
terceira reta e ao final da comunicação na curva da sáıda do dobrador. A partir disto,
pode-se afirmar que o consumo é bem maior neste instante do que nos anteriores.
Como verificado na figura 4.16 este é o momento em que o PIC está configurado
como receptor, que por algum motivo, faz com que o consumo seja bem maior do que
na configuração de transmissor. Para tentar reduzir o tempo que o PIC permanece
neste estado, logo após ele receber um comando da base e ler o dado, antes de realizar
as tarefas referentes a este comando, ele volta a se configurar como transmissor para
que o consumo volte a ser reduzido. Como observado também no gráfico da figura
4.16, toda configuração demora alguns milisegundos para ocorrer. Enquanto o PIC
está voltando a configuração de transmissor, o LED ainda não foi apagado pois o
comando enviado pela base não foi executado ainda. Após a configuração como
transmissor ser efetuada, o PIC então realiza a operação de apagar o LED. De fato,
a reta de maior consumo permaneceu em queda por menos tempo.
Figura 4.19: LED sinalizador de OK em azul e sáıda regulada em vermelho.
44
Figura 4.20: LED sinalizador de OK em vermelho e sáıda regulada com menor
consumo em azul.
A situação correspondente à figura 4.21 é a de uma sinalização de problema onde
a curva em azul, em escala diferente das demais, representa a sáıda regulada. As
curvas vermelha e verde são LEDs (vermelho é problema 1 e verde é estado OK). A
configuração é a mesma das duas últimas figuras, na tentativa de reduzir o consumo
deixando o transceptor configurado como receptor menos tempo, e por consequência,
o LED do problema ligado por mais tempo. Ainda assim a sincronia é mantida com
o LED sinalizador de OK piscando em seguida.
Uma análise de consumo mais quantitativa será feita olhando para a figura 4.19. A
sáıda do regulador é composta por uma capacitância de 200 µF e esta sáıda alimenta
toda estação remota. Para medir o consumo médio, podemos considerar a queda de
tensão em cima de um capacitor de 200 µF através da equação 4.1.
45
Figura 4.21: LED sinalizador de problema em vermelho, de estado OK em
verde e sáıda regulada ampliada em azul.
i = C∆V
∆T(4.1)
Observando as três retas da figura, a primeira é referente ao consumo durante a
transmissão, a segunda durante a configuração como receptor e a terceira é referente
ao consumo enquanto receptor e lendo o dado. Os consumos de cada uma das estapas
são calculados a seguir:
• Primeira reta:
i = 200 µF · 300 mV6.5 ms
= 9.2 mA (4.2)
• Segunda reta:
i = 200 µF · 120 mV5.1 ms
= 4.7 mA (4.3)
• Terceira reta:
i = 200 µF · 400 mV4.1 ms
= 19.5 mA (4.4)
46
Analisando os resultados, a configuração como receptor consome mais de duas
vezes mais que a transmissão completa.
Através da figura 4.7 também pode se calcular quanto o dobrador fornece de
potência. No caso desta figura tinha-se 200 µF de capacitância na sáıda da fonte de
3 V e a tensão varia de 2.3 a 3.3 em 3.5s:
E = CV 2
2(4.5)
Onde E é a energia do capacitor, V a tensão e C a capacitância.
E1 = 200 µF ·2.32
2= 529 µJ (4.6)
E2 = 200 µF ·3.32
2= 1089 µJ (4.7)
P =(E2 − E1)
∆T(4.8)
Sendo P a potência fornecida pelo dobrador:
P =(1089 µJ− 529 µJ)
3.5 s= 160 µW (4.9)
Portanto, o gerador eletrostático na sáıda regulada de 3 V fornece um total de
160 µW de potência. Com esta potência duas operações acontecem, para o caso de
uma só, a potência seria por volta de 80 µW.
47
Caṕıtulo 5
Conclusão e Trabalhos Futuros
5.1 Conclusão
O projeto se concentrou em descobrir se há possibilidade de utilizar a energia do
gerador elestrostático para construir uma rede de sensores. Para isso, precisou-se
estudar se há energia e tempo suficientes para realizar uma comunicação satisfatória
com a base de controle.
Durante todos os testes, a energia fornecida pelo gerador eletrostático foi suficiente
para permitir uma comunicação completa do módulo remoto com a base. Verificou-
se também que o PIC consome muito mais na configuração de receptor do que na
de transmissor.
Apesar do primeiro teste ter sido feito com apenas 16 ms de alimentação do módulo
remoto, foi verificado que poderia se aumentar o capacitor que controla o tempo do
monoestável, até um certo limite, de maneira que permita milisegundos a mais para
realização da comunicação.
Muitos cenários de testes ainda podem ser desenvolvidos. A máquina de Wilson
pode ser usada no lugar do dobrador de Bennet para gerar maior potência, fazendo
com que dispositivos mais modernos possam ser utilizados. O maior problema visto
neste projeto, foi quanto a sincronia entre os módulos. Certamente, com uma rede
de sensores e mais microcontroladores fazendo parte do cenário, um protocolo de
comunicação deverá ser estudado para suprir a demanda da necessidade de sincro-
48
nia que haverá e a fim de especificar de qual sensor provém a informação recebida.
A partir deste projeto, foi posśıvel demonstrar que há possibilidade de realizar co-
municação sem fio, sem uso de bateria ou rede elétrica para controlar a transmissão
e recepção de informações sensoriais.
5.2 Trabalhos Futuros
Com o sucesso da comunicação entre os módulo remoto e a base, existem diversas
possibilidades de configurações a se testar. Muitas das ferramentas utilizadas, assim
como os dispositivos, podem ser trocados a fim de trazer mudanças significativas
para melhoria do projeto.
O compilador C utilizado foi bem simples e em versões básicas. Caso um compila-
dor superior a este seja utilizado, o código será muito melhor otimizado, permitindo
que a execução do algoritmo seja significativamente mais rápida. Ainda com relação
ao algoritmo, poderia se diminuir as configurações do receptor uma vez que parte
delas já foram realizadas na configuração de transmissor, assim o tempo certamente
também seria menor pois cada configuração demora cerca de 6 ms para completar.
No caṕıtulo 4 também foi demonstrado que trocando algumas tarefas de lugar tam-
bém é posśıvel reduzir o tempo em que o PIC fica configurado como receptor afim
de reduzir o consumo.
Sobre os dispositivos eletrônicos, versões mais modernas podem ser testadas para
garantir um protocolo de comunicação mais confiável. O transceptor nRF24L01+
dispõe de versões superiores que possuem controladores internos. Com isto poderia
se estudar se o PIC continuaria sendo necessária. Se o PIC continuar sendo um
microcontrolador indispensável, pode-se estudar a possibilidade de utilizar versões
com periféricos utéis, tais como SPI e também clocks internos superiores aos 4 Mhz
do modelo utilizado neste trabalho. A utilização de um módulo SPI interno econo-
mizaria algumas linhas de código, mas a eficiência da utilização deste periférico deve
ser avaliada. Não se pode esquecer que se ainda for utilizado o dobrador de Bennet
como gerador de energia, um capacitor ótimo deve ser calculado para garantir maior
entrega de potência.
49
Como visto, inúmeras possibilidades podem ser testadas e avaliadas. Certamente
com a possibilidade do uso da energia de geradores eletrostáticos autônomos, o
monitoramento de variáveis através de sensores pode ser excessivamente simplificado.
50
Bibliografia
[1] QUEIROZ, A. C. M., “Electrostatic Vibrational Energy Harvesting Using a
Variation of Bennet’s Doubler”, 53rd IEEE Midwest Symposium on Circuits
and Systems, Seattle, USA, pp. 404–407, 2010.
[2] QUEIROZ, A. C. M., DOMINGUES, M., “Electrostatic Energy Harvesting
Using Doublers of Electricity”, 54th IEEE Midwest Symposium on Circuits and
Systems, Seoul, Korea, pp. 1–4, 2011.
[3] QUEIROZ, A. C. M., SOUZA, M. S., “Batteryless Electrostatic Energy Har-
vester and Control System”, Circuits and Systems (ISCAS), 2014 IEEE Inter-
national Symposium on, pp. 1–4, 2014.
[4] QUEIROZ, A. C. M., DOMINGUES, M., “Electrostatic generators for vibra-
tional energy harvesting”, IEEE Latin American Symposium on Circuits and
Systems, Cusco, Peru, pp. 1–4, 2013.
[5] QUEIROZ, A. C. M., “Electrostatic generators for vibrational energy harves-
ting”, 2013 IEEE Latin American Symposium on Circuits and Systems, Cusco,
Peru, pp. 1–4, 2013.
[6] QUEIROZ, A. C. M., DOMINGUES, M., “The doubler of electricity used as
a battery charger”, IEEE Trans. on Circuits and Systems II, No. 12, v. 58,
pp. 787–801, 2011.
[7] QUEIROZ, A. C. M., “Analysis of the operation of a regenerative electrostatic
energy harvester”, Circuits and Systems (ISCAS) IEEE International Sympo-
sium on, pp. 1074–1077, 2015.
51
[8] QUEIROZ, A. C. M., “Energy harvesting using symmetrical electrostatic gene-
rators”, Circuits and Systems (ISCAS) IEEE International Symposium on, pp.
650–653, 2016.
[9] MICROCHIP, PIC16F627A/628A/648A Data Sheet, Report DS40044F, Mi-
crochip, 2007.
[10] NORDIC SEMICONDUCTOR, nRF24L01+ Product Specificationt, Report
Revision 1.0, Nordic, 2008.
52
Apêndice A
Algoritmo PIC
/** File: remoto.c* Author: Mayli Silva de Souza** Created on Setembro de 2016*/#include #include #include // #pragma config statements should precede project file includes.// Use project enums instead of #define for ON and OFF.// CONFIG#pragma config FOSC = INTOSCIO // Oscillator Selection bits (INTOSC oscillator: I/O functionon RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)#pragma config MCLRE = OFF // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is digital input, MCLR internallytied to VDD)#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)#pragma config LVP = OFF // Low-Voltage Programming Enable bit (RB4/PGM pin has digital I/O function, HV on MCLR must be usedfor programming)#pragma config CPD = OFF // Data EE Memory Code Protection bit (Data memory code protection off)#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)#define _XTAL_FREQ 4000000#define TX_MOSI PORTBbits.RB2 //Serial Slave Input.#define TX_MISO PORTBbits.RB7 //Serial Slave Output.#define TX_IRQ PORTBbits.RB0 //Interrupçao de saı́da. Ativo baixo#define TX_CE PORTBbits.RB5 //Chip Enable. Ativa modo TX ou RX#define TX_CSN PORTBbits.RB3 //Chip Select Not. Seleciona o chip zero#define TX_SCK PORTBbits.RB6 //SPI Clock.#define GREEN_LED_OK PORTAbits.RA6#define GREEN_LED PORTAbits.RA0#define RED_LED PORTBbits.RB4unsigned char payload;int flag_receive = 1;unsigned char data;void Send_Byte(char dado){
unsigned int bit_ctr;for(bit_ctr = 0;bit_ctr < 8;bit_ctr++){
if(dado & 0x80)TX_MOSI = 1;
elseTX_MOSI = 0;
dado = (dado CONFIG ; data -> PTX, power down, CRC Enable 1 byteSend_CmdData (0x24, 0x00); //cmd -> SETUP_RETR ; data-> auto retransmit offSend_CmdData (0x23, 0x03); //cmd -> SETUP_AW ; data -> address 5 byteSend_CmdData (0x26, 0x09); //cmd -> RF_SETUP ; data -> 2Mbps, -18dbmSend_CmdDa