两相4线步进电机驱动时序
2H42B步进电机驱动器说明书

2H42B细分步进电机驱动器使用手册V ersion 2.0版权所有不得翻印【使用前请仔细阅读本手册,以免损坏驱动器】东莞市一能机电技术有限公司DONGGUAN ICAN-TECH CO.,LTD地址:东莞市万江区新和工业区瑞联振兴工业园B栋4楼/Email:tech@2H42B 步进电机驱动器一、 2H42B 步进电机驱动器产品简介1.1概述2H42B 步进电机驱动器是一款高性价比的细分两相步进电机驱动器。
最大可提供2.0A 的电流输出。
由于采用了双极性恒流斩波控制技术,与市面上同类型步进电机驱动器相比,其对步进电机噪声和发热均有明显改善。
适用于尺寸为28,35,39,42等各类2相或4相混合式步进电机,具有体积小,使用简单方便等特点。
1.2特点◆低噪声,高速大转矩特性 ◆光电隔离差分信号输入,响应频率最高200K ◆供电电压12VDC-36VDC ◆细分精度1,2,4,8,16,32,64,128, ◆输出电流峰值可达2.0A 倍细分可选 ◆静止时电流自动减半 ◆外形尺寸小(96*60*24mm ) ◆可选择脉冲上升沿或下降沿触发 ◆电流设定方便,八档可选 ◆可驱动4、6、8线二相、四相步进电机 ◆具有过流,过温保护功能1.3应用领域适用于各类型自动化设备或仪器,如雕刻机、打标机、切割机、激光照排、绘图仪、数控机床、机械手,包装机械,纺织机械等,极具性价比和竞争力。
二、 2H42B 步进电机驱动器 电气、机械和环境指标1 网址:www 2.2 2H42B 步进电机驱动器使用环境及参数 图1.安装尺寸图2.4加强散热方式1) 2H42B 步进电机驱动器的可靠工作温度通常在60℃以内,电机工作温度为80℃以内; 2) 建议使用时选择自动半流方式 (即电机停止时电流自动减至60% ),以减少电机和驱动器的发热;3)安装步进电机驱动器时请采用立式侧面安装,使散热面向易于空气对流的方向,必要时在机箱内靠近驱动器处应安装排气风扇,进行强制散热,从而保证驱动器在可靠工作温度范围内工作。
步进电机原理接线

2相四线,四相五线,四相六线步进电机接线及驱动方法分类:单片机2010-07-18 09:24 5085人阅读评论(9) 收藏举报步进电机原理按照常理来说,步进电机接线要根据线的颜色来区分接线。
但是不同公司生产的步进电机,线的颜色不一样。
特别是国外的步进电机。
那么,步进电机接线应该用万用表打表。
步进电机内部构造如下图:通过上图可知,A,~A是联通的,B和~B是联通。
那么,A和~A是一组a,B和~B是一组b。
不管是两相四相,四相五线,四相六线步进电机。
内部构造都是如此。
至于究竟是四线,五线,还是六线。
就要看A和~A之间,B和B~之间有没有公共端com抽线。
如果a组和b组各自有一个com端,则该步进电机六线,如果a和b组的公共端连在一起,则是5线的。
所以,要弄清步进电机如何接线,只需把a组和b组分开。
用万用表打。
四线:由于四线没有com公共抽线,所以,a和b组是绝对绝缘的,不连通的。
所以,用万用表测,不连通的是一组。
五线:由于五线中,a和b组的公共端是连接在一起的。
用万用表测,当发现有一根线和其他几根线的电阻是相当的,那么,这根线就是公共com端。
对于驱动五线步进电机,公共com端不连接也是可以驱动步进电机的。
六线:a和b组的公共抽线com端是不连通的。
同样,用万用表测电阻,发现其中一根线和其他两根线阻止是一样的,那么这根线是com端,另2根线就属于一组。
对于驱动四相六线步进电机,两根公共com端不接先也可以驱动该步进电机的。
步进电机相关概念相数:产生不同对极N、S磁场的激磁线圈对数。
常用m表示。
拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。
θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。
步进电机通电时序

型号 参数 单价 型号 参数 单价
小
功
率
三
极
管
9011 NPN 50V 0.03A 0.4W 2N2222 NPN 60V 0.8A 0.5W
9012 PNP 50V 0.5A 0.6W C3355 NPN 20V 0.15A 6500MHz
单极:2根中线接地 其他4线轮流拉高
反转相反 驱动ic资料里都有的
如:TA8435H
单极驱动 用达林顿管阵列
两相四线的步进电机,有两个绕组:A,B。
A绕组通正向电流用(+A)表示;通反向电流用(-A)表示。
B绕组表示方法同上。
同电次序:
两相,四拍:(+A)(+B)--(-A)(+B)--(-A)(-B)--(+A)(-B)--
C1815 NPN 50V 0.15A 0.4W
A733 PNP 50V 0.1A 0.25W
C945 NPN 50V 0Fra bibliotek1A 0.25W
步进电机驱动器,都是宽压输入,输入电压很大的范围可以选择;电源电压通常根据电机的工作转速和响应要求来选择。如果电机工作转速较高或响应要求较快,那么电压取值也高,但注意电源电压的纹波不能超过驱动器的最大输入电压,否则可能损坏驱动器。如果选择较低的电压有利于步机电机的平稳运行,振动小。
mbke你的步进电机应该是两相四拍的吧?其转动信号应该是: 正转(A-AB-B-BA-A)、反转(A-BA-B-AB-A),A代表A相通电,AB表示A、B两相同时通电,其余类推。
你指的2相6线制不仅电机
驱动方式由于两种
双极:A相施加正电压->B相正电压->A无电压->A相负电压->B相无电压->B相负电压->A相无电压->A相正电压->返回
两相步进电机 控制程序

