神奇的电机们
由 动力老男孩 发表于 2010/08/04 22:42:17前几天有几个小朋友给我发邮件,说是打算自己动手设计电路和机械结构来制作魔方机器人,其中提到了用步进电机来旋转魔方。
说来惭愧,电子电路和嵌入式我还真是门外汉,连步进电机都没玩过。看他们如火如荼的进展着,我也心痒痒的,迅速在淘宝上订了一个步进电机。这几天查了点资料,总算对步进电机有了一点了解。
想起给小爱选电机的时候,发现电机的种类真不少,常见的有:直流电机,舵机,步进电机和伺服电机。这是按原理分类的,如果考虑一些附件的话,又有减速电机,直线电机等等,看的我眼花缭乱。这里稍微总结一下,以供跟我一样的初学者参考。
直流电机
小时候经常拆东西的破坏大王们,最熟悉的就是这种电机了,刮胡刀玩具车里都有这个。只有两根线,通过电压来调节转速,把电池反过来接,电机就反向旋转。破坏力更强的一定也知道,里面一般会有电刷和几个转子,还有两块永磁铁,原理就不介绍了。
优点:控制简单,还没学物理的时候就知道怎么玩了
缺点:不能精确的控制旋转角度和速度
舵机
现在终于明白这种电机为什么叫舵机了。大海航行靠舵手,舵机一般用来控制角度,所以经常用来航模和船模上。这种电机内部其实也是普通的直流电机,区别在于加上了一个小电路,用一个电位器(模拟型舵机)来读取电机的当前转角,并不断的调节直流电机两端的电压来让这个转角维持在设定值。一般来说,舵机都会带一个齿轮箱,用来提高精度和扭力。
优点:可以精确控制角度
缺点:角度范围有限,一般小于180度,不能连续旋转,不能设置速度
步进电机
从名字就可以看出来,步进电机是“一步一步”旋转的。例如我买的电机步距角是1.8度,按照指定的时序发送脉冲信号,每收到一个脉冲电机就旋转1.8度。你想让电机转5度?抱歉,这是不行滴,换一个不同步距角的型号吧。另外,通过控制发脉冲的频率,就可以控制步进电机的转速了。哇,角度和速度都可以控制,这下貌似完美了。先别激动,因为步进电机是一个开环系统(简单的说就是无反馈),很可能会发生失步或者越步的现象。当脉冲发的太快或者负载太大的时候,电机还没反应过来,下一个脉冲就到了,这就失步了;当电机带动的转子惯性很大时,脉冲停止后,转子可能还会继续转动,这就是越步了。
优点:角度和速度都可以控制
缺点:失步或越步
伺服电机
完美的电机终于出现了,给步进电机加上伺服电路,检测它是否转到了指定的角度,这就是伺服电机了。一般是靠电机屁股上的一种编码器来读取角度,这玩意儿据说非常精确,当然,这个东西如果价格再便宜点就真的完美了。
优点:角度和速度都可以精确控制
缺点:价格高,控制最复杂
值得一提的是,乐高的NXT系列,用的就是伺服电机,加上开发API接口后,控制非常方便!
对于以上几种电机,如果想用程序控制的话,都需要加上控制器和驱动器。其中控制器一般可以用单片机,相当于发送时序指令给电机。对于小功率的电机,其实用控制器就可以带动了。但是对于功率较大的电机,就需要加上驱动器。驱动器可以简单理解为功率放大器,接受控制器的信号,然后输出大电流给电机。
另外两个概念:减速电机是通过齿轮箱或蜗杆给电机减速,用来提高扭矩;直线电机是通过丝杠,把电机的转动变成丝杠的平动,一般用来做推杆。
倒腾了一晚上,终于用我的Arduino开发板实现步进电机正转和反转了。之前在小爱成长记里写过直流电机和舵机的控制,周末整理一下,把步进电机的控制也加上。至于伺服电机,等以后用的上的时候再研究吧