Você está na página 1de 66

INSTITUTO FEDERAL FLUMINENSE

LUAN ALMEIDA DA MATTA GONÇALVES


LUCAS DOS SANTOS RUIS

AUTOMAÇÃO E CONTROLE NA FABRICAÇÃO DE CERVEJA CASEIRA


Implementação de um controle PID de temperatura com Arduino

CAMPOS DOS GOYTACAZES – RJ


2019
LUAN ALMEIDA DA MATTA GONÇALVES
LUCAS DOS SANTOS RUIS

AUTOMAÇÃO E CONTROLE NA FABRICAÇÃO DE CERVEJA CASEIRA


Implementação de um controle PID de temperatura com Arduino

Trabalho de conclusão de curso apresentado ao


Instituto Federal Fluminense, como requisito parcial
para conclusão do curso de Bacharelado em
Engenharia de Controle e Automação.
Orientador(a) : Marcos Moulin Valencia

Instituto Federal de Educação, Ciência e Tecnologia Fluminense – IFFLUMINENSE


campus Campos Centro
Engenharia de Controle e Automação

CAMPOS DOS GOYTACAZES – RJ


2019
AGRADECIMENTOS

Agradecemos a todos que nos acompanharam nesta jornada, especialmente


amigos e colegas de turma, que estavam sempre presentes nos principais momentos,
nos grupos de estudo, e compartilharam de nossas aflições e realizações.
Agradecemos também ao professor Edson Simões dos Santos, que colaborou
para o desenvolvimento deste projeto.
Agradecemos ao orientador Marcos Moulin Valencia, que nos guiou ao caminho
adequado em todas etapas do nosso trabalho de conclusão de curso.
Por fim, agradecemos aos nossos familiares que nos apoiaram durante todo o
curso de graduação, sempre incentivando alcançar o melhor desempenho possível e
nunca desistir nas horas difíceis.
RESUMO

Atualmente, o mercado e o interesse por consumo e fabricação de cervejas artesanais


vêm crescendo bastante, e muitas vezes, apreciadores de tal arte encontram
dificuldades ao se lançarem a fabricação de sua própria cerveja. Sempre buscando
processos mais eficientes, com maior qualidade, repetibilidade das receitas, entre
outros. Uma etapa muito importante e difícil de controlar manualmente é a
mosturação, em que se faz o cozimento do malte na água com temperatura
controlada. Para tornar esta etapa mais precisa e mais fácil de ser executada, foi
proposto e implementado um sistema capaz de controlar a temperatura da
mosturação, atendendo as especificações de controle propostas (erro em regime
permanente inferior a 1ºC e máximo sobressinal menor que 5%), com a estratégia de
controle PID, através de um Arduino e outros equipamentos de menor custo como
alternativa aos sistemas existentes no mercado.

Palavras-chave: Arduino, PID, controlador, cerveja, temperatura.


ABSTRACT

Nowadays, the market and interest in the consumption and manufacture of craft beers
have been growing considerably, And often, appreciators of such art, encounter
difficulties when launching the manufacture of their own beer. Always seeking a more
efficient process, with higher quality, more accurate repeatability of recipes, among
others. A very important and difficult step to manually control is the mashing, where
the mal tis cooked in water at a controlled temperature. To make this process more
accurate and easier to perform, a system capable of controlling the mashing
temperature was proposed, with a PID control strategy (in order to achieve less than
5% of overshoot and less than 1ºC steady state error), using an Arduino and other
lower cost equipment as an alternative to existing products in the market.

Keywords: Arduino, PID, controller, craft beer, temperature


LISTA DE FIGURAS

Figura 1: Composição do Lúpulo Comercial.............................................................. 15


Figura 2: Faixas típicas de temperatura e pH de enzimas durante a mostura .......... 17
Figura 3: Válvula de Gás utilizada ............................................................................. 20
Figura 4: Válvula de Gás Proporcional ...................................................................... 20
Figura 5: Resistência Elétrica .................................................................................... 21
Figura 6: Controlador da Resistência Elétrica ........................................................... 22
Figura 7: Resistencia 8000 Watts.............................................................................. 23
Figura 8: Controlador da válvula solenóide ............................................................... 24
Figura 9: Válvula solenóide ....................................................................................... 24
Figura 10: Arduino Mega ........................................................................................... 26
Figura 11: Motor DC com Encoder ............................................................................ 26
Figura 12: L298N....................................................................................................... 27
Figura 13: DS18B20 .................................................................................................. 28
Figura 14: Fonte 12 Volts .......................................................................................... 28
Figura 15: Ligação Elétrica do Protótipo ................................................................... 29
Figura 16: Madeira Angelim Pedra 30x30 cm ........................................................... 30
Figura 17: Acoplamento Flexível ............................................................................... 30
Figura 18: Regulador de Pressão.............................................................................. 31
Figura 19: Base e Conexões Instaladas .................................................................... 31
Figura 20: Parte Elétrica do Protótipo ....................................................................... 32
Figura 21: Protótipo de Controle ............................................................................... 33
Figura 22: Protótipo com acabamento ..................................................................... 34
Figura 23: Comportamento do Sistema ..................................................................... 36
Figura 24: Equação Correspondente a Curva em S .................................................. 36
Figura 25: Comportamento do Sistema a Diversas Entradas.................................... 37
Figura 26: Resposta ao Degrau ................................................................................ 38
Figura 27: Esquema Representativo do Queimador Piloto ....................................... 38
Figura 28: Queimador Piloto...................................................................................... 39
Figura 29 : Curva de Resposta em "S" ...................................................................... 40
Figura 30: Comparativo Entre Sistema Real e Estimado .......................................... 41
Figura 31: Sistema Controlado .................................................................................. 43
Figura 32: Máximo Sobressinal do Sistema Controlado ............................................ 44
LISTA DE TABELAS

Tabela 1: Planilha de custos ..................................................................................... 18


Tabela 2: Alíquotas e Partilha do SImples Nacional - Indústria ................................. 19
Tabela 3: Relação dos gastos do sistema 1 .............................................................. 23
Tabela 4: Relação dos gastos do sistema 2 .............................................................. 25
Tabela 5: Relação dos gastos dos 3 sistemas .......................................................... 25
Tabela 6: Cálculo de Parâmetros de Sintonia PID pelo método Ziegler-Nichols em
Malha Aberta ............................................................................................................. 42
LISTA DE ABREVIATURAS E SÍMBOLOS

