用霍尔检测直流电机转数丢脉冲

[复制链接]
8830|25
 楼主| chenyongand 发表于 2010-12-22 11:06 | 显示全部楼层 |阅读模式

      我这需要控制电机的行程,现在采用的方法是用霍尔在电机轴上检测转数,但实际运行中,可能要丢脉冲。
      假如我电机转100个圈,从起点走到终点,这个起点和终点的位置 是固定的,但是某一次,从起点运行后,丢了一个脉冲,但程序控制中仍然要检测到100个脉冲才判断到位置,这样的话,就比以前的终点多走了一个脉冲,再返回的时候,如果又不丢脉冲了,就会离起点差一个脉冲才停下,也就是没到位置就停了,时间长了,几个月或者一年两年的,起点和终点就会与原先设定的相差一截。

      怎么避免这个问题??

      不要增加行程开关来纠正,因为电机只是引出了霍尔信号线到控制盒,可以改动控制板,增加几个电气元件,或者改变程序思路之类的。

maychang 发表于 2010-12-22 11:12 | 显示全部楼层
你的方法,类似于用增量编码器检测,只是比增量编码器更不可靠。
增量编码器有个位置信号,每转一圈输出一个脉冲,这样就不会产生累积误差。但掉电后重新上电,在轴没有转到产生该位置信号之前读数是不确定的。
要绝对不会产生误差,只能用绝对编码器。
hxy6951 发表于 2010-12-22 11:49 | 显示全部楼层
为什么会丢?是磁钢和霍尔安装的位置有差异,还是电机转速过快霍尔反应速度不够,还是程序对霍尔信号的处理有问题。
受不了了 发表于 2010-12-22 12:16 | 显示全部楼层
霍尔的响应速度极其快的,肯定是你程序有问题
受不了了 发表于 2010-12-22 12:21 | 显示全部楼层
本帖最后由 受不了了 于 2010-12-22 12:23 编辑

实在不行用大点的磁铁。楼主的设计也有点安全隐患,这样的机构一般前后都有限位开关的
armtft 发表于 2010-12-22 12:41 | 显示全部楼层
也有可能是一点点干扰,导致。

需要软硬件配合的。
 楼主| chenyongand 发表于 2010-12-22 16:14 | 显示全部楼层
4# 受不了了
那么在写程序的时候,要注意些什么问题呢???
我那霍尔接的是mcu的外部中断引脚,边沿触发中断。
 楼主| chenyongand 发表于 2010-12-22 16:17 | 显示全部楼层
6# armtft
可否说的详细点,我那电机的霍尔到控制板是三根线线连接的,(电源,地,信号线),长度大概在20cm左右。
软件硬件上具体有哪些需要注意?
 楼主| chenyongand 发表于 2010-12-22 16:19 | 显示全部楼层
2# maychang
换编码器成本太大了,领导很相中这霍尔,便宜,体积小,现在要不换霍尔,还要能避免丢脉冲
lhkjg 发表于 2010-12-22 16:34 | 显示全部楼层
那就自己用光耦跟简易的金属码盘模拟编码器,也很便宜的
zhaoyu2005 发表于 2010-12-22 17:01 | 显示全部楼层
既然你保证不了100%准确,就老实增加行程开关或者其他类似部件,能检测是否回到原点

即使你能检测准确,你能保证不出其他意外么?出了意外后,再上电怎么保证执行正确
grey0511 发表于 2010-12-22 17:08 | 显示全部楼层
不错,学习了








SIGNATURE..........................................................................................
徐州电脑维修
徐州网站制作
桑拿房 光波浴房
iC921 发表于 2010-12-22 17:46 | 显示全部楼层
脉冲不太多,可以通过模拟电路对脉冲进行积分-保持,或可结合A/D,进行分辨

      我这需要控制电机的行程,现在采用的方法是用霍尔在电机轴上检测转数,但实际运行中,可能要丢脉冲。
      假如我电机转100个圈,从起点走到终点,这个起点和终点的位置 是固定的,但是某一次,从起点运行后,丢了一个脉冲,但程序控制中仍然要检测到100个脉冲才判断到位置,这样的话,就比以前的终点多走了一个脉冲,再返回的时候,如果又不丢脉冲了,就会离起点差一个脉冲才停下,也就是没到位置就停了,时间长了,几个月或者一年两年的,起点和终点就会与原先设定的相差一截。

      怎么避免这个问题??

      不要增加行程开关来纠正,因为电机只是引出了霍尔信号线到控制盒,可以改动控制板,增加几个电气元件,或者改变程序思路之类的。
zjp8683463 发表于 2010-12-22 17:57 | 显示全部楼层
1.可以用分辨率更高的编码器,丢一个脉冲也没什么事情
2.用绝对编码器
maychang 发表于 2010-12-22 18:09 | 显示全部楼层
楼主还没有注意到掉电后恢复情况呢。
nongfuxu 发表于 2010-12-23 08:27 | 显示全部楼层
这个起点和终点的位置 是固定的,但是某一次,从起点运行后,丢了一个脉冲
单个霍尔元件一般地说是检测"以整圈为单位"的转动圈数, 所以LZ现有的三线输出霍尔传感器要达到你设计的要求比较难,而且每次正反转动的起始时刻,若有一次霍尔片正好在与磁铁重叠位置,此时传感器输出是什么信号?,若你的电路中仅仅是对脉冲数数,那这个起点位置上应该有的脉冲数就没有了.增加判断霍尔传感器输出是高电平,还是低电平电路可以改善起点位置判断,但最多只能做到"以整圈为单位"的转动圈数.
要精确控制"电机的行程",至少不撞墙的话,还是行程开关好,用霍尔开关嘛! 若用编码器那更好了.当然费用是成几何级数上升.
受不了了 发表于 2010-12-23 08:47 | 显示全部楼层
本帖最后由 受不了了 于 2010-12-23 08:50 编辑

楼主的霍尔信号都来不及检测更不要说编码器了;P
霍尔的可靠性很高,但质量也有好有坏,浙江洞头产的那种慎用,还有上面有网友提到的掉电存储也是个问题,所以比较合理的是有个零位,上电后手动回零一下,每次工作循环也回零一下,前后两边还要有个限位
lyz6118 发表于 2010-12-23 11:28 | 显示全部楼层
应该和起始时霍尔的位置有关系,应该设置个零位,每次上电后自动归零,再做其他动作。
 楼主| chenyongand 发表于 2010-12-23 16:25 | 显示全部楼层
回复所有人:::


我的霍尔是带保持的,比如这次是磁钢N极,让输出为1,即使磁钢离开了,仍然保持为1,除非有S极过来一下,然后变为0并保持,如此循环。
  
  另外,我这断电保存都有了,这个不用担心。现在主要就是偶尔的丢脉冲,造成累积误差,想换成别的检测方法都不行,领导规定了,必须要用霍尔的前体下,还要保证位置不错。其实中间要是有个参考点也好办,每次到那个店就自动纠正脉冲个数,现在根据实际情况,那个参考点也不好加,真让人头痛
mmax 发表于 2010-12-23 16:37 | 显示全部楼层
会不会是偶尔有停止的时候,霍尔刚好保持在那。
然后下次操作,你CPU检测就把这个给漏掉了。

CPU是用沿来检测吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

514

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部