STM32系列芯片可以直接通过输入捕获正弦波来计算正弦波的频率吗?

wqq995 2018-08-18 05:30:06
STM32系列芯片可以直接通过输入捕获正弦波来计算正弦波的频率吗?还是说需要转化为方波才可以?我的程序可以捕获到方波并得出频率,但是捕获正弦波却不行,由于这个正弦波是通过谐振得来峰峰值只有1.7V左右,不知道是不是幅值小的原因还是芯片本来就不可以直接捕获正弦波的原因,特来求助。
...全文
2619 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqq995 2018-08-28
  • 打赏
  • 举报
回复
谢谢各位!问题我已经解决了,虽然测得频率不是非常准。对于前辈们说的FFT,因为我没用过FFT,不知道该怎么搞,所以这几天一直想通过其它方式来达到目的,最近才想用施密特触发器或者电压比较器来做,后来我发现我用的STM32F072CBT6这个芯片本身就自带比较器,所以我就尝试用比较器来转换成方波再来测频率,发现可行。之前一直不知道原来STM32芯片还有的自带比较器的,之前一直接触的是F1,F4,现在才知道F05,F07,F09这些系列的芯片自带比较器。
电子小余 2018-08-23
  • 打赏
  • 举报
回复
引用 13 楼 wqq995的回复:
我试一下,不知道是我配置的AD是不是有问题,0V和3.3V的电压可以准确采样输出,但是0V-3.3V之间的电压就一直输出0.1V-0.2V之间的电压值,用AD来采样正弦波的时候采到的数据一直是:我也不知道哪里出了问题
信号频率多少,采样率多少? 其实你可以使用MATLAB仿真一下,确定好合适的采样率,这样可以确定你的代码是不是有问题
电子小余 2018-08-23
  • 打赏
  • 举报
回复
如果只是测频率,可以考虑使用adc采集信号,然后fft计算出频率。
  • 打赏
  • 举报
回复
他这图方波频率3.35KHz,低电平那部分占比大约1/3,理论上来说用10KHz采样就可以了。
灌水号 2018-08-20
  • 打赏
  • 举报
回复
刚才没看清楚,原来是要求底电平那些正弦啊,,这个频率太高了。应该像楼上说的, 不能在线分析。看你ADC能不能达到这么高的采样频率了。
朝闻道_v 2018-08-20
  • 打赏
  • 举报
回复
这个目测有300kHz以上了,STM32的话可用ADC模块采数据,然后离线分析,在线实时处理可能不太现实,毕竟运算能力有限。
建议UP换个示波器。
灌水号 2018-08-20
  • 打赏
  • 举报
回复
电压比较已经把电压变成0,1状态,当然能捕获。当然正弦波型的offset不能变,幅度也不能变得太明显。
使用捕获就可以啊,计算两个高电平或者低电平开始点的间隙就是周期。基本上M3,M0 系列的都有这个功能。
wqq995 2018-08-20
  • 打赏
  • 举报
回复
用·STM32系列芯片有什么办法捕获如下图所示的方波低电平时间段内的正弦波并计算出频率吗?
wqq995 2018-08-20
  • 打赏
  • 举报
回复
这个正弦波已经是经过放大的了,把这个正弦波转化为方波之后幅值应该还是小吧?还能捕获到吗?
灌水号 2018-08-20
  • 打赏
  • 举报
回复
幅值太小了。
可以外面加一个电压比较器转成方波。
wqq995 2018-08-20
  • 打赏
  • 举报
回复
配置如下:
那个clock prescaler只有同步四分频和异步模式两种选择,已开启DMA中断,一直奇怪采样不到0V-3.3V之间的电压数据
wqq995 2018-08-20
  • 打赏
  • 举报
回复
我试一下,不知道是我配置的AD是不是有问题,0V和3.3V的电压可以准确采样输出,但是0V-3.3V之间的电压就一直输出0.1V-0.2V之间的电压值,用AD来采样正弦波的时候采到的数据一直是:我也不知道哪里出了问题
灌水号 2018-08-20
  • 打赏
  • 举报
回复
用DMA应该能达到 这个速率吧。
  • 打赏
  • 举报
回复
STM32不是普遍支持1MHz以上采样吗
wqq995 2018-08-20
  • 打赏
  • 举报
回复
那个正弦波的频率大概在500K左右,用的是F0芯片,用ADC的话它的采样周期加上转化周期已经将近2us,差不多是这个正弦波的一个周期时间了,ADC应该搞不定,才接触这个STM32cubeMX,用的是HAL库,公司因为要与其它公司对接要求用这个cube来做,各位前辈有什么办法?

zhxlx 2018-08-20
  • 打赏
  • 举报
回复
底部波形的频率大概是多少,采样频率要满足奈奎斯特吧,你在用是stm32自带的dsp库,里面有fft算法,查看幅值,应该能求出大概的频率
灌水号 2018-08-20
  • 打赏
  • 举报
回复
引用 7 楼 DelphiGuy 的回复:
他这图方波频率3.35KHz,低电平那部分占比大约1/3,理论上来说用10KHz采样就可以了。
他说的是低电平那个蜜蜜麻麻的。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