集成运放参数测试Word格式文档下载.docx
- 文档编号:19723650
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:24
- 大小:169.02KB
集成运放参数测试Word格式文档下载.docx
《集成运放参数测试Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《集成运放参数测试Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
integratedop-amp
inputoffset
voltage,
inputoffsetcurrent,AC
voltage
differential-mode
open-loop
gainand
AC
CMRR
fourbasicparameters
measurement.
Asthe
level
islimited,
there
are
onlyusingthesignal
source,theoutput
parametersof
thetest
circuit
to
measure,
mainlytocomplete
thework
with
thehardware
partofthe
build
output
show.
KeyWord:
STM32,amplifier,inputmaladjustedvoltage,inputmaladjustedcurrent,Exchangeopenloopgaindifferential-modevoltage,CMRAC,hardwarecircuit,display
第1章设计任务及要求
1.1设计任务
设计并制作一台能测试通用型集成运算放大器参数的测试仪,示意图如图1所示。
图1通用型集成运放参数测试仪框图
1.2设计要求
1.2.1基本要求
(1)能测试VIO(输入失调电压)、IIO(输入失调电流)、AVD(交流差模开环电压增益)和KCMR(交流共模抑制比)四项基本参数,显示器最大显示数为3999;
(2)各项被测参数的测量范围及精度如下(被测运放的工作电压为±
15V):
VIO:
测量范围为0~40mV(量程为4mV和40mV),误差绝对值小于3%读数+1个字;
IIO:
测量范围为0~4μA(量程为0.4μA和4μA),误差绝对值小于3%读数+1个字;
AVD:
测量范围为60dB~120dB,测试误差绝对值小于3dB;
KCMR:
(3)测试仪中的信号源(自制)用于AVD、KCMR参数的测量,要求信号源能输出频率为5Hz、输出电压有效值为4V的正弦波信号,频率与电压值误差绝对值均小于1%;
(4)按照本题附录提供的符合GB3442-82的测试原理图(见图2~图4),再制作一组符合该标准的测试VIO、IIO、AVD和KCMR参数的测试电路,以此测试电路的测试结果作为测试标准,对制作的运放参数测试仪进行标定。
1.2.2发挥部分
(1)增加电压模运放BWG(单位增益带宽)参数测量功能,要求测量频率范围为100kHz~3.5MHz,测量时间≤10秒,频率分辨力为1kHz;
为此设计并制作一个扫频信号源,要求输出频率范围为40kHz~4MHz,频率误差绝对值小于1%;
输出电压的有效值为2V±
0.2V;
(2)增加自动测量(含自动量程转换)功能。
该功能启动后,能自动按VIO、IIO、AVD、KCMR和BWG的顺序测量、显示并打印以上5个参数测量结果;
第2章方案比较与论证
2.1信号源制作方案及论证
2.1.1信号源制作方案
暂时使用现有的信号源
2.2运放参数测试电路方案及论证
2.2.1运放参数测试电路方案
方案一:
将
(输入失调电压),
(输入失调电流),
(交流差模开环电压增益)和
(交流共模抑制比),四项基本参数的测试原理图,将各原理图分别搭建起来,再根据所提供的标准方法来测量,从而得到标准值,而自动测量部分再加上STM32系统来分别控制三个模块电路,该方法的优点是各功能模块电路分开了,并没有干扰的存在,而且操作简单测量方便,但是由于三个电路模块所用的元器件相同,存在资源的浪费,而且对各功能模块的分开操作,使得“自动测量”这一意义不存在了,对工业自动化并没有运用价值。
也失去了我们发挥创新的部分,因而本设计我们未采用。
aVIO、IIO电参数测试原理图
bAVD电参数的测试原理与测试原理图
cKCMR电参数的测试原理与测试原理图
图2集成运放各参数测试原理图
方案二:
考虑到各功能的模块许多元器件相同,为了避免资源的浪费,同时为了使自动化的实现更方便,我们考虑将这三个功能模块电路组合起来,放在一块电路板上,通过用STM32系统控制继电器的状态来切换测量电路实现各功能模块。
电路图如下图3.
图3运放参数测试设计电路
第3章系统硬件设计
3.1总体设计思路
对于一个系统的设计首先要对系统的任务及要求有一个明确的了解,再根据所提供的相关信息帮助,将整个系统功能分成各个功能模块,从而实现系统整体功能。
该系统的设计任务如下图4:
图4通用型集成运放参数测试仪框图
根据系统设计的模块划分模块来设计该系统,而该测试仪核心模块为运放参数测试电路及信号源的设计(暂且用现成的信号源)。
再分析设计任务,及设计要求,我们考虑用STM32系统开发板来作为控制电路,用I/O口控制小型继电器的通断,从而实现各功能电路的切换。
同时,利用STM32系统开发版内部自带的A/D转换器,进行A/D采样,将模拟量转换为数字量,再将其通过其自带显示器显示,则整个系统的硬件设计基本完成。
系统硬件组成框图如图5:
图5系统硬件组成框图
3.2各模块设计及参数运算
3.2.1参数测量电路模块
图6参数测量电路模块
1.测量输入失调电压
控制S1-1、S1-2闭合,S4断开,S3接2,S5接2,用数字示波器测出辅助运放的输出电压VL0,则有:
输入失调电压
(3-1)
2.测量输入失调电流
控制S1-1、S1-2断开,S4断开,S3接2,S5接2,用数字示波器测出辅助运放的输出电压VL1,则有:
输入失调电流
(3-2)
3.测量交流差模开环电压增益
控制S1-1、S1-2闭合,S4闭合,S3接2,S5接1,设信号源输出电压为Vs,测得辅助运放输出电压为VL0,则有交流差模开环电压增益
(3-3)
4.测量交流共模抑制比
控制S1-1、S1-2闭合,S4闭合,S3接1,S5接1,设信号源输出电压为Vs,测得辅助运放输出电压为VL0,则有交流共模抑制比
(3-4)
5.实现自动控制以及量程切换
(1)考虑到测量量程问题,因而我们将
分成10K与90K电阻,并要求这两个电阻的阻值严格满足要求,因而我们考虑用可调电位器来实现,选用20K及100K的电位器来实现,从而较易达到阻值的要求,同时利用一个开关来切换量程,以使R3/(R3+Rf)的值存在10倍的关系,实现两个量程的变换(0~4mv及4mv~40mv的变换);
同理在测输入失调电流时也同样存在开关的切合。
根据提供的参数,我们将R3设为100欧姆,
接成两电阻(10k与90k)的串联,R接成1兆欧,R1=R2=30千欧。
考虑到辅助放大器测试方法的要求,要求辅助运放的开环增益大于60dB,输入失调电压和失调电流值小。
OP07的精度高失调电压和失调电流较小,且不需要自校准电路,所以选择OP07作为辅助运放。
(2)为了实现自动控制,我们只是将各开关换成了继电器,由于继电器的可控性,通过stm32I/O口来控制继电器的通断来实现各功能电路的切换,在标准电路后面与stm32连上,实现电路参数测试的自动化。
从而大大简化了电路的烦琐程度。
3.2.2继电器驱动电路
图7继电器的驱动电路
如图7,STM32的I/O口无法直接驱动继电器,必须要接三极管来驱动,当GPIO输出低电平继电器吸合,当GPIO输出为高电平,继电器的衔铁放开。
3.2.3测试结果的显示
测量VIO以及IIO时只需将OP07输出的信号接到开发板的AIN1上,经过A/D转换将模拟量转换为数字量,然后通过软件处理与运算将结果显示在开发板的屏幕上。
测量AVD和KCMR时需同时将信号源输出信号接到AIN0以及将OP07输出信号接到AIN1上,然后软件处理后将结果显示在开发板的屏幕上。
第4章软件设计
软件方面主要是要实现测量电路的切换控制,自动测量,量程的切换,采集数据的处理以及测量结果的显示。
我们使用触摸屏来控制切换测量电路和切换量程以及显示测量结果。
使用开发板自带的ADC来采集数据。
4.1程序设计框图
图8程序设计框图
4.1.1系统的初始化配置
主要包含GPIO、ADC、TIM以及触摸屏的初始化配置,源程序如下:
voidGPIO_Configuration(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
/*配置未使用的IO为模拟输入*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|
RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|
RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOF|
RCC_APB2Periph_GPIOG,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
GPIO_Init(GPIOA,&
GPIO_InitStructure);
GPIO_Init(GPIOB,&
GPIO_Init(GPIOC,&
GPIO_Init(GPIOD,&
GPIO_Init(GPIOE,&
GPIO_Init(GPIOF,&
GPIO_Init(GPIOG,&
RCC_APB2Periph_GPIOG,DISABLE);
}
voidADC_Configuration(void)
//===========定义变量for各项外设的初始化===================
GPIO_InitTypeDefGPIO_InitStructure;
DMA_InitTypeDefDMA_InitStructure;
ADC_InitTypeDefADC_InitStructure;
TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;
TIM_OCInitTypeDefTIM_OCInitStructure;
//===================初始化ADC对应的GPIOPC.00~PC.03(ADCChannel10~13)================
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
GPIO_Init(GPIOC,&
//========================初始化TIM定时触发ADC========================
/*TIM1configuration------------------------------------------------------*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
/*TimeBaseconfiguration*/
TIM_TimeBaseStructInit(&
TIM_TimeBaseStructure);
TIM_TimeBaseStructure.TIM_Period=56000000/Fs;
//64K的采样频率5*175*64k=56000k=56M
TIM_TimeBaseStructure.TIM_Prescaler=0x0;
TIM_TimeBaseStructure.TIM_ClockDivision=0x0;
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM1,&
/*TIM1channel1configurationinPWMmode*/
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse=10;
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;
TIM_OC3Init(TIM1,&
TIM_OCInitStructure);
/*TIM1mainOutputEnable*/
TIM_CtrlPWMOutputs(TIM1,ENABLE);
//========================初始化DMA:
ADC1~DMA1.1,ADC3~DMA2.5================================
///*EnableDMA1clock*/
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1|RCC_AHBPeriph_DMA2,ENABLE);
/*DMA1channel1configuration----------------------------------------------*/
DMA_DeInit(DMA1_Channel1);
DMA_InitStructure.DMA_PeripheralBaseAddr=(uint32_t)ADC1_DR_Address;
DMA_InitStructure.DMA_MemoryBaseAddr=(uint32_t)ADC_DualConvertedValueTab;
DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize=ADC_NPT;
DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Word;
DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Word;
DMA_InitStructure.DMA_Mode=DMA_Mode_Normal;
DMA_InitStructure.DMA_Priority=DMA_Priority_High;
DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;
DMA_Init(DMA1_Channel1,&
DMA_InitStructure);
/*EnableDMA1Channel1*/
DMA_Cmd(DMA1_Channel1,ENABLE);
/*DMA2channel5configuration----------------------------------------------*/
DMA_DeInit(DMA2_Channel5);
DMA_InitStructure.DMA_PeripheralBaseAddr=(uint32_t)ADC3_DR_Address;
DMA_InitStructure.DMA_MemoryBaseAddr=(uint32_t)ADC3ConvertedValue;
DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord;
DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_HalfWord;
DMA_Init(DMA2_Channel5,&
/*EnableDMA2channel5*/
DMA_Cmd(DMA2_Channel5,ENABLE);
//======================初始化ADCADC0|ADC1组成双ADC规则,ADC3====================================
/*ConfigureADCCLKsuchasADCCLK=PCLK2/4=56/4=14M*/
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_ADC2|RCC_APB2Periph_ADC3,ENABLE);
/*ADC1configuration------------------------------------------------------*/
ADC_InitStructure.ADC_Mode=ADC_Mode_RegSimult;
ADC_InitStructure.ADC_ScanConvMode=DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_T1_CC3;
ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel=1;
ADC_Init(ADC1,&
ADC_InitStructure);
/*ADC1regularchannelsconfiguration*/
ADC_RegularChannelConfig(ADC1,ADC_Channel_10,1,ADC_SampleTime_7Cycles5);
ADC_ExternalTrigConvCmd(ADC1,ENABLE);
/*ADC2configuration------------------------------------------------------*/
ADC_Init(ADC2,&
/*ADC2regularchannelsconfiguration*/
ADC_RegularChannelConfig(ADC2,ADC_Channel_11,1,ADC_SampleTime_7Cycles5);
ADC_ExternalTrigConvCmd(ADC2,ENABLE);
/*EnableADC2externaltriggerconversion*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集成 参数 测试