多摩川编码器协议
多摩川编码器是一种常用的绝对值编码器,其协议基于485硬件接口的标准NRZ协议,通讯波特率为固定的2.5Mbps。以下是多摩川编码器协议的详细说明:
硬件接口
多摩川编码器使用RS485接口进行通信,接口定义如下:
- 5V供电:电源线
- GND:地线
- 485 A:数据线A
- 485 B:数据线B
- PE:保护地线(可选)
- 电池正极:多圈编码器特有的电池正极(单圈编码器没有此引脚)
- 电池负极:多圈编码器特有的电池负极(单圈编码器没有此引脚)
通讯参数
- 波特率:2.5Mbps
- 数据格式:1起始位,8数据位,1停止位
- 校验方式:无校验
- 通讯方式:半双工
协议结构
多摩川编码器的通讯协议包括以下几个主要部分:
- CF(Control Field):控制字段,表示命令类型。
- SF(Status Field):状态字段,表示编码器的状态。
- DF(Data Field):数据字段,表示具体的数据。
- CRC:循环冗余校验,用于数据校验。
命令类型
多摩川编码器支持多种命令类型,主要包括读取编码器信息状态和读写EEPROM的指令。
1. 读取编码器信息状态
-
读取单圈信息:
- 命令:
ID0 (0x02)
- 响应:
CF + SF + ABS0 + ABS1 + ABS2 + CRC
- 数据:
ABS0
:单圈位置低位ABS1
:单圈位置中位ABS2
:单圈位置高位(高7位为0,低17位为单圈位置信息)
- 命令:
-
读取多圈信息:
- 命令:
ID1 (0x8A)
- 响应:
CF + SF + ABM0 + ABM1 + ABM2 + CRC
- 数据:
ABM0
:多圈位置低位ABM1
:多圈位置中位ABM2
:多圈位置高位(高8位为0,低16位为多圈位置信息)
- 命令:
-
读取ID信息:
- 命令:
ID2 (0x92)
- 响应:
CF + SF + ENID + CRC
- 数据:
ENID
:编码器ID信息,默认为0x11
(表示17位)
- 命令:
-
读取全部信息:
- 命令:
ID3 (0x1A)
- 响应:
CF + SF + ABS0 + ABS1 + ABS2 + ENID + ABM0 + ABM1 + ABM2 + ALMC + CRC
- 数据:
ABS0
:单圈位置低位ABS1
:单圈位置中位ABS2
:单圈位置高位ENID
:编码器ID信息ABM0
:多圈位置低位ABM1
:多圈位置中位ABM2
:多圈位置高位ALMC
:报警状态
- 命令:
2. 清除和改变编码器状态
-
清除所有故障位:
- 命令:
ID7 (0xBA)
- 响应:无响应
- 操作:间隔62.5µs以上,连续发送10次
- 命令:
-
将当前位置设置为编码器零点:
- 命令:
ID8 (0xC2)
- 响应:无响应
- 操作:间隔62.5µs以上,连续发送10次
- 命令:
-
将多圈数据清零:
- 命令:
IDC (0x62)
- 响应:无响应
- 操作:间隔62.5µs以上,连续发送10次
- 命令:
3. 读写EEPROM
-
读取EEPROM:
- 命令:
ADF + EDF + CRC
- 响应:
CF + SF + EDF + CRC
- 数据:
ADF
:EEPROM地址EDF
:EEPROM地址的内容
- 命令:
-
写入EEPROM:
- 命令:
ADF + EDF + CRC
- 响应:
CF + SF + CRC
- 数据:
ADF
:EEPROM地址EDF
:要写入的数据
- 命令:
CRC校验
- 校验算法:CRC-8,多项式为
x^8 + x^2 + x + 1
(即0x07
) - 校验范围:从CF到DF的所有字节
示例
假设你要读取多摩川编码器的单圈位置信息,可以按照以下步骤进行:
-
发送命令:
0x02
-
接收响应:
0x02 0x00 0x12 0x34 0x56 0xAB
0x02
:CF(命令类型)0x00
:SF(状态字段)0x12
:ABS0(单圈位置低位)0x34
:ABS1(单圈位置中位)0x56
:ABS2(单圈位置高位)0xAB
:CRC(校验值)
总结
多摩川编码器协议基于RS422接口,支持多种命令类型,包括读取编码器信息状态、清除和改变编码器状态以及读写EEPROM。协议中使用CRC-8校验确保数据传输的可靠性。
相关文章:
多摩川编码器协议
多摩川编码器是一种常用的绝对值编码器,其协议基于485硬件接口的标准NRZ协议,通讯波特率为固定的2.5Mbps。以下是多摩川编码器协议的详细说明: 硬件接口 多摩川编码器使用RS485接口进行通信,接口定义如下: 5V供电&…...
Redis篇--常见问题篇7--缓存一致性2(分布式事务框架Seata)
1、概述 在传统的单体应用中,事务管理相对简单,通常使用数据库的本地事务(如MySQL的BEGIN和COMMIT)来保证数据的一致性。然而,在微服务架构中,由于每个服务都有自己的数据库,跨服务的事务管理变…...
活着就好20241225
亲爱的朋友们,大家早上好!🌞 今天是25号,星期三,2024年12月的第二十五天,同时也是第51周的第三天,农历甲辰[龙]年十一月初二十一日。在这晨光熹微的美好时刻,愿那和煦而明媚的阳光照…...
navicat在pg数据库中设置自增
navicat在pg数据库中设置自增 问题来源: 在springboot的mubatisplus的插入数据操作时,我们设置了id为自增,但是由于数据库那边没有设置自增,导致数据id为null,插入失败,但是发现navicat设置pg数据库自增不…...
在瑞芯微RK3588平台上使用RKNN部署YOLOv8Pose模型的C++实战指南
在人工智能和计算机视觉领域,人体姿态估计是一项极具挑战性的任务,它对于理解人类行为、增强人机交互等方面具有重要意义。YOLOv8Pose作为YOLO系列中的新成员,以其高效和准确性在人体姿态估计任务中脱颖而出。本文将详细介绍如何在瑞芯微RK3588平台上,使用RKNN(Rockchip N…...
2025年PMP项目管理考试时间一览表
PMP认证是全球项目管理领域公认的权威认证,它不仅能证明你在项目管理方面的专业水平,还能大大提升你的职场竞争力! 随着企业对项目管理人才的需求不断增长,获得PMP认证将为你带来更多的职业机会和高薪职位。 为了帮助大家合理安排…...
NS3学习——tcpVegas算法代码详解(1)
目录 一、源码 二、详解 1.定义日志和命名空间 2.注册Typeld类:TcpVegas和GetTypeId方法的实现 3.构造函数和析构函数 4.TcpVegas类中成员函数 (1) Fork函数 (2) PktsAcked函数 (3) EnableVegas函数 (4) DisableVegas函数 一、源码 /* -*- Mode:C; c-file-style:&qu…...
【RAII | 设计模式】C++智能指针,内存管理与设计模式
前言 nav2系列教材,yolov11部署,系统迁移教程我会放到年后一起更新,最近年末手头事情多,还请大家多多谅解。 上一节我们讲述了C移动语义相关的知识,本期我们来看看C中常用的几种智能指针,并看看他们在设计模式中的运…...
亚马逊云科技re:Invent:2025年将发生新变化
自从2006年推出Simple Storage Service(S3)和Elastic Compute Cloud(EC2)云计算服务以来,亚马逊云科技在过去的18年中,一直都是全球云计算技术的开创者和引领者。而随着人工智能技术的飞速发展和生成式AI时…...
某集团GIF动态验证码识别
注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 本文识别已同步上线至OCR识别网站: http://yxlocr.nat300.top/ocr/other/16 最近某集团更新了验证码,采用gif验证码,部分数据集展示如下...
llama.cpp:PC端测试 MobileVLM -- 电脑端部署图生文大模型
llama.cpp:PC端测试 MobileVLM 1.环境需要2.构建项目3.PC测试 1.环境需要 以下是经实验验证可行的环境参考,也可尝试其他版本。 (1)PC:Ubuntu 22.04.4 (2)软件环境:如下表所示 工…...
美国加州房价数据分析01
1.项目简介 本数据分析项目目的是分析美国加州房价数据,预测房价中值。 环境要求: ancondajupyter notebookpython3.10.10 虚拟环境: pandas 2.1.1 numpy 1.26.1 matplotlib 3.8.0 scikit-learn1.3.1 2. 导入并探索数据集 通用的数据分析…...
聚类算法DBSCAN 改进总结
目录 1. HDBSCAN (Hierarchical DBSCAN) 2. OPTICS (Ordering Points To Identify the Clustering Structure) 3. DBSCAN++ (DBSCAN with Preprocessing) 4. DBSCAN with k-distance 5. Density Peaks Clustering (DPC) 6. Generalized DBSCAN (GDBSCAN) 总结 是的,DBS…...
深入理解 Spring IoC 容器与依赖注入:从基本概念到高级应用的全面解析
IoC 容器与依赖注入 一、什么是IoC容器二、IoC原理1. 原理解释2. 一个通俗易懂的解释3. 举个例子a. 传统方式:手动创建对象b. IoC 和 DI:控制反转与依赖注入c. 解释d.总结三、依赖注入(DI)的三种方式1. 构造器注入(Constructor Injection)2. 字段注入(Field Injection)…...
什么是自我控制能力?如何提高自我控制能力?
什么是自我控制能力? 自我控制能力指,在遇到外在事物或者心理活动发生变化之时,人们仍然可以把握自身,指导接下来行动的能力。自我控制能力对一个人来说非常重要,因为在遇到一些事情之事,如果因为控制能力…...
【基于rust-wasm的前端页面转pdf组件和示例】
基于rust-wasm前端页面转pdf组件和示例 朔源多余的废话花哨的吹牛那点东西要不要拿来试试事到如今 做个美梦 我觉得本文的意义在于,wasm扩展了浏览器的边界,但是又担心如同java的web applet水土不服. 如同我至今看不出塞班和iOS的不同下载地址:在github的备份 朔源…...
Issac ROS navigation测试
软硬件环境 GPU: RTX 6000 Ada 系统: Ubuntu22.4 1. 启动Issac sim 从这个网页Develop on NVIDIA Omniverse Platform | NVIDIA Developer下载Omniverse Launcher, 然后执行./omniverse-launcher-linux.AppImage,从EXCHANGE里依次安装Isa…...
WWW23-多行为级联|级联图卷积网络的多行为推荐
论文:https://arxiv.org/abs/2303.15720 代码:https://github.com/SS-00-SS/MBCGCN 这篇论文MB-CGCN和上一篇CRGCN是同一个团队的,都是级联的方式。一个用了残差,一个用了特征转换,文章最后有discussion讨论了两者的不…...
实力认可 | 通付盾入选《ISC.AI 2024创新能力全景图谱》五项领域
近日,ISC.AI 2024创新能力百强(以下简称“创新百强”)正式发布《ISC.AI 2024创新能力全景图谱》。该全景图谱是由政企、资本、高校、行业力量共同完成了领域划分、综合创新等标准的制定,整合梳理了参评的300余家数字安全厂商、120…...
『Linux学习笔记』FRPC 详细介绍及配置解析!
『Linux学习笔记』FRPC 详细介绍及配置解析! 文章目录 一. FRPC 详细介绍及配置解析FRPC 的主要功能FRPC 配置文件解析全局配置代理配置第一个代理服务第二个代理服务 配置文件整体工作流程常见配置项说明FRPC 的使用步骤注意事项结论 二. 参考文献 一. FRPC 详细介…...
JS信息收集(小迪网络安全笔记~
免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!! 附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,…...
nmap扫描优化
扫描优化用来提高扫描效率。当描一个大范围网络中的主机时,如果使用通用的方法可能需要很长的时间,此时可以使用一些特定选项进行扫描优化,以提高扫描效率。Nmap提供了几种优化方式,如分组扫描、设置发包方式和超时时间等。 分组…...
Nautilus源码编译傻瓜式教程二
Nautilus源码编译傻瓜式教程一 Nautilus编译 依赖项文件 接上文,点击小锤子进行编译后出现如下的错误提示 看这个报错,未找到文件或目录,再看前面的git地址是github就知道肯定是下载有问题,查找下Nautilus项目,发现在nautilus/build-aux/flatpak/org.gnome.Nautilus.json文件…...
并发编程(19)——引用计数型无锁栈
文章目录 十九、day191. 引用计数2. 代码实现2.1 单引用计数器无锁栈2.2 双引用计数器无锁栈 3. 本节的一些理解 十九、day19 上一节我们学习通过侯删链表以及风险指针与侯删链表的组合两种方式实现了并发无锁栈,但是这两种方式有以下缺点: 第一种方式…...
Santa Claus 2 (st表的lower_bound用法)
题目链接:Santa Claus 2 #pragma GCC optimize(2) #include <bits/stdc.h> #define int long long #define fi first #define se second #define all(v) v.begin(),v.end() using namespace std; const int inf 0x3f3f3f3f3f3f3f; const int N 2e55; int …...
Reed-Muller(RM)码之编码
点个关注吧! 看了一些中文的博客,RM码没有很详细的资料,所以本文尝试给出推导原理。 推导 RM码由 ( r , m ) ( r , m ) (r,m)两个参数定义,记作 R M ( r , m ) RM(r,m) RM(r,m)。其中满足 0 ≤ r ≤ m 0 ≤ r ≤ m 0≤r≤m,含义为: 码长: n = 2 m n=2^m n=2m 维数:…...
新世纪的语言智能:GPT-5技术革新与市场前景展望
目录 引言 第一章:GPT-4的成就与局限 1.1 GPT-4的成功 1.2 GPT-4的局限性 第二章:对GPT-5技术革新的预测 2.1 增强的上下文理解能力 2.2 多模态能力的提升 2.3 创造力与多样性的增强 2.4 常识性知识与伦理性的提升 第三章:GPT-5的市…...
国高材服务 | 高分子结晶动力学表征——高低温热台偏光显微镜
众所周知,聚合物制品的实际使用性能(如光学透明性、硬度、模量等)与材料内部的结晶形态、晶粒大小及完善程度有着密切的联系,因此,对聚合物结晶形态等的研究具有重要的理论和实际意义。 随着结晶条件的不用,…...
python+PyPDF2实现PDF的文本内容读取、多文件合并、旋转、裁剪、缩放、加解密、添加水印
目录 读取内容 合并文件 旋转 缩放 裁剪 加密和解密 添加水印 安装:pip install PyPDF2 -i https://pypi.tuna.tsinghua.edu.cn/simple 读取内容 from PyPDF2 import PdfReader, PdfMerger, PdfWriterdef read_pdf(pdf_path):pdf_reader PdfReader(pdf_p…...
蓝桥杯物联网开发板硬件组成
第一节 开发板简介 物联网设计与开发竞赛实训平台由蓝桥杯大赛技术支持单位北京四梯科技有限公司设计和生产,该产品可用于参加蓝桥杯物联网设计与开发赛道的竞赛实训或院校相关课程的 实践教学环节。 开发板基于STM32WLE5无线微控制器设计,芯片提供了25…...
idea2024创建JavaWeb项目以及配置Tomcat详解
今天呢,博主的学习进度也是步入了JavaWeb,目前正在逐步杨帆旗航,迎接全新的狂潮海浪。 那么接下来就给大家出一期有关JavaWeb的配置教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正…...
【蓝桥杯每日一题】分糖果——DFS
分糖果 蓝桥杯每日一题 2024-12-24 分糖果 DFS 题目描述 两种糖果分别有 9 个和 16 个,要全部分给 7 个小朋友,每个小朋友得到的糖果总数最少为 2 个最多为 5 个,问有多少种不同的分法。糖果必须全部分完。 只要有其中一个小朋友在两种方案中…...
矩阵在资产收益(Asset Returns)中的应用:以资产回报矩阵为例(中英双语)
本文中的例子来源于: 这本书,网址为:https://web.stanford.edu/~boyd/vmls/ 矩阵在资产收益(Asset Returns)中的应用:以资产回报矩阵为例 在量化金融中,矩阵作为一种重要的数学工具,被广泛用于描述和分析…...
Jimureport h2命令执行分析记录
首先找testConnection接口,前面进行了jimureport-spring-boot-starter-1.5.8.jar反编译查找,接口找到发现请求参数是json var1是JmreportDynamicDataSourceVo类型,也就是如上图的dbSource,根据打印的结果可以知道这里是local cac…...
1114 Family Property (25)
This time, you are supposed to help us collect the data for family-owned property. Given each persons family members, and the estate(房产)info under his/her own name, we need to know the size of each family, and the average area and n…...
OpenEuler 22.03 安装 flink-1.17.2 集群
零:规划 本次计划安装三台OpenEuler 22.03 版本操作系统的服务器,用于搭建 flink 集群。这里使用flink1.17.2 的原因,是便于后续与springboot的整合 服务器名IP地址作用其他应用flink01192.168.159.133主jdk11、flink-1.17.2flink02192.168.…...
SQL—leetcode—175. 组合两个表
175. 组合两个表 表: Person -------------------- | 列名 | 类型 | -------------------- | PersonId | int | | FirstName | varchar | | LastName | varchar | -------------------- personId 是该表的主键(具有唯一值的列)。 该表包含一些人的 ID 和…...
html 中 表格和表单的关系与区别
在 HTML 中,表格 (<table>) 和表单 (<form>) 是两种常用于展示数据和收集用户输入的元素。它们具有不同的功能和结构。以下是关于这两者的详细介绍: 1. HTML 表格(<table>) 表格用于展示结构化的数据…...
Android14 OTA升级速度过慢问题解决方案
软件版本:Android14 硬件平台:QCS6115 问题:OTA整包升级接近20min,太长无法忍受。 该问题为Android高版本的虚拟AB分区压缩技术所致,其实就是时间换空间,个人推测AB分区压缩会节约硬件存储空间࿰…...
Jetson xavier 刷机安装教程
在对Jetson进行刷机过程,浏览了很多的相关教程,大部分教程并不全,而且按照步骤执行会出现许多奇奇怪怪的错误,为了避免大家踩坑,这里给出了完整的解决方法,希望能够提供帮助! 首先大家需要准备…...
Hadoop集群(HDFS集群、YARN集群、MapReduce计算框架)
一、 简介 Hadoop主要在分布式环境下集群机器,获取海量数据的处理能力,实现分布式集群下的大数据存储和计算。 其中三大核心组件: HDFS存储分布式文件存储、YARN分布式资源管理、MapReduce分布式计算。 二、工作原理 2.1 HDFS集群 Web访问地址&…...
芯科科技蓝牙、Wi-Fi、Wi-SUN产品广获业界认可,技术创新引领行业潮流
物联网领军企业领跑未来无线开发平台发展 2024年,Silicon Labs(亦称“芯科科技“,NASDAQ:SLAB)在物联网(IoT)领域持续深耕,凭借创新的企业发展理念与实践、行业领先的技术与产品&am…...
C语言——数据在内存中的存储
目录 前言 一数据类型 类型归类 二整形在内存中的存储 原反补码 大小端 相关练习题 三浮点数在内存中的储存 浮点数储存规则 前言 只有取学习数据在内存中的存储,我们在以后才能定义好(用好)各种类型的数据! 一数据类型…...
后端-redis
Redis RedisString类型String类型的常用命令 Hash类型Hash类型的常用命令 List类型List类型的常用命令 Set类型Set类型的常用命令 SortedSet类型SortedSet类型的常用命令 Redis序列化缓存更新策略缓存穿透缓存雪崩缓存击穿 Redis Redis是一个key-value的数据库,key…...
sqoop,flume草稿
连xftp传sqoop压缩包到/opt/soft 目录下 cd opt/soft/ tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop cd sqoop/conf/ cp sqoop-env-template.sh sqoop-env.sh vi sqoop-env-sh export HADOOP_COMMON_HOME/opt/soft/hadoop expo…...
UE5 渲染管线 学习笔记
兰伯特 SSS为散射的意思 带Bias的可以根据距离自动切换mip的卷积值 而带Level的值mipmaps的定值 #define A8_SAMPLE_MASK .a 这样应该就很好理解了 这个只采样a通道 带Level的参考上面的 朝左上和右下进行模糊 带Bias参考上面 随机数 4D 3D 2D 1D HLSL内置UV HLSL内置鼠标坐…...
线程池使用不当导致线程死锁
线程池使用不当导致线程死锁 问题代码问题分析 问题代码 在项目开发中,为了支持并发场景,减少资源开销,通常会使用公共线程池,即预先创建一个线程池,需要并发时都将任务提交该线程池中。类似如下代码 public class T…...
SpringBoot状态机
Spring Boot 状态机(State Machine)是 Spring Framework 提供的一种用于实现复杂业务逻辑的状态管理工具。它基于有限状态机(Finite State Machine, FSM)的概念,允许开发者定义一组状态、事件以及它们之间的转换规则。…...
细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV
目录 一、工程配置 1、时钟、DEBUG 2、GPIO 3、SPI2 4、USART6 5、NVIC 二、软件设计 1、FALSH (1)w25flash.h (2) w25flash.c 1)W25Q16基本操作指令 2)计算地址的辅助功能函数 3)器…...
HTMLCSS:惊!3D 折叠按钮
这段代码创建了一个具有 3D 效果和动画的按钮,按钮上有 SVG 图标和文本。按钮在鼠标悬停时会显示一个漂浮点动画,图标会消失并显示一个线条动画。这种效果适用于吸引用户注意并提供视觉反馈。按钮的折叠效果和背景渐变增加了页面的美观性。 演示效果 HT…...