ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

2019电赛D题详解:简易电路特性测试仪的完整设计与调试

2019电赛D题详解:简易电路特性测试仪的完整设计与调试 简介2019年Ti杯电赛D题.zip是一份面向电子设计竞赛参赛者的备赛资料包适用于备战电赛D题方向的学生、指导老师及嵌入式开发者。该压缩包以2019_electric-master为主干目录组织大小约54.39MB当前文件总数标注为0项资源描述表明内部可能与D题的题目说明、背景介绍、技术规范、样例代码或辅助材料相关能帮助团队更快理解题意并搭建技术路线。D题一般会涉及电子技术、嵌入式系统、模拟/数字电路等知识参考包内内容可接触到微控制器编程、运算放大器与滤波、ADC/DAC转换、UART/SPI/I2C通信协议等常见设计点便于在实际调试中对照验证。目前已有320人浏览学习建议备赛同学结合官方赛题要求围绕这份资料进行方案推敲与查漏补缺。 2019年TI杯电赛D题题目全称是“简易电路特性测试仪”那会儿我们备赛群里讨论度很高。原因也很直白这道题看起来不像控制题那样要调车调飞机也不像电源题那样要时刻担心炸板子但真正动手做起来才发现它把“模拟电路测量”和“系统自动化”揉在了一起既考硬件基本功又考软件状态机设计。这篇文章我打算把当年做D题的完整思路、方案选型和踩坑记录写出来给准备电赛的学弟学妹们一个可以直接参考的版本。无论你是第一次参加电赛还是已经做过一两届想冲国奖这篇内容都适合。我会从题目解读、方案选型、测量原理、实际调试几个角度展开最后再聊聊那些评测现场才会暴露的问题。1. 先读懂D题题目要求与隐藏考点1.1 题目到底要我们做什么2019年TI杯电赛D题的要求我记下来的大致范围是设计一个测试仪能够测量一个给定晶体管放大电路的幅频特性、输入电阻和输出电阻并且能够根据测量结果判断电路中的故障类型。被测对象一般是分立元件搭的共射极放大电路频率范围在20Hz到200kHz左右误差要求比较严格尤其是增益的测量误差要控制在较小范围内。这个题目有意思的地方在于它表面上是“做一个仪器”实际上却要求你同时解决三个问题第一怎么产生一个频率可变的扫频信号第二怎么在不影响放大器正常工作状态的前提下测出输入输出参数第三怎么把测量结果自动处理成曲线和故障判断结果。这三个问题单独拎出来都不算难但组合到一起就会发现系统之间的相互干扰特别多。1.2 官方评分之外的隐藏考点很多队伍做完硬件就以为完事了结果一到评测现场就翻车。为什么因为D题除了硬指标还隐藏了几个官方评分标准里不会明说的考点。第一个是稳定性。测试仪接入被测放大器后不能改变放大器原来的工作状态。这话听起来简单实际上只要信号源输出阻抗偏高、接地线没处理好放大器就可能自激振荡或者增益明显下降测出来的数据直接没法看。第二个是自动化程度。题目要求在尽量少的操作下完成全部测量并显示结果这就在考察软件状态机的设计能力。第三个是速度与精度的平衡。200kHz范围内逐点扫频如果每个频点都做很多次采样求平均速度会很慢如果采样太少精度又不够。这个平衡点只有实测过才知道。所以说D题本质上是一个“系统题”而不是单纯的模拟电路题。谁能把硬件、软件、算法这几块统筹好谁就能拿高分。2. 整体方案选型系统架构与关键器件取舍2.1 信号链路搭建我当年搭的系统框图大致是这样的主控芯片负责控制扫频源的频率和幅度扫频信号经过被测放大器后由采样电路把输出幅度转换成直流电平再送回主控的ADC进行采集最后在液晶屏上显示幅频特性曲线和阻抗测量结果。信号链路是整套系统的命脉从DDS输出到被测放大器输入这一段尤其关键。当年我们用的是AD9833模块作为扫频信号源它的频率寄存器是28位的在20Hz到200kHz范围内频率分辨率绰绰有余而且SPI控制非常简单。AD9833输出的是正弦波但幅度只有0.6Vpp左右所以后面加了一级运放做幅度放大同时起到缓冲作用降低信号源的输出阻抗避免接入被测放大器时信号被分压。采样端我们一开始用的是二极管峰值检波AD8031缓冲后来发现小信号的时候二极管压降影响太大干脆换成了运放整流电路配合MSP430的内部ADC做采集。这里有个经验如果主控ADC采样率足够直接采样正弦波形再用软件算幅度也可以但MSP430F149内置ADC的采样率有限对200kHz的正弦信号直接采样会有较大误差所以硬件检波是更稳妥的选择。2.2 扫频方案对比与主控选择扫频信号的产生方式当年主要有三条技术路线很多队伍在这里就开始分流了。第一种是DDS方案也就是ADI的AD9833或者AD9850这类专用芯片。优点是频率精度高、控制方便、波形质量好缺点是需要额外买模块或者自己画DDS电路成本稍高。第二种是PWM滤波器方案用主控定时器产生方波再通过有源低通滤波器变成正弦波。优点是器件少、成本低缺点是频率高了以后波形失真变大幅度平坦度也很难保证必须在软件里做幅频校准。第三种是用主控内置DAC查表输出正弦波比如STM32的DAC但TI杯电赛很多队伍用TI芯片MSP430系列带DAC的型号不多所以这个方案在当时不算主流。我个人建议直接上DDS理由很简单备赛时间本来就紧不要在信号源上给自己找麻烦。AD9833模块十几块钱稳定性好能把更多精力留给数据采集和软件处理。主控的选择上当年我们用的MSP430F149最小系统板。MSP430的优势是低功耗、IO口多片上ADC足够应付低频采样而且有硬件SPI和UART跟AD9833通信非常顺手。如果你熟悉STM32用STM32F103也完全可以毕竟题目没有限定主控品牌只是TI推自家芯片在同等条件下可能会更受评委认可。关键是要用自己最熟的平台评测现场没有时间让你现学。3. 三个核心参数的测量原理与实现细节3.1 幅频特性逐点扫频的正确姿势幅频特性测量是D题的核心也是评分占比最大的部分。测量方法说穿了就是“扫频”让信号源依次输出不同频率的正弦信号测量每个频率点经过放大器后的输出幅度再除以输入幅度就得到该频点的增益。但“逐点扫频”这四个字里藏着很多细节。首先频率点的分布要有讲究。20Hz到200kHz横跨4个数量级如果线性均匀取点低频段点太密、高频段点太稀画出来的曲线在高频段很难看。正确做法是取对数均匀分布比如每个十倍频程取10到20个点这样整个对数坐标下的幅频曲线会非常均匀。其次每个频点的测量要等信号稳定后再采样。信号源改变频率后被测电路里的电容需要一定时间充放电才能进入稳态。我当时在软件里做了个简单的延时处理切换频率后先延时5到10毫秒再进行多轮ADC采样每轮采样8次去掉最大值和最小值后求平均。这样既保证了精度又不会让扫频速度慢到难以接受。最后一点是关于增益的计算方式。如果直接拿输出幅度和输入幅度做除法信号源自身的幅度不平坦会直接带进结果里。正确做法是先做一次“直通校准”不经过被测放大器直接测量信号源在不同频率下的输出幅度存成一张校准表。实际测量时用每一频点的输出幅度除以校准表中对应频点的输入幅度就能把信号源的不平坦消除掉。3.2 输入阻抗和输出阻抗用“加载前后”算输入电阻和输出电阻的测量原理上其实是大一电路课的内容但工程实现上非常容易翻车。测量输入电阻用的是“串接已知电阻求分压”的方法。在信号源输出端和被测放大器输入端之间串联一个已知阻值的精密电阻R_ref。先测一次放大器输入端的电压U_in1此时R_ref被短路再测一次接入R_ref后的放大器输入端电压U_in2根据分压公式就可以算出放大器的输入电阻R_in R_ref × U_in2 / (U_in1 - U_in2)。这里有个关键细节测量U_in1的时候不能让信号源输出幅度变化而且两次测量的频率点要一致。我在软件里做了个“测量序列”状态机按顺序自动完成两次采样并计算避免手动操作引入误差。输出电阻的测量同样是用“加载法”。先测放大器空载时的输出电压U_open再接入一个已知电阻R_load比如1kΩ测带载后的输出电压U_load那么输出电阻R_out R_load × (U_open / U_load - 1)。这两个方法看起来都简单但实际中很多人栽在同一个问题上测量输入电阻时R_ref接入后放大器的工作点被改变了导致测量结果偏差很大。解决办法是在信号源和R_ref之间加一级由运放搭建的电压跟随器确保信号源输出阻抗足够低不会因为串入R_ref而拉低信号源输出幅度。3.3 幅度检波与增益校准说完了测量原理再来聊检波电路。我们最终用的方案是输出信号先经过一级同相放大把幅度抬到ADC采样的最佳范围再经过由运放和二极管组成的精密整流电路把交流变成直流最后经过RC低通滤波送到MSP430的ADC引脚。这个方案比直接二极管峰值检波好的地方在于运放的反馈环路可以抵消二极管的非线性压降小信号时也能保持较好的线性度。但要注意运放的带宽要足够高否则200kHz信号经过整流后幅度会明显衰减。我用的是AD8031这类高速运放带宽几十兆赫兹起步完全够用。检波输出是直流进入ADC之前最好加一级电压跟随器做阻抗隔离然后并联一个小电容0.1μF滤波。软件里再做一次数字平均基本就能得到稳定读数。还有一个容易被忽略的点MSP430的ADC参考电压最好用内部2.5V基准不要用VCC否则电源电压波动会直接反映在测量结果上。4. 实测翻车记录常见问题与排查思路4.1 问题速查表当年我们调试过程中遇到的典型问题我整理成了一张表后面备赛的队伍可以直接对照排查。现象可能原因解决办法高频段增益明显偏低信号源输出阻抗与放大器输入电容形成低通分压加一级低输出阻抗缓冲器做直通校准补偿接上测试仪后放大器自激引线过长或地线形成环路缩短信号线单点接地输入端串200Ω隔离电阻屏幕数据跳动ADC采样未同步采样时刻不在信号稳定区切换频率后增加延时每点多次采样去极值平均输入阻抗测出负值测量顺序不一致放大器工作状态发生变化先测R_ref短路状态再测接入状态保持信号源幅度不变故障类型判断不准阈值设置太绝对器件离散性导致参数漂移用相对变化率判断配合多次测量取统计结果检波输出有纹波RC滤波时间常数太小增大低通滤波电容软件均值滤波窗口加长4.2 调试顺序和现场演示经验调试D题我的建议是严格按照“模块单独调→系统联调→整机跑测试用例”的顺序来。不要一上来就整个系统工装否则出了问题你根本分不清是信号源的问题、被测板的问题还是采样电路的问题排查起来极其痛苦。单独调信号源时把AD9833的输出直接接到示波器上确认20Hz到200kHz全频段幅度稳定、波形无明显失真。单独特调采样电路时用实验室信号发生器输出不同幅度的正弦波验证检波后直流电平与输入幅度是否线性。模块都通了再接入被测板联调。评测现场有两个经验特别值得分享。第一把常见测试用例做成“一键测量”模式按一个键就能连续完成幅频特性扫描和阻抗测量并刷新显示。很多评审老师会在现场随机挑几个频点核对一键测量模式下整个流程只要几秒钟观感会好很多。第二预留一个“手动单点测量”模式方便演示时灵活应对老师的随机提问。这两个模式我们在软件里用按键切换实测下来非常有用。还有一个小细节电源去耦一定要做好。MSP430和AD9833、运放之间全部加0.1μF和10μF去耦电容数字地和模拟地在电源入口处单点相连。这一条没做好噪声会通过地线耦合进采样电路导致显示数据忽大忽小排查起来非常头疼。5. 最后再说点实在的备赛建议D题做下来我最大的体会就是这道题比的不是谁会用某个高端芯片而是谁能在有限时间内把测量过程做得又快又稳。信号源和检波电路都是成熟方案真正拉开差距的是软件架构和调试经验。如果你正在备赛给你几个具体的建议。第一先把直通校准和检波线性度做好再谈其他这是所有参数测量的基础。第二软件里设计好测量状态机每个状态只做一件事切换条件要清晰。第三评测前把完整的测量流程在实测板上跑几十遍确保连续测量不会出现偶发死机或者数据跳变。第四留出时间做故障判断的阈值标定不要指望一组固定阈值能适配所有被测板要多测几块板子用相对变化率做判断逻辑。这套“把测量过程自动化、可靠化”的思路并不仅仅适用于D题。后来的控制题、仪器仪表题很多底层逻辑都是相通的。希望这篇经验帖能帮你少走一些弯路祝备赛顺利。本文还有配套的精品资源点击获取
返回列表