硬汉嵌入式论坛

 找回密码
 立即注册
查看: 386|回复: 9
收起左侧

[ADC] STM32H750 ADC+TIM+DMA 采样交流电压的削波和毛刺问题

[复制链接]

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2025-6-24 16:10:05 | 显示全部楼层 |阅读模式
360132d4-fe3e-4d17-a2d7-23b6431b7dbe.png
download.png
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2025-6-24 16:58:59 | 显示全部楼层
佬们,我在使用STM32H750的ADC差分模式进行采样交流电流时,会出现毛刺和电压偏大时出现削波的问题。请问该如何解决/(ㄒoㄒ)/~~

大体配置如下:

代码部分:

HAL_ADCEx_Calibration_Start(&hadc1, ADC_CALIB_OFFSET, ADC_DIFFERENTIAL_ENDED);
HAL_Delay(10);
HAL_TIM_Base_Start_IT(&htim3);
HAL_ADC_Start_DMA(&hadc1, (uint32_t *) ADC_BUF, MAX_SAMPLES);//200点,100us/次
然后便是在中断中计算电压值。

   
调试的时候:外接函数信号发生器和小电阻,VPP 6V,发现ADC数组变化一半是正常的,+2.7,+2.8,+2.9,+3.0,+2.9,+2.8,但是另外一半周期就是-2.6,-2.7,-2.7,-2.7,-2.7,-2.7

外围电路如下:
220V~------100k电阻---ADC_INP---1.2K电阻---VSSA---1.2k电阻---ADC_INN---100k电阻------~220V

然后电路板上的STM32的VSSA和VSS是直接连到一起了的,没有0R电阻隔离。
回复

使用道具 举报

6

主题

60

回帖

78

积分

初级会员

积分
78
发表于 2025-6-25 08:50:43 | 显示全部楼层
原理图放一个吧
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-6-25 09:37:31 | 显示全部楼层
xudailu 发表于 2025-6-24 16:58
佬们,我在使用STM32H750的ADC差分模式进行采样交流电流时,会出现毛刺和电压偏大时出现削波的问题。请问该 ...

从效果来看,你的信号发生器是不是输出负压了,H7的ADC不能采集负压
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2025-6-25 09:47:43 | 显示全部楼层

这个是开发板的原理图

原理图

原理图
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2025-6-25 10:01:53 | 显示全部楼层
eric2013 发表于 2025-6-25 09:37
从效果来看,你的信号发生器是不是输出负压了,H7的ADC不能采集负压

信号发生器输出50HZ正弦波,正负电压各占一半,H7这边小一点的负电压是能正常采集而且没有削底的,但是稍微大一点,幅值大于1.5v就开始有了。接220V交流电的时候也是,几乎只有半波了。这种有什么解决方案么
回复

使用道具 举报

4

主题

90

回帖

102

积分

初级会员

积分
102
发表于 2025-6-25 10:58:38 | 显示全部楼层
本帖最后由 Penguins 于 2025-6-25 11:01 编辑
xudailu 发表于 2025-6-25 10:01
信号发生器输出50HZ正弦波,正负电压各占一半,H7这边小一点的负电压是能正常采集而且没有削底的,但是稍 ...

所以你确实用片上 ADC 采了负电压?这是不安全的,调理到 0 ~ VREF 是更好的,同时建议互感器隔离,分离强弱电。

而且,即使按照你的电阻分压,220 * 1.414 * 1.2 / 101.2 = 3.689 > 3.3,你的正半波为什么没有削顶失真?
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2025-6-25 11:04:07 | 显示全部楼层
Penguins 发表于 2025-6-25 10:58
所以你确实用片上 ADC 采了负电压?这是不安全的,调理到 0 ~ VREF 是更好的,同时建议互感器隔离,分离 ...

好的,非常感谢
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2025-6-25 11:15:23 | 显示全部楼层
Penguins 发表于 2025-6-25 10:58
所以你确实用片上 ADC 采了负电压?这是不安全的,调理到 0 ~ VREF 是更好的,同时建议互感器隔离,分离 ...

抱歉,后面改成120K的电阻了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-6-26 09:43:36 | 显示全部楼层
xudailu 发表于 2025-6-25 10:01
信号发生器输出50HZ正弦波,正负电压各占一半,H7这边小一点的负电压是能正常采集而且没有削底的,但是稍 ...

H7芯片的ADC虽然支持差分,但这个是伪差分,不支持负压采集
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 03:45 , Processed in 0.434992 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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