前文:因为这个题目是院赛,时间比较赶(从周六早上到周六晚上验收)所以优化上不足。
目录
1.设计要求
设计一个基于STM32F103C8T6单片机的简易测频计。通过信号发生器来验证测评计的测量精度和范围。
a.能够正确测量信号的频率和周期,所测正弦波信号幅值为:
100mV
p-p
;频率:1Hz~1MHz。
b.测量误差≤0.5%
2.硬件电路设计
用洞洞板焊接一个简易低通滤波器,使得检测的波形比较纯净。用LM393搭建一个运算放大器,使单片机测量更加方便,准确。用STM32来实现显示,计数功能,软件方面采用外部时钟终端计数(秒闸门法测频),用按键来实现不同范围频率的测量。
主要器件为:STM32F103C8T6最小系统板,OLED显示屏,轻触开关,稳压电源(可以采用电池)等。
队友设计的运算放大的原理图
3.软件部分
软件部分放在这个专栏的另一篇文章中,如果需要,请看另外一篇文章。
4.实物图
图为测量1.04Mhz时(因为时间比较赶,后续没有优化)
5.测量数据
待测值 | 1.04Mhz | 99900hz | 408000hz | 307000hz | 200000hz | 99000hz | 66000hz | 21000hz | 720hz |
实测值 | 1039952 | 998960 | 407984 | 306992 | 199992 | 99000 | 66000 | 21033 | 1475 |
误差 | 48 | 40 | 030 | 5 | 8 | 0 | 0 | 33 | 755 |
精度 | 0.05% | 0.04% | 0.003% | 0.002% | 0.004% | 0.00% | 0.00% | 0.157% | 104.86% |
程序还能在优化,改变TIM4和TIM2时钟的参数即可,可以将精度更精确和下限更低