信号相位检测和波形合成系统(B题)
一、任务
设计并制作如图1所示的系统。
二、要求
1. 基本要求
(1)设计并制作一个1kHz正弦波产生电路,输出1kHz、2VP-P正弦波电压。
(2)设计并制作一个10°~ 60°可变移相电路,相位移动由单片机键盘输入控制,分辨率为10°。
(3)设计并制作一个相位检测电路,当两个正弦信号相位差≤10°时,输出0V直流电压,当两个正弦信号相位差为60°时,输出5V直流电压。其输出直流电压的误差<1V。
(4)数字实时显示两个正弦信号的相位差。
2. 发挥部分
(1)设计并制作单元电路:整形及谐波产生电路、谐波提取电路、信号调理电路、加法器电路。
(2)将基波和三个谐波合成一个近似的方波,方波重复频率为1kHz,方波的幅度为0~5V。
(3)其他。
四、评分标准
思路回忆
所有负载相关,需要加跟随器隔离的部分都忽略了。这玩意儿我都是发现负载有影响之后塞一个,不记得都在哪加过了。
整个系统用±12V电源供电。
基础部分
(1)设计并制作一个1kHz正弦波产生电路,输出1kHz、2VP-P正弦波电压。
1kHz的正弦波生成电路,使用stm32的PWM直接打点,打出1kHz的正弦波。隔直,过一个放大器,把0-3.3V的波调到需要的。
(2)设计并制作一个10°~ 60°可变移相电路,相位移动由单片机键盘输入控制,分辨率为10°。
搭6个移相器,10°-60°的相位调整好,用6路电位器并联。单片机控制对应角度电位器的通断,实现相移。
调度数的时候有点断手,并且电位器+杜邦线会让波形稍微有一点点失真。当时手头没有别的开关了。
(4)数字实时显示两个正弦信号的相位差。
用stm32f407自带的DAC采样就够了,两个波腹点时间差除以周期再乘360就是相位差。两个正弦波进入DAC之前过一个半波整流电路,问就是打坏过一片32才想起来。
(3)设计并制作一个相位检测电路,当两个正弦信号相位差≤10°时,输出0V直流电压,当两个正弦信号相位差为60°时,输出5V直流电压。其输出直流电压的误差<1V。
最后输出的电压搭一个3.3转5V的升压模块,等比例升压就好了。
发挥部分
(1)设计并制作单元电路:整形及谐波产生电路、谐波提取电路、信号调理电路、加法器电路。
峰值检波电路把正弦波变成方波。然后谐波提取我们偷了懒,没有直接用带通滤波器生滤,拿单片机生成3kHz,5kHz,7kHz的方波,分别过低通滤波器只滤基波。
(2)将基波和三个谐波合成一个近似的方波,方波重复频率为1kHz,方波的幅度为0~5V。
再用移相器放大器把这些谐波相位和Vpp比例1:1/3:1/5:1/7调好就可以了。方波依旧过一个放大器和加法器调一下幅度。
比较不友好的是,移相器移动的相位会随着时间稍微有改变。每次好不容易把这几次谐波相位对齐,过一会儿又悄悄移开了。验收的时候现调就翻车了,最后合成的波形,,,,有方波的胚子。(目移)
碎碎念
当时真就啥也不会啊,每弄出来一个指标都老有成就感了。现在回想起来,好像也没有哪里有难度。
而且当时搭的这玩意儿,测评时候那真是文物级保护措施才没当场寄掉。
当时测评前一个小时不到,电源线被烧坏了,第一时间没发现,就是系统之前测的好好的指标突然一个都没有了。当时直接一整个大绝望感觉要凉,后来一点点排查发现所有的芯片都不工作了,才意识到供电有问题。
从这之后所有电源线一律用那种带鳄鱼夹的线。XD
还有这次比赛之后怒买了一堆模拟开关和xh2.54。XD