Versão para apreciação por júri

Transcrição

Versão para apreciação por júri
FACULDADE DE E NGENHARIA DA U NIVERSIDADE DO P ORTO
Monitorização da Tiragem de Cerveja
num Equipamento de Extração
João Manuel Carvalho da Silva Corrêa
PARA A PRECIAÇÃO POR J ÚRI
Mestrado Integrado em Engenharia Eletrotécnica e de Computadores
Orientador: Prof. Joaquim Gabriel Mendes - DEMec
27 de janeiro de 2014
© João Corrêa, 2014
Resumo
Atualmente a UNICER tem cerca 60000 máquinas de distribuição de cerveja instaladas em
restaurantes, bares e discotecas em todo o país. Contudo, para além da informação que recebe do
revendedor, não dispõe de uma contabilização dos consumos de cerveja em cada um dos pontos
de venda, o que limita bastante a gestão eficiente dos recursos.
Nesta dissertação analisaram-se, teoricamente, várias soluções possíveis para a monitorização
dos consumos efetuados numa máquina de extração de cerveja, sendo elas a utilização de um caudalímetro ultrassónico, um caudalímetro eletrónico, um potenciómetro no manípulo da torneira,
um sensor de efeito Hall na gaveta da torneira e uma célula de carga. Após esta análise, e tendo
em conta a relação qualidade/preço, optou-se pela instalação do sensor de efeito Hall na torneira
da máquina. Os resultados experimentais obtidos demonstram que é possível medir o volume
extraído com um erro máximo de ± 5%. Estes resultados promissores permitem impulsionar o
desenvolvimento futuro de novas soluções comerciais adaptadas a este ambiente e direcionadas
para o mercado em questão.
i
ii
Abstract
UNICER has currently about 60000 draught beer dispensers installed in restaurants, bars and
nightclubs across the country. However, beyond the information that receives from the dealer it
doesn’t have a recording of beer consumption in each of the sales point, which greatly limits the
efficient management of resources.
On this dissertation we’ve performed a theoretical analysis of several possible solutions to
monitor the consumption in an draught beer dispenser that have included the use of an ultrasonic
flow meter, an electronic flow meter, a potentiometer on the knob, a Hall effect sensor inside the
faucet and a load cell. After this analysis and taking into account the quality/price ratio, we’ve
opted to install the Hall effect sensor on the faucet. The experimental results demonstrate that it is
possible to measure the volume mined with an accuracy of ± 5%. These promising results allow
us to drive the future development of new commercial solutions adapted to this environment and
oriented to the market in question.
iii
iv
Agradecimentos
A realização desta dissertação revelou-se um dos marcos mais importantes no meu desenvolvimento académico. Sem o apoio, ajuda e contribuição de inúmeras pessoas com quem contacto e
convivo diariamente não estaria agora a terminar este capítulo da minha vida.
Gostaria, em primeiro lugar, de agradecer ao Prof. Joaquim Gabriel pela diponibilidade, orientação e suporte que me concedeu durante o decorrer do projeto. À UNICER, pela oportunidade que
foi atribuida à Faculdade de Engenharia de desenvolver esta solução. Aos responsáveis da UNICER com quem contactei, pelo apoio e tempo que me dedicaram. Um agradecimento especial à
Universidade do Porto pelo Projeto Pluridisciplinar 2010, “Avaliação e Optimização da Eficiência
Energética de uma Maquina de Tiragem de Cerveja”, financiado pela UNICER e Santander Totta.
Aos meus amigos, que sempre tiveram uma palavra de incentivo até nos momentos mais difíceis e a todos aqueles que estiveram presentes nas sessões de testes. Um muito obrigado ao
Agostinho Rocha, José Olivera e Luciano Santos, por todas as contribuições que me deram para
ultrapassar os obstáculos encontrados.
À Ana por aturar o meu mau feitio no final de cada dia. À minha família, com especial
destaque para a minha tia, que durante todo o percurso académico se privou de inúmeras noites de
descanso para me ajudar.
Por último, mas sempre em primeiro lugar, aos meus pais, por todos os esforços efetuados
para me tornarem na pessoa que hoje sou.
João Corrêa
v
vi
“Innovation distinguishes
between a leader and a follower.”
Steve Jobs
vii
viii
Conteúdo
1
2
3
4
Introdução
1.1 Contexto . . . . . . . . .
1.2 Motivação . . . . . . . .
1.3 Objetivos . . . . . . . .
1.4 Estrutura do Documento
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
2
2
Estado da Arte
2.1 A cerveja . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Contextualização histórica . . . . . . . . . . .
2.1.2 Produção . . . . . . . . . . . . . . . . . . . .
2.1.3 Equipamento de extração de bebidas à pressão
2.2 Soluções já implementadas . . . . . . . . . . . . . . .
2.2.1 Kegbot ™ . . . . . . . . . . . . . . . . . . . .
2.2.2 Keg-Meter . . . . . . . . . . . . . . . . . . .
2.3 Discussão . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
4
5
6
6
6
7
Soluções Propostas
3.1 Descrição Geral . . . . . . . . . . . . . . . .
3.2 Hardware . . . . . . . . . . . . . . . . . . .
3.2.1 Arduino . . . . . . . . . . . . . . . .
3.2.1.1 Arduino Mega . . . . . . .
3.2.1.2 Módulo SD . . . . . . . .
3.2.1.3 Módulo RTC . . . . . . . .
3.2.1.4 Display . . . . . . . . . . .
3.2.1.5 Módulo RFID . . . . . . .
3.2.2 Caudalímetro . . . . . . . . . . . . .
3.2.2.1 Caudalímetro Ultrassónico
3.2.2.2 Caudalímetro Eletrónico . .
3.2.3 Potenciómetro . . . . . . . . . . . .
3.2.4 Sensor de efeito Hall . . . . . . . . .
3.2.5 Célula de carga . . . . . . . . . . . .
3.3 Software . . . . . . . . . . . . . . . . . . . .
3.3.1 Android . . . . . . . . . . . . . . . .
3.4 Discussão . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
11
11
12
12
12
13
13
14
16
16
17
17
18
18
19
Avaliação Experimental
4.1 Montagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Torneira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
21
21
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
CONTEÚDO
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
22
22
24
26
29
30
30
30
31
31
32
32
32
33
34
35
35
35
38
38
39
39
42
42
Conclusões e Trabalho Futuro
5.0.4 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.0.5 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
43
44
4.2
4.3
4.4
4.5
4.6
4.7
5
4.1.1.1 Instalação do Sensor de Efeito Hall . .
4.1.1.2 Determinação da Curva ∆V/Distância .
4.1.2 Circuito eletrónico . . . . . . . . . . . . . . . .
Aquisição de Dados . . . . . . . . . . . . . . . . . . . .
Base de Dados . . . . . . . . . . . . . . . . . . . . . . .
Aplicação Android . . . . . . . . . . . . . . . . . . . .
4.4.1 Ecrãs . . . . . . . . . . . . . . . . . . . . . . .
4.4.1.1 Ecrã inicial . . . . . . . . . . . . . . .
4.4.1.2 Ecrã estabelecimento . . . . . . . . .
4.4.1.3 Ecrãs gerente/técnico . . . . . . . . .
4.4.1.4 Ecrã máquina . . . . . . . . . . . . .
4.4.2 Princípios de funcionamento . . . . . . . . . . .
4.4.2.1 Adicionar gerente/técnico . . . . . . .
4.4.2.2 Adicionar máquina . . . . . . . . . .
4.4.2.3 Adicionar estabelecimento . . . . . .
4.4.2.4 Visualizar estabelecimentos . . . . . .
4.4.2.5 Associar máquinas a estabelecimentos
4.4.2.6 Receber/visualizar consumos . . . . .
Sincronização com o Servidor Central . . . . . . . . . .
Orçamento . . . . . . . . . . . . . . . . . . . . . . . . .
Análise dos resultados . . . . . . . . . . . . . . . . . .
4.7.1 Volume . . . . . . . . . . . . . . . . . . . . . .
4.7.2 Peso . . . . . . . . . . . . . . . . . . . . . . . .
4.7.3 Sincronização . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A Código implementado no Arduino
45
B Volume e tempo de extração
53
Referências
55
Lista de Figuras
2.1
2.2
2.3
Exportação de cerveja por país [4] . . . . . . . . . . . . . . . . . . . . . . . . .
Máquina de extração inverter . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keg-Meter [8] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
Modo de comunicação . . . . . . . . . . . . . . . . . . . . .
Shields Arduino . . . . . . . . . . . . . . . . . . . . . . . . .
Board Arduino Mega [18] . . . . . . . . . . . . . . . . . . . .
Leitor/Gravador SD [20] . . . . . . . . . . . . . . . . . . . .
Relógio de tempo real [21] . . . . . . . . . . . . . . . . . . .
LCD 20x2 [22] . . . . . . . . . . . . . . . . . . . . . . . . .
Sistema RFID . . . . . . . . . . . . . . . . . . . . . . . . . .
Princípio de funcionamento do caudalímetro ultrassónico [10]
Caudalímetro Eletrónico [12] . . . . . . . . . . . . . . . . . .
Potenciómetro com carga resistiva . . . . . . . . . . . . . . .
Sensor de efeito Hall [16] . . . . . . . . . . . . . . . . . . . .
Célula de carga [17] . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
11
11
12
12
13
13
14
16
17
17
18
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
Esquema de uma torneira . . . . . . . . . . . .
Instalação do sensor de Hall . . . . . . . . . .
Determinação da curva ∆V/distância . . . . . .
Curva ∆V/Distância . . . . . . . . . . . . . . .
Função polinomial de 4º grau . . . . . . . . . .
Esquema de montagem . . . . . . . . . . . . .
Circuito PCB . . . . . . . . . . . . . . . . . .
PCB . . . . . . . . . . . . . . . . . . . . . . .
Sistema de aquisição de dados . . . . . . . . .
Excerto do programa Arduino . . . . . . . . . .
Adaptação da função millis() . . . . . . . . . .
Determinação do valor da temperatura ambiente
Consolidação/Envio de dados . . . . . . . . . .
Estrutura da Base de Dados . . . . . . . . . . .
Ecrã Principal . . . . . . . . . . . . . . . . . .
Ecrãs gerente/tecnico . . . . . . . . . . . . . .
Ecrãs tipos/máquinas . . . . . . . . . . . . . .
Funcionalidades estabelecimento . . . . . . . .
Informações estabelecimento . . . . . . . . . .
Associação de máquinas . . . . . . . . . . . .
Menu consumos . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
22
22
23
24
24
25
25
26
27
27
28
28
29
31
33
33
34
34
35
36
xi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
5
6
xii
LISTA DE FIGURAS
4.22
4.23
4.24
4.25
4.26
Sistema de autorização . . . . . . .
Informações referente aos consumos
Evolução do consumo . . . . . . . .
Relação entre ∆V e o caudal . . . .
Consumos efetuados . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
36
37
39
40
42
Lista de Tabelas
3.1
Velocidade de propagação do som na água em função da temperatura [10] . . . .
14
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
∆V/Distância . . . . . . . . . . . . . . . . . . . . . .
Esquema de ligações . . . . . . . . . . . . . . . . . .
Orçamento . . . . . . . . . . . . . . . . . . . . . . . .
Valores médios dos parâmetros de extração . . . . . .
Resultados obtidos com uma amostra de 3,40×10−3 L
Testes utilizando diferentes valores para a amostra . . .
Testes utilizando 3,53×10−3 L como valor da amostra
Valores padrão do sistema . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
23
26
38
39
40
41
41
42
B.1 Volume e tempo de extração . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
xiii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xiv
LISTA DE TABELAS
Abreviaturas e Símbolos
a.C.
APP
BD
BPI
CO2
d.C.
GPS
ICSP
IDE
I/O
LCD
LED
MAC
PCB
PWM
RFID
SD
SDK
SO
UART
USB
Antes de Cristo
Application Software
Base de Dados
Banco Português de Investimento
Dióxido de Carbono
Depois de Cristo
Global Positioning System
In Circuit Serial Programming
Integrated Development Environment
Input & Output
Liquid-Crystal Display
Light-Emitting Diode
Media Access Control
Printed Circuit Board
Pulse-Width Modulation
Radio-frequency identification
Secure Digital
Software Development Kit
Sistema Operativo
Universal Asynchronous Receiver/Transmitter
Universal Serial Bus
xv
Capítulo 1
Introdução
1.1
Contexto
A cerveja é uma bebida alcoólica, de sabor amargo, com gás, na maioria dos casos servida
fria. Produzida a partir de uma mistura de cereais acredita-se que se trate da primeira bebida alcoólica alguma vez produzida. Historicamente, a cerveja já era conhecida pelos antigos sumérios,
egípcios, mesopotâmios e ibéricos, remontando, pelo menos, a 6000 a.C. [1].
Para ser produzida, os cereais atravessam uma série de etapas: moagem, brassagem, filtragem
e ebulição do mosto, fermentação, maturação, estabilização e clarificação [2]. Depois de concluído
o processo, a cerveja é armazenada, para uma posterior distribuição, em latas, garrafas e barris.
Por uma questão de facilidade, o público alvo da área não comercial tem preferência pelas duas
primeiras opções, sendo os barris utilizados, quase na sua totalidade, em bares, restaurantes e
discotecas.
A Unicer é a maior empresa de Bebidas a operar em Portugal, não só nos negócios de cervejas
e águas, onde detém uma posição de extrema relevância, mas também na área dos refrigerantes,
vinhos, produção e comercialização de malte. Conta com cerca de 1500 colaboradores, sendo
detentora de 10 estabelecimentos de captação, produção, engarrafamento, vendas e operações.
Trata-se de uma empresa detida pelo Grupo VIACER (BPI, Arsopi e Violas) e pelo grupo
Carlsberg, sendo que 56% do capital é português [2].
1.2
Motivação
Numa época em que a palavra “crise” faz parte do nosso quotidiano, os mercados já implementados lutam para que as suas percentagens de venda não diminuam acentuadamente, procurando
soluções para a redução de custos desnecessários. Uma das oportunidades de melhoria no negócio
da cerveja tem a ver com a não existência de controlo dos consumos em cada máquina de extração,
impossibilitando uma gestão eficaz do fornecimento e manutenção dos equipamentos instalados.
1
2
Introdução
Não olhando a custos, a solução que melhor se enquadraria seria a implementação de um
caudalímetro ultrassónico mas, como sabemos, cada cêntimo é importante, sendo fundamental
ponderar alternativas.
A utilização de um caudalímetro eletrónico ou de um potenciómetro na torneira de extração são
algumas das hipóteses a ter em conta uma vez que a relação qualidade/preço, para estas situações,
parece vantajosa.
Sendo esta uma área com falta de soluções viáveis, o desafio será, pois, o de encontrar a melhor
resposta para esta problemática.
1.3
Objetivos
O objetivo desta dissertação é estudar e implementar uma solução que permita contabilizar o
volume de cerveja que atravessa a torneira de extração.
Para o atingir, devem ser tidos em conta os seguintes objetivos específicos:
• Analisar soluções similares existentes no mercado;
• Desenvolver uma solução de baixo custo que permita a leitura dos consumos;
• Desenvolver uma aplicação para Android para a gestão dos dados obtidos;
• Testar a solução em laboratório.
1.4
Estrutura do Documento
Este documento encontra-se organizado em 5 capítulos. No Capítulo 2 apresenta-se o estado
da arte, incluindo diversas formas de controlo de fluxo passíveis de adaptar a esta situação. O
Capítulo 3 providencia as descrições das soluções a implementar, bem como as suas especificações. No Capítulo 4 são apresentadas as experiências bem como os valores obtidos. Finalmente,
o Capítulo 5 apresenta as conclusões obtidas.
Capítulo 2
Estado da Arte
2.1
2.1.1
A cerveja
Contextualização histórica
Produzida desde o ano 6000 a.C, os documentos mais antigos datam de 2600 a 2350 a.C.
[1]. Desta época foram encontradas menções a Ninkasi, deusa da cerveja para os Sumérios. Na
Babilónia os arqueólogos descobrem que já se produziam diferentes tipos de cerveja a partir da
junção de plantas, aromas e mel.
Mais recentemente, no Egito, segundo o escritor grego Ateneu de Náucratis (sec. III d.C.),
a cerveja era produzida para ajudar os mais pobres pois não dispunham de possibilidades económicas para consumir vinho. Ramsés III, faraó entre 1184 e 1153 a.C. foi apelidado de faraócervejeiro após a doação, aos sacerdotes do Templo de Amon, um milhão de litros de cerveja das
suas produções.
A cerveja era a bebida preferida dos romanos, até que, durante a República Romana, o vinho
fez com que esta fosse considerada uma bebida bárbara.
Na idade média inúmeros monges utilizavam mírica, sálvia, gengibre, louro, rosmarinho e
lúpulo para a sua produção. A introdução do lúpulo é atribuída aos monges do Mosteiro de San
Gallo, na Suíça, como forma de preservação, sendo o processo de fermentação ainda desconhecido
[3].
Hoje em dia a cerveja é mundialmente conhecida, produzida e consumida em quase todos os
países. Destaque para os Países Baixos, México e Alemanha que, tal como ilustrado na figura 2.1,
são os principais exportadores.
3
4
Estado da Arte
Figura 2.1: Exportação de cerveja por país [4]
2.1.2
Produção
O primeiro passo para a produção de uma cerveja é a elaboração do mosto. Esta etapa é
dividida nas seguintes fases:
• Moagem - O malte é moído até se obter uma farinha espessa, sendo os restantes cereais não
maltado moídos até se obter a espessura adequada;
• Brassagem - À farinha obtida na moagem é então adicionada água de forma a produzir-se
o mosto ideal para a cerveja em questão. As moléculas de amido e proteínas são decompostas em estruturas mais básicas. Este processo demora entre duas a quatro horas, a uma
temperatura que ronda os 75 ºC;
• Filtragem do mosto - O mosto é então separado da parte insolúvel (drêche, utilizado para
alimentar o gado);
• Ebulição do mosto - Esta etapa serve para eliminar substâncias indesejáveis, esterilizar e
fixar a concentração final do mosto.
O segundo passo tem a ver com a fermentação. Aqui, os açucares são convertido, graças à
levedura, em álcool e dióxido de carbono. A levedura é adicionada ao mosto arrefecido e saturado
em oxigénio. Este processo tem a duração aproximada de 7 dias, estado pronto quando a levedura
de fermentação baixa assenta no fundo do tanque.
A maturação corresponde ao período onde se libertam as últimas substâncias voláteis indesejáveis. A cerveja é estabilizada a uma temperatura entre os 0 ºC e os 2 ºC.
Por último a clarificação torna a cerveja límpida. O líquido atravessa um último filtro antes
de ser armazenada e distribuída [2].
2.1 A cerveja
2.1.3
5
Equipamento de extração de bebidas à pressão
Independentemente da marca ou tamanho, todas as instalações são constituídas pelos seguintes
componentes:
• Botija de CO2 ;
• Regulador de CO2 ;
• Tubagens (para a cerveja bem como para o CO2 );
• Barril;
• Torneira;
• Máquina de refrigeração (figura 2.2).
Aplicando pressão no interior do barril proveniente da botija de CO2 , a cerveja é extraída e
conduzida até à torneira através da tubagem. Entre a botija e o barril encontra-se o regulador de
CO2 , instrumento utilizado para controlar a pressão a que o barril se encontra sujeito [5].
A tubagem de aço inox responsável pelo arrefecimento da cerveja encontra-se enrolada, em
forma de serpentina que, em contacto com a água gelada existente dentro da máquina, arrefece o
fluído antes da sua libertação através da torneira. O manípulo da torneira permite ao consumidor
controlar a extração da cerveja bem como a adição de espuma caso seja necessária.
Figura 2.2: Máquina de extração inverter
Uma das vantagens da utilização de uma máquina é o facto de se conseguir extrair uma cerveja
fresca em qualquer altura do ano. Na grande maioria das cervejas, a sua temperatura ideal de
consumo varia entre os 2,2 ºC e os 4,4 ºC. A medição da temperatura pode ser realizada de várias
maneiras, algumas máquinas poderão, eventualmente, possuir um termómetro embutido mas, de
um modo geral, a solução mais prática passa por colocar um termómetro num copo após a tiragem
6
Estado da Arte
da cerveja. Para garantir a qualidade do produto, após a abertura de um barril, é conveniente o seu
consumo num prazo máximo de 5 dias [5].
Tratando-se a cerveja de um “organismo vivo”, exige alguns cuidados de higiene e manutenção. Regularmente as tubagens necessitam de ser sujeitas a uma limpeza recorrendo a um produto
específico de higienização, prevenindo assim a crescimento de bactérias ao longo das mesmas.
É necessário também ter em atenção que a limpeza não deve ser realizada utilizando água muito
quente pois pode danificar algum elemento e fazer com que a tiragem não seja realizada da melhor
maneira.
Em relação ao CO2 , a botija deve ser verificada regularmente para garantir que não existam
fugas ou que a mesma se encontre vazia, fazendo com que a pressão diminua e a cerveja não
possua o gás necessário para uma boa apreciação da mesma.
2.2
Soluções já implementadas
Serão agora apresentados os resultados de uma pesquisa de soluções já existentes no mercado
com objetivos semelhantes aos que foram propostos para esta dissertação.
2.2.1
Kegbot ™
O KegBot ™ é um sistema open source que permite a monitorização, em tempo real, de uma
máquina de extração de cerveja. Tem como princípio de funcionamento um caudalímetro ultrassónico (por torneira de extração). Permite a integração com um computador de modo a monitorizar
os consumos de cada cliente, gerar gráficos e logfiles [7].
2.2.2
Keg-Meter
Outro sistema já implementado no mercado é o Keg-Meter (figura 2.3). Este modo de contabilização tem como princípio de funcionamento a medição da variação do valor da pressão no
barril.
Figura 2.3: Keg-Meter [8]
2.3 Discussão
7
Ao contrário do KegBot ™, este sistema não pode ser integrado em qualquer máquina de
extração, restringindo-se, assim, a modelos que não utilizem uma botija de CO2 para extrair a
cerveja do barril. Nesta situação o barril de cerveja contém a pressão necessária para que a cerveja
percorra a serpentina e chegue à torneira, sem a necessidade da utilização de uma fonte de dióxido
de carbono externa.
2.3
Discussão
Neste capítulo apresentou-se uma contextualização história relativa à cerveja, bem como um
resumo do modo de produção, a máquina de extração e soluções específicas já existentes no mercado.
Cada tecnologia possui as suas próprias vantagens e desvantagens. No que diz respeito ao
KegBot ™, trata-se de uma solução muito intuitiva, rodeada de extras que facilitam em muito a
monitorização dos dados obtidos mas tornando o seu preço demasiado elevado.
Quanto ao Keg-Meter, a sua incorporação é extremamente fácil, pecando pelas funcionalidades
reduzidas e falta de universalidade, reduzindo assim o mercado a uma pequena fração de possíveis
compradores.
8
Estado da Arte
Capítulo 3
Soluções Propostas
Neste capítulo são apresentadas diversas soluções para resolver o problema de medição do
caudal de cerveja. Em primeiro lugar será feita uma descrição geral, seguida de uma análise mais
aprofundada de cada solução, bem como uma comparação entre as mesmas, apontando os prós e
contras. Por último será escolhida uma solução que, posteriormente, irá ser implementada.
3.1
Descrição Geral
Depois de revisto o estado da arte, e estudados os possíveis modos de contabilização do fluxo
de um líquido, foram colocadas em cima da mesa várias soluções, divididas em 3 tipos distintos
de acordo com a localização onde as mesmas são passíveis de ser implementadas:
• Tubo de passagem de cerveja:
– Caudalímetro eletrónico/ultrassónico - instalados na tubagem que conduz a cerveja
entre o barril e a torneira. Serão testadas diferentes localizações tendo em conta o grau
de dificuldade de instalação, espaço dentro da máquina e, principalmente, a ocorrência,
ou não, de espuma;
• Torneira:
– Potenciómetro - acoplado ao manípulo da torneira, de modo a que, consoante o grau
de abertura da mesma, o valor da resistência altere, possibilitando desta forma relacionar a resistência do potenciómetro com o volume de cerveja que atravessa a torneira;
– Sensor de efeito Hall - instalado no interior da torneira, sofre a ação de um magneto
instalado na gaveta da válvula, fazendo com que, à medida que a torneira abra ou
fecha, a diferença de potencial nos terminais à saída do sensor varie, possibilitando,
uma vez mais, determinar o volume de cerveja extraída;
9
10
Soluções Propostas
• Barril:
– Célula de carga - colocado na parte inferior do barril, de modo a calcular a variação
da massa à medida que se vai extraindo cerveja;
À exceção do caudalímetro ultrassónico, as outras soluções não requerem hardware dispendioso. A instalação dos caudalímetros, bem como do sensor de força, pode ser realizada com
alguma facilidade, já o modo de instalação dos sensores na torneira requerem certas modificações
para que os mesmos sejam imperceptíveis.
3.2
Hardware
Em todas as experiências, os sensores estarão ligados diretamente a uma placa de desenvolvimento Arduino Mega. Numa fase inicial os resultados obtidos serão mostrados em tempo real
num display e guardados no cartão de memória SD para futura análise e comparação. Numa
fase posterior será abandonada a utilização do display pois todos os dados estarão disponíveis
no tablet/smartphone, com a comunicação a ser efetuada pelo módulo bluetooth. Para a gravação no cartão SD utilizar-se-á um módulo de leitura/gravação genérico. Serão também utilizados
os módulos BT HC-06 (comunicação entre o Arduino e o dispositivo Android), DS1307 (relógio externo). O dispositivo Android utilizado será o tablet Asus Nexus 7 - 2012. O esquema de
comunicação encontra-se representado na figura 3.1.
Figura 3.1: Modo de comunicação
De seguida serão apresentados os módulos anteriormente mencionados.
3.2 Hardware
11
3.2.1 Arduino
Arduino é uma plataforma de hardware open source baseada numa placa composta por um
microprocessador Atmel AVR e portas de entrada/saída. Programado mediante o uso de uma linguagem própria, torna possível utilizar inúmeras opções alternativas, sendo as mais populares Java
e C/C++/C# [18].
Com várias versões, dependendo essencialmente da capacidade de processamento do microcontrolador bem como do número de portas de I/O, possibilita a integração de diversos acessórios
(shields) - placas de circuitos integrados fixadas no topo do dispositivo. Estas expansões permitem a inclusão de funções específicas, desde o controlo de servo-motores até sistemas de redes
sem fios.
Figura 3.2: Shields Arduino
Na figura 3.2 estão representados os shields necessários para o desenvolvimento desta dissertação.
3.2.1.1 Arduino Mega
Devido, não só, à necessidade de um microprocessador com capacidade de processamento
suficiente para a incorporação de vários sensores/módulos, mas também à necessidade de utilizar
várias portas de comunicação encontrou-se a solução ótima no Arduino Mega.
O Mega (figura 3.3) é uma placa que integra um microcontrolador ATmega1280. Possui 54
pinos digitais (14 podem ser usados como saídas PWM), 16 pinos analógicos, 4 UARTs, um cristal
oscilador de 16 MHz, ligação USB, entrada para fonte de alimentação, conetor ICSP e um botão de
reset. É compatível com a grande maioria dos shields desenhados para os modelos Duemilanove
e Diecimila [18].
Figura 3.3: Board Arduino Mega [18]
12
Soluções Propostas
3.2.1.2
Módulo SD
O módulo apresentado na figura 3.4 torna possível a leitura/escrita em cartões de memória SD.
Estes são, atualmente, os cartões com a melhor relação qualidade/preço, atingindo, nos modelos
topo de gama, velocidades de escrita na ordem dos 30 MB/s [19].
Figura 3.4: Leitor/Gravador SD [20]
3.2.1.3
Módulo RTC
Um relógio de tempo real (figura 3.5) permite que o Arduino mantenha o tempo presente.
Utiliza um cristal de quartzo com frequência de oscilador de 32,768 kHz, a mesma que é utilizada
nos relógios de quartzo. Graças à pilha existente no módulo, a contagem do tempo continua
mesmo quando o sistema se encontra desligado.
Figura 3.5: Relógio de tempo real [21]
3.2.1.4 Display
Um LCD (figura 3.6) é facilmente integrado com qualquer placa Arduino, sendo assim possível
visualizar informações em tempo real sem a necessidade de um computador. Existem inúmeras
variedades dependendo do número de carateres por linha, número de linhas, retroiluminação, entre
outras. Devido, não só, à relação qualidade/preço, mas também à informação que se irá apresentar,
optou-se por um ecrã de 20 carateres por linha, com duas linhas
3.2 Hardware
13
Figura 3.6: LCD 20x2 [22]
3.2.1.5
Módulo RFID
RFID, do inglês Radio-frequency identification, trata-se de um modo, que utiliza sinais de
rádio como meio de transmissão, de identificação automática que permite a leitura/escrita remota
através de dispositos apelidados de tags RFID (figura 3.7a). O módulo RC522, ilustrado na figura
3.7b, é barato e totalmente compatível com Arduino, sendo de fácil instalação e programação.
(a) Tag RFID
(b) RC522
Figura 3.7: Sistema RFID
3.2.2
Caudalímetro
O caudalímetro é um instrumento de medição do caudal de um fluído [9]. Colocado nas
tubagens que o transportam, existem diferentes variedades: mecânicos, eletrónicos e ultrassónicos.
De modo a permitir uma leitura mais correta, o caudalímetro deve ser calibrado para o tipo de
fluído em uso. No caso da cerveja a sua calibração é dificultada devido à mistura gás/líquido deste
fluído.
Nas subsecções seguintes será dada ênfase às variantes ultrassónica e eletrónica devido às suas
aplicações práticas irem de encontro à problemática desta dissertação, uma vez que ambas podem
ser ligadas ao sistema de aquisição de dados.
14
Soluções Propostas
3.2.2.1
Caudalímetro Ultrassónico
O caudalímetro ultrassónico tem como princípio de funcionamento a emissão/receção de ondas
ultrassónicas (ondas com frequência acima de 20 kHz, limite superior percetível ao ser humano).
Estas ondas podem ser contínuas ou formadas por uma série de impulsos de curta duração, que se
propagam com uma determinada velocidade v, variável, influenciada pela temperatura e densidade
do líquido que atravessa [10]. A tabela 3.1 representa a variação da velocidade de propagação do
som na água em função da temperatura.
Tabela 3.1: Velocidade de propagação do som na água em função da temperatura [10]
Temperatura
(ºC)
5
10
15
20
25
30
Velocidade do som
na água (m/s)
1426
1447
1466
1482
1497
1509
Um dos modelos mais comuns é o caudalímetro ultrassónico tubular (spool ultrassonic flowmeter), assim designado em virtude do tipo de trajeto único. Possui apenas um par de transdutores
ultrassónicos idênticos, com faces frente-a-frente, alinhados obliquamente e em contacto com o
líquido, dispondo cada um deles de um elemento piezoelétrico que funciona alternadamente como
emissor e recetor de ondas ultrassónicas. O respectivo princípio de transdução baseia-se no tempo
de propagação, ou seja, no tempo que a onda mecânica demora a chegar do transdutor emissor ao
transdutor recetor.
A esquematização do princípio de funcionamento está representada na figura 3.8.
Figura 3.8: Princípio de funcionamento do caudalímetro ultrassónico [10]
L f simboliza a distância total a percorrer pela onda entre os dois transdutores; L é a secção de
L f que se encontra no interior do tubo, por vezes apelidada de comprimento de interrogação. Esta
distância pode ser calculada através da seguinte equação:
3.2 Hardware
15
L=
D
sinφ
(3.1)
Partindo do pressuposto de que em L f −L , isto é, as reentrâncias entre os transdutores e o tubo
de medição, o líquido se encontra em repouso, consideramos que a velocidade de propagação da
onda é c. Relativamente ao trajeto L é necessário considerar a influência do escoamento, podendo
assim dividir o problema em duas situações:
• T1 → T2 (propagação para jusante):
c1 = c +Cp cosφ
(3.2)
• T2 → T1 (propagação para montante):
c2 = c −Cp cosφ
(3.3)
Em ambas as equações, Cp representa a velocidade média de escoamento no trajeto em questão.
Os tempos de propagação referentes aos casos apresentados podem ser traduzidos através de:
t1 =
L
c +Cp cosφ
(3.4)
t2 =
L
c −Cp cosφ
(3.5)
L∆t
2cosφt1t2
(3.6)
e
das quais se conclui que
Cp =
com ∆t = t2 − t1
16
Soluções Propostas
O caudalímetro ultrassónico de trajeto único mede, indirectamente, a velocidade média ao
longo do percurso acústico Cp e não a velocidade média de escoamento Ce . Para a sua determinação, Cp é multiplicado por um fator de correção da distribuição de velocidades k p , dependente do
número de Reynolds do escoamento primário do caudalímetro. Assim sendo verica-se que:
kp =
1
1, 12 − 0, 011logRe
(3.7)
que, relacionada com a equação 3.6 dá origem a:
Ce = k p
L∆t
2cosφt1t2
(3.8)
Caudalímetros com dois ou mais trajetos acústicos utilizam técnicas para a determinação de
Ce através dos diferentes valores de Cp (um por trajeto), reduzindo os erros de aproximação [10].
3.2.2.2
Caudalímetro Eletrónico
O caudalímetro eletrónico (figura 3.9) é constituído por uma turbina, transversal à direção de
circulação do fluxo do fluído que o atravessa. Num dos extremos da turbina existe um íman que,
ao girar, gera um campo magnético variável, detetado por um sensor de efeito de campo magnético
(sensor de efeito Hall) que gera uma sequência de impulsos. O tempo entre cada impulso varia
com a velocidade da turbina, sendo esta proporcional à velocidade de deslocamento do fluído,
correspondendo a cada um deles um determinado volume V , tornando assim possível o cálculo do
fluxo [11].
Figura 3.9: Caudalímetro Eletrónico [12]
3.2 Hardware
3.2.3
17
Potenciómetro
O potenciómetro pode ser utilizado como divisor de tensão (figura 3.10), sendo assim possível
variar a tensão de saída (nos terminais de RL ) a partir de uma tensão de entrada fixa VS aplicada
entre dois dos três terminais existentes.
Figura 3.10: Potenciómetro com carga resistiva
A diferença de potencial entre os terminais da resistência de carga RL traduz-se através da
seguinte equação:
VL =
R2
VS
R1 + R2
(3.9)
Uma das vantagens da utilização de potenciómetros como divisores de tensão, é a possibilidade
de fazer variar o valor da tensão VL entre 0 V e VS [14].
3.2.4
Sensor de efeito Hall
Um sensor de efeito Hall é um transdutor que faz variar a sua tensão de saída em relação ao
campo magnético a que está sujeito. Estes sensores são comummente utilizados como transdutores
de proximidade ou detetores, integrados em sistemas de medição de velocidade. Sabendo o campo
magnético a que está sujeito e o valor da tensão de saída, é possível determinar a distância a que o
sensor se encontra do gerador de campo magnético[15].
Figura 3.11: Sensor de efeito Hall [16]
18
Soluções Propostas
3.2.5
Célula de carga
A célula de carga (figura 3.12) é um transdutor de força, podendo ser colocado por baixo do
barril para pesá-lo e assim estimar o conteúdo em cerveja. As células de carga são normalmente
baseadas em extensometros montados numa ponte de Wheatstone. A força exterior causa uma
variação de resistencia do extensometro e por consequência um desiquilíbrio ∆V na ponte [17].
Figura 3.12: Célula de carga [17]
3.3
Software
Tendo em conta o hardware indicado no ponto 3.2, será necessária a utilização de um IDE para
Arduino (Arduino IDE), um IDE para Android (Eclipse/Android SDK), ambos capazes de serem
executados em ambiente Windows/UNIX. Relativamente à base de dados utilizar-se-á a linguagem
SQLite.
3.3.1
Android
Android trata-se de um sistema operativo baseado em Linux e desenhado, principalmente, para
dispositivos com ecrãs táteis. Lançado pela Android Inc e comprado pela Google em 2005, foi
apresentado incorporado no primeiro dispositivo em 2008 (HTC Dream).
Graças à tecnologia tátil, a interação deste SO com o utilizador é baseada em gestos (tocar,
arrastar, deslizar), permitindo uma aproximação entre o mundo real e o virtual. Relativamente
ao hardware, o Android permite comunicar com sensores de proximidade, giroscópios, acelerómetros, Wi-Fi, GPS, entre outros módulos disponíveis em smartphones e tablets da atualidade
[23].
3.4 Discussão
19
Trantando-se de uma plataforma open source, qualquer pessoa pode desenvolver funcionalidades para melhorar a experiência do utilizador com o SO. Em Outubro de 2012 existiam aproximadamente 700000 apps disponíveis para download. É o SO mobile mais usado no planeta, tendo
atingido a cota de 1 milhão de dispositivos ativados em Setembro de 2013 [24].
3.4
Discussão
Num plano teórico, a utilização de um caudalímetro ultrassónico para monitorizar o volume
de extração, seria o mais indicado pois a sua precisão (±3%) é muito superior relativamente às
restantes soluções apresentadas. Tratar-se-ia, também, da solução mais viável não só, devido à
sua instalação ser relativamente simples, mas também porque a cerveja, no decorrer do seu trajeto,
não encontraria nenhum obstáculo, evitando assim a produção de espuma. Transportada para um
cenário prático, esta não é uma opção viável, uma vez que se trata de um componente cujo valor
ronda os 400 euros [12], o que levaria a que o custo do equipamento de extração duplicasse.
Relativamente à utilização de um caudalímetro eletrónico, o fator preço não é impeditivo pois
o seu valor ronda os 10 euros [12]. A sua instalação é, em tudo, semelhante à do caudalímetro ultrassónico apesar da sua precisão ser mais baixa e, contrariamente à primeira solução apresentada,
esta insere um obstáculo mecânico ao trajeto da cerveja, podendo assim, dependendo do local de
instalação, levar à produção de espuma.
Apesar das suas limitações, é possível inserir um potenciómetro na torneira de extração e, de
um modo experimental, determinar o caudal para cada posição de abertura da torneira. Apesar
do seu preço rondar os 2 euros [12], a instalação pode vir a tornar-se difícil pois será necessário
alterar a estrutura da torneira.
No que diz respeito à utilização do sensor de efeito Hall, é possível a sua colocação dentro
da torneira, tornando-o praticamente impercetível para o utilizador. Relativamente ao custo, este
varia entre 1 e 3 euros.
Por último, a inclusão de um sensor de força na parte inferior do barril para a medição do peso
do mesmo em relação ao volume de cerveja no seu interior, seria, à primeira vista, uma opção
prática devido à sua facilidade de instalação. Pensando numa situação real de um estabelecimento
concluí-se que o barril é, frequentemente, utilizado como apoio para caixas, copos, entre outros
utensílios, tornando esta solução pouco viável.
Após estudo e comparação das soluções apresentadas, devido à sua relação qualidade/preço
decidiu-se optar pela instalação do sensor de efeito Hall por ser uma solução discreta, de baixo
custo e razoavelmente eficaz.
20
Soluções Propostas
Capítulo 4
Avaliação Experimental
4.1
Montagem
O equipamento de extração da UNICER, tal como existe atualmente, necessita de várias alterações para que seja possível incluir o sistema de monitorização proposto. A adaptação da torneira
para a incorporação do sensor bem como a inclusão de um sistema de recolha de dados são passos vitais para a conclusão do projeto. Decidiu-se ainda a integração de um sensor de temperatura
para uma possível monitorização da temperatura ambiente no local de instalação da máquina. Esta
integração permitirá, à UNICER, avaliar uma possível relação entre a temperatura ambiente e as
falhas detetadas no sistema de refrigeração.
Na próxima secção explicar-se-ão, passo a passo, as modificações realizadas no decorrer desta
dissertação.
4.1.1
Torneira
A torneira, ilustrada na figura 4.1 é, sem margem para dúvidas, o componente presente na
máquina que necessita de uma modificação mais profunda.
Figura 4.1: Esquema de uma torneira
21
22
Avaliação Experimental
É neste ponto da máquina que se incorporará o sistema sensor/íman necessário para a contabilização do fluxo extraido.
4.1.1.1
Instalação do Sensor de Efeito Hall
Numa fase inicial o sensor foi colocado no exterior da torneira para validar a solução. Como
ilustra a figura 4.2a, colou-se o sensor na parte lateral, de modo a que ficasse alinhado com o íman
que se acoplou ao êmbolo no interior da torneira.
Após verificação experimental da funcionalidade do sistema, procedeu-se à furação da torneira
a fim de se poder embutir o sensor. Deste modo, tornou-se menos percetível, tal como se pode
comprovar na figura 4.2b.
(a) versão 1
(b) versão 2
Figura 4.2: Instalação do sensor de Hall
4.1.1.2
Determinação da Curva ∆V/Distância
Para se avaliar a variação da diferença de potencial em função da abertura da torneira, realizouse um teste, representado na figura 4.3, recorrendo-se a um parafuso micrométrico.
Figura 4.3: Determinação da curva ∆V/distância
4.1 Montagem
23
Constatou-se que o sensor era sensível à orientação magnética, permitindo tanto uma relação
proporcional como inversamente proporcional entre a distância do sensor ao imán e a diferença de
potencial nos terminais de saída.
Como o período em que a torneira se encontra fechada é superior ao de abertura e a eficiência
energética é uma preocupação, optou-se por alinhar o sensor com o pólo norte do iman, fazendo
com que, sempre que a torneira se encontre fechada, o valor da tensão na saída se aproxime de 0V.
Os resultados obtidos estão descritos na tabela 4.1
Tabela 4.1: ∆V/Distância
Distância
(mm)
0,00
1,00
1,50
2,00
2,50
3,00
3,50
4,00
4,50
5,00
5,50
6,00
Tensão
(V)
0,00
0,00
0,03
0,24
0,80
1,20
1,47
1,70
1,85
1,96
2,05
2,12
Distância
(mm)
6,50
7,00
7,50
8,00
8,50
9,00
9,50
10,00
10,50
11,00
11,50
12,00
Tensão
(V)
2,18
2,22
2,25
2,28
2,30
2,33
2,34
2,36
2,37
2,38
2,39
2,40
Representando os dados em forma de gráfico (figura 4.4), é possível concluir que esta função pode ser aproximada segundo um polinómio de 4º grau (figura 4.5), com um coeficiente de
determinação de 0,9991 para o intervalo [2, 00; 11, 50]. Esta aproximação foi obtida recorrendo à
ferramenta Curve fitting disponível no Matlab.
2.5
Diferença de potenial (V)
2
1.5
1
0.5
Amostra
Aproximação
2
3
4
5
6
7
8
Distância (mm)
Figura 4.4: Curva ∆V/Distância
9
10
11
11.5
24
Avaliação Experimental
Figura 4.5: Função polinomial de 4º grau
4.1.2
Circuito eletrónico
O circuito e o esquema de montagem adotados encontram-se representados nas figuras 4.6 e
4.7. As ligações entre os componentes e o Arduino podem ser consultadas na tabela 4.2.
Figura 4.6: Esquema de montagem
4.1 Montagem
25
-
8
-
'
9
9
*1'
9LQ
&
567
$
$
*1'
6/.
66
0,62
026,
%
*1'
9LQ
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
*1'
*1'
6&.
VV
0,62
026,
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'L
'
'
'
*1'
9
6'$
6&/
'
'
'
57&
5('
*5((1
%/8(
'
-
9LQ
*1'
&/.
9
*1'
&DXGDOLPHWUR
'
6'B&$5'
7;
5;
-
66
6/.
026,
0,62
-
&/.
6'$
6&/
9
9
'
'
'
'
5;
9
*1'
*1'
567
9
%7
&
5),'
5
N
-
9
5
N
*1'
$
$
*1'
-
5
5('
N
*5((1
5 N
%/8(
5
N
*1'
%
/('5*%
6HQVRU+DOO
$UGXLQR0HJD
$
$
7LWOH
0RQLWRUL]DomRGHXPDPiTXLQDGHH[WUDomRGHFHUYHMD
6L]H
$
'DWH
'RFXPHQW1XPEHU
0RQGD\-DQXDU\
5HY
%
6KHHW
RI
Figura 4.7: Circuito PCB
Para facilitar a montagem do sistema desenhou-se uma PCB em forma de shield (figura 4.6).
Desta forma foi possivel minimizar o espaço ocupado bem como as falhas de hardware.
(a) Lado dos componente
(b) Lado da solda
Figura 4.8: PCB
Devido ao elevado número de cruzamentos de pistas, foi necessário desenhá-la com duas camadas (lado dos componentes - figura 4.8a e lado da solda - figura 4.8b).
26
Avaliação Experimental
Tabela 4.2: Esquema de ligações
Componente
D0
Módulo
D1
Bluetooth
V
G
CS
MOSI
Módulo
SCK
SD
MISO
3.3V
GND
SDA
SCK
MOSI
Módulo MISO
RFID
IRQ
GND
RST
3.3V
4.2
Arduino
RX3 15
TX3 14
GND
5V
GND
D22
D23
D25
D24
3.3V
GND
D53
D52
D51
D50
–
GND
A5
3.3V
Componente
SDA
Módulo
SCL
RTC
VCC
GND
+
LM35
OUT
+
SS40A
OUT
RED
LED
GREEN
RGB
BLUE
GND
Coluna
Som
Arduino
SDA 20
SCL 21
5V
GND
5V
A15
GND
5V
GND
A14
PWM 8
–
PWM 9
GND
+
PWM 10
-
GND
Aquisição de Dados
Para que seja possível receber valores por parte da torneira é necessário que o sistema de aquisição de dados esteja presente na máquina de extração. Este sistema foi devidamente programado,
inicialmente de modo a ser possível a visualização dos dados obtidos num ecrã LCD (figura 4.9a)
e, numa fase posterior (figura 4.9b), possibilitando a consulta dos mesmos no tablet.
(a) Revisão A
(b) Revisão B
Figura 4.9: Sistema de aquisição de dados
No decorrer desta secção analisar-se-ão alguns excertos principais para o funcionamento da
solução implementada. A totalidade do código encontra-se disponível no anexo A.
4.2 Aquisição de Dados
27
Sempre que se realiza a tiragem de um copo de cerveja, isto é, sempre que a torneira é aberta,
o íman distancia-se do sensor de Hall, fazendo com que a diferença de potência nos terminais
do mesmo varie (quanto maior for a abertura, maior será o valor da tensão dentro da gama de
funcionamento 0 V ≤ Vo ≤ 2,5 V). A figura 4.10 mostra um excerto do programa desenvolvido.
A cada 10 ms o Arduino lê uma amostra analógica, correspondente ao sensor. A cada 10 amostras é
realizada a média, tendo assim um valor mais constante ao longo do tempo. Com esta metodologia
o sistema adquire 100 amostras por segundo e converte-los em 10 valores médios.
Figura 4.10: Excerto do programa Arduino
Tendo em conta o tempo de extração, volume e os valores da tensão obtidos, determinou-se o
volume extraído por amostra, isto é, o volume extraído durante 100 milisegundos. Para a determinação do tempo de extração adaptou-se a função milis(). Geralmente esta função monitoriza,
em milisegundos, o tempo decorrido desde a inicialização do programa até ao momento em que é
chamada. Após a adaptação, o timer (figura 4.11) é inicializado quando a diferença de potencial
for superior a 0,10 V (início da extração) e terminado quando este valor inferior a 0,10 V.
Figura 4.11: Adaptação da função millis()
Após esta indicação é guardada, num ficheiro de texto presente no cartão SD, uma trama
contendo a seguinte informação:
• Data;
• Hora;
• Volume extraído;
28
Avaliação Experimental
• Temperatura ambiente.
Na forma:
dia/mês/ano hh:mm:ss;volume;temperatura
sendo que, a cada consumo, a trama é escrita numa nova linha para uma melhor organização
de dados.
Para a determinação de um valor mais correto da temperatura ambiente, é também realizada
uma média entre 10 amostras consecutivas, como se pode verificar na figura 4.12.
Figura 4.12: Determinação do valor da temperatura ambiente
Quando o arduino receber o caráter ’a’ através da porta de série 3 (porta onde o módulo
Bluetooth se encontra ligado), o microcontrolador envia, linha a linha, a informação do ficheiro
de texto para a base de dados no dispositivo Android. Por último os dados são apagados deste
ficheiro, continuando guardados num outro que regista todos os consumos efetuados.
A figura 4.13 ilustra esta situação:
Figura 4.13: Consolidação/Envio de dados
4.3 Base de Dados
4.3
29
Base de Dados
Para que os dados pudessem ser armazenados foi necessário projetar e construir uma base
de dados. Como referido na secção 3.3, utilizou-se a linguagem SQlite, tanto no tablet como no
servidor central. As tabelas foram desenhadas de modo a, não ser apenas possível armazenar os
dados provenientes da torneira, mas também informações relevantes necessárias para uma boa
gestão por parte da UNICER. A base de dados (figura 4.14) é constituída por 6 tabelas divididas
em 2 subgrupos:
• Máquinas:
– Máquina;
– Tipo;
– Consumo.
• Estabelecimentos:
– Estabelecimento;
– Gerente;
– Técnico.
Figura 4.14: Estrutura da Base de Dados
Cada máquina está associada a um tipo (60L, 100L, evento, entre outras), sendo que cada
tipo pode conter n máquinas;
30
Avaliação Experimental
A cada consumo (extração de um determinado volume de cerveja) está associada uma máquina, possuindo cada máquina m consumos;
O elo de ligação entre os 2 subgrupos é realizado através da tabela máquina sendo que, para
cada máquina, existe a possíbilidade de estar, ou não, associada a um e apenas um estabelecimento (uma máquina não pode estar em duas localizações distintas ao mesmo tempo). Caso não
se encontre alocada, será considerada como disponível;
Relativamente à tabela estabelecimento é possível definir um técnico e um gerente responsáveis, podendo cada um deles ser responsável por x estabelecimentos. Cada estabelecimento
pode conter n máquinas associadas.
4.4
Aplicação Android
Uma vez mais, como mencionado no ponto 3.3 a aplicação Android foi elaborada recorrendo
ao IDE Eclipse.
As funções implementadas foram agrupadas e divididas por ecrãs consoante a sua relação às
tabelas existentes na base de dados.
Como se dispunha de um tablet com Android, com a última atualização disponível (Kitkat 4.4.2), a aplicação foi otimizada para a dimensão do ecrã deste dispositivo bem como para esta
versão do SO.
4.4.1
Ecrãs
Nesta secção apresentar-se-ão os ecrãs mais importantes disponíves na aplicação. Devido à
diversidade de conteúdos presentes na base de dados foi necessário organizá-los por categorias,
tal como já se tinha mencionado no ponto 4.3.
4.4.1.1
Ecrã inicial
O ecrã inicial da aplicação (figura 4.15) foi dividido em 4 secções:
• Estabelecimento;
• Gerente;
• Máquina;
• Técnico.
Encontra-se também disponível, na barra de estado, o ícon "Refresh", que sincroniza a base de
dados do dispositivo em utilização com a do servidor central.
4.4 Aplicação Android
31
Figura 4.15: Ecrã Principal
4.4.1.2
Ecrã estabelecimento
No ecrã estabelecimento tem-se acesso às funções específicas relativas aos pontos de venda
(locais onde a UNICER coloca máquinas de extração).
É então possível, para o utilizador:
• Adicionar/editar/remover estabelecimentos;
• Associar gerentes;
• Associar técnicos;
• Pesquisar estabelecimentos;
• Localizar estabelecimentos no mapa.
No caso da associação de gerentes/técnicos, é condição necessária que os mesmos já se encontrem inseridos na base de dados.
4.4.1.3
Ecrãs gerente/técnico
Nestes ecrãs o utilizador pode aceder aos conteúdos dos gerentes, bem como dos técnicos que
poderão ser associados aos estabelecimentos.
É então possível:
• Adicionar/editar/remover gerentes;
• Adicionar/editar/remover técnicos;
32
Avaliação Experimental
• Pesquisar gerentes;
• Pesquisar técnicos;
4.4.1.4
Ecrã máquina
Esta secção engloba todas as funções relativas às máquinas de extração. Como existem diferentes versões, de acordo com as necessidades de cada ponto de venda, dividiu-se este ecrã em
duas secções:
• Máquinas;
• Tipos de máquina.
No que diz respeito aos tipos de máquina é possível:
• Adicionar/editar/remover tipos;
• Associar uma fotografia a cada tipo;
• Pesquisar tipos.
Em relação às máquinas de extração propriamente ditas, pode-se:
• Adicionar/editar/remover máquinas;
• Associar um tipo a cada máquina;
• Associar máquinas a estabelecimentos;
• Receber consumos por parte das máquinas;
• Ver consumos sob a forma de gráficos (diário e mensal).
4.4.2
Princípios de funcionamento
Serão agora apresentadas algumas das funcionalidades principais presentes na aplicação até
agora desenvolvida.
4.4.2.1
Adicionar gerente/técnico
Para que seja possível inserir um estabelecimento é necessário que existam, a priori, gerentes
e técnicos na base de dados.
Caso se pretenda adicionar um novo registo, basta completar todos os campos disponíveis no
ecrã (figura 4.16a). Se, eventualmente, algum dos campos não se encontrar preenchido surgirá
uma informação de que o mesmo é de preenchimento obrigatório, tal como se pode ver na figura
4.16b.
4.4 Aplicação Android
33
(a) Novo técnico
(b) Campos obrigatórios
Figura 4.16: Ecrãs gerente/tecnico
4.4.2.2
Adicionar máquina
Após se terem inserido os tipos de máquina (na figura 4.17a é possível verificar a lista de tipos
disponíveis na base de dados) podem-se então acrescentar máquinas de extração.
Neste ecrã (figura 4.17b) acrescentar-se-á o número de série e a MAC address (sem este será
impossível enviar os consumos para a base de dados).
(a) Tipos de máquina
(b) Nova máquina
Figura 4.17: Ecrãs tipos/máquinas
34
Avaliação Experimental
4.4.2.3
Adicionar estabelecimento
Depois de concretizados os passos até agora descritos, o utilizador pode então inicializar a
inserção de estabelecimentos, preenchendo os campos pedidos, bem como associando o gerente
e o técnico responsável (figura 4.18a). Nesta altura é também possível adicionar, no mapa, a
localização do ponto de venda, colocando um pin na posição pretendida (figura 4.18b).
(a) Associação de um gerente
(b) Localização
Figura 4.18: Funcionalidades estabelecimento
(a) Informação
(b) Informação detalhada
Figura 4.19: Informações estabelecimento
4.4 Aplicação Android
4.4.2.4
35
Visualizar estabelecimentos
À medida que são adicionados novos registos, o mapa da aplicação é automaticamente atualizado, ficando disponível um pin por localização que, quando selecionado, disponibiliza as informações mais relevantes ds estabelecimento em causa (figura 4.19a). Quando clicado novamente
remete o utilizado para o ecrã com os dados detalhados, como se pode comprovar na figura 4.19b.
4.4.2.5
Associar máquinas a estabelecimentos
Agora que os estabelecimentos já se encontram disponíveis pode-se proceder à associação de
máquinas a cada ponto de venda (figura 4.20). Uma máquina não pode estar alocada a mais do
que um estabelecimento em simultâneo, sempre que for necessário alterá-la de local, terá de ser
desassociada e posteriormente associada ao novo local.
Figura 4.20: Associação de máquinas
4.4.2.6
Receber/visualizar consumos
Para que o grau de segurança na obtenção de dados seja médio/alto, apenas pessoas autorizadas, isto é, quem tiver na sua posse uma tag RFID válida para o efeito, poderá transferir as
informações provenientes da máquina para o dispositivo android. Antes de pressionado o botão
"Get", visível na figura 4.21, é necessário que o utilizador aproxime o cartão do sistema de controlo (figura 4.22). Se este for válido, acenderá uma luz de sinalização verde e produzir-se-á um
sinal sonoro agudo. Caso a tag não seja autorizada, a luz indicadora tomará a cor vermelha e
escutar-se-á um sinal sonoro grave. Após estes procedimentos a aplicação comunica com o Arduino existente na máquina para que, através de bluetooth, envie os novos consumos. Entenda-se
36
Avaliação Experimental
por "novos consumos"os consumos realizados desde a última vez que a aplicação foi sincronizada com a máquina em questão. É também importante referir que, para que estes 2 ambientes
sincronizem, é necessário que, aquando da criação de uma máquina na aplicação, se coloque a
mac address correta referente ao módulo bluetooth incorporado na mesma e que, no momento em
que se pretende realizar a receção dos dados, os 2 dispositivos se encontrem a uma distância não
superior a 10 metros.
Figura 4.21: Menu consumos
Figura 4.22: Sistema de autorização
4.4 Aplicação Android
37
Relativamente à visualização da informação, pressionando o botão "Ver consumos"o utilizador
é guiado para um novo ecrã onde poderá escolher a data para a qual pretender obter informação detalhada (figura 4.23a), obtendo deste modo acesso à informação diária bem como do mês corrente
(figura 4.23b).
(a) Escolha do dia
(b) Consumos diário/mensal
Figura 4.23: Informações referente aos consumos
38
Avaliação Experimental
4.5
Sincronização com o Servidor Central
A sincronização com um servidor web central permite, não só guardar uma cópia dos dados
existentes na base de dados, mas também a utilização de diversos dispositivos em simultâneo.
Sempre que escolhida a opção refresh, a aplicação comunica, caso exista Wi-Fi, com o servidor
e verifica a data da última atualização. Se esta for anterior à do momento, a app envia todos os
registos entre as duas datas. Após este procedimento, os registos são processados pelo servidor,
isto é, são adicionados os dados em falta, modificados os que sofreram alterações e eliminados os
que já não existem. De seguida toda a informação é devolvida ao tablet e, por último, atualizada a
data correspondente à última sincronização efetuada.
Com a utilização do timestamp LASTSYNC não existem conflitos relativos à utilização de vários terminais pois, sempre que existirem alterações em qualquer dispositivo, os restantes acabarão
por receber a atualização da base de dados.
4.6
Orçamento
Durante a elaboração desta dissertação foram utilizados componentes/módulos que, numa produção em massa, poderão ser substituidos por recursos com um valor mais reduzido. No caso
específico do Arduino, este pode ser substituido pelo microcontrolador que o constitui.
A tabela 4.3 contém as informações relativas a um possível orçamento para a solução final.
Tabela 4.3: Orçamento
Componente:
ATmega1280
Chip BT
Módulo microSD
SS40A
LM35DZ/LFT1
Módulo RTC
Módulo RFID
Código:
1455090
CC2541F256RHAR
DEV-09802
1082268
2352274
BOB-00099
RC522
Distribuidor:
Farnell
Farnell
Sparkfun
Farnell
Farnell
Sparkfun
Ebay
Total:
Preço (S/IVA):
13,61 C
5,25 C
10,97 C
0,86 C
1,50 C
10,97 C
4,20 C
47,36 C
É importante referir que, no decorrer desta dissertação, foram utilizados módulos de desenvolvimento pré-fabricados. Numa situação real estes poderão ser produzidos e incorporados numa
pcb, baixando assim o preço de produção. Os restantes componentes como resistências, conetores
e íman foram desprezadas pois o seu valor é extremamente baixo e, neste caso, foram obtidos
como amostras gratuitas.
Neste orçamento o componente de valor mais elevado (ATmega1280) poderá ser utilizado
como controlador principal da máquina, substituindo o módulo de controlo que, hoje em dia, se
encontra incorporado em todas as máquinas. Não só a sua capacidade de processamento mas também o seu reduzido tamanho são algumas das vantagens a ter em conta numa possível adaptação
desta secção. Com um valor inferior a 50 euros (cerca de 9,5% do valor total da máquina), esta
4.7 Análise dos resultados
39
solução apresenta-se pouco dispendiosa tendo em conta a relação finalidade/preço bem como as
suas potencialidades.
4.7
Análise dos resultados
Nesta secção apresentam-se e analisam-se os resultados obtidos durante as experiências. No
decorrer da componente prática conseguiu-se monitorizar o volume extraído de cerveja utilizando
um caudalímetro ultrassónico, um sensor de efeito Hall e uma célula de carga (balança).
4.7.1
Volume
A utilização do caudalímetro ultrassónico foi essencial para a a caracterização do sensor de
efeito de Hall. Em primeiro lugar procedeu-se à extração de, aproximadamente 0,25 L de cerveja
com diferentes graus de abertura da torneira, tendo em conta o valor apresentado pelo caudalímetro
ultrassónico. Deste modo foi possível, através do sensor, obter diferentes valores de tensão de
acordo com a abertura da torneira, bem como determinar o tempo de extração. Um desses testes
pode ser visto na figura 4.24 e a sua totalidade na tabela B.1 presente no anexo B.
Figura 4.24: Evolução do consumo
Concluiu-se ao longo da experiência que a cerveja inicia o processo de deslocamento através
da torneira quando, no sensor, se verificam, aproximadamente, 0,10 V e que, no limite, quando a
torneira se encontrava totalmente aberta, obtinham-se 1,95 V.
Após uma rápida análise da tabela 4.4 é também possível verificar que o tempo de extração de
0,25 L é praticamente constante (na ordem dos 7,41 segundos), o que, por ventura, torna possível
de concluir que o caudal é aproximadamente constante em toda a gama de valores de funcionamento (3,37×10−2 L/s).
Tabela 4.4: Valores médios dos parâmetros de extração
∆V médio
(V)
1,57
Tempo médio de
extração (s)
7,62
Estimativa média
para 0,25 L (s)
7,41
Caudal médio
(L/s)
3,37×10−2
Caudal médio
(L/amostra)
3,40×10−3
40
Avaliação Experimental
−3
3.8
x 10
Caudal médio (L/amostra)
3.7
3.6
3.5
3.4
3.3
3.2
3.1
3
Amostra
Valor médio
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Diferença de potencial (V)
Figura 4.25: Relação entre ∆V e o caudal
Relativamente ao caudal por amostra (uma a cada décima de segundo) constata-se que, em média, atravessam 3,40×10−3 L de cerveja no decorrer desse período, tal como ilustrado no gráfico
da figura 4.25. Realizou-se novamente um ciclo de testes permitindo concluir a existência de um
erro associado entre 11% e 17%, traduzindo-se numa margem entre 4,00×10−2 L e 6,00×10−2 L
por extração. O valor deste erro refere-se à comparação de valores entre os obtidos pelo sensor
com os do caudalímetro ultrassónico.
Tabela 4.5: Resultados obtidos com uma amostra de 3,40×10−3 L
Volume
Sensor Hall (L)
0,30
0,28
0,31
0,23
0,25
Volume
Caudalímetro (L)
0,36
0,33
0,35
0,26
0,29
Tempo
extração (s)
10,50
9,68
10,01
7,00
8,55
Erro
(%)
16,67
17,24
11,43
11,54
13,70
Associado ao cadaulímetro ultrassónico existe um erro máximo de ± 3%. A informação detalhada pode ser consultada na tabela 4.5.
Uma vez que o tempo de processamento do Arduino não é instantâneo e constante, o número
de amostras por segundo é, por vezes, diferente de 10, o que pode explicar o valor elevado do
erro. Para colmatar esta limitação testaram-se valores superiores a 3,40×10−4 tendo em conta
que, nos resultados obtidos anteriormente, o volume medido pelo sensor de Hall foi sempre inferior ao volume medido pelo caudalímetro ultrassónico. Tentou-se, deste modo, reduzir o erro de
contabilização do volume extraído.
Após nova série de testes, tabela 4.6, chegou-se à conclusão de que o valor 3,53×10−3 L/amostra fazia com que, em quase todas as extrações efetuadas, o caudal medido pelo sensor fosse
igual ao que era medido pelo caudalímetro ultrassónico. Deste modo conseguiu-se reduzir a margem de erro relativamente ao caudalímetro ultrassónio. A tabela 4.7 comprova o que se afirmou
anteriormente.
4.7 Análise dos resultados
41
Tabela 4.6: Testes utilizando diferentes valores para a amostra
Volume
Sensor Hall (L)
0,30
0,23
0,37
0,19
0,33
Volume
Caudalímetro (L)
0,27
0,26
0,34
0,20
0,33
Tempo
extração (s)
8,86
7,00
11,14
5,97
9,68
Valor da
amostra (L)
3,60×10−3
3,44×10−3
3,58×10−3
3,51×10−3
3,53×10−3
Erro
(%)
11,11
11,54
8,82
5,00
0,00
Nas situações onde se verificou a existência de erro, facilmente se pode verificar que, apesar
de se tratar de um valor que atingiu os 5,26% num dos testes, a diferença de valores corresponde
apenas a 1×10−2 L.
Tabela 4.7: Testes utilizando 3,53×10−3 L como valor da amostra
Volume
Sensor Hall (L)
0,33
0,18
0,36
0,27
0,21
0,37
0,26
0,30
0,92
0,21
0,33
0,30
0,32
0,21
0,31
0,21
0,34
0,25
Volume
Caudalímetro (L)
0,33
0,19
0,36
0,27
0,22
0,37
0,26
0,30
0,91
0,21
0,33
0,30
0,32
0,21
0,31
0,21
0,33
0,25
Tempo
extração (s)
9,68
5,46
10,61
8,03
6,28
10,81
7,72
8,86
26,98
6,18
9,78
8,85
9,47
6,28
9,16
6,28
9,88
7,51
Erro
(%)
0,00
5,26
0,00
0,00
4,53
0,00
0,00
0,00
1,10
0,00
0,00
0,00
0,00
0,00
0,00
0,00
3,03
0,00
É importante referir que, durante todos os testes efetuados, consideraram-se estáveis e constantes os seguintes valores:
• Instalação com ' 2 m de comprimento (barril-refrigerador);
• Instalação com ' 2 m de altura (refrigerador-torneira);
• Plinha = 2,26 bar;
• Tambiente = 20 ºC.
42
Avaliação Experimental
4.7.2
Peso
Quando o barril se encontrava cheio (massa do sistema constituido pelo barril incluindo a
cerveja) o sensor de carga indicava 43,20 kg até que, no final (apenas a massa do barril) se obteve
11,30 kg, verificando-se assim um decréscimo de 31,90 kg à taxa média de 1,06 kg por litro (tabela
4.8).
Tabela 4.8: Valores padrão do sistema
Massa Sistema
(barril + cerveja)
(kg)
Massa barril vazio
(kg)
Massa 30L cerveja
(kg)
Massa/litro
(kg)
4.7.3
43,20
11,30
31,90
1,06
Sincronização
Após a obtenção de consumos, testou-se a transferência, sem fios, dos mesmos para o tablet.
Quando aproximada uma tag válida e primido o botão "Get", o LED do dispostivo Bluetooth presente na máquina sinalizou o emparelhamento e os dados foram transmitidos em poucos segundos.
Posteriormente foi possível visualizar os gráficos relativos aos consumos horários e diários, como
se pode ver na figura 4.26.
Figura 4.26: Consumos efetuados
Relativamente à sincronização com o servido central, após pressionado o botão refresh, os
dados foram enviados corretamente para o servidor central.
Capítulo 5
Conclusões e Trabalho Futuro
Esta dissertação surgiu no âmbito da monitorização dos consumos numa máquina de extração
de cerveja, tendo como objetivo principal o de encontrar uma solução, de baixo custo, que pudesse
ser instalada na máquina. A contabilização dos consumos é de extrema importância, contudo, após
uma revisão do estado da arte foi possível concluir que, até agora, apenas existem no mercado
algumas soluções dispendiosas e/ou pouco funcionais.
No decorrer desta investigação estudaram-se várias soluções, analisaram-se os pontos fortes e
fracos de cada uma e implementou-se a que se considerou mais razoável. Os resultados experimentais validaram a hipótese, mostrando que era possível contabilizar o volume extraído utilizando um
sensor de efeito Hall. Esta revelou-se promissora pois obtiveram-se resultados bastante precisos.
A integração, na máquina de extração, da eletrónica existente nesta solução permite, não só, a
resolução da problemática desta dissertação, mas também, um possível controlo de todos os componentes da máquina. Deste modo poder-se-á substituir o antigo módulo já implementado pelo
microcontrolador utilizado nesta investigação, tornando a relação custo/benefício mais apelativa e
aproveitando a capacidade de processamento do micro.
Esta solução tem um grande potencial em comparação com as já existentes no mercado. Nos
dias de hoje, as comunicações sem fios facilitam a interação do utilizador com os sistemas de
informação, as aplicações mobile revolucionaram a relação que se tem com os dispositivos móveis
e o preço a pagar é cada vez mais uma preocupação.
5.0.4
Contribuições
Após atingir todos os objetivos propostos e analisados os resultados, realizaram-se algumas
contribuições importantes.
Em primeiro lugar propôs-se um modo de monitorização baseado num sensor de efeito Hall e
disponibilizou-se uma análise experimental que demonstra a fiabilidade da solução. Contribuiu-se
ainda para uma possível atualização do módulo de controlo da máquina de extração baseado no
microcontrolador presente na solução. Por último validou-se o modelo de monitorização implementado.
43
44
Conclusões e Trabalho Futuro
5.0.5
Trabalho Futuro
Após a elaboração desta dissertação sentiu-se que, apesar de se terem atingido e superado
todos os objetivos propostos, seria possível melhorar certos aspetos. Deste modo propõem-se,
para trabalho futuro, os seguintes pontos:
• Substituição da placa de desenvolvimento Arduino Mega pelo microcontrolador ATMEGA2560
e dos módulos SD, BT, RTC e RFID pelos seus componentes, reduzindo deste modo, o custo
de produção da solução;
• Aperfeiçoamento e correção de bugs na aplicação Android;
• Emparelhamento automático dos refrigerados com o equipamento Android;
• Otimização do código implementado no Arduino, sendo assim possível a diminuição do
tempo de processamento;
• Criação de uma plataforma web para a gestão dos dados obtidos;
• Adoção de um sistema de instalação do sensor mais intuitivo;
• Realização de testes com valores de pressão diferentes de 2,26 bar.
Anexo A
Código implementado no Arduino
#include <Time.h>
#include <SD.h>
#include <Wire.h>
#include <DS1307RTC.h>
const int sensorValue = 14; // hallSensor
const int LM35 = 15; // LM35
float volume = 0;
float volume2 = 0;
double Caud = 0;
float temperatureC = 0;
File myFile;
File beerFile;
String dados = "";
char buffer[10];
int flagTimer = 0;
unsigned long StartTime = 0;
unsigned long EndTime = 0;
unsigned long ElapsedTime = 0;
void setup()
{
Serial.begin(9600);
Serial3.begin(9600);
setSyncProvider(RTC.get);
attachInterrupt(4, increment, RISING); // caudalimetro no pino RX1 19
45
46
Código implementado no Arduino
Serial.print("Initializing SD card...");
pinMode(SS, OUTPUT);
if (!SD.begin(22,23,24,25)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
if (SD.exists("log.txt")) {
Serial.println("log.txt exists.");
Serial.println("Opening log.txt...");
myFile = SD.open("log.txt", FILE_WRITE);
myFile.close();
}
else {
Serial.println("log.txt doesn’t exist.");
Serial.println("Creating log.txt...");
myFile = SD.open("log.txt", FILE_WRITE);
myFile.close();
if (SD.exists("log.txt")) {
Serial.println("log.txt exists.");
Serial.println("Opening log.txt...");}
else {
Serial.println("log.txt doesn’t exist.");
}
}
if (SD.exists("logBeer.txt")) {
Serial.println("logBeer.txt exists.");
Serial.println("Opening logBeer.txt...");
beerFile = SD.open("logBeer.txt", FILE_WRITE);
beerFile.close();
}
else {
Serial.println("logBeer.txt doesn’t exist.");
Serial.println("Creating logBeer.txt...");
beerFile = SD.open("logBeer.txt", FILE_WRITE);
beerFile.close();
if (SD.exists("logBeer.txt")) {
Serial.println("logBeer.txt exists.");
Serial.println("Opening logBeer.txt...");}
Código implementado no Arduino
else {
Serial.println("logBeer.txt doesn’t exist.");
}
}
}
void increment()
{
Caud++;
}
void gravaDadosCartao()
{
dados ="";
myFile = SD.open("log.txt", FILE_WRITE);
beerFile = SD.open("logBeer.txt", FILE_WRITE);
if (day() < 10)
{
dados += "0";
dados += day();
}
else {
dados += day();
}
dados += "/";
if (month() < 10)
{
dados += "0";
dados += month();
}
else {
dados += month();
}
dados += "/";
if (year() < 10)
{
dados += "0";
dados += year();
47
48
Código implementado no Arduino
}
else {
dados += year();
}
dados += " ";
if (hour() < 10)
{
dados += "0";
dados += hour();
}
else {
dados += hour();
}
dados += ":";
if (minute() < 10)
{
dados += "0";
dados += minute();
}
else {
dados += minute();
}
dados += ":";
if (second() < 10)
{
dados += "0";
dados += second();
}
else {
dados += second();
}
dados += ";";
dados+= dtostrf(volume, 3, 2, buffer);
volume = 0;
volume2 = 0;
Código implementado no Arduino
dados += ";";
dados+= dtostrf(temperatureC, 3, 1, buffer);
Serial.println(dados);
myFile.println(dados);
myFile.close();
beerFile.println(dados);
beerFile.close();
}
void finalizaDadosCartao()
{
//Serial3.println("ENTRA NO FINALIZA");
dados ="";
myFile = SD.open("log.txt", FILE_WRITE);
dados += "$;$;$";
//Serial.println(dados);
myFile.println(dados);
myFile.close();
}
void leDadosCartao()
{
//Serial3.println("ENTRA NO LE DADOS");
myFile = SD.open("log.txt", FILE_READ);
while (myFile.available()) {
Serial3.write(myFile.read());
}
// close the file:
myFile.close();
}
void removeCreateFile()
{
//Serial3.println("ENTRA NO REMOVE");
SD.remove("log.txt");
myFile = SD.open("log.txt", FILE_WRITE);
myFile.close();
}
49
50
Código implementado no Arduino
void hallFlow()
{
float hallFlow[9];
float value;
float averageHallFlow;
for (int i=0; i<10; i++)
{
value = analogRead(sensorValue);
hallFlow[i] = value * (5.0 / 1023.0);
delay(10); // 100 amostras por segundo
}
averageHallFlow = (hallFlow[0] + hallFlow[1] + hallFlow[2] +
hallFlow[3] + hallFlow[4] + hallFlow[5] +
hallFlow[6] + hallFlow[7] + hallFlow[8] +
hallFlow[9])/10;
Serial.print("Volume: ");
Serial.print(Caud/1000);
Serial.print(" ");
Serial.print("Tensao: ");
Serial.print(averageHallFlow);
Serial.println();
Serial.print("Volume Sensor: ");
Serial.print(volume);
Serial.print(" ");
if (averageHallFlow < 0.3)
{
if (volume2==volume)
{
volume += 0;
}
else
{
EndTime = millis();
ElapsedTime = EndTime - StartTime;
Serial.print("Tempo de extracao: ");
Serial.print(ElapsedTime);
Código implementado no Arduino
Serial.print("ms");
Serial.println();
Caud=0;
flagTimer = 0;
float temperature[9];
for (int i=0; i<10; i++)
{
temperature[i] = analogRead(LM35);
delay(50); // 10 amostras por segundo
}
temperatureC = (temperature[0] + temperature[1] + temperature[2] +
temperature[3] + temperature[4] + temperature[5] +
temperature[6] + temperature[7] + temperature[8] +
temperature[9])/10;
temperatureC = temperatureC * 0.48828125;
gravaDadosCartao();
volume2=volume;
}
}
else if (averageHallFlow > 0.2 && flagTimer==0)
{
StartTime = millis();
flagTimer = 1;
}
else if (averageHallFlow >= 0.10 && averageHallFlow < 0.3)
{
volume += 0.00353;
}
else if (averageHallFlow >= 0.3 && averageHallFlow < 2)
{
volume += 0.00353;
}
else volume += 0;
}
void loop()
51
52
Código implementado no Arduino
{
if (Serial3.available()) {
char in = Serial3.read();
Serial.println(in);
if (in = ’a’)
{
finalizaDadosCartao();
leDadosCartao();
removeCreateFile();
}
}
hallFlow();
}
Anexo B
Volume e tempo de extração
Tabela B.1: Volume e tempo de extração
Volume
(L)
0,26
0,26
0,25
0,25
0,26
0,26
0,25
0,25
0,26
0,26
0,26
0,26
0,27
0,25
0,25
0,25
0,26
0,26
0,26
0,26
Ddp média
(V)
0,38
0,89
1,02
1,02
1,03
1,15
1,50
1,56
1,63
1,90
1,90
1,91
1,92
1,93
1,93
1,93
1,93
1,93
1,93
1,95
Tempo de extração
(s)
7,47
7,58
7,48
7,37
7,78
7,78
7,17
7,38
7,58
7,79
7,79
7,89
8,20
7,58
7,48
7,58
7,58
7,58
7,58
7,58
Estimativa 0,25 L
(s)
7,19
7,29
7,48
7,37
7,48
7,48
7,17
7,38
7,29
7,49
7,49
7,58
7,59
7,58
7,48
7,58
7,29
7,29
7,29
7,29
53
Caudal médio
(L/s)
3,48×10−2
3,43×10−2
3,34×10−2
3,39×10−2
3,34×10−2
3,34×10−2
3,49×10−2
3,39×10−2
3,43×10−2
3,34×10−2
3,34×10−2
3,30×10−2
3,29×10−2
3,30×10−2
3,34×10−2
3,30×10−2
3,43×10−2
3,43×10−2
3,43×10−2
3,43×10−2
Caudal médio
(L/amostra)
0,348×10−2
0,343×10−2
0,334×10−2
0,339×10−2
0,334×10−2
0,334×10−2
0,349×10−2
0,339×10−2
0,343×10−2
0,334×10−2
0,334×10−2
0,330×10−2
0,329×10−2
0,330×10−2
0,334×10−2
0,330×10−2
0,343×10−2
0,343×10−2
0,343×10−2
0,343×10−2
54
Volume e tempo de extração
Referências
[1] T. W. Young.
Encyclopedia britannica. URL: http://www.britannica.com/
EBchecked/topic/58378/beer [último acesso em Junho de 2013].
[2] Unicer. URL: http://www.unicer.pt [último acesso em Junho de 2013].
[3] Sindicato nacional da indústria da cerveja. URL: http://www.sindicerv.com.br/
acerveja.php [último acesso em Junho de 2013].
[4] R Haussmann e Cesar Hidalgo. The observatory of economic complexity. URL: http:
//atlas.media.mit.edu/ [último acesso em Junho de 2013].
[5] The
modern kegerator.
URL: http://www.kegerators.com/articles/
the-modern-kegerator.php [último acesso em Junho de 2013].
[6] Fap - federação académica do porto. URL: http://www.fap.pt [último acesso em Junho
de 2013].
[7] Bevbot LLC. Kegbot. URL: https://kegbot.org/ [último acesso em Dezembro de
2013].
[8] URL: http://www.keg-meter.com/ [último acesso em Janeiro de 2014].
[9] Dicionário priberam. URL: http://www.priberam.pt [último acesso em Junho de
2013].
[10] J. D. Henriques, J. C. Palma, e A. S. Ribeiro. Medição de caudal em sistemas de abastecimento de água e de saneamento de águas residuais urbanas. Relatório técnico, Laboratório
Nacional de Engenharia Civil e Instituto Regulador de Águas e Resíduos, Maio 2007.
[11] A. J. Holman. Experimental methods for engineers. McGraw-Hill, 2001.
[12] Aquário. URL: http://www.aquario.pt [último acesso em Junho de 2013].
[13] Ieee 100 the authoritative dictionary of ieee standards terms seventh edition. IEEE Std 1002000, páginas –, 2000. doi:10.1109/IEEESTD.2000.322230.
[14] Eberhard Sengpiel.
Voltage divider. URL: http://www.sengpielaudio.com/
calculator-voltagedivider.htm [último acesso em Junho de 2013].
[15] R. S. Popović. Hall effect devices. Número ISBN 0-7503-0855-9. CRC Press, 2, illustrated
ed. edição, 2004.
[16] Farnell.
URL: http://pt.farnell.com/jsp/displayProduct.jsp?sku=
1082268&action=view&CMP=GRHB-OCTOPART-1000462 [último acesso em Dezembro de 2013].
55
56
REFERÊNCIAS
[17] URL:
http://web.archive.org/web/20100726021741/http://www.
loadstarsensors.com/capacitance.html [último acesso em Janeiro de 2014].
[18] Arduino. URL: http://www.arduino.cc/ [último acesso em Junho de 2013].
[19] Sd association. URL: https://www.sdcard.org/consumers/speed/ [último acesso
em Dezembro de 2013].
[20] URL:
http://cdn.instructables.com/F6V/F1OJ/H5ENQ08B/
F6VF1OJH5ENQ08B.MEDIUM.jpg [último acesso em Dezembro de 2013].
[21] URL:
http://www.tinyosshop.com/image/cache/data/ARDUINO/
3-600x600.JPG [último acesso em Dezembro de 2013].
[22] H. Kawamoto. The history of liquid-crystal displays. Proceedings of the IEEE, 90(4):460–
500, 2002. doi:10.1109/JPROC.2002.1002521.
[23] Android, the world’s most popular mobile platform. URL: http://developer.
android.com/about/index.html [último acesso em Dezembro de 2013].
[24] Canalys.
form.
Google’s android becomes the world’s leading smart phone platURL:
http://www.canalys.com/newsroom/google%E2%80%
99s-android-becomes-world%E2%80%99s-leading-smart-phone-platform
[último acesso em Dezembro de 2013].

Documentos relacionados

Relatório Final PDI - Universidade do Porto

Relatório Final PDI - Universidade do Porto Aplicando pressão no barril proveniente da botija de CO2 , a cerveja é extraída e conduzida até à torneira através da tubagem. Entre a botija e o barril encontra-se o regulador, instrumento utiliza...

Leia mais