P Controlador Proporcional
PI Controlador Proporcional Integrativo
PID Controlador Proporcional Integrativo e Derivativo
GLP Gás Liquefeito de Petróleo
IDE Integrated Development Environment
L Tempo morto
T Constante de tempo
K Constante de Ganho
Kp Ganho Proporcional
Ti Tempo integral
Td Tempo derivativo
SUMÁRIO

1 INTRODUÇÃO ............................................................................................... 11
1.1 APRESENTAÇÃO .......................................................................................... 11
1.2 OBJETIVO ...................................................................................................... 11
1.2.1 OBJETIVO GERAL ......................................................................................... 11
1.2.2 OBJETIVO ESPECÍFICO ............................................................................... 12
2 CONTEXTUALIZAÇÃO ................................................................................. 13
2.1 INGREDIENTES DA CERVEJA ..................................................................... 13
2.1.1 Água ............................................................................................................... 13
2.1.2 Malte ............................................................................................................... 14
2.1.3 Lúpulo ............................................................................................................. 14
2.1.4 Levedura ......................................................................................................... 15
2.1.5 Adjuntos .......................................................................................................... 16
2.2 MOSTURAÇÃO .............................................................................................. 16
3 METODOLOGIA............................................................................................. 18
3.1 LEVANTAMENTO DE MATERIAIS ................................................................ 18
3.2 PRECIFICAÇÃO E ANÁLISE DE MERCADO ................................................ 20
3.2.1 Sistema 1 ........................................................................................................ 22
3.2.2 Sistema 2 ........................................................................................................ 23
3.2.3 Relação entre os sistemas apresentados ....................................................... 25
3.3 DESENVOLVIMENTO DO PROTÓTIPO........................................................ 26
3.3.1 Arduino Mega ................................................................................................. 26
3.3.2 Motor DC 12V com Caixa De Redução e Encoder ......................................... 26
3.3.3 L298N ............................................................................................................. 27
3.3.4 Sensor ............................................................................................................ 27
3.4 MONTAGEM DO PROTÓTIPO ...................................................................... 29
3.4.1 Acoplamento flexível ....................................................................................... 30
3.4.2 Regulador de pressão..................................................................................... 31
4 CONTROLE.................................................................................................... 35
4.1 INTRODUÇÃO ................................................................................................ 35
4.2 MODELAGEM DO SISTEMA ......................................................................... 35
4.3 PARÂMETROS DO CONTROLADOR............................................................ 41
5 TESTES E VALIDAÇÃO ................................................................................ 43
6 CONCLUSÃO E RECOMENDAÇÃO PARA TRABALHOS FUTUROS ........ 45
REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................... 46
APÊNDICE ................................................................................................................ 48
APÊNDICE A- CÓDIGO DO CONTROLADOR PID NO ARDUINO ......................... 49
APÊNDICE B- CÓDIGO PROPOSTO DO CONTROLADOR PID E SHIELD LCD NO
ARDUINO ................................................................................................................. 56
11

1 INTRODUÇÃO

1.1 APRESENTAÇÃO
A produção de cerveja consiste em diversas partes que vão desde a
preparação dos ingredientes até a filtragem e embalagem. O conceito geral da
fabricação de cerveja é a conversão da fonte de amido em mosto, um líquido
açucarado, que será submetido à fermentação para formar finalmente a bebida
alcoólica. Esta conversão da fonte de amido em mosto é feita durante o processo de
mosturação (brassagem), que consiste em misturar o malte moído à água aquecida
em temperatura controlada. Nesse momento as enzimas convertem o amido em
açúcares fermentáveis e açúcares não fermentáveis. A mosturação geralmente tem
duração de 60 a 90 minutos em temperaturas que variam de 62°C a 72°C,
dependendo do estilo da cerveja. E essa temperatura necessita de um controle
preciso.
O controle de temperatura na mosturação do sistema em questão é manual,
ajustando a vazão de gás (GLP), a fim de controlar a chama que esquenta a panela
cervejeira. Porém este controle além de cansativo, impreciso e inseguro. E há poucos
equipamentos no mercado que possibilitam esse controle de forma automatizada, com
um preço acessível, conforme pesquisa de preços e sistemas elaborados pelos
autores, abordados nas seções seguintes. Ainda mais, considerando a proposta deste
trabalho de desenvolver um sistema de automação e controle de baixo custo, na
fabricação de cerveja caseira.

1.2 OBJETIVO

1.2.1 OBJETIVO GERAL


Sabendo das dificuldades inerentes ao processo de fabricação de cerveja
artesanal, este projeto visa automatizar a etapa de mosturação e a implementação de
um controle de temperatura para a mesma, visto que esta etapa tem grande
importância no processo.
12

Assim sendo, os seguintes objetivos são definidos: melhorar a qualidade da


cerveja com rampas de temperatura mais precisas, tendo uma sacarificação mais
eficiente, atendendo melhor o estilo de cada cerveja produzida, e permitir a
repetibilidade das receitas. Outro objetivo é atender a demanda popular por um
produto de maior qualidade de uma área em crescimento no país, e a redução de
custos na produção, pois com a garantia de alta eficiência em prol das rampas de
temperaturas mais precisas, há uma redução nos custos de produção, tanto de
insumo, quanto de combustível.
Um grande desafio do projeto, é utilizar o aquecimento a gás ao invés do
elétrico que é amplamente utilizado, e que apesar de ter o controle de temperatura
mais simples, é caro e de alto custo de consumo de energia elétrica. O aquecedor a
gás proposto utilizará ainda um registro de baixo custo ao invés de válvulas de gás
proporcionais, também de valor muito elevado.

1.2.2 OBJETIVO ESPECÍFICO


Garantir o controle de temperatura durante o processo de brassagem, que é a
etapa de maior influência no produto final, com uma estratégia de controle que
apresente um erro em regime permanente menor que 1ºC e um máximo sobressinal
menor que 5%, utilizando componentes de baixo custo.
13

2 CONTEXTUALIZAÇÃO

2.1 INGREDIENTES DA CERVEJA


Morado (2009 apud coele, 2016, p.18) argumenta que,
Pela Lei da Pureza da Cerveja Alemã, os elementos das cervejas seriam os
clássicos e sem grandes mudanças, porém, a bebida permite grande
versatilidade quanto aos ingredientes que são utilizados em sua produção. A
proporção dos ingredientes utilizados, o grau de maltagem do cereal, o tipo
de lúpulo utilizado, o tipo de fermentação e a temperatura e duração das
etapas do processo bem como o processo de armazenamento e envase,
caracterizam uma grande diversidade de cervejas.

Em seguida serão citados os ingredientes básicos com um breve detalhamento


