A. 单片机引脚阻抗测量方法
单片机引脚阻抗测量方法:
1.从原理上来看,阻抗测量有三种方法:
(1)自动平衡电桥技术
(2)IV和RF-IV技术
(3)传输/反射技术
2.从仪器种类上来看,阻抗测量可以通过三大类仪器来完成:
(1)LCR表,LCR表与阻抗分析仪采用RF-IV/IV或自动平衡电桥技术
(2)阻抗分析仪
(3)网络分析仪,网络分析仪则是基于传输/反射技术
LCR表和阻抗分析仪的主要区别之一是它们对测量结果的显示方式。LCR表用数字显示测量结果,而阻抗分析仪既可以用数字也可以用图形显示测量结果。使用自动平衡电桥技术的LCR表又称为LCR数字电桥,这也是最便宜和简单的阻抗测试仪器。网络分析仪主要用于通信领域,其价格也是最为昂贵的。
所谓的阻抗测量,就是通过仪器来得到待测元件的电阻(R)、电容(C)、电感(L)、品质因数(Q)、损耗因数(D)等信息,可以通过上图把这些关系简明的表示出来。
B. 高手来看 要求基于单片机的rlc测量仪
基于PIC单片机控制的RLC智能测量仪设计
现代电子技术
使用电子元器件时,首先需要了解其参数,这就要求能够对元器件的参数进行精确测量。采用传统的仪表进行测量时,首先要从电路板上焊开器件,再根据元件的类型,手动选择量程档位进行测量,这样不仅麻烦而且破坏了电路板的美观。经过理论分析和实验研究,采用正交采样算法,并由单片机控制实现在线测量、智能识别、量程自动转换等多种功能,可大大提高测量仪的测量速度和精度,扩大测量范围。因此这种RLC测量仪既可改善系统测量的性能,又保持了印刷电路的美观,较传统的测量仪还具有高度的智能化和功能的集成化,在未来的应用中将具有广阔的前景。
1 硬件电路设计
此测量仪硬件设计思路如图1所示。
由于PIC单片机只能正确采集0~5 V之间的电压,而输入的信号是正弦波信号,因此在将此正弦信号送入单片机之前需对其进行电位提升,使整个正弦信号任意时刻的电位均大于或等于0。另外本测量仪具有量程自动转换和增益自动可控的特点,实现电路如图2所示。
图2中U1(CD4051)是一个单刀八掷的模拟开关,用以完成量程电阻挡位的转换;U2(CD4052)是一个双刀四掷的模拟开关,用来选择待测元件或基准电阻信号;U3,U4,U5,U6共同组成一个增益可以控制的仪用差分式放大电路,其中U5(CD4052)是用来切换增益倍数的;U8(74LS273)是一个锁存器,用于将由单片机发出的控制信号锁存并传输给U1,U2,U5实现程控;由于U1,U2,U5开关切换的驱动电压要求达到5 V以上,而单片机的高电平仅为3~5 V,达不到驱动电压,所以要采用一个集电极开路的驱动器(74LS07)才能实现由单片机控制的开关切换(R13,R14,R15,R16,R17为74LS07输出端的上拉电阻)。
这样通过程序控制单片机与74LS273相接端口的高低电位,就可以控制模拟开关选择不同的通道,从而实现自动的量程档位转换和增益控制。
2 软件程序设计
本测量仪的测量原理是以正交采样为基础。首先选用频率恒定的正弦信号作为标准测量信号,然后用待测元件和基准电阻串联对测量信号进行分压,最后由单片机分别对待测元件和基准电阻分压后所得的信号进行正交采样处理。
由于流过电容或电感的电流与其两端的电压存在90°的相位差,因此只需在任一时刻采样得到交流信号瞬时值V1,然后相移90°,再采样得到瞬时值V2,就可用V1和V2表示完整的交流信号:V2=V1+jV2。
软件程序的设计思路如图3所示。
3 实验结果
表1给出了该测量仪在测量频率为100 Hz,1 kHz,10 kHz±0.02%三种情况下的测量范围与测量精度。其中L,C,R,Q,D分别表示电感量、电容量、电阻值、品质因数、损耗角正切值。
4 结 语
本文设计了一种基于PIC单片机的RLC智能测量仪,其主要功能如下:
(1) 能够智能地识别出待测元件是电容、电感、还是电阻。
(2) 能精确测量出电容、电感、电阻的参数值。
(3) 可以实现量程电阻的自动转换,无须人工选择档位。
(4) 当测量正弦信号的幅度过小时,可以自动实现增益放大,从而不影响精度。
(5) 对测量仪进行扩充后还实现了二极管、三极管的测量。
由此可见,此测量仪具有高度的智能化和集成化,可精确地对元器件参数进行测量,这正符合当今测量仪器的发展趋势,他将具有广阔的应用前景。
C. 怎么用单片机实现带宽的自动测量
频率范围多大 ? 如果较高的话 , 建议用DSP吧
在非精确、低速的测量下 可以用 F-V 转换电路,在通过AD进入单片机
D. 51单片机的数字频率计
本应用系统设计的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。
1.1数字频率计概述
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。
本数字频率计将采用定时、计数的方法测量频率,采用一个1602A LCD显示器动态显示6位数。测量范围从1Hz—10kHz的正弦波、方波、三角波,时基宽度为1us,10us,100us,1ms。用单片机实现自动测量功能。
基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。
点击重新加载
1.2频率测量仪的设计思路与频率的计算
图1 频率测量原理图
频率测量仪的设计思路主要是:对信号分频,测量一个或几个被测量信号周期中已知标准频率信号的周期个数,进而测量出该信号频率的大小,其原理如右图1所示。
若被测量信号的周期为,分频数m1,分频后信号的周期为T,则:T=m1Tx 。由图可知: T=NTo
(注:To为标准信号的周期,所以T为分频后信号的周期,则可以算出被测量信号的频率f。)
由于单片机系统的标准频率比较稳定,而是系统标准信号频率的误差,通常情况下很小;而系统的量化误差小于1,所以由式T=NTo可知,频率测量的误差主要取决于N值的大小,N值越大,误差越小,测量的精度越高。
1.3 基本设计原理
基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。
所谓“频率”,就是周期性信号在单位时间(1s)内
E. 求单片机自动电阻测量仪设计方法
首先你可以设计两个方案:
1 恒流测量电阻
2 恒压测量电阻
建议测量大电阻(兆欧)的仪器使用恒压,且电压必须是比较大的直流;如果测量的电阻比较小,则可以采用恒流法.这样会比较准确.
测量必须要用adc采集两个信号:1电阻两端的电压;2通过电阻的电流.
通过测量得到这两个量来求出电阻值.
如果要做到自动测量,又要做到准确,那么最好使用恒流法,就是在测量时改变加在两端的电流(电阻越小电流可以变大,前提是电阻功率够),但是改变后必须稳定在最佳测试电流,然后测量电压电流这个两个信号可以通过继电器来切换档位,以保证最佳测量状态,且每个档位都要有独立的修正系数,这样就做到了自动测量
F. 交流电压220V如何用单片机测量电压有哪些需要注意的事情
用单片机测量220V交流电压主要有以下步骤,一是通过用电压互感器将220V的高电压交流信号转化为低电压交流信号,二是将低电压交流信号输入进单片机,单片机可以采样信号,三是单片机通过加工和处理输入的交流信号,最后处理成正常电压输出,这就是利用单片机测量220V交流电压的三个步骤。
在进行单片机测量交流电压信号时,一定要按照步骤进行一步步测量,做到认真细致的测量,在测量时也要注意单片机测量的注意事项,这样才可以让单片机受到噪音的影响最小,才可以测出准确的数据。
G. 设计一个以单片机为核心的频率测量装置。求大神给写一下程序。
单片机频率计仿真。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit p0=P1^0;
bit tb0,tb1;
uchar tt0,tt1,tt2,tt3;
uchar code led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void main()
{
TMOD=0x11;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1; //开定时器0中断
ET1=1; //开定时器1中断
TR0=1; //启动定时器0
TR1=1; //启动定时器1
while(1)
{
if(TR1==0)
{
// tt3=65536*tt2+266*TH1+TL1
TH1=0x00;TL1=0x00;
tt1=0x00;tt2=0x00;
tb1=1;
led[0]=tt3/1000000;
led[1]=tt3/100000%10;
led[2]=tt3/100000%10;
led[3]=tt3/10000%10;
led[4]=tt3/1000%10;
led[5]=tt3/100%10;
led[6]=tt3/10%10;
led[7]=tt3%10;
}
if(tt0==1 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[0];P0=0xfe
}
if(tt0==2 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[1];P0=0xfd
}
if(tt0==3 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[2];P0=0xfb
}
if(tt0==4 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[3];P0=0xf7
}
if(tt0==5 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[4];P0=0xef
}
if(tt0==6 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[5];P0=0xdf
}
if(tt0==7 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[6];P0=0xbf
}
if(tt0==8 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[7];P0=0x7f
tt0=0;
}
}
}
void timer0() interrupt 1
{
TH0=(65535-2000)/256;
TL0=(65535-2000)%256;
tt1++;
if(tt1==500)
{
TR1=0; //启动定时器1
tb1=0
}
tt0++;tb0=1;
if(tb1==1 && TR1==0)TR1=1;
}
void timer1() interrupt 3
{
tt2++;
}