搜索
bottom↓
回复: 54

要测转动圆盘的转速和位移(要判定转动方向),想通过霍尔开关做,用双极性的霍尔开关传感器

[复制链接]

出0入0汤圆

发表于 2009-12-24 16:50:27 | 显示全部楼层 |阅读模式
双极性的霍尔开关传感器有双极开关型和双极锁存型,二者有什么区别,在此方案中用哪一种?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2009-12-25 09:32:12 | 显示全部楼层
大侠们多指教啊!!急等

出0入0汤圆

发表于 2009-12-25 09:50:48 | 显示全部楼层
此类问题要学会自己找资料,不要依赖别人。
比如:GOOGLE “霍尔传感器简介”,“霍尔 测速”等。

学习方法比知识更重要。

找了一个,能理解差别吗?

(原文件名:霍尔.JPG)

出0入0汤圆

 楼主| 发表于 2009-12-25 13:56:34 | 显示全部楼层
恩,受教啦!之前也是查了很多网站和资料,一直没有找到比较全面的,我继续找,大侠们有的资料不妨也分享一下

出0入0汤圆

 楼主| 发表于 2009-12-25 16:26:12 | 显示全部楼层
单极型和锁定型的区别之前查过资料区别能分析出来,目前还不清楚双极开关型和双极锁存型的区别

出0入0汤圆

发表于 2009-12-25 16:39:48 | 显示全部楼层
装两个霍尔开关传感器

出0入0汤圆

 楼主| 发表于 2009-12-25 16:42:47 | 显示全部楼层
【5楼】 ppa2001
装两个霍尔开关传感器
-----------------------
考虑到两个霍尔开关不便安装,目前好像双极性的霍尔元件可以解决,也见到过实例,就是不知道辨向原理

出0入0汤圆

发表于 2009-12-26 15:37:51 | 显示全部楼层
把样机做好, 正转到几圈,再反转几圈, 用单片机按一定频率把数据采集出来, 看一下数据有什么不同, 估计可判别方向和速度

我用3503测试了一组参数,供你参考
     <1>  3503 在没有磁铁时, 中间值是 500 (相对于2.5V),
     <2>  磁铁在 上方, 从背面向正面移动, 参数值是  480,470,460
     <3>  磁铁在正上方, 参数值是470
     <4>  磁铁继续向正前方移动, 参数值是 530,520,510
     <5>  如果磁铁由正面向反面移动,参数值则反过来
                510,520,530,470,460,470,480....
      以上参数是手拿着磁铁移动时所测试的,误差较大, 但趋势是对的, 供你参考

出0入0汤圆

发表于 2009-12-29 06:09:19 | 显示全部楼层
正轨的设计必须用2个。
非正轨的设计可以用一个,但1。测的速度不能快,2。预知转速特性(限制最大加速度),3。感应齿加工复杂。(最好不用)

出0入0汤圆

 楼主| 发表于 2009-12-29 10:18:53 | 显示全部楼层
【8楼】 elder60 60岁老头
正轨的设计必须用2个。
非正轨的设计可以用一个,但1。测的速度不能快,2。预知转速特性(限制最大加速度),3。感应齿加工复杂。(最好不用)
------------------------------------------------------------------------------------------------------------
测得速度是不够快的,现场其他厂家做的就是用的一个双极性探头实现的,我想取下位移、转动方向信号,所以在人家贴好磁钢的基础上加一个霍尔传感器取出信号。但就是不清楚用双极性探头怎么辨相的。楼上能给详细指点下吗?谢谢!

出0入0汤圆

 楼主| 发表于 2009-12-29 10:20:38 | 显示全部楼层
关于辨相的方法好像网上的资料也很有限啊,大侠们不妨多讲解一下或提供下相关资料哈

出0入0汤圆

 楼主| 发表于 2009-12-29 13:25:30 | 显示全部楼层
通过学习,目前对霍尔元件有了基本的了解,针对如何辨向的问题,大虾们看看我的确定方法可行不?