de cada um deles.

2.1.1 Água
Sobre a água cervejeira, BORZANI (2001, Vol. IV, (p. 107)) diz que:
A água a ser utilizada no processo de produção de cerveja não deve apenas
satisfazer os requisitos de uma água potável, mas deve apresentar
características específicas para assegurar um pH desejável da mistura de
malte e adjunto durante a mosturação, promover a extração do princípios
amargos e aromáticos do lúpulo, bem como uma boa coagulação do “trub”
(material mucilaginoso) durante a fervura do mosto; permitir uma fermentação
asséptica e desenvolver cor, aroma e sabor característicos do tipo de cerveja
a ser fabricada.

Segundo BORZANI também, a qualidade da cerveja depende muito da


qualidade da água, sendo cada tipo de cerveja requer uma água com composição
mineral diferente. Uma boa água cervejeira deve apresentar alguns requisitos básicos
como ser potável, transparente, incolor, inodora e livre de qualquer sabor estranho.
Também deve apresentar, na fonte, alcalinidade máxima de 50ppm, podendo ter um
PH na faixa de 4 a 9. E possuir aproximadamente 50ppm de cálcio. (BORZANI, 2001,
Vol. IV p. 107).
14

2.1.2 Malte
“VENTURINI FILHO define malte como a matéria-prima resultante da
germinação de qualquer cereal (cevada, milho, trigo, aveia, entre outros) a condições
controladas. ” (2005 apud Coele, 2016, p.18)
A respeito dos cereais, BORZANI (2001, Vol. IV, p.97-98) aponta que:
A cevada é a que apresenta menores dificuldades técnicas no processo de
maltagem [...]. Além disso, a cevada apresenta em sua composição alto teor
de amido, ou em outras palavras, de extrato fermentável. A proteína presente
encontra-se em quantidade e qualidade suficiente para a nutrição das
leveduras durante a fermentação, como também para a formação de espuma
no produto final.

A maltagem é um processo que consiste na germinação de cereais, de forma


a obter determinadas enzimas que contribuem para as reações de quebra de
protéinas, amido e glucano, durante o processo de mosturação. Essas enzimas e
moléculas presentes no malte são de suma importância para a qualidade da cerveja,
pois conferem características físico-químicas e organolépticas (aroma paladar).
(REINOLD, 2017)

2.1.3 Lúpulo
“O lúpulo (Humulus lupulus L.) é uma espécie de planta trepadeira, perene,
que pertence ao grupo das Urticáceas e da família Cannabaceae”. (REINOLD, 2017)
Segundo BORZANI, o interesse industrial recai sobre as plantas femininas,
mais precisamente sobre as flores na forma de cone e frutos resultantes delas. Pois
estes são ricos em lupulina, responsável pelo aroma e amargor característicos de
lúpulo das cervejas (BORZANI, 2001, Vol. IV p. 104 - 105).
15

Figura 1: Composição do Lúpulo Comercial

Fonte: Adaptado de Borzani (2001)

Ainda sobre este ingrediente, Morado (2009 apud Coele, 2016, p.20)
estabelece que “Diferentemente do malte, o lúpulo, [...] não altera o corpo da cerveja
nem seu teor alcoólico, mas é fundamental para conferir à bebida o aroma e amargor
característicos das boas cervejas”.
Sob a óptica cervejeira, BORZANI (2001, Vol. IV, p.105) ressalta que:
As frações mais importantes da lupulina são as resinas e os óleos essenciais.
As resinas são constituídas principalmente de alfa e beta-ácidos. Os
primeiros, também chamados humulonas, são a fonte principal de amargor
na cerveja; enquanto que os segundos, denominados lupulonas, são menos
importantes. Durante a fervura do morto, as moléculas de alfa-ácidos são
isomerizadas para forma alfa-isso-ácidos. Esses compostos, [...], são muito
mais amargos e muito mais solúveis do que os alfa-ácidos.

2.1.4 Levedura
De acordo com Venturini Filho (2005 apud Coele, 2016, p.21) “as
características de aroma e sabor de qualquer cerveja são preponderantemente
determinadas pelo tipo de levedura utilizada”.
A respeito dos tipos de fermentação, BORZANI (2001, Vol. IV) ressalta que:
Nas cervejarias, entretanto, se faz uma classificação empírica baseada no
comportamento da levedura cervejeira durante a fermentação. Assim, se
durante o processo fermentativo a levedura sobe para a superfície do mosto,
ela é denominada de ‘alta fermentação’; e se ao final do processo
fermentativo decanta no fundo do fermentador, é chamada de ‘baixa
fermentação.
Sendo a alta fermentação o caso das Ales, Altbier, kölsh, entre outras e a baixa
fermentação o caso das Lager, Wienes, Märzen, entre outras.
16

2.1.5 Adjuntos
De acordo com REINOLD, adjuntos podem ser definidos como qualquer
ingrediente, no contexto da produção da cerveja, que não seja malte, água, lúpulo ou
levedura. São capazes de fornecer caraterísticas diferentes ao prduto final e podem
substituir parcialmente o malte na produção, dependendo do tipo de cerveja que
deseja alcançar. São utilizados como adjunto: grãos não-maltados, frutas, ervas,
especiarias, açúcares, entre outros. (REINOLD, 2017)
Em síntese o processo de fabricação da cerveja é a conversão da fonte de
amido em açúcares, formando o mosto, este será submetido à fermentação, que irá
transformar açúcar em álcool, para finalmente formar a bebida alcoólica.
O processamento pode ser dividido em três fases. A produção do mosto, que
envolve a maltagem, moagem do malte, mosturação, filtração, fervura e clarificação.
O processo fermentativo, subdivido em fermentação e maturação. E acabamento da
cerveja, que envolve condicionamento e envase (BORZANI, 2001).

2.2 MOSTURAÇÃO
O processo de mosturação (brassagem) consiste em transformar as matérias
primas cervejeiras em mosto. O malte moído é misturado com água quente, numa
temperatura controlada. Nesse momento o malte é hidratado e se inicia a atividade
das enzimas, dentre as várias enzimas que são ativadas, merecem destaque as
amilases que convertem o amido em açúcares fermentáveis e dextrina não
fermentável e as proteases que produzem nutrientes pela digestão das proteínas
(BORZANI, 2001, Vol. IV p. 115 - 116).
As amilases α e ß hidrolisam o amido e a amilipectina, fazendo a liberação dos
açúcares fermentáveis, tendo nas temperaturas mais baixas, a alta atividade da beta
amilase, e nas temperaturas mais altas a alpha amilase (Briggs et al, 2005).
O tempo de mosturação geralmente varia de 60 e 90 minutos em temperaturas
que variam de 62°C a 72°C, dependendo do estilo da cerveja, pois por volta de 70ºC
(α) terá uma cerveja mais encorpada e menos alcóolica, já na temperatura de 62ºC
(ß) terá uma cerveja menos encorpada e mais alcóolica. Existem ainda, outras rampas
17

