找回密码
 立即注册
查看: 6126|回复: 45

交流电压/直流电压ADC测量, 计算有效值 ,送【STC-ISP|调试接口】显示

[复制链接]

该用户从未签到

46

主题

2929

回帖

6591

积分

超级版主

积分
6591
发表于 2023-5-11 15:18:41 | 显示全部楼层 |阅读模式
STC测量交流电压,STC测量直流电压,兼容,ADC采样转换计算有效值
==STC8H8K64U, STC32G12K128
==串口1(P3.1)送回电脑端【STC-ISP | 调试接口虚拟数码管 显示。


本程序演示使用开天斧三.1的P1.6的12位ADC输入通道,
测量直流电压或50Hz正弦波电压有效值,
DC/AC兼容, 通过串口1(P3.1)发送给上位机,波特率115200,8,n,1.

用户请先别修改程序, 直接下载"ADC.hex"测试.
下载时选择主频24MHZ. 测试时, 电脑的串口助手设置115200,8,n,1.


打开串口助手开始接收, 再打开"STC调试助手"中的"7段数码管"即可看到结果.

本程序使用均方值计算, DC/AC兼容, 不需要切换, 但不判断和显示是交流还是直流.
上电后显示 xx.xx
将输入短路, 看显示是否为0, 不为0则按下P3.5按键归0.
输入DC电压或AC 50Hz交流电压, 将会显示电压有效值, 输入范围为DC 0~+-40V,  AC 0~28V,
交流电压超量程会显示不对, 直流超过则显示EEEE.
用户可以自行增加自动判断DC/AC的程序, 以及DC/AC溢出显示.

特别提醒:
由于电路是用1.25V做输入0点参考, 所以输入电压不能跟本电路共地, 否则读数不准确.
本电路供电可以3.5~5V, 电压精度基本不变, 建议用一节3.7V锂电池供电, 就可以任意测量了.

方波信号(50%占空比)的平均电压是幅值的一半, 但有效值是幅值的0.7071, 比如5V幅值的方波, 平均值是2.5V, 有效值是3.53V.

输入电路.JPG

数码管虚拟显示设置.JPG

显示效果.JPG

12-开天斧3.1-P1.6交直流兼容采样计算有效值-串口1(P3.1)返回虚拟数码管显示.rar (369.11 KB, 下载次数: 371)







本帖被以下淘专辑推荐:

回复 送花

