记录智能车自制霍尔编码器(PCB篇)

前文论述了智能车独轮车组自制编码器的可行性,昨天下单编码器今天就到货了,在此记录一下自制(抄板)年轻人的第一款编码器的历程。

到货的编码器

 这种商品店家自然是不可能提供原理图和PCB,能有尺寸图已经是非常好了。所以主要靠自己观察,好在构造本就很简单,传感器核心应该就是磁环和两个霍尔传感器,让我疑惑的是,磁铁只有两个磁极,而霍尔传感器一般针对一个磁极也只会有一种电平,这种编码器是如何转一圈输出很多个脉冲的?

优雅无比的霍尔编码器装配

 两种可能,第一种猜测:这个霍尔传感器比较特殊,根据磁极的大小分割了多段数字量自动输出脉冲,这样确实比较简单,但真的存在这样的传感器吗?如果是这样霍尔传感器的输出特性应当是:“磁场每变化一段,就输出一段高低电平脉冲”。这个逻辑显然不太好实现,对于小小的三条腿的基本传感器来说太复杂了。那就只能是第二种猜想:这个磁环不是常规磁铁,有好多对磁极。验证也很简单,用磁铁沿着一周走一圈就知道了。果然如此,我买的这个编码器是11线的,用磁铁固定一面沿着走一周确实明显分成了11段磁极。

标记出磁极的霍尔编码器

 这下就非常明了了,板子上的霍尔传感器的运行逻辑应当是“当检测到N极时输出高(低)电平,当检测到S极时输出低(高)电平”,符合这么一个小传感器的基本定位。基本的装配尺寸参考着这个模块稍微量一下就行。板子还有个非常重要的需要确定的就是两个传感器的位置,正交编码器要求两个传感器的输出波形有一个分明的相位差,就是说两个传感器的角度差不能是一对磁极夹角的整数倍。更理想的情况应该是,相位差刚好是一个磁极角度的一半。也就是说,对于N线的磁环,两个霍尔传感器的角度差应当是360/N*(B+0.25)或360/N*(B+0.75),B为0~(N-1)的整数。

比较方便买到的这款磁环是11线的,我直接选择了夹角为360*1.25/11来让两个传感器间距最小,这样便于腾出大片空间放学校队伍名和设计时间

智能车对于PCB标记的要求

 由于PCB对装配尺寸要求比较高,且元件需要精准定位,所以先使用CAD绘制PCB板框和元件的定位参考

使用CAD绘制的编码器PCB板框和关键点定位

 画出了磁极位置作为参考,可以看出,由360*1.25/11计算出的角度差可以让两个霍尔传感器保持1/4也就是8.17°的相位差。

理论数据推导完了,接下来就是简单愉快的画板时间,打开简单好用的立创EDA,找到霍尔传感器OH137,再用万用表蜂鸣器档测一下板上6个阻容的连接关系,两个电阻给AB相信号上拉,两个霍尔传感器的去耦电容,还有俩是AB相输出滤波电容。上拉电阻可以清晰看到512是5.1k的,滤波去耦电容不多说全是0.1uF。

 

霍尔编码器原理图

 还有个接线座,本来考虑到小体积想要用ZH1.5,刚好无刷电机也是ZH1.5。不查不知道,ZH1.5竟然额定电流只有1A,电机的接口额定电流1A,好家伙之余也想到这可能也是无刷电机要用24V供电的原因吧。还是老老实实用XH2.54,其实板子尺寸倒没啥限制,毕竟电机是凸出在外面的。

按照实际需求小改一下CAD导入的板框,再稍微摆一摆元件的位置,随便拉两根线连上,PCB就搞定了。