用两个锁存型的霍尔元件记为A和B,一前一后安装,所以二者输出的波形相差一定的相位。检测到A上升沿时,判断B输出的电平状态,如果输出低电平暂定为正转,如果检测到高电平则说明圆盘反转。如此可以判定转向

出0入0汤圆

发表于 2009-12-29 14:33:03 | 显示全部楼层
思路基本正确。

出0入0汤圆

发表于 2009-12-29 21:28:51 | 显示全部楼层
请问楼主,你的圆盘每分钟大约多少转?,

出0入0汤圆

 楼主| 发表于 2009-12-30 08:37:48 | 显示全部楼层
【13楼】 my2009
请问楼主,你的圆盘每分钟大约多少转?
-------------------------------------
圆盘直径4米,圆盘周围均布100左右个磁钢,最快转速为1r/s

出0入0汤圆

 楼主| 发表于 2009-12-30 08:49:33 | 显示全部楼层
磁钢可以只用S型的,用两个单极型霍尔(A和B)进行测速、位移量和辨向。(也可以用一个带双霍尔的代替,但目前没有找到合适的厂家,大侠们知道的话给推荐一下哈~,霍尔最好是封装好的成品)。
两个霍尔安装时相位相差90°,A输出接计数器和外部中断,用以计算脉冲个数和检测脉冲上升沿,B输出可以接普通IO口,用以判断电平情况,这样根据脉冲数量可以计算转速与位移,根据检测到A的脉冲上升沿和B的电平情况(正反转二者的相位情况刚好相反)可以判断转向。

出0入0汤圆

 楼主| 发表于 2009-12-30 10:09:32 | 显示全部楼层
用单极磁钢估计上述方式还不行,A,B两传感器输出的波形的正脉冲占空比比较小,方向估计判断不出来。

两个霍尔元件的相位相差不能太大,但相差多少才为合适呢?一个正对磁钢,另一个偏离磁钢2mm?没概念了,大虾指点

出0入0汤圆

发表于 2009-12-30 11:47:15 | 显示全部楼层
<1>  如果要用两个霍尔元件,我觉得两个霍尔元件应该拉开一定距离,正对磁钢(不是相位相差90),根据两者电平变化的时间差
     判段速度的方向.
<2>  有个问题: 圆盘有原点吗, 或者说圆盘上99个磁钢S极朝外,一个磁钢N极朝外(原点)? 用开关型霍尔元件好像不能判别极性
     不知是否需要判别原点
<3>  "最快转速为1r/s "------- 每秒一圈? /  每分钟一圈?
<4>  不管用一个/ 两个霍尔元件, 还是90度/拉开距离安装,   建议你先搭个电路, 测出数据, 看一下数据的规律, 一般都能
     看出的大概, 你这个问题我觉得应该不是很难

出0入0汤圆

 楼主| 发表于 2009-12-30 12:50:31 | 显示全部楼层
【17楼】 my2009
<1>  如果要用两个霍尔元件,我觉得两个霍尔元件应该拉开一定距离,正对磁钢(不是相位相差90),根据两者电平变化的时间差
     判段速度的方向.
<2>  有个问题: 圆盘有原点吗, 或者说圆盘上99个磁钢S极朝外,一个磁钢N极朝外(原点)? 用开关型霍尔元件好像不能判别极性
     不知是否需要判别原点
<3>  "最快转速为1r/s "------- 每秒一圈? /  每分钟一圈?
<4>  不管用一个/ 两个霍尔元件, 还是90度/拉开距离安装,   建议你先搭个电路, 测出数据, 看一下数据的规律, 一般都能
     看出的大概, 你这个问题我觉得应该不是很难
