Escolar Documentos
Profissional Documentos
Cultura Documentos
GRUPO 4
1
1. Sensor de peso: A célula de carga irá deformar com o peso da moeda.
2. HX711: O amplificador irá amplificar a saída do sensor de peso e converter para digital.
3. Arduino UNO: receberá a informação em binário, realizará os cálculos necessários e
enviará para o display LCD.
4. Módulo I2C: demultiplexará os 16 pinos do LCD para apenas dois digitais e dois
analógicos.
5. LCD: mostrará as informações no display.
1. Sensor de peso
Ponte de Wheatstone é um tipo de circuito elétrico que pode ser utilizado para medir a
resistência elétrica de um resistor desconhecido, com grande precisão.
Ela consiste em dois ramos contendo dois resistores cada um e interligados por um
galvanômetro. Todo conjunto deve ser ligado a uma fonte de tensão elétrica. Variando-se a
resistência do reostato, pode-se obter um ponto em que a indicação no galvanômetro fica nula,
que indica que a ponte está equilibrada.
2
Dos resistores R1, R2, R3, um deles é o desconhecido, cujo valor desejamos determinar
e os outros dois são resistores conhecidos.
Como UCD = 0
Temos:
https://brasilescola.uol.com.br/fisica/ponte-wheatstone.htm
https://mundoeducacao.uol.com.br/fisica/ponte-wheatstone.htm
3
1.2 Strain gauge
Strain Gauges são elementos resistivos analógicos (350, 700 e 1000 ohms) fixados na
estrutura de célula de carga que variam a resistência dependendo da força de compressão ou
tensão que a estrutura da célula de carga recebe.
O fio resistivo mostrado na figura acima, altera sua resistência de acordo com o
“alongamento” da superfície em que está colocado, gerando dessa maneira sinais elétricos que
são interpretados pela placa de aquisição, transformando os valores em deformação. Esses, por
sua vez, podem ser convertidos em tensão mecânica.
http://pt.scienceaq.com/Electronics/100401115.html
https://ensus.com.br/extensometria-strain-gauge-o-que-e-quando-utilizar/
Existem vários tipos de Células de carga, mas a que nosso grupo irá utilizar no projeto,
será a célula de carga single point com tecnologia de strain gauge, pois são altamente precisas
e podem pesar cargas descentralizadas enquanto ainda fornecem um alto nível de precisão.
4
As células de carga com strain gauge levam internamente quatro extensômetros ligados
entre si conforme o conceito da ponte de Wheatstone que foi mencionado acima. A saída de
uma célula de carga com essa tecnologia é expressa em termos de mV / V e é diretamente
proporcional à entrada.
https://blog.weightech.com.br/2017/06/voce-sabe-como-funciona-uma-celula-
de.html
https://www.toledobrasil.com/blog/voce-sabe-como-funciona-uma-celula-de-carga
1.4 Pinagem
Fio preto: Esse fio será destinado à alimentação negativa da célula de carga.
Fio vermelho: Esse fio será destinado à alimentação positiva da célula de carga.
https://www.youtube.com/watch?v=-qLfybfvsHw
CARACTERÍSTICAS:
5
- Célula de Carga 100g;
ESPECIFICAÇÕES:
- Modelo: CC01;
https://www.usinainfo.com.br/sensor-de-peso-arduino/celula-de-carga-100g-para-
arduino-sensor-de-peso-5875.html
A célula de carga será fixada um pouco acima da base da balança para que facilite a
deformação.
6
Quando a célula de carga transformar a deformação exercida em tensão, ela será
amplificada pelo amplificador interno do Módulo Conversor HX711, colocando-a em uma faixa
de tensão possível de ser lida.
Após amplificar, será necessário realizar a conversão para digital, para isso o pino SCK
envia 25 pulsos sendo que o 24º pulso indica o fim da conversão e o 25º pulso indica que a
próxima conversão tem que ser no canal A com ganho de 128.
Quando o pino SCK envia o 24º bit, temos a informação já convertida em digital no pino
DT (DOUT), indicando que a conversão terminou, e então, o pino DOUT vai para nível lógico alto.
No 25º pulso, ele vai para nível lógico baixo, o que significa que o mesmo está pronto para uma
conversão, aguardando o primeiro pulso do SCK para que ela seja iniciada.
https://pdf1.alldatasheet.com/datasheet-pdf/view/1132222/AVIA/HX711.html
2.2 Pinagem:
http://blog.baudaeletronica.com.br/conversor-hx711-para-balanca-eletronica/
https://www.youtube.com/watch?v=-qLfybfvsHw
http://blog.baudaeletronica.com.br/conversor-hx711-para-balanca-eletronica/
https://www.robocore.net/tutoriais/celula-de-carga-hx711-com-arduino
https://www.automalabs.com.br/modulo-para-leitura-de-celulas-de-carga-hx711/
7
2.4 Por que não usar o amplificador de instrumentação?
https://www.automalabs.com.br/modulo-para-leitura-de-celulas-de-carga-hx711/
Número de Canais: 2;
https://www.youtube.com/watch?v=wk906FPmrgM
https://www.easytronics.com.br/modulo-hx711
3. Arduino
Programação nada mais é que falar ao controlador quais decisões devem ser tomadas
em cada circunstância. Para isso, escrevemos um código que segue uma sequência lógica de
tomada de decisões que leva em conta as variáveis que serão lidas e/ou controladas.
Como já conhecemos o Arduino, não vamos nos preocupar com ele nesse momento,
embora já estejamos nos aprofundando nas programações que em breve serão colocadas aqui.
8
https://portal.vidadesilicio.com.br/o-que-e-arduino-e-como-funciona/
4. Módulo I2C
Como foi abordado em discussões anteriores, o LCD ocupa grande parte dos pinos do
Arduino, o que atrapalharia na hora de colocar um dispositivo como a nossa célula de carga.
Pensando na resolução desse problema, vimos que é necessário o uso de um módulo I2C que
seja o demultiplexador dos 16 pinos do LCD para apenas dois pinos digitais.
O protocolo I²C foi desenvolvido visando conectar diversos periféricos utilizando apenas
as duas linhas de dados SDA (Serial Data) e SCL (Serial Clock). A ideia principal é definir um
endereço hexadecimal para cada dispositivo e no momento de comunicação somente o
dispositivo solicitado responderá.
• O jump da esquerda permite ligar ou desligar a luz de fundo (backlight) do LCD (com
Jump: LED aceso e sem jump: LED apagado). Ainda assim, mesmo com jump instalado ainda
precisamos controlar o backlight via programação com o código “lcd.setbacklight(HIGH)”.
• GND, VCC, SDA e SDL são as conexões para comunicação I2C da placa.
• As ilhas A0, A1, A2 são o endereço desta placa no barramento I2C. Estas placas
possuem o endereço 0x3Fh com os 3 jumps abertos e 0x38h com os três jumps fechados (através
de uma soldagem)
9
Os endereços acima são criados a partir da soldagem dos pinos, isto é, se todos os pinos
(A0, A1, A2), que são representados por (1, 2, 3), forem curtos-circuitados, teremos um
endereço de 0x38, agora se nenhum deles foram, terá o endereço de 0x3F.
Descrição
O PCF8574 prove vários controles para muitas famílias dos microcontroladores através
de duas linhas de barramentos bidirecionais. Sendo que, esse CI consome uma baixa corrente,
e conta com saída com uma corrente alta com direcionamento para LED’s. Ele também possui
uma linha de interrupção (INT) que pode ser conectada com a lógica de interrupção do
microcontrolador. Evitando uma interrupção de sinal nessa área, o PCF8574 pode informar ao
microcontrolador se há entrada de dados nessas entradas sem ter de se comunicar pelo
barramento I2C. Isso significa que o PCF8574 pode ser um dispositivo escravo simples.
10
Característica do barramento I2C:
Transferência de bit
Um dado em bit é transferido a cada pulso de clock. Os dados na linha SDA devem
permanecer estável durante o período alto de pulso de clock, bem como mudanças na linha de
dados nesse tempo será interpretada como controle de sinais.
Configuração de sistema
Reconhecimento
11
onde como o mestre gera um pulse de clock extra e reconhecido. Um escravo receptor que é
endereçado deve gerar o bit reconhecido depois da recepção de cada byte. Um mestre também
deve gerar um reconhecimento depois da recepção de cada byte que foi cronometrado no
escravo transmissor. O dispositivo que reconhece que tem de puxar para baixo a linha SDA
durante o pulso de clock reconhecido, assim que a linha SDA está estável no nível lógico baixo,
o período alto do pulso de clock relatado e conhecido, configurado e tempos de espera devem
ser tomados em consideração.
Um mestre receptor deve sinalizar um final de dados para o transmissor por não gerar
um reconhecimento no último byte que foi cronometrado para o escravo. Nesse evento, o
transmissor deve deixar a linha de dados em nível lógico alto para habilitar o mestre a gerar uma
condição de parada.
Para calcular o resistor de Pull-up para o barramento I²C, ambos os cálculos usam como
base a capacitância do barramento (10Pf) e a capacitância máxima tolerada (400pF) acima disto
é necessário usar “repetidores” ou “hubs” para gerenciar mais dispositivos. Quanto maior o
número de dispositivos e a distância entre eles maior será a capacitância, pois o comprimento
do fio influencia na capacitância do barramento.
Um dos modos de cálculos é fornecido pela Texas Instruments que é um dos maiores
fabricantes de chips dos EUA. Você pode ver no site em anexo:
https://xprojetos.net/download/calculo-para-resistore-i2c-manual/
Neste documento é fornecido uma série de fórmulas para cálculo, porém só duas irão
nos interessar que é a do Rp(min) e Rp(max) que é o valor máximo e mínimo que pode ser
adotado para o resistor de Pull-up, o resistor que você escolher deve estar entre estes dois
valores. A seguir segue o Rp(min):
Vol(max) é a tensão máxima registrada como baixa pelos pinos I2C do dispositivo ou
microcontrolador.
12
Onde:
• tr é o tempo de subida aceitável das linhas SDA e SCL para a taxa de transmissão
desejada. Esta informação normalmente está nos datasheets dos dispositivos (normalmente
300ns para frequências acima de 100KHz e 1000ns para frequências abaixo de 100KHz)
Abaixo, temos o esquema elétrico do módulo I2C, que leva em consideração os dados
do datasheet do PCF854, com relação ao resistor de pull-up, os transistores necessários e
capacitores, logo, não será necessário realizar os cálculos indicados no datasheet, o que
simplificará grandemente o circuito.
13
Continuando com o tema anterior e considerando a figura acima, é visível que é
necessário a conexão da alimentação do Arduino no 5V e GND, porque segundo o datasheet do
CI utilizado no módulo, sua tensão de alimentação está entre 2,5V e 6V, logo os 5V é uma tensão
que satisfaz essa exigência. Os outros dois fios que saem do SDA e do SCL devem ir para os pinos
apropriados para os dados e o clock (A4 e A5 do Arduino) por causa da comunicação por esses
dois barramentos.
Inicialmente, para saber com certeza qual o endereço configurado, é necessário baixar
o sketch disponível em: https://drive.google.com/file/d/1MpaTS5dSHf7mNvZ74nVYYtVA4E-
Znb03/view
Após isso, é necessário carregar esse sketch no Arduino, para que se possa identificar
em qual endereço está. (Ferramentas > Porta > COM12).
Após carregar, é necessário abrir o monitor serial para ver em qual endereço esse
display está configurado.
Irá iniciar o processo de Scan para encontrar o endereço, e ele será dado em
hexadecimal.
https://www.youtube.com/watch?v=5OSPk5oHhVM
Agora, vamos ver como incluir uma biblioteca no Arduino utilizando um tutorial
disponível no site da RoboCore: https://www.robocore.net/tutoriais/adicionando-bibliotecas-
na-ide-arduino
14
Selecione a Biblioteca desejada, no caso a SerialRelay-master.zip na pasta onde foi feito
o download no primeiro passo do tutorial. Lembrando que é possível extrair e adicionar uma
pasta e não necessariamente o arquivo zipado. Caso tenha seguido todos os passos
corretamente verá uma mensagem "Biblioteca adicionada às suas bibliotecas." Para abrir um
exemplo da Biblioteca instalada é só ir em: Arquivo > Exemplos > RoboCore - SerialRelay > Blink
conforme a imagem abaixo.
15
https://omecatronico.com.br/blog/lcd-serial-i2c-pcf8574/
https://xprojetos.net/pcf8574-i2c-para-lcd/
https://www.robocore.net/tutoriais/primeiros-passos-com-modulo-i2c
5. LCD
Como o LCD foi um componente muito estudado no terceiro ano, vampos apenas fazer
um apanhado geral nesse momento:
Um monitor de cristal líquido (liquid crystal display; LCD) é um monitor muito leve e fino,
sem partes móveis. Consiste em um líquido polarizador da luz, eletricamente controlado, que se
encontra comprimido dentro de celas entre duas lâminas transparentes polarizadoras. Os eixos
polarizadores das duas lâminas estão alinhados perpendicularmente entre si.
Para não termos problemas com a soldabilidade dos 16 pinos do LCD, utilizaremos o LCD
com módulo I2C embutido.
https://www.oficinadanet.com.br/artigo/1262/o_que_e_lcd_liquid_crystal_display
16