24年电赛C题 软硬件思路及常见问题分享

先来说说软件部分

比起以往难度不高,连波形都不用测,只需要软件控制dds发波设置参数就OK了。为了提高执行效率,选择用定时器扫描独立按键的方式改变波形参数直接控制dds发波,按键值如果发生变化,在定时中断重新调用对应的函数即可,根据各人硬件系统的不同,通过微调参数,把每次按动按键后的测量值稳定在误差范围内就行。

附图

159b405b701a48ebb44e5f0c0fb9594c.png

 

 

再看硬件部分

硬件方面就大有讲究了,我们主要也是硬件卡了很长时间。

初步是打算直接控制dds发出波形的幅度的,结果发现在30-40M的频率下幅度值完全上不去,理论上500mv实际只有不到100mv峰峰值

于是决定通过按键控制数字电位器,固定dds输出经过放大到题目要求的最大幅值后通过分压来实现输出,于是网购了一批可spi调节的x9c104s,到货了一晚上没研究出来,发现直接测量电位器阻值可以随按键调节,一旦放到电路中,数字电位器的阻值就变化很小了,考虑到这款数字电位器不够精密,在高频时不能正常寻址于是内部拓扑结构不能正常工作,只能放弃。

万念俱灰之下,甚至想到同时用上30个继电器来控制....

最终还是从ad9959入手,通过输出大概10mv到100mv这个可以稳住幅度值的区间,再通过opa847就行放大,也是终于实现了幅度值100mv到1v 步进100mv可调。

放大后进行隔直上拉与 加上直流偏置后放大的2MHz调制信号通过乘法器得到调制后的AM信号  。

以上是SD直达部分

对于多路传输信号,只需要和第一路完全一样就可以了,其相对实延,幅度衰减都可以使用外接按键通过软件调参实现。

两路信号通过opa690跟随后进入加法器,可得到波形相加以后的结果。通过按键控制,可以看到模拟多路传输后的信号发生相应的变化。

简图如下

a2cfa03778cc45ae98c781f9da6c0df1.png

 

再说说遇到最多的两个问题

首先是9959不能发波,需要确保dds的+5V和GND和单片机相连也就是直接使用单片机供电,然后就是单片机不要用串口供电,因为它只有3.3v,不足以驱动dds,需接对应的电源。

然后最重要就是乘法器出来的波形失真,这也困扰了我们很长一段时间,也考虑过电源问题以为是共地后由于接地电阻的差异,噪声通过地线进入到设备输出。结果发现只要载波外接放大器后才会出现调制波形失真的问题,而且载波波形不失真,最后一致认为是由于dds和我们用的载波放大模块阻抗不匹配,使opa847放大模块产生了自激振荡又回灌到dds然后和调制波形一起输出 使得输出波形失真,好解决也不好解决,可以使用隔离电路防止回灌,也可以通过示波器FFT后找出杂波频率进行滤波,遗憾的是我们学校没有pF级的贴片电容,所以都不能实现。

但是!

皇天不负有心人,当我们加上继电器准备通过他来控制载波是进入乘法器还是用于测量载波时,神奇的事情发生了,失真变小了!!!猜测是里面的线圈起到了电磁耦合作用间接进行了滤波。

还有两路建议使用不同的继电器控制,因为一开始我们使用的两路继电器,只使用一路的情况下会信号相互干扰。

 

至此,我们已经可以实现系统的全部功能,附部分图

f77f0b04628b418d981dc0f569c3b12c.jpg

 

b83faa25c0df4ffa970d667d08627394.jpg

 

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值