-----------------------------------------------------------------------------------------------------------------
(1)其实是这样的,圆盘上已经安装有磁钢,是另外一个公司产品的一部分,我们要实现的功能一样。我问过他们,他们的磁钢是单极
     S型的,传感器是自制的,一个探头实现测速,测位移量,辨相,该探头里面有两个霍尔元件,相隔5mm固定。该产品运行很稳定。
     但他们卖的太贵了,想自己买另外的产品

     我要实现这样的功能就可以在他们磁钢的基础上加上两个霍尔就可以了,不过由于磁钢都是S极的,霍尔元件输出波形中的高电平
     占空比会很小,这样如果要实现辨向,两个霍尔件的安装精度就有要求了。如果拉开一定距离例如这样安装:A正对磁钢时,B偏离
     磁钢5mm左右,应该可以满足精度要求,不过这也要求磁钢安装时要均布,也有精度要求了,现场我看他们磁钢安装的精度不够
     高(因为他们的两个霍尔是封装在一块的,没有拉开),精度不高就很容易误判。
如图:
两个单极型霍尔元件,测速辨向 (原文件名:未命名.jpg)


(2)圆盘没有原点,磁钢全部为S极,有到位信号可以清空计数器,计数器重新计数。
(3)1r/s,是指每秒转一圈,实际上最大转速不超过这个速度的,但也接近。
(3)恩,做实验最实际的,不过按照分析,用带双霍尔的探头(两个霍尔封装在一块)效果是最好的,现在还没有找到合适的厂家生产。要求是成品哦
像这样的:
霍尔元件成品 (原文件名:未命名1.jpg)

出0入0汤圆

发表于 2009-12-30 13:21:00 | 显示全部楼层
如果你能够测试波形, 用一个线性霍尔器件和一个开关霍尔器件放在一起, 测试波形看看
开关霍尔器件用于定位, 线性霍尔器用于判别方向,不知方便测试否?
用线性霍尔器件3503, 最终要用到单片机和AD转换

出0入0汤圆

 楼主| 发表于 2009-12-30 13:50:31 | 显示全部楼层
把两个霍尔封装在一块形成一个探头这样的传感器这么少吗?我只查到一两家,价格奇高,一个价格是280,一个是瑞士进口的1400。两个封装在一块的速度与方向可以同时测量。

出0入0汤圆

发表于 2009-12-30 14:26:00 | 显示全部楼层
【18楼】 taiwentaotwt
批评一下,从开始到现在,还没有把你要问的问题讲清楚。你也急,别人也帮不上。
再问一下:
1. 圆盘直径4米,圆盘周围均布100左右个磁钢,最快转速为1r/s,若是,磁钢间弧长 = 4000*Pi/100 = 125.7mm,对吗?
2.磁钢的S极径向朝外?尺寸=?
3. “他们的磁钢是单极S型的,传感器是自制的,一个探头实现测速,测位移量,辨相,该探头里面有两个霍尔元件,相隔5mm固定。该产品运行很稳定。”
  “测速,测位移量”是什么意思?位移量指的是什么?
4. 你们的目的是什么?全仿制?圆盘和磁钢不做,做后面的?后面是什么?仅计算并显示“计数”,“速度”?

出0入0汤圆

发表于 2009-12-30 18:48:28 | 显示全部楼层
接【21楼】, 补充问一个问题:
   "他们的磁钢是单极S型的,传感器是自制的,一个探头实现测速,测位移量,辨相,该探头里面有两个霍尔元件...."
   ----------- 这个探头给出什么信号, 你用什么设备判别出了 测速/测位移量/辨相 等参数, 用单片机吗?
               还是这个探头给出了电脑能直接识别的数字信号?

出0入0汤圆

 楼主| 发表于 2009-12-31 09:12:37 | 显示全部楼层
【21楼】 elder60 60岁老头
【22楼】 my2009
---------------------------
恩,的确是没说清楚哈,抱歉!!我解释一下:我说的圆盘其实是一个大的缠绕钢丝绳的滚筒(直径4米),钢丝绳用来提升一个容器,该容器上下运行。我要设计一个监测系统,容器的位置、上提和下放的速度为我的检测系统提供一些参考参数(容器的位置和速度)。所以通过测量滚筒的转速和方向可以实现该参数的测量。现场还有其它的产品(其它监控产品),也是用到这些参数,我看到的有两家,一家是用旋转编码器做的,另一家都是之前我提到的用霍尔元件做的。我也打算用霍尔元件做,这样做可以在第二家在滚筒上贴好磁钢的基础上加探头就可以啦,比较方便。而且这种方法简单易行。



