• Nenhum resultado encontrado

Sunny Spots: Sistema de Produção e Distribuição de Energia Solar para Sistemas Embarcados

N/A
N/A
Protected

Academic year: 2021

Share "Sunny Spots: Sistema de Produção e Distribuição de Energia Solar para Sistemas Embarcados"

Copied!
85
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA

CURSO DE BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO

MATHEUS CASA NOVA DA LUZ

Sunny Spots: Sistema de Produção e Distribuição de

Energia Solar para Sistemas Embarcados

RECIFE 2021

(2)

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA

CURSO DE BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO

MATHEUS CASA NOVA DA LUZ

Sunny Spots: Sistema de Produção e Distribuição de Energia

Solar para Sistemas Embarcados

Monografia apresentada ao Centro de Informática (CIN) da Universidade Federal de Pernambuco (UFPE), como um requisito parcial para conclusão do Curso de Engenharia da Computação, orientada pela professora Edna Natividade da Silva Barros.

RECIFE 2021

(3)

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA

CURSO DE BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO

MATHEUS CASA NOVA DA LUZ

Sunny Spots: Sistema de Produção e Distribuição de Energia Solar para

Sistemas Embarcados

Monografia submetida ao corpo docente da Universidade Federal de Pernambuco, defendida e aprovada em ______ de _____________ de 2021

BANCA EXAMINADORA

__________________________________________________ Prof. Dra. Edna Natividade da Silva Barros (Orientador)

Universidade Federal de Pernambuco

__________________________________________________ Prof. Dr. Sérgio Cavalcante (Examinador)

Universidade Federal de Pernambuco

RECIFE 2021

(4)

Dedico este trabalho para minha família: minha mãe, Fátima Casa Nova e meu irmão, Thiago Casa Nova. Por nunca terem me deixado desistir.

(5)

AGRADECIMENTOS

Essa página não seria o bastante para agradecer a todos. Mas farei meu melhor.

Primeiramente, eu queria agradecer a pessoa que me deu a vida. Que se sacrificou diariamente para que eu pudesse comer, ter um teto sobre minha cabeça, e que eu pudesse estudar. Maria de Fátima Cristina Poças Amorim Casa Nova, também conhecida como minha mãe é a definição de guerreira. Com ela, eu aprendi que o estudo é tudo. E que livros e trabalho duro é tudo que eu precisaria para alcançar meus objetivos. Mãe, esse trabalho é tão seu quanto o meu. Obrigado pela vida e pelo privilégio que é ser seu filho.

Eu gostaria de agradecer ao meu irmão, Thiago Casa Nova. Thiago é a pessoa mais centrada e focada que eu já conheci. Um foco absoluto em conseguir o que quer. Obrigado por ter me feito companhia nessa jornada. Você vai fazer grandes coisas, eu não tenho dúvida alguma disso.

Eu quero agradecer a minha consorte, Maíra de França Nunes. Por sempre cuidar de mim, mesmo quando eu claramente não faço as vezes, sempre apontar meus erros com amor e sempre querer meu bem. Obrigado por sempre estar ao meu lado. Eu te amo.

Queria agradecer a todos os educadores do CIn, mas principalmente a minha orientadora. Quero agradecer a professora Edna, que sempre foi uma figura chave na minha graduação. Ela serviu de ponte para tantos alunos alcançarem seus sonhos. E mesmo em momentos difíceis, onde eu tinha desistido, ela nunca desistiu de mim. Professora, muito obrigado pela oportunidade de alcançar meu sonho: ser um Engenheiro da Computação.

Eu quero agradecer a meus amigos do tempo de escola. Obrigado a vocês, se eu estou aqui agora foi porque tive vocês de apoio. Em especial Ricardo, a pessoa mais empolgada que eu conheço.

Quero agradecer a todos os alunos e ao laboratório ESTUFA. O ambiente colaborativo da ESTUFA que auxiliou em grande escala não só este projeto, como minha graduação. Muito obrigado por tudo pessoal.

Quero agradecer ao pessoal do laboratório de hardware, onde passei tardes imensas rindo, conversando e relaxando. Obrigado por serem um porto seguro nesse curso.

Esse curso foi a coisa mais difícil que eu já fiz. Mas também foi a mais incrível. As noites mal dormidas, as cadeiras reprovadas, as lágrimas e o suor. Todos valeram. Escalei a montanha.

(6)

Todo grande sonho começa com um sonhador.

Sempre se lembre, você tem dentro de você

a força, a paciência e a paixão para alcançar

as estrelas e mudar o mundo.”

(7)

RESUMO

Sistemas embarcados são uma das aplicações mais usadas cotidianamente e a que passa mais despercebida pela percepção geral do público. Sistemas embarcados são a junção de trabalho de arquitetura de hardware e software para aplicações pontuais, com objetivos específicos e bem menos generalista do que sistemas de propósito mais geral. De hospitais até em brinquedos, esse tipo de sistema tem diversos tipos de preocupações a serem levadas em consideração na sua fase de implementação, como estrutura do código, periféricos usados, circuito implementado, entre outros requisitos importantes. Um requisito funcional muito relevante para esse tipo de sistema é o consumo energético. Sendo um ponto-chave em várias decisões feitas sobre o desenvolvimento de qualquer dispositivo. Este trabalho nasce dessa preocupação. Sunny Spots é um dispositivo embarcado IoT que tem como função geração de energia elétrica via um painel solar que é movido por motores de passos, com o objetivo de seguir o sol em sua trajetória. Dessa forma produzindo energia elétrica e a fornecendo-a para outros sistemas que podem ser conectados a ele. O Sunny tem como objetivo servir de apoio para outras aplicações embarcadas, tirando o peso da preocupação energética desses sistemas além de fornecer algumas leituras sobre o ambiente para esses sistemas.

Palavras-chave: Sistemas Embarcados, Energia Solar, Consumo Energético, Internet das Coisas

(8)

ABSTRACT

Embedded Systems are one of the most used applications daily and one of the most unnoticed by the public. Embedded Systems are the union between the hardware architecture and software for small and punctual applications, with very specific and much less generalist than other more general-purpose systems. From hospitals to toys, this kind of system has many concerns to be taken into mind on the implementation phase, such as code structure, peripheries that will be used, implemented circuits, and others. One of the most vital concerns is energy consumption. It is a focal point in many decision-makings about the development of any device. This work is borne of this concern. Sunny Spots is an IoT embedded device with the function of producing solar energy using a solar panel that is moved by step motors to follow the sun in its trajectory. So, producing energy and distributing it with other systems that may be connected to it. Sunny has the objective of serving as a helper for other embedded applications, lifting the weight of energy from these systems, and supplying some readings of the environment for these applications.

(9)

Sumário

1. Introdução... 16 1.1. Motivação ... 16 1.2. Objetivos ... 16 1.3. Estrutura do Documento ... 17 2. Conceitos Básicos ... 19 2.1. Energia Solar ... 19 2.2. Posição Solar ... 20 2.3. ESP32 ... 20 3. Trabalhos Relacionados ... 22

3.1. Mono-axial Solar Tracker with Equatorial Mount, for an improved Model of a Photovoltaic Panel [7] ... 22

3.2. Microcontroller Based Dual Axis Sun Tracking System for Maximum Solar Energy Generation [8] ... 23

3.3. Análise Comparativa ... 24

4. Sistema de Produção e Distribuição de Energia Solar para Sistemas Embarcados ... 25

4.1. Visão Geral ... 25 4.1.1. Requisitos Funcionais ... 26 4.1.2. Requisitos Não-Funcionais ... 28 4.1.3. Casos de Uso ... 30 4.2. Implementação... 38 4.2.1. Arquitetura ... 38 4.2.2. Módulo de Produção ... 39 4.2.2.1. Sensoriamento ... 40 4.2.2.2. Mecânica ... 41 4.2.2.3. Processamento ... 44

4.2.3. Módulo de Gerenciamento de Bateria ... 47

4.2.3.1. Divisor de Tensão para Entrada Analógica da ESP32 ... 47

4.2.3.2. Função de Cálculo de Nível da Carga ... 49

4.2.3.3. Modo Economia ... 51

4.2.4. Módulo de Comando ... 53

(10)

4.2.6. Módulo de Interface Usuário ... 56

4.2.7. Módulo de Comunicação ... 58

4.3. Software ... 59

5. Experimentos e Análise ... 62

5.1. UC-1, Instalação do Sistema ... 63

5.2. UC-3,4,5,6: Sistema-Mestre envia comandos para o Sunny Spots ... 69

5.2.1. Um Sistema Mestre ... 69

5.2.2. Leitura de Luminosidade ... 70

5.2.3. Leitura da Carga ... 71

5.2.4. Modo Economia ON/OFF ... 72

5.3. UC-7 Envio de dados para servidor ... 74

5.3.1. Cenário Normal ... 74

