您好,欢迎访问三七文档
增量式编码器的A.B.Z编码器A、B、Z相及其关系TTL编码器A相,B相信号,Z相信号,U相信号,V相信号,W相信号,分别有什么关系?对于这个问题的回答我们从以下几个方面说明:编码器只有A相、B相、Z相信号的概念。所谓U相、V相、W相是指的电机的主电源的三相交流供电,与编码器没有任何关系。“A相、B相、Z相”与“U相、V相、W相”是完全没有什么关系的两种概念,前者是编码器的通道输出信号;后者是交流电机的三相主回路供电。而编码器的A相、B相、Z相信号中,A、B两个通道的信号一般是正交(即互差90°)脉冲信号;而Z相是零脉冲信号。详细来说,就是——一般编码器输出信号除A、B两相(A、B两通道的信号序列相位差为90度)外,每转一圈还输出一个零位脉冲Z。当主轴以顺时针方向旋转时,输出脉冲A通道信号位于B通道之前;当主轴逆时针旋转时,A通道信号则位于B通道之后。从而由此判断主轴是正转还是反转。另外,编码器每旋转一周发一个脉冲,称之为零位脉冲或标识脉冲(即Z相信号),零位脉冲用于决定零位置或标识位置。要准确测量零位脉冲,不论旋转方向,零位脉冲均被作为两个通道的高位组合输出。由于通道之间的相位差的存在,零位脉冲仅为脉冲长度的一半。带U、V、W相的编码器,应该是伺服电机编码器A、B相是两列脉冲,或正弦波、或方波,两者的相位相差90度,因此既可以测量转速,还可以测量电机的旋转方向Z相是参考脉冲,每转一圈输出一个脉冲,脉冲宽度往往只占1/4周期,其作用是编码器自我校正用的,使得编码器在断电或丢失脉冲的时候也能正常使用。ABZ是编码器的位置信号,UVW是电机的磁极信号,一般用于同步电机;AB对于TTL/HTL编码器来说,AB相根据编码器的细分度不同,每圈有很多个,但Z相每圈只有一个;UVW磁极信号之间相位差是120度,随着编码器的角度转动而转动,与ABZ之间可以说没有直接关系。/#############################################################编码器A+A-B+B-Z+Z-怎么用分别代表什么意思?这种编码器的输出方式为长线驱动(linedriver),其中A+A-B+B-Z+Z-为输出的信号线,增量编码器给出两相方波,它们的相位差90°(电气上),通常称为A通道和B通道。其中一个通道给出与转速有关的信息,与此同时,通过两个通道信号进行顺序对比,得到旋转方向的信息。还有一个特殊信号称为Z或零通道,该通道给出编码轴的绝对零位,此信号是一个方波与A通道方波的中心线重合。A+,A-为互补信号,B+,B-为互补信号,Z+,Z-为互补信号;长线驱动线路用于电气受干扰或编码器与接收系统之间是长距离的工作环境。数据的发送和接收在两个互补的通道中进行。所以,干扰受到抑制(干扰是由电缆或相邻设备引起的)。这种干扰叫做“共模干扰”,因为他们的产生原于一个公共点:系统接地点。此外,长线驱动发送和接收信号是以“差动方式”进行的。或者说,它的工作原理是在互补通道间的电压差上传达。因此可以有效地抑制对它的共模干扰。这种传送方式在采用5伏电压时可认为与RS422兼容,而且供电电源可达24伏特。使用线性驱动编码器时,需要和线性的计数模块相连接,运动控制卡(PG卡),在控制卡上直接有相对应的接口ABB-ASM1的变频器,有专门的运动控制卡。A,B相是计数相,它们计数时脉冲是一样多的,只是相位相差90°,用B相超前或是滞后A相90°来判断正反转.Z相是计圈相,编码器每旋转360°,发一个脉冲,一般用在绝对位置控制中旋转编码器程序[ME850扩展应用]旋转编码器计数程序(飞梭旋钮功能)-数码管显示/**********************************************************************ME850单片机开发实验仪演示程序-旋转编码器计数程序****3位数码管显示****MCU:AT89S52晶振:11.0592MHz****版本:V1.1(2009/04/29)**作者:gguoqing(Email:gguoqing@willar.com)**网站:(硕飞科技)**(伟纳单片机世界)**邮箱:sofitech@tom.com****【版权】Copyright(C)深圳硕飞科技有限公司AllRightsReserved**【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!**************************************************************************功能简述:(飞梭旋钮功能)**当旋钮顺时针旋转时,计数值增加。达到最大值255后,不再响应。**当逆钮顺时针旋转时,计数值减小。达到最小值0后,不再响应。**当按下旋钮时,将计数值清零(归位)。**********************************************************************/#includereg52.hsbitPINA=P1^0;sbitPINB=P1^1;sbitPIND=P1^2;unsignedchardisplay[3];unsignedcharcodeLEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};charcodereserve[3]_at_0x3b;//保留0x3b开始的3个字节unsignedcharcounter=0;//编码器脉冲计数unsignedcharn,shift;/**********************************************************ms延时子函数**********************************************************/voiddelayms(unsignedintms){unsignedchark;while(ms--){for(k=0;k114;k++);}}/**********************************************************扫描编码器子函数在编码器引脚A为低电平期间:编码器引脚B从0到1为正转,编码器引脚B从1到0为反转。**********************************************************/voidscan_encoder(void){staticbitCurr_encoder_b;//定义一个变量来储存当前B信号staticbitLast_encoder_b;//定义一个变量来储存上次B脚信号staticbitupdata=0;if(PINA&&PINB)//编码器无转动退出{updata=0;return;}Last_encoder_b=PINB;//记录B信号while(!PINA)//等待A由低变高{Curr_encoder_b=PINB;//记录等待期间的B信号(指当前B信号)updata=1;}if(updata){updata=0;if((Last_encoder_b==0)&&(Curr_encoder_b==1))//B从0到1为正转{if(counter==255)return;counter++;//正转计数加}elseif((Last_encoder_b==1)&&(Curr_encoder_b==0))//B从1到0为反转{if(counter==0)return;counter--;//反转计数减}}}/**********************************************************主函数**********************************************************/voidmain(void){P0=0xff;P1=0xff;P2=0xff;T2CON=0x00;//设置T2CON寄存器TH2=0xfc;//1ms定时TL2=0x66;ET2=1;//启用Timer2中断EA=1;//总中断允许TR2=1;//启动定时器2counter=0;//计数单元清零while(1){scan_encoder();if(!PIND)//当按下旋钮时{counter=0;//计数单元清零(归位)delayms(10);}}}/*********************************************************Timer2中断函数**********************************************************/voidtimer2()interrupt5{TR2=0;TF2=0;//手工清中断标志TH2=0xfc;//1ms定时常数TL2=0x66;if(n=3)//3位数码管显示{n=0;shift=0xfe;//送位码初值P2=0xff;//关闭显示}else{display[0]=counter%10;//个位数据display[1]=(counter%100)/10;//十位数据display[2]=counter/100;//百位数据if(display[2]==0){display[2]=0x0a;//百位为0,不显示if(display[1]==0)display[1]=0x0a;//十位为0,不显示}P0=LEDData[display[n++]];//送段码P2=shift;//送位码shift=(shift1)|0x01;//调整位码}}TR2=1;}/*********************************************************/
本文标题:旋转编码器程序
链接地址:https://www.777doc.com/doc-4081700 .html