叶全兴 习智文 郑佳彬 蒋鑫靖 余彦超 李绍翔 李翠梅*
(江西科技师范大学,江西 南昌330013)
许多高校电子、电器类专业都开设了模拟电路课程,很多学生都感觉这是一门很抽象很难学的课程,甚至很多985 高校的学生也是这么认为。而模拟电路课程是高校电子、电器类专业重要的专业必修课,为此我们专门设计了一款简易智能电路测试仪,该智能测试仪可以很好地辅助学生掌握三极管放大电路的特性,使学生感到抽象难懂的课程变得有趣。市面上这种智能电路测试仪几乎没有,我们这款智能电路测试仪价廉物美,售价48 元,适合高校学生的消费水平,所以具有很好的市场前景。
使用STM32 单片机作为核心控制器件,利用DDS 波形发生电路和电阻分压电路产生1kHz 30mV 正弦信号输入到待测电路;待测电路通过输入调理电路、输出调理电路与单片机连接,通过按键电路控制,将待测电路的参数显示在OLED 上。系统框图如图1:
图1 系统框图
在本产品的设计中,硬件方面采用了STM32 作为控制芯片,并通过STM32 和电阻网络产生DDS 信号进入调理电路中,再通过LMV324 控制调理电路,输出信号给单片机采集,来获得相关数据。
STM32 系列单片机,基于专为要求高性能、低成本、低功耗的嵌人式应用专门设计的ARM Cortex - MX 内核,拥有比8位单片机更高的数据处理速度,更丰富的外设;而且可以用STM 公司提供的固件库,简化了配置寄存器控制单片机的操作,使开发变得更简单,并且能够处理复杂计算和控制。单片机最小系统按键屏幕电路如图6 所示。
LMV324 内部包括有四个独立的高增益、内部频率补偿的运算放大器,在本设计中主要是用于输入和输出调理电路中,便于对信号的处理,来获得更好的输入信号和采集输出信号。
S9013 三极管和若干个电阻电容组成共射放大电路,47u 电容具有旁路作用,其他的电阻有分压,调节静态工作点的作用,如图2。
图2 待测电路
图3 DDS 信号产生电路
利用单片机经过一个电阻网络(加权网络)得到信号DDS 信号,如图3 所示。
输入调理电路是用来将信号源产生的信号调理放大到符合单片机采样的范围内,并且该模块由于存在着直流偏置所以需要放置电容以达到去耦,而输出调理电路相反,将待测电路的输出信号缩小到单片机能采集到的范围。输入输出调理电路图4、图5 所示:
图4 输入调理电路
图5 输出调理电路
图6 单片机最小系统按键屏幕电路
简易电路特性测试仪的设计有两部分电路:一个是由S9013组成的基本放大电路,另一个是电路特性测试仪。前者是被测对象,涉及一个输入测试信号(1KHz,Vpp=10mV)和一个输出信号;后者是一个简易的测量仪表,它可以来将输入的测试信号和输出的放大信号提取出来,然后经过一定的运算求解出基本放大电路的动态特性参数:输入电阻、输出电阻、放大倍数,此简易仪表包括有两个端口,一个输入端口和一个输出端口;两者端口的对应关系为,测试仪的输出端口接放大电路的信号输入端,测试仪的输入端口接放大电路的信号输出端。输入电阻测量:利用单片机的AD 采集功能,采集到电阻R1 两端电压的有效值为U1,这时我们所采集到的电压是经过衰减的电压,如果此时函数信号发生器的输出的有效值为US,ri 为输入电阻,则等式U1/R1=US-U1/ri。从而计算得到ri=(US-U1)R1/U1。在测量输入电阻时加入了两级的输入调理电路,将衰减后的信号放大到单片机可采集的范围。输出电阻测量:在放大信号不失真的情况下,利用单片机的AD 采集功能,采集到带载10k 和50k两种情况下的电压值:ro=R2(UO1-UO2)/UO2
放大倍数为:Auu=UO1/(US-U1)
输出电阻和放大倍数的测量这里用到了输出调理电路,将待测电路的输出信号进行缩小,也是衰减到单片机能采集到的范围。
此外,我们小组采用单片机生成正弦波的方法,经过一个电阻网络(加权网络)再通过一个低通滤波电路就得到输入信号。简易电路特性测试仪有一个OLED 显示屏,采用四个按键进行测试仪功能的控制,如图6 所示。
本次设计用到了立创EDA、Protues、Multisim 和keil 这四个工具。其中硬件设计环境是通过Multisim 和Protues 设计电路并将其仿真,以检验电路功能,功能基本实现后再在立创EDA 平台下来画出硬件总电路原理图,并适当替换一些原件,使测试仪更实用可靠。该设计中软件设计环境是keil uvision5 MDK,使用的语言是C。在程序编写完毕后,将其导入ST-LINK 中,将驱动连接至单片机即可。主要有以下几个程序控制部分:采集输入和输出调理电路的控制、DDS 信号产生电路控制、OLED 屏幕显示电路控制,按键电路控制。正弦波信号的产生:通过网上查找正弦表,创建主文件在其中输入正弦表代码,把正弦波信号经过采样,然后Z 变换,最后用差分方程形式去编程,计算出的DAC 值并输出,也可以提前计算好,然后查表输出。
采集输出信号:设定定时器和输出类型,再用定时器输出事件触发ADC,ADC 在触发DMA 去搬运,具体如下:ADC 采集中断,在通过DMA 方式读取ADC 并通过串口中断收集到单片机中进行存储。OLED 屏幕显示:在主函数写下相关代码,出错时显示error,正常测试时会显示其待测电路的增益,输入输出电阻。按键控制:在主函数中定义四个可以连接按键的端口,并赋予其功能为向上、向下、确定(主菜单)、选择。本系统中单片机的作用是:检测放大电路输入信号幅值、放大电路输出信号幅值,然后将这二者转换为DMA 进行存储。此外,在进行采集时,单片机内部也会对采集到的数值进行计算,可以算出输入输出电阻及电路增益。
程序流程如图7 所示。
首先,单片机中会根据ADC1 采样得到的输入调理电路的电压,再根据戴维南定理等计算输入电阻,并显示输入电阻;然后,同样的方法计算输出电阻,显示输出电阻;最后,单片机会采样输入输出电压计算出增益。
图7 软件流程图
本文介绍了基于STM32 单片机一款智能电路测试仪的设计,该测试仪体积小、易携带且操作方便,可以很好地检测放大电路的性能。使用STM32 单片机作为核心器件,不仅使测试仪功能强大,而且也有利于该产品在后期扩展更多功能,这对于高校师生电路技术的教学和学习具有非常重要的意义。