【基于51单片机的电路特性测试仪设计与实现13000字(论文)】_第1页
【基于51单片机的电路特性测试仪设计与实现13000字(论文)】_第2页
【基于51单片机的电路特性测试仪设计与实现13000字(论文)】_第3页
【基于51单片机的电路特性测试仪设计与实现13000字(论文)】_第4页
【基于51单片机的电路特性测试仪设计与实现13000字(论文)】_第5页
已阅读5页,还剩43页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-30-基于51单片机的电路特性测试仪设计与实现摘要集成电路是信息产业发展的基础,其应用十分广泛。为了确保设备的质量,在设计、测试和生产过程中需对集成电路进行反复的验证。在实用性与经济性下设计并制作一套基于51单片机的电路特性测试仪用来测量三级管放大电路的特性,实现电压放大倍数、信号频率、输入电阻和输出电阻的测量四个功能,本人负责测量输入电阻与输出电阻功能实现。本套设计由AD637有效值检测器模块、AD0809模块、电平转换电路、51单片机与OLED显示屏组成,其被测电路是三极管放大电路,在输入信号端有一个运放电路用来放大被测电路的输入信号。在Keil硬件开发平台用C语言编写源程序,再将程序文件利用stc-isp软件输入到51单片机,其代码是对程序初始化后通过A/D转换器接收Us、Ui、Uo、Ul的数字信号,将读取的数据利用公式计算输入电阻和输出电阻。本套装置的输入电阻与输出电阻功能部分是通过AD637有效值检测器将被测电路的交流电转化成为稳定的交流有效值即直流,然后通过AD0809模块将直流模拟信号转换为数字信号传入51单片机,通过接收的数据利用单片机计算输入电阻和输出电阻,最后用OLED显示数值。本套系统最后实现的功能有被测信号波形为正弦波,显示屏可实时显示输入电阻与输出电阻值,测试仪显示的输入电阻和输出电阻相对误差≤20%,本套测试仪的显示屏显示的输出电阻与输入电阻与实际测量值的相对误差≤20%,但当频率过小其无法达到要求。关键词:电路特性测试;输入输出电阻测量;AD0809;单片机目录摘要………………………I1绪论………………………11.1题目的研究背景和意义………11.2国内外研究现状………………11.2.1单片机国内外发展现状…………11.2.2电路测试仪国内外发展现状……………………21.3论文结构………………………32硬件电路…………………42.1系统硬件框架…………………42.2AD637模块……………………52.3AD0809模块……………………62.4单片机与OLED简介………82.5被测电路及运放电路简介…………………92.6本章小结……………………93代码实现……………113.10809模块实现………………113.2输入电阻测量的实现………123.3输出电阻测量的实现………133.4本章小结……………………144整体测试………………154.1测试方案……………………154.2测试数据……………………154.2.1输入电阻测试…………………154.2.2输出电阻测试…………………214.3本章小结……………………265总结与展望…………275.1开发总结……………………275.2展望…………27参考文献………………28附录……………………311绪论1.1题目的研究背景和意义集成电路测试仪始于1965年,从单管脚的参数测试到如今超大规模、高速率的测试经过了很多代的发展。我国在这方面,从上世纪90年代末以后,逐渐转向了以市场为导向的产品研发和生产。到了本世纪初我国的集成电路市场迅速成长,伴随着的测试产业需求也在增大。2018年因对美国芯片依赖度过高而出现的“中兴事件”与2020年对华为的打压都显示出我国未来在集成电路产业应寻求独立自主的道路,这对国家具有重大意义[1]。集成电路是信息产业发展的基础,集成电路在人们日常所使用的电子设备中十分广泛。而且在日常电子设备,集成电路市场以中低端消费为主力军,只有经济实惠的产品才能满足人们的日常需求,因此这类中低档产品在测试过程与维修中所采用的方法应要满足低成本这一要求[2]。本次实现的基于51单片机的电路特性测试仪具有操作方便、修理简单、低成本、体积小等优势[4],测试时输入电阻、输出电阻等参数都可在显示屏上直接显示。本套设计需要实现的技术指标如下:1.被测信号波形为正弦波,频率为100Hz-2KHz左右;2.测试仪显示的电阻相对误差≤20%;1.2国内外研究现状1.2.1单片机国内外发展现状微处理器于1970年问世,在微处理器基础上发展的“4004”是Intel(英特尔)公司在1971年研制出的首款雏形单片机,不久后8位的8008雏形又被研制出[5]。1976年其公司推出的MCS-48系列单片微型计算机,为单片机的发展奠定了基础,成为单片机发展进程中的一个重要阶段,其优点有体积小、功能齐全、价格低廉等[6]。到了80年代初,像英特尔公司的MCS-51系列、Motorola公司的6801和6802等系列单片机,都表明单片机在那时已经发展到了高性能阶段。此外,日本的NEC和日立(HITACHI)两家著名电气企业都接踵研制了具有其本身特点的专用单片机。目前32位单片机的应用也相当广泛,主要有ARMCortex-M内核的32位微控制器STM32系列。该系列包含STM32F101基本型系列、STM32F103增强型系、STM32F105、STM32F107互联型等。其中STM32F103增强型系列时钟频率达到72MHz,实际使用时可以超频,对比同类产品是性能最高的产品。近年来的STM32WB在无线通信和电源管理方面较之前得更为突出,实现了更低的BOM成本和为用户带去优质体验。最新的STM32系列中STM32WL是可无线连接的,超低耗能和单颗芯片支持的特点实现了降低成本和简化开发流程的优点。所有产品都可支持无线处理器上的各种功能[7]。中国单片机的发展始于1982年,开始的标志事件是第一次中国单片机学术交流会[8],于1986年在上海复旦大学举行。在单片机发展过程中,嵌入式单片机不断更新,其性能不断增长,功能也越来越强大。随着发展迅速,目前我国单片机技术的应用已经渗透到各个领域,如:智能仪器领域、交通领域、智能家居领域、工业自动化领域等[5]。这些应用改变了我们的生活方式,进而逐步提高了我们的生活质量。还有一些领域则促进了人类的进步,使得文明也在不断传承与进步。与国外相比,中国的单片机市场还无法在高端技术的市场上占领一席之地,其技术的发展还有很长的一段路需要走[9]。尽管近年来中国在单片机的应用发展迅速且市场极大,但由于其技术难度和相关从业人员的缺失使得中国单片机的高端技术无法快速全面地突破[10]。近年来,中国单片机市场的需求依旧是供不应求,但其技术的限制导致国内单片机市场无法比国外的产品市场更具低成本一直保留到现在。其价格优势使得中国的单片机市场无法大面积被国内厂商占据。1.2.2电路测试仪国内外发展现状集成电路测试仪始于1965年,当时仅能测量的是IC外部管脚的直流参数。到第四代时,其可测管脚数已高达256个,功能测试图形深度可达256K以上,且其速率高达100MHz。目前世界先进的测试设备技术多数都掌握在美国、日本等专业且有多年丰富集成电路测试设备生产经验的公司手中,如安捷伦公司、泰瑞达公司、爱德万测试公司等。以爱德万的T2000SOC集成电路测试系统为例,此测试系统的测试模块包括数字测试模块、电源测试模块和模拟测试模块。被测集成电路的输入信号通过测试程序控制产生,测试程序对被测电路的输出信号进行检测,从而完成被测集成电路的参数测量。它具有测试系统集成度高、测试能力强大、灵活配置和使用寿命周期长等优点[11]。泰瑞达公司J750测试系统在中国市场被认为是可靠的测试系统[12],目前该系列测试系统中的J750Ex-HD系列,在测试方面已经大大降低成本。测试环境的温度最高可达160℃,添加配件还可以进行音频测试、信号测试和特性分析测试等[13][14]。八十年代初,我国对集成电路测试系统的研发才正式起步,那个年代主要沿用国家科技攻关的形式来研究测试系统。从上世纪90年代末以后,国内的工作重点转向了以市场为导向的产品研发和生产[15]。国产集成电路测试在我国经济发展的大环境下不断发展,但与国际相比其水平仍有差距。值得一提的是,不久前清华大学成立了集成电路学院,这为中国集成电路的科学研究与高层次人才培养加快发展,让高校培养与科研集成电路人才得到重视与更多机会。市场上各种型号国产测试仪,只有少数采用计算机辅助测试,主要是中小规模占大头,达80%。目前,国内研制集成电路测试系统的研究所与厂商主要有北京无线电仪器厂、上海华岭、广东利扬芯片、杭州长川科技等。以北京无线电仪器厂BJ3140为例,北京无线电仪器厂最新的集成电路测试仪是BJ3140数模混合集成电路测试系统,该测试系统可测试模拟集成电路、数字集成电路及数模混合集成电路。元件检测设备技术的便携式集成电路测试仪,欧时(RS)公司的DCA55系列PEAK的元件测试仪一台在中国销售在600多元以上。国内市场的公司绝大多数都是代理国外产品。其便携式集成电路测试仪当下有国人申请专利,但其产品也并未在市场流通。1.3论文结构论文整体分为三部分,第一部分为综述,第二部分是详细介绍本套测试仪,最后一部分是总结。第一部分是第一章,用单片机与电路测试仪的国内外研究的现状表达本课题的研究前景,通过对集成电路和测试仪的市场调研分析本课题的研究背景和意义。第二部分有三章,分为硬件电路、代码实现和整体测试。通过三章详细介绍本套测试仪的设计及其实现。硬件电路部分介绍整套测试仪的系统结构及其各部分的电路原理;代码实现部分主要介绍各部分功能实现的程序代码;整体测试是介绍整体功能实现的结果。最后一部分是对整套测试仪的总结,总结其性能及其功能,表明其可改善的进一步的研究。