5.3.2. LDR desconectado ... 76

5.3.3. ERRO bateria ... 77

6. Conclusões e Trabalhos Futuros ... 78

6.1. Dificuldades encontradas ... 79

6.2. Trabalhos futuros ... 80

(11)

Lista de Figuras

Figura 1 - Estrutura de um painel fotovoltaico ... 19

Figura 2 - Ângulos Azimute e Elevação ... 20

Figura 3 - Pinout da ESP32 Devkit V1 - DOIT ... 21

Figura 4 - Sistema proposto por [7] ... 22

Figura 5 - Arquitetura do sistema [8] ... 23

Figura 6 - Arquitetura do Sunny Spots ... 25

Figura 7 - Diagrama de Blocos do Sunny Spots ... 39

Figura 8 - Arquitetura do Módulo de Produção ... 40

Figura 9 - Giroscópio MPU-6050 ... 40

Figura 10 - Módulo GPS NEO6MV2 ... 41

Figura 11 - RTC DS1307 ... 41

Figura 12 - Motor de Passos 28BYJ-48 (Periférico Cinza) e Driver ULN2003 ... 42

Figura 13 - Painel Fotovoltaico ... 42

Figura 14 - Painel fotovoltaico atrelado a parte mecânica ... 43

Figura 15 - Alavanca de Movimentação vertical, mais o motor de passos responsável pelo seu acionamento. ... 43

Figura 16- Alavanca de Movimentação Horizontal, o motor de passos está acionando a engrenagem de cor preta. ... 43

Figura 17 - Fluxograma do Módulo de Processamento ... 44

Figura 18 - Orientação Inicial do Painel ... 45

Figura 19 - Exemplos Ângulos possíveis para Elevação (a) 0º, (b) 45º e (c) 90º ... 45

Figura 20 - Exemplos de ângulos possíveis para Azimute (a) 180º, (b) 90º e (c) 0º (Painel apontando para o Norte em (c) e para o Sul em (a) e para o Leste em (b)) ... 46

Figura 21 - Fluxograma do acionamento dos motores ... 47

Figura 22 - Bateria LGDBB31865 ... 48

Figura 23 - LiPo Rider v1.3 ... 48

Figura 24 - Conversor DC-DC Step Down LM2596 ... 48

Figura 25 - Esquema de Divisor de Tensão ... 49

Figura 26 - Circuito Divisor de Tensão desenvolvido ... 49

Figura 27 - Equação de cálculo de tensão recebido do divisor (Vout) ... 50

Figura 28 - Equação para Cálculo da tensão atual da bateria ... 50

(12)

Figura 30 - Fluxograma do Módulo de Gerenciamento de Bateria ... 51

Figura 31 - Esquema de desligamento de módulos ESP32 no modo Deep Sleep ... 52

Figura 32 - Esquema de Conexão Protocolo UART ... 53

Figura 33 - Conexão UART entre Sunny Spots e Sistema-Mestre ... 55

Figura 34 - Resistor LDR ... 55

Figura 35 - Circuito de Detecção de Luminosidade - LDR ... 56

Figura 36 - Máquina de Estados do Módulo Interface Usuário ... 57

Figura 37 - Formato dos Dados no Firebase... 58

Figura 38 - Fluxograma do Módulo de comunicação... 59

Figura 39 - Partição escolhida na Arduíno IDE ... 60

Figura 40 - Protótipo Construído ... 62

Figura 41 - Ligando Botão Standby, sistema iniciando ... 63

Figura 42 – WiFi conectada com sucesso ... 64

Figura 43 - Confirmando que a posição do Painel está ao Norte ... 65

Figura 44 - Sistema informa tentativa de adquirir as informações do GPS ... 65

Figura 45 - Sistema teve sucesso em ler as informações do GPS ... 66

Figura 46 - Sistema Atualizando informações na base do Firebase ... 67

Figura 47 - Realtime Database Firebase sendo atualizado ... 67

Figura 48 - Sistema finalizando setup inicial e começando a produção. ... 68

Figura 49 - Sistema-Mestre ... 69

Figura 50 - Conexão do Sistema-Mestre com Sunny Spots ... 70

Figura 51 - Cenário Iluminado ... 71

Figura 52 - Cenário Escuro ... 71

Figura 53 - Requisição do Nível de Carga ... 72

Figura 54 - Modo Economia ON ... 73

Figura 55 - Modo Economia OFF ... 73

Figura 56 - Escrita de um cenário normal Firebase ... 74

Figura 57 - Adição da leitura atual ao histórico de logs. ... 75

Figura 58 - Log Inserido ... 76

Figura 59 - Inserção do Erro do LDR - Desconexão ... 76

(13)

LISTA DE TABELAS

Quadro 1: Comparativo entre trabalhos relacionados ... 24

Quadro 2: Formato dos Requisitos Funcionais do Sunny Spot. ... 26

Quadro 3: Requisitos Funcionais do Sunny Spot. ... 26

Quadro 4: Formatação dos requisitos não funcionais ... 28

Quadro 5: Requisitos Não Funcionais do Sunny Spot ... 28

Quadro 6: Formatação dos Casos de Uso. ... 31

Quadro 7: Casos de Uso do Sistema ... 31

Quadro 8: Comandos possíveis para Sistema-Mestre enviar para o Sunny Spots ... 54

Quadro 9: Principais Funções Utilizadas pelo Sunny Spots... 59

(14)

TABELA DE SIGLAS

Sigla Significado

ADC Analog-To-Digital Converter CAN Controller Area Network CPU Central Process Unit

DAC Digital-To-Analog Converter

DC Direct Current

DOF Degrees of Freedom

GPIO General Purpose Input/Output GPS Global Position System

I/O Input/Output

IDE Integrated Development Environment IoT Internet of Things

JSON JavaScript Object Notation

Kb Kbits

LCD Liquid Cristal Display LDR Light Dependent Resistor LED Light Emitting Diode mA / A mili Ampere, Ampere

Mb Megabits

RAM Random Access Memory RF Requisito Funcional RTC Real Time Clock

(15)

SPI Serial Peripheral Interface

UART Universal Asynchronous Receiver/Transmitter UC Use Case, Caso de Uso

ULP Ultra Low Power

V Volts

(16)

16

1. Introdução

1.1. Motivação

Sistemas embarcados tem participações significativas e constantes na vida das pessoas. Uma pessoa comum usa diversos sistemas embarcados em diversos momentos do dia. Em casa, no carro, no trabalho e até mesmo quando vai dormir.

Em 2013, estima-se que existiam cerca de 10 bilhões de sistemas embarcados pelo mundo [1], isto a quase 8 anos atrás. Sistemas embarcados são dispositivos com microprocessadores que tem um objetivo único e não-generalista [2]. Esse objetivo pode ser sensoriamento, monitoramento, atuação, entre outros.

Sistemas embarcados, como diversos outros sistemas computacionais, têm requisitos não-funcionais a serem considerados durante seus respectivos desenvolvimentos. Segurança, confiabilidade, impermeabilidade, disponibilidade, manutenibilidade, entre inúmeros outros. Tais requisitos variam de acordo com o sistema e suas características.

Porém, quase sempre, um requisito aparece em quase todo sistema embarcado: Economia Energética. Consumo energético é uma preocupação direta em quase todo sistema embarcado pois afeta todas as decisões. Desde circuitos e periféricos conectados até software e escrita de código.

A principal motivação para este projeto é criar um sistema embarcado que possa tirar essa preocupação no desenvolvimento de sistemas embarcados.

1.2. Objetivos

O principal objetivo deste projeto é projetar, desenvolver e implementar um sistema embarcado capaz de fornecer energia elétrica produzida por um painel fotovoltaico para qualquer tipo de dispositivo embarcado, satisfazendo suas necessidades energéticas e personalizando a tensão fornecida de acordo com a necessidade do sistema-mestre. Além disso, maximizar a produção de energia, angulando a placa com uso de servomotores para sempre alcançar o ângulo ótimo.

(17)

17 ● Desenvolvimento de um módulo responsável pela produção de energia e posicionamento do painel fotovoltaico para melhorar a eficiência da produção de energia solar.

● Desenvolvimento de um módulo de comunicação entre Sunny Spots e o sistema-mestre via comunicação UART.

● Desenvolvimento de um módulo de gerenciamento de bateria, capaz de calcular o nível da carga da bateria e tomar decisões energeticamente orientadas.

● Desenvolvimento de um módulo de sensoriamento, capaz de ler informações geradas pelos sensores do sistema e armazená-las em um buffer de memória. ● Desenvolvimento de um módulo de interface usuário, responsável por mostrar

informações vitais localmente para o usuário e a auxiliar na instalação inicial do sistema.

● Integração de todos esses módulos em um único sistema: Sunny Spots.