【21楼】 elder60 60岁老头
---------------------------
(1)我在现场测过,相邻磁钢间隔100mm,也就是说这一周有125个磁钢。
(2)磁钢S极朝外,尺寸是M12*4。
(3)位移量之前我意思就是滚筒转的圈数,更确切的说是在滚筒的驱动下钢丝绳连接的容器的位移量。
(4)倒不是仿制,第二家公司卖这样的磁钢和霍尔元件,之前我想在他们家买霍尔元件(因为现场的霍尔元件都是他们家的,用他们的应该方便一些),不过他们出价太高(一个探头280),就不想再他们那买了。


【22楼】 my2009
---------------------------
那个探头里面有两个霍尔元件,工作时输出两路脉冲信号(开关型的),我要用单片机判断,经单片机初步处理后再发送给PC

出0入0汤圆

发表于 2009-12-31 10:33:58 | 显示全部楼层
一。现有方案中探头里面两个霍尔元件
“那个探头里面有两个霍尔元件,工作时输出两路脉冲信号。。。”
该两个霍尔元件输出两路脉冲信号必须重叠,否则无法判定转动方向。(必须考虑干扰的存在。)
1. 应该选用非锁存的霍尔。
2. 两个霍尔在“探头腔内”的相互间隔的确定,取决于霍尔参数的离散和安装工艺,大一些反而方便。(因磁铁直径有12mm。)
3. 霍尔和磁铁的关系:有0度和90度二种可选,各有优点。90度法的“锐度”大。
你可以通过“一块磁铁,一只霍尔,一把尺,一个表(或示波器)”自己动手来体会,形成自己的认识。
二。探头里面一个霍尔元件的方案
使用90度安装的“线性霍尔元件”,在正负转时会出现“正负峰”或“负正峰”,但要ADC。
三。其他
1. 其他方案。估计在机械上,有窝杆存在。在“电机-窝杆”范围内取信息也可。旋转编码器也可选。
2. 现有方案会有钢丝绳缠绕时的内外圈直径不等的插入误差。可在钢丝绳上装压论,从压论上去信息来矫正。

以上意见供参考。

出0入0汤圆

 楼主| 发表于 2009-12-31 10:43:49 | 显示全部楼层
非常感谢楼上大虾的一直帮助!
能不能解释一下霍尔和磁铁的关系。什么叫0度?什么叫90度?锐度是指脉冲边缘的锐度吗?

出0入0汤圆

发表于 2009-12-31 12:16:10 | 显示全部楼层
相邻磁钢间隔100mm,如果两个霍尔相差5mm(或10mm), 那么脉冲间格是 5/100 (或 10/100), 用什么方法都可以
   分辨了, 换句话说, 【18楼】 的图  不对吧?  间格比例不对啊

出0入0汤圆

发表于 2009-12-31 12:58:20 | 显示全部楼层
回【25楼】 my2009

(原文件名:霍尔和磁铁的关系.JPG)
回【26楼】 my2009
   相邻磁钢间隔100mm,如果两个霍尔相差5mm(或10mm), 那么脉冲间格是 5/100 (或 10/100), 用什么方法都可以
   分辨了, 换句话说, 【18楼】 的图  不对吧?  间格比例不对啊
------------------------------------------------------------------------------------------------------
我在L24已回答:该两个霍尔元件输出两路脉冲信号必须重叠,否则无法判定转动方向。(必须考虑干扰的存在。)
注意:必须有重叠部分。

【18楼】 的图  不对吧?
-----------------------
是,是错的。

出0入0汤圆

发表于 2009-12-31 13:26:46 | 显示全部楼层
根据你的提问,估计你对于方向判定和计数的原理,还是不太清楚。
两路输出A1和A2,2bit,只有4种状态:
连续正转:00,01,11,10,00,00,.....00,01,11,10,00,00....   
连续反转:00,10,11,01,00,00,.....00,10,11,01,00,00....

