完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
|
|
虽然用定时器定时器进行AD采样的方法在网上一查一大堆,官网上给的例程也很多,实现起来也不是太难。但是当自己亲手去编代码,实操的时候还是会发现很多的细节需要注意的,任意一个细节忽略或者出差错的话,就会导致结果有很大的误差,甚至结果根本就不对、更坏就是没有现象。很幸运的是这几种情况我都遇到了。下面我记录一下我遇到的一些问题与解决的方法。
对电压电流的采集,有直流与交流,对于直流的话,比较简单,就是多采集些点,然后在对这些值进行求平均值,就能够得到想要的结果。但是对于交流量的采集转换的话就不是简单的求平均值的问题啦,因为对于交流量的话,需要将采集的离散的点进行求它的有效值,就是求出均方根。(采集的每个点的值平方 累加和)/点数 再开方。 需要注意的是采集的点数要保证原始的波形不会失真,我是用一个62us定时器定时采样,对于正常的交流电的频率就是50HZ,每一个周期20ms。也就是说,每一个周期可以采集到320个点。 AD的基本知识 AD就是将模拟量转换成数字量,STM32的AD转换的电压范围就是0~3.3V,当我们要测的模拟量大于这个范围的时候,就需要外部的硬件电路对模拟信号转换到这个电压范围内,我是用的一个1000:1的电流互感线圈,也就是1A的电流感应出1ma的电流。然后在做一个1.65V的偏置电压,因为AD不能对负的量进行采集转换。这都涉及到硬件电路,我一个电路白痴是吃不透的,硬件工程师给我们一个转换关系,我们根据这个转换关系将采集到的数据做处理后得到最终的电流或者电压的有效值。下面开始干货。 adc.c 文件 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 01:18 , Processed in 0.606387 second(s), Total 73, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号