您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子信息工程综合实验(虚拟仪器相关)
实验一转速测量与控制一、实验目的1.熟悉速度传感器工作原理2.熟悉硬件设计原理3.熟悉软件编程方法二、实验仪器PC机、示波器、综合实验板、数字表,频率计三、实验设计原理1.硬件设计原理(1)整体设计框图图1-1整体设计方框图其中,图的上半部分为测量部分,下半部分为控制部分CPU:AT89C52I/O:人机接口,7290D/A:5618直流电机:mV=24v(2)硬件主要由三块集成芯片和直流电机、光电转速传感器等组成。①信号产生与放大整形速度传感器放大整形CPUI/O显示键盘D/A信号放大直流电机1图1-2信号产生与放大整形示意图注:圆盘上有360个孔,因此每转输出360个脉冲。光电转速传感器:传感器的作用是将各种现场的被测物理量按照一定的规律转换成便于测量的模拟电信号(电压或电流)。转速传感器将电动机转速转化为电压信号,作为整个系统的输入。本实验中采用光电式转速传感器,其工作原理是:利用电动机带动一个圆周上有均匀分布小孔的圆盘来控制发光二极管的光强,使光的强度呈周期性变化。光电二极管的回路电流也呈周期性变化,频率f=N/60×360=6NHz,其中N为转速,单位为R/min。信号放大整形:传感器的输出电压信号比较小,一般只有几毫伏到几十毫伏,不足以驱动后边与之相连的芯片,并混有许多干扰信号,因此必须将信号放大到与下一极芯片驱动电压相匹配的程度,并去除干扰,变成一个方波信号。本实验中电动机、光电传感器及信号放大整形电路都集成到一块,封装在一个圆柱形容器内。输出的信号经过反向器(近一步提供驱动)和缓冲器后输送给AT89C52单片机T0管脚。②数据采集与处理单稳态触发器测速装置缓冲器单片机1秒1GT0图1-3数据采集与处理框图电路板上有一个由555集成定时器构成的单稳态触发器,提供1秒钟的定时,来控制74HC2442缓冲器的通与断,这样单片机计数器一次所累积的数即为脉冲频率,经换算后可得到电动机的转速。图1-4定时电路原理图单稳态触发器的特点是:电路有两个工作状态:个稳态,一个暂态。在没有外界触发信号时,电路处于稳态,并且能一直保持下去。在外界信号的作用下,电路由稳态转换为暂稳态。暂稳态是一个不能长久保持的状态,经过一段时间后,电路会自动返回到稳态。暂稳态的持续时间,就是电路输出脉冲的宽度,它仅取决于电路本身的参数,而与触发脉冲无关。输出脉冲宽度为ln31.1wtRCRC,适当选取定时元件R1和C3的数值,使wt=1s。这种单稳态触发器电路要求输入触发负脉冲的宽度小于输出脉冲的宽度。单片机:本实验中,单片机的型号是AT89C52,是整个实验的核心,主要负责数据的数据采集、数据处理和显示,并控制直流电机。AT89C52是一款具有低功耗和高性能的、CMOS制造工艺的8位微处理器,有8K字节的FLASH可编程和可擦除只读存储器(PEROM)。有片内256×8位内部RAM,32根可编程I/O线,3个16位定时/计数器,八个中断源,和可编程串行通道等。电路图如下:3图1-5单片机电路原理图说明:P1口是数据/地址复用口,P2口是地址口;P1口多用途:P10、P11作为2IC串行总线的两根线,一根数据线,一根时钟线,P12,P13,P14作为与CS5460A的接口线,本实验中没有用到,P15,P16,P17作为三-八译码器的输入信号线;P30,P31是串行输入/输出通道,P32(INT0)与ZLG7290的中断管脚相连,P33(INT1)与CS5460A的中断管脚相连。P34(T0)作为计数器的输入端,P35(T1)作为输出,作为外部芯片的读信号线;使用内部晶振,外接起振晶体。单片机将采集来的数据经过一定的算法处理后,输出给D/A,来控制电机转速。③状态显示与键盘设置本实验中用ZLG7290作为键盘接口和LED显示驱动。特点:2IC串行总线接口,提供键盘中断信号,方便与处理器接口;可驱动8位共阴数码管或64只独立LED和64个按键;8个功能键,可检测任意键的连击次数。因为ZLG7290采用2IC串行总线,而AT89C52内部没有集成2IC总线接口,因此利用软件模拟2IC总线接口功能。本实验中使用了8个数码管,分为两组,数码管的左四位显示数值为当前所处状态,右四位显示数值为对应状态的数值。以数值表示的状态含义如下:0101――当前电机转速0102――设置电机转速4ⅹ4键盘布键如下:4图1-64ⅹ4键盘布键示意图实验板的左下方有一4ⅹ4键盘,配合数码管使用。测量当前电机转速,则按一下“电机”键,数码管右四位即表示当前电机转速;若要改变转速,则按一下设置键,这时,数码管左四位显示“0102”,即可进行设置转速,设置好后再按“确定”键。再按一次“电机”键,即可看到电机当前转速,再按一次又回到设置转速;设置时如想修改,按“取消”,即可重新输入设置值(设置值500-2500R/M,否则无效)。电路图如下:图1-74ⅹ4键盘电路示意图④控制电路本实验中,要通过设置转速来控制电机的转速,需要将数字信号转换为模拟信号,电路中使用了D/A转换芯片TLV5618。芯片特点:12位双通道串行接口;可编程设置转换时间,高速模式下为2.5us,低速模式下为12us;89C52将保存的设置预期转速值转换成串行数据输出到5618的SDI端,从SDI端输入的数字信号经TLV5618转换成模拟信号,由OUTB端输出,经放大后作5用于直流电机,达到闭环控制目的。电路图:图1-8控制电路示意图驱动电路:直流电机的驱动电流和电压都比较大,一般要0-24V的电压,而D/A输出的信号电压和电流比较小,电压范围为0-5V,不能直接驱动,中间要经过电压、电流放大。图1-9驱动电路示意图图1-10信号放大器电路示意图根据理想运放的性质,输出电压与输入电压的关系为:11120*55.1fmoutBoutBoutBRVVVVR当outBV在0~5V之间变化时,mV约在0~24V之间变化,变换后的电压控制直流电机的转速,直至电机转速达到预期设定值,从而实现闭环控制。但是因为放大电路的非线性性,会带来转速误差。⑤直流调速电机在本实验中为受控对象,在一定的输入电压下,输出相应的转速。输入电压的范围为0~24V。62.软件设计原理硬件初始化555定时ZLG7290显示初始化从T0计数器读入数据处理数据TLV5618转换控量控制电机转速读取当前转速进入ZLG7290中断键值处理退出中断更新显示数组刷新显示等待中断图1-11软件设计流程图实验程序见附录四、实验步骤1.按实验要求连接电路,检查没有连接错误后,给综合实验板上电,开始实验。在实验的整个过程中要注意安全。2.用键盘设置电机转速,从500R/min开始,当数码管显示的当前转速在设定转速附近上下小幅波动时或稳定在设定转速时,用示波器测量TLV5618的OUTB端的信号频率,用万用表测量OUTB端的信号电压、直流电机的输入电压mV(测试点为f对应m2,VOUTB对应R23,mV对应m+).3.改变设定的转速,依次输入500R/min~2500R/min之间的值,重复步骤2。4.记录数据,处理数据。五、数据的采集和分析1.数据采集74.9表1-1所测参数设定参数R/m出f/Hz误差η/%outBV/vmV/vA转速方程60034484.22%1.455.584outBV=1f(R)90054050.09%1.887.73120070422.19%2.3410.01150087712.54%2.7812.03mV=2f(R)1800104173.54%3.2214.252000116283.1%3.5515.712.数据分析理论上,出f=60360/ mR)转速(,(即理论值),A=outBmVV(不能用表1-1中数据直接计算,因为有初始值)=dRdVdRdVoutBm//=12KK,η=理论值理论值实测×100%。经过表1-1中数据计算,__A=4.9(1)在实验数据选择上,设定参数的前五个转速由上而下的以300R/m递增,同时测得数据outBV的值也相应以相似的差值递增,因此,我们设想outBV和转速R成线性关系。设outBV=aR+c——式①其中a和c为未定常量。因为doutBV/Dr=a=ΔoutBV/ΔR——式②8将表1-1中数据代入式①和式②,可得到表1-2表1-2参数a和c的值a31043.131053.131047.1c0.5620.5480.564因此,_a=31048.1,_c=0.558因此,outBV=0.00148R+0.558(2)由表1-1可知,outBV和mV成倍的关系。由(1)中同样的分析方法可得:mV=0.00739R+1.04综上,转速方程为:outBV=0.00148R+0.558mV=0.00739R+1.04(3)验证转速方程的正确性选取转速为1300R/m,测量得outBV=2.49V,mV=10.74VoutBV(理论值)=2.482V,mV(理论值)=10.647V计算得到η1=,η2=,η=(η1+η2)/2S=(10-η)×10=表1-3所测参数的值outBVη1mVη2ηS2.490.322%10.740.873%0.5994.14.用Matlab画出转速特性曲线(1)outBV:9(2)mV:六、实验思考题1、在测量转速时,本实验设计是采用的硬件定时,若用软件定时,该如何设计?请用C51设计出基于软件定时的转速测量程序。#includeREG52.H#defineucharunsignedchar10#defineuintunsignedint#defineulongunsignedlong#defineLED_DATP0sbitLED_SEG0=P2^7;sbitLED_SEG1=P2^6;sbitLED_SEG2=P2^5;sbitLED_SEG3=P2^4;//sbitpin_SpeedSenser=P3^5;//速度传感器信号接在T1上#defineTIME_CYLC100//12M晶振,定时器10ms中断一次我们1秒计算一次转速//1000ms/10ms=100#definePLUS_PER50//码盘的齿数,这里假定码盘上有50个齿,即传感器检测到50个脉冲,认为1圈#defineK100.0//校准系数ucharcodeloops[]={0xFE,0xFD,0x0FB,0x0F7,0x0EF,0x0DF,0x0BF,0x7F};ucharcodetable[]={0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0xA0,//01234567890x60,0x25,0x3C,0x23,0x34,0x74,0x00,0x00,0xF7,0x00,0xFF};//ABCDEFHL-全亮全灭uchardataDisbuf[4];//显示缓冲区uintTcounter=0;//时间计数器bitFlag_Fresh=0;//刷新标志bitFlag_clac=0;//计算转速标志bitFlag_Err=0;//超量程标志//在数码管上显示一个四位数voidDisplayFresh();//计算转速,并把结果放入数码管缓冲区voidClacSpeed();//初始化定时器T0voidinit_timer0();//初始化定时器T1voidinit_timer1();//延时函数voidDelay(uintms);voidit_timer0()interrupt1/*interruptaddressis0x000b*/{TF0=0;//d定时器T0用于数码管的动态刷新//TH0=0xC0;/*initvalues*/TL0=0x00;Flag_Fresh=1;Tcounter++;if(TcounterTIME_CYLC){Flag_clac=1;//周期到,该重新计算转速了}}11voidit_timer1()interrupt3/*interruptaddressis0x
本文标题:电子信息工程综合实验(虚拟仪器相关)
链接地址:https://www.777doc.com/doc-74168 .html