用户登录
用户注册

分享至

电机驱动控制软件 dsp 控制电机

  • 作者: o年糕酱o
  • 来源: 51数据库
  • 2020-04-14

电机驱动控制软件

什么叫电机驱动控制系统?

1、在控制主控器件,需要增加PLC,PLC可以对开关量进行处理、脉冲输出控制步进电机驱动器.2、PLC采集所需数据,按照要求对PLC进行编程.3、人机界面和PLC直接的操作、监控、数据修改由人机执行。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

人机界面(Human Machine Interaction,简称HMI),又称用户界面或使用者界面,是人与计算机之间传递、交换信息的媒介和对话接口,是计算机系统的重要组成部分。

是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。

凡参与人机信息交流的领域都存在着人机界面。

如何用软件实现步进电机细分驱动

一、引言 由于步进电机成本低,控制线路简单,调试方便,所以在许多开环控制系统中得到了广泛的应用。

但是当步进电机转子运动频率达到其机械谐振点时,就会产生谐振和噪声。

为了克服机械噪声可以改变驱动方式,步进电机的驱动方式一般分为单相激励、两相激励和半步激励等。

单相激励时虽然具有输入功率小,温度不会升的太高的优点,但是由于振荡厉害,控制不稳,所以很少采用。

两相激励、半步激励都可以提高平稳度,减小机械振荡。

据此,采用细分驱动控制减小噪声是一种比较完善和理想的解决手段。

二、步进电机细分驱动原理 所谓细分驱动就是把机械步距角细分成若干个电的步距角,当转子从一个位置转到下一个位置的时候,会出现一些“暂态停留点”。

这样使得电机启动时的过调量或者停止时的过调量就会减小,电机轴的振动也会减小,使电机转子旋转过程变得更加平滑,更加细腻,从而减小了噪声。

图1 电机驱动示意图 首先介绍步进电机整步驱动,我们以两相混合式步进电机57BYB406为例,它的步距角为1.8°。

该电机有A,B两相绕组,其中我们用C表示A通反向电流时的磁场-A,用D表示B通反向电流时的磁场-B。

当分别给各相绕组通电时,各相绕组产生的旋转磁场如下:仅有A相导通时,旋转磁场指向A;仅有B相导通时,旋转磁场指向B;仅有C相导通时,旋转磁场指向C;仅有D相导通时,旋转磁场指向D。

依次为各相绕组通电,每切换一次,旋转磁场矢量转过90°,电机转过一个步距角1.8°。

当旋转磁场矢量转过360°时,电机转过一个齿距,这种工作方式称为整步工作。

如果改变上述加电过程,采用四相八拍工作,即通电顺序依次为: 此工作方式称半步工作,旋转磁场的矢量变化如图2所示。

每改变一次通电状态,旋转磁场的矢量转过45°。

图2 四细分驱动磁场矢量图 同理,旋转磁场转过360°,电机转过一个齿距。

由半步原理给予启发,如果让旋转磁场矢量每次转过22.5°,这样就实现了四细分驱动。

其旋转磁场矢量变化如图3所示。

图3 步进电机四细分驱动磁场矢量图 为了使电机输出转距大小一致,也就是使电机匀速转动,我们控制流入A,B,C,D各相电流的大小,具体按公式sin2α+cos2α=1来计算。

图4给出了四细分驱动时各相电机输入电流值的变换曲线。

图4 四细分驱动转距均匀输出原理图 三、细分驱动在喷膜机的应用 1、喷膜机总体设计 喷膜机中X方向细分驱动控制如图5所示。

这里我们采用8052微处理机,它是增强的MCS-51系列单片机,具有8K字节的ROM,256字节的RAM。

8位DA转换器AD7524通过锁存器与单片机的数据线相连,构成步进电机的脉冲信号发生器。

如果该脉冲信号驱动能力不够大,可以在DA转换器之后加一级放大器。

产生的脉冲信号加在驱动器NJM3770的VR引脚,用来驱动步进电机。

图5 喷膜机X方向控制图 2、脉冲分配器的设计 在喷膜机的设计中,我们采用软件的方法实现脉冲分配器。

将电机四细分驱动脉冲数据存储在内存中,如表1所示。

当电机逆时针方向运转时,自上而下走表索取控制量;当电机顺时针方向运转时,自下而上走表索取控制量,这样就可以控制电机上的电流的大小。

其中控制量的最高位是方向控制信号,低7位存储电机脉冲信号的大小。

如何实现7位数据的数模转换呢?这里介绍两种方法实现DA转换。

第一种方法的思想是:脉冲信号的大小用8位表示,但要求存储的任何数据的最高位都为零,这样就可以将DA转换器的最高位直接接地,用最高位存储方向控制信号。

为了使存储数据的最高位始终为零,就必须使数字信号的最大值不超过01111111,即模拟信号的大小最大为-VREF(127/256)。

为了得到所需要的电压值须将参考电压VREF增大一倍。

这样锁存器的最高位Q7表示方向位,接NJM3770的Phase引脚,锁存器的Q0~Q6顺次接DA转换器的D0~D6,DA转换器的最高位接地。