正转的特征:“00后为01”或“01后为11”或“11后为10”
反转的特征:“00后为10”或“10后为11”或“11后为01”...

血压高了,对不起,自己想吧。

出0入0汤圆

 楼主| 发表于 2009-12-31 14:16:53 | 显示全部楼层
【26楼】 my2009
【18楼】 的图  不对吧?  间格比例不对啊
---------------------------------------
恩,图没有按比例画,只是示意一下。


【27楼】 elder60 60岁老头
我在L24已回答:该两个霍尔元件输出两路脉冲信号必须重叠,否则无法判定转动方向。(必须考虑干扰的存在。)
注意:必须有重叠部分。
----------------------------------------------------------------------------------------
如果按照电平判断,两脉冲信号的确必须重叠,否则无法辨向,如果按照其它方法判断,信号不重叠应该也可以辨向。例如通过时间来判断:
磁钢间距100mm,两个霍尔元件安装间隔为30mm左右,输出信号分别接单片机两个外部中断。由于脉冲信号频率很低(120Hz),所以可以计算脉冲之间的时间。脉冲信号如图

A,B脉冲序列 (原文件名:未命名.jpg)
单片机可以计算出T1,T2两个时间,对T1,T2进行比较,正转时T1<T2,反转时情况刚好相反T1>T2,这样就可以实现辨向了。

楼上要多注意休息啊!

出0入0汤圆

 楼主| 发表于 2009-12-31 14:33:26 | 显示全部楼层
当然,如果能保证信号有重叠区,根据电平判断的方法是最简便的了。

传一个图

实物图 (原文件名:未命名.jpg)
我要做的和这个方法一样,只不过霍尔元件安装位置不一样了,图上的是安装在高速轴上进行测量,我要做的是安装在低速轴连接的滚筒上测量的。图上的就是两个霍尔封装在一块的探头。

考虑到两个霍尔元件封装于一体的探头不好买,用两个单独的霍尔件要保证输出的脉冲又比较困难(磁钢安装间隔精度不高),所以想到了用时间进行辨向

出0入0汤圆

发表于 2009-12-31 15:07:01 | 显示全部楼层
按 【29楼】的方法, 计算出时间, 就可以计算出方向和位移了, 我觉得不需要有重叠部分。
   T1 比 T2 小很多, 单片机很容易区分, 我看【30楼】的图, 几毫米的误差误差, 是否可以接收?
另问一下:  "高速轴...", 有多高速?,  单片机的速度应付不了吗?

出0入0汤圆

发表于 2009-12-31 15:36:34 | 显示全部楼层
【31楼】 my2009
你的想法有一定道理,但你把注意力过多地放在匀速转动的时候,请考虑“换向的前后”和“转停转(不换向)”时的情况。
特殊情况是停在霍尔输出为1时。此时,再启动时,就无法判断方向了。(当然,事后还是可以补救的,但麻烦一点)
当有其他干扰时,就更麻烦。

所以原则是“尽量拉开,但确保重叠”。

出0入0汤圆

 楼主| 发表于 2009-12-31 17:51:13 | 显示全部楼层
回复【31楼】my2009
------------------------------
高速具体有多高速我目前也不清楚,我准备安装在滚筒四周,这个频率单片机肯定可以应付。



回复【32楼】elder60 60岁老头
------------------------------
用时间的方法辨向是对连续两个脉冲的时间关系进行判定,所以判定效率没有电平判定高,在“转停转”和“换向前后”过程中会有一个脉冲的误差,在这一周期辨向很可能会出错,但只要走出这一周期,辨向就又恢复正常了,因为辨向是连续判断的

出0入0汤圆

发表于 2009-12-31 18:44:12 | 显示全部楼层
回复【33楼】:  从图看来, 大园1周/每秒, 高速速轴最多几百周/每秒, 不知你如何理解单片机工作速度,
               比如 PIC18F系列, 最高可达 1MHz 的计数频率, 我感觉测高速轴也应该可以