2硬件电路2.1系统硬件框架此套基于51单片机的电路特性测试仪,由AD637有效值检测器模块、AD0809模块、电平转换电路、51单片机与OLED显示屏组成,其系统框架如图2-1所示。可实现对三级管放大电路的电压放大倍数、信号频率、输入电阻和输出电阻的测量,本人负责实现测量放大电路的输入电阻与输出电阻两个功能。图2-1系统框架图A.三极管放大电路:电压放大电路器件,在本系统中为被测电路,经过三极管放大后的输出信号能有效转变为负载上的输出电压信号。B.AD637模块:有效值检测器,将输入的交流信号转换为交流有效值(直流)。C.AD0809模块:将AD637模块输出的有效值信号转换为数字信号,使单片机能够识别。D.电平转换电路:将输入的正弦信号转变为单片机可以识别的方波信号,使单片机可以测量信号的频率。E.51单片机:接收各类数字信号,然后计算输入电阻和输出电阻。F.OLED显示:显示放大电路的输入电阻与输出电阻数值。设计的电路特性测试仪输入电阻与输出电阻功能部分是通过AD637有效值检测器将被测电路输入的交流电转换为稳定的交流有效值(即直流),然后通过AD0809模块将直流模拟信号转换为单片机能够识别的数字信号传入51单片机,计算输入电阻和输出电阻,最终将结果送入OLED显示屏,在屏幕上显示输入电阻和输出电阻。2.2AD637模块AD637为有效值检测器,其目的是将输入的交流电转换为稳定的交流有效值(即直流)。它的带宽较宽,当有效值为1V时其-3dB可达8MHz[16],满足高精度要求,提高系统的效率。但其缺点是当被测信号远小于1V时,误差较大[17],其电路原理图如图2-2所示。本系统直接使用AD637有效值检测模块,其模块功能如图2-3所示。其RMS输出口直接输出有效值,RMS电压输出口为滤波后输出有效值,偏置电阻调节可将直流成分消除,外部校准电压调节可对高频重新校准输出幅值。图2-2AD637原理图图2-3AD637模块功能图2.3AD0809模块AD0809模块其主要目的是将AD637模块输出的直流信号转换为数字信号,使系统中的51单片机能够识别。因为被测电路的信号为模拟信号,而51单片机的CPU只处理数字信号,若要用单片机计算输入电阻和输出电阻,则应先将被测的三极管放大电路输入的模拟信号转为数字信号,接着传入51单片机才可处理。图2-4ADC0809引脚图图2-4为AD0809芯片的引脚示意图,其中23、24和25管脚对应CBA通道,因为AD0809的内部没有时钟电路,因此需单片机提供所需的时钟信号,其10号管脚CLK为时钟信号端口。IN7~IN0的八个端口是模拟信号的输入端,D7~D0八个端口是数字信号输出端。其对应的管脚口接入至51单片机的管脚口,其功能如表2-1所示。为方便其电路的连接,使用0809电路板,可直接将芯片插入底槽口与51单片机连接。表2-1ADC0809功能表针脚号针脚定义功能描述1,2,3,4,5,26,27,28IN7~IN0模拟量输入通道6START(ST)转换启动信号端口7EOC转换结束信号端口8,14,15,17,18,19,20,21D7~D0数据输出线9OE输出允许信号端口10CLOCK时钟信号端口11Vcc+5V电源12REF(+)参考电源参考电压端口13GND接地端口16REF(-)参考电源参考电压端口22ALE地址锁存允许信号端口23,24,25C,B,A地址线端口51单片机与AD0809直接相连,其中,CBA通道与单片机的P1.7、P1.6和P1.5连接;其转换启动信号START(ST)端与单片机的P2.2连接;输出允许信号OE端单片机的P2.0连接;CLK时钟信号端与P2.4端口连接;判断信号是否转换完成的EOC信号端[18][19]与P2.1端口连接;D0~D7的数字输出端与单片机的P0端相接。其与单片机的连接示意图如图2-5所示。图2-5AD0809与单片机连接示意图2.4单片机与OLED简介单片机用于完成对数字信号的计数,与AD0809模块相连。其接收完成输入电阻、输入电压、输出电压和频率的数字信号的计数,然后计算输入电阻和输出电阻。图2-6为51单片机芯片引脚图。其中,1~8号管脚为I/O接口,可以接收地址信号,9号管脚为复位输入端口,18与19号管脚为反向放大器的输入与输出,20与40管脚分别接地与供电,21~28号管脚也为I/O接口可以接收地址信号和控制信号,32~39管脚也为可用于外部数据的储存[20]。图2-651单片机芯片引脚图OLED显示屏可实时显示输入电阻与输出电阻的数据,51单片机和其显示屏的电路连接示意图如图2-7所示。CS端口为OLED的片选信号,RST端口用来复位,DC端为命令与数据控制的端口,SCL为时钟线端口,SDA(SDIN)为数据总线,GND管脚接地,VCC管脚接电源。图2-7OLED与单片机连接示意图2.5被测电路及运放电路简介如图2-8所示的被测电路是一个三极管连接的放大电路,CD4051为控制开关,输出电阻的计算需要测量不接Rl时的Uo,CD4051的4号管脚与输出端连接,可用程序代码控制。其输入电阻可根据定义由Us与Ui算出,输出电阻由Ul和不接Rl时的Uo计算得出,Rs的电阻值为1KΩ,Rl的电阻值为1KΩ。输入电阻的公式为Ri=Ui/(Us−Ui)Rs(1)输出电阻的公式为Ro=(Uo/Ul−1)Rl(2)图2-8被测电路如图2-9所示的运放电路是同向比例运算电路,由集成运放芯片OP07与电阻连接而成,其目的是放大被测电路的输入信号。本设计中的运放电路用来放大其电压信号,因其输入端的电压值过小影响后期计算使其误差较大。图2-9运放电路2.6本章小结此测试仪由AD637有效值检测器模块、AD0809模块、电平转换电路、51单片机与OLED显示屏组成。本人负责测量输入电阻与输出电阻功能实现。本章介绍整套测试仪的系统结构及其各部分的电路原理,介绍了整套设计的硬件模块组成及其各模块的功能、被测电路与运放电路及实现测量的电阻公式。

