Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Faça você mesmo voltímetro usando Arduino e Smartphone

Componentes e suprimentos

Arduino UNO
× 1
PHPoC WiFi Shield para Arduino
× 1
Resistor 100k ohm
× 1
Resistor 1M ohm
× 1
Jumper fios
× 1

Sobre este projeto





Demonstração


Se você é novo no Arduino, pode começar com os Tutoriais do Arduino para iniciantes.





Como funciona


Podemos usar o pino de entrada analógica do Arduino para medir a tensão. No entanto, a tensão máxima mensurável é 5V.

Para aumentar a tensão mensurável, precisamos usar um divisor de tensão

InTheory

Nós temos:

V_measure =(R1 + R2) / R2 * V_in

proporção = (R1 + R2) / R2

=> V_measure =ratio * V_in

Se escolhermos R1 =10 * R2, temos:

V_measure =11 * V_in

Uma vez que o máximo do V_in permitido é 5V => O máximo da tensão mensurável é 55V

Para limitar a execução da corrente através do pino do Arduino, o que pode causar danos ao Arduino, precisamos escolher o valor do resistor o maior possível.

Eu escolho R1 =1 Mohm, R2 =100Kohm

Na prática

são alguns problemas na prática
  • O valor de R1 e R2 tem erros. Os erros causam o erro de V_measure
  • A fonte de alimentação do Arduino pode estar instável. Isso torna o V_REF da entrada analógica instável. Portanto, isso causa o erro no cálculo de V_in. => causa erro no cálculo de V_measure

Esses problemas são resolvidos na parte de calibração





Calibração


1 Meça o valor real de (R1 + R2) / R2

Isso precisa ser feito apenas uma vez para obter a proporção

Fiação conforme imagem abaixo:

ratio =(R1 + R2) / R2 =V_measure / V_in =A1_read_value / A0_read_value

ratio =A1_read_value / A0_read_value

Código para esta calibração => consulte ResisterCalibration.ino na parte do código

2. Instabilidade da fonte de alimentação

A instabilidade da fonte de alimentação causa instabilidade na referência de tensão do pino analógico. Isso causa a medida errada no cálculo da tensão.

Para resolver isso, precisamos medir a referência de tensão com frequência.

Como medir a referência de tensão?

Conecte 3,3 V ao pino A1

A referência de tensão é medida indiretamente com base no valor em A1:

V_reference =1023 * 3.3 / A1_value

Como calcular a V_measure:

V_in =mapFloat (A0_value, 0, 1023, 0, V_reference); V_measure =ratio * V_in;

Fiação principal:





Como fazer

  • Fiação como circuito de "fiação de calibração de resistor"
  • Carregar ResistorCalibration.ino
  • Abrir plotadora serial
  • Copie o valor da proporção
  • Substitua este valor na linha 5 de Voltmeter.ino
  • Reconectando como "fiação principal"
  • Carregar Voltmeter.ino
  • Upload da interface do usuário da web ( voltmeter.php e voltmeter_body.jpg ) para PHPoC Shield
  • Acesse a página da Web http://phpoc_shield_ip_address/voltmeter.php para ver a tensão.

Você pode ver a voltagem no smartphone da seguinte forma:

Dicas de fiação:





O melhor Arduino Starter Kit para iniciantes


Veja o melhor kit Arduino para iniciantes

Código

  • ResistorCalibration.ino
  • Voltmeter.ino
  • voltmeter.php
ResistorCalibration.ino Arduino
- Fiação conforme descrito na parte de calibração
- Execute este código uma vez
- Abrir plotter serial
- Copie o valor da proporção
- Substitua este valor na linha 5 de Voltmeter.ino
 double ratio; int analogReadA Average (int pin, int read_time) {unsigned long read_value =0; // ler o analógico em valores read_time times:for (int i =0; i  
Voltmeter.ino Arduino
Este é o código principal. Antes de enviar este código, precisamos:
- fazer upload de ResistorCalibration.ino
- abrir o Serial Monitor
- copie o valor da razão e substitua o valor na linha 5 deste código
 double V_measure; double V_in; referência_v dupla; proporção dupla =11,59; mapFloat duplo (x duplo, min_in duplo, max_máx duplo, min_dobra, out_máx duplo) {retorno (x - min_in) * (max_máx - min_saída) / (min_max - min) + min_ sa;} int analogReadA Average (int pin, int read_time) {unigned long read_value =0; for (int i =0; i  
voltmeter.php PHP
Este arquivo é a interface do usuário da web. Ele precisa ser carregado para PHPoC Shield junto com a imagem de fundo voltmeter_body.jpg
     PHPoC Shield - VOLTMETER     html {altura:100%;} corpo {largura:100%; altura:100%;; alinhamento de texto:centro;}. container {largura:100%; altura mínima:99%; altura máxima:100%;} canvas {background:url (voltmeter_body.jpg); background-size:contém; família de fontes:'Segment7Standard'; intensidade da fonte:Negrito; estilo da fonte:itálico;}     

Esquemas

Precisa ser carregado para PHPoC Shield

Processo de manufatura

  1. Console de edição DIY Photoshop usando Arduino Nano RP 2040
  2. Sistema de atendimento usando Arduino e RFID com Python
  3. Controle remoto universal usando Arduino, 1Sheeld e Android
  4. Sensor de batimento cardíaco infravermelho DIY usando Arduino
  5. Medição de frequência e ciclo de trabalho usando Arduino
  6. Voltímetro DIY com Arduino e um visor Nokia 5110
  7. Sonar usando arduino e exibição no IDE de processamento
  8. MobBob:DIY Arduino Robot Controlado por Smartphone Android
  9. Controle de brilho do LED usando Bolt e Arduino
  10. Braço robótico simples e inteligente usando Arduino