旋转编码器模块Word下载.docx
- 文档编号:4141730
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:7
- 大小:46.04KB
旋转编码器模块Word下载.docx
《旋转编码器模块Word下载.docx》由会员分享,可在线阅读,更多相关《旋转编码器模块Word下载.docx(7页珍藏版)》请在冰点文库上搜索。
读数系统以由交替的透光窗口和不透光窗口构成的径向分度盘(码盘)的旋转为依据,同时被一个红外光源垂直照射,光把码盘的图像投射到接收器表面上。
接收器覆盖着一层衍射光栅,它具有和码盘相同的窗口宽度。
接收器的工作是感受光盘转动所产生的变化,然后将光变化转换成相应的电变化。
再使低电平信号上升到较高电平,并产生没有任何干扰的方形脉冲,这就必须用电子电路来处理。
读数系统通常采用差分方式,即将两个波形一样但相位差为180°
的不同信号进行比较,以便提高输出信号的质量和稳定性。
读数是再两个信号的差别基础上形成的,从而消除了干扰。
增量编码器:
增量编码器给出两相方波,它们的相位差90°
,通常称为A通道和B通道。
其中一个通道给出与转速相关的信息,与此同时,通过两个通道信号进行顺序对比,得到旋转方向的信息。
还有一个特殊信号称为Z或零通道,该通道给出编码器的绝对零位,此信号是一个方波与A通道方波的中心线重合。
增量型编码器精度取决于机械和电气两种因素,这些因素有:
光栅分度误差、光盘偏心、轴承偏心、电子读数装置引入的误差以及光学部分的不精确性。
确定编码器精度的测量单位是电气上的度数,编码器精度决定了编码器产生的脉冲分度。
以下用360°
电气度数来表示机械轴的转动,而轴的转动必须是一个完整的周期。
要知道多少机械角度相当于电气上的360度,可以用下列公式来计算:
电气360=机械360°
/n°
脉冲/转
图:
A、B换向时信号
编码器分度误差是以电气角度为单位的两个连续脉冲波的最大偏移来表示。
误差存在于任何编码器中,这是由前述各因素引起的。
Eltra编码器的最大误差为±
25电气角度(在已声明的任何条件下),相当于额定值偏移±
7%,至于相位差90°
(电气上)的两个通道的最大偏差为±
35电气度数相当于额定值偏移±
10%左右。
UVW信号增量型编码器
除了上述传统的编码器外,还有一些是与其它的电气输出信号集成在一起的增量型编码器。
与UVW信号集成的增量型编码器就是实例,它通常应用于交流伺服电机的反馈。
这些磁极信号一般出现在交流伺服电机中,UVW信号一般是通过模拟磁性原件的功能而设计的。
在Eltra编码器中,这些UVW信号是用光学方法产生,并以三个方波的形式出现,它们彼此偏移120°
。
为了便于电机启动,控制电动机用的启动器需要这些正确的信号。
这些UVW磁极脉冲可在机械轴旋转中重复许多次,因为它们直接取决于所连接的电机磁极数,并且用于4、6或更多极电机的UVW信号。
***************************************************************************
ARDUINO测试代码:
intredPin=2;
intyellowPin=3;
intgreenPin=4;
intaPin=6;
intbPin=7;
intbuttonPin=5;
intstate=0;
intlongPeriod=5000;
//Timeatgreenorred
intshortPeriod=700;
//Timeperiodwhenchanging
inttargetCount=shortPeriod;
intcount=0;
voidsetup()
{
pinMode(aPin,INPUT);
pinMode(bPin,INPUT);
pinMode(buttonPin,INPUT);
pinMode(redPin,OUTPUT);
pinMode(yellowPin,OUTPUT);
pinMode(greenPin,OUTPUT);
}
voidloop()
count++;
if(digitalRead(buttonPin))
{
setLights(HIGH,HIGH,HIGH);
}
else
intchange=getEncoderTurn();
intnewPeriod=longPeriod+(change*1000);
if(newPeriod>
=1000&
&
newPeriod<
=10000)
longPeriod=newPeriod;
if(count>
targetCount)
setState();
count=0;
delay
(1);
intgetEncoderTurn()
//return-1,0,or+1
staticintoldA=LOW;
staticintoldB=LOW;
intresult=0;
intnewA=digitalRead(aPin);
intnewB=digitalRead(bPin);
if(newA!
=oldA||newB!
=oldB)
//somethinghaschanged
if(oldA==LOW&
newA==HIGH)
result=-(oldB*2-1);
oldA=newA;
oldB=newB;
returnresult;
intsetState()
if(state==0)
setLights(HIGH,LOW,LOW);
targetCount=longPeriod;
state=1;
elseif(state==1)
setLights(HIGH,HIGH,LOW);
targetCount=shortPeriod;
state=2;
elseif(state==2)
setLights(LOW,LOW,HIGH);
state=3;
elseif(state==3)
setLights(LOW,HIGH,LOW);
state=0;
voidsetLights(intred,intyellow,intgreen)
digitalWrite(redPin,red);
digitalWrite(yellowPin,yellow);
digitalWrite(greenPin,green);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 旋转 编码器 模块