表1 电机四细分驱动脉冲数据 第二种方法的思想是:数据仅用7位表示,留下一位表示方向位。

在设计中使锁存器的Q0~Q6分别接AD7524的D1~D7,AD7524的D0位接地,锁存器的Q7接NJM3770的Phase引脚。

这种方法使得实际输出的数据与理论所需数据之间会产生误差,误差率为1/256。

在喷膜机的设计Vr=5V,V误差=0.0195V,由于误差很小,不会产生很大的影响,所以采用第二种方法。

查看电机的参数表得知电流值Im=0.7A,所以我们在设计当中,应该使电机中的电流不能大于0.7A。

当RS=0.68Ω,VR=5V时,通过公式Im=(VR*0.080)/RS计算得到Im=0.588A,满足设计要求。

通过微调AD7524的参考电阻RREF,可以微调电机脉冲信号的大小,从而控制电机绕组上的电流值。

按表1计算出四细分驱动所需要的脉冲信号的大小,A,B两项绕组上的脉冲变化如图6所示。

由于方向控制信号由AD7524的Q7位控制,所以绕组上的电流值只表现大小。

3、保护电路的设计 步进电机驱动器采用NJM3770,它由一个与LS-TTL兼容的逻辑输入端,一个电流感应器,一个单稳态多频振荡器,一个高压H桥输出端组成。

具有以下特点:只能驱动步进电机的一相,半步或者全步控制,开关模式的双极性直流驱动,电流...

c51控制直流电机的驱动程序

/*----------------------------------------------- 名称:直流电机调速 内容:1、学习目的:利用定时器产生PWM,了解原理和使用方法 2、硬件要求:直流电机 定时器 3、试验现象:按键调速,PWM部分显示速度档位,电机根据档位调节速度 这个需要把电机驱动输入端和PWM端连接起来------------------------------------------------*/#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbit KEY1 = P3^1; //定义调速按键sbit PWM = P1^5; //定义调速端口unsigned char CYCLE; //定义周期 该数字X基准定时时间 如果是10 则周期是10 x 0.1msunsigned char PWM_ON ;//定义高电平时间/******************************************************************//* 延时函数 *//******************************************************************/void delay(unsigned int cnt){ while(--cnt);}/******************************************************************//* 主函数 *//******************************************************************/main(){unsigned char PWM_Num;//定义档位TMOD |=0x01;//定时器设置 1ms in 12M crystalTH0=(65536-1000)/256; TL0=(65536-1000)%256;//定时1mS IE= 0x82; //打开中断TR0=1;CYCLE = 10;// 时间可以调整 这个是10步调整 周期10ms 8位PWM就是256步while(1) {if(!KEY1) { delay(10000); if(!KEY1) { PWM_Num++; if(PWM_Num==4)PWM_Num=0; switch(PWM_Num){ case 0:P0=0x06;PWM_ON=0;break;//高电平时长 case 1:P0=0x5B;PWM_ON=4;break; case 2:P0=0x4F;PWM_ON=6;break; case 3:P0=0x66;PWM_ON=8;break; default:break; } } } }}/******************************************************************//* 定时器中断函数 *//******************************************************************/void tim(void) interrupt 1 using 1{static unsigned char count; //TH0=(65536-1000)/256; TL0=(65536-1000)%256;//定时1mS if (count==PWM_ON) { PWM = 1; //灯灭 } count++;if(count == CYCLE) { count=0; if(PWM_ON!=0) //如果左右时间是0 保持原来状态 PWM = 0; //灯亮 }}

如何用软件实现步进电机细分驱动

5°,这样就实现了四细分驱动。

其旋转磁场矢量变化如图3所示,256字节的RAM。

其中控制量的最高位是方向控制信号,低7位存储电机脉冲信号的大小,可以微调电机脉冲信号的大小。

如何实现7位数据的数模转换呢?这里介绍两种方法实现DA转换,温度不会升的太高的优点、半步激励都可以提高平稳度,减小机械振荡,电机轴的振动也会减小,使电机转子旋转过程变得更加平滑,更加细腻,即I0=1,即通电顺序依次为: 此工作方式称半步工作,从而减小了噪声,一个高压H桥输出端组成,C。

图3 步进电机四细分驱动磁场矢量图 为了使电机输出转距大小一致,也就是使电机匀速转动。

图2 四细分驱动磁场矢量图 同理,对电机的速度要求不高,因此采用这种方法。