两相步进电机控制程序一、初始化设置在控制步进电机之前,需要进行一些初始化设置。
这包括:1. 配置微控制器:选择适合的微控制器,并为其分配必要的资源和接口。
2. 电机参数设定:根据步进电机的规格和性能,设定合适的参数,如步进角度、驱动电流等。
3. 接口配置:配置微控制器与步进电机驱动器之间的接口,包括电源、信号线等。
二、电机驱动脉冲生成为了使步进电机按照设定的方向和步数转动,需要生成合适的驱动脉冲。
这通常通过微控制器实现,具体步骤如下:1. 确定目标位置:根据应用需求,确定步进电机需要转到的目标位置。
2. 计算步数:根据目标位置和步进电机的步进角度,计算出需要转动的步数。
3. 生成驱动脉冲:根据步数和电机的工作模式(单拍、双拍等),生成合适的驱动脉冲序列。
三、电机方向控制步进电机的方向可以通过改变驱动脉冲的顺序来控制。
一般来说,有两种方式来控制电机的方向:1. 通过改变脉冲的顺序:正向或反向发送脉冲序列,可以控制电机向正向或反向转动。
2. 通过使用不同的工作模式:一些步进电机驱动器支持不同的工作模式,如全步、半步、1/4步等。
通过选择不同的工作模式,可以改变电机的转动方向和速度。
四、电机速度调节调节步进电机的速度可以通过改变驱动脉冲的频率来实现。
一般来说,脉冲频率越高,电机转速越快。
同时,也可以通过改变工作模式来调节电机的速度。
五、电机状态监测与保护为了确保步进电机的安全运行,需要实时监测电机的状态,并进行必要的保护措施。
这包括:1. 温度监测:监测电机的温度,防止过热。
2. 电流监测:监测电机的驱动电流,防止过流。
3. 位置监测:通过编码器等传感器监测电机的实际位置,防止位置丢失或错误。
4. 故障诊断:通过分析监测数据,判断电机是否出现故障,并采取相应的处理措施。
六、异常处理与故障诊断为了提高控制程序的鲁棒性,需要设计异常处理与故障诊断机制。
这包括:1. 异常情况检测:通过分析监测数据和运行状态,检测出异常情况。
[整理]2相4线步进电机
![[整理]2相4线步进电机](https://img.taocdn.com/s3/m/bb38b10d87c24028915fc3f0.png)
通过上图可知,A,~A是联通的,B和~B是联通。
那么,A和~A是一组a,B和~B是一组b。
不管是两相四相,四相五线,四相六线步进电机。
内部构造都是如此。
至于究竟是四线,五线,还是六线。
就要看A和~A之间,B和B~之间有没有公共端com抽线。
如果a组和b 组各自有一个com端,则该步进电机六线,如果a和b组的公共端连在一起,则是5线的。
所以,要弄清步进电机如何接线,只需把a组和b组分开。
用万用表打。
四线:由于四线没有com公共抽线,所以,a和b组是绝对绝缘的,不连通的。
所以,用万用表测,不连通的是一组。
五线:由于五线中,a和b组的公共端是连接在一起的。
用万用表测,当发现有一根线和其他几根线的电阻是相当的,那么,这根线就是公共com端。
对于驱动五线步进电机,公共com端不连接也是可以驱动步进电机的。
六线:a和b组的公共抽线com端是不连通的。
同样,用万用表测电阻,发现其中一根线和其他两根线阻止是一样的,那么这根线是com端,另2根线就属于一组。
对于驱动四相六线步进电机,两根公共com端不接先也可以驱动该步进电机的。
步进电机相关概念:相数:产生不同对极N、S磁场的激磁线圈对数。
常用m表示。
拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。
θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。
四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。
定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。
2相四线,四相五线,四相六线步进电机接线及驱动方法

2相四线,四相五线,四相六线步进电机接线及驱动方法步进电机原理按照常理来说,步进电机接线要根据线的颜色来区分接线 的步进电机,线的颜色不一样。
特别是国外的步进电机那么,步进电机接线应该用万用表打表。
~B 是一组b o 不管是两相四相,四相五线,四相六线步进电机。
内部构造都是如此。
至于究竟是四线,五线,还是六线。
就要看 A 和~A 之间,B 和B~之间有没有公共端com 抽线。
如果a 组和b 组各自有一个com 端,则该步进电机六线,如果 a 和b 组的公 共端连在一起,则是 5 线的。
但是不同公司生产B 和~B 是联通。
那么, A 和~A 是一组a , B 和通过上图可知,A, ~A 是联通的,步进电机内部构造如下图所以,要弄清步进电机如何接线,只需把 a 组和 b 组分开。
用万用表打。
四线:由于四线没有com公共抽线,所以,a和b组是绝对绝缘的,不连通的。
所以,用万用表测,不连通的是一组。
五线:由于五线中,a和b组的公共端是连接在一起的。
用万用表测,当发现有一根线和其他几根线的电阻是相当的,那么,这根线就是公共com端。
对于驱动五线步进电机,公共com端不连接也是可以驱动步进电机的。
六线:a和b组的公共抽线com端是不连通的。
同样,用万用表测电阻,发现其中一根线和其他两根线阻止是一样的,那么这根线是com端,另2根线就属于一组。
对于驱动四相六线步进电机,两根公共com端不接先也可以驱动该步进电机的。
步进电机相关概念:相数:产生不同对极N S磁场的激磁线圈对数。
常用m表示。
拍数: 完成一个磁场周期性变化所需脉冲数或导电状态用n 表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD- DA-AB四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号,电机转子转过的角位移用9表示。
B =360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。
步进电机驱动程序(二相四线可使用4、8节拍)

以下是STM32F1的代码部分(我是按照8拍的方式写的)
硬件的连线方式单片机IO口PB12 电机A+
PB13 电机A-
PB14 电机B+
PB14 电机B-
#define AA_H GPIO_SetBits(GPIOB, GPIO_Pin_12 ); #define AA_L GPIO_ResetBits(GPIOB, GPIO_Pin_12 ); #define AD_H GPIO_SetBits(GPIOB, GPIO_Pin_13 ); #define AD_L GPIO_ResetBits(GPIOB, GPIO_Pin_13 ); #define BA_H GPIO_SetBits(GPIOB, GPIO_Pin_14 ); #define BA_L GPIO_ResetBits(GPIOB, GPIO_Pin_14 ); #define BD_H GPIO_SetBits(GPIOB, GPIO_Pin_15 ); #define BD_L GPIO_ResetBits(GPIOB, GPIO_Pin_15 );
void motor_run(void) { AA_H; AD_L; BA_L; BD_L; delay_ms(5); AA_H; AD_L; BA_H; BD_L; delay_ms(5); AA_L; AD_L; BA_H; BD_L; delay_ms(5); AA_L; AD_H; BA_H; BD_L; delay_ms(5); AA_L; AD_H; BA_L; BD_L; delay_ms(5); AA_L; AD_H; BA_L; BD_H; delay_ms(5); AA_L; AD_L; BA_L; BD_H; delay_ms(5); AA_H; AD_L; BA_L; BD_H; delay_ms(5); }
两相四拍步进电机波形

两相四拍步进电机波形步进电机是一种特殊的电机,它的转动是通过电流的不断变化来实现的。
而步进电机的转动状态可以用波形图来表示,其中最常见的是两相四拍步进电机波形。
下面将详细介绍两相四拍步进电机波形的特点和工作原理。
一、两相四拍步进电机波形的特点两相四拍步进电机波形是指步进电机在一个完整的周期内,电流的变化情况。
它的特点主要有以下几点:1. 波形周期:两相四拍步进电机波形的周期是一个完整的电机转动周期,通常以角度来表示。
在一个周期内,电机会完成一定的转动角度,然后重新回到起始位置。
2. 相位差:两相四拍步进电机波形中的两个相位之间存在一定的差距,通常为90度。
这个相位差是步进电机正常工作的基础,它使得电机能够顺时针或逆时针旋转。
3. 电流变化:在两相四拍步进电机波形中,电流是按照一定的规律变化的。
电流的变化决定了电机的转动方向和速度。
一般来说,电流的变化是通过驱动电机的控制器来实现的。
二、两相四拍步进电机波形的工作原理两相四拍步进电机波形的工作原理是通过改变电流的方向和大小来实现的。
具体步骤如下:1. 步骤一:确定起始位置。
步进电机的起始位置是一个重要的参考点,它确定了电机的转动方向和角度。
在起始位置时,两个相位的电流都为零。
2. 步骤二:改变电流方向。
在起始位置的基础上,通过改变电流的方向,可以使电机顺时针或逆时针旋转。
改变电流方向的方式有多种,最常见的是使用H桥驱动器。
3. 步骤三:改变电流大小。
电流的大小决定了电机的转动速度。
通过改变电流的大小,可以控制电机转动的快慢。
一般来说,电流越大,电机转动的速度越快。
4. 步骤四:循环执行。
在完成一次电机转动后,需要重新回到起始位置,然后继续执行下一次转动。
这样就形成了一个完整的电机转动周期。
三、两相四拍步进电机波形的应用两相四拍步进电机波形在实际应用中具有广泛的用途。
它常被应用于需要精确定位和控制转动角度的场合,如机械臂、数控机床、打印机等。
步进电机的波形可以通过控制器实时调整,以满足不同的需求。
步进电机驱动

双极性四线步进电机驱动我们常用的步进电机分为单极性和双极性之分,今天介绍一下双极性四线步进电机驱动,这个步进电机我是从打印机中拆下来的,板子上用的驱动芯片是LB11847,带细分的驱动器。
一般双极性四线步进电机线序是 A B A/ B/, 其中A 与A/是一个线圈,B和B/是一个线圈,一般这种驱动需要的是H桥电路,这里就不必介绍H桥了。
下面介绍一下H双极性四线步进电机驱动相序:1.单相四拍通电驱动时序正转:A/ B A B/反转:B/ A B A/2.双相通电四拍驱动时序正转:A/B AB AB/ A/B/反转:A/B/ AB/ AB A/B3.半步八拍驱动时序正转:A/ A/B B AB A AB/ B/ A/B/反转:A/B/ B/ AB/ A AB B A/B A/下面介绍一下LB11847驱动原理:原理图如下:内部H桥驱动:这个只是A相驱动,B相与之相同。
真值表与电流比例表:这里做一下解释:看原理图:BSD是外界线圈对地的二极管,RE是采样电阻,而VREF则是通3.04*RE,这由电流真值表的计算公式可以看出。
下面给出我的一个驱动程序:是对步进脚进行4细分,双线圈导通驱动。
/*LB11847 步进电机驱动*/#include <pic.h>//代表输出电流值//分别代表// 17.39% 26.08% 34.78% 43.48% 52.17% 60.87% 69.56% 73.91% 78.26% 82.61% 86.95% 91.3 0% 95.65% 100%//对应端口// IB4 IB3 IB2 IB1 IA4 IA3 IA2 IA1// RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0const unsigned char TableA[] = {0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0 x0E,0x0F,0x0F,0x0F,0x0f,0x0f,0x0f,0x0f};// 电流输出值对应const unsigned char TableB[] = {0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90,0xA0,0xB0,0xC0,0xD0,0 xE0,0xF0,0xF0,0xF0,0xf0,0xf0,0xf0,0xf0};// 正转反转时许设定// 1.单相通电// 正转时序// A/ B A B/// 反转时序// B/ A B A/// 2.两相通电// 正转时序// A/B AB AB/ A/B/// 反转时序// A/B/ AB/ AB A/B// 3.半步方式// 正转时序// A/ A/B B AB A AB/ B/ A/B/// 反转时序// A/B/ B/ AB/ A AB B A/B A/// 步进电机对应// 从带蓝边开始依次A B A/ B/// 操作时序// PHASE ENABLE OUTAorB OUTA/orB/// H L H L// L L L H// - H OFF OFFconst unsigned char PositiveTable[]={0x08,0x06,0x09,0x02}; // 正转时序const unsigned char ReverseTable[]={0x02,0x09,0x06,0x08}; // 反响时序const unsigned char PositiveTable1[]={0x04,0x05,0x01,0x00}; // 正转时序const unsigned char ReverseTable1[]={0x00,0x01,0x05,0x04}; // 反响时序const unsigned char PositiveTable2[] ={0x08,0x04,0x06,0x05,0x09,0x01,0x02,0x00}; // 8拍正转时序const unsigned char ReverseTable2[]={0x00,0x02,0x01,0x09,0x05,0x06,0x04,0x08};#define Timer1_Int 0xFF80 // 定时器1初始化值const unsigned char PositiveTable3[]={0x08,0x06,0x09,0x02}; // 正转时序#define PHASEA RC0 // 输出管脚使能#define ENABLEA RC1#define PHASEB RC2#define ENABLEB RC3unsigned char Point_CurrentA; // A相电流输出指针unsigned char Point_CurrentB; // B相电流输出指针unsigned char Point_Running; // 转动指针unsigned char Delay_Counter; // 延时计数器unsigned int Timer_Add;unsigned char Add_Pluse;volatile bit A_Add;volatile bit A_Plus;volatile bit B_Add;volatile bit B_Plus;volatile bit Positive_Reverse_Flage; // 正反标志volatile bit Positive_ReverseA;volatile bit Positive_ReverseB;//#define A_Add 1 // A相电流加操作//#define A_Pluse 2 // A相电流减操作//#define B_Add 3 // B相电流加操作//#define B_Pluse 4 // B相电流减操作void Pic_Int();void delay(unsigned int asd){unsigned int i;for(i=0;i<asd;i++){}}//*****************************************//中断函数//*****************************************void interrupt SDI(){if(TMR1IF) // 定时器中断{TMR1IF = 0;if(Timer_Add<0xFF60){//Timer_Add++;}TMR1H = (unsigned char)(Timer_Add>>4); // 定时器计时初始化TMR1L = (unsigned char)(Timer_Add&0x00ff);Delay_Counter++;if(Delay_Counter>=1);Delay_Counter = 0;PORTC = PositiveTable[Point_Running]; // 正转时序PORTB = (unsigned char)((TableA[Point_CurrentA])|(TableB[Point_CurrentB]));if(A_Add){Point_CurrentA+=4;}if(A_Plus){Point_CurrentA-=4;}if(B_Plus){Point_CurrentB-=4;}if(B_Add){Point_CurrentB+=4;}//Point_Running++;if(A_Add){if(Point_CurrentA == 16){A_Add = 0;A_Plus = 1;if(Positive_ReverseA){Point_Running++;}Positive_ReverseA = 0;}}if(A_Plus){if(Point_CurrentA == 0){A_Add = 1;A_Plus = 0;if(Positive_ReverseA){Point_Running++;}Positive_ReverseA = 0;}if(B_Add){if(Point_CurrentB==16){B_Add = 0;B_Plus = 1;if(Positive_ReverseB){Point_Running++;}Positive_ReverseB = 0;}}if(B_Plus){if(Point_CurrentB==0){B_Add = 1;B_Plus = 0;if(Positive_ReverseB){Point_Running++;}Positive_ReverseB = 0;}}if(Positive_Reverse_Flage==0) // 正转{if(Positive_ReverseA==0){Positive_ReverseB = 1;}if(Positive_ReverseB==0){Positive_ReverseA = 1;}}if(Point_Running>4){Point_Running = 0;}}}}//*****************************************//*****************************************void main(){Pic_Int(); // 初始化//PHASEB = 1;//ENABLEB = 0;while(1){}}//*****************************************//初始化函数//*****************************************void Pic_Int(){ADCON1 = 0x07; // 关闭AD转换器INTCON= 0x00; // 关闭中断TRISB = 0x00; // RB口设置为输出PORTB = 0xff; // 全部电流输出TRISC = 0xF0; // 低四位设置为输出引脚ENABLEB = 1;ENABLEA = 1;T1CON = 0x00; // 定时器1初始化TMR1IE = 1;Timer_Add = Timer1_Int;TMR1H = (unsigned char)(Timer_Add>>4); // 定时器计时初始化TMR1L = (unsigned char)(Timer_Add&0x00ff);GIE = 1; // 中断开始PEIE = 1;TMR1ON= 1; // 定时器运行Point_CurrentA = 0; // 指针初始化Point_CurrentB = 0;Point_Running = 0;Delay_Counter = 0;Positive_Reverse_Flage = 0; // 正转标志Point_CurrentA = 16; // 正转电流A相处于最大Point_CurrentB = 0; // 正转电流B相处于最小Positive_ReverseA = 1;Positive_ReverseB = 0;A_Plus = 1; // 起始B进行加操作A_Add = 0;B_Add = 1; // B加操作B_Plus = 0;}。
步进电机驱动器说明书

ZHH-MC两相混合式步进电机驱动器使用说明书一、概述ZHH-MC细分型两相混合式步进电机驱动器,采用直流18~50V供电,适合驱动电压24V~50V,电流小于4.2A外径42~86毫米的两相混合式步进电机。
此驱动器采用交流伺服驱动器的电流环进行细分控制,电机的转矩波动很小,低速运行很平稳,几乎没有振动和噪音。
高速时力矩也大大高于其它二相驱动器,定位精度高。
广泛适用于雕刻机、数控机床、包装机械等分辩率要求较高的设备上。
主要特点1平均电流控制,两相正弦电流驱动输出2直流24~50V供电3光电隔离信号输入/输出4有过压、欠压、过流、相间短路保护功能5十六档细分和自动半流功能6八档输出相电流设置7具有脱机命令输人端子8电机的扭矩与它的转速有关,而与电机每转的步数无关9高启动转速10高速力矩大一、电气参数输入电压直流24~50V输入输入电流小于4安培输出电流 1.0A~4.2A功耗功耗:80W;内部保险:6A温度工作温度-10~45℃;存放温度-40℃~70℃湿度不能结露,不能有水珠气体禁止有可燃气体和导电灰尘重量200克注:拨码开关请在未上电时调好,严禁带电操作,切记!二、控制信号接口图1是驱动器的接线原理图1、控制信号定义PLS+:步进脉冲信号输入正端或正向步进脉冲信号输入正端PLS-:步进脉冲信号输入负端或正向步进脉冲信号输入负端DIR+:步进方向信号输入正端或反向步进脉冲信号输入正端DIR-:步进方向信号输入负端或反向步进脉冲信号输入负端ENA+:脱机使能复位信号输入正端ENA-:脱机使能复位信号输入负端脱机使能信号有效时复位驱动器故障,禁止任何有效的脉冲,驱动器的输出功率元件被关闭,电机无保持扭矩。
2、控制信号连接上位机的控制信号可以高电平有效,也可以低电平有效。
当高有效时,把所有控制信号的负端连在一起作为信号地,低有效时,把所有控制信号的正端连在一起作为信号公共端。
现在以集电极开路和PNP输出为例,接口电路示意图如下:图2.输入接口电路(共阴极接法)控制器PNP输出注意:VCC值为5V时,R短接;VCC值为12V时,R为1K,大于1/8W电阻;VCC值为24V时,R为2K,大于1/8W电阻;R必须接在控制器信号端。
L298N电机驱动模块详解

L298N电机驱动器使用说明书注意:本说明书中添加超链接的按CTRL并点击连接,即可看到内容。
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
简要说明:一、尺寸:80mmX45mm二、主要芯片:L298N、光电耦合器三、工作电压:控制信号直流5V;电机电压直流3V~46V(建议使用36伏以下)四、最大工作电流:2.5A五、额定功率:25W特点:1、具有信号指示。
2、转速可调3、抗干扰能力强4、具有过电压和过电流保护5、可单独控制两台直流电机6、可单独控制一台步进电机7、PWM脉宽平滑调速8、可实现正反转9、采用光电隔离六、有详细使用说明书七、提供相关软件八、提供例程及其学习资料驱动器结构详解1.信号电源引入端2.控制信号输入端3.直流电机调速PWM脉宽信号输入端。
(控制步进电机或者控制直流电机无需调速时,保持此状态)4.控制信号指示灯5.光电隔离(抗干扰) 6.核心芯片(L298N)7.二极管桥式续流保护8.电源滤波9.端子接线实例一:步进电机的控制实例步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。
一、步进电机最大特点是:1、它是通过输入脉冲信号来进行控制的。
两相步进电机驱动器原理接线说明书

DVS278 是基于DSP控制的二相步进电机驱动器,是新一代数字步进电机驱动器。
驱动电压为DC24V-80V,适配电流在7.0A 以下、外径57-86mm 的各种型号的二相四线混杂式步进电机。
该驱动器内部采用近似伺服控制原理的电路,此电路能够使电机运行平稳,几乎没有震动和噪音,电机在高速时,力矩大大高于二相和五相混杂式步进电机。
定位精度最高可达10000 步/ 转。
该产品广泛应用于雕琢机、中型数控机床、电脑绣花机、包装机械均分辨率较高的大、中型数控设备上。
特点● 高性能、低价格●设有 16 档等角度恒力矩细分,最高分辨率10000 步 / 转●最高反应频率可达200Kpps● 步进脉冲停止高出时,线圈电流自动减到设定电流的一半●光电隔断信号输入/ 输出●驱动电流3A/ 相到相分 8 档可调●单电源输入,电压范围:DC24V-80V●相位记忆功能(注:输入停止高出 3 秒后,驱动器自动记忆当时电机相位,重新上电或平变为高电平时,驱动器自动恢复电机相位)。
MF信号由低电电流设定驱动器工作电流由D1-D3 端子设定,运行电流为正常工作输出电流设置开关(详见下表)运行电流( A)D1OFF OFF OFF OFF ON ON ON ON D2OFF OFF ON ON OFF OFF ON ON D3OFF ON OFF ON OFF ON OFF ON 细分设定驱动器细分由D4-D6 端子设定,共8 档, D7 和 D8 为功能设定。
附表如:细分数(脉冲 / 转)细分数4008001000160020004000500010000 D4ON ON ON ON OFF OFF OFF OFF D5ON ON OFF OFF ON ON OFF OFF D6ON OFF ON OFF ON OFF ON OFFD7ON, 双脉冲: PU 为正向步进脉冲信号, DR 为反向步进脉冲信号OFF, 单脉冲: PU 为步进脉冲信号, DR 为方向控制信号D8自动检测开关( OFF时接收外面脉冲, ON 时驱动器内部以30 转 / 分的速度运行)I/O 信号所有输入信号均经过光电隔断,为保证内置高速光耦可靠导通,要求供应控制信号的电流驱动能力至少 15mA 。
SRAC4 两相步进电机驱动器 用户手册说明书

SRAC4两相步进电机驱动器用户手册目录1 简介 (3)1.1 特性 (3)1.2 功能框图 (4)2 安装驱动器 (4)3 连接 (5)3.1 连接电源 (6)3.2 电机连接 (7)3.3 连接输入和输出 (8)3.3.1 脉冲方向输入 (8)3.3.2 使能输入 (9)3.3.3 报错输出 (10)4 开关选择 (11)4.1 细分设置 (11)4.2 运行电流 (12)4.3 空闲电流 (12)4.4 共振抑制 (13)4.5 脉冲输入模式 (13)4.6 脉冲输入信号滤波 (13)4.7 细分插补 (13)4.8 自检 (13)5 电机参数选择 (14)5.1 推荐电机 (15)5.2 力矩曲线 (15)6 错误代码 (16)7 参考资料 (16)7.1 机械尺寸 (16)7.2 技术规格 (17)7.2.1 电气规格 (17)7.2.2 环境规格 (17)1 简介感谢您选择鸣志步进电机驱动器。
SRAC4系列两相交流步进电机驱动器是基于PID电流控制算法设计的高性价比细分型驱动器,具有优越的性能表现,高速大力矩输出,低噪音,低振动,许多配置参数为拨码开关可选。
希望我们产品优越的性能、优异的质量和优秀的性价比可以帮助您成功的完成运动控制项目。
1.1 特性•先进的数字电流控制提供卓越的高速力矩•自动设置电机参数和电机电流控制配置与抗共振阻尼设置•使用通用的交流输入80 - 265 VAC•速度范围 - 高达 50 rps•细分设置 - 拨码开关可选,16种细分设置:200,400,800,1600,3200,6400,12800, 25600,1000,2000,4000,5000,8000,10000,20000,25000 step/rev •运行电流 - 峰值设置,拨码开关可选,16种电流设置:0.4A, 0.8A, 1.2A, 1.6A, 1.8A,2.0A, 2.2A, 2.4A, 2.6A, 2.8A,3.0A, 3.2A, 3.4A, 3.6A, 3.8A,4.0A•空闲电流 - 电机在停止1s后自动减少供给电机的电流,拨码开关选择,4种空闲电流设置:25%,50%,70%,90%•抗共振 - 驱动器根据所选择的电机与负载的惯量比参数进行电流控制以提高系统的稳定性,提高电机整个速度范围内的运行平稳性。
两相4线步进电机驱动时序

两相4线步进电机驱动时序
无意中间从网上看到两个人的发言,我总结了一下终于把两相4线步进电机脉冲搞定了.
这个图是我自己画的,从图中可以看出来,要实现步进电机的转动,可以用以下两种方式:
(1)8拍的方式
八个状态:1、在A与A-正电压,B与B-不给电悬空;2、在A与A-正电压,B 与B-也给正电压;3、A与A-不给电压悬空,B与B-正电压;4、A与 A-给负电压,B与B-给正电压;5、A与A-给负电压,B与B-不给悬空;6、A与A-给负电压,B与B-给负电压;7、A与A-不
给电悬空,B与B-给负电压;8、A与给正电压,B与B-给负电压;按以上八个状态轮流供电,控制一下脉宽应该就可以了。
四个引脚各一根控制线:A~H表示各线时序
A B C D E F G H
A 1 1 0 0 0 0 0 1
A- 0 0 0 1 1 1 0 0
B 0 1 1 1 0 0 0 0
B- 0 0 0 0 0 1 1 1 .........
(2)4拍的方式
我的方法
一般是电流驱动的。
我下面的a~ 和b~ 表示反向电流。
两相双二拍:
ab - a~b - a~b~ - ab~ 为一个转向。
ab - ab~ - a~b~ - a~b 为反向。
自己的一点体会:偶觉得两相4线电机 和 四相4线电机 差不多.(这从上面我画的图)也可以看出来,只不过物理上绕线的方式不同(这也导致编程上脉冲表的不同),在功能上是一样的.。
二相四线步进电机(297+298)

基于L297和L298的步进电机驱动器的设计作者:任明岩范丹步进电机广泛应用于对精度要求比较高的运动控制系统中,如机器人、打印机、软盘驱动器、绘图仪、机械阀门控制器等。
目前,对步进电机的控制主要有由分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。
分散器件组成的环形脉冲分配器体积比较大,同时由于分散器件的延时,其可靠性大大降低;软件环形分配器要占用主机的运行时间,降低了速度;专用集成芯片环形脉冲分配器集成度高、可靠性好,但其适应性受到限制,同时开发周期长、需求费用较高。
步进电机控制步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机可分为反应式步进电机(VR)、永磁式步进电机(PM)和混合式步进电机(HB)。
步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。
其基本原理作用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。
例如:混合式步进电机的工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断,这就是所谓脉冲环形分配器。
(2)控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。
(3)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
L297和L298组成的步进电机驱动电路SGS公司的L297单片步进电机控制集成电路适用于双极性两相步进电机或四相单极性步进电机的控制,与两片H桥式驱动芯片L298组合,组成完整的步进电机固定斩波频率的PWM恒流斩波驱动器。
L297产生四相驱动信号,用以控制双极性两相步进电机或四相单极性步进电机,可以采用半步、两相励磁、单相励磁三种工作方式控制步进电机,并且控制电机的片内PWM斩波电路允许三种工作方式的切换。
两相4线步进电机驱动

两相4线步进电机驱动前段时间在出去买东西的时候经过一个废品收购站,看到一位阿姨正在从一台什么机器上面拆零件。
具体是什么机器我也不认识,我突然看到她拆下来一个圆圆的东西,走进一看原来是一个电机,有四根线,我当时想肯定是一个步进电机。
虽然年份久远但是质量看起来还不错,我当时就很喜欢。
问阿姨这个多少钱我想买下来。
阿姨说十块钱,一分也不能少。
没有办法我就发十块钱买下这个“铁块子“!由于时间的关系一直没有机会折腾。
今天有点时间所以就拿出来研究一下。
经过测量这是一个两项四线的步进电机,步进角为1.8 度。
有两种工作方式。
一种是4 拍的方式,一种是8 拍的方式,4 拍方式的时序如下:a~ 和b~ 表示反向电流。
ab -a~b -a~b~ -ab~ 为一个转向。
ab -ab~ -a~b~ -a~b 为反向。
8 拍方式的时序如下:A B C D E F G H(时序)A 1 1 0 0 0 0 0 1A- 0 0 0 1 1 1 0 0B 0 1 1 1 0 0 0 0B- 0 0 0 0 0 1 1 1我这里用的是8 拍的方式。
程序:/************************************************************************程序功能:**芯片型号:STC11F16XE**晶振频率:22.1184M **编写日期:2010 年10 月日**编写人员:wang QQ:349259818 Email:hongfadg@163 **备注说明:*******************************************************************///以下为所需的头文件//#includeabsacc.h//#includestring.h//#includestdio.h//#includeINTRINS.H#include reg52.H //定义关键字方便使用#define uchar unsigned char#define uint unsigned int #define ulong unsigned long /*sbit p10=P1;//第一组电机sbit p11=P1;s b it p12=P1 ;//第一组使能sbit p13=P1;//第二组电机sbitp14=P1;s b it p15=P1 ;//第二组使能*/uchar step[]={0x25,0x2d,0x2c,0x2e,0x26,0x36,0x34,0x35};//时序参数表/* 延时函数*********************************************************************函数原型: void delay(void) **函数功能:延时函数**输入参数:无**输出参数:无**备注说明:*******************************************************************/void delay(void){ unsigned char a,b,c; for(c=18;c0;c--) for(b=19;b0;b--) for(a=23;a0;a--);}/* 主函数*********************************************************************函数原型:main() **函数功能: **输入参数:无**输出参数:无**备注说明:完成程序的主要功能*******************************************************************/main(){unsigned char c;while(1) //主循环{ for(c=0;c8;c++) {P1=step[c]; //电机驱动delay(); //延时} }}tips:感谢大家的阅读,本文由我司收集整编。
两相四线步进电机

两相四线励磁式步进电机工作原理本章将介绍在嵌入式平台UP-NETARM2410-S中步进电机的实现;步进电机在各个领域诸如机器人、智能控制、工业控制等方面都有着广泛的应用空间,本章着重介绍步进电机的工作原理及编程实现步进电机驱动的方法,主要内容如下:l 步进电机的概述l 步进电机的工作原理l 和微处理器的总线连接方式l 驱动程序的编程l Linux 下用软件的方法实现步进电机的脉冲分配,用软件的方法代替硬件的脉冲分配器1.步进电机概述步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机;单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动;多相步进电动机有多相方波脉冲驱动,用途很广;使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组;每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度称为步距角;正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响;由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制;步进电机的特性步进电机转动使用的是脉冲信号,而脉冲是数字信号,这恰是计算机所擅长处理的数据类型;从20世纪80年代开始开发出了专用的IC驱动电路,今天,在打印机、磁盘器等的OA装置的位置控制中,步进电机都是不可缺少的组成部分之一;总体上说,步进电机有如下优点:1.不需要反馈,控制简单;2.与微机的连接、速度控制启动、停止和反转及驱动电路的设计比较简单; 3.没有角累积误差;4.停止时也可保持转距;5.没有转向器等机械部分,不需要保养,故造价较低;6.即使没有传感器,也能精确定位;7.根椐给定的脉冲周期,能够以任意速度转__________动;但是,这种电机也有自身的缺点;8.难以获得较大的转矩9、不宜用作高速转动10.在体积重量方面没有优势,能源利用率低;11.超过负载时会破坏同步,速工作时会发出振动和噪声;步进电机的种类目前常用的步进电机有三类:1、反应式步进电动机VR;采用高导磁材料构成齿状转子和定子,其结构简单,生产成本低,步距角可以做的相当小,但动态性能相对较差;2、永磁式步进电动机PM;转子采用多磁极的圆筒形的永磁铁,在其外侧配置齿状定子;用转子和定子之间的吸引和排斥力产生转动,转动步的角度一般是;它的出力大,动态性能好;但步距角一般比较大;3、混合步进电动机HB;这是PM 和VR的复合产品,其转子采用齿状的稀土永磁材料,定子则为齿状的突起结构;此类电机综合了反应式和永磁式两者的优点,步距角小, 出力大,动态性能好,是性能较好的一类步进电动机,在计算机相关的设备中多用此类电机;2、步进电机的工作原理现以反应式三相步进电机为例说明其工作原理;三相步进电机的定子铁心上有六个形状相同的大齿,相邻两个大齿之间的夹角为60 度;每个大齿上都套有一个线圈,径向相对的两个线圈串联起来成为一相绕组;各个大齿的内表面上又有若干个均匀分布的小齿;转子是一个圆柱形铁心,外表面上圆周方向均匀的布满了小齿;转子小齿的齿距是和定子相同的;设计时应使转子齿数能被二整除;但某一相绕组通电,而转子可自由旋转时,该相两个大齿下的各个小齿将吸引相近的转子小齿,使电动机转动到转子小齿与该相定子小齿对齐的位置,而其它两相的各个大齿下的小齿必定和转子的小齿分别错开正负1/3 的齿距,形成“齿错位”,从而形成电磁引力使电动机连续的____苔K_转动下去;和反应式步进电动机不同,永磁式步进电动机的绕组电流要求正,反向流动,故驱动电路一般要做成双极性驱动;混合式步进电动机的绕组电流也要求正,反向流动,故驱动电路通常也要做成双极性;、步进电机的励磁方式步进电机有2相、4相和5相电机;在4相电机中有4组线圈,若电流按顺序通过线圈则使电机产生转动;2相电机中有2 组线圈;从图可以发现,在各线圈中引出中间端子,因此若以中间端子为基准即可实现4相,称这4为A、B、C、D 的励磁相;本实验使用的就是这种方式的4相电机,而励磁方式中有1 相单向励磁、2 相双向励磁和1-2 相单-双向励磁方式;此外,如果转动的方向不正确,可以交替1、2端子或3、4号端子1. 1相励磁方式按ABCD的顺序总是仅有一个励磁相有电流通过,因此,对应1个脉冲信号电机只会转动一步,这使电机只能产生很小的转矩并会产生振动,故很少使用;A B C DT1 1 0 0 0T2 0 1 0 0T3 0 0 1 0T4 0 0 0 1图-T4表示脉冲周期;ABCD表示电机的各相,1表示此时有一个脉冲,0表示没有2. 2相励磁方式按AB、BC、CD、DA的方式总是只有2相励磁,通过的电流是1相励磁时通过电流的2倍,转矩也是1相励磁的2 倍;此时电机的振动较小且应答频率升高,目前仍广泛使用此种方式;A B C DT1 1 1 0 0T2 0 1 1 0T3 0 0 1 1T4 1 0 0 1图-T4表示脉冲周期;ABCD表示电机的各相,1表示此时有一个脉冲,0表示没有脉冲3. 1-2相励磁方式即实验中所有的励磁方式,它按A、AB、B、BC、C、CD、D、DA的顺序交替进行线圈的励磁;与前述的2个线圈励磁方式相比,电机的转速是原来的1/2,应答频率范围变为原来的2倍;转子以滑动的方式转动;A B C DT1 1 0 0 0T2 1 1 0 0T3 0 1 0 0T4 0 1 1 0T5 0 0 1 0T6 0 0 1 1T7 0 0 0 1T8 1 0 0 1图-T8表示脉冲周期;ABCD表示电机的各相,1表示此时有一个脉冲,0表示没有脉冲3.与微处理器的连接方式步进电机并不是直接与CPU相连的;由于开发板上外部设备很多,各功能模块与微处理器的连接方式有专用线路,局部总线与扩展总线;局部总线与扩展总线局部总线与微处理器直接相连,扩展总线通过一个总线控制器74LVCH6245与局部总线相连;从CPU 出来的数据、地址、读写控制等信号构成局部总线;NAND FLASH、SDRAM和网卡芯片AX88796 直接挂在局部总线上的;局部总线经过四片74LVCH16245 驱动后作为扩展总线引到其他外设以及168Pin 扩展槽;由于数据线是双向的,所以16245芯片必须有方向控制信号,这里采用经过隔离后的写控制信号OE 作为数据线所在16245 芯片的方向控制线;当OE 有效时16245 芯片把扩展总线上的数据传输到局部总线上;当OE无效时反之;另外,必须注意,当系统对局部总线上的芯片读数据时OE 一样会起作用,这样就必须对局部总线和扩展总线进行总线仲裁,这里是外设所具有的四个片选信号nGCS1、3、4、5 用74HC21 相与后作为数据线所在的16245 芯片的输出使能控制线,只有当系统对扩展总线读操作,也就是上述四个片选之一有效时,16245 才能对局部总线输出数据,否则无论OE 如何都呈现高阻态;如下图:注:LDATA表示局部总线的数据线;DATA表示扩展总线的数据线;74LVCH16425芯片共有四块,限于篇幅仅举一片为例,其它三片芯片,一片用于数据线的低位连接,两片用于地址线的连接;注:由于片选线使用的负逻辑电平有效,所有此处用的是与门芯片74HC573扩展总线连接在芯片74HC573上,扩展总线的DATA0-DATA7分别接在74HC573的八个数据输入端上;74HC573芯片是由8个三态门组成的寄存器,它起到暂时保存信息和隔离总线的作用;芯片的输出I\O0—I\O3用于D\A数模转换,I\O4—I\O7用于步进电机的控制;描述:这个芯片采用的是八进位的D触发器,它可以驱动电容式或电阻式的负载;因此它特别适合应用于缓冲寄存器、IO端口、双向的总线控制器、和操作寄存器;当寄存器的使能端LE为高电平时,Q输出端和________D输入端一一对应;当LE为低电平时,输出端管脚Q输出的是寄存器中已被设定的值;当一个能开启缓冲功能的负逻辑管脚OE为0时,无论是在正常逻辑状态还是在高阻抗状态下,都能放置八位的输出数据;在高阻抗状态下;输出并没有负载或者进行控制总线;高阻态和改进的总线驱动可以在不拉起元件的情况下控制总线传输;OE端并不影响寄存器内部的操作;当输出端呈高阻状态时旧的数据可以被保存或者新的数据进行输入;步进电机模块的驱动电路74HC573芯片的输出I\O4—I\O7用于用来驱动步进电机的转动;数据线要首先接在步进电机模块的一个接口上;接口对信号进行放大,使之能够驱动步进电机;放大后的信号就可以直接的来使步进电路进行工作了;、开发板中的步进电机本开发板中使用的步进电机为四相步进电机;转子小齿数为64;系统中采用四路I/O 进行并行控制,ARM 控制器直接发出多相脉冲信号,在通过功率放大后,进入步进电机的各相绕组;这样就不再需要脉冲分配器;脉冲分配器的功能可以由纯软件的方法实现如上图所示;四相步距电机的控制方法有四相单四拍,四相单、双八拍和四相双四拍三种控制方式;步距角的计算公式为:θb=3600/mC k其中:m 为相数,控制方法是四相单四拍和四相双四拍时C 为1,控制方法是四相单、双八拍时C 为2,Z k 为转子小齿数;本系统中采用的是四相单、双八拍控制方法,所以步距角为360°/512;但步进电机经过一个1/8 的减速器引出,实际的步距角应为360°/512/8;开发平台中使用EXI/O 的高四位控制四相步进电机的四个相;按照四相单、双八拍控制方法,电机正转时的控制顺序为A→AB→B→BC→C→CD→D →DA;EXI/O 的高四位的值参见下表:十六进制二进制通电状态1H 0001 A3H 0011 AB2H 0010 B6H 0110 BC4H 0100 CCH 1100 CD8H 1000 D9H 1001 DA表5. 电机正转时,EXIO的高四位的值反转时,只要将控制信号按相反的顺序给出即可;可以通过宏SETEXIOBITMASKbit,mask来设置扩展I/O 口,其中mask 参数为0xf0;本实验使作的是1-2相励磁方式,还可以使用1相励磁方式和2相励磁方式;1相励磁方式的顺序是ABCD,因此只要设置数组char stepdata={0x10,0x20,0x40,0x80} 即可2相励磁方式的顺序是AB,BC,CD,DA, 因此只要设置数组char stepdata={0x30,0x60,0xc0,0x90} 即可要实现电机的反转,只需将上面数组的值按相反的顺序排列即可4、驱动程序的编程驱动程序采用C语言进行编程,下面是驱动程序中几个重要的函数;static int do_stepmotor_runchar phase //通过调用这个函数使步进电机转起来{unsigned int bak; //变量bak用于存放从寄存器中读出的值bak = readws3c2410_exio_base; //调用内核函数将基地址为s3c2410_exio_base寄存//器的值读出并放在bak中DPRINTK_STEP"s3c2410_exio_base content is %x\n", bak; //调试输出语句tiny_delay5; //延时函数,有延时功能bitops_mask_bitphase, 0xf0, &bak;//清除4-8位然后再设置phase传进来的位也是4-8位DPRINTK_STEP"s3c2410_exio_base content is%x\n", bak; //调试输出语句tiny_delay5;writewbak, s3c2410_exio_base; //调用内核函数将bak的值写入相应的寄存器中bak = readws3c2410_exio_base; //再次将寄存器的值读出DPRINTK_STEP"s3c2410_exio_base content is %x\n", bak;//利用调试语句再次将修改后的寄存器中的值输出,以验证其正确性tiny_delay5;DPRINTK_STEP"\n";return 0;}驱动程序主要通过上面这个函数来使步进电机转动;控制电机的是一个寄存器地址是s3c2410_exio_base=0x08000100,只要给它适当的值电机就可以运动起来;这个函数通过传递变量phase从应用程序获得数据;然后使用函数readw把寄存器的值就读出并送给bak;通过函数bitops_mask_bit修改bak的值;最后由writew写回到寄存器中;5、应用程序的编程1、步进电机模块步进电机模块和DA 模块是使用Bank1 地址空间扩展出来的IO口;共同使用驱动;在驱动程序中,与步进电机相关的主要在函数s3c2410_exio_ioctl:2、对应的应用源程序include <>include <>include <>include <sys/>define STEPMOTOR_IOCTRL_PHASE 0x13static int step_fd = -1;char STEP_DEV="/dev/exio/0raw"; //定义一个指针指向步进电机的驱动程序/ A, AB, B, BC, C CD, D, DA /char stepdata={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90};//各个相位对应的值void Delayint t //延时函数{int i;for;t>0;t--fori=0;i<400;i++;}//int mainint argc, char argv{int i = 0;ifstep_fd=openSTEP_DEV, O_WRONLY<0{printf"Error opening /dev/exio/0raw device\n";return 1;}/打开设备的驱动程序,由于LINUX把所有的设备都模拟成文件;step_fd=openSTEP_DEV,0_WRONLY实际调用的函数为:static int s3c2410_exio_openstruct inode inode, struct file filp //驱动程序中的设备打开程序/for ;; {for i=0; i<sizeofstepdata/sizeofstepdata0; i++ {ioctlstep_fd, STEPMOTOR_IOCTRL_PHASE,stepdatai;}/程序进入一个死循环,这样可以使电机在没有人为停止的状况下,一直的转动下去;第二层for语句循环一次即电机转动一周;函数ioctl对应函数s3c2410_exio_ioctl而这个函数最终将调用函数do_stepmotor_runchararg;使步进电机转动起来;/printf"Delay100\n";Delay100;}closestep_fd; //程序结束时关闭设备printf"Step motor start running\n";return 0;}__。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两相4线步进电机驱动时序
无意中间从网上看到两个人的发言,我总结了一下终于把两相4线步进电机脉冲搞定了.
这个图是我自己画的,从图中可以看出来,要实现步进电机的转动,可以用以下两种方式:
(1)8拍的方式
八个状态:1、在A与A-正电压,B与B-不给电悬空;2、在A与A-正电压,B 与B-也给正电压;3、A与A-不给电压悬空,B与B-正电压;4、A与 A-给负电压,B与B-给正电压;5、A与A-给负电压,B与B-不给悬空;6、A与A-给负电压,B与B-给负电压;7、A与A-不
给电悬空,B与B-给负电压;8、A与给正电压,B与B-给负电压;按以上八个状态轮流供电,控制一下脉宽应该就可以了。
四个引脚各一根控制线:A~H表示各线时序
A B C D E F G H
A 1 1 0 0 0 0 0 1
A- 0 0 0 1 1 1 0 0
B 0 1 1 1 0 0 0 0
B- 0 0 0 0 0 1 1 1 .........
(2)4拍的方式
我的方法
一般是电流驱动的。
我下面的a~ 和b~ 表示反向电流。
两相双二拍:
ab - a~b - a~b~ - ab~ 为一个转向。
ab - ab~ - a~b~ - a~b 为反向。
自己的一点体会:偶觉得两相4线电机 和 四相4线电机 差不多.(这从上面我画的图)也可以看出来,只不过物理上绕线的方式不同(这也导致编程上脉冲表的不同),在功能上是一样的.。