tenho um circuito com esp32 e o conversor AD mcp3422, já fiz um teste de comunicação entre eles em arduino pelo serial, so que na comunicação esta pegando o valor maximo, quando o valor do AD esta zerado.

exemplo: na entrada do AD mcp3422 tenho 0V, então no monitor serial deveria estar 0, mas ele mostra 65325.

o mcp3422 tem comunicação I2C, coloquei resistores pull-up de 5k.

vou colocar la conexão do mcp3422 com o esp32 e o codigo usado.

Exibições: 170

Anexos

Responder esta

Respostas a este tópico

Bom dia, 

Ainda bem que esta testando a sua montagem em partes! Isso já é um bom começo, para tudo dar certo. 

Para ESP32:

GPIO 21 --------------- SDA

GPIO 22  --------------- SCL

1) o mcp3422 tem comunicação I2C, coloquei resistores pull-up de 5k.

    Para a alimentação de 3,3V use resistores de 3,3K ohms. 

2) O ADC MCP3422 usa a interface I2C. 

    Faça um teste com o I2CScanner para testar a comunicação e verificar o endereço do chip. 

   https://github.com/Gustavomurta/ESP32-DVM/blob/master/ESP32_I2Cscan...

   Poste aqui os endereços que encontrou! 

3) Não coloque variáveis dentro do loop

int ADVal_1, ADVal_2;
float Vs, Vch1, Vch2, X, denom, Rtherm, Tc;

4) Por favor coloque comentários em cada linha do seu programa, para eu poder avaliar. Senão a gente perde muito tempo em tentar entender o que cada linha faz. 

5) Use a Biblioteca I2C. Seu programa ficará mais simples. 

#include <I2C.h>

http://dsscircuits.com/articles/arduino-i2c-master-library

Responda as perguntas, para eu poder dar continuidade. 

OBS: sou especialista em circuitos ADC e DAC. 

MCP3422 datasheet:

http://ww1.microchip.com/downloads/en/devicedoc/22088c.pdf

The on-board 2.048V reference voltage enables an input range of ± 2.048V differentially (full scale range = 4.096V/PGA).

Se interessar veja esse meu projeto:

https://www.elektormagazine.com/labs/esp32-digital-voltmeter

Obrigado JOSÉ GUSTAVO, vou testar e aviso.

OBS: sou especialista em circuitos ADC e DAC. ----> (legal!)

Oi Josè gustavo! estava fora de actividades, fiquei um pouco doente com dor na costa, acho que muito tempo sentado frente a notebook, ai pared um tempo não conseguia ficar muito tempo. mas beleza, eu consegui fazer comunicação com o esp32 e o MCP3422, fiz teste com o exemplo "I2CScanner", achei o endereço 0x76, logo mudei no me codigo eu consegui comunicação. O circuito para sensor de 4-20mA tambem funcionou, usei o esquematico do link que você sugeriu.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço