一、实验

  1.光电反射理论是经过码盘的window时,电压变低,经过bar时,电压为高,这样可以通过检测到的脉冲数,来进行速度的获取。但是实际并不是这样,

反馈回来的信号是周期性的,经过试验发现,可以通过周期的时间间隔来进行速度的转换,周期越短,速度越快。

下图是逻辑分析仪采集到的波形:

码盘为25线,25mm直径。

第一行为A相   第二行为B相。

二、构思:

   编码器两个window的时间 = 第二个有效时间点 - 第一个有效时间点;

   现已知两个window的间距大概在1.37mm。由经过两个的时间,可算出当前的速度。

  1.有上图可以看出脉冲是周期性的出现的,上图比较紧凑的脉冲段定义为一个有效区域。两个有效区域的时间间隔大概在有效区域内的两个脉冲间隔时间的5倍以上。

  2.有效时间点在一个有效区域内选取。

三、有效时间点的怎么选择?

  根据电压由0.5V到13V的测试发现,A相一个有效区域内都在3个脉冲以上,而B相大多数为2个左右,故速度选择以A相为准。B相作为判断电机正反转的标准。

  1.计算出一个有效区域内,所有相邻脉冲的时间间隔。

  2.将所有脉冲的时间间隔与上次最优解对比,选择误差最小的一个时间间隔。

  3.最优解的初始化:第一次任选一个脉冲时间间隔。后面选择与上次误差最小的时间间隔。等到一个有效区域内B相出现2个以上的脉冲,而同时A相的脉冲低电平都在B相的低电平中。如上图中间的一个有效区域:B相有两个脉冲,而A相的两个脉冲都在B相中。此时第一个最优解为A相这两个脉冲的时间间隔。后续选择与上次最优解误差最小的时间间隔。

四、电机正反转:

  视角:电机在底层,芯片在中层,码盘在上层。从上往下看。

  当A相的低电平脉冲在B相低电平的后半个周期的时候,为逆时针。

  A相的低电平脉冲在A相的前半个周期的时候,为顺时针。

  在数据处理的时候,只有当电机速度为低速时,才会切换正反转标志位。具体低速阀值为多少,根据实际调试时决定。

AEDR8300:光电编码程序构思的更多相关文章

  1. 架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)

    在深入学习zookeeper我想先给大家介绍一个和zookeeper相关的应用实例,我把这个实例命名为远程调用服务.通过对这种应用实例的描述,我们会对zookeeper应用场景会有深入的了解. 远程调 ...

  2. 深圳电信光纤用户必备:简单破解中兴ZXA10 F460光电猫,实现WIFI和自动拨号功能

    最近搬家,ADSL转成光纤宽带,下载速度非常给力.原来的ADSL路由器派不上用场,电信的安装人员也给开通了wifi功能,只是wifi无法上网,而且拨号一定需要用电脑连网线进行拨号.以前是直接把拨号账户 ...

  3. [课程设计]Scrum 3.6 多鱼点餐系统开发进度(用户测试反馈页面构思&留言板设计)

    Scrum 3.6 多鱼点餐系统开发进度(用户测试反馈页面构思&留言板设计) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团 ...

  4. [课程设计]Scrum 2.0 多鱼点餐系统开发进度(第二阶段项目构思与任务规划)

    [课程设计]Scrum 2.0 多鱼点餐系统开发进度 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统WEB ...

  5. [课程设计]Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划)

    Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到 ...

  6. Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划)

    Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到 ...

  7. 论文的构思!姚小白的html5游戏设计开发与构思----给审核我论文的导师看的

    此处只为笔记 游戏么基本上确定是用canvas做个能一只手玩的游戏!基本打飞机之类的.毕竟手机也就上下班玩玩的.上下班么基本就是一只手拉着扶手一只手撸啊撸! 当然啦,如果能搞出超级牛逼的游戏,比如刺客 ...

  8. 伪Base16的构思和实现

    最近看见了一个迅雷地址,发现将其转换为普通链接的工具后,发现所谓专用地址地址就是原地址前加一个表示迅雷的前缀,后进行Base64编码.查阅Base64编码过程后,突发奇想:能否做一个Base16算法? ...

  9. OSS.Core基于Dapper封装(表达式解析+Emit)仓储层的构思及实现

    最近趁着不忙,在构思一个搭建一个开源的完整项目,至于原因以及整个项目框架后边文章我再说明.既然要起一个完整的项目,那么数据仓储访问就必不可少,这篇文章我主要介绍这个新项目(OSS.Core)中我对仓储 ...

  10. Spring初始化ApplicationContext线程托管实际运用架构构思

    今天我分享一个技术点,利用Spring初始化+线程接管进行程序启动后保持会话状态. 先来一段@test单元测试注解,后台开发的很熟悉,这是测试局部代码用的: @RunWith(SpringJUnit4 ...

随机推荐

  1. Android开发之应用更新或软件下载

    Android开发之应用更新或软件下载 本文章学习前提:okHttp3或以上,EventBus或其它事件总线工具,四大组件的Activity和Service,安卓通知基础知识 新建项目文件 目录结构如 ...

  2. lvm+xfs的扩缩容

    ext4文件系统可以经行扩缩容操作,但xfs的文件系统只能扩容,无法缩容 所以如果需要进行xfs的缩容,可以先使用xfsdump备份文件系统,然后对逻辑卷(/分区)进行缩容操作(此时原xfs文件系统会 ...

  3. Destination folder must be accessible

    问题 Ecplise拖入文件夹项目时提示错误:Destination folder must be accessible 解决 导入的时候包不能直接拖入,要使用import导入,选择File-> ...

  4. Scrum 框架的四个会议还适用于哪些敏捷方法?

    敏捷转型需要深入理解概念和思维,团队才能更好的进行实践.本文将通过介绍Scrum框架的四个会议还适用于哪些敏捷方法,来让大家更直观的理解敏捷转型. 本文整理自:PingCode 敏捷大学,转载请注明链 ...

  5. 关于python转义字符在正则匹配中的问题研究

    问题 首先看一个问题: import re text = r"\学" print(text) zz = r"\学" result = re.findall(zz ...

  6. 【SQL真题】SQL3:每类视频近一个月的转发量/率

    题目: https://www.nowcoder.com/practice/a78cf92c11e0421abf93762d25c3bfad?tpId=268&tqId=2285068& ...

  7. 【Java SE进阶】Day04 Map、Debug

    一.Map集合 1.概述 映射 /双列集合 集合分为Collection(存储一个元素 )和Map(存储一对元素) 键不能重复,值可以重复 2.常用子类 HashMap 哈希表存储数据 元素存取数据不 ...

  8. JavaScript入门⑤-欲罢不能的对象原型与继承-全网一般图文版

    JavaScript入门系列目录 JavaScript入门①-基础知识筑基 JavaScript入门②-函数(1)基础{浅出} JavaScript入门③-函数(2)原理{深入}执行上下文 JavaS ...

  9. Go适合做什么?为何这么多人偏爱Go语言?

    Go作为Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言. 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着 ...

  10. snprintf拼接字符串

    例如编辑一个txt文档,不断将字符输入,最终形成一个长句子.可以看成是字符串的不断拼接.snprintf函数具有这个功能. #include<stdio.h> void main(void ...