● Realização de testes para averiguar se o sistema final cumpre todos os requisitos estipulados: Comunicar com sistema-mestre, produzir energia, armazenar, distribuir e informar ao usuário os status dessa produção.

1.3. Estrutura do Documento

Este documento está dividido em 6 capítulos. O capítulo 2 apresenta conceitos Básicos e serão discutidos conceitos chaves para ter o pleno entendimento das tecnologias e conhecimentos vitais para o desenvolvimento deste projeto.

O capítulo 3 apresenta trabalhos relacionados além de uma análise comparativa com o trabalho proposto.

O capítulo 4 descreve o sistema proposto Sunny Spots, dando uma visão geral sobre sua arquitetura, seus requisitos funcionais e não-funcionais e os casos de uso criados. Assim como também apresenta os detalhes da implementação de cada um dos módulos os quais compõem o Sunny Spots.

O penúltimo capítulo, número 5, apresenta resultados usando os casos de uso como parâmetros para saber se o Sunny Spots conseguiu alcançar o desenvolvimento desejado.

(18)

18 Por fim, no capítulo 6, são apresentadas conclusões, com os comparativos finais entre o Sunny Spots e outras tecnologias e sobre o que se pensa para o futuro do projeto.

(19)

19

2. Conceitos Básicos

Neste capítulo, serão apresentados conceitos chaves para o desenvolvimento deste projeto. Esses conceitos serão explicados em profundidade e terão seu uso mostrado nos capítulos mais à frente.

2.1. Energia Solar

Energia solar é simplesmente a energia que o sol, a estrela do nosso sistema, emana em direção a terra. A cerca de 150 milhões de quilômetros do planeta, o sol queima a mais de 5 mil graus celsius em sua superfície. Esse astro é responsável não só pela vida, como pela sustentação de toda biosfera terrestre, sendo parte vital de todos os mecanismos geográficos da terra como ciclo hídrico, estações e ventos [3].

Estima-se que, por segundo (tempo), um metro quadrado (m²) da superfície terrestre recebe cerca de 1400 Watts. Isso é suficiente para poder alimentar 200 lâmpadas de 7w. E ainda sobraria um pouco de energia [3].

Sabendo desse potencial energético, não só infinito, como limpo e renovável, o ser humano mais do que naturalmente desenvolveu métodos para fazer uso dessa energia. Assim, surgiram os painéis fotovoltaicos. Painéis fotovoltaicos são essenciais para a produção de energia elétrica usando a luz solar. São construídos utilizando materiais semicondutores, nesse caso o silício (Si). O silício é um elemento químico que apresenta átomos carregados de cargas positivas ou negativas.

Figura 1 - Estrutura de um painel fotovoltaico

Fonte: [4]

O painel fotovoltaico é composto por duas camadas de Silício, uma do tipo P, carregada com cargas positivas, e outra de tipo N carregada de cargas negativas. Quando a luz solar atinge o silício, os fótons atingem as cargas, gerando um fluxo de elétrons que produzem um campo

(20)

20 elétrico na área de junção. Essa movimentação se transforma em uma corrente elétrica. Essa corrente gera energia elétrica. A corrente gerada por esse painel é contínua [4].

Esse sistema tem várias vantagens. Entre elas, a fonte de energia é renovável e infinita. Não polui o ambiente diretamente. E, a cada ano, avança a potência gerada por estes painéis. Porém sua maior desvantagem é que essa energia é altamente dependente do clima e do posicionamento do painel em relação ao sol.

2.2. Posição Solar

Com o avanço da astronomia e matemática, agora existem modelos matemáticos que explicam a movimentação do sol em relação ao céu terrestre. Um desses modelos que é capaz de descrever a posição do sol referente ao observador na superfície terrestre está descrito na Figura 2.

Figura 2 - Ângulos Azimute e Elevação

Fonte [5]

Os ângulos Elevação e Azimute são utilizados para descrever a posição do sol do ponto de vista do observador. O ângulo de azimute é o ângulo horizontal do sol, que inicia no Norte e cresce até a linha logo abaixo do sol. Descrito na imagem como “Azimuth angle”. O ângulo de elevação é o ângulo que descreve a altura do sol para o observador. O ângulo começa da linha do horizonte até o ponto que o sol está no céu. Descrito na figura acima como “Elevation angle”.

2.3. ESP32

A ESP32 é placa de desenvolvimento microcontroladora. O modelo usado nesse projeto é a ESP32 DevKit V1 Module. Ela contém uma CPU Xtensa® Dual-Core 32-bit LX6

(21)

21 de dois núcleos, arquitetura 32 bits, 160 MHz de Clock, com chip híbrido de conexão WiFi e Bluetooth, 512 KB de RAM e 16 Mb de Flash, com 36 pinos GPIO, sendo 18 desses ADC (Analog-to-Digital Converter) e 2 DAC (Digital-to-Analog Converter), e tendo interfaces SPI, I2C, UART, I2S e CAN.

Figura 3 - Pinout da ESP32 Devkit V1 - DOIT

Fonte [6]

A ESP32 é uma placa econômica energeticamente, com funções para baixo consumo energético. Além disso, graças a seu chip de comunicação é uma escolha muito interessante para projetos de IoT. Além de todas suas capacidades de hardware e uma grande quantidade de portas I/O, ela permite desenvolvimento usando a Arduino IDE tornando sua programação simplificada e altamente intuitiva. Graças à vasta comunidade, é também fácil achar soluções e debugs para qualquer eventual problema que apareça.

(22)

22

3. Trabalhos Relacionados

Neste capítulo serão apresentados dois sistemas embarcados com funcionalidades semelhantes ao projeto proposto. Ao final, será feita uma análise comparativa entre os dois artigos onde serão comparados usando a métrica proposta.

3.1. Mono-axial Solar Tracker with Equatorial Mount, for an

improved Model of a Photovoltaic Panel [7]

O trabalho desenvolvido por Bouzakri e Abbou na Mohammadia School of Engineers, Mohamed V University in Rabat, tem como objetivo propor um sistema de rastreamento solar com apenas um eixo, seguindo a linha equatorial(horizonte). A proposta é produzir a mesma quantidade de energia que um sistema de dois eixos, com apenas um. Assim diminuindo o custo em produção e manutenção.

O trabalho é dividido em: uma base equatorial, utilizando uma estrutura que permite mover o painel solar manualmente verticalmente no momento de instalação. A motorização, onde é utilizado um motor de passos juntamente com um esquema mecânico para rotacionar horizontalmente a base automaticamente. Um coletor solar, que consiste em um esquema com 2 LDRs para estimar a posição do sol. Carta de controle, que é responsável pelo controle do motor e leituras dos sensores. E por último, dois espelhos, no topo e na parte de baixo da placa, posicionados para focar a luz solar e, assim, melhorar a produção e diminuir a desvantagem de apenas um eixo.

Este trabalho conseguiu manter o nível de produção entre 91% e 100% de um painel solar com dois eixos.

Figura 4 - Sistema proposto por [7]

(23)

23

3.2 Microcontroller Based Dual Axis Sun Tracking System for

Maximum Solar Energy Generation [8]

O trabalho de Akbar, Siddiq e Aziz, tem como objetivo a criação de um sistema de rastreamento do sol que maximize a produção de energia. O sistema é composto por um painel solar, 4 LDRs, 4 relés, 2 motores DC, uma bateria, um Arduino Uno e um PC. O sistema é um sistema de 2 eixos, onde o painel se movimenta tanto na linha horizontal quanto na vertical.

Figura 5 - Arquitetura do sistema [8]

Fonte [8]

Com um algoritmo criado, o sistema consegue, usando as leituras dos LDRs, estimar a posição do sol e mover o painel, acionando os relés que por sua vez acionam os motores, para apontar o painel solar para o sol.

Como resultado, teve um aumento de produtividade de 25-30% comparado ao modelo fixo.

(24)

24

3.3. Análise Comparativa

Embora esses sistemas tenham um conceito semelhante ao deste projeto, a finalidade é diferente, a finalidade deste projeto é produzir energia solar para outros sistemas e manter a carga da bateria. Enquanto os trabalhos relacionados têm como objetivo apenas a produção máxima de energia solar. Sendo assim, serão parâmetros de análise entre sistema proposto neste projeto, Sunny Spots, e os trabalhos relacionados, os seguintes itens:

● Microcontrolador: Analisar qual microcontrolador foi usado para controlar o sistema. ● Número de Eixos: Analisar o número de eixos que cada sistema utilizou.

● Sensoriamento: Analisar quantos sensores estão conectados ao sistema.

● Método de Rastreamento do Sol: Analisar métodos empregados para rastrear o sol. ● Comunicação: Analisar se o sistema tem algum tipo de comunicação.

● Interface Usuário: Analisa se os sistemas dispõem de interface usuário e se sim, qual. Quadro 1 informa o comparativo, usando as métricas listadas acima.