霍尔编码器V0.1

 最后不要忘了添加学校队伍名和日期,不能在丝印层,必须是铜箔层或者阻焊层,接下来就是等打板回来测试了。

 

 

 

  • 10
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
编码器可以使用RF或红外发射器传输多达16个TTL数字输入的状态。启用后,所包含的调制器将自动生成38kHz的红外线载波。 包含一个PIC微控制器,电路非常灵活。您可以决定哪些发射机输入将触发传输。您可以使用LATCH输入控制接收机输出被锁存或暂时。曼彻斯特编码的发射机输出非常适合最便宜的ASK无线电模块或红外线控制. 如果在编程PIC单片机时遇到麻烦,您可以考虑使用基于Holtek HT-12D,HT-12E和Motorola MC145026,MC145027,MC145028编码器/解码器的其他电路。 2 ^ 12编码器序号名称类型描述 1T0CKITTL输入连接到VDD 2VDD功率连接电源 3NC未连接 4VSS功率连接到地面 5NC未连接 6TXOUTTTL输出传输输出。LOW时不传输 直接连接到RF模块用于RF应用的DATA输入引脚 直接连接到IR LED或通过用于红外应用的晶体管** 7-modTTL输入调制 - 上电上拉为高电平禁止,拉低电平以启用38kHz载波 8-TETTL输入低电平有效使能 - 拉低电平传输 9-测试TTL输入低电平有效使能 - 在上电时拉低电平以产生固定的测试图案 10AD0TTL输入地址或数据,可选活动低电平触发* 11AD1TTL输入地址或数据,可选活动低电平触发* 12AD2TTL输入地址或数据,可选活动低电平触发* 13AD3TTL输入地址或数据,可选活动低电平触发* 14AD4TTL输入地址或数据,可选活动低电平触发* 15AD5TTL输入地址或数据,可选活动低电平触发* 16AD6TTL输入地址或数据,可选活动低电平触发* 17AD7TTL输入地址或数据,可选活动低电平触发* 18AD8TTL输入地址或数据,可选活动低电平触发* 19AD9TTL输入地址或数据,可选活动低电平触发* 20AD10TTL输入地址或数据,可选活动低电平触发* 21AD11TTL输入地址或数据,可选活动低电平触发* 22AD12TTL输入地址或数据,可选活动低电平触发* 23AD13TTL输入地址或数据,可选活动低电平触发* 24AD14TTL输入地址或数据,可选活动低电平触发* 25AD15TTL输入地址或数据,可选活动低电平触发* 26OSC2XTAL输出振荡晶体输出 27OSC1XTAL输入振荡器晶振输入 28-MCLRST输入复位输入,连接到VDD *源代码中设置了触发功能。拉低时的任何触发输入将作为-TE输入,使传输地址位仅在解码器端确定 **如果直接连接,则最大电流源/下降限制为25 mA 编码器代码见附件。 2 ^ 12解码器序号名称类型描述 1T0CKITTL输入连接到VDD 2VDD功率连接电源 3NC未连接 4VSS功率连接到地面 5NC未连接 6RXINTTL输入接收输入 其极性必须与编码器输出匹配 直接连接到RF模块用于RF应用的数据输出引脚直接 连接到红外接收器IC(例如TSOP1738)输出引脚用于红外应用 7-INVTTL输入低电平有效低电平反相AD0-AD15输出 8-LATCHTTL输入低电平有效低电平锁定AD0-AD15上的最后接收数据 拉高电平将AD0-AD15复位为无接收时的默认状态 9VTTTL输出有效传输指示灯 - 当 没有接收时有效数据包被接收为低电平时为高电平 10AD0TTL输入/输出*地址输入或数据输出* 11AD1TTL输入/输出*地址输入或数据输出* 12AD2TTL输入/输出*地址输入或数据输出* 13AD3TTL输入/输出*地址输入或数据输出* 14AD4TTL输入/输出*地址输入或数据输出* 15AD5TTL输入/输出*地址输入或数据输出* 16AD6TTL输入/输出*地址输入或数据输出* 17AD7TTL输入/输出*地址输入或数据输出* 18AD8TTL输入/输出*地址输入或数据输出* 19AD9TTL输入/输出*地址输入或数据输出* 20AD10TTL输入/输出*地址输入或数据输出* 21AD11TTL输入/输出*地址输入或数据输出* 22AD12TTL输入/输出*地址输入或数据输出* 23AD13TTL输入/输出*地址输入或数据输出* 24AD14TTL输入/输出*地址输入或数据输出* 25AD15TTL输入/输出*地址输入或数据输出* 26OSC2XTAL输出振荡晶体输出 27OSC1XTAL输入振荡器晶振输入 28-MCLRST输入复位输入,连接到VDD *地址位在软件中进行设置,并在编程MCU后修复。其他是数据位类型是TTL输入,当设置为地址位时,TTL输出设置为数据位。 解码器代码见附件。 软件所有的器件都使用新的基于FLASH的微控制器,这意味着它们可以重新编程多次。您可以尝试使用源代码设置来满足您的需求。代码必须在M

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值