回复【32楼】:  我还是没有理解, 为什么要 "确保重叠" ?  不管是否重叠, 两个器件输出总有时间差,
               特殊情况是停在霍尔输出为1时, 离开时先转0和后转0, 也有时间差, 总能分出不同情况
               当然, 程序调试可能很难, 要综合考虑各种情况, 但重叠与时间差无关

出0入0汤圆

发表于 2009-12-31 19:08:39 | 显示全部楼层
若是重叠法,当然要 "确保重叠"。此法用于几种产品中,没发现有什么问题。
我不懂“非重叠法”,认为他不可行。这个结论,在十几年前就下了。
你们可以考虑它在各种可能的情况下的性能。(再说一边,包括干扰。)

出0入0汤圆

 楼主| 发表于 2010-1-10 15:31:48 | 显示全部楼层
东西买回来的,买的是双霍尔封装一块的,霍尔相距6mm,两个脉冲信号有“重叠”,通过电平方法辨向,程序已经可以实现功能,呵呵,谢谢各位大虾大力帮助,特别是elder60 60岁老头和my2009!

出0入0汤圆

 楼主| 发表于 2010-1-10 15:32:49 | 显示全部楼层
磁钢是M12*4

出0入0汤圆

发表于 2010-1-10 15:40:31 | 显示全部楼层
祝贺你成功

出0入0汤圆

 楼主| 发表于 2010-1-28 19:22:08 | 显示全部楼层
到现场试验时又遇到了这样的问题:
滚筒一个方向转动时计数正常,反转时计数出了问题,结论是:霍尔元件的信号线比较短时都没问题,一旦线长反转时就出问题,现场试验的线长是70m。最后反复观察霍尔元件在磁钢经过时产生的信号,发现霍尔元件经过一个磁钢时其中有一个霍尔元件有两次中断相应(我的程序是上升沿产生中断),郁闷了……!

前后经过两天的试验终于发现是由于两个霍尔元件存在互相干扰问题,之前是共地12V供电,改成两个电源供电时问题解决啦!!
现在外地,回去后再把电路图和程序贴出来

出0入0汤圆

发表于 2010-1-28 21:24:38 | 显示全部楼层

(原文件名:截图01.jpg)

上面是我们公司开发的使用Hall传感器实现步进电机的闭环控制,电机每旋转360度,Hall编码器会输出4096个脉冲

出0入0汤圆

发表于 2010-1-29 23:09:11 | 显示全部楼层
看得云里,雾里,的。。

不过还是不错。。呵呵。。

希望楼主把图贴出来。。

出0入0汤圆

发表于 2010-5-28 21:28:18 | 显示全部楼层
学习了

出0入0汤圆

发表于 2010-5-28 21:29:01 | 显示全部楼层
能贴出图更好

出0入0汤圆

发表于 2010-5-28 21:30:43 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-11 21:19:53 | 显示全部楼层
回复【楼主位】taiwentaotwt
-----------------------------------------------------------------------
我有个建议你可以参考一下!
我看你的要求是测速并辨别方向。可以考虑双极性锁存型(开关)霍尔传感器,并接比例积分电路辨别方向。

出0入0汤圆

发表于 2011-6-5 23:03:34 | 显示全部楼层
学习了

出0入228汤圆

发表于 2011-6-5 23:57:02 | 显示全部楼层
可以用汽车ABS传感器,很好用。

出0入0汤圆

发表于 2011-7-27 01:54:28 | 显示全部楼层
elder60 60岁老头

说得很好,我使用两个脉冲计算时间差的方法,搞了好几天没有搞成功
两个霍尔元件的脉冲为 11 11 11 11  11 11 11 11 01 01 01 11 11 11 10 10 10 10 11 11 11 11 11 11 (0表示霍尔元件触发)
万一转速一慢,且不均匀时,这个计算脉冲时间差的方法,将产生很大的误差。

还是 elder60 60岁老头 那句话,确保重叠,拉大距离。于是这个脉冲是:
11 11 11 11 11 11 11 01 01 01 01 01 00 00 00 10 10 10 10 10 10 11 11 11 11 11 11 11

