一种新型步进电机驱动方法及系统与流程

文档序号:11589099阅读:414来源:国知局
一种新型步进电机驱动方法及系统与流程
本发明属于步进电机控制
技术领域
,涉及一种新型步进电机驱动方法及系统。
背景技术
:步进驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号时,它就驱动步进电机按设定的方向转动一个固定的角度,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。步进电机驱动器广泛应用于各自动化领域,对于步进电机驱动器的驱动电路要求也比较高,但是如今的步进电机驱动电路存在许多问题:1)如果控制不当容易产生共振,运行噪声较大;步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声;2)步进电机一般追求定位精度和力矩输出,而步进电机的力矩会随转速的升高而下降;3)效率比较低;电流一般比较大,且谐波成分高,电流交变的频率也随转速而变化,因而步进电机普遍存在发热情况,且情况比一般交流电机严重;4)电机低速运行时出现抖动现象,很难达到平稳、柔顺地启动和停止。技术实现要素:本发明中针对上述现有技术中的不足,结合fpga技术,提供了一种新型步进电机驱动方法及系统。本发明技术方案提出一种新型步进电机驱动方法,设置加减计数器u1、锁相环u2、第一只读存储器u3、第二只读存储器u4、乘法器u5和u6、加法器u7和u8、锯齿波数字发生器u9、比较器u10和u11,以及电机驱动电路u12和u13,所述加减计数器u1连接至第一只读存储器u3,加减计数器u1用于根据输入的方向信号direction和速度信号speed,在输出的反馈信号speed_out基础上,自加或者自减一个speed值,然后所得新的speed_out值作为地址addr输出到第一只读存储器u3;所述锁相环u2输出的频率信号p1分别连接至加减计数器u1、第一只读存储器u3、第二只读存储器u4,输出的频率信号p2连接至锯齿波数字发生器u9;所述第一只读存储器u3的输出端连接至乘法器u5的第一输入端和乘法器u6的第一输入端,第一只读存储器u3用于以字为单位进行量化值存储,以speed_out为地址读取对应的量化值,高八位是b相脉冲的余弦量化值,记为量化值b_data,并输出到乘法器u6的第一输入端,低八位是a相脉冲的正弦量化值,记为量化值a_data,并输出到乘法器u5的第一输入端;所述第二只读存储器u4的输出端连接至乘法器u5的第二输入端和乘法器u6的第二输入端,第二只读存储器u4用于根据speed输入的值为地址,按频率信号p1选取对应存储单元中存放的比例系数然后输出,记为比例系数ratio_para;所述乘法器u5的输出端连接至加法器u7,所述乘法器u6的输出端连接至加法器u8;所述加法器u7的输出端连接至比较器u10的第一输入端,所述加法器u8的输出端连接至比较器u11的第一输入端;设第一只读存储器输出的量化值a_data与比例系数ratio_para在乘法器u5相乘之后得到一个16位数据a_p,第二只读存储器输出的量化值b_data与比例系数ratio_para在乘法器u6相乘之后得到一个16位数据b_p,在a_p与压缩参数ratio_add通过加法器u7相加后,取结果的高8位作为比较器u10的输入cmp_a,输出到比较器u10的第一输入端,用于实现压缩后波形的平移;在b_p与压缩参数ratio_add通过加法器u8相加后,取结果的高8位作为比较器u11的输入cmp_b,输出到比较器u11的第一输入端,用于实现压缩后波形的平移;所述锯齿波数字发生器u9的输出端分别连接至比较器u10和u11的第二输入端,所述比较器u10和u11的输出端分别连接至电机驱动电路u12和u13;锯齿波数字发生器u9用于产生锯齿波数据cmp_c,在比较器u10中cmp_c与cmp_a比较,当小于等于cmp_a时比较器输出高电平‘1’,大于cmp_a时比较器输出低电平‘0’,所得信号dira输入电机驱动电路u12;在比较器u11中cmp_c与cmp_b比较,当小于等于cmp_b时比较器输出高电平‘1’,大于cmp_b时比较器输出低电平‘0’,所得信号dirb输入电机驱动电路u13。而且,所述加减计数器u1、锁相环u2、第一只读存储器u3、第二只读存储器u4、乘法器u5和u6、加法器u7和u8、锯齿波数字发生器u9、比较器u10和u11采用fpga实现,所述电机驱动电路u12和u13采用lmd18200电机驱动芯片实现。而且,所述电机驱动电路u12包括反相器u14、u15,lmd18200电机驱动芯片u16,以及比较器u17,所述电机驱动电路u13包括反相器u18、u19,lmd18200电机驱动芯片u20,以及比较器u21;反相器u14、u15的输出分别连接到lmd18200电机驱动芯片u16,lmd18200电机驱动芯片u16的输出连接到比较器u17的输入,比较器u17的反馈输出分别连接到反相器u14的输出和反相器u15的输入;反相器u18、u19的输出分别连接到lmd18200电机驱动芯片u20,lmd18200电机驱动芯片u20的输出连接到比较器u21的输入,比较器u21的反馈输出分别连接到反相器u18的输出和反相器u19的输入。而且,第二只读存储器u4的存储单元中存放的比例系数可为常数0,1,2,…,255。而且,每个周期锯齿波数据由256个点组成。而且,频率信号p1为2khz。而且,频率信号p2为256×num×p1,num为预设的pwm波数目。而且,频率信号p1为2khz,频率信号p2为10.24mhz。本发明提供一种新型步进电机驱动系统,设置加减计数器u1、锁相环u2、第一只读存储器u3、第二只读存储器u4、乘法器u5和u6、加法器u7和u8、锯齿波数字发生器u9、比较器u10和u11,以及电机驱动电路u12和u13,所述加减计数器u1连接至第一只读存储器u3;所述锁相环u2输出的频率信号p1分别连接至加减计数器u1、第一只读存储器u3、第二只读存储器u4,输出的频率信号p2连接至锯齿波数字发生器u9;所述第一只读存储器u3的输出端连接至乘法器u5的第一输入端和乘法器u6的第一输入端;所述第二只读存储器u4的输出端连接至乘法器u5的第二输入端和乘法器u6的第二输入端;所述乘法器u5的输出端连接至加法器u7,所述乘法器u6的输出端连接至加法器u8;所述加法器u7的输出端连接至比较器u10的第一输入端,所述加法器u8的输出端连接至比较器u11的第一输入端;所述锯齿波数字发生器u9的输出端分别连接至比较器u10和u11的第二输入端,所述比较器u10和u11的输出端分别连接至电机驱动电路u12和u13。而且,所述加减计数器u1、锁相环u2、第一只读存储器u3、第二只读存储器u4、乘法器u5和u6、加法器u7和u8、锯齿波数字发生器u9、比较器u10和u11采用fpga实现,所述电机驱动电路u12和u13采用lmd18200电机驱动芯片实现。与现有技术相比,本发明的有益之处在于:1)通过给电机绕组提供正反向高频脉冲电流来控制电机发热,减少噪声。2)通过可变细分法来减少低速抖动现象和改善高低速时的电机运行状况。3)通过可变力矩的设计来保证电机低速和高速时的力矩要求。本发明设计新颖合理,结构清晰,实施方便,且成本低,具有重要的市场价值。附图说明图1为本发明实施例新型步进电机驱动方法的逻辑框图。图2为本发明实施例的lmd18200驱动电路硬件图。具体实施方式下面将结合附图和实施例,对本发明技术方案进行详细地描述。本发明结合fpga技术,提供了一种新型步进电机驱动方法及系统。如图1所示,本发明实施例提出设置加减计数器u1、锁相环u2、第一只读存储器u3(记为rom1)、第二只读存储器u4(记为rom2)、乘法器u5和u6、加法器u7和u8、锯齿波数字发生器u9、比较器u10和u11、以及电机驱动电路u12和u13。如图1所述加减计数器u1连接至第一只读存储器u3,所述锁相环u2连接至加减计数器u1、第一只读存储器u3、第二只读存储器u4和锯齿波数字发生器u9,所述第一只读存储器u3连接至乘法器u5和u6,所述第二只读存储器u4连接至乘法器u5和u6,所述乘法器u5和u6分别连接至加法器u7和u8,所述加法器u7和u8分别连接至比较器u10和u11,所述锯齿波数字发生器u9连接至比较器u10和u11,所述比较器u10和u11分别连接至电机驱动电路u12和u13。实施例中,所述加减计数器u1、锁相环u2、第一只读存储器u3、第二只读存储器u4、乘法器u5和u6、加法器u7和u8、锯齿波数字发生器u9、比较器u10和u11采用fpga实现,电机驱动电路u12和u13基于lmd18200芯片实现。具体连接方式为,所述加减计数器u1连接至第一只读存储器u3,加减计数器u1用于根据输入的方向信号direction和速度信号speed,在输出的反馈信号speed_out基础上,自加或者自减一个speed值,然后输出新的speed_out到第一只读存储器u3;所述锁相环u2连接至加减计数器u1、第一只读存储器u3、第二只读存储器u4和锯齿波发生器数字u9,所述第一只读存储器u3的输出端连接至乘法器u5的第一输入端和乘法器u6的第一输入端,所述第二只读存储器u4的输出端连接至乘法器u5的第二输入端和乘法器u6的第二输入端;所述乘法器u5的输出端连接至加法器u7,所述乘法器u6的输出端连接至加法器u8;所述加法器u7的输出端连接至比较器u10的第一输入端,所述加法器u8的输出端连接至比较器u11的第一输入端,所述锯齿波数字发生器u9的输出端分别连接至比较器u10和u11的第二输入端,所述比较器u10和u11的输出端分别连接至电机驱动电路u12和u13。需要说明的是,方向信号direction和速度信号speed是本新型步进电机驱动电路逻辑的输入信号,具体实施时可由外接的微处理器提供,当前步进电机控制实现一般都提供了微处理器便于用户操作。其中,direction作为加减计数器u1的控制端,正转(为1时)为加,反转(为0时)为减;speed作为加减计数器u1的数据端,使计数器以speed的值进行加减;加减计数器u1的输出为speed_out作为反馈信号也是输入之一,这样可以保证计数器实现连续的加减运算。设反馈的speed_out为a,speed为b,加减计数器u1计算c=a+b或a-b,加减计数器u1的功能总结为:speed_out初始化为0,每个时钟到来时此模块就在speed_out原值的基础上自加或者自减一个speed值,然后输出新的speed_out到第一只读存储器u3。新型步进电机驱动逻辑的输入晶振频率为50mhz,经锁相环u2(pll模块)处理后输出的频率有两种,锁相环u2输出的频率信号p1分别连接至加减计数器u1、第一只读存储器u3、第二只读存储器u4,输出的频率信号p2连接至锯齿波数字发生器u9。实施例采用优选方式,取p1=2khz和p2=10.24mhz供后续模块使用,其中2khz分入加减计数器u1、第一只读存储器u3和第二只读存储器u4中;而10.24mhz则分入锯齿波数字发生器u9。加减计数器u1的输出speed_out作为地址addr输入第一只读存储器u3中,第一只读存储器中存放的是正弦和余弦的量化值,量化值是以字为单位进行存储的,高八位是b相脉冲的余弦量化值,记为量化值b_data,低八位是a相脉冲的正弦量化值,记为量化值a_data,分别用于处理后输出至b、a两相驱动电路,参见表1。具体实现方式为,以speed_out为地址读取对应的量化值,高八位是b相脉冲的余弦量化值,记为量化值b_data,并输出到乘法器u6的第一输入端,低八位是a相脉冲的正弦量化值,记为量化值a_data,并输出到乘法器u5的第一输入端。第一只读存储器u3以speed_out为地址来读取对应的量化值。当speed的值较小时,第一只读存储器的地址输入speed_out变化也较小,在一个正弦周期内第一只读存储器输出的点数就多;反之,第一只读存储器输出的点数相对就少。例如,speed=1时输出的点数更多,speed=10时输出的点数较少。采用这种结构,可以根据电机运行速度调整speed的取值,使得系统在低速阶段尽可能采用多的步数运行,电机运行平稳高速后就减少其步数,实现了根据速度的可变细分。表1第一只读存储器正弦波量化值数据表与第一只读存储器u3对应的是第二只读存储器u4。第二只读存储器中存放的比例系数是用来实现控制电流输出和改变扭矩而设定的,有256个常数,取值为0,1,2,…,255,代表0~1之间的一个小数0、1/256、2/256…,称为比例系数,具体值可根据电机运行情况而定。第二只读存储器根据speed输入的值为地址,每2khz选取对应存储单元中存放的比例系数,然后输出,该输出记为比例系数ratio_para。表2第二只读存储器数据表addr+0+1+2+3+4+5+6+700026282a2c2e303283436383a3c3e4042164446484a4c4e5052………………………248d2d2d2d2d2d2d2d2第一只读存储器输出的量化值a_data与量化值b_data分别与比例系数ratio_para在乘法器u5、u6中相乘之后均得到一个16位数据,在与压缩参数ratio_add通过加法器u7和u8相加后取其结果的高8位作为比较器u10和u11的输入cmp_a、cmp_b,以实现压缩后波形的平移。压缩参数ratio_add=128×(256-ratio_para),具体实施时可由外接的微处理器提供,其主要目的就是改变正弦波幅值之后,使得正弦波零点永远都在128的位置,以便跟后续锯齿波比较,实现根据速度的可变力矩以及速度为0时锯齿波比较器输出占空比为50%的正反向电流。设第一只读存储器输出的量化值a_data与比例系数ratio_para在乘法器u5相乘之后得到一个16位数据a_p,第二只读存储器输出的量化值b_data与比例系数ratio_para在乘法器u6相乘之后得到一个16位数据b_p,在a_p与压缩参数ratio_add通过加法器u7相加后,取结果的高8位作为比较器u10的输入cmp_a,输出到比较器u10的第一输入端,用于实现压缩后波形的平移;在b_p与压缩参数ratio_add通过加法器u8相加后,取结果的高8位作为比较器u11的输入cmp_b,输出到比较器u11的第一输入端,用于实现压缩后波形的平移。锯齿波数字发生器u9产生锯齿波数据cmp_c,每个周期锯齿波数据也由256个点组成,取值为0-255。此数据与压缩、平移后的输出值cmp_a(cmp_b)比较,当小于等于cmp_a(cmp_b)时,比较器输出高电平‘1’;大于量化值时,输出低电平‘0’。因此,根据cmp_a值的大小可以得到不同占空比的pwm波。在实施例设计中,针对每一个cmp_a(cmp_b)数据比较输出20个相同的pwm波,每个pwm波的周期为1/2028秒,因此,锯齿波发生器的输入计数频率须为256×20×2k=10.24mhz。达到了给电机绕组提供正反向高频脉冲电流来控制电机发热、减少噪声的目的。具体实施时,本领域技术人员可以自行设置频率信号p1为256×num×p1,num为预设的pwm波数目。在比较器u10中cmp_c与cmp_a比较,当小于等于cmp_a时比较器输出高电平‘1’,大于cmp_a时比较器输出低电平‘0’,所得信号dira输入电机驱动电路u12;在比较器u11中cmp_c与cmp_b比较,当小于等于cmp_b时比较器输出高电平‘1’,大于cmp_b时比较器输出低电平‘0’,所得信号dirb输入电机驱动电路u13。如图2为lmd18200驱动电路硬件图,是图1中的lmd18200电机驱动电路u12和u13部分的具体实现电路。如图2所述,主要组件包括,反相器u14、u18、u15和u19,采用sn74ls14d实现;lmd18200电机驱动芯片u16和u20,比较器u17和u21。具体地,所述电机驱动电路u12包括反相器u14、u15,lmd18200电机驱动芯片u16,以及比较器u17,所述电机驱动电路u13包括反相器u18、u19,lmd18200电机驱动芯片u20,以及比较器u21。反相器u14、u15的输出分别连接到lmd18200电机驱动芯片u16,lmd18200电机驱动芯片u16的输出连接到比较器u17的输入,比较器u17的反馈输出分别连接到反相器u14的输出和反相器u15的输入;反相器u18、u19的输出分别连接到lmd18200电机驱动芯片u20,lmd18200电机驱动芯片u20的输出连接到比较器u21的输入,比较器u21的反馈输出分别连接到反相器u18的输出和反相器u19的输入。lmd18200一般用于驱动直流电机,内部只有一个h桥。因此,两相步进电机需要两片lmd18200驱动。本设计采用双极性驱动方式。根据图1中所产生的dira和dirb控制信号来控制步进电机的转速、方向以及电流大小。新型步进电机驱动方法的逻辑框图输出信号dira和dirb连接lmd18200的方向控制端dir,即图2所示lmd18200电机驱动芯片u16和u20的3号引脚;lmd18200的pwm端(5号引脚)通过外接的微处理器mcu控制en端使之保持常通、电流最大(正常工作时)。也可以控制en端使之电流为零,进入失电状态。调整方向控制端dir(3号引脚)输入的占空比可以控制步进电机的动态电流,从而达到对电机转动方向、转速以及输出转矩的控制。lmd18200通过24v电源供电,每片lmd18200芯片只能驱动步进电机的一相绕组。为便于实施参考,提供lmd18200芯片各引脚使用说明如下:1号引脚bs1、11号引脚bs2引脚是芯片的引导端,与外接电容形成充电泵电路,实现连续充放电;2号引脚out1、10号引脚out2引脚是芯片的输出端,连接步进电机的电枢mb-、mb+、ma-、ma+;3号引脚是dir方向信号的输入,主要连接新型步进电机驱动方法的逻辑输出dira(dirb);芯片的4号引脚刹车输入端beake和5号引脚pwm输入端由同一个外接的使能信号en控制,用来控制电机的运行和停止;9号引脚therm是芯片热输出标志mt,当芯片过热时该信号有效并反馈至外接的微处理器mcu,当mcu检测到芯片过热信号mt有效后,可以通过使能信号en控制beake和pwm使其停止工作。另一方面,8号引脚sen是芯片电流输出感应端,sen电流检测输出端接1个对地电阻r1或r4,用于产生过流检测信号,该检测信号经过lm339比较器与参考电压vin(由r2和r3的分压得到,具体实施时用户可通过可调电阻自行设定参考电压)比较;当小于vin时,电路按照控制流程控制电机;当大于vin时自动控制beake信号和pwm信号使电机停止工作,起到了电机过流自动保护的作用。在本实施方式中,主要是通过输入的方向信号direction和速度信号speed来输出lmd18200芯片驱动电机所需的方向控制信号。其特征在于:1)加减计数器u1具有反馈功能,从而根据speed_out变化的快慢控制第一只读存储器u3中读取值数目的多少,实现可变细分法,可以达到低速平稳。改善了高低速时的电机运行状况;2)第一只读存储器的输出的高八位与低八位分别与ratio_para在乘法器u5、u6中相乘以实现幅值的压缩。实现了根据速度的可变力矩。3)经锁相环u2所产生的10.24mhz时钟供锯齿波数字发生器u9使用,给电机绕组提供正反向高频脉冲电流,控制电机发热、减少噪声。本发明的保护范围包括但不限于以上实施方式,本发明的保护范围以权利要求书为准,任何对本技术做出的本领域的技术人员容易想到的替换、变形、改进均落入本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1