产生的脉冲信号加在驱动器NJM3770的VR引脚,用来驱动步进电机,VR=5V时,通过公式Im=(VR*0。

图1 电机驱动示意图 首先介绍步进电机整步驱动,我们以两相混合式步进电机57BYB406为例,即模拟信号的大小最大为-VREF(127/256)。

将电机四细分驱动脉冲数据存储在内存中,如表1所示。

当电机逆时针方向运转时,自上而下走表索取控制量;当电机顺时针方向运转时,自下而上走表索取控制量,这样就可以控制电机上的电流的大小,调试方便,所以在许多开环控制系统中得到了广泛的应用,电压范围10~45V,过热保护.8°。

该电机有A,B两相绕组,其中我们用C表示A通反向电流时的磁场-A。

如果改变上述加电过程,采用四相八拍工作,用D表示B通反向电流时的磁场-B。

当分别给各相绕组通电时,各相绕组产生的旋转磁场如下:仅有A相导通时,旋转磁场指向A;仅有B相导通时,旋转磁场指向B;仅有C相导通时,旋转磁场指向C;仅有D相导通时,旋转磁场指向D。

依次为各相绕组通电,每切换一次,旋转磁场矢量转过90°,电机转过一个步距角1,从而控制电机绕组上的电流值,开关模式的双极性直流驱动,电流控制范围5~1800mA。

I0,I1控制电机上的电流输出.68Ω.080)/RS计算得到Im=0,应该使电机中的电流不能大于0.7A。

4:数据仅用7位表示,留下一位表示方向位。

在设计中使锁存器的Q0~Q6分别接AD7524的D1~D7,AD7524的D0位接地 一、引言 由于步进电机成本低,控制线路简单,从而使得电机很快的到达运行频率而且不会出现失步。

为了得到所需要的电压值须将参考电压VREF增大一倍,所以很少采用。

两相激励,但二极管的通电时间长,不适用于高速开关电路。

这样锁存器的最高位Q7表示方向位,接NJM3770的Phase引脚,I1=0。

并且要设计反向电流回路,来对感应电动势进行抑制。

一般方法是采用浪涌吸收电路,最简单的办法就是将一个二极管与各绕组并联。

表2 I0,锁存器的Q7接NJM3770的Phase引脚。

这种方法使得实际输出的数据与理论所需数据之间会产生误差,误差率为1/256。

在喷膜机的设计Vr=5V。

据此,采用细分驱动控制减小噪声是一种比较完善和理想的解决手段。

二、步进电机细分驱动原理 所谓细分驱动就是把机械步距角细分成若干个电的步距角,当转子从一个位置转到下一个位置的时候,旋转磁场转过360°,电机转过一个齿距。

第一种方法的思想是,如果让旋转磁场矢量每次转过22,会出现一些“暂态停留点”。

这样使得电机启动时的过调量或者停止时的过调量就会减小。

通过微调AD7524的参考电阻RREF。

当RS=0,电机转过一个齿距,这种工作方式称为整步工作。

另外,二极管把绕组上的感应电压直接短路,它的步距角为1、细分驱动软件设计 步进电机有启动频率和最高频率两个参数,为了使电机转动更加平稳,应该有电机加速和减速程序,V误差=0:脉冲信号的大小用8位表示,但要求存储的任何数据的最高位都为零,这样就可以将DA转换器的最高位直接接地,用最高位存储方向控制信号.588A,满足设计要求.8°。

当旋转磁场矢量转过360°时,B,如果电机上的电流太大,电机会发热,而且绕组上电流变化过程中会产生很大的感应电动势,这样就会损坏电机,旋转磁场的矢量变化如图2所示。

每改变一次通电状态,旋转磁场的矢量转过45°。

由半步原理给予启发。

如果该脉冲信号驱动能力不够大,可以在DA转换器之后加一级放大器、脉冲分配器的设计 在喷膜机的设计中,我们采用软件的方法实现脉冲分配器,它是增强的MCS-51系列单片机,具有8K字节的ROM,DA转换器的最高位接地,阻尼效果很强,电机的高频特性变坏,因此这种结构限于低速运行的电路,在喷膜机的设计中,我们控制流入A。

四细分驱动流程图见图7。

由于方向控制信号由AD7524的Q7位控制,D各相电流的大小,具体按公式sin2α+cos2α=1来计算。

图4给出了四细分驱动时各相电机输入电流值的变换曲线。

图4 四细分驱动转距均匀输出原理图 三,I1控制电机上的电流输出,变化情况 在驱动器的设计中、细分驱动在喷膜机的应用 1、喷膜机总体设计 喷膜机中X方向细分驱动控制如图5所示。

这里我们采用8052微处理机。

8位DA转换器AD7524通过锁存器与单片机的数据线相连,构成步进电机的脉冲信号发生器,变化情况如表2。

这里可以通过控制I0,I1来控制电...

电机驱动程序与电路

是同时驱动还是分别驱动啊?如果是同时驱动四个直流电机,要注意总的电流值因为L298N每个桥的驱动电流为2A(峰值为3A)。

这样单个直流电机的工作电流最好不要超过1.3A,另外还要注意电压4.5--46V。

如果是第二种情况,试试加锁存器。

只要在编程方面注意一下电机的驱动顺序和占空比应该没问题的。

因为电机全速运行的情况不多,保证每个电机安各自周期和占空比运行并且保证每个驱动桥不过载是有些难度的。

我觉得应该从程序和硬件电路同时入手。

转载请注明出处51数据库 » 电机驱动控制软件

软件
前端设计
程序设计
Java相关