ESP32使用I2C数字电阻AD5254做PT100仿真

Arduino库实现数字电阻

  • 实际问题
  • 实现电路
  • 样板图
  • 程序举例
  • 感受

实际问题

在开发数字仿真系统时需要用PT100发生器,这个产品其实也有现成的产品,比如NI公司的PT100发生电路,很贵。查资料看到有I2C控制的数字电位器。用来做PT100数字发生器,实验可行,与大家分享。

实现电路

ESP32使用I2C数字电阻AD5254做PT100仿真_第1张图片
采用ESP32控制器按控制系统发送的modbusRTU电阻设置命令给出电阻阻值。抱着侥幸的心理到Arduino库中查找是否有现成的库可以使用,结果还真找到了日本人提供的库,是一个Asuki
Kono提供的库。可以直接使用来设置和读取阻值。

样板图

ESP32使用I2C数字电阻AD5254做PT100仿真_第2张图片

程序举例

void setup() 
{
    Serial.begin(115200);
    delay(1000);
    while ( !Serial ) {}
    Serial.println("COM 0 setup OK!");
    Serial.print("The modbus 485 address = ");
    Serial.println(localAdd);
    pot01.begin();  
    pot02.begin();
    pot03.begin();
    pot04.begin();
    pinMode(LED_BUILTIN, OUTPUT);
//    Ethernet.init(5);         // MKR ETH shield
    RS485_Init(57600);        // Initialize RS485
    Ticker_Init(10);          // Initialize timer
//    Serial2.println("Message from the com 2!");
}

板子可以正常使用了,下一步是细分电阻值,因为数字电位计的阻值都比较大,找到这个阻值是1KΩ的不容易。而PT100的阻值范围比较小,应该是85Ω到150Ω之间。我并联了4路作为一路使用。可以仿真-40~400℃的阻值。

感受

采用Arduino编程可以快速的实现电路功能,而不是关注寄存器,定时器等编程细节,做出适合自己的应用板子。

你可能感兴趣的:(Arduino,IDE,ESP32,单片机,嵌入式硬件)