de temperatura que, dependendo do estilo da cerveja, podem ser utilizadas para ativar
algumas enzimas específicas (Briggs et al, 2005).

Figura 2: Faixas típicas de temperatura e pH de enzimas durante a mostura

Adaptado de (PALMER, 2006).

Esta é uma etapa essencial do processo, e necessita de uma temperatura


controlada. Porém, não há muitos equipamentos no mercado que possibilitam esse
controle, e os existentes possuem preço relativamente alto.
18

3 METODOLOGIA

3.1 LEVANTAMENTO DE MATERIAIS


Primeiramente foi feito um levantamento de quais matérias seriam necessários
para montar o protótipo:

Tabela 1: Planilha de custos

Produto Valor unitário Frete Total


Arduino Mega R$ 26.00 R$ 18.00 R$ 44.00
Motor com encoder R$ 66.00 R$ 31.00 R$ 97.00
Acoplamento flexível R$ 3.00 R$ 14.00 R$ 17.00
Interface de potência R$ 15.35 R$ 23.80 R$ 39.15
Fonte 12 V/ 3A R$ 12.00 R$ 18.00 R$ 30.00
Sensor de temperatura R$ 13.23 R$ 8.50 R$ 21.73
Regulador de Pressão R$ 104.60 R$ - R$ 104.60
Shield LCD R$ 27.00 R$ 16.90 R$ 43.90
Madeira de Base R$ 5.00 R$ 5.00
Caixa plástica R$ 28.90 R$ 16.90 R$ 45.80
Bornes R$ 16.50 R$ 23.90 R$ 40.40
Queimador Piloto R$ 30.00 R$ 30.00
Margem de lucro bruto (30%) ¹ R$ 155.57 R$ 155.57
Imposto (4,5%) ² R$ 30.34 R$ 30.34

Valor Total (R$) R$ 533.49 R$ 171.00 R$ 704.49


Valor Total ($) $ 133.04 $ 42.64 $ 175.68
cotação dólar (18/08/2019) R$ 4.01

Fonte: Autor

1- Foi considerado uma margem de lucro bruto de 30%, considerando o custo


de produção embutido nesse valor.
19

2- O imposto de 4,5% foi definido a partir da análise da Tabela 2,


disponibilizada no site do ministério da economia para definir a alíquota e
partilha do simples nacional para indústrias.

Tabela 2: Alíquotas e Partilha do SImples Nacional - Indústria

Fonte: Ministério da Economia


20

3.2 PRECIFICAÇÃO E ANÁLISE DE MERCADO


Com o custo definido, foi realizado uma pesquisa de mercado com o objetivo
de se comparar a viabilidade econômica do sistema desenvolvido.
Para uma análise mais simples, verificamos o gasto energético e custo de
equipamentos essenciais em diferentes meios de produção, como a válvula de gás
que utilizaremos, resistência elétrica e válvula de gás proporcional, como mostrado
nas figuras a seguir.

Figura 3: Válvula de Gás utilizada

Fonte: Mercado Livre

Figura 4: Válvula de Gás Proporcional

Fonte: Mercado Livre


21

Figura 5: Resistência Elétrica

Fonte: Mercado Livre

Cálculo do custo energético da resistência térmica.

𝑀 × 𝐶 × (𝑇2 − 𝑇1) (3.1)


ℎ=
860 × 𝑃

Onde:
P = Potência em kW.
M = Massa do líquido a ser aquecido em kg (para água considere 1kg por litro).
C = Calor específico em caloria por minuto (para água considere 1cal/min).
T1 = Temperatura inicial em ºC
T2 = Temperatura final em ºC.
h = Tempo de aquecimento em horas.
860 = constante para conversão de kW para calorias.
Para uma rampa de sacarificação em 76ºC, em uma panela de 100 litros,
resistência de 10KW e temperatura ambiente de 20ºC.
Com a substituição desses valores na equação (3.1), calcula-se o tempo de
aquecimento equivalente a 0,65116 horas. O que leva a um consumo de 6,5116 kWh.
Com a tarifa de energia elétrica custando R$ 1,06718 calcula-se um consumo de R$
6,949 que equivale a U$ 1,843, Cotação do dólar equivalente a R$ 3,77 (23/07/2019).
22

Considerando o gás (GLP) com uma vazão de 0,5kg/h, com poder calorífico de
11.500 Kcal por quilograma de gás obtém-se uma potência de 5750kcal/h. Para as
condições anteriormente citadas e substituição de valores na equação (3.1), calcula-
se o tempo de aquecimento equivalente a 0,9739 horas. Que leva a um consumo de
0,4869 kg GLP, considerando um botijão de 13 kg custando R$ 70,00, calcula-se um
consumo de R$ 2,6217, que equivale a U$ 0,6954, Cotação do dólar equivalente a R$
3,77 (23/07/2019).
Além da análise de custo energético, foi realizada também uma comparação
entre os custos para implantação de diferentes sistemas de controle de temperatura.

3.2.1 Sistema 1
Sistema de controle on/off com uso de uma resistência elétrica de 8000 watts
em 220 Volts.

Figura 6: Controlador da Resistência Elétrica

Fonte: Controlbeer
23

Figura 7: Resistencia 8000 Watts

Fonte: Primo Cervejeiro

Tabela 3: Relação dos gastos do sistema 1

Produto Valor unitário Frete Total


Resistencia 8000 Watts R$ 343.00 R$ 28.23 R$ 371.23
Controlador (Controlbeer) R$ 560.00 R$ 560.00

Valor Total ($): $ 225.19 $ 7.04 $ 232.23


cotação dólar (18/08/2019) R$ 4.01

Fonte: Autor

3.2.2 Sistema 2
Sistema de controle on/off com uso de válvula solenoide NF (normal fechada)
para gás. Não está incluso o sistema de chama piloto e o regulador de pressão de
gás.
24

Figura 8: Controlador da válvula solenóide

Fonte: Controlbeer

Figura 9: Válvula solenóide

Fonte: Tecnotronics
25

Tabela 4: Relação dos gastos do sistema 2

Produto Valor unitário Frete Total