Quadro 1: Comparativo entre trabalhos relacionados Microcont rolador Númer o de Eixos Sensori amento Método de Rastreamen to do Sol Comunic ação Interface Usuário BOUZAKRI (2020) PIC16F876 1 2 LDRs Uso de sensores Não Não AKBAR (2017) Arduino Uno 2 4 LDRs Uso de sensores Serial com PC PC Fonte: Autor, 2021

Além desta tabela serão feitas comparações menos objetivas ao sistema proposto neste trabalho, como sensibilidade do sistema a perturbações e preocupações na instalação do sistema.

(25)

25

4. Sistema de Produção e Distribuição de Energia Solar para Sistemas

Embarcados

Este capítulo tem como papel apresentar em detalhes o sistema proposto. Listando os requisitos funcionais e não funcionais, casos de uso, diagrama de classes e a arquitetura do projeto. Também serão indicados a metodologia utilizada no seu desenvolvimento, as ferramentas usadas e plataformas que serviram de base para a implementação deste sistema.

4.1 Visão Geral

Este projeto propõe um sistema de produção e distribuição de energia solar para sistemas embarcados. O sistema é desenvolvido de forma a permitir a conexão de qualquer dispositivo embarcado a ele, fornecendo energia e executando um conjunto de comandos para que o sistema usuário (denominado sistema mestre na figura 6) do sistema proposto (Sunny Spots) possa monitorar a quantidade de energia disponível. Além disso, o sistema utiliza um sistema de dois eixos. Essa escolha baseada nos artigos [9][10][11][12] que indicam que este design é bem mais efetivo em produção e confiável do que o modelo fixo de painel. O sistema consegue seguir a posição do sol no céu sem a necessidade de sensores de luminosidade, exclusivamente por modelo matemático [13] que fornece o posicionamento do sol em função das coordenadas do sistema, do dia do ano e da hora. O sistema proposto ainda possui comunicação com a internet, enviando dados para um banco de dados que são salvos para que possam ser utilizados por outros programas para visualizar os dados do sistema em tempo real.

Figura 6 - Arquitetura do Sunny Spots

(26)

26

4.1.1. Requisitos Funcionais

Requisitos Funcionais de um sistema são funcionalidades que o sistema apresentará e sua importância em relação ao projeto final. Os requisitos apresentados nesta seção foram criados na fase de ideação do conceito do projeto.

Os requisitos funcionais serão apresentados no seguinte formato de quadro, mostrado pelo quadro 2.

Quadro 2: Formato dos Requisitos Funcionais do Sunny Spot. [RF-ID] - Nome do Requisito

Descrição: Texto descritivo do Requisito Funcional Prioridade: Classificação da Priorização do Requisito

Fonte: Autor, 2021

Os requisitos funcionais podem ter 3 tipos diferentes de prioridade de acordo com sua importância ao entregável final do projeto. Elas sendo:

● Essencial: Essencial para entrega final do projeto final, se o requisito essencial não for entregue o projeto não estará completo, necessário para funcionamento do projeto. ● Importante: Essa prioridade indica que, embora não seja obrigatório para o

funcionamento do projeto, a falta do requisito pode acarretar mau funcionamento do projeto e uma experiência incompleta do protótipo final.

● Desejável: Essa prioridade indica que o requisito não é necessário para o funcionamento, e sua ausência também não produz problemas no funcionamento ou na experiência. Sendo assim, opcional.

Para o sistema de produção e distribuição de energia solar, Sunny Spots, temos os seguintes requisitos funcionais estipulados.

Quadro 3: Requisitos Funcionais do Sunny Spot. [RF-1] - Produzir Energia Solar

Descrição: O sistema deve ser capaz de produzir e armazenar energia solar. Prioridade: Essencial.

[RF-2] - Seguir a Movimentação do Sol

Descrição: O sistema deve ser capaz de converter a energia produzida pelo painel fotovoltaico em energia elétrica e usá-la para carregar a bateria

(27)

27 [RF-3] - Carregar uma Bateria

Descrição: O sistema deve ser capaz de converter a energia produzida pelo painel fotovoltaico em energia elétrica e usá-la para carregar a bateria. Prioridade: Essencial.

[RF-4] - Fazer Leituras dos Sensores

Descrição: O sistema deve ser capaz de fazer leitura da informação sensorial conectada ao sistema.

Prioridade: Essencial.

[RF-5] - Enviar Dados para Servidor

Descrição: O sistema deve ser capaz de mandar informações colhidas para os servidores.

Prioridade: Importante.

[RF-6] - Ter Saída de Energia Ajustável

Descrição: O sistema deve ser capaz de prover ao usuário uma saída de tensão ajustável para a necessidade do sistema-mestre.

Prioridade: Essencial. [RF-7] - Mostrar dados local

Descrição: O sistema deve ser capaz de mostrar dados de luminosidade e carga de bateria localmente.

Prioridade: Desejável. [RF-8] - Gerar Alertas

Descrição: O sistema deve ser capaz de gerar uma gama de alertas diferentes para o usuário e para o sistema-mestre.

Prioridade: Importante.

[RF-9] - Calcular Nível de Bateria

Descrição: O sistema deve ser capaz de calcular o nível da bateria conectada ao sistema.

Prioridade: Essencial.

(28)

28

4.1.2. Requisitos Não-Funcionais

Requisitos não-funcionais são requisitos não ligados diretamente a funcionalidades do sistema, mas a parâmetros e qualidades que se desejam para o sistema. Essas qualidades são importantes para definir bem como será feito o desenvolvimento do sistema.

Requisitos não funcionais também tem um formato semelhante ao dos requisitos não-funcionais. O quadro a seguir é uma amostra de como é montado um requisito não funcional.

Quadro 4: Formatação dos requisitos não funcionais Nome do Requisito

Nr Requisito: RNF-ID Classificação Prioridade Descrição: Texto descritivo do Requisito.

Justificativa: Texto Justificativo para o requisito. Origem do

Requisito:

Origem do Requisito (Hardware/Software)

Critério de aceitação:

Critério de Aceitação, ou seja, critério que define se o requisito foi ou não aceito.

Dependências: Lista de Requisitos o qual este requisito depende Conflitos: Lista de Requisitos que podem causar conflitos a este. História: Data de Criação do Requisito.

Fonte: Autor, 2021

Quadro 5: Requisitos Não Funcionais do Sunny Spot Confiabilidade

Nr Requisito: RNF-1 Classificação Essencial

Descrição: O sistema deve ser capaz de garantir que as informações fornecidas e a tensão de saída para o sistema mestre estejam corretas.

Justificativa: Sem essa confiabilidade o sistema pode acabar fornecendo informações erradas para o mestre e, no pior dos casos, com uma saída incorreta de tensão, o sistema mestre pode sofrer danos físicos. Origem do

Requisito:

(29)

29 Critério de

aceitação:

Saída correta de tensão e informações corretas.

Dependências: Nenhuma

Conflitos: Nenhum

História: 27/01/2021

Segurança

Nr Requisito: RNF-2 Classificação Desejável

Descrição: O sistema deve ser capaz de garantir integridade e confiabilidade das informações sensíveis geradas pelo sistema.

Justificativa: Informações devem ser íntegras para que o usuário possa tomar decisões sobre o sistema. Informações podem ser sensíveis para o usuário. Origem do Requisito: Software Critério de aceitação:

Informações íntegras e seguras.

Dependências: Nenhuma

Conflitos: Nenhum

História: 27/01/2021

Disponibilidade

Nr Requisito: RNF-3 Classificação Essencial

Descrição: O sistema sempre deve estar disponível para usuário e sistema mestre. Justificativa: O sistema mestre pode necessitar tomar decisões em tempo real. É

necessário que o Sunny Spot esteja sempre disponível. Origem do

Requisito:

Servidor, Hardware e Software

Critério de aceitação:

O sistema tem saídas em tempo real.

Dependências: Nenhuma.

Conflitos: Nenhum

História: 27/01/2021

(30)

30

Nr Requisito: RNF-4 Classificação Essencial

Descrição: O sistema deve ser energeticamente econômico.

Justificativa: O objetivo do sistema é gerar energia solar para um sistema mestre. Logo deve consumir o mínimo possível de energia para fornecer o máximo possível para o sistema mestre.

Origem do Requisito:

Hardware

Critério de aceitação:

O sistema deve consumir o mínimo de energia possível.

Dependências: Nenhuma.

Conflitos: Nenhum

História: 27/01/2021

4.1.3. Casos de Uso

Casos de Uso são descrições de cenários de uso do sistema. A descrição de cada caso de uso tem como principais campos descritos a seguir:

● Atores: são os principais membros envolvidos no caso de uso, podendo ser usuário, outros sistemas e o próprio sistema são exemplos de atores.

● Prioridade: idêntico a prioridade descrita na seção de requisitos funcionais.

