发新帖本帖赏金 50.00元(功能说明)我要提问
123下一页
返回列表

[STM32F1] 一步步从零开始制作TT电机正交编码器

[复制链接]
17924|41
手机看帖
扫描二维码
随时随地手机跟帖
逍遥李|  楼主 | 2021-10-24 21:19 | 显示全部楼层 |阅读模式
#申请原创#
@21小跑堂   @21小跑堂    @21小跑堂  

最近使用TT电机做小车,想装一个码盘用来测速,但是直接把码盘装在输出轴又很难做到足够的分辨率,于是就想到了一个比较冷门的方法,自制了一个码盘,并且以此为基础,给一个TT电机加装一组正交编码器。
开始吧!
1、先说一说正交编码器
从名字来说,正交编码器就是编码器的一种,百科上定义是“正交编码器一般指增量式编码器。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小……balabala……其实就是把圆周的旋转运动转换成2路相位差90度的电平跳变信号,如下图:
正交编码器原理示意.jpg

上图中有Z相,相当于是零点,可以消除累计误差,部分应用中可以不使用。
这种编码器的优点就是可以根据AB相位关系推测出转动方向,而且当圆周栅格数目为n时,跳变信号可以达到4n个,变相提高了分辨率。

那说了这么多,接下来我们就用最常见最便宜的TT减速电机为基础,使用2对射式光电开关(ITR9608),制作一个带正交编码器的电机。

2、准备材料,设计ITR9608原理图并焊接
首先是TT电机,可以说是最普遍最便宜的一款了,这还是我十年前入门玩智能小车时候买的存货
003.jpg
上图中箭头所指的位置是本方案的关键,就是要利用这一小点凸起搞点事情,首先用助焊剂轻轻擦拭一下这段短短的轴,然后准备一个小铜片(没有铜片铝片也行,再没有,切一点万用板也可以),大小控制在10mm边长,中间钻一个2mm多一点的孔(尽量居中钻孔),就像下面这样

004.jpg
接下来使用助焊剂轻轻擦拭铜片,然后将铜片通过小孔安装在电机轴上,如下图
微信截图_20211024202604.jpg
接下来的是关键一步,焊接铜片,使用60W电烙铁,快速焊接铜片的小孔,使其牢固地连接在电机轴上,对,这里其实是用来粘接码盘的一个基点,哈哈,所以我说这个凸出的一点点轴是关键。
ITR9608是一种常见的对射式光电开关,加两个电阻就可以使用了,设计了简单的原理图
ITR9608内部原理.jpg
005.jpg
按图焊接,需要焊接两个。

3、设计码盘组件安装座,并进行切割加工
007.png 008.png
这里有个地方要提示一下啊:上图中,两个光电开关的安装角度一定要注意,一个开关对准栅格的时候,另一个开关的位置要刚好被遮挡,这样就能保证信号“正交”,上图中使用的是24线码盘,两个传感器夹角67.5度。
009.jpg


4、安装码盘组件
010.jpg

由于上面24线码盘测试中发现会“丢失”信号,分析可能是由于栅格过于密集,后来切割了一个4线的,使用的是普通包装纸(更轻,避免对电机带负载能力产生影响)
011.jpg 013.jpg

5、基于stm32f103c8t6创建工程,编写驱动程序
这里主要的就是通过cubeMX对定时器模式进行配置,简单的两步就可以了,使用TIM2,在combined Channels选择“Encoder Mode”,如下图:
014.jpg
接下来配置一下编码模式,选择“……TI1 and TI2”,这样就会上升下降沿都计数,实际脉冲数数值上是栅格的4倍 015.jpg
其他的再配置一下串口,我准备用串口打印日志,查看脉冲数。
根据配置的引脚,连接编码器和控制板(分别接PA0和PA1),
012.jpg


6、测试效果
手动拨动码盘一周,可以看到串口读出16个脉冲,反转的时候读出的数值是-16,这里没有写其他复杂的算法,只是周期性读取,然后清零,所以不动的时候读出来的是0
017.jpg    016.jpg
代码分享:

flowControl.rar (4.4 MB, 下载次数: 14)

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 50.00 元 2021-10-26
理由:恭喜通过原创文章审核!请多多加油哦~

小叶三千| | 2021-10-25 08:31 | 显示全部楼层
感谢分享,利用光眼测小轮子的转速也是这个原理吧,编码器电机什么的

使用特权

