一、如何控制步进电机?
步进电机是将电脉冲信号转变为角位移或线位移的一种控制电机。在未超载的情况下,步进电机的转速、停止的位置只取决于输入脉冲信号的频率和脉冲数,而不受负载变化的影响。也就是说给步进电机使加一个脉冲信号,电机就会转过一个步距角。所以,步进电机是一种线性控制器件,而且步进电机只有周期性的误差而没有累积误差。这样在速度、位置等控制领域,采用步进电机可以使控制变的非常简单。
步进电机有三种类型:永磁式(PM) ,反应式(VR)和混合式(HB)。
永磁式一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;
反应式一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大,已被逐渐淘汰;
混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此使用步进电机要涉及到机械、电机、电子及计算机等许多专业知识。
二、步进电机?如何控制?
本文将为您介绍步进电机的基础知识,包括其工作原理、构造、控制方法、用途、类型及其优缺点。
步进电机基础知识
步进电机是一种通过步进(即以固定的角度移动)方式使轴旋转的电机。其内部构造使它无需传感器,通过简单的步数计算即可获知轴的确切角位置。这种特性使它适用于多种应用。
步进电机工作原理
与所有电机一样,步进电机也包括固定部分(定子)和活动部分(转子)。定子上有缠绕了线圈的齿轮状突起,而转子为 永磁体或可变磁阻铁芯。稍后我们将更深入地介绍不同的转子结构。图1显示的电机截面图,其转子为可变磁阻铁芯。
步进电机的基本工作原理为:给一个或多个定子相位通电,线圈中通过的电流会产生磁场,而转子会与该磁场对齐;依次给不同的相位施加电压,转子将旋转特定的角度并最终到达需要的位置。图2显示了其工作原理。首先,线圈A通电并产生磁场,转子与该磁场对齐;线圈B通电后,转子顺时针旋转60°以与新的磁场对齐;线圈C通电后也会出现同样的情况。下图中定子小齿的颜色指示出定子绕组产生的磁场方向。
步进电机的类型与构造
步进电机的性能(无论是分辨率/步距、速度还是扭矩)都受构造细节的影响,同时,这些细节也可能会影响电机的控制方式。实际上,并非所有步进电机都具有相同的内部结构(或构造),因为不同电机的转子和定子配置都不同。
转子
步进电机基本上有三种类型的转子:
- 永磁转子:转子为永磁体,与定子电路产生的磁场对齐。这种转子可以保证良好的扭矩,并具有制动扭矩。这意味着,无论线圈是否通电,电机都能抵抗(即使不是很强烈)位置的变化。但与其他转子类型相比,其缺点是速度和分辨率都较低。图3显示了永磁步进电机的截面图。
- 可变磁阻转子:转子由铁芯制成,其形状特殊,可以与磁场对齐(请参见图1和图2)。这种转子更容易实现高速度和高分辨率,但它产生的扭矩通常较低,并且没有制动扭矩。
- 混合式转子:这种转子具有特殊的结构,它是永磁体和可变磁阻转子的混合体。其转子上有两个轴向磁化的磁帽,并且磁帽上有交替的小齿。这种配置使电机同时具有永磁体和可变磁阻转子的优势,尤其是具有高分辨率、高速度和大扭矩。当然更高的性能要求意味着更复杂的结构和更高的成本。图3显示了这种电机结构的简化示意图。线圈A通电后,转子N磁帽的一个小齿与磁化为S的定子齿对齐。与此同时,由于转子的结构,转子S磁帽与磁化为N的定子齿对齐。尽管步进电机的工作原理是相同的,但实际电机的结构更复杂,齿数要比图中所示的更多。大量的齿数可以使电机获得极小的步进角度,小至0.9°。
定子
定子是电机的一部分,负责产生转子与之对齐的磁场。定子电路的主要特性与其相数、极对数以及导线配置相关。 相数是独立线圈的数量,极对数则表示每相占用的主要齿对。两相步进电机最常用,三相和五相电机则较少使用(请参见图5和图6)。
步进电机的控制
从上文我们知道,电机线圈需要按特定的顺序通电,以产生转子将与之对齐的磁场。可以向线圈提供必要的电压以使电机正常运行的设备有以下几种(从距离电机更近的设备开始):
- 晶体管桥:从物理上控制电机线圈电气连接的设备。晶体管可以看作是电控断路器,它闭合时线圈连接到电源,线圈中才有电流通过。每个电机相位都需要一个晶体管电桥。
- 预驱动器:控制晶体管激活的设备,它由MCU控制以提供所需的电压和电流。
- MCU:通常由电机用户编程控制的微控制器单元,它为预驱动器生成特定信号以获得所需的电机行为。
图7为步进电机控制方案的简单示意图。预驱动器和晶体管电桥可以包含在单个设备中,即驱动器。
步进电机驱动器类型
市面上有各种不同的 步进电机驱动器,它们针对特定应用具有不同的功能。但其最重要的特性之一与输入接口有关,最常见的几种输入接口包括:
- Step/Direction (步进/方向) –在Step引脚上发送一个脉冲,驱动器即改变其输出使电机执行一次步进,转动方向则由Direction引脚上的电平来决定。
- Phase/Enable(相位/使能) –对每相的定子绕组来说,Enable决定该相是否通电, Phase决定该相电流方向,。
- PWM – 直接控制上下管FET的栅极信号。
步进电机驱动器的另一个重要特性是,除了控制绕组两端的电压,它是否还可以控制流过绕组的电流:
- 拥有电压控制功能,驱动器可以调节绕组上的电压,产生的扭矩和步进速度仅取决于电机和负载特性。
- 电流控制驱动器更加先进,因为它们可以调节流经有源线圈的电流,更好地控制产生的扭矩,从而更好地控制整个系统的动态行为。
单极/双极电机
另一个可能对电机控制产生影响的特性是其定子线圈的布置,它决定了电流方向的变化方式。为了实现转子的运动,不仅要给线圈通电,还要控制电流的方向,而电流方向决定了线圈本身产生的磁场方向(见图8)。
步进电机可以通过两种不同的方法来控制电流的方向。
继续阅读 >>>请点击下方链接进入MPS官网查看全文:
https://www.monolithicpower.cn/stepper-motors-basics-types-uses?utm_source=zhihu&utm_medium=social&utm_campaign=2023_articlepromo&utm_content=202304_1三、51单片机控制步进电机?
用单片机同时是不可能的,当然,时间间隔小到可以接受,跑几个任务,那也可以视为同时。
要实现真正意义上的同时,用FPGA/CPLD是可以完成的。话说回来,也许你的同时并不是说一定严格地同时工作,只是说一个单片机去控制四个步进电机,那就好办多了。一个步进电机,比如4相5线那种,4个IO口可控制一个,四个步进电机就要16个,驱动芯片用ULN2003即可。当然,如果你的IO口不允许使用这么多,那也可以通过串转并的方法,扩展IO口,比如用74HC595,三根IO口控制它,它可以级联,三根线可以控制很多片。一片为8位,两片就为16位,3片为24位 …… 只要加些三极管驱动那三根控制线,三个IO口可控制一串级联的74HC595,得到的扩展IO口,那是相当多的。我用三个IO口控制过5片74HC595,三个IO口一下子就扩展成了40个IO口!!!四、单片机控制步进电机制动?
从底层技术上来说,很简单,就是将下一相的通电时间和断电时间,均比前一相延后一点,每次一点,这样就制动了. 步进电机在高速运行的时候也会受惯性的影响的,如果保持某相或某几相不通电或不断电,不仅会造成很大的机械冲击,还会造成抖动,造成制动的减速曲线很大的起伏,别人会说你这个制动效果很差.
五、步进电机如何用单片机控制?
步进电机的驱动是需要驱动器的,驱动器的种类不同,单片机控制的方式也不同,是不能用单片机来直接控制步进电机的。
可以选用现成的驱动器,也可以自己做启动器,比如说L298。
六、如何用Python 控制步进电机?
如果你的步进电机驱动器有RS232或RS485端口的话,直接使用python控制PC的COM口发送数据控制就好了。
七、51单片机控制步进电机正反转?
用51单片机直驱步进电机时,只要改变步进电机驱动脉冲的时序关系,就可以控制步进电机的正反转。
以两极步进电机为例,单片机使用AB两个脉冲信号驱动步进电机,这两个信号的相位相差90度,A超前B 90度步进电机正转,B超前A 90度步进电机就反转。
如果使用步进电机驱动模块,一般这种模块都会有一个方向控制端,只要改变这个控制端的高低电平就可以控制步进电机的正反转。
八、32单片机可以控制步进电机么?
不管是STM32单片机还是51单片机,都可以控制步进电机,硬件上通常采用直驱法和模块驱动法。
直驱法就是用单片机的引脚直接产生步进电机的驱动脉冲。采用这种方法需要注意两点,第一,单片机引脚的电流输出不足以驱动步进电机绕组,需要使用功率管放大电流;第二,不管是两极还是多极步进电机,它的驱动脉冲都是正交时序关系,必须通过程序模拟出这种时序关系才可以驱动电机。
模块驱动法是采用步进电机专用驱动模块,单片机只需向模块输出脉冲和方向信号就可以很方便的驱动步进电机。
九、步进电机位置闭环控制?
不邀自来,强答一个,我是用过闭环步进的,但是是半闭环,编码器在步进电机的轴上的。
题主想要实现的是光栅尺全闭环,首先你要知道移动单位长度光栅尺输出多少个脉冲,比如32000p/mm
然后再确定步进电机带动运动副移动单位距离的脉冲数,比如1.8度两相步进电机8细分5mm丝杆,那就是320p每mm
那么控制器需要对给步进输出的脉冲数和光栅尺反馈脉冲数做比较就好了,输出320脉冲,应该移动1mm,那么光栅尺返回32000脉冲就对了,
如果不够,失步,多了,过冲,失步就补,过冲就回来,完事儿了
不过,这都是马后炮了,更高级的实现方法当然是提高比较频率,比如步进电机驱动脉冲每发出一个,进行一次光栅尺反馈比较,然后立马进行纠偏
十、如何制作单片机控制步进电机芯片驱动步进电机电路?
步进电机驱动器一般接受的控制信号为:
1、cw+ccw,即正转脉冲加反转脉冲
2、pulse+dir,即脉冲加方向
一般驱动器都可以兼容两种方式,即通过dip开关选择采用哪种方式。
如此,你用单片机控制起来就很方便了,用两个io口发控制信号就ok了,哪种方式都可以,脉冲的频率大小决定电机的速度快慢。
当然,你也要注意驱动器需要信号的电压大小,如果是5v,直接io相连就行,如果需要12v,那么需要加个光耦就行了。