● Pré-Condições: uma lista de condições que devem ser cumpridas para que o caso de uso possa acontecer.

● Fluxo Principal: a ordem natural da operação do caso de uso, detalhando cada ação até chegar ao resultado.

● Subfluxo: bifurcações durante o fluxo principal geram subfluxos, esses subfluxos não são relacionados a erros, são fluxos naturais do caso de uso.

● Fluxos Alternativos: semelhantes ao subfluxo, porém o fluxo alternativo acontece quando algum erro ocorre durante a execução do caso de uso.

● Pós-Condições: são as condições que devem ocorrer ao final da execução do caso de uso, basicamente, um resultado daquela ação.

● Requisitos Funcionais relacionados: lista de Requisitos Funcionais, RFs, que estão relacionados ao caso de uso.

(31)

31 ● Usuário: desenvolvedor ou administrador do sistema-mestre.

● Sistema-Mestre: sistema embarcado o qual será mestre, receberá energia produzida pelo Sunny Spots e poderá enviar comandos para o Sunny Spots.

● Sunny Spots: sistema proposto por este trabalho.

● Servidor: servidor que receberá as informações geradas pelo Sunny Spot.

O quadro 6 mostra a formatação usada para descrever os casos de uso.

Quadro 6: Formatação dos Casos de Uso. Caso de Uso: Título do caso de uso.

ID: Número da ID do Caso de Uso

Breve descrição: Texto descritivo do caso de uso. Atores: Lista de atores envolvidos.

Prioridade: Mesma categorização dos Requisitos Funcionais

Pré-condições: Lista de Pré-Condições necessárias para execução do Caso de Uso Fluxo Principal: Lista de Passos que descrevem o Caso de Uso

Pós-condições: Lista de Todas Pós-condições Subfluxos: Lista de Subfluxos

Fluxos Alternativos: Lista de todos os fluxos alternativos. RF Relacionado: Lista de Requisitos Funcionais Relacionados

Fonte: Autor, 2021

O quadro 7 mostra todos os casos de uso que foram descritos para este projeto. Quadro 7: Casos de Uso do Sistema

Caso de Uso: Instalação do Sistema ID: 1

Breve descrição: O usuário vai ser capaz de conectar as entradas de energia e cabos TX, RX e Reset do sistema-mestre ao Sunny Spot. O usuário também será capaz de escolher a tensão de saída do sistema.

(32)

32 Atores Primários: Sistema-Mestre, Sunny Spot.

Atores Secundários: Usuário Prioridade: Essencial

Pré-condições: O Sunny tem carga inicial. Fluxo Principal:

1. O usuário usará o potenciômetro do conversor step-up para selecionar a saída adequada para o sistema.

2. O usuário conectará suas entradas de energia às saídas (VCC e GND) ao Sunny Spot. 3. O usuário conecta cabos TX, RX e Reset do Sunny Spot.

4. O usuário apertará o botão “StandBy” para iniciar o visor.

5. O usuário aperta o botão “On” para o Sunny Spot iniciar suas atividades. Pós-condições:

1. Sunny Spots começa a seguir o sol.

2. O visor começa a mostrar informações do sistema.

Subfluxos: (Fluxos alternativos no funcionamento normal do sistema) S1. Fluxos Alternativos: (Fluxos alternativos no caso de erro no sistema) A1. RF Relacionado: RF-1, RF-7, RF-8, RF-10, RF-14

Caso de Uso: Visualização das informações localmente ID: 2

Breve descrição: O visor do Sunny Spots mostrará diversas informações durante funcionamento do sistema.

Atores Primários: Usuário e Sunny Spot. Atores Secundários:

Prioridade: Importante.

Pré-condições: Sunny Spot ter sido instalado e visor desligado. Fluxo Principal:

1. O usuário aperta o botão ON para ligar o LCD. 2. O LCD permanece ligado durante 10 segundos.

3. Durante esse tempo, o sistema calcula as informações de nível de bateria e luminosidade em tempo real e mostra diretamente no LCD.

(33)

33 4. Depois de 10 segundos o LCD desliga automaticamente.

Pós-condições:

1. LCD desligado. Subfluxos:

Fluxos Alternativos:

A1. Erro do Sensor de Luminosidade. ● O usuário aperta o botão. ● LCD liga.

● LCD informa ERRO #1, onde mostra o código correspondente ao erro. A2. Erro do Cálculo de Bateria.

● O usuário aperta o botão. ● LCD liga.

● LCD informa ERRO #2, onde mostra o código correspondente ao erro. RF Relacionado: RF-4, RF-8, RF-10, RF-12, RF-14

Caso de Uso: Sistema Mestre comanda Sunny a Entrar do modo economia ID: 3

Breve descrição: Sunny deve ser capaz de entrar em modo economia via comando do sistema-mestre

Atores Primários: Sunny Spot e Sistema-Mestre Atores Secundários:

Prioridade: Essencial.

Pré-condições: Sunny Spot ter sido instalado, Cabos TX, RX e Reset conectados e Modo Economia: OFF.

Fluxo Principal:

1. Sistema-Mestre manda comando de “Entrar em Modo de Economia” para o Sunny. 2. Sunny recebe o comando e retorna um ACK para o Sistema-Mestre.

3. Sunny coloca todo o sistema em Modo de Economia (Sleep). Pós-condições: Sunny está em modo de economia.

Subfluxos:

Fluxos Alternativos:

A1. Erro no envio do comando.

● Sunny Spot retorna um NACK para o sistema-mestre informando que não recebeu/compreendeu comando.

(34)

34 Caso de Uso: Sistema Mestre comanda Sunny a Sair do modo economia

ID: 4

Breve descrição: Sunny deve ser capaz de sair do modo economia via comando do sistema-mestre

Atores Primários: Sunny Spot e Sistema-Mestre Atores Secundários:

Prioridade: Essencial.

Pré-condições: Sunny Spot ter sido instalado, Cabos TX, RX e Reset conectados e Modo Economia: OFF.

Fluxo Principal:

1. Sistema-Mestre manda comando de “Sair em Modo de Economia” para o Sunny. 2. Sunny recebe o comando e tira todo o sistema de Modo de Economia Wake). 3. Sunny retorna um ACK para o Sistema-Mestre.

Pós-condições: Sunny está em modo de economia. Subfluxos:

Fluxos Alternativos:

A1. Erro no envio do comando.

● Sunny Spot retorna um NACK para o sistema-mestre informando que não recebeu/compreendeu comando.

RF Relacionado: RF-4, RF-9, RF-10, RF-12, RF-14

Caso de Uso: Sistema-Mestre requisita do Sunny Requisitar nível de bateria. ID: 5

Breve descrição: O Sunny Spot deve ser capaz de enviar nível de bateria para o Sistema-Mestre.

Atores Primários: Sunny Spot e Sistema-Mestre Atores Secundários:

Prioridade: Essencial.

Pré-condições: Sunny Spot ter sido instalado e Cabos TX, RX e Reset conectado. Fluxo Principal:

1. Sistema-Mestre envia o comando para Sunny enviar nível de bateria. 2. Sunny recebe comando e envia um ACK para o Sistema-Mestre.

(35)

35 3. Sunny faz leituras do sensor de tensão da bateria, para calcular nível.

4. Sunny calcula nível da bateria.

5. Sunny então envia nível de bateria (float) para o Sistema-Mestre Pós-condições:

Subfluxos:

Fluxos Alternativos:

A1. Sunny tem erro de leitura de algum dos sensores.

● Sunny Spot continua o fluxo normal, porém na hora do envio da informação, Sunny manda um código de erro correspondente.

A2. Erro no envio do comando.

● Sunny Spot envia um NACK e não faz mais nada. RF Relacionado: RF-4, RF-9, RF-10, RF-12, RF-14

Caso de Uso: Sistema-Mestre requisita do Sunny leitura de Luminosidade. ID: 6

Breve descrição: O Sunny Spot deve ser capaz de enviar leitura de Luminosidade para o Sistema-Mestre.

Atores Primários: Sunny Spot e Sistema-Mestre Atores Secundários:

Prioridade: Essencial.

Pré-condições: Sunny Spot ter sido instalado e Cabos TX, RX e Reset conectado. Fluxo Principal:

1. Sistema-Mestre envia o comando para Sunny enviar leitura de Luminosidade. 2. Sunny recebe comando e envia um ACK para o Sistema-Mestre.

3. Sunny faz leitura de sensor de luminosidade.

4. Sunny então envia leitura de Luminosidade (int) para o Sistema-Mestre Pós-condições:

Subfluxos:

Fluxos Alternativos:

A1. Sunny tem erro de leitura.

● Sunny Spot continua o fluxo normal, porém na hora do envio da informação, Sunny manda um código de erro correspondente.

A2. Erro no envio do comando.

(36)