3代码实现本系统的软件流程如图3-1所示,最初输入被测信号,对程序初始化后通过A/D转换器接收Us、Ui、Uo、Ul的数字信号,将读取的数据用以计算输入电阻和输出电阻。最终将结果送入OLED显示屏,在屏幕上显示数值。图3-1程序流程图本课题使用的开发语言为C语言,是一种抽象、面向过程的开发语言。其代码执行效率高,能用简洁的语言编译处理问题。本套设计使用的硬件开发平台为Keil,是51系列兼容单片机C语言的计算机软件开发系统。在Keil开发平台进行编程,将汇编的源文件编译,最后在stc-isp单片机下载编程烧录软件中将代码导入51单片机进行调试与使用。3.10809模块实现AD0809实现流程是先进行延时再初始化系统,然后进行A/D转换读取AD0809的数据,流程如图3-2所示。图3-2AD0809模块流程图对AD0809进行初始化是将启动信号ST与输出允许信号OE全部初始化为低电平,初始化的关键代码如图3-3所示。然后读取AD0809中的数据,转换完成的标志是EOC是为高电平,在读取完AD0809数据后,其数据最终转换成51单片机能够识别的数字信号,其关键代码如图3-4所示。图3-3初始化代码图3-4读取AD0809数据代码3.2输入电阻测量的实现输入电阻测量流程是首先测量被测电路的信号源电压Us,再测量输入电压Ui,接着在程序中用上文介绍的公式(1)计算输入电阻Ri的大小,最终用OLED显示屏显示出数值,其流程图如图3-5。图3-5输入电阻显示流程图读取Us和Ui的关键代码如图3-6所示,读取完Us与Ui的数据后用公式计算出输入电阻Ri并显示的代码如图3-7所示。图3-6信号源电压与输入电压代码图3-7输入电阻实现代码3.3输出电阻测量的实现本套基于51单片机的电路特性测试仪的输入电阻测量流程图如图3-8所示,首先测量被测电路输出端断开Rl电阻时的输出电压Uo,然后测量负载电压Ul,在程序中通过上文介绍的公式(2)计算输出电阻Ro的大小,最终用OLED显示屏显示出数值。图3-8输出电阻显示流程图测量Ul和断开Rl的Uo的控制代码如图3-9所示,读取Uo和Ul的关键代码如图3-10所示,读取完Uo与Ul的数据后用公式计算出输出电阻Ro并显示的代码如图3-11所示。图3-9测量负载电压和输出电阻代码图3-10输出电压与负载电压实现代码图3-11输出电阻实现代码3.4本章小结本系统的软件流程是对程序初始化后通过A/D转换器接收Us、Ui、Uo、Ul的数字信号,将读取的数据用以计算输入电阻和输出电阻。最终将结果送入OLED显示屏,在屏幕上显示数值。本章主要介绍AD0809模块、输入电阻测量和输出电阻测量三个功能实现的流程与程序代码。