只要计算00后面一个01或者10即可,正常判断方向了

出0入0汤圆

发表于 2011-7-27 10:30:23 | 显示全部楼层
给你一段我一直用的程序,编的不好,但还有效
硬件联接就是两个霍尔输出接INT0,INT1;要加上拉的;两个中断转到同一个中断处理
两个霍尔的安装位置要保证装置转动时能输出有相位差但又有重叠的脉冲波形,否则低速及启停时不好判断
长线驱动要考虑适当加大电流,或4-20mA信号
速度通过位移时间很容易就算出来了
码盘中断处理:
'B = Encoder(pind.2 , Pind.3 , Left_rotation , Right_rotation , 0)
in r16,pind
andi r16,&b00001100
lds r17,{右转码盘值}
cp r16,r17
breq Right_rotation
lds r17,{左转码盘值}
cp r16,r17
breq Left_rotation
rjmp int_isr_over
'-------------------------------
Left_rotation:
脉冲坐标值 = 脉冲坐标值 + 码盘步长                          '左转,后退0.1mm
rjmp int_isr_over
'-------------------------------
Right_rotation:
脉冲坐标值 = 脉冲坐标值 - 码盘步长                          '右转,前推0.1mm
Int_isr_over:
'运行结果:B=读取pinb值后右移至0,1位,每当PIN0或PIN1脚电平有变化,则转至执行相应方向的子程序后返回
'码盘值-->00-->10-->11-->01-->00设为左转,反之为右转
in r16,pind
andi r16,&b00001100
cpi r16,&b00000000
breq step1
cpi r16,&b00001000
breq step2
cpi r16,&b00001100
breq step3
'cpi r16,&b00000100
'breq step4
Step4:
右转码盘值 = &B00001100
左转码盘值 = &B00000000
rjmp Int_isr_end
Step3:
右转码盘值 = &B00001000
左转码盘值 = &B00000100
rjmp Int_isr_end
Step2:
右转码盘值 = &B00000000
左转码盘值 = &B00001100
rjmp Int_isr_end
Step1:
右转码盘值 = &B00000100
左转码盘值 = &B00001000
'rjmp Int_isr_end
Int_isr_end:

出0入0汤圆

发表于 2011-7-27 11:19:47 | 显示全部楼层
我有那种两个霍尔的原件,直径18毫米的,4根引线,近距离应用可以,远距离不行,容易坏。比如超过15米就容易坏了。

出0入0汤圆

发表于 2013-5-8 08:22:10 | 显示全部楼层
我找到楼主需要的霍尔传感器了,时间已经是2013年5月,我最近也在做这个,看了楼主的资料,感觉安装精度还是问题
需要此类传感器的朋友可以去淘宝网搜索“正反转 霍尔”
就有类似的传感器,价格也不是很贵,18~30元居多
上图一张:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-11-10 11:39:05 | 显示全部楼层
elder60 发表于 2009-12-25 09:50
此类问题要学会自己找资料,不要依赖别人。
比如:GOOGLE “霍尔传感器简介”,“霍尔 测速”等。

正解         

出0入0汤圆

发表于 2013-11-11 10:38:23 | 显示全部楼层
学习           

出0入0汤圆

发表于 2014-10-23 23:32:53 | 显示全部楼层
elder60 发表于 2009-12-31 13:26
根据你的提问,估计你对于方向判定和计数的原理,还是不太清楚。
两路输出A1和A2,2bit,只有4种状态:
连 ...

马达停止时,霍尔会存在四种状态,分别00,01,10,11.如附图。
从我的图中看好像和下面的说法不同,我这种用法难道和elder60 说的不一样吗?
请大家指点,我这个如何检测正转或者反转?


连续正转:00,01,11,10,00,00,.....00,01,11,10,00,00....   
连续反转:00,10,11,01,00,00,.....00,10,11,01,00,00....

正转的特征:“00后为01”或“01后为11”或“11后为10”
反转的特征:“00后为10”或“10后为11”或“11后为01”...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 22:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表