36 RF Relacionado: RF-4, RF-9, RF-10, RF-12, RF-14

Caso de Uso: Sunny envia dados para o servidor ID: 7

Breve descrição: Sunny deve ser capaz de enviar dados para o servidor Atores Primários: Sunny Spot e servidor

Atores Secundários: Prioridade: Essencial.

Pré-condições: Sunny Spot ter sido instalado para ter conexão com a rede. Fluxo Principal:

1. Sunny coleta as informações de tensão da placa solar e da bateria, luminosidade, GPS, ângulo da placa e ângulos do sol.

2. Sunny envia uma a uma as informações para o Firebase. Pós-condições: Servidor tem informações da leitura.

Subfluxos:

Fluxos Alternativos:

A1. Sunny Spot Sem Internet.

● Sunny armazena informação em buffer.

● Sunny fica tentando reconectar para mandar informações. A2. Servidor não responde.

● Sunny tenta conexão com servidor.

● Caso não consiga, depois de 10 tentativas, armazena informação em buffer. E continua as leituras normais.

RF Relacionado: RF-2, RF-4, RF-5, RF-6, RF-9, RF-10, RF-11, RF-12 Caso de Uso: Posicionar placa solar em direção ao sol

ID: 8

Breve descrição: Sunny deve ser capaz de posicionar a placa solar em direção ao sol. Atores Primários: Sunny Spot.

Atores Secundários: Prioridade: Essencial.

Pré-condições: Sunny Spot ter sido instalado. Fluxo Principal:

(37)

37 1. Sunny lê a informação do RTC.

2. Sunny lê a informação do GPS.

3. Com dados de localização, data e hora, usa-se a função de cálculo de ângulos do sol no céu que gera os dois ângulos azimute e elevação.

4. Sunny aciona os motores para movimentar a placa, enquanto faz a leitura do sensor de angulação.

5. Quando sensor de angulação estiver no intervalo estipulado para diferença entre os ângulos do sensor e os ângulos calculados, para de movimentar a placa.

Pós-condições: Placa Solar está na posição adequada. Subfluxos:

Fluxos Alternativos:

A1. Erro de Sensor de angulação (Valor constante durante um período de tempo).

● Sunny manda informação para o servidor de que algo está errado com sensor de angulação e/ou parte mecânica do sistema.

A2. Erro de Sensor de GPS e/ou RTC.

● Sunny tenta fazer leituras durante um timeout.

● Caso não consiga, Sunny deixa a placa na mesma posição. RF Relacionado: RF-2, RF-4, RF-5, RF-6, RF-9, RF-10, RF-11, RF-12 Caso de Uso: Calcular nível de bateria.

ID: 9

Breve descrição: Sunny deve ser capaz de calcular nível da bateria ou State of Charge. Atores Primários: Sunny Spot.

Atores Secundários: Prioridade: Essencial.

Pré-condições: Sunny Spot ter sido instalado. Fluxo Principal:

1. Sunny lê a informação do sensor de tensão da bateria.

2. Sunny usando a função de State of Charge da bateria se calcula a capacidade atual. Pós-condições: Nível da bateria calculado.

Subfluxos:

S1. Nível de bateria muito baixo.

(38)

38 Fluxos Alternativos:

A1. Sensor de tensão apresenta erros.

● Sunny não tem informação da bateria, Sunny automaticamente entra em modo de Economia.

RF Relacionado: RF-2, RF-4, RF-5, RF-6, RF-9, RF-10, RF-11, RF-12 Fonte: Autor, 2021

4.2. Implementação

4.2.1. Arquitetura

O sistema implementado foi dividido em 6 módulos. Cada módulo é responsável por uma parte do sistema, conforme descrito a seguir:

● Módulo de Produção: módulo principal do sistema, é responsável por produzir energia solar calculando a posição do sol e, sabendo da posição solar, movimentando a placa para esta posição.

● Módulo de Gerenciamento de Bateria: módulo responsável por calcular o nível atual da carga da bateria e, a partir dessa leitura, colocar ou não o sistema em modo econômico. ● Módulo de Comando: módulo responsável pela comunicação entre Sistema-Mestre e

Sunny Spots, recebendo comando e enviando respostas de acordo.

● Módulo Sensorial: módulo que faz a junção de todos os sensores conectados, fazendo uma leitura periódica dos sensores e formando um pacote com todas essas informações. ● Módulo Interface Usuário: módulo que mostra localmente ao usuário as informações

importantes.

● Módulo de Comunicação: módulo responsável por enviar informações geradas pelo Sunny Spots para o servidor na nuvem.

Na figura abaixo temos o diagrama de blocos que exemplifica bem como cada módulo se relaciona com os periféricos conectados.

(39)

39 Figura 7 - Diagrama de Blocos do Sunny Spots

Fonte: Autor, 2021

4.2.2. Módulo de Produção

O Módulo de Produção é o módulo mais relevante de todo o sistema, ele é responsável pela principal função do sistema: produzir e distribuir energia solar. Todos os outros módulos têm um papel ou secundário ou de suporte para este módulo. O módulo de produção pode ser dividido em 3 funções principais:

● Processamento: software que faz o papel fundamental de calcular a posição do sol no momento presente e controlar motores.

● Mecânica: parte do sistema responsável pela movimentação do painel solar para o ângulo calculado do sol, configura servomotores e a estrutura física.

(40)

40 ● Sensoriamento: responsável pela leitura de sensores e periféricos que determinam a posição da placa e informações do espaço-tempo de onde o Sunny Spots está posicionado.

Figura 8 - Arquitetura do Módulo de Produção

Fonte: Autor, 2021

4.2.2.1. Sensoriamento

A parte de sensoriamento do módulo de Produção tem 3 periféricos:

● Giroscópio MPU6050: Giroscópio e acelerômetro usado neste projeto tem 6 DOF, ou seja, 6 graus de liberdade, 3 eixos de acelerômetro e 3 do giroscópio. A placa usada pelo projeto, a GY-521 atua na faixa de operação de 3 a 5 Volts de tensão e se comunica através do protocolo I2C. Embora este sensor tenha uma ótima precisão, a leitura final é uma média dos valores obtidos em várias leituras

Figura 9 - Giroscópio MPU-6050

(41)

41 ● Módulo GPS NEO-6M: O Módulo GPS com comunicação Serial TT consegue medir

com precisão de 5 metros a posição atual e retornar a latitude e longitude do local atual. Utiliza 3,3 Volts e 45mA no seu funcionamento.

Figura 10 - Módulo GPS NEO6MV2

Fonte [15]

● Real Time Clock DS1307: Com uma interface de comunicação I2C, esse módulo de RTC é responsável por manter o horário atual salvo e sempre preciso. Esse módulo tem uma faixa de operação entre 3 e 5 Volts de tensão.

Figura 11 - RTC DS1307

Fonte: [16]

4.2.2.2. Mecânica

A parte mecânica do Sunny Spots é responsável por mover o painel solar e posicionar ele em direção ao sol. Em questão de periféricos, o sistema usa dois pares de:

● Motor de Passos 28BYJ-48: Motor de passos simples, porém muito útil, com tensão de operação 5 Volts, caixa de redução de 1/64 e ângulo de passo 0,088º.

● Driver ULN2003: Com este driver é possível simplificar os comandos do motor de passos, juntos são só necessários 4 pinos de sinal digital para controlar a placa. A alimentação também é feita pelo driver.

(42)

42 Figura 12 - Motor de Passos 28BYJ-48 (Periférico Cinza) e Driver ULN2003

Fonte: [17]

Além disso, temos o painel fotovoltaico de 10W, 18V de tensão máxima e 0,6A de corrente máxima de saída:

Figura 13 - Painel Fotovoltaico

Fonte [18]

A mecânica do módulo de produção utiliza-se de duas alavancas, uma horizontal e outra vertical, e cada uma é movimentada com um motor de passo e um driver. A movimentação é feita um motor por vez. Esta infraestrutura já se encontrava pronta tendo sido feita para outro projeto semelhante ao Sunny Spots.

(43)

43 Figura 14 - Painel fotovoltaico atrelado a parte mecânica

Fonte: Autor, 2021

Figura 15 - Alavanca de Movimentação vertical, mais o motor de passos responsável pelo seu acionamento.

Fonte: Autor, 2021

Figura 16- Alavanca de Movimentação Horizontal, o motor de passos está acionando a engrenagem de cor preta.

(44)

44

4.2.2.3. Processamento

O submódulo de processamento do módulo de produção é a parte mais importante de todo o sistema. Este submódulo recebe os dados dos periféricos incluindo localização (expressa com a latitude e longitude fornecida pelo GPS), tempo (fornecido pelo RTC), e ângulos atuais da placa (fornecidos pelo giroscópio). Esse submódulo é responsável pelo cálculo da posição solar, ou seja, dos ângulos de elevação e de azimute, os quais já foram explicados anteriormente neste projeto, sendo uma parte fundamental do sistema. O fluxograma na Figura 17 descreve o passo a passo do processamento realizado por este submódulo.