4整体测试4.1测试方案本套测试仪本人主要测量被测电路的输入电阻和输出电阻,输入部分需要对信号源信号、输入信号进行示波器与万用表测量查看各模块是否能正确实现,输出部分则是对输出信号进行查看与分析。1、输入电阻测试:连接信号源,观察示波器信号波形与万用表显示数值,查看OLED显示结果与计算结果是否相同。2、输出电阻测试:连接信号源,观察示波器信号波形与万用表显示数值,查看OLED显示结果与计算结果是否相同。4.2测试数据4.2.1输入电阻测试输入端的信号测试:1、信号频率:1KHz信号源输入1KHz的频率,对示波器显示的波形进行观察。图4-1与4-2为信号源信号和输入信号显示的正弦波,图4-3与4-4为放大后显示的信号源信号与输入信号显示的正弦波。放大前的信号源峰峰值为384.0mV,输入信号峰峰值为152.0mV;放大后的信号源峰峰值为4.04V,输入信号峰峰值为1.46V;放大前后的峰峰值比例保持相似具有意义,其值如表4-1所示。信号能完整显示正弦波表明其被测电路与各输入端各部分连接完整,可实现测量。图4-1信号源信号图4-2输入信号图4-3放大后的信号源信号图4-4放大后的输入信号表4-11KHz输入端信号峰峰值测量电压信号源电压输入电压放大前384.0mV152.0mV放大后4.04V1.46V用万用表测量信号源电压Us与输入电压Ui,其结果如图4-5与4-6所示。图4-5实际测量结果Us4-6实际测量结果Ui显示屏显示的信号源电压Us与输入电压Ui,如图4-7与4-8。显示屏显示的Us、Ui和实际测量的Us、Ui在数值上不是相等的,但其Us与Ui比值应相当,其结果如表4-2所示。如表所示其比值出入不大,大体相等,则信号源电压与输入电压测量读取成功。图4-7显示的信号源电压4-8显示的输入电压表4-2输入端电压测量数据结果测量电压实际测量结果显示结果Us1.510V138Ui0.523V49Us/Ui2.892.81显示屏显示的最终输入电阻如图4-9所示,根据测量结果和公式得出实际结果对比如表4-3所示。其误差值为3.79%,满足其显示的电阻相对误差≤20%。图4-9显示的输入电阻表4-3输入电阻结果结果实际测量结果显示结果误差值Ri529.9Ω550Ω3.79%2、信号频率:2KHz信号源输入2KHz的频率,对示波器显示的波形进行观察。图4-10与4-11为信号源信号和输入信号显示的正弦波,图4-12与4-13为放大后显示的信号源信号与输入信号显示的正弦波。放大前的信号源峰峰值为376.0mV,输入信号峰峰值为122.4mV;放大后的信号源峰峰值为3.36V,输入信号峰峰值为1.42V;放大前后的峰峰值比例保持相似具有意义,其值如表4-4所示。信号能完整显示正弦波表明其被测电路与各输入端各部分连接完整,可实现测量。图4-10信号源信号图4-11输入信号图4-12放大后的信号源信号图4-13放大后的输入信号表4-42KHz输入端信号峰峰值测量电压信号源电压输入电压放大前376.0mV122.4mV放大后3.36V1.42V用万用表测量信号源电压Us与输入电压Ui,其结果如图4-14与4-15所示。图4-14实际测量结果Us4-15实际测量结果Ui显示屏显示的信号源电压Us与输入电压Ui,如图4-16与4-17所示。显示屏显示的Us、Ui和实际测量的Us、Ui在数值上不是相等的,但其Us与Ui比值应相当,其结果如表4-5所示。如表所示其比值误差为2.16%,在合理范围内,其2KHz的信号源电压与输入电压测量读取成功。图4-16显示的信号源电压4-17显示的输入电压表4-5输入端电压测量数据结果测量电压实际测量结果显示结果Us1.39V122Ui0.50V43Us/Ui2.782.84显示屏显示的最终输入电阻如图4-18所示,根据测量结果和公式得出实际结果对比如表4-6所示。其误差值为3.88%,满足其显示的电阻相对误差≤20%。图4-18显示的输入电阻表4-6输入电阻结果结果实际测量结果显示结果误差值Ri561.8Ω540Ω3.88%3、信号频率:100Hz信号源输入100Hz的频率,对示波器显示的波形进行观察。图4-19与4-20为信号源信号和输入信号显示的正弦波,图4-21与4-22为放大后显示的信号源信号与输入信号显示的正弦波。放大前的信号源峰峰值为356.0mV,输入信号峰峰值为216.0mV;放大后的信号源峰峰值为3.36V,输入信号峰峰值为2.18V;放大前后的峰峰值比例保持相似具有意义,其值如表4-4所示。信号能完整显示正弦波表明其被测电路与各输入端各部分连接完整,可实现测量。图4-19信号源信号图4-20输入信号图4-21放大后的信号源信号图4-22放大后的输入信号表4-7100Hz输入端信号峰峰值测量电压信号源电压输入电压放大前356.0mV216.0mV放大后3.60V2.18V用万用表测量信号源电压Us与输入电压Ui,其结果如图4-23与4-24所示。图4-23实际测量结果Us4-24实际测量结果Ui显示屏显示的信号源电压Us与输入电压Ui,如图4-25与4-26所示。显示屏显示的Us、Ui和实际测量的Us、Ui在数值上不是相等的,但其Us与Ui比值应相当,其结果如表4-8所示。如表所示其比值出入不大,大体相等,则信号源电压与输入电压测量读取成功。图4-25显示的信号源电压4-26显示的输入电压表4-8输入端电压测量数据结果测量电压实际测量结果显示结果Us1.51V135Ui0.85V79Us/Ui1.781.71显示屏显示的最终输入电阻如图4-27所示,根据测量结果和公式得出实际结果对比如表4-9所示。其误差值为68.2%,其相对误差≥20%,无法得到正确的具体原因可能是被测电路本身的电容也有电阻,在信号源频率越小的情况下,其误差值越大。根据其结果可得,其信号源频率过小时,本套系统无法正确测得输入电阻值。图4-27显示的输入电阻表4-9输入电阻结果结果实际测量结果显示结果误差值Ri1287.9Ω410Ω68.2%4.2.2输出电阻测试输出端的信号测试:1、信号频率:1KHz测量输出端信号,对示波器显示的输出端信号波形进行观察。图4-28与4-29为输出端的输出信号与负载信号的波形,由于有外界干扰的存在,输出信号波形有些畸变;输出端的输出信号峰峰值为1.76V,负载信号的峰峰值为1.04V,其值如表4-10所示。其信号能大致显示正弦波表明其被测电路与各输出端各部分连接完整,可实现测量。图4-28输出信号图4-29输出端的负载信号表4-10输出端信号峰峰值测量电压输出电压负载电压峰峰值1.76V1.04V用万用表测量信号源电压Uo与输入电压Ul,其结果如图4-30与4-31所示。图4-30实际测量结果Uo图4-31实际测量结果Ul显示屏显示的输出电压Uo与负载电压Ul,如图4-32与4-33所示。显示屏显示的Uo、Ul和实际测量的Uo、Ul在数值上不是相等的,但其Uo与Ul比值应相当,其结果如表4-11所示。如表所示其比值误差为13.37%,符合20%以内误差,输出电压与负载电压测量读取成功。图4-32显示的输出电压4-33显示的负载电压表4-11输出端电压测量数据结果测量电压实际测量结果显示结果Uo0.628V53Ul0.399V39Uo/Ul1.571.36显示屏显示的最终输入电阻如图4-34所示,根据测量结果和公式得出实际结果对比如表4-12所示。其误差值为4.16%,满足其显示的电阻相对误差≤20%。图4-34显示的输出电阻表4-12输出电阻结果结果实际测量结果显示结果误差值Ri573.9Ω550Ω4.16%2、信号频率:2KHz测量输出端信号,对示波器显示的输出端信号波形进行观察。图4-35与4-36为输出端的输出信号与负载信号的波形,由于有外界干扰的存在,输出信号波形有些畸变;输出端的输出信号峰峰值为2.02V,负载信号的峰峰值为1.22V,其值如表4-13所示。其信号能大致显示正弦波,表明其被测电路与各输出端各部分连接完整,可实现测量。图4-35输出信号图4-36输出端的负载信号表4-13输出端信号峰峰值测量电压输出电压负载电压峰峰值2.02V1.22V用万用表测量信号源电压Uo与输入电压Ul,其结果如图4-37与4-38所示。图4-37实际测量结果Uo图4-38实际测量结果Ul显示屏显示的输出电压Uo与负载电压Ul,如图4-39与4-40所示。显示屏显示的Uo、Ul和实际测量的Uo、Ul在数值上不是相等的,但其Uo与Ul比值应相当,其结果如表4-14所示。如表所示其比值误差为20.5%,比值在误差极限范围但大致可用,输出电压与负载电压测量读取成功。图4-39显示的输出电压4-40显示的负载电压表4-14输出端电压测量数据结果测量电压实际测量结果显示结果Uo0.68V58Ul0.40V43Uo/Ul1.701.35显示屏显示的最终输入电阻如图4-41所示,根据测量结果和公式得出实际结果对比如表4-15所示。其误差值为20.0%,满足其显示的电阻相对误差≤20%。图4-41显示的输出电阻表4-15输出电阻结果结果实际测量结果显示结果误差值Ri700Ω560Ω20.0%3、信号频率:100Hz测量输出端信号,对示波器显示的输出端信号波形进行观察。图4-42与4-43为输出端的输出信号与负载信号的波形,由于有外界干扰的存在,输出信号波形有些畸变;输出端的输出信号峰峰值为960.0mV,负载信号的峰峰值为536.0mV,其值如表4-16所示。其信号能大致显示正弦波表明其被测电路与各输出端各部分连接完整,可实现测量。图4-42输出信号图4-43输出端的负载信号表4-16输出端信号峰峰值测量电压输出电压负载电压峰峰值960.0mV536.0mV用万用表测量信号源电压Uo与输入电压Ul,其结果如图4-44与4-45所示。图4-44实际测量结果Uo图4-45实际测量结果Ul显示屏显示的输出电压Uo与负载电压Ul,如图4-46与4-47所示。显示屏显示的Uo、Ul和实际测量的Uo、Ul在数值上不是相等的,但其Uo与Ul比值应相当,其结果如表4-17所示。如表所示其比值误差为34.27%,比值相差较大,其结果可能不符合其预测。图4-46显示的输出电压4-47显示的负载电压表4-17输出端电压测量数据结果测量电压实际测量结果显示结果Uo0.32V27Ul0.18V23Uo/Ul1.781.17显示屏显示的最终输入电阻如图4-48所示,根据测量结果和公式得出实际结果对比如表4-18所示。其误差值为47.29%,其相对误差≥20%,无法得到正确的具体原因可能是被测电路本身的电容也有电阻,根据其与其它频率的峰峰值对比也可看出其电压值比其它频率的电压值小,在信号源频率越小的情况下,其误差值越大。与根据其结果可得,其信号源频率过小时,本套系统无法正确测得输出电阻值。图4-48显示的输出电阻表4-18输出电阻结果结果实际测量结果显示结果误差值Ri777.8Ω410Ω47.29%4.3本章小结本套测试仪本人主要测量被测电路的输入电阻和输出电阻,输入电阻测试与输出电阻测试都需连接信号源,观察示波器信号波形与万用表显示数值,查看OLED显示结果与计算结果是否相同,进行查看与分析。测试方案一共测量3种频率下的结果,分别是1KHz、2KHz和100Hz。1KHz输入电阻的误差值为3.79%,输出电阻误差值为4.16%,满足其显示的电阻相对误差≤20%;2KHz输入电阻的误差值为3.88%,输出电阻误差值为20.0%,满足其显示的电阻相对误差≤20%;100Hz输入电阻的误差值为68.2%,输出电阻误差值为误差值为47.29%,其相对误差≥20%。综上,本套系统在100Hz频率下无法正确测得输入电阻与输出电阻值,1KHz和2KHz频率下其输入电阻与输出电阻值的相对误差≤20%。

