Haas-HD1(RTU) ADC使用说明(测电压,电流)

该案例介绍了如何使用Haas-HD1(RTU)的内置ADC进行电压和电流测量。ADC0用于测量供电电压,而ADC1和ADC2可通过调整硬件测量4~20mA电流或电压。代码示例展示了配置ADC和读取电压、电流值的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最新案例教程点击下方链接跳转,优快云已停止更新

点击跳转HaaS506官方最新案例







案例说明

本案例用于说明如何使用ADC测量供电电压,测量电流传感器的电流大小。
Haas-HD1(RTU)带有3路ADC。

  • 内置ADC
ADC0用于测量供电电压大小
  • 外置ADC
ADC1AI1端口默认用于4~20mA电流检测(通过调整硬件可用于测量电压值,如需测量电压购买时备注说明)
ADC2AI2端口默认用于4~20mA电流检测(通过调整硬件可用于测量电压值,如需测量电压购买时备注说明)

在这里插入图片描述

代码

配置3路ADC

  • board.json
{
    "version": "1.0.0",
    "io": {
      "ADC0": {
        "type": "ADC",
        "port": 0,
        "sampling": 12000000
      },
      "ADC1": {
          "type": "ADC",
          "port": 1,
          "sampling": 12000000
      },
      "ADC2": {
        "type": "ADC",
        "port": 2,
        "sampling": 12000000
      }
    },
    "debugLevel": "ERROR",
    "repl":  "enable" ,
    "replPort":0
}

  • main.py
from driver import ADC
import utime as time


#电源电压
def get_support_voltage():
    value="%.4f" %(adc0.readVoltage()/1000*11)
    return float(value)


#AI1,AI2电流值
def get_ai_current_value():
    value1="%.4f" %(adc1.readVoltage()/150)
    value2="%.4f" %(adc2.readVoltage()/150)
    # print("current value of ai:",value1,value2)    
    return float(value1),float(value2)



if __name__ == '__main__':   
    adc0 = ADC()
    adc1 = ADC()
    adc2 = ADC()
    adc0.open("ADC0")
    adc1.open("ADC1")
    adc2.open("ADC2")
    while True:
        supply_v = get_support_voltage()
        ai1,ai2 = get_ai_current_value()
        print('电源电压: ',supply_v)
        print('AI1电流:{},AI2电流:{}.'.format(ai1,ai2))
        time.sleep(1)


测试结果

电压

  • 使用手机充电器供电
    在这里插入图片描述

  • 12V电源测试
    在这里插入图片描述

电流

用信号发生器模拟电流信号。连线如下

信号发生器RTU
AIoAI2+
GNDAI2-

在这里插入图片描述

测试结果如下,连接AI2之后,电流4.98mA。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值