选择特殊符号
选择搜索类型
请输入搜索
编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
绝对型旋转编码器的机械安装使用:
绝对型旋转编码器的机械安装有高速端安装、低速端安装、
编码器(图4)
辅助机械装置安装等多种形式。
高速端安装:安装于动力马达转轴端(或齿轮连接),此方法优点是分辨率高,由于多圈编码器有4096圈,马达转动圈数在此量程范围内,可充分用足量程而提高分辨率,缺点是运动物体通过减速齿轮后,来回程有齿轮间隙误差,一般用于单向高精度控制定位,例如轧钢的辊缝控制。另外编码器直接安装于高速端,马达抖动须较小,不然易损坏编码器。
低速端安装:安装于减速齿轮后,如卷扬钢丝绳卷筒的轴端或最后一节减速齿轮轴端,此方法已无齿轮来回程间隙,测量较直接,精度较高,此方法一般测量长距离定位,例如各种提升设备,送料小车定位等。
辅助机械安装:
常用的有齿轮齿条、链条皮带、摩擦转轮、收绳机械等。
由一个中心有轴的光电码盘,其上有环形通、暗的刻线,
编码器(图5)
有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90度相位差(相对于一个周波为360度),将C、D信号反向,叠加在A、B两相上,可增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。
由于A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位。编码器码盘的材料有玻璃、金属、塑料,玻璃码盘是在玻璃上沉积很薄的刻线,其热稳定性好,精度高,金属码盘直接以通和不通刻线,不易碎,但由于金属有一定的厚度,精度就有限制,其热稳定性就要比玻璃的差一个数量级,塑料码盘是经济型的,其成本低,但精度、热稳定性、寿命均要差一些。
分辨率-编码器以每旋转360度提供多少的通或暗刻线称为分辨率,也称解析分度、或直接称多少线,一般在每转分度5~10000线。
1、编码器本身故障:是指编码器本身元器件出现故障,
编码器(图2)
导致其不能产生和输出正确的波形。这种情况下需更换编码器或维修其内部器件。
2、编码器连接电缆故障:这种故障出现的几率 最高,维修中经常遇到,应是优先考虑的因素。通常为编码器电缆断路、短路或接触不良,这时需更换电缆或接头。还应特别注意是否是由于电缆固定不紧,造成松动引起开焊或断路,这时需卡紧电缆。
3、编码器+5V电源下降:是指+5V电源过低, 通常不能低于4.75V,造成过低的原因是供电电源故障或电源传送电缆阻值偏大而引起损耗,这时需检修电源或更换电缆。
4、绝对式编码器电池电压下降:这种故障通常有含义明确的报警,
编码器(图3)
这时需更换电池,如果参考点位置记忆丢失,还须执行重回参考点操作。
5、编码器电缆屏蔽线未接或脱落:这会引入干扰信号,使波形不稳定,影响通信的准确性,必须保证屏蔽线可靠的焊接及接地。
6、编码器安装松动:这种故障会影响位置控制 精度,造成停止和移动中位置偏差量超差,甚至刚一开机即产生伺服系统过载报警,请特别注意。
7、光栅污染 这会使信号输出幅度下降,必须用脱脂棉沾无水酒精轻轻擦除油污。
分辨率1000P/R,开路输出。
PG是脉冲发生器(Pulse Generator)的缩写PG的功能的是产生脉冲信号,信号主要含两方面信息1,检测转子的磁极位置,并根据该位置通入电流2,检测机械的位置和速度
指的是增量型编码器的分辨率。它用编码器每圈输出的脉冲数(pulse per revolution )来表示。PPR 是pulse per revolution 的缩写。
编码器可按以下方式来分类。
1、按码盘的刻孔方式不同分类
(1)增量型:就是每转过单位的角度就发出一个脉冲信号(也有发正余弦信号,
编码器(图1)
然后对其进行细分,斩波出频率更高的脉冲),通常为A相、B相、Z相输出,A相、B相为相互延迟1/4周期的脉冲输出,根据延迟关系可以区别正反转,而且通过取A相、B相的上升和下降沿可以进行2或4倍频;Z相为单圈脉冲,即每圈发出一个脉冲。
(2)绝对值型:就是对应一圈,每个基准的角度发出一个唯一与该角度对应二进制的数值,通过外部记圈器件可以进行多个位置的记录和测量。
2、按信号的输出类型分为:电压输出、集电极开路输出、推拉互补输出和长线驱动输出。
3、以编码器机械安装形式分类
(1)有轴型:有轴型又可分为夹紧法兰型、同步法兰型和伺服安装型等。
(2)轴套型:轴套型又可分为半空型、全空型和大口径型等。
4、以编码器工作原理可分为:光电式、磁电式和触点电刷式。
信号输出有正弦波(电流或电压),方波(TTL、HTL),
编码器(图10)
集电极开路(PNP、NPN),推拉式多种形式,其中TTL为长线差分驱动(对称A,A-;B,B-;Z,Z-),HTL也称推拉式、推挽式输出,编码器的信号接收设备接口应与编码器对应。
信号连接-编码器的脉冲信号一般连接计数器、PLC、计算机,PLC和计算机连接的模块有低速模块与高速模块之分,开关频率有低有高。
如单相联接,用于单方向计数,单方向测速。
A.B两相联接,用于正反向计数、判断正反向和测速。
A、B、Z三相联接,用于带参考位修正的位置测量。
A、A-,B、B-,Z、Z-连接,由于带有对称负信号的连接,电流对于电缆贡献的电磁场为0,衰减最小,抗干扰最佳,可传输较远的距离。
对于TTL的带有对称负信号输出的编码器,信号传输距离可达150米。
对于HTL的带有对称负信号输出的编码器,信号传输距离可达300米。
优点:体积小,精密,本身分辨度可以很高,无接触无磨损;同一品种既可检测角度位移,又可在机械转换装置帮助下检测直线位移;多圈光电绝对编码器可以检测相当长量程的直线位移(如25位多圈)。寿命长,安装随意,接口形式丰富,价格合理。成熟技术,多年前已在国内外得到广泛应用。
缺点:精密但对户外及恶劣环境下使用提出较高的保护要求;量测直线位移需依赖机械装置转换,需消除机械间隙带来的误差;检测轨道运行物体难以克服滑差。
优点:体积适中,直接测量直线位移,绝对数字编码,理论量程没有限制;无接触无磨损,抗恶劣环境,可水下1000米使用;接口形式丰富,量测方式多样;价格尚能接受。
缺点:分辨度1mm不高;测量直线和角度要使用不同品种;不适于在精小处实施位移检测(大于260毫米)。
编码器在OEM市场的应用比例较高,主要应用于机床、电梯、伺服电机配套、纺织机械、包装机械、印刷机械、起重机械等行业。2010年,中国OEM市场的高速增长拉动了编码器市场的迅猛增长,2010年中国编码器市场的市场规模达到13亿元,同比增长42.9%。
从行业来看,电梯、机床和伺服电机配套是编码器的重点应用领域,占整体应用市场53%的市场份额。纺织机械、包装机械和印刷机械等领域目前市场份额较小,编码器一般不直接进入这三个行业,编码器生产企业的竞争主要集中在给这些机械行业提供伺服电机的电机生产厂环节。起重机械目前市场份额也较小,仅占4%-5%。在冶金和电子行业等项目型行业,编码器目前应用比例较低,仅占14%的市场份额。此外,编码器在医疗机械、风电、汽车生产线、混合动力汽车、水利、轨道交通等领域也有一定应用,但应用比例较低。
2010年风电行业自动化产品需求增长达到了50%以上,而电梯、伺服电机、纺织机械以及机床等编码器的主要应用领域增长也比较明显,是拉动增长的主要来源。
从厂商来看,目前欧美品牌占据高端市场,占三分之一以上的市场份额,产品价格定位高端,在重工和风电等新能源领域具有优势;日韩品牌主要占据中端市场,也占三分之一以上的市场份额,产品价格定位中端,在电梯、机床、伺服电机等行业应用较为广泛;而大陆企业主要参与中低端市场的竞争,产品价格较低,以占市场近半销售量仅获得25%的大陆市场销售份额。
市场份额较高的企业包括Heidenhain、Tamagawa、Nemicon、Yuheng、Baumer、Rep、P+F、Danaher、Koyo、Omron等。其中前三名企业市场份额占市场总额的将近50%,市场集中度较高,各企业主要针对的应用行业集中性较高、行业竞争较少。主流厂商业绩增长幅度也有明显差距,增长幅度最大的为60%,增长幅度最小的低于10%。
编码器分为绝对值型和增量型。目前绝对值编码器的价格大约是增量型编码器的4倍以上,国内市场上70%的应用是价格相对经济的增量型编码器,主要应用在如包装、纺织、电梯等行业中仅要求测量转速及对绝对位置测量要求不高的机器设备上。而在高精度机械设备或钢铁、港口及起重等重工业行业,由于对测量的精度要求相对较高,更多情况会使用绝对值编码器。在这些重工业行业应用中,由于工况比较恶劣,所以对编码器的抗冲击和振动等指标要求较高。
随着机械设备自动化程度的提高,编码器产品的应用领域也越来越广泛,客户已不再满足于编码器仅能将物理的旋转信号转换为电信号,还要求编码器集成度更高,产品更加耐用,并且希望能在绝对值编码器中出现更丰富的接口方式,使更多的设备实现智能化。
目前整个工业市场中生产安全及通信安全越来越被重视,国家层面也开始对产品的安全性能提出要求,编码器在安全标准方面也有相应规范,但由于国内编码器市场对产品技术要求相对较低,客户对中低端产品更为青睐。
它是一种将旋转位移转换成一串数字脉冲信号的旋转式传感器,
编码器(图6)
这些脉冲能用来控制角位移,如果编码器与齿轮条或螺旋丝杠结合在一起,也可用于测量直线位移。
编码器产生电信号后由数控制置CNC、可编程逻辑控制器PLC、控制系统等来处理。这些传感器主要应用在下列方面:机床、材料加工、电动机反馈系统以及测量和控制设备。在ELTRA编码器中角位移的转换采用了光电扫描原理。读数系统是基于径向分度盘的旋转,该分度由交替的透光窗口和不透光窗口构成的。此系统全部用一个红外光源垂直照射,这样光就把盘子上的图像投射到接收器表面上,该接收器覆盖着一层光栅,称为准直仪,它具有和光盘相同的窗口。接收器的工作是感受光盘转动所产生的光变化,然后将光变化转换成相应的电变化。一般地,旋转编码器也能得到一个速度信号,这个信号要反馈给变频器,从而调节变频器的输出数据。故障现象:1、 旋转编码器坏(无输出)时,变频器不能正常工作,变得运行速度很慢,而且一会儿变频器保护,显示"PG断开"...联合动作才能起作用。要使电信号上升到较高电平,并产生没有任何干扰的方波脉冲,这就必须用电子电路来处理。编码器pg接线与参数矢量变频器与编码器pg之间的连接方式,必须与编码器pg的型号相对应。一般而言,编码器pg型号分差动输出、集电极开路输出和推挽输出三种,其信号的传递方式必须考虑到变频器pg卡的接口,因此选择合适的pg卡型号或者设置合理.
编码器一般分为增量型与绝对型,它们存着最大的区别:在增量编码器的情况下,
编码器(图7)
位置是从零位标记开始计算的脉冲数量确定的,而绝对型编码器的位置是由输出代码的读数确定的。在一圈里,每个位置的输出代码的读数是唯一的; 因此,当电源断开时,绝对型编码器并不与实际的位置分离。如果电源再次接通,那么位置读数仍是当前的,有效的; 不像增量编码器那样,必须去寻找零位标记。
现在编码器的厂家生产的系列都很全,一般都是专用的,如电梯专用型编码器、机床专用编码器、伺服电机专用型编码器等,并且编码器都是智能型的,有各种并行接口可以与其它设备通讯。
编码器是把角位移或直线位移转换成电信号的一种装置。前者成为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.接触式采用电刷输出,一电刷接触导电区或绝缘区来表示代码的状态是"1"还是"0";非接触式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件时以透光区和不透光区来表示代码的状态是"1"还是"0"。
按照工作原理编码器可分为增量式和绝对式两类。
编码器(图8)
增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
旋转增量式编码器以转动时输出脉冲,通过计数设备来知道其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。这样,当停电后,编码器不能有任何的移动,当来电工作时,编码器输出脉冲过程中,也不能有干扰而丢失脉冲,不然,计数设备记忆的零点就会偏移,而且这种偏移的量是无从知道的,只有错误的生产结果出现后才能知道。解决的方法是增加参考点,编码器每经过参考点,将参考位置修正进计数设备的记忆位置。在参考点以前,是不能保证位置的准确性的。为此,在工控中就有每次操作先找参考点,开机找零等方法。这样的编码器是由码盘的机械位置决定的,它不受停电、干扰的影响。
绝对编码器由机械位置决定的每个位置的唯一性,它无需记忆,无需找参考点,而且不用一直计数,什么时候需要知道位置,什么时候就去读取它的位置。这样,编码器的抗干扰特性、数据的可靠性大大提高了。
由于绝对编码器在定位方面明显地优于增量式编码器,
编码器(图9)
已经越来越多地应用于工控定位中。绝对型编码器因其高精度,输出位数较多,如仍用并行输出,其每一位输出信号必须确保连接很好,对于较复杂工况还要隔离,连接电缆芯数多,由此带来诸多不便和降低可靠性,因此,绝对编码器在多位数输出型,一般均选用串行输出或总线型输出,德国生产的绝对型编码器串行输出最常用的是SSI(同步串行输出)。
多圈绝对式编码器。编码器生产厂家运用钟表齿轮机械的原理,当中心码盘旋转时,通过齿轮传动另一组码盘(或多组齿轮,多组码盘),在单圈编码的基础上再增加圈数的编码,以扩大编码器的测量范围,这样的绝对编码器就称为多圈式绝对编码器,它同样是由机械位置确定编码,每个位置编码唯一不重复,而无需记忆。多圈编码器另一个优点是由于测量范围大,实际使用往往富裕较多,这样在安装时不必要费劲找零点,将某一中间位置作为起始点就可以了,而大大简化了安装调试难度。多圈式绝对编码器在长度定位方面的优势明显,已经越来越多地应用于工控定位中。
应注意三方面的参数:
1、械安装尺寸:包括定位止口,轴径,安装孔位;电缆出线方式;安装空间体积;工作环境防护等级是否满足要求。
2、分辨率:即编码器工作时每圈输出的脉冲数,是否满足设计使用精度要求。
3、电气接口:编码器输出方式常见有推拉输出(F型HTL格式),电压输出(E),集电极开路(C,常见C为NPN型管输出,C2为PNP型管输出),长线驱动器输出。其输出方式应和其控制系统的接口电路相匹配。
OMRON编码器是用来测量转速的装置,光电式旋转编码器通过光电转换,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出(REP)。它分为单路输出和双路输出两种。技术参数主要有每转脉冲数(几十个到几千个都有),和供电电压等。单路输出是指旋转编码器的输出是一组脉冲,而双路输出的旋转编码器输出两组A/B相位差90度的脉冲,通过这两组脉冲不仅可以测量转速,还可以判断旋转的方向。
脉冲编码器是一种角位移传感器,同时也作为速度检测 装置用于速度检测,它能够把机械转角变成电脉冲。脉冲编码器可分为光电式、接触式和电磁式三种,其中,光电式应用比较多。
input_nodes=8*8//输入节点数 hidden_size=100//隐藏节点数 output_nodes=8*8//输出节点数
从mat文件中读取图像块,随机生成10000个8*8的图像块。
defsampleImage(): mat=scipy.io.loadmat('F:/ml/code/IMAGES.mat') pic=mat['IMAGES'] shape=pic.shape patchsize=8 numpatches=1000 patches=[] i=np.random.randint(0,shape[0]-patchsize,numpatches) j=np.random.randint(0,shape[1]-patchsize,numpatches) k=np.random.randint(0,shape[2],numpatches) forlinrange(numpatches): temp=pic[i[l]:(i[l] patchsize),j[l]:(j[l] patchsize),k[l]] temp=temp.reshape(patchsize*patchsize) patches.append(temp) returnpatches
defxvaier_init(input_size,output_size): low=-np.sqrt(6.0/(input_nodes output_nodes)) high=-low returntf.random_uniform((input_size,output_size),low,high,dtype=tf.float32)
代价函数由三部分组成,均方差项,权重衰减项,以及稀疏因子项。
defcomputecost(w,b,x,w1,b1): p=0.1 beta=3 lamda=0.00001 hidden_output=tf.sigmoid(tf.matmul(x,w) b) pj=tf.reduce_mean(hidden_output,0) sparse_cost=tf.reduce_sum(p*tf.log(p/pj) (1-p)*tf.log((1-p)/(1-pj))) output=tf.sigmoid(tf.matmul(hidden_output,w1) b1) regular=lamda*(tf.reduce_sum(w*w) tf.reduce_sum(w1*w1))/2 cross_entropy=tf.reduce_mean(tf.pow(output-x,2))/2 sparse_cost*beta regular# regular sparse_cost*beta returncross_entropy,hidden_output,output
为了使隐藏单元得到最大激励(隐藏单元需要什么样的特征输入),将这些特征输入显示出来。
defshow_image(w): sum=np.sqrt(np.sum(w**2,0)) changedw=w/sum a,b=changedw.shape c=np.sqrt(a*b) d=int(np.sqrt(a)) e=int(c/d) buf=1 newimage=-np.ones((buf (d buf)*e,buf (d buf)*e)) k=0 foriinrange(e): forjinrange(e): maxvalue=np.amax(changedw[:,k]) if(maxvalue<0): maxvalue=-maxvalue newimage[(buf i*(d buf)):(buf i*(d buf) d),(buf j*(d buf)):(buf j*(d buf) d)]= np.reshape(changedw[:,k],(d,d))/maxvalue k =1 plt.figure("beauty") plt.imshow(newimage) plt.axis('off') plt.show()
通过AdamOptimizer下降误差,调节参数。
defmain(): w=tf.Variable(xvaier_init(input_nodes,hidden_size)) b=tf.Variable(tf.truncated_normal([hidden_size],0.1)) x=tf.placeholder(tf.float32,shape=[None,input_nodes]) w1=tf.Variable(tf.truncated_normal([hidden_size,input_nodes],-0.1,0.1)) b1=tf.Variable(tf.truncated_normal([output_nodes],0.1)) cost,hidden_output,output=computecost(w,b,x,w1,b1) train_step=tf.train.AdamOptimizer().minimize(cost) train_x=sampleImage() sess=tf.Session() sess.run(tf.global_variables_initializer()) foriinrange(100000): _,hidden_output_,output_,cost_,w_=sess.run([train_step,hidden_output,output,cost,w], feed_dict={x:train_x}) ifi00==0: print(hidden_output_) print(output_) print(cost_) np.save("weights1.npy",w_) show_image(w_)2100433B