5总结与展望本套设计由三极管放大电路、AD637有效值检测器模块、AD0809模块、电平转换电路、51单片机与OLED显示屏组成。在Keil硬件开发平台用C语言编写源程序,再将程序文件利用stc-isp软件输入到单片机中实现功能。本套测试仪设计历时5个月,期间遇到了不少难点,正是对这些问难题的处理促进了本人的对测试仪的了解和学习。在学习理论知识的前提下,也增加了动手实践的机会,提高自己对AD637与AD0809简易模块的使用、51单片机的编程和开发能力,运放电路和DA电路设计、连接、焊接和调试能力。5.1开发总结本课题的设计在制作并调试过程中的难点有测试仪各模块连接、AD0809模块能否正常将模拟信号转为数字信号、AD637能否将交流电转换为直流电与OLED屏能否正常显示数字和字符与软件代码编写等难点。该系统的最后实现的功能:1.被测信号波形为正弦波,频率为100-2khz左右;2.测试仪显示的电阻相对误差≤20%,被测信号的频率在1Khz和2Khz下其输出电阻与输入电阻的相对误差≤20%,当频率过小(本测试中频率为100hz),其无法达到要求;3.51单片机可接受信号源电压、输入电压、输出电压、负载电压和频率的数字信号的计数;4.通过公式可计算输入电阻和输出电阻。5.显示屏可实时显示输入电阻与输出电阻值。5.2展望本套设计基本达成任务书上的要求,但依旧存在不足,其存在的改进点有:1.本套系统能够达到的频率较低,不能测量大频率范围的电路特性,后期可对系统进行改进。2.显示部分的初始化速度并未达到最佳,系统稳定时间较长,可进行改进。3.其输出端的输出电压与负载电压比值与实际测量误差较大,可进行改进。4.本套设计中,当被测信号频率过小时,无法正确显示输入电阻值与输出电阻值,后期可继续对系统进行提升。5.其电路特性的测量最终目的是检测出电路的问题,为其调整与维修提供便利。但本套设计只针对其数值测量并无后续指出其具体问题,可继续对系统提升。