Válvula Solenóide R$ 65.00 R$ 27.70 R$ 92.70

Controlador (Controlbeer) R$ 485.00 R$ 485.00

Regulador de Pressão R$ 104.60 R$ - R$ 104.60

Queimador Piloto R$ 30.00 R$ 30.00

Valor Total ($): $ 170.62 $ 6.09 $ 177.63

cotação dólar (18/08/2019) R$ 4.01

Fonte: Autor

3.2.3 Relação entre os sistemas apresentados


Após fazer a relação dos gastos de cada um dos sistemas, foi feito um
comparativo do preço de implementação de cada um deles

Tabela 5: Relação dos gastos dos 3 sistemas

Este projeto Sistema 1 Sistema 2

Valor Total em reais: R$ 704.49 R$ 931.23 R$ 712.30

Valor Total em dólares: $ 175.68 $ 232.23 $ 177.63

cotação dólar
R$ 4.01
(18/08/2019)

Fonte: Autor
26

3.3 DESENVOLVIMENTO DO PROTÓTIPO

3.3.1 Arduino Mega


O Arduino Mega foi utilizado inicialmente para aquisição de dados, através da
comunicação serial e posteriormente para controle da planta, utilizando portas
analógicas e digitais.

Figura 10: Arduino Mega

Fonte: AliExpress

3.3.2 Motor DC 12V com Caixa De Redução e Encoder


O motor com encoder foi utilizado como elemento final de controle, atuando na
válvula para regular a vazão de gás, enviando um feedback de posição para o
controlador através dos pulsos do encoder.

Figura 11: Motor DC com Encoder

Fonte: Bsmart
27

3.3.3 L298N
O módulo driver ponte H L298N foi utilizado para alimentar o arduino com
tensão de 5V, controlar e inverter a rotação do motor.

Figura 12: L298N

Fonte: Baú da Eletronica

3.3.4 Sensor
O sensor utilizado no projeto foi o DS18b20, responsável por proporcionar a
medição da temperatura e enviar os dados ao Arduino, sendo essencial desde a etapa
de identificação da curva do sistema até o feedback no processo de controle. Algumas
especificações deste sensor são:
 Range de Medição de Temperatura: -55ºC até 125ºC
 Precisão de 0.5ºC na faixa de temperatura de -10ºC a 85ºC
 Tensão de Alimentação: 3V a 5V
Além disso, este é um sensor digital, com resolução programável. A
comunicação é feita através de uma biblioteca específica implementada no Arduino.
28

Figura 13: DS18B20

Fonte: Mercado Livre

Figura 14: Fonte 12 Volts

Fonte: Eletrogate
29

A figura a seguir mostra a disposição do circuito elétrico instalado.

Figura 15: Ligação Elétrica do Protótipo

Fonte: Autor

3.4 MONTAGEM DO PROTÓTIPO


Devido ao torque do motor foi necessária uma base para o mesmo, para que
este não girasse em torno de seu próprio eixo. Foi montada uma base, utilizando um
bloco de madeira conforme Figura 16.
30

Figura 16: Madeira Angelim Pedra 30x30 cm

Fonte: Grupo demaco

3.4.1 Acoplamento flexível


O acoplamento flexível foi utilizado para acoplar o eixo do motor ao eixo da
válvula, permitindo uma diferença de alinhamento radial e axial.

Figura 17: Acoplamento Flexível

Fonte: Baú da Eletrônica


31

3.4.2 Regulador de pressão


O regulador de pressão foi utilizado para manter estável a pressão do GLP (gás
liquefeito de petróleo), oferecendo maior segurança para os operadores e garantindo
uma chama mais constante para a mesma abertura de válvula.

Figura 18: Regulador de Pressão

Fonte: Loja do Mecânico

Foram realizados alguns furos e entalhes na madeira para fixar o motor


acoplado à válvula, as conexões e mangueiras de gás.

Figura 19: Base e Conexões Instaladas

Fonte: Autor
32

Figura 20: Parte Elétrica do Protótipo

Fonte: Autor
33

Figura 21: Protótipo de Controle

Fonte: Autor
34

Por fim, foi adicionado o shield LCD e botões, a fim de criar uma interface homem
máquina, que permite a visualização da temperatura, da variável manipulada (número
de pulsos do encoder) e Setpoint, que também pode ser alterado com uso dos botões,
implementados em uma caixa a fim de conferir acabamento e proteção ao protótipo,
utilizando todos materiais citados na Tabela 1.

Figura 22: Protótipo com acabamento

Fonte: Autor
35

4 CONTROLE

4.1 INTRODUÇÃO
Com a instalação de gás e elétrica pronta, iniciou-se a etapa de controle do
sistema, utilizando um Arduino Mega para compilar os códigos e adquirir os dados
através da IDE do Arduino. E para o tratamento dos dados da planta e do controlador
foi utilizado o software MATLAB.

4.2 MODELAGEM DO SISTEMA


Para o desenvolvimento do sistema de controle, a temperatura foi medida por
um termômetro digital e o sinal proveniente desse sensor fornecido ao controlador; o
mesmo é comparado com a temperatura programada de referência, se houver
divergência (erro) o controlador envia um sinal para o motor, este acoplado ao registro,
controlará a vazão de GLP, fazendo com que a temperatura atinja o valor desejado
(OGATA, 2010, p. 4).
O controle foi realizado através de um controlador PID. Vale ressaltar que este
é utilizado em mais da metade dos controladores industriais em uso atualmente. Para
projetar este controlador foram utilizadas as regras de ajuste de Ziegler e Nichols.
(OGATA, 2010, p. 521)
De acordo com o primeiro método de Ziegler e Nichols, que se aplica quando a
resposta da planta a uma entrada em degrau tem o aspecto de um S. Essa curva de
resposta ao degrau foi gerada experimentalmente e pode ser caracterizada por duas
constantes, o atraso L e a constante de tempo T. Esses fatores podem ser
determinados através da análise dos dados obtidos. Por exemplo, a constante T pode
ser definida como o tempo em que o sistema atinge 63,2% da amplitude da variável
manipulada, como visto na Figura 23. A função de transferência C(s)/U(s) pode ser
aproximada por um sistema de primeira ordem com um atraso de transporte, como
segue: (OGATA, 2010)
36

Figura 23: Comportamento do Sistema

Fonte: Ogata (2010)

Figura 24: Equação Correspondente a Curva em S

Fonte: Ogata (2010)

Para realizar tal controle, foi necessário estimar a resposta do sistema a um