使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    0

    主题

    26

    回帖

    310

    积分

    中级会员

    积分
    310
    发表于 2023-6-13 15:45:40 | 显示全部楼层
    本帖最后由 daybeen 于 2023-6-13 16:08 编辑

    请问梁工:霍尔电流传感器,电流为0时输出的是其供电的1/2,且和单片机是共地的,电路应该怎么接呢,是不是经过一个限流电阻后直接接到单片机的adc引脚上

    点评

    单片机工作于5V,AVREF也是5V,霍尔电流互感器的输出最好选择5V供电,输出为2.5V+-2V的,输出串联1~3K电阻到ADC输入,ADC输入对地接104电容。这样,交直流电流均可测量,也可以增加判断为交流还是直流和方向,我做了  详情 回复 发表于 2023-6-13 16:24
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2929

    回帖

    6591

    积分

    超级版主

    积分
    6591
     楼主| 发表于 2023-6-13 16:24:26 | 显示全部楼层
    daybeen 发表于 2023-6-13 15:45
    请问梁工:霍尔电流传感器,电流为0时输出的是其供电的1/2,且和单片机是共地的,电路应该怎么接呢,是不是 ...

    单片机工作于5V,AVREF也是5V,霍尔电流互感器的输出最好选择5V供电,输出为2.5V+-2V的,输出串联1~3K电阻到ADC输入,ADC输入对地接104电容。这样,交直流电流均可测量,也可以增加判断为交流还是直流和方向,我做了一些交直流电流表,用20A的传感器,直流+-20A,交流14A,读数稳定,精度不错。
    霍尔开口电流传感器 耀华德昌HSTS016L/A,20A / 2.5+-2V @5V,基准5V,20KHz采样,800个采样点平方和为X,则均方值=SQRT(X*25/16/800)=SQRT(X/512)。
    回复 支持 0 反对 1 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    0

    主题

    26

    回帖

    310

    积分

    中级会员

    积分
    310
    发表于 2023-6-13 21:56:44 | 显示全部楼层
    梁工 发表于 2023-6-13 16:24
    单片机工作于5V,AVREF也是5V,霍尔电流互感器的输出最好选择5V供电,输出为2.5V+-2V的,输出串联1~3K电 ...

    感谢梁工,准备做个电路板测试一下
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    0

    主题

    26

    回帖

    310

    积分

    中级会员

    积分
    310
    发表于 2023-6-20 16:41:29 | 显示全部楼层
    梁工 发表于 2023-6-13 16:24
    单片机工作于5V,AVREF也是5V,霍尔电流互感器的输出最好选择5V供电,输出为2.5V+-2V的,输出串联1~3K电 ...

    梁工你好,根据你的图我做了电路板,单片机 3.3V,AVREF 2.5V,单片机是8H3K64S4,霍尔电流互感器是5A/2.5mA,
    有两个问题一个是无法归零,按按键后,zero的值是2046,但是数码管一直显示0011-0012,无法归零,
    二是电流和显示的值不成正比关系,大于1A后的比值还比较接近,请指点一下
    电路图和数据如下:
    1.png
    2.png

    点评

    你的传感器有手册吗?霍尔传感器一般是5V的,3.3V可能会不正常,按手册的电压要求供电。 如果按键归0后,读数依旧不是0,则噪声太大。先保证供电正常。 我用过不少霍尔传感器,有供电5V,有供电12V的,一定要按厂家  详情 回复 发表于 2023-6-20 22:57
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    0

    主题

    26

    回帖

    310

    积分

    中级会员

    积分
    310
    发表于 2023-6-20 16:46:50 | 显示全部楼层
    本帖最后由 daybeen 于 2023-6-20 16:49 编辑

    代码仅修改ADC管脚为P0.2,通道为10
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    0

    主题

    26

    回帖

    310

    积分

    中级会员

    积分
    310
    发表于 2023-6-20 22:13:12 | 显示全部楼层
    daybeen 发表于 2023-6-20 16:41
    梁工你好,根据你的图我做了电路板,单片机 3.3V,AVREF 2.5V,单片机是8H3K64S4,霍尔电流互感器是5A/2.5 ...

    修改vref为3.3V后。可以调零了,估计是买的TL431有问题,R4改为49.9欧姆,测量的电流1A内的还是误差较大,
    实际电流值,mA        显示的值      比值
    720      35                20.57142857
    1260           81                15.55555556
    4900           313        15.65495208
    7840           499        15.71142285
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2929

    回帖

    6591

    积分

    超级版主

    积分
    6591
     楼主| 发表于 2023-6-20 22:57:27 | 显示全部楼层
    本帖最后由 梁工 于 2023-6-20 22:58 编辑
    daybeen 发表于 2023-6-20 16:41
    梁工你好,根据你的图我做了电路板,单片机 3.3V,AVREF 2.5V,单片机是8H3K64S4,霍尔电流互感器是5A/2.5 ...

    你的传感器有手册吗?霍尔传感器一般是5V的,3.3V可能会不正常,按手册的电压要求供电。
    如果按键归0后,读数依旧不是0,则噪声太大。先保证供电正常。
    我用过不少霍尔传感器,有供电5V,有供电12V的,一定要按厂家手册要求供电。
    另外,霍尔传感器输出的是电压信号,不是电流信号,所你的电路不对,输出电压串联RC给ADC即可,R=1~3K,C=104.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    0

    主题

    26

    回帖

    310

    积分

    中级会员

    积分
    310
    发表于 2023-6-21 09:43:28 | 显示全部楼层
    梁工 发表于 2023-6-20 22:57
    你的传感器有手册吗?霍尔传感器一般是5V的,3.3V可能会不正常,按手册的电压要求供电。
    如果按键归0后, ...

    是我描述错了,是电流互感器,不是霍尔电流互感器,不为0确实是噪声大的问题,更改后,可以调0了,可仍然是1A以下电流和1A以上的电流不成正比,我用的吹风机测试的,会不会是吹风机的原因,我找找纯电阻的试试,

    点评

    交流电流互感器是有一定的线性问题,但也不大,一般是0.5%、0.2%、0.1%的精度,我买的都是0.1%的。但哪怕是0.5%的,也不应该有那么大的线性误差,在其允许的电流范围内,应该是10%~100电流之内线性很好,10%之内可能  详情 回复 发表于 2023-6-21 10:57
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2929

    回帖

    6591

    积分

    超级版主

    积分
    6591
     楼主| 发表于 2023-6-21 10:57:13 | 显示全部楼层
    本帖最后由 梁工 于 2023-6-21 10:58 编辑
    daybeen 发表于 2023-6-21 09:43
    是我描述错了,是电流互感器,不是霍尔电流互感器,不为0确实是噪声大的问题,更改后,可以调0了,可仍然 ...

    交流电流互感器是有一定的线性问题,但也不大,一般是0.5%、0.2%、0.1%的精度,我买的都是0.1%的。但哪怕是0.5%的,也不应该有那么大的线性误差,在其允许的电流范围内,应该是10%~100电流之内线性很好,10%之内可能会稍差,因为铁芯需要一点起始的励磁电流。
    测试最好先用纯电阻的负载,电吹风是带换向器的电机,电流波动大,读数会抖动。大功率钨丝灯泡、大功率石英灯等等比较合适,电炉丝也很合适。
    回复 支持 1 反对 0 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-1 20:54 , Processed in 0.077666 second(s), 71 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表