参考文献[1]方欣.集成电路产业发展:现状、制约因素与促进政策[J].中国集体经济,2021(11):161-162.[2]窦玥.我国集成电路测试技术现状及发展策略[J].中国新通信,2016,18(17):116.[3]黄瀚霄.关于三极管放大电路的研究综述[J].电子世界,2020(13):50-51.[4]杜春雨,周统,苏鹏.一种特定放大电路特性测试仪的设计[J].南方农机,2019,50(19):30-31.[5]刘萍,王江明.单片机技术在智能家居中的应用与发展[J].科技创新与应用,2020,18(25):183-184.[6]吴奕瑶,靳志颖.浅谈51单片机的应用与发展[J].科学大众(科学教育),2019(12):138.[7]作者不详.无线MCU系列的又一力作——STM32WL,专注LoRa长距离通信[J].世界电子元器件,2021(02):27-28.[8]芦潇静.为了忘却的纪念——纪念中国单片机学会诞生30周年[J].单片机与嵌入式系统应用,2017,17(01):3-4.[9]梁爽.市场经营环境下单片机的现实应用与未来发展[J].数字通信世界,2020(07):194-196.[10]梅佳进.当前单片机技术应用的发展现状分析[J].轻工科技,2021,37(04):99-100+141.[11]叶雷.爱德万测试V93000和T2000[J].电子产品世界,2015,22(10):77.[12]黄友庚.泰瑞达:为客户提供高质量、低成本的测试解决方案——访泰瑞达半导体测试大中华区总经理曾浩耕[J].中国集成电路,2011,20(03):20-21.[13]作者不详.J750Ex-HD:MCU测试解决方案[EB/OL]./products/j750ex-hd-%e7%b3%bb%e5%88%97/,2017-03-20/2020-04-20.[14]陈昆,刘丹.集成电路测试技术研究[J].电子元器件与信息技术,2020,4(08):12-14.[15]邢玉美.简易电路特性测试仪[D].天津职业技术师范大学,2020:1-5+9-11+28-30.[16]史非凡,袁根,李杰.基于STM32F103主控芯片的电路特性测试方法[J].电子技术,2020,49(06):8-9.[17]乐珺,姚恩涛,张明伟,曹吉康.基于AD637的直流电源纹波真有效值测量电路设计[J].电源技术,2014,38(10):1926-1929.[18]温照方,姜明.A/D转换器与DSP接口实验[J].实验技术与管理,2012,29(04):301-302+305.[19]ADC0808/ADC08098-BitμPCompatibleA/DConverterswith8-ChannelMultiplexer[M].NationalSemiconductorCorporation.July8,2009.[20]任青莲,陶珑,郭燕飞,陈东良.一种基于STM32单片机的放大电路特性测试仪[J].机械工程与自动化,2021(02):128-130.

