您好,

88门户网公众号

88门户网 - 微信公众号

手机版

88门户网 - 手机版

带霍尔编码的直流电机使用

   2018-05-10 微信婷婷900
核心提示:最近要尝试着做一个智能巡小小车,驱动电机是必不可少的执行部件。小车的前进、后退、左右转动,都在对电机的灵活控制中实现。先前,从淘宝上购买了两只不带霍尔编码的直流电机,很难达到预期的目标。因为即使在相同
最近要尝试着做一个智能巡小小车,驱动电机是必不可少的执行部件。小车的前进、后退、左右转动,都在对电机的灵活控制中实现。先前,从淘宝上购买了两只不带霍尔编码的直流电机,很难达到预期的目标。因为即使在相同的供电条件下,两只电机的速度还是很难协调的;实现起来的巡线小车就像走猫步一样在车道上拐来拐去的。稳定性和速度都达不到要求。查看了相关资料,两只电机的转速必须同步,能够灵活与精准控制,这样才能够做出稳定的智能巡线小车。带霍尔编码的直流电机能够很好的实现这一要求。因此在淘宝上去挑选带编码的直流电机,可是这样的电机有很多参数,如电压,减速比例,最终转速等等,考虑到是做智能巡线小车的,因此最终速度不能够快,如果在一定电压下,转速太快,小车的稳定性就差了,对它的行走路线就很难把控。同时如果选择额定电压过大的电机,那小车携带的电源容量就要求过大,电源的体积和质量就会太大,增加了小车的负载,这样就会加大小车的惯性,使得小车难以控制。最终我选择的是6V300转的直流电机。
电机购买回来后,首先是要弄清楚电机上的接线,每根接线具有不同的功能,弄清楚每根接线的功能是前提。如下图是我购买的一款带霍尔编码的直流电机。
五金
两侧的红白接线是电机的电源接线;
红色和蓝色接线是霍尔编码器的电源接线,蓝色接+5V,黑色接GND;
中间的绿色和黄色是霍尔编码器的输出端A和B。
下面我们讨论如何获取电机的转速?因为只有获取了转速才能对电机的转速进行调整。
电机转动时,霍尔编码器的输出端A和B分别输出相差90度的脉冲方波,如下图所示:
根据转动的快慢不同,每秒钟或者说在一定时间内A和B端输出的方波个数也就不同,最简单的考虑,就是能够检测到一定时间内,方波的数量,也就能够换算出电机的转动速度了。如果仅仅只要这点要求,其实,AB两端只要一端就够了。那为什么要用两个输出端呢?那是因为通过A与B输出波形的对比,可以检测出电机转动的方向。
那什么是正转什么时候是反转,如何确定呢?
如上图:A端输出的方波,由低电平向高电平上升时,B端输出的是高电平,我们可以认为电机是正转,反之,如果B端输出的是低电平,我们就认为电机是反转的。
那么,在arduino中如何计算这些脉冲方波的个数呢?这个就要用到arduino中断的概念。中断是当今计算机中的一个重要技术,正因为有了中断,我们才能够感觉到计算机进行多任务处理(注意,这里我们说的是感觉,其实还是单任务形式)。
什么是中断呢?CPU执行时原本是按程序指令一条一条向下顺序执行的。但如果此时发生了某一事件B请求CPU迅速去处理(中断发生),CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务). 待CPU将事件B处理完毕后,再回到原来被中断的地方继续执行程序(中断返回),这一过程称为中断。
Arduino分为内部中断(如内部时钟中断)和外部中断(外部中断管脚获取中断信号)。我们这里是用到的外部中断。
 
举报收藏 打赏 评论 0
 
更多>同类新闻资讯
推荐图文
推荐新闻资讯
点击排行
(c)2008-2023 88号建材网 北京斑马家科技有限公司