Figura 17 - Fluxograma do Módulo de Processamento

Fonte: Autor, 2021

Esse fluxograma é idêntico ao Caso de Uso: Posicionar placa solar em direção ao sol de ID 8. O cálculo da posição solar é feito seguindo o algoritmo descrito em [13]. Com as informações de data, horário e localização, é possível calcular a posição do sol com referencial

(45)

45 do observador. Com essa informação podemos movimentar os painéis de acordo com a posição atual do sol.

Figura 18 - Orientação Inicial do Painel

Fonte: Autor, 2021

Para movimentar o painel foram definidas duas variáveis principais: o ângulo horizontal, que condiz com o ângulo solar Azimute, e o ângulo vertical, que condiz com o ângulo de solar Elevação.

Figura 19 - Exemplos Ângulos possíveis para Elevação (a) 0º, (b) 45º e (c) 90º

(46)

46 Figura 20 - Exemplos de ângulos possíveis para Azimute (a) 180º, (b) 90º e (c) 0º (Painel

apontando para o Norte em (c) e para o Sul em (a) e para o Leste em (b))

Fonte: Autor

O ângulo de vertical do painel, o ângulo de elevação, é simplesmente averiguado fazendo a leitura do giroscópio no ângulo de eixo X. O ângulo de elevação fica no intervalo entre 0º e 90º, porém o ângulo de azimute é mais complexo. Este ângulo fica no intervalo entre 0º e 360º e, diferente do ângulo de elevação, o azimute não pode ser medida diretamente por apenas pela leitura de um ângulo no giroscópio. O azimute é uma composição entre os ângulos medidos no eixo Y e no eixo Z e usando o ângulo no eixo X como um fator de proporcionalidade. Quanto maior X, mais o ângulo no eixo Z representa o real ângulo de azimute e quanto mais baixo o X, mais o ângulo no eixo Y representa o ângulo horizontal. Foi então estipulada a seguinte equação.

𝐴𝑛𝑔𝑢𝑙𝑎çã𝑜_𝐻𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙 ≅((1 − 𝑋

90) ⋅ 𝑌 + (

𝑋

90) ⋅ 𝑍)

