首页 > 其他分享 >关于多圈绝对值编码器越0点数据的连续处理

关于多圈绝对值编码器越0点数据的连续处理

时间:2024-09-28 10:49:12浏览次数:3  
标签:编码器 01 多圈 NUM3 00 flag 绝对值

关于多圈绝对值编码器越0点数据的连续处理

说明

本次分享指在分享思路;此次演示案例为一款rs485通讯的多圈绝对值编码器,接收的数据格式为01 03 04 00 00 00 00 FA 33(01为从机地址,03为功能码,04为数据字节长度,00 00 00 00为测量数据,FA 33为校验码)

测量数据中,前面四位表示步数,当由FF FF00 00时,最后两位就由00变为01,也就是前面走过65536步,后面计数加一

处理办法

多圈绝对值编码器也是有数据上限的,一般的只能记录到4096圈,当达到4096圈时,下一次又会跳转到第0圈,为了使数据连续,这儿提供我的一个处理办法:采用两个标志位,构成00 01 10 11四种状态,还是直接看代码,也就是需要flag_2与flag_4来构成四种状态,然后在相应状态下处理数据就行
在这里插入图片描述

我们知道这由四种状态构成那后面就好处理了,现在就是需要判断出这四种状态
注:这儿的NUM3是获取的圈数,

//判断编码器由00到ff
if(NUM3 == 0x00)
	{
		flag_1 = 1;
	}
	if((flag_1 == 1&&NUM3 == 0xFF))
	{
		flag_2 = 1;           //打开从右往左计算
		flag_1 = 0;
		Internal_WriteFlash(0x08009000,&flag_2,sizeof(flag_2));   //写入flash中
		Internal_WriteFlash(0x0800a000,&flag_4,sizeof(flag_4));	
	}
	//判断编码器由ff到00
	if(NUM3 == 0xFF)
	{
		flag_3 = 1;
	}
	if(flag_3 == 1&&NUM3 == 0x00)
	{
		flag_4 = 1;          //打开从左往右的计算 
		flag_3 = 0;
		Internal_WriteFlash(0x08009000,&flag_2,sizeof(flag_2));  //写入flash中
		Internal_WriteFlash(0x0800a000,&flag_4,sizeof(flag_4));	
	}

这儿我将数据的处理标志存入了flash中,这样做是让主控在断电重新上电能够按照正确的方式处理数据

总结

就是将编码器由00变到FF作为一个状态,由FF变到00作为一个状态,剩下的作为正常状态就行,刚好对应这00 01 10 11。

标签:编码器,01,多圈,NUM3,00,flag,绝对值
From: https://blog.csdn.net/qq_45611089/article/details/137255484

相关文章

  • 时间序列无监督异常点检测算法_孤立森林,局部离群因子检测和自编码器
    数据入口:压气机异常检测一维时间序列-Heywhale.com该数据为采样自工业压气机的一维时间序列数据。本文将通过无监督时间序列算法进行时间序列异常检测。针对时间序列数据,常用的无监督异常检测算法包括:孤立森林(IsolationForest)、基于密度的局部离群因子检测(LOF)、自编码器(Au......
  • 编码器与霍尔传感器的工作原理及区别
    霍尔传感器示意图:120度安装: 60度安装:霍尔编码器示意图:工作原理:霍尔传感器:基于霍尔效应,利用霍尔元件检测磁场变化,从而确定位置和运动。当磁场发生变化时,霍尔传感器产生电压信号,用于检测转子位置或线性运动的位置。霍尔传感器通常用于无刷直流电机中,通过检测永磁体的位......
  • KTH7823——16 位高精度低延时霍尔磁编码器可编程 ABZ 和 PWM 输出模式角度传感器
    KTH7823是一款高精度绝对角度霍尔传感器芯片,最高16位分辨率绝对角度输出,可实现在轴向和离轴场合下的无接触式磁场角度测量。不论转速范围在0-120000rpm之间,KTH7823都能快速准确地输出角度信息,适用于需要精准角度测量和转速控制的各个领域。KTH7823......
  • 同三维T80001EH8 8路高清HDMI编码器:高清HDMI编码器
    同三维T80001EH88路高清HDMI编码器8路HDMI输入+8路3.5音频输入,4路4K30+4路高清1080P60,两个网口,带两个小液晶屏【产品型号】T80001EH8同三维T80001EH88路高清HDMI编码器【系列介绍】8路HDMI高清编码器是专业的高清音视频编码产品,只需要占用较小的带宽,即可获得高清晰......
  • 同三维T80001EH4 4路高清HDMI视频编码器:高清HDMI编码器
    同三维T80001EH44路高清HDMI视频编码器4路HDMI输入+4路3.5音频输入,支持2路4K30和2路高清1080P60,带小液晶屏,POE供电可选【产品型号】T80001EH4同三维T80001EH44路高清HDMI视频编码器【系列介绍】4路HDMI高清编码器是专业的高清音视频编码产品,只需要占用较小的带宽,......
  • 机器翻译之创建Seq2Seq的编码器、解码器
    1.创建编码器、解码器的基类1.1创建编码器的基类fromtorchimportnn#构建编码器的基类classEncoder(nn.Module):#继承父类nn.Moduledef__init__(self,**kwargs):#**kwargs:不定常的关键字参数super().__init__(**kwargs)defforwa......
  • 1749. 任意子数组和的绝对值的最大值
    题目链接1749.任意子数组和的绝对值的最大值思路前缀和/动态规划-最大子数组和-简单变体题解链接两种方法:动态规划/前缀和(附题单!Python/Java/C++/Go/JS)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现(动态规划):classSolution:defmax......
  • CMS32L051使用旋转编码器
    文章目录概要代码小结概要CMS32L051使用外部中断的方式识别旋转编码器的方向。选取其中一个信号A进行外部中断触发,由于信号A空闲时处于高电平,因此初始化时外部中断使用下降沿触发;触发第一个下降沿后,判断当前是否已经触发了上升沿,如果已经触发上升沿,则需要判断当前......
  • 深度学习自编码器 - 正则自编码器篇
    序言深度学习领域中,自编码器(Autoencoder\text{Autoencoder}Autoencoder)作为一种无监督学习技术,凭借其独特的结构在数据降维、特征提取、异常检测及数据去噪等方面展现出......
  • Arduino ESP32 oled显示,增量式编码器测距程序
      ESP3214引脚接编码器A,13引脚接编码器B,21、22为I2C默认引脚,程序根据编码器A触发ESP32的22脚中断,然后判断编码器B在ESP32的21脚状态是高电平还是低电平,来决定编码器是正转还是反转,也就是数值应该加还是减。   程序设计为编码器转一圈为1000个脉冲也就是编码器分辨率......