degrau de entrada.
Após testes com vários valores de entrada (abertura da válvula), com volume
de água sempre mantido em 40 litros e a pressão do gás equivalendo a 1 bar, foi
realizada análises do comportamento do sistema. Então definiu-se a quantidade de
pulsos que seria utilizado no degrau, a partir do gráfico de temperatura e posição da
válvula, ambos em função do tempo em minutos, como pode ser visto na Figura 25.
37

Figura 25: Comportamento do Sistema a Diversas Entradas

Fonte: Autor

A partir dos dados obtidos empiricamente, foi definido que seria aplicado um
degrau inicial de 96 pulsos de abertura da válvula para que fosse possível uma
estabilização de uma temperatura diferente do ambiente. E posteriormente, um
degrau de uma abertura da válvula correspondente a 237 pulsos do encoder, onde foi
possível observar uma certa estabilização do sistema em uma temperatura próxima
do SetPoint que será trabalhado. Como resposta, foi verificada a variação da
temperatura da água de 40.7ºC até 68.6ºC. Com o gráfico de resposta ao degrau,
calculamos os fatores para a planta de transferência.
38

Figura 26: Resposta ao Degrau

Fonte: Autor

Para garantir o mínimo de distúrbio no degrau de entrada aplicado, a


amostragem de dados foi feita com a válvula piloto fechada, por esta ser de atuação
manual e não podermos assegurar uma vazão de gás igual em todos os testes.
Tendo em vista esse distúrbio, foi feita uma adaptação no sistema. Instalando
um queimador piloto adaptado conforme a Figura 28, a partir de um queimador (Figura
27), de forma que tivesse a mínima interferência no processo e garantindo maior
segurança na operação.

Figura 27: Esquema Representativo do Queimador Piloto

Fonte: Autor
39

Figura 28: Queimador Piloto

Fonte: Autor

De acordo com a Figura 29 e análise do gráfico da Figura 26, foram estimados


os valores de K, L e T. A constante de ganho (K) foi obtida através da razão entre a
variação de temperatura (sinal de saída) e o degrau aplicado (sinal de entrada).
Conforme citado anteriormente, temos uma variação de 27.9ºC (68.6 – 40.7), além de
um degrau com amplitude correspondente a 141 (237 – 96) pulsos. O resultado da
razão é visto abaixo:
K = 0.1972
Além disso, o sistema precisou de aproximadamente 80 minutos para atingir
63,2% da temperatura final (conforme Figura 26), que corresponde a 1T (uma
constante de tempo), tendo como resultado o valor abaixo:
T = 79.6333
Ainda segundo OGATA, a planta em questão pode ser descrita como um
sistema de primeira ordem com atraso de transporte, conforme apresentado na Figura
29 (Ogata,2010):
40

Figura 29 : Curva de Resposta em "S"

Fonte: Ogata(2010)

Desta forma, foi observado um tempo mínimo de resposta do sistema, e


consideramos que a planta precisou de aproximadamente 1 (um) minuto para
apresentar uma variação de temperatura maior que a precisão do sensor.
L= 1.3667
Estes foram substituídos na Equação 1, obtendo:

C(s) 0.1972e−1.3667s (4.1)


=
U(s) 79.633s + 1
41

Foi simulado então um degrau no Matlab, a partir da função de transferência


estimada. Na figura a seguir é possível ver a comparação com os dados reais:

Figura 30: Comparativo Entre Sistema Real e Estimado

Fonte: Autor

4.3 PARÂMETROS DO CONTROLADOR


A partir da comparação do comportamento real e o comportamento da função
de transferência, foi observado fidelidade entre o modelo matemático e o sistema real.
Tendo essa comprovação, para projetar o controlador, Ziegler e Nichols sugerem
escolher os valores de Kp, Ti e Td, de acordo com a seguinte tabela: (OGATA, 2010,
p. 523)
42

Tabela 6: Cálculo de Parâmetros de Sintonia PID pelo método Ziegler-Nichols em Malha Aberta

Fonte: Ogata (2010)

Os valores calculados a partir da tabela foram:


Kp = 69.9220
Ti = 2.7333
Td = 0.6833
Desenvolveu-se então um controlador PID no Arduino com base nos valores
de Kp, Ti e Td calculados. Algumas alterações foram realizadas, como saturação do
fator integrativo, saturação do valor máximo e mínimo do atuador.
Foi aplicado também, um override no atuador, quando a temperatura da água
está distante da temperatura desejada (erro maior que 5ºC), mantendo assim, a
válvula na sua abertura máxima. Isto foi feito para diminuir o tempo necessário para o
sistema atingir a temperatura próxima ao SetPoint, o que seria benéfico a produção,
de acordo com experiência prática do autor.
43

5 TESTES E VALIDAÇÃO

Implementado o código do controlador, na forma de Single-Loop, testou-se o


sistema para um Setpoint de 62ºC com a água inicialmente em temperatura ambiente,
por volta de 37ºC.

Figura 31: Sistema Controlado

Fonte: Autor
44

Com auxílio do Excel, foi verificado que o sistema apresentou um sobressinal


de apenas 0,38ºC, correspondendo a menos de 1% do valor de temperatura desejado.

Figura 32: Máximo Sobressinal do Sistema Controlado

Fonte:Autor
45

6 CONCLUSÃO E RECOMENDAÇÃO PARA TRABALHOS FUTUROS

Ao final deste projeto, concluímos que os objetivos estabelecidos anteriormente


foram alcançados, como um menor custo de implementação e produção, assim como
os critérios técnicos do sistema.
É interessante destacar que o controlador proporcionou uma boa curva de
desempenho do sistema, um erro em regime permanente e máximo sobressinal
menores que o desejado com um tempo de subida aceitável. Características
importantes para uma produção de cerveja caseira de qualidade.
Como recomendação para trabalhos futuros, percebemos algumas mudanças
que poderiam ser feitas, como a instalação de um sensor de chama, possível alteração
para motor de passo DC, a utilização de unidades de controle ou processadores
alternativos, como o Arduino Nano ou ESP8266 (NodeMCU), a fim de otimizar o
processo e diminuir os custos. Também é pertinente a validação do código
apresentado APÊNDICE B- CÓDIGO PROPOSTO DO CONTROLADOR PID E
SHIELD LCD NO ARDUINO.
46

REFERÊNCIAS BIBLIOGRÁFICAS

BORZANI, W. (2001). Biotecnologia industrial (Vol. 4). São Paulo: Blücher.

CONDE, D. C. (2017). Design of a semi-automated home brewing system. Acesso em