附录实现整套设计的主程序:#include"REG51.h"#include"oled.h"#include"bmp.h"#include<AD0809.h>u8num1,n;//无符号8位charlonga;u32vi,vs,vo,vl,Av;longRi,Ro;u32read()//计算寄存器TO的值 16位寄存器{ u8tl0,th0,th01; u32va; while(1) { th0=TH0;//高八位寄存器,赋值 tl0=TL0;//低八位 th01=TH0; if(th0==th01)//保证th0=tho1 break; } va=th0*256+tl0;//计算va returnva;//va频率}voidinit_interrupt()//中断和计数初始化{ TMOD=0x15;//00010101,TMOD寄存器,T1用于定时(确定1s时间),T0用于计数 TH0=0;//初始化 TL0=0; TR0=1;//启动T0 TH1=(65536-45872)/256;//装初值11.0592M晶振,定时50ms数为45872 TL1=(65536-45872)%256; EA=1;//开总中断 ET1=1;//开定时器1中断 TR1=1;//启动定时器1}voidmain(){ //InitLed();InitAD0809();//初始化AD0809 init_interrupt();//中断和计数初始化 OLED_Init(); //初始化OLED OLED_Clear();//清屏 while(1)//程序停止在这里等待中断发生 { //信号源电压 Us(); vs=ReadAD0809();//读AD0809中的数据 Delay(200); OLED_ShowNum(16,0,vs,4,16); OLED_ShowString(0,0,"us="); //输入电压 Ui(); vi=ReadAD0809();//读AD0809中的数据 Delay(200); OLED_ShowNum(16,2,vi,4,16); OLED_ShowString(0,2,"ui="); //输入电阻 Ri=100*vi/(vs-vi)*10; OLED_ShowNum(16,4,Ri,4,16); OLED_ShowString(0,4,"Ri="); Delay(1000); //输出Uo(); vo=ReadAD0809(); Delay(200); OLED_ShowNum(76,0,vo,4,16); OLED_ShowString(60,0,"uo="); Delay(1000); //负载Ul(); vl=ReadAD0809(); Delay(200); OLED_ShowNum(76,2,vl,4,16); OLED_ShowString(60,2,"ul="); //输出电阻 Ro=(100*vo/vl-100)*10; Delay(200); OLED_ShowNum(76,4,Ri,4,16); OLED_ShowString(60,4,"Ro="); //放大倍数 Av=10*vo/vi; Delay(200); OLED_ShowNum(78,6,Av,6,16); OLED_ShowString(70,6,"Av="); TH0=0; TL0=0; Delay(279); TR0=0; a=read();//频率读值显示 Delay(279); TR0=1; Delay(279); OLED_ShowNum(16,6,a,4,16); OLED_ShowString(0,6,"f="); OLED_ShowString(48,6,"hz"); } }voidT1_time()interrupt3{ TH1=(65536-8)/256; TL1=(65536-8)%256; CLK=!CLK; }控制AD0809功能的主程序:#include<reg51.h>#include<intrins.h>#include<AD0809.h>sbitol=P2^6;//控制三极管放大电路输出部分的开和关voidDelay(uintm)//延时{ uinti,j; for(i=0;i<m;i++) for(j=0;j<150;j++);}//初始化AD0809voidInitAD0809(void){ ST=0; OE=0;}//读AD0809中的数据--电压ucharReadAD0809(void){ //EOC=0; OE=0; ST=0; _nop_(); ST=1;//上升沿AD0809内部的寄存器清零 _nop_(); ST=0;//产生一个至少100ns的脉冲,在转换期间ST为低 while(!EOC) { } OE=1; returnP0;//P0管脚,8选一,测电压,共4次;8输入,1输出}voidUs(void) { A2=0; A1=0; A0=0;}voidUi(void) { A2=0; A1=0; A0=1;}voidUl(void) { A2=0; A1=1; A0=0; ol=1;//开关闭合}voidUo(void) { A2=0; A1=1; A0=0; ol=0;//开关断开}控制OLED显示屏显示的程序:#include"oled.h"#include"oledfont.h" voiddelay_ms(unsignedintms){ unsignedinta; while(ms) { a=1800; while(a--); ms--; } return;}#ifOLED_MODE==1//向SSD1106写入一个字节。//dat:要写入的数据/命令//cmd:数据/命令标志0,表示命令;1,表示数据;voidOLED_WR_Byte(u8dat,u8cmd){ DATAOUT(dat); if(cmd) OLED_DC_Set(); else OLED_DC_Clr(); OLED_CS_Clr(); OLED_WR_Clr(); OLED_WR_Set(); OLED_CS_Set(); OLED_DC_Set(); } #else//向SSD1306写入一个字节。//dat:要写入的数据/命令//cmd:数据/命令标志0,表示命令;1,表示数据;voidOLED_WR_Byte(u8dat,u8cmd){ u8i; if(cmd) OLED_DC_Set(); else OLED_DC_Clr(); OLED_CS_Clr(); for(i=0;i<8;i++) { OLED_SCLK_Clr(); if(dat&0x80) { OLED_SDIN_Set(); }else OLED_SDIN_Clr(); OLED_SCLK_Set(); dat<<=1; } OLED_CS_Set(); OLED_DC_Set(); }#endif voidOLED_Set_Pos(unsignedcharx,unsignedchary){ OLED_WR_Byte(0xb0+y,OLED_CMD); OLED_WR_Byte((((x+2)&0xf0)>>4)|0x10,OLED_CMD); OLED_WR_Byte(((x+2)&0x0f),OLED_CMD);} //开启OLED显示voidOLED_Display_On(void){ OLED_WR_Byte(0X8D,OLED_CMD);//SETDCDC命令 OLED_WR_Byte(0X14,OLED_CMD);//DCDCON OLED_WR_Byte(0XAF,OLED_CMD);//DISPLAYON}//关闭OLED显示voidOLED_Display_Off(void){ OLED_WR_Byte(0X8D,OLED_CMD);//SETDCDC命令 OLED_WR_Byte(0X10,OLED_CMD);//DCDCOFF OLED_WR_Byte(0XAE,OLED_CMD);//DISPLAYOFF} //清屏函数,清屏。voidOLED_Clear(void){ u8i,n; for(i=0;i<8;i++) { OLED_WR_Byte(0xb0+i,OLED_CMD);//设置页地址(0~7) OLED_WR_Byte(0x02,OLED_CMD);//设置显示位置—列低地址 OLED_WR_Byte(0x10,OLED_CMD);//设置显示位置—列高地址 for(n=0;n<128;n++)OLED_WR_Byte(0,OLED_DATA); }//更新显示}//在指定位置显示一个字符,包括部分字符//x:0~127//y:0~63//mode:0,反白显示;1,正常显示 //size:选择字体16/12voidOLED_ShowChar(u8x,u8y,u8chr){ unsignedcharc=0,i=0; c=chr-'';//得到偏移后的值 if(x>Max_Column-1){x=0;y=y+2;} if(SIZE==16) { OLED_Set_Pos(x,y); for(i=0;i<8;i++) OLED_WR_Byte(F8X16[c*16+i],OLED_DATA); OLED_Set_Pos(x,y+1); for(i=0;i<8;i++) OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA); } else{ OLED_Set_Pos(x,y+1); for(i=0;i<6;i++) OLED_WR_Byte(F6x8[c][i],OLED_DATA); }}//m^n函数u32oled_pow(u8m,u8n){ u32result=1; while(n--)result*=m; returnresult;} //显示2个数字//x,y:起点坐标 //len:数字的位数//size:字体大小//mode:模式 0,填充模式;1,叠加模式//num:数值(0~4294967295); voidOLED_ShowNum(u8x,u8y,u32num,u8len,u8size2){ u8t,temp; u8enshow=0; for(t=0;t<len;t++) { temp=(num/oled_pow(10,len-t-1))%10; if(enshow==0&&t<(len-1)) { if(temp==0) { OLED_ShowChar(x+(size2/2)*t,y,''); continue; }elseenshow=1; } OLED_ShowChar(x+(size2/2)*t,y,temp+'0'); }}//显示一个字符号串voidOLED_ShowString(u8x,u8y,u8*chr){ unsignedcharj=0; while(chr[j]!='\0') { OLED_ShowChar(x,y,chr[j]); x+=8; if(x>120){x=0;y+=2;} j++; }}//显示汉字voidOLED_ShowCHinese(u8x,u8y,u8no){ u8t,adder=0; OLED_Set_Pos(x,y); for(t=0;t<16;t++) { OLED_WR_Byte(Hzk[2*no][t],OLED_DATA); adder+=1;} OLED_Set_Pos(x,y+1); for(t=0;t<16;t++) { OLED_WR_Byte

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论