你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

pwm采集问题

[复制链接]
www256 提问时间:2019-7-3 17:26 /
公司最近在测试一个加速计使用的是ADXL213(这个加速度计是脉宽调制输出的),如果现在使用定时器捕获高电平的时间,这个方法也是可以的,但是我想用adc来直接采集的他的电压变化。这样就可以不开定时器了(因为后面会涉及到中断优先级的问题,想不使用这个方法去采集),请教一下有没有什么办法使用adc采集这个变量,只要是有规律的数值就可以了。
同时附上我直接使用ADC检测的数据和示波器采集到的数据(这个变化幅度太大了无法得到有效的值,这个数据是不可以直接使用的)

直接使用ADC采集

直接使用ADC采集

示波器采集输出

示波器采集输出
收藏 评论14 发布时间:2019-7-3 17:26

举报

14个回答
疯de_恒 回答时间:2019-7-3 18:15:29
本来直接用TIM就很好解决的。不过用AD也可以,加一个RC滤波再进AD,不同占空比出来的电压就不一样了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

七哥 回答时间:2019-7-3 19:02:28
硬件RC滤波,AD采集,软件算法滤波。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

果壳间的宇宙 回答时间:2019-7-3 19:05:32
签到

评分

参与人数 1ST金币 -1 收起 理由
STMCU -1 不要在求助帖下发无关话题

查看全部评分

果壳间的宇宙 回答时间:2019-7-3 19:05:50
签到
radio2radio 回答时间:2019-7-3 19:18:24
最佳办法还是用Timer的输入捕获功能。 其次是用GPIO加软件定时。
最差的是用ADC,大材小用,精度还得靠算法,ADC一般也要使用中断。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wenyangzeng 回答时间:2019-7-3 20:46:46
本帖最后由 wenyangzeng 于 2019-7-3 21:31 编辑

ADXL213的输出是占空比(脉冲宽度与周期之比)与加速度成比例数字信号,以PWM占空比来表示加速度值,ADC是用来采样转换模拟信号的,楼主使用ADC采样PWM有点对不起ADXL213了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

butterflyspring 回答时间:2019-7-4 08:59:18
考虑一下用DMA的方式,这样定时器中断就可以不必要开了。 高级定时器通道1和2可以组合起来测量PWM波形。把测试数据搬到一块RAM区,再使用。看看这种方式是否适用你的项目

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

www256 回答时间:2019-7-5 08:43:28
す疯Ⅱ恒す 发表于 2019-7-3 18:15
本来直接用TIM就很好解决的。不过用AD也可以,加一个RC滤波再进AD,不同占空比出来的电压就不一样了。 ...

是的,看来最好就是使用TIM来采集了,如果硬件RC的话,好像有点绕回去的感觉。这个芯片内部输出就是模拟的特意做成脉宽调制输出了,
www256 回答时间:2019-7-5 08:48:12
radio2radio 发表于 2019-7-3 19:18
最佳办法还是用Timer的输入捕获功能。 其次是用GPIO加软件定时。
最差的是用ADC,大材小用,精度还得靠算法 ...

我如果现在使用定时器来实现,但是我觉得我不需要使用输出捕获了,因为这个频率低的。100多HZ我觉得使用外部中断直接进行捕获高电平的时间来实现了,但是我担心使用外部中断之后只能进行服务函数的方式算出我的高低 电平的时间了,这个点有没有什么好的一点办法实现,谢谢
www256 回答时间:2019-7-5 08:51:51
wenyangzeng 发表于 2019-7-3 20:46
ADXL213的输出是占空比(脉冲宽度与周期之比)与加速度成比例数字信号,以PWM占空比来表示加速度值,ADC是用 ...

是略微有点对不起213了,没有想到他是数字量输出的
www256 回答时间:2019-7-5 08:54:25
butterflyspring 发表于 2019-7-4 08:59
考虑一下用DMA的方式,这样定时器中断就可以不必要开了。 高级定时器通道1和2可以组合起来测量PWM波形。把 ...

您这个有点大神的那种操作,我这个新手估计搞不定的。但是方法绝对没有问题的
radio2radio 回答时间:2019-7-5 09:29:03
www256 发表于 2019-7-5 08:48
我如果现在使用定时器来实现,但是我觉得我不需要使用输出捕获了,因为这个频率低的。100多HZ我觉得使用 ...

如果要求的精度不是很高,用GPIO+定时器,最简单的办法。软件查询或中断均可。
www256 回答时间:2019-7-5 13:14:04
radio2radio 发表于 2019-7-5 09:29
如果要求的精度不是很高,用GPIO+定时器,最简单的办法。软件查询或中断均可。 ...

中断的方式我知道怎么弄的,就是开一个定时器,在中断中切换触发方式,算出高电平时间,但是您说软件查询这个没有听说过,可以稍微的描述一下吗。谢谢
radio2radio 回答时间:2019-7-5 16:47:14
www256 发表于 2019-7-5 13:14
中断的方式我知道怎么弄的,就是开一个定时器,在中断中切换触发方式,算出高电平时间,但是您说软件查询 ...

查询方式比中断简单,你肯定用过,软件检查GPIO,见到高电平开始计时........。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版