0%

硬件 | 校电子设计大赛复盘

校电赛结束了,今年校内赛的题目大多都是前年的国电题目,有将近一个月的时间完成。可以拿来练练手,为后面的比赛做准备。下面介绍一下我们的选题以及对应方案。

选题

校电赛选的题目无非几类,传统电源题(做的人非常少),控制题,仪器仪表题以及最近新兴的视觉/智能题。高频/通信题因为知识水平的问题在校赛里不会出现。而我们队的选题是常规的仪器仪表题:放大器非线性失真研究装置。

img

当时选的具体理由不记得了,大概是选了一圈下来可能觉得信号处理的题目相对简单。

方案分析

这条题目有个非常明显的优势在于,晶体管放大器和微控制器分别是硬件部分和嵌入式软件部分。硬件部分只是搭好一个晶体管放大电路并且让后面的控制器能够控制失真,嵌入式软件部分控制失真并且对输出信号进行AD采样后FFT即可。既然是已经出过的国电题目,那么网上必然有不少的方案,基本上也是大同小异,方案中都需要解决以下问题:

  1. 晶体管放大电路设计

    这个是我现在认为收获最大的部分,我们在学完模电之后几乎没有动手做三极管放大电路的机会,电赛反而变成了一个很好的契机。

    按照题目的要求应该是要做一个100倍的放大器,2-3级共射应该足够实现。先在Multisim仿真,接着调好工作点之后确定器件参数,然后再在万能板上焊出来。

  2. 如何控制失真

    晶体管的前三种失真(顶部,底部,双向)都是通过调节工作点实现,而要实现严格的交越失真则必须在后面输出级增加甲乙类功率放大电路,并且通过控制三极管在进入死区电压后是否截止来完成。

    其他人的方案中调节工作点的思路有以下两种

    • 用开关控制电阻是否接入电路改变工作点,这个开关可以是继电器或者光耦,可以是工作于饱和/截止两种状态的三极管,也可以是模拟开关,当然还有数字电位器
    • 用电压方式调节工作点,这种方式主要借助单片机的DAC

    为了使电路尽可能简单,我们最后采用了三极管作为开关

  3. 如何将放大电路的输出通过AD采样输入到MCU

    这个是一个电平转换的问题,我的三极管放大电路采用单+12V的电源,输出要经过交流耦合,而STM32单片机只接受0V-3.3V的模拟信号输入。因此这里需要将输出信号峰峰值缩小并抬高至3.3V中点方便采样。

    网上很多方案都是用运放实现的,然而其实最简单的办法是电阻分压后再用电容耦合至3.3V中点作为ADC输入(后面会给出电路)

  4. 如何显示“总谐波失真”

    img

    题目后面的具体说明基本上可以解决算法的问题,具体的方法就是采用FFT计算1kHz基频以及四次谐波分量的电压值即可得到总谐波失真。

实践

电路部分

实际操作还是会遇到很多问题的,在晶体管电路设计仿真的时候将不仅要很多电阻都优化为能够容易找到阻值的电阻,还要尽可能缩减电路器件。最终版的放大器电路图长这样

img

这份电路采用共射-共集-共射-推挽输出级的形式,首级共射用于确保信号正常放大,共集与第一级直接耦合,调整前后共射级的输入输出阻抗,使后一级共射输出也能有符合要求的放大倍数。第三级共射通过调节工作点和射极反馈电阻实现顶部失真、底部失真、双向失真。最后一级为推挽输出,通过控制其中下方二极管是否短路实现交越失真。当然,最后的方案现在看算不上完美,但是比起开始的设计显然成熟很多。

实际上,因为仿真的时候放大倍数留有的余量太少了,导致后面出现放大倍数达不到要求,只能通过微调工作点+减小第三级共射放大的反馈电阻来提高增益,如果开始的时候采用3级放大余量会更加充裕一些。

出于省器件的本意,开关部分采用三极管,并且最后看起来效果还非常不错

img

img

第一张图通过控制并联电阻是否接入电路,控制第二级基极偏置电阻大小和射级反馈电阻大小,实现失真。第二张图中由于二极管其中一端不是接地,采用PNP管与NPN管共同控制是否短路。每个S9014都通过一个10k电阻接入开发板的GPIO,通过对应引脚(TP1~TP4)的高低电平使三极管处于饱和或截止状态,同时为了防止基极悬空时的意外干扰,在基极与射级之间接入一个大电阻。

TP一排的引脚功能定义如下

TP1TP2TP3TP4失真状态
0100正常
1X00顶部失真
0000底部失真
0X10双向失真
0101交越失真

电平变换电路

img

信号处理算法部分

STM32内部的1Mbps的ADC配合上DMA应该足够采样到能分析五个频点的数据,进行FFT求对应频点的频谱。由于有前年参赛队伍留下的程序,我们在它基础上稍加修改即可完成任务。

这样说程序部分确实简单,但在比赛过程中还发现了只求单个频点并且还可以连续分析的Goertzel算法。看上去是一种特殊优化的DFT,虽然最后也没有用上,但是后面做单频点分析也不失为一种优雅的方案。

后话

最后校赛的结果也是捞了个奖。但是比这个更加有趣的是,硬件部分电路的三极管,电容,电阻都来源于实验室,开发板+屏幕也是临时在实验室借的,可谓白嫖到底。最后再贴张只有一个巴掌大的晶体管电路的成品图:

img

如果前面再加个差动放大电路这就可以算是个运放了(狗头