评论回复
逍遥李|  楼主 | 2021-10-25 09:05 | 显示全部楼层
小叶三千 发表于 2021-10-25 08:31
感谢分享,利用光眼测小轮子的转速也是这个原理吧,编码器电机什么的

是的,一般是光电码盘或者磁码盘,原理类似

使用特权

评论回复
白纸扇00| | 2021-10-25 10:02 | 显示全部楼层
感谢分享!

使用特权

评论回复
大秦正声| | 2021-10-25 15:05 | 显示全部楼层
办法好,不过可靠性是个问题啊?现在网上有霍尔传感器的tt电机,可靠性好,这个带测速模块几年前还比较少。

使用特权

评论回复

评论

逍遥李 2021-10-26 09:15 回复TA
大佬,我去看了下带码盘的TT电机价格是不带的十多倍(*^▽^*),有点贵呀,自己做就了解下原理图个DIY乐趣^_^ 
逍遥李|  楼主 | 2021-10-25 16:17 | 显示全部楼层
大秦正声 发表于 2021-10-25 15:05
办法好,不过可靠性是个问题啊?现在网上有霍尔传感器的tt电机,可靠性好,这个带测速模块几年前还比较少。 ...

这个价格TT电机就是玩具用的,不存在危险的,不是工业用

使用特权

评论回复
圣骑士by| | 2021-10-27 17:06 | 显示全部楼层
这么大码盘,电机会不会太费劲?

使用特权

评论回复
逍遥李|  楼主 | 2021-10-27 18:19 | 显示全部楼层
圣骑士by 发表于 2021-10-27 17:06
这么大码盘,电机会不会太费劲?

开始那个木板做的就有阻力,转起来呼呼的风声,后面这个是纸板,很轻,不费劲的,主要还是电机尾部的轴太短,长点就可以有足够的安装空间就可以把盘做很小

使用特权

评论回复
yanzhengxin1| | 2021-11-5 18:08 | 显示全部楼层
霍尔和光栅哪一个更准一点,两种不同的方式,在高速、低速有着明显的区别。

使用特权

评论回复
coshi| | 2021-11-8 11:43 | 显示全部楼层
请问TT电机是什么种类的电机啊

使用特权

评论回复
gwsan| | 2021-11-8 12:03 | 显示全部楼层
请问这种电机的优势是什么呢

使用特权

评论回复
drer| | 2021-11-8 12:04 | 显示全部楼层
这个效果图是用什么做的啊

使用特权

评论回复
aoyi| | 2021-11-8 12:07 | 显示全部楼层
想要测速准确  最少需要两相的信息吧

使用特权

评论回复
zljiu| | 2021-11-8 12:09 | 显示全部楼层
也就是说一直相差的是90度是吗

使用特权

评论回复
逍遥李|  楼主 | 2021-11-8 22:15 | 显示全部楼层
coshi 发表于 2021-11-8 11:43
请问TT电机是什么种类的电机啊

TT电机是齿轮减速电机的统称,这里只那种很便宜很便宜的小黄减速电机……一两块一个的那种

使用特权

评论回复
逍遥李|  楼主 | 2021-11-8 22:15 | 显示全部楼层
yanzhengxin1 发表于 2021-11-5 18:08
霍尔和光栅哪一个更准一点,两种不同的方式,在高速、低速有着明显的区别。 ...

只用过光栅,表示不太清楚二者优劣

使用特权

评论回复
逍遥李|  楼主 | 2021-11-8 22:16 | 显示全部楼层
gwsan 发表于 2021-11-8 12:03
请问这种电机的优势是什么呢

这种电机,の就是玩具用的,要啥优势
便宜算一个吧O(∩_∩)O哈哈~

使用特权

评论回复
逍遥李|  楼主 | 2021-11-8 22:17 | 显示全部楼层
drer 发表于 2021-11-8 12:04
这个效果图是用什么做的啊

你说的是三维图是吧,SolidWorks,做机械的多数会用到

使用特权

评论回复
逍遥李|  楼主 | 2021-11-8 22:18 | 显示全部楼层
aoyi 发表于 2021-11-8 12:07
想要测速准确  最少需要两相的信息吧

两相你是说正交吗?这个就是亮相的,可以识别转动方向

使用特权

评论回复
逍遥李|  楼主 | 2021-11-8 22:19 | 显示全部楼层
zljiu 发表于 2021-11-8 12:09
也就是说一直相差的是90度是吗

是的,可以这样理解

使用特权

评论回复
123下一页
返回列表 发新帖 本帖赏金 50.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则