■ 实验背景


42HS48EIS步进闭环电机最大转速 对于42HS48EIS这款步进电机和驱动合在一起的电机进行了测试,准备将其应用到实验室机械臂关节驱动中。但这款电机体积略长,现在又购得同款小体积的步进电机。通过实验确认它的一些基本应用性能。

▲ 实验电机的外观以及旋转光电编码器

使用高精度旋转编码器BH60测量步进电机转动角度 中介绍了BH60绝对位置高精度编码器的接口。这款编码器体积有些大。

BH38-Z06-S16384 是一款绝对14bit的位置传感器。在上述TB网站中界面中也给出了它的基本的接口协议。在 BH38-Z06数据手册 给出了详细的接口资料。

▲ BH38-Z06-S16384-MB1旋转传感器

BH38的主要特点:

  • ■ RS485自由协议(或Modbus RTU)/SSI/模拟输出,方便连接各种PLC、HMI及上位机设备
    ■ 多用途、多功能,直接对应单圈角度、长度测量
    ■ 宽工作电压,极低的耗电流
    ■ 外部置位线设定预设位置,安装方便,无需找零

对于上述传感器的型号中对应的基本参数可以参照BH38产品的命名规则来获得:

▲ BH38-产品选型命名规则

对比 BH60绝对位置旋转编码器 可以看到这款编码器的精度提高了4倍,原来的BH60的单圈输出为12bit(4096)。

相关应用:

  1. 基于STC8H1K28双轴机械臂驱动模块
  2. 42HS48步进电机实验
  3. 双轴机械臂调试

01测试BH38旋转编码器


1.通讯协议

(1) 传感器接口功能定义

对比 BH60绝对位置旋转编码器编程资料BH38-Z06单精度绝对值旋转编码器数据手册 中对于传感器接口定义,它们是相同的。因此后面的测试可以使用相同的 BH60绝对位置编码器测试 电路板进行测试。

▲ 传感器接口定义:BH60,BH38

(2) 传感器MODBUS协议

根据 MODBUS 协议,MODBUS对于设备的功能实现主要通过访问不同的寄存器空间来实现。下面是在 BH38-Z06单精度绝对值旋转编码器数据手册 给出的定义,对比之前的BH60编码器,它们的功能定义是完全相同的。

▲ MODBUS寄存器功能定义

2.测试实验

(1) 编码器读写MCU模块1

读写编码器的单片机模块还是使用在 基于STC8H1K28的BH60的角度读写模块 中给出的实验电路模块。

▲ 实验MCU电路板|STC8H1K28

(2) 接口制作

传感器的接口制作参考: BH60绝对位置编码器测试 中制作的方案。

▲ 传感器接口

连接传感器到实验MCU小板的接口。

(3) 测试结果

通过旋转角度,可以看到读出的数值的确是在0至16383之间变化。从而证明了该器件的:

  • 是一个绝对位置传感器;
  • 单圈的分辨率为14bit
  • 重新上电后传感器的位置依然存在。

静止传感器不同,连续读出100个数据,数据保持恒定。这说明传感器的精度满足最小分辨率的要求。

▲ 手工旋转传感器过程中读取的100个数值

※ 结论


通过实验检验了BH38旋转旋转角度传感器的硬件接口和软件协议。验证了传感器单圈分辨率。

通过读取数据也检测传感器本身的稳定性。

对于传感器的旋转线性性、温度的稳定性等问题,有待在其它工程应用中进行检测。

42HS48步进电机测试实验 中使用了BH38测量步进电机输出轴的的角度信息。

▲ 将步进电机的输入与旋转角度传感器连接在一起


  1. 单片机C51工程文件:C51\STC\Test\2020\Tools\BH60ReadSTC8H1K28\BH60ReadSTC8H1K28.uvproj ↩︎