Caso X = 0º, então Angulação Horizontal, azimute, vai ser igual ao ângulo no eixo Y, em contrapartida se X = 90º, a Angulação Horizontal será igual ao ângulo no eixo Z. No intervalo ]0;90[, o azimute é uma composição entre os dois ângulos.

Assim que os ângulos são calculados, os motores devem ser acionados para rotacionar a placa. Para fazer isso, foram estipuladas velocidades baixas, para aumentar o torque dos motores, e um número de passos pequeno para não ocorrer o erro de um acionamento do motor acabar pulando por inteiro o intervalo desejado. O fluxograma da Figura 21 mostra como é realizada a movimentação dos motores.

(47)

47 Figura 21 - Fluxograma do acionamento dos motores

Fonte: Autor

A quantidade negativa ou positiva de passos influencia no sentido o qual o motor gira. Os motores são acionados até que a diferença entre o ângulo alvo e ângulo atual estejam no intervalo [-10; +10].

4.2.3. Módulo de Gerenciamento de Bateria

O Módulo de Gerenciamento de Bateria é o módulo que monitora o status da bateria, reporta problemas e, caso a bateria fique abaixo do nível considerado crítico, no nosso caso 20%, coloca o sistema em modo de economia. Esse módulo tem apenas duas partes principais:

● Divisor de Tensão para Entrada Analógica da ESP32: um divisor de tensão foi desenvolvido para baixar a tensão de entrada para ESP32, para não danificar a placa. ● Função de Cálculo de Nível da Carga: uma função que pega o valor da entrada analógica

lida e calcula o nível atual de carga da bateria.

4.2.3.1. Divisor de Tensão para Entrada Analógica da ESP32

Para entender o desenvolvimento do divisor de tensão é necessário entender a bateria usada no projeto.

(48)

48 Figura 22 - Bateria LGDBB31865

Fonte [19]

A bateria Li-Ion LGDBB31865 tem as seguintes características: ● Carga Total: 2500mA

● Tensão Máxima: 4.2V ● Tensão Cutoff: 3.0V

Essa bateria é carregada pelo módulo Lipo Rider v1.3, que usa energia solar gerada pela placa para carregar a bateria.

Figura 23 - LiPo Rider v1.3

Fonte [20]

Como o LiPo Rider não consegue aceitar tensões maiores que 6V, foi usado um Conversor DC-DC Step Down LM2596. Essa decisão foi tomada apenas por causa do curto espaço de tempo para desenvolvimento apropriado desse projeto. Sendo a bateria LiPo Rider a única carregadora de bateria com energia solar disponível.

Figura 24 - Conversor DC-DC Step Down LM2596

(49)

49 Depois de averiguada a tensão máxima possível para a bateria escolhida, 4,2 Volts, foi desenvolvido o seguinte circuito.

Figura 25 - Esquema de Divisor de Tensão

Fonte [22]

Figura 26 - Circuito Divisor de Tensão desenvolvido

Fonte: Autor, 2021

O valor elevado das resistências é para evitar que grandes correntes passem pelos resistores, assim diminuindo a potência que necessita ser dissipada por eles.

4.2.3.2. Função de Cálculo de Nível da Carga

A função descrita nessa seção é usada para calcular o nível de carga da bateria de lítio usada neste projeto. Porém é necessário dizer que essa função é apenas uma estimativa grosseira do resultado real, pois é baterias de lítio não tem um comportamento linear e as funções usadas para o cálculo de SoC aqui são lineares. Utilizando como base os artigos [23][24], foi decidido que o melhor ponto para chamar de carga crítica foi 20%. Geralmente, a carga da bateria de lítio decai bem rápido pouco depois dos 10%, então 20% é uma estimativa mais segura do que seria um estado crítico.

A informação que se pode obter da porta analógica é a tensão Vout, mostrada no circuito da figura 25. Vout é a tensão de circuito aberto em paralelo ao resistor R2, no caso do Sunny

(50)

50 Spot é a tensão entre a porta analógica e o GND, visto na figura 25. Portas analógicas da ESP32 usadas neste projeto tem a resolução de 12 bits, ou seja, os valores da porta analógica da ESP32 estão no intervalo [0;4095]. As portas analógicas da ESP32 podem receber uma tensão entre 0 e 3,3V [6]. Sabendo destes dois intervalos é possível calcular a tensão Vout conforme equação a seguir.

Figura 27 - Equação de cálculo de tensão recebido do divisor (Vout)

Fonte: Autor, 2021

Depois de calculado Vout só é necessário usar a fórmula do Divisor de Tensão, descrita abaixo, para calcular o valor Vin, ou tensão da bateria.

Figura 28 - Equação para Cálculo da tensão atual da bateria

Fonte: Autor, 2021

Conhecendo a tensão da bateria, pode usar ela para estimar a carga da bateria. Sabendo que a tensão máxima da bateria é 4,2V e que a tensão de Cut-off é 3,0V, sabemos que 1,2V é a diferença entre a carga total e a carga mínima. Logo podemos formar a seguinte equação para o nível de bateria.

(51)

51 Figura 29 - Equação para Cálculo do Nível de Bateria

Fonte: Autor, 2021

A figura 30 mostra o fluxograma do código empregado para o módulo de Gerenciamento de Bateria.

Figura 30 - Fluxograma do Módulo de Gerenciamento de Bateria

Fonte: Autor,2021

4.2.3.3. Modo Economia

O modo economia, basicamente é uma funcionalidade da ESP32 de desativar partes do seu hardware a fim de cortar o seu consumo energético drasticamente. Esse modo é chamado de Deep Sleep.

(52)

52 Figura 31 - Esquema de desligamento de módulos ESP32 no modo Deep Sleep

Fonte: [25]

Esse módulo tem papel fundamental para economia de energia do Sunny Spots. Ele desliga a energia dos principais componentes que prejudicam o consumo energético negativamente da ESP32: os periféricos, ou seja, basicamente todos os dispositivos conectados a ESP32, as antenas, tanto o modo Bluetooth quanto a WiFi, que são uma das maiores consumidoras de energia; e por último, a CPU e a memória da ESP32. Isto quer dizer que neste modo todas as variáveis salvas na memória e dados no processador são perdidas. As únicas partes que ficam energizadas são o Coprocessador ULP e o RTC e seus periféricos.

Para não se perder os dados mais cruciais do código, existe a memória no RTC. Essa memória tem 8 Kb de capacidade, que embora seja pouca é suficiente para salvar dados cruciais do nosso sistema. Os dados escolhidos para serem armazenados no RTC foram:

● Informação de localização GPS; ● Data e Hora do RTC;

● booleano responsável por afirmar se o sistema já foi instalado antes;

Esse modo funciona da seguinte forma:

1. Cria-se os “despertadores” do Deep Sleep.

a. Timer: Um timer é criado para sempre acordar automaticamente a ESP32, esse Timer tem tempo de 10 minutos. E ele acorda a ESP32 a cada 10 minutos. Nesse momento de despertar, a bateria é medida novamente. Se ainda estiver baixa, o sistema entra em modo Deep Sleep de novo.

(53)

53 b. RTC_IO: O RTC tem 4 entradas GPIO, essas entradas ainda se mantêm atentas a eventos. No caso do sistema proposto, o evento considerado é um valor HIGH no GPIO 2. Ou seja, quando o GPIO 2 está HIGH, a placa é acordada. Mas ainda assim, a bateria é testada novamente. Se ainda estiver baixa, o sistema entra novamente em modo Deep Sleep.

2. O sistema coloca-se em modo Deep Sleep seja por conta do nível de carga, seja por conta de um comando enviado pelo sistema mestre (mais será abordado na próxima seção “Módulo de Comando”).

3. O sistema pode despertar caso o Timer tenha chegado aos seus 10 minutos, ou seja, forçadamente acordado por um comando.

4. O sistema reinicia, executando novamente o void setup ().

5. As variáveis salvas com a tag RTC_DATA_ATTR, ou seja, salvas no RTC, não são perdidas, qualquer outro dado é perdido.

4.2.4. Módulo de Comando

O módulo de Comando, como o nome indica, é o módulo responsável por receber e implementar os comandos enviados pelo Sistema-mestre. Para a comunicação entre o Sunny Spots e o sistema-mestre foi escolhido o protocolo UART.

O protocolo UART de comunicação é Universal Asynchronous Receiver Transmitter. Um protocolo de comunicação que tem como principal objetivo a comunicação entre dois módulos por portas seriais, muito utilizado em diversos dispositivos e sensores.

Figura 32 - Esquema de Conexão Protocolo UART

Fonte: [26]

A conexão entre o Sunny Spots e o Sistema-mestre é basicamente uma relação unidirecional de comando: o sistema-mestre manda ou pede algo para o Sunny Spots e, em consequência do comando, o Sunny executa comando e retorna algo.

Existem 4 comandos que o Sistema Mestre pode enviar para o Sunny e 7 respostas possíveis do Sunny, seguindo a formatação apresentada no quadro 8:

(54)

54 Quadro 8: Comandos possíveis para Sistema-Mestre enviar para o Sunny Spots

Comandos do Mestre Como é feito Resposta do Sunny

Requisição de Luminosidade Enviar de char “L” Normal: Retorna Inteiro no intervalo [0;100];

Erro: Retorna -1;

Requisição de Nível de Carga Envio do char “B” Normal: Retorna Inteiro no intervalo [0;100];

Erro: Retorna -1;

Entrar no modo Economia Envio do char “E” Normal: Retorna 1 e entra no modo Economia;

Erro: Retorna -1 e não entra em modo Economia;

Sair do modo Economia Enviar sinal digital HIGH na conexão “Reset”.

Normal: Retorna 1 e sai do modo Economia;

Erro: Não retorna nada; Fonte: Autor, 2021

O módulo UART foi escolhido pela facilidade de implementação em software e em hardware. Além disso, por ser um modelo assíncrono, é possível executar outras partes do código sem necessariamente perder dados da comunicação. A conexão entre o sistema-mestre e Sunny Spots é composta de 5 portas de hardware:

● Conexão TX-RX, Mestre-Sunny: porta responsável pelo envio de comandos do mestre para o Sunny Spots.

● Conexão TX-RX, Sunny-Mestre: porta responsável pelo envio de respostas do Sunny Spots para o Mestre.

● Vcc: Saída positiva de tensão, essa conexão alimenta o sistema-mestre.

● Gnd: Terra compartilhado por todo sistema do Sunny Spots e com o Sistema-Mestre ● Reset: Essa porta é usada para acordar o Sunny.

Como o Sunny Spots tem como base uma ESP32, e as portas GPIOS da ESP32 tem nível lógico 3.3V, maiores níveis poderiam danificar essa entrada à longo prazo. Então, pensando nisso, foi decidido que essas portas deveriam ser capazes de aguentar entradas de até 5 Volts. Então, foi criado e utilizado um divisor de tensão na porta “TX-RX, Mestre-Sunny” para que a entrada de nível lógico dessa porta seja capaz de dividir a tensão e ainda assim alcançar o intervalo lógico HIGH da ESP32.

(55)

55 Figura 33 - Conexão UART entre Sunny Spots e Sistema-Mestre

Fonte: Autor

Com esse divisor de tensão, sabendo que o fluxo de energia é sempre do TX para o RX, podemos garantir que o nível lógico que chega na ESP32 nunca passará de 3.3V.

4.2.5. Módulo de Sensorial

O módulo sensorial é o módulo que engloba todos os sensores e periféricos usados pelo sistema. Esse módulo tem como função pegar todas as informações fornecidas por esses periféricos. Porém a maioria dos sensores e periféricos fazem parte de outros módulos e já foram explicados. Porém tem apenas um sensor que tem uso exclusivo do módulo sensorial: O sensor LDR.

Figura 34 - Resistor LDR

Fonte [27]

O sensor LDR, ou Light Dependent Resistor, é um dispositivo eletrônico passivo, que funciona como uma resistência variável. Porém, a sua resistência varia conforme a intensidade de luz que é emitida sobre ele. Tornando-o um sensor de luminosidade bem simples e de fácil manuseio. O circuito para detecção de luz solar está demonstrado na figura a seguir:

(56)

56 Figura 35 - Circuito de Detecção de Luminosidade - LDR

Fonte: Autor

Com a leitura da saída da porta Analógica (AnalogRead) é suficiente para em código assumir a resistência do LDR e, logo, a quantidade de luz emitida sobre ele.

Vale ressaltar que o LDR não tem qualquer função sobre rastreamento do sol. Ele existe nesse projeto apenas para gerar informações sobre como está a luminosidade do sol.

4.2.6. Módulo de Interface Usuário

O módulo de Interface Usuário tem como objetivo mostrar localmente ao usuário informações do sistema. Além disso, o módulo de interface usuário tem como objetivo guiar o usuário na instalação inicial do sistema. Ele é composto por 3 componentes:

● Botão Switch Stand By: Esse botão tem função puramente eletrônica, quando ele é ativado ele libera energia para todo o Sunny Spot.

● Botão Switch On + Led: Esse botão tem duas funções principais. A primeira, é ajudar na instalação inicial do sistema, funcionando como um confirmador das operações realizadas nessa etapa. E depois dessa etapa, ele é responsável por ligar o visor LCD no loop principal do sistema.

● Visor LCD: Esse visor é o responsável pela visualização das informações localmente. Mostrando pelo seu visor, mensagem e dados.

Para entender melhor, a máquina de estados a seguir descreve o comportamento do módulo de interface usuário.

(57)

57 Figura 36 - Máquina de Estados do Módulo Interface Usuário

Fonte: Autor, 2021

A fase inicial, em azul, é a parte onde a interface usuária ajuda na instalação do Sunny Spots, indicando passos, etapas, e dados do comportamento. Em estado amarelo, temos o loop principal do sistema.

Para economizar energia, o LCD só tem a luz de fundo ligada na parte inicial da instalação. A partir do loop principal, a luz é ligada pela mudança de estado do botão Switch On + Led.

Referências

Documentos relacionados

O presente trabalho pretende contribuir para reduzir estas dificuldades, oferecendo expressões com o mesmo formato para a dependência em relação à temperatura de algumas

ed è una delle cause della permanente ostilità contro il potere da parte dell’opinione pubblica. 2) Oggi non basta più il semplice decentramento amministrativo.

 Random storage - refere-se à alocação de um espaço de stock de forma aleatória, segundo o espaço disponível no momento de chegada dos produtos (Petersen e Aase,

Predicted values were calculated by measuring the joint probability of effects on isopods’ biomass variation found for single exposures to different soil

O objetivo deste trabalho foi validar a aplicação do Female Sexual Function Index (FSFI) em uma amostra de mulheres de casais inférteis que desejam engravidar e de mulheres

Os dados dos questionários respondidos pelos representantes das empresas apontaram que entre os principais compradores de fécula em 2005 esteve o setor de massa, biscoito e

Evidentemente, na sociedade tecnológica e veloz dos tempos modernos a relevância da instituição parlamentar e o papel da lei como fonte normativa são cada vez menores,

Os Coordenadores Setoriais, enquanto professores, procuram dar o exemplo, mas deixam claro que encontram, no seu percurso como extensionistas, esse elemento dificultador;  O