数字式电参数测试仪的设计报告Word格式文档下载.docx
- 文档编号:18608938
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:19
- 大小:340.08KB
数字式电参数测试仪的设计报告Word格式文档下载.docx
《数字式电参数测试仪的设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数字式电参数测试仪的设计报告Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
图1串联电路原理图
根据串联电路的分压原理可知,串联电路上电压与电阻成正比关系。
通过测量Rx和R0上的电压。
由公式Rx=V*R0/Ux-R0
利用直流电桥平衡原理的方案
图2电桥(其中R1,R2,为可变电位器,R3为已知电阻,R4为被测电阻)
根据电路平衡原理,不断调节电位器,使得电表指针指向正中间。
由R1*R4=R3*R4.在通过测量电位器电阻值,可得到R4的值。
方案三:
利用555构成单稳态的方案
图3555定时器构成单稳态
根据555定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电阻阻值。
由f=1/[(R1+2R2)*C*In2]
得到公式:
R2=1/2*[1/(f*c*Ln2)-R1]
上述三种方案从对测量精度要求而言,方案二需要测量的电阻值多,而且测量调节麻烦,不易操作与数字化,相比较而言,方案三还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。
而方案一的原理简单,操作简单,成本低廉,而且由于12位的ADC可以在很大程度上弥补方案一精度低的缺陷。
故本设计选择了方案一,并且通过模拟开关的转换来改变已知电阻值的大小,以满足整个范围内测电阻的精度要求。
1.3测量电流值的方案的选择与比较
霍尔传感器测电流法
霍尔传感器由于通电螺线管内部存在磁场,其大小与导线中的电流成正比,故可以利用霍尔传感器测量出磁场,从而确定导线中电流的大小。
利用这一原理可以设计制成霍尔电流传感器。
转换电压测电流法
通过一个高精度、小阻值的电阻直接串联进电路对电流进行采样,将电流转换为电压进行测量。
再由欧姆定理进行转换。
上述两个方案相比较,方案一其优点是不与被测电路发生电接触,不影响被测电路,不消耗被测电源的功率。
但是霍尔传感器比较适合大电流的测量,而对于题目中所给的小电流的测量在精度上将有所下降,且不易测量。
方案二电路简单,容易实现,且成本相对于方案一大大减小。
虽然方案二精度比方案一差,但是主控芯片内置的12位A/D很大程度上解决了这个问题,故本设计选用了方案二。
1.4测量电压值的方案
本设计采用了分压法测电压。
分压法具有电路简单,操作方便的特点。
1.5信号放大方案的选择与比较
方案一:
运用模拟电路知识,运用三极管或莫斯管搭建放大电路。
方案二:
采用集成放大芯片对信号进行放大。
方案一相对于方案二更节约成本,但是电路太过复杂,且稳定性不好。
所以本设计采用方案二对信号进行放大。
选用的是ad620集成运放芯片。
这款芯片的特点是低功耗,工作电压低,只需要±
5V就可以正常工作。
二.理论分析与设计
2.1频率测量的精确度分析
STM32f103RBT6内部可以将8MHz的外部时钟倍频到72MHz,这个高频时钟信号可以提高频率测量的精确度。
本设计通过三极管将50MV交流电信号放大到4V左右,然后再通过三极管将其变为3.3V的方波,让STM32可以捕捉到。
2.2电压值的测量分析
由于单片机的AD的基准源为3.3V,因此要对电压的测量进行分段处理,当电压小于3V时,由单片机直接测量。
当电压在3V到10V时,先通过外部分压电路,采得十分之一的待测电压,然后由单片机测量,所得值再有程序内部处理得到待测电压。
2.3电流的测量分析
采样电阻选值为86Ω,待测电流范围为100µ
A~10mA,即所采得电压理想值范围为8.6mv~860mv,实际电压值略有偏差。
由于所用内置A/D为12位A/D,基本可以满足8.6mv~860mvd的电压范围,所以把所采得的电压直接交由单片机测量处理。
2.4电阻的测量分析
电阻的测量整体上采用串联分压原理进行测量,但是如果只是采用一个固定的已知电阻值来测量电阻值,当所测电阻值与已知电阻值之间的差值太大时就会严重影响测量精度,因此需要对题目要求的电阻值测量范围进行分段测量,通过大量的实验后决定采用四个不同的已知电阻值作为分压电阻,其阻值分别为100,1K,10K,100K。
各个分压电阻之间用三个继电器进行控制,根据测量的不同进行自动换挡。
经测试发现,所测电阻值满足发挥部分的要求
2.5功率的测量分析
以电流测量模式和电压测量模式同时工作,将所测得的电压和电流值,利用P=U*I,间接的到所测器件在实际工作电路中的功率。
三.电路与程序设计
1.各模块电路
1.1电源模块
本设计需要3.3V、±
5V三种电压。
其中3.3V主要给主控模块供电,5V主要作为继电器、LED的驱动电源,-5V主要与+5V为集成运算放大器提供工作电压。
整个设计以两节3.7V大功率干电池供电。
由于两节电池输出为7.4V电压,所以设计中先用7805稳压器得到5V电压,再由lm1117-3.3稳压器的到3.3V电压。
而-5V我们选用了超电压转换器7660s来得到。
该芯片具有价格低,功耗低,电路简单的特点。
-5V电压
1.2电流检测电路
1.3电压检测电路
1.4电阻检测模块
1.5频率检测模块
1.6显示模块
1.7主控模块
2.主要程序
#include<
stm32f10x_lib.h>
#include"
delay.h"
sys.h"
N5110.h"
ADC1.h"
Frequency.h"
u16g_Wave_Count=0;
doubler=0;
voidJiDian_RCC_Configuration(void);
voidJiDian_GPIO_Configuration(void);
voidMeasure_R(void);
voidMeasure_V(void);
#definePC13PCout(13)
#definePC1PCout
(1)
#definePC3PCout(3)
#definePC0_VPCout(0)//电压换挡
#defineLED0PCout(9)
#defineLED1PCout(7)
#defineLED2PBout(15)
#defineLED3PBout(13)
intVa=0,Va1=0;
intmain()
{
doublea=0.0;
Stm32_Clock_Init(9);
delay_init(72);
N5110_RCC_Configuration();
N5110_Init();
//测频初始化
RCC_Configuration();
//时钟初始化
GPIO_Configuration();
//端口初始化
NVIC_Configuration();
//中断配置初始化
TIM1ERT_Configuration();
//TIM1初始化
TIM2_Configuration();
//TIM2初始化
//ADC初始化:
ADC1_RCC_Configuration();
ADC1_GPIO_Configuration();
ADC1_Configuration();
DMA_RCC_Configuration();
DMA_ADC1_Configuration();
//继电器初始化
JiDian_RCC_Configuration();
JiDian_GPIO_Configuration();
PC13=0;
//初始化以100为基准
PC1=0;
PC3=0;
PC0_V=0;
while
(1)
{
N5110_Write_Litter_Str("
Fre:
"
0,0,1);
N5110_Print_Int(g_Wave_Count*2,"
Hz"
0,0,0);
//测电流
a=Get_Volatge(3)/(86.0*4.5*(1+0.0507315));
A:
1,0,1);
//显示Volatge:
N5110_Print_Double(a,"
mA"
//测电压
Measure_V();
//测电阻
Measure_R();
//测功率
P:
4,0,1);
N5110_Print_Double(a*Va1/1000.0,"
mW"
//显示采集电压
}
}
//**********************************************************************
//函数名称:
voidTIM1_CC_IRQHandler(void)
//功能:
定时器1比较匹配中断
//参数:
无
//返回值:
//***********************************************************************
if(TIM_GetITStatus(TIM1,TIM_IT_CC1)!
=RESET)//判断是否为定时器1比较匹配中断
TIM_ClearITPendingBit(TIM1,TIM_FLAG_CC1);
//清除TIM1的待处理位
TIM_ClearFlag(TIM1,TIM_FLAG_CC1);
//清除TIM1的待处理标志位
voidTIM2_IRQHandler(void)
定时器2溢出中断,每1ms溢出一次
voidTIM2_IRQHandler(void)
staticu16Count=0;
if(TIM_GetITStatus(TIM2,TIM_IT_Update)!
=RESET)//判断是否为定时器2溢出中断
Count++;
if(Count>
=500)
Count=0;
//测试灯1s翻转一次
g_Wave_Count=TIM_GetCounter(TIM1);
TIM_SetCounter(TIM1,0);
TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
//清除TIM2的待处理位
TIM_ClearFlag(TIM2,TIM_FLAG_Update);
//清中断标记
}
voidJiDian_RCC_Configuration(void)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOB,ENABLE);
//使能GPIOA,ADC1时钟
voidJiDian_GPIO_Configuration(void)
GPIO_InitTypeDefGPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_3|GPIO_Pin_1|GPIO_Pin_0|GPIO_Pin_9|GPIO_Pin_7;
//选中0,2,3,4管脚
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
//管脚工作状态为模拟输入
GPIO_Init(GPIOC,&
GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15|GPIO_Pin_13;
GPIO_Init(GPIOB,&
voidMeasure_R(void)//测电阻换挡
if((PC13==0)&
&
(PC1==0)&
(PC3==0))//以100为已知电阻
{
r=3.3*101.15*1000/Get_Volatge
(1)-101.15;
N5110_Write_Litter_Str("
R:
3,0,1);
N5110_Print_Double(r,"
"
if((r>
=800)&
(r<
8000))//转到1k
{
PC13=0;
delay_ms(100);
PC1=1;
delay_us(100);
PC3=0;
}
=8000)&
80000))//转到10k
PC13=1;
PC1=0;
if(r>
=80000)//转到100k
PC3=1;
LED0=1;
LED1=0;
LED2=0;
LED3=0;
}
if((PC13==0)&
(PC1==1)&
(PC3==0))//以1k
r=3.3*998.3*1000/Get_Volatge
(1)-998.3;
if(r<
800)//转到100
(r<
80000))//转到10k
delay_ms(100);
}
LED0=0;
LED1=1;
if((PC13==1)&
(PC3==0)&
(PC1==0))//以10k
r=3.3*9.893*1000*1000/Get_Volatge
(1)-9.893*1000;
8000))//转到1k
LED2=1;
}
(PC3==1)&
(PC1==0))//以100k
r=3.3*101.20*1000*1000/Get_Volatge
(1)-101.20*1000;
PC13=1;
LED3=1;
}
voidMeasure_V(void)//电压换挡
Va=Get_Volatge(0);
if((Va<
300))
PC0_V=1;
delay_ms(20);
V:
2,0,1);
Va1=Get_Volatge(0);
N5110_Print_Int(Va1,"
mV"
else
if(PC0_V==1)
delay_ms(20);
N5110_Write_Litter_Str("
Va1=Get_Volatge(0);
N5110_Print_Int(Va1,"
if(Va1>
=3000)
PC0_V=0;
else
PC0_V=1;
else
PC0_V=0;
//显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字式 参数 测试仪 设计 报告