最新案例教程点击下方链接跳转,CSDN已停止更新
点
击
跳
转
案例说明
本案例用于说明如何使用ADC测量供电电压,测量电流传感器的电流大小。
Haas-HD1(RTU)带有3路ADC。
- 内置ADC
ADC0 | 用于测量供电电压大小 |
- 外置ADC
ADC1 | AI1端口 | 默认用于4~20mA电流检测(通过调整硬件可用于测量电压值,如需测量电压购买时备注说明) |
ADC2 | AI2端口 | 默认用于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 |
---|---|
AIo | AI2+ |
GND | AI2- |
测试结果如下,连接AI2之后,电流4.98mA。