June de 2018, disponível em:
https://upcommons.upc.edu/bitstream/handle/2117/111186/David_Catalan_Conde_-
_TFG_-_Juliol_2017.pdf?sequence=1&isAllowed=y

FERNANDES, A. M., & FRANZEN, T. A. (2011). Automação e Controle em uma Micro


Cervejaria Artesanal. VIII SIMPOSIO de Excelência em Gestão e Tecnologia, 13.

FILHO, R. P. (2018). Acesso em June de 2018, disponível em Construção de uma


câmara desidratadora com controle de temperatura:
http://bd.centro.iff.edu.br/bitstream/123456789/2023/1/Texto.pdf

JUNIOR, L. d., & FREITAS, W. R. (2013). Acesso em October de 2018, disponível em


Implementação de Controle PID em um Microcontrolador para Controle de Tmperatura
com Interface Gráfica:
http://bd.centro.iff.edu.br/bitstream/123456789/866/3/Documento.pdf

MORADO, R. (2009). Larousse da cerveja (1 ed.). São Paulo: Larousse do Brasil.


OGATA, K. (2003). Engenharia de Controle Moderno (4 ed.). Rio de Janeiro: Pearson.
Oliveira, S. P. (2016). Desenvolveimento de um sistema de controle digital de
temperatura para mosturação no processo de fabricação de cervejas artesanais.
Acesso em June de 2018, disponível em
http://repositorio.roca.utfpr.edu.br/jspui/bitstream/1/5061/1/CM_COELE_2016_1_05.
pdf
PALMER, J. (2006). How to Brew: Everything You Need To Know To Brew Beer Right
The First Time (1 ed., Vol. 1). Natl Book Network.
47

Reinold, M. R. (2017). Cervesia. Acesso em Julho de 2019, disponível em


https://www.cervesia.com.br

SANTOS, O. L., JÚNIOR, J. D., & NEVES, M. R. (2017). Sistema de Controle de


Temperatura para uma Estufa com Monitoramento Via Aplicativo. Revista de Ciência
E Tecnologia, p. 16. Fonte: https://revista.ufrr.br/rct/article/download/4004/2286

Siqueira, D. R., & Oliveira, A. Q. (2013). Acesso em June de 2018, disponível em


Simulação de Sistema de Controle de Temperatura de Tanque Baseado na
Modelagem de um Processo Real:
http://bd.centro.iff.edu.br/bitstream/123456789/761/3/Documento.pdf

VENTURINI FILHO, W. G. (2010). Tecnologia de bebidas: Ciência e Tecnologia.


(Blucher, Ed.)
48

APÊNDICE
49

APÊNDICE A- CÓDIGO DO CONTROLADOR PID NO ARDUINO

#include "Wire.h"
#include "OneWire.h"
#include "DallasTemperature.h"
#define ONE_WIRE_BUS_1 A0
OneWire ourWire1(ONE_WIRE_BUS_1);
DallasTemperature sensor1(&ourWire1);

float RawValue = 0;
const byte Encoder_C1 = 2;
int duracao=0;
int Direcao;
//Pinos de ligacao ponte H L298N
int IN3 = 6;
int IN4 = 7;
const byte interruptPin = 0;

float Kp = 69.9220;
float Ti = 2.7333;
float Td = 0.6833;
float Ki = Kp/Ti;
float Kd = Kp*Td;
float Setpoint = 62;
float error=0;
int PID;
float lastProcess;
float lastRawValue;
int P;
int I;
int D;
unsigned long tempo;
50

int power=200;
int aux=0;

void setup()
{
delay(1000);
Serial.begin(9600);
sensor1.begin();
sensor1.setResolution(11);

//Definicao pinos ponte H


pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

//Definicao do encoder
pinMode(Encoder_C1, INPUT);
pinMode(interruptPin, INPUT_PULLUP);

attachInterrupt(interruptPin,calculapulso,RISING);

Serial.print("tempo");
Serial.print("\t");
Serial.print("T(ºC)");
Serial.print("\t");
Serial.print("SP");
Serial.print("\t");
Serial.print("error");
Serial.print("\t");
Serial.print("PID");
Serial.print("\t");
Serial.print("pulso");
Serial.print("\t");
51

Serial.print("P");
Serial.print("\t");
Serial.print("I");
Serial.print("\t");
Serial.println("D");

/* horario();
delay(5000);
Serial.println("fechou");
duracao=0;
delay(100);*/
}

void loop()
{
tempo = millis();
int aux=0;
if(tempo==10000)
{
Direcao=1;
analogWrite(IN3,0);
analogWrite(IN4,70);
}
if(tempo==15000)
{
Stop();
aux=1;
duracao=0;
}
if((tempo%1000)==0)
{
sensor1.requestTemperatures();
52

RawValue = ((sensor1.getTempCByIndex(0))-2);
Serial.print(tempo/1000);
Serial.print("\t");
Serial.print(RawValue);
Serial.print("\t");
Serial.print(Setpoint);
Serial.print("\t");
Serial.print(error);
Serial.print("\t");
Serial.print(PID);
Serial.print("\t");
Serial.print(duracao);
Serial.print("\t");
Serial.print(P);
Serial.print("\t");
Serial.print(I);
Serial.print("\t");
Serial.println(D);
if (tempo>16000)
{
PIDt ();
}
}
}

void PIDt()
{
RawValue = ((sensor1.getTempCByIndex(0))-2);
error = Setpoint - RawValue;
float deltaTime = (millis() - lastProcess) / 1000.0;
lastProcess = millis();
P = Kp*error;
53

I = Ki*error + I;
if (I>500) I=500;
if (I<80) I=80;
if(error<=0.13 && aux==0)
{
I=0;
aux=1;
}
if(error>=2 && aux==1)
{
aux=0;
}
D = (lastRawValue - RawValue)*Kd;
lastRawValue = RawValue;
PID = P + I + D;
if(PID>1500 || error>2) //ideia: se error<2 ou <1 limitar o PID em 300 ou 500
{
PID=1500;
}
if(PID<130)
{
PID=0;
}

if(duracao>=120)
{
power= 100;
}
else
{
power= 200;
}
54

if(duracao<(PID-0))
{
anti_horario();
}
if(duracao>(PID+0))
{
horario();
}
}

