步进电机、舵机、直流电机电机的原理

做一个小东西需要用到步进电机,百度上的资料大多只是教怎么接线,驱动代码怎么写,没看到详细分析步进电机原理的文章。然后在 Arduino stepper  发现了关于各种电机的资料,于是翻译并整理了一下。

首先简述下常见电机的原理和特点。

大多数电动机的电气原理:当导线通电时,导线周围产生磁场。通过在现有的磁场(如两个磁体之间)中放置带电的线圈,线圈安装在电机中间的旋转轴上,当线圈交替地被一个磁铁吸引并被另一个磁铁排斥时,就会持续进行圆周运动。

所有电感性负载(如电机,电磁铁和螺线管)都遵循相同的原则:通过将电流通过电线引起磁场,用它吸引或排斥磁性体。但是,当您在现有磁场中旋转线圈,会在导线中感应出电流。所以如果关闭正在旋转的电机,电机的线圈在磁场中旋转会在短时间内产生电流。该电流与产生的用于运行电机的电流方向相反。它被称为反向电压,它可能会损坏您的电子设备。通常情况下,通过在电机上安装一个二极管来消除反向电压。

直流电机

直流电机是最简单的电机。它有两个端子,加直流电源,电动机将朝一个方向旋转。把电源正负极反接,电机将以相反的方向旋转。通过切换端子的极性,可以改变电机的方向。通过改变提供给电机的电流,您可以改变电机的速度。直流电机通常非常快,可以达到每分钟旋转数千转(RPM)。


减速箱电机
减速箱电机是直流电机的一类。它们在包含一系列齿轮的电机顶部有一个盒子,可以减慢电机转速并增加转矩。当你不需要很高的速度时,它们非常有用。

舵机
舵机是减速箱电机的一种变体,与电位计结合,可以反馈电机的位置。舵机上的齿轮箱的齿轮连接到箱体内的电位计上,该电位器连接到RC电路中的电容器,以反馈角度。并通过对该RC电路进行脉宽调制(PWM),得到差分电压信号给电机电源转动。当电动机转动时,它会改变RC电路的电阻,从而获得新的差分信号给电动机供电。

不同于大多数直流电机和减速机电机,舵机有三根电线,前两个是电源和接地,第三个是控制线,用于设置舵机的位置。与直流电机不同,您不必颠倒电源连接的极性来反转其方向。

模拟舵机是小型项目中最常用的类型,通常每18-20毫秒需要1-2毫秒的脉冲。它们根据脉冲宽度旋转0到180度。 1毫秒的脉冲将使电机转为0度; 2毫秒将把它变成180度。即使舵机不转动,它也需要每隔18-20毫秒得到一个脉冲,以保持在当前位置,因此,一旦将舵机转动到新的位置,必须保持相同脉冲宽度。


步进电机
步进电机与普通直流电机不同,它们不会持续转动,而是一步步地移动。步进电机是由一系列电磁线圈控制的电机,中心轴有一系列安装在其上的磁体,围绕轴的线圈交替地供电或断电,产生磁场,排斥或吸引轴上的磁体,使电机一步步地旋转。
这种设计可以对电机进行非常精确的控制:通过适当的脉冲,可以非常精确地设置步距角(例如,2度,0.5度等)。它们用于打印机,磁盘驱动器和其他需要精确定位电机的设备。步进电机通常比直流电机移动速度慢得多,因为步进速度取决于脉冲数(典型值是每秒5-600个),但与直流电机不同,步进电机通常在低速时提供更大的转矩,它们对于移动精确的距离非常有用,而且,步进电机在停止时具有非常高的转矩,因为电机绕组像制动器一样将电机固定在位。
要控制步进电机,必须有一个步进驱动器,以正确的顺序激励线圈,使电机向前移动。

首先要了解步进电机的接线。最常见的类型是单极步进电机,具有六根导线和四个线圈(实际上只有两个线圈,每个线圈由中心导线分成等效两个)。可以用万用表测量电线并测量一根导线与另一根导线之间的电阻。每个线圈的外导线都有一个确定的电阻,是中心线与两条外部导线之间电阻的两倍,如下图所示:


例如:如果电线1和5之间的电阻是x欧姆,则1和2之间的电阻是2x欧姆。两条未连接的导线(例如1和3,4或6)电阻无穷大。当你在线圈的两根线上施加电压时(例如1到2或3到4),你会发现电动机很难转动(不要强迫它,这对电动机不利)。


像其他电机一样,步进电机需要的功率比单片机可以提供的功率更大,因此需要一个独立电源。理想情况下,您将知道制造商提供的电压,但如果不知道,请获取可变DC电源,施加最小电压(希望为1V左右),在线圈的两根线上施加电压(例如1至2或3至4 )并慢慢升高电压,直到电机难以转动。这样可能会损坏电机,所以不要太过分。步进电机的典型电压可能是5V,9V,12V,24V。高于24V并不常见,坦率地说,最好不要猜测。
要控制步进电机,需要按照特定顺序对每个线圈施加电压。 对于不同类型的步进电机,这个顺序是不同的,但对于如上所述的四相单极步进电机,相序如下所示:

  

stepwire 1

wire 3wire 4
1Highlowhighlow
2lowhighhighlow
3lowhighlowhigh
4highlowlowhigh
注意:电线5和6连接到电源电压。

通常情况下,通过将4相线连接到一个良好的功率晶体管或MOSFET,以及2根公共线连接到电源电压来驱动步进电机,如下所示:






在这个图中,晶体管是TIP120达林顿晶体管。采用Allegro Micro的ULN2003或ULN2004是一种方便的方法。
一旦电机在一个方向上步进,反向只需按相反的相序。知道每步有多少度数,并乘以步数
就可以 知道位置 。举例来说,如果你有一个2度步进器,并且它转动了180步,那么它将变成2 x 180度,或者360度,或者一整圈。
有关步进电机控制的更多技术讨论,请参阅Douglas W. Jones的“步进电机控制”教程。
  • 12
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值