用Python编程实现编码器功能
1. 编码方向和速度
基本的编码方式是测量有多少个轮槽经过传感器,以此来得出速度和距离。若使用两个稍微分开的传感器,还能对方向进行编码。下面的示意图展示了其工作原理:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(单传感器):::process --> B(仅编码速度):::process
C(双传感器):::process --> D(编码方向: 序列1,2,3,4):::process
左边的系统仅对速度进行编码,右边的轮子通过1、2、3、4的序列来编码方向,该序列的方向即表示轮子的转动方向。对于构建具有记录和回放类型用户界面的机器人,或者鼠标/轨迹球而言,方向是重要信息,因此需要额外的复杂度和空间来对方向进行编码。这里我们选择仅编码速度这种较为经济的方式,所以在代码中要考虑这一点。
每个脉冲都有上升沿(信号上升)和下降沿(信号下降)。要统计脉冲数量,可以统计其中一种边沿类型,或者同时统计两种边沿类型以获得两倍的转换次数。
2. 所使用的编码器
我们将使用槽式编码器,它正好安装在之前添加的编码器轮子上方。这些编码器具有数字输出,我们可以在Python中对其脉冲进行计数,从而感知轮子转动的距离。推荐使用以下两种传感器:
| 传感器名称 | 描述 |
| ---- | ---- |
| FC - 03 光电中断器模块 | 位于示意图左侧
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



