技术频道

娓娓工业
您现在的位置: 中国传动网 > 技术频道 > 技术百科 > 单圈绝对值编码器:原理与控制代码

单圈绝对值编码器:原理与控制代码

时间:2020-10-16 11:19:58来源:探头的蜗牛 控制算法研究

导语:​增量式编码器是将角度转化为周期性的电信号,再将这个电信号转化为脉冲,用脉冲的个数表示位移的大小;绝对式编码器内部的码盘的每一个位置对应一个确定的数字码,因此他的测量值只与起始和终止位置有关,与测量过程无关。

  一、SSI通信协议简介

  SSI(synchronous serial interface)同步串行接口。SSI通讯的帧格式如下图所示。数据传输采用同步方式,在空闲阶段不发生数据传输的时候时钟和数据都保存高电位,在第一个脉冲的下降沿触发编码器载入发送数据,然后每一个时钟脉冲的上升沿编码器送出数据,数据的高位在前、低位在后,当传送完所有的位数以后时钟回到高电平,数据也回到对应的高电平。

编码器.jpg

  二、增量式编码器和绝对式编码器

  增量式编码器是将角度转化为周期性的电信号,再将这个电信号转化为脉冲,用脉冲的个数表示位移的大小;绝对式编码器内部的码盘的每一个位置对应一个确定的数字码,因此他的测量值只与起始和终止位置有关,与测量过程无关。绝对值编码器因其每个位置绝对唯一、抗干扰、无需掉电记忆,已经广泛应用于各种工业控制系统中,实现角度、长度的高精度测量和控制。

  三、单圈绝对式编码器工作原理

  的单圈绝对值编码器内部有个码盘,码盘上有若干个码道,码道上有通孔和暗孔(不透光),对光电类的编码器,码盘位于光源与光接收器之间,当某个码道处于光源处(或者称为测量接口电路处),光电接收器接收到通过通孔的光信号置1,没有接收到光信号(暗孔)置0,这样一个固定的角度位置就可以被编码,十进制角度被编码成n位二进制;如图所示4位二进制,位数越高,码道数越多,编码器的测量分辨率也就越大,比如12位的编码器,分辨率为360/2^12=360/4096=0.0878。编制而成的二进制数据在接收到触发信号(SSI模式时一个上升沿),数据被移入到移位寄存器中,接下来,在接收器同步时钟模式下,每一个上升沿发送一位数据到数据线,控制器对其进行读取。

增量式编码器.jpg

  四、实例代码

  本测试实例通过读取旋转角度,并将角度信息发送到串口助手中

  (https://item.taobao.com/item.htm?   spm=a230r.1.14.68.1ee0c2dfGeO7eU&id=591334271759&ns=1&abbucket=19#detail)

  1、接线:

  编码器采用5v供电,TTL电平输出,通过三根线与单片机(stm32f10)传输数据。

绝对式编码器.jpg

  2、代码:

  (CSN-PA5;CLK-PA6;DO-PA7)

  CLK-模拟同步时钟,第一个下降沿开始传输数据,之后每一个上升沿输出数据;CSN-控制信号,数据传输时低电平,结束高电平;

  DO-数据输出端口

  端口配置:

void Gpio_Init(void){   GPIO_InitTypeDef  GPIO_InitStructure;     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);   //使能PA端口时钟  //GPIO_DeInit(GPIOA);
 //PA5-CSN -高速推挽输出  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;         //  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      //推挽输出  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //IO口速度为50MHz  GPIO_Init(GPIOA, &GPIO_InitStructure);           //    //PA6-CKL  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;           //  GPIO_Init(GPIOA, &GPIO_InitStructure);             //推挽输出 ,IO口速度为50MHz    //PA7-DO  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空输入  GPIO_Init(GPIOA, &GPIO_InitStructure);  }

  12位每次输出一个二进制位,将其读出并存储;开始读取数据时CSN需要一个高到低的电平跳变,然后循环读取中是CLK低到高的跳变,最后结束CLK和CSN都为高电平。

控制器.jpg

标签: 编码器控制器

点赞

分享到:

上一篇:数控车床编码器的精度与分辨...

下一篇:海德汉旋转编码器安装及拆卸

中国传动网版权与免责声明:凡本网注明[来源:中国传动网]的所有文字、图片、音视和视频文件,版权均为中国传动网(www.chuandong.com)独家所有。如需转载请与0755-82949061联系。任何媒体、网站或个人转载使用时须注明来源“中国传动网”,违反者本网将追究其法律责任。

本网转载并注明其他来源的稿件,均来自互联网或业内投稿人士,版权属于原版权人。转载请保留稿件来源及作者,禁止擅自篡改,违者自负版权法律责任。

网站简介|会员服务|联系方式|帮助信息|版权信息|网站地图|友情链接|法律支持|意见反馈|sitemap

中国传动网-工业自动化与智能制造的全媒体“互联网+”创新服务平台

网站客服服务咨询采购咨询媒体合作

Chuandong.com Copyright ©2005 - 2023 ,All Rights Reserved 版权所有 粤ICP备 14004826号 | 营业执照证书 | 不良信息举报中心 | 粤公网安备 44030402000946号