BH38旋转编码器初步测试相关推荐

  1. 初出茅庐的小李第36篇博客之读取旋转编码器正反转状态(arduino uno 测试)

    旋转编码器的引脚 CLK(A相) DATA(B相) SWITCH VCC GND 工作原理 旋转编码器的工作原理以及如何在Arduino中使用 https://www.yiboard.com/thre ...

  2. linux4.6 EC11旋转编码器的驱动

    最近项目使用了旋转编码器EC11,遍查内核,发现并没有它的驱动,查了查CSDN,终于找到一篇有用的.根据自己的需要和对最基础的gpio_key.c的理解,我改写出了一份EC11的专用驱动. 感谢下面博 ...

  3. 两款旋转编码器测量LDP3806,BH60

    ■ 编码器型号 用于实验室机械臂控制高精度旋转编码器: LPD3806_400BW_G5_24C BH60_Z10_M1212_MB1 通过单片机来测试两款旋转编码器的参数和基本信号. ▲ 两款旋转编 ...

  4. Arduino 使用 旋转编码器

    相关资料链接 点这里 1.1 介绍: 本模块主要由旋转编码器组成,编码器(encoder)是将信号(如比特流)或数据进行编制.转换为可用以通讯.传输和存储的信号形式的设备.编码器把角位移或直线位移转换 ...

  5. 旋转编码器的原理和使用方法

    一.基本原理 旋转编码器是一种机电装置,可将轴的角运动,转换为A/B两相相位偏差90°的脉冲信号,其中C是A/B信号的参考地 [1]根据A/B信号的相位关系可以获取正反转方向. [2]通过脉冲的计数可 ...

  6. 旋转编码器:如何在 Arduino 上使用 Keys KY-040 编码器

    旋转编码器是一种输入设备,您可以在任一方向连续旋转.当您转动设备时,它会生成数字脉冲,以使用两个相控输出信号显示旋转方向.这两个输出还指示单个位置运动,因此您可以在控制面板中使用它们来增加或减少参数. ...

  7. Arduino使用旋转编码器

    这次介绍的是我买的37款传感器套件中的旋转编码器.首先是实物图. 通过查阅资料,旋转编码器既可以左右旋转,又能当成按钮按下.首先测试一下按下的功能,该功能对应的输出引脚是SW. 测试代码如下:  in ...

  8. 三菱PLC读取旋转编码器信号

    定义: 旋转编码器是用来测量转速的工具,可将输出轴的角位移.角速度等机械量转换成相应的电脉冲以数字量输出,同时旋转编码器可以配合PWM技术实现对速度的调节. 旋转编码器有单路输出.双路输出和三路输出等 ...

  9. 使用Arduino开发板连接ec11旋转编码器

    使用Arduino开发板连接ec11旋转编码器 因为最近要用到旋转编码器,从网上花了好长时间找了好多关于arduino使用旋转编码器的资料,总是找不到合适的,最后总结了一下(部分内容有借鉴,仅作分享, ...

最新文章

  1. html点击播放生日快乐歌曲大全,播放生日快乐歌曲.doc
  2. ArcPy学习入门(三):ArcPy 函数列表
  3. WEB学习-CSS盒模型
  4. java yii_一条路线不起作用(yii)
  5. 【Python+selenium Wendriver API】之鼠标悬停事件
  6. 计算机应用 范文,计算机应用基础(范文).doc
  7. 按照行数分割excel
  8. spring-第十篇之XML Schema的简化配置,p、c、util命名空间
  9. mysql bit_or() bit_count()函数
  10. android lottie大小,android-Lottie动画填充
  11. 20款英文LOGO字体
  12. html label 背景图片,Qt添加窗口背景图片、Label图片显示、、Label文字显示
  13. python语句分号_你知道分号在各种编程语言中的作用吗?
  14. 如何成为一个游戏制作人——第5.5章一个小游戏的框架
  15. 寒江独钓windows 内核安全编程学习笔记(双机调试)
  16. 我每年得忽悠10万程序员上车
  17. java实现身份证正反面图片的身份信息的识别
  18. 大漠穷秋叫狼哥哥要学好的书
  19. C++ 模板的显示具体化
  20. 人工神经网络基本构成有哪些,具有什么特征

热门文章

  1. 洛谷 P1330 封锁阳光大学 Label:染色问题
  2. 传统自定义标签(2)-Tag接口的执行流程(包含执行顺序的图片)
  3. go http的按序号发送,按序号接收
  4. C#正则表达式获取组名,按照组名输出匹配内容
  5. 淘宝分布式框架Fourinone2.0正式版发布
  6. shell 编程 判断语句参数
  7. JAVA用JNI方法调用C代码实现HelloWorld
  8. ECS控制台支持创建资源时绑定标签
  9. 撞库:2017年的大麻烦
  10. 《JavaScript设计与开发新思维》——1.7 JavaScript编程目标