void calculapulso()
{
if(duracao>=(PID-10) && duracao<=(PID+10) && tempo>15500)
{
Stop();
// delay(200);
}
if (!Direcao)
{
duracao++;
}
else
{
duracao--;
}

void Stop()
{
analogWrite(IN3,power); //45
55

analogWrite(IN4,power); //60
}

void anti_horario()
{
Direcao=0;
analogWrite(IN3,(power-15)); //55
analogWrite(IN4,0);
}

void horario()
{
Direcao=1;
analogWrite(IN3,0);
analogWrite(IN4,power); //70
}
56

APÊNDICE B- CÓDIGO PROPOSTO DO CONTROLADOR PID E SHIELD LCD NO


ARDUINO

#include <LiquidCrystal.h>
#include "Wire.h"
#include "OneWire.h"
#include "DallasTemperature.h"
#define ONE_WIRE_BUS_1 A8
OneWire ourWire1(ONE_WIRE_BUS_1);
DallasTemperature sensor1(&ourWire1);

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);


float SP1 = 50;
float RawValue = 0;
const byte Encoder_C1 = 2;
int duracao=0;
int Direcao;
int IN3 = 11;
arduino
int IN4 = 13;
const byte interruptPin = 0;
float Kp = 69.9220;
float Ti = 2.7333;
float Td = 0.6833;
float Ki = Kp/Ti;
float Kd = Kp*Td;
float error=0;
int PID;
float lastProcess;
float lastRawValue;
int P;
int I;
57

int D;
unsigned long tempo;
int power=200;
int aux=0;

void setup(){
delay(1000);
Serial.begin(9600);
sensor1.begin();
sensor1.setResolution(11);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(Encoder_C1, INPUT);
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(interruptPin,calculapulso,RISING);
lcd.begin(16, 2);
lcd.setCursor(3,0);
lcd.print("VP=");
lcd.setCursor(6,0);
lcd.print(RawValue,1);
lcd.setCursor(11,0);
lcd.print(" C");
lcd.setCursor(0,1);
lcd.print("SP=");
lcd.setCursor(3,1);
lcd.print(SP1,1);
lcd.setCursor(9,1);
lcd.print("VM=");
lcd.setCursor(12,1);
lcd.print(duracao);
delay(500);
58

Serial.print("tempo");
Serial.print("\t");
Serial.print("T(ºC)");
Serial.print("\t");
Serial.print("SP");
Serial.print("\t");
Serial.print("error");
Serial.print("\t");
Serial.print("PID");
Serial.print("\t");
Serial.print("pulso");
Serial.print("\t");
Serial.print("P");
Serial.print("\t");
Serial.print("I");
Serial.print("\t");
Serial.println("D");
}

void loop() {
tempo = millis();
int aux=0;
if(tempo==10000)
{
Direcao=1;
analogWrite(IN3,0);
analogWrite(IN4,70);
}
if(tempo==15000)
{
Stop();
aux=1;
59

duracao=0;
}
if (600<(analogRead (0)) && (analogRead (0))< 800)
{
LCD(1);
}
if((tempo%1000)==0)
{
sensor1.requestTemperatures();
RawValue = ((sensor1.getTempCByIndex(0))-2);
Serial.print(tempo/1000);
Serial.print("\t");
Serial.print(RawValue);
Serial.print("\t");
Serial.print(SP1);
Serial.print("\t");
Serial.print(error);
Serial.print("\t");
Serial.print(PID);
Serial.print("\t");
Serial.print(duracao);
Serial.print("\t");
Serial.print(P);
Serial.print("\t");
Serial.print(I);
Serial.print("\t");
Serial.println(D);
lcd.setCursor(6,0);
lcd.print(RawValue,1);
lcd.setCursor(3,1);
lcd.print(SP1,1);
lcd.setCursor(12,1);
60

lcd.print(duracao);
if (tempo>16000)
{
PIDt ();
}
}
}

void PIDt()
{
RawValue = ((sensor1.getTempCByIndex(0))-2);
error = SP1 - RawValue;
float deltaTime = (millis() - lastProcess) / 1000.0;
lastProcess = millis();
P = Kp*error;
I = Ki*error + I;
if (I>500) I=500
if (I<80) I=80;
if(error<=0.13 && aux==0)
{
I=0;
aux=1;
}
if(error>=2 && aux==1)
{
aux=0;
}
D = (lastRawValue - RawValue)*Kd;
lastRawValue = RawValue;
PID = P + I + D;
61

if(PID>1500 || error>2)
{
PID=1500;
}
if(PID<130)
{
PID=0;
}
if(duracao>=120)
{
power= 100;
}
else
{
power= 200;
}
if(duracao<(PID-0))
{
anti_horario();
}
if(duracao>(PID+0))
{
horario();
}
}

void calculapulso()
{
if(duracao>=(PID-10) && duracao<=(PID+10) && tempo>16500)
{
Stop();
// delay(200);
62

}
if (!Direcao)
{
duracao++;
}
else
{
duracao--;
}
}

void Stop()
{
analogWrite(IN3,power);
analogWrite(IN4,power);
}

void anti_horario()
{
Direcao=0;
analogWrite(IN3,(power-15));
analogWrite(IN4,0);
}

void horario()
{
Direcao=1;
analogWrite(IN3,0);
analogWrite(IN4,power);
}
63

void LCD(int a)
{
Serial.println("LCD");
delay(500);
lcd.clear();
lcd.print("SELECIONAR O SP");
lcd.setCursor(4,1);
lcd.print("SP=");
lcd.setCursor(7,1);
lcd.print(SP1,1);
int botao;
delay(500);
while(a==1)
{
lcd.setCursor(7,1);
lcd.print(SP1,1);
botao = analogRead (0);
if (botao < 80)
{
if(SP1<100)
{
SP1=SP1+0.1;
delay(200);
}
}
else if (botao < 200)
{
if(SP1<100)
{
SP1=SP1+1;
if(SP1>100)
{
64

SP1=100;
}
delay(200);
}
}
else if (botao < 400)
{
if(SP1>0)
{
SP1=SP1-1;
if(SP1<0)
{
SP1=0;
}
delay(200);
}
}
else if (botao < 600 && SP1>0)
{
if(SP1>0)
{
SP1=SP1-0.1;
delay(200);
}
}
else if (botao < 800)
{
lcd.clear();
lcd.setCursor(3,0);
lcd.print("VP=");
lcd.setCursor(6,0);
lcd.print(RawValue,1);
65

lcd.setCursor(11,0);
lcd.print(" C");
lcd.setCursor(0,1);
lcd.print("SP=");
lcd.setCursor(3,1);
lcd.print(SP1,1);
lcd.setCursor(9,1);
lcd.print("VM=");
lcd.setCursor(12,1);
lcd.print(duracao);
a=0;
delay(300);
}
}
}

Você também pode gostar