步进电机的控制装置的制作方法

文档序号:7345857阅读:230来源:国知局
专利名称:步进电机的控制装置的制作方法
技术领域
本实用新型属于电机控制技术,特别涉及一种步进电机的控制装置。
背景技术
步进电机是一种离散的运动装置,广泛应用于国民经济的各个领域,目前通用的控制方法是采用单片机结合步进电机控制器的方法进行控制,这种控制方法的缺点是1、 由于单片机的运行速度限制,在实现细分驱动时,步进电机速度不高。2、单片机通过定时器控制步进电机的步进脉冲的产生,由于定时器的时间分辨率有限,所以步进电机的运行速度调节是离散的,各级速度之间间隔较大,在一些对速度要求严格的场合不能满足要求。3、 由于速度的间隔较大,造成各个速度之间的力矩也不连续,容易发生失步。所以步进电机只能用于简单的控制系统中。

实用新型内容本实用新型目的在于克服上述现有技术的不足,本实用新型提供一种步进电机的控制装置,可以超精细控制步进机的速度和步数。为实现上述目的,本实用新型的技术方案如下一种步进电机的控制装置,包括外部通信接口、控制信号发生器、步进电机驱动器,特点是所述控制信号发生器包括可编程逻辑器件芯片及其第一供电电路;该可编程逻辑器件芯片包括速度控制模块、解码模块、时钟模块,及其依次连接的主控模块、flash控制模块和存储模块,该可编程逻辑器件芯片还包括用于接收外部控制指令的接收端口和将控制参数转化成控制信号的输出端接口,所述控制信号发生器还具有用于接收外部控制指令的控制接口协议,精细调速算法和精确定位算法;所述的步进电机驱动器包括接收端口和输出端口及其用于提供驱动电流的第二供电电路,所述的接收端口与所述的控制信号发生器的输出端口相连,所述的输出端口接所述的步进电机的控制端口相连。所述的解码模块用于接收所述的控制信号发生器的接收端口接收的外部控制器发来的控制指令,并解码获得目标速度、目标方向和目标步数并输入所述的主控模块。所述的主控模块用于将所述的目标速度、目标方向和目标位置与步进电机当前的速度、方向、位置进行比较,经计算获得所述的步进电机的运行状态参数包括运行速度、方向,并按运行状态参数执行达到所述的目标位置。所述的速度控制模块用于存储速度变化曲线,控制电机的运行速度变化。所述的时钟模块用于产生所述控制信号发生器需要的分频信号。所述的flash控制模块用于从所述的存储模块中读出控制数据,并转换该控制数据为适当的数据格式后输出给所述的电机驱动模块。所述的存储模块用于存储步进电机的驱动控制数据。所述的控制信号发生器采用EMP570芯片。[0014]所述的步进电机驱动器采用集成芯片A3973。与现有技术相比,本实用新型的有益效果是在实现高细分情况下的高速运行,同时实现步进电机的超精细的调速,提高启动和停止速度,提高启动力矩,并且可以极大的扩展步进电机的应用范围,如要求快速启停的控制场合等。

[0016]图1是本实用新型步进电机的控制装置的结构示意图。[0017]图2是本实用新型超精细步进电机控制器的外部通信时序图。[0018]图3是本实用新型超精细步进电机控制器的电机驱动芯片A3973控制时序图。[0019]图4是本实用新型的电机驱动电路图。[0020]图5是本实用新型超精细步进电机控制器中控制信号发射器内部流程图。[0021]图6是本实用新型控制信号发生器解码模块结构示意图。[0022]图7是本实用新型的控制信号发生器时钟发生模块结构示意图。[0023]图8是本实用新型的步进电机细分原理图。[0024]表1是本实用新型的超精细步进电机控制器外部通信协议。[0025]表2是本实用新型的步进电机驱动芯片A3973控制协议。[0026]表3是DAC参数表。[0027]表4是步进电机的参数列表
具体实施方式
以下结合附图和具体实施方式
对本实用新型作进一步说明,但不以此限制本实用新型的保护范围。请先参阅图1,图1是本实用新型步进电机的控制装置的结构示意图。如图所示, 一种步进电机的控制装置,包括外部通信接口、控制信号发生器、步进电机驱动器,所述控制信号发生器包括可编程逻辑器件芯片及其第一供电电路;该可编程逻辑器件芯片包括速度控制模块1、解码模块2、时钟模块3,及其依次连接的主控模块4、flash控制模块5和存储模块6,该可编程逻辑器件芯片还包括用于接收外部控制指令的接收端口和将控制参数转化成控制信号的输出端接口,所述控制信号发生器还具有用于接收外部控制指令的控制接口协议,精细调速算法和精确定位算法;所述的步进电机驱动器包括接收端口和输出端口及其用于提供驱动电流的第二供电电路,所述的接收端口与所述的控制信号发生器的输出端口相连,所述的输出端口接所述的步进电机的控制端口相连。解码模块2用于接收所述的控制信号发生器的接收端口接收的外部控制器发来的控制指令,并解码获得目标速度、目标方向和目标步数并输入所述的主控模块4。主控模块4用于将所述的目标速度、目标方向和目标位置与步进电机当前的速度、方向、位置进行比较,经计算获得所述的步进电机的运行状态参数包括运行速度、方向,并按运行状态参数执行达到所述的目标位置。速度控制模块1用于存储速度变化曲线,控制电机的运行速度变化。时钟模块3用于产生所述控制信号发生器需要的分频信号。flash控制模块5用于从存储模块6中读出控制数据,并转换该控制数据为适当的数据格式后输出给所述的电机驱动模块。存储模块6用于存储步进电机的驱动控制数据。本实用新型的工作过程外部控制器(例如单片机,ARM,DSP等)通过超精细步进电机控制器的外部通讯接口进行通讯,如图2本实用新型超精细步进电机控制器的外部通信时序图和表1本实用新型超精细步进电机控制器外部通信协议所示,超精细步进电机控制器接收到步进电机的运动命令,经过解码,得到步进电机的目标速度、目标方向或者目标步数。然后根据目标速度、目标方向或者目标步数控制步进电机的运行。步进电机驱动器采用集成芯片A3973,该芯片内部集成两个6位D/A,可以精确实现32细分。该芯片的控制时序如图3本实用新型超精细步进电机控制器的电机驱动芯片 A3973控制时序图所示,控制协议如表2本实用新型的步进电机驱动芯片A3973控制协议所示,电源部分如图4本实用新型的电机驱动电路图所示。为达到精细控制的目的,超精细步进电机控制器采用32细分驱动步进电机。 A3973的两组电流输出直接与步进电机的两个绕组相连,为步进电机提供驱动电流,A3973 内部集成两个数模转换器(DAC),DAC根据输入数据的大小,控制A3973,向步进电机的绕组输出相应的驱动电流。A3973的控制数据由控制信号发生器提供,通过strobe,elk, data 三个管脚输入。A3973控制数据经过详细的测试,使步进电机细分步距十分均勻平稳,为方便控制,将A3972的控制数据按照表2所示的协议,和步进电机的运行特点编制成表格,数据按照步进电机的运行时电流变化顺序排列,使用时只需要按照步进电机的运行方向,按照不同的顺序依次读出A3973的控制数据,并按照图3所示时序输入到A3973即可,控制信号存储于控制信号发生器中的内部FLASH存储模块5内。控制信号发生器根据外部主控制器的命令,经过计算得到步进电机的驱动电流的大小和变化趋势,并根据步进电机的驱动电流的大小、变化趋势和A3973控制数据的存储方式,产生相应的FLASH模块5的读地址,读出A3973控制数据,转换成相应的控制信号。输出到A3973的控制接口,A3973根据控制信号发生器输入的控制数据产生相应的驱动电流, 驱动步进电机做成相应的动作。当步进电机驱动芯片A3973的驱动电流改变一次,步进电机就运行一步,方向由步进电机两个绕组的电流方向决定。电机驱动芯片A3973驱动电流的改变速度,决定了步进电机的速度。电机驱动芯片A3973的驱动电流改变是由控制信号发生器输出的控制数据引起,控制信号发生器每改变一次控制数据,A3973的驱动电流就改变一次。改变控制信号发生器输出控制数的速度,就改变了步进电机的运行速度。图5是本实用新型超精细步进电机控制器中控制信号发射器内部流程图,如图所示,控制信号发生器的工作过程如下解码模块2接到外部控制器发过来的控制信号,解码得到步进电机的目标速度, 运行方向,运动距离(对步进电机而言就是需要运行的细分后的步数),并将这些数据传输到主控模块4,主控模块4根据当前步进电机的状态速度、方向和位置与目标速度、目标方向和目标位置进行比较,经计算得到步进电机现在需要做的动作。比如,当前步进电机的运行状态是顺时针方向转动、转动速度为300° /s。而目标速度是顺时针方向、目标速度是 10° /s。主控模块4则发出指令控制步进电机顺时针方向、减速运行到10° /s的速度。具体工作过程是主控模块4根据目标速度,与当前速度的比较,得到步进电机应该减速运行的,并且通过速度控制模块1内存储的速度变化曲线,控制电机的运行速度变化。[0039]控制信号发生器采用ALTERA公司的EPM570芯片,该芯片是CPLD (现场可编程阵列),可根据需要灵活配置它的功能,编程语言采用VHDL语言。内部包括速度控制模块1、 解码模块2、时钟模块3、主控模块4、FLASH控制模块5、存储模块6。解码模块2,如图6本实用新型控制信号发生器解码模块结构示意图所示Clk, wr, rd,data, commandin, dataout是外部系统时钟CLK提供整个系统所需要的时钟信号。 其他的接口是内部信号线。解码模块2通过Clk,wr, rd, data, commandin, dataout,与外部主控制器通信,wr为外部控制写信号,rd为外部控制器读信号,解码根据协议,得到两个步进电机的目标速度和目标步数信息,目标速度通过speedrankoutv和speedrankoutv输出到主控模块4。目标步数通过presetlocationv。I^resetlocationh,输出到主控模块4。 同时该模块还可以向外部控制输出步进电机的当前速递和位置。当前速度通过speedrankv 和speedrankv有主控模块4输入到解码模块2中。当前步进电机位置通过Iocationh和 Iocationv由主控模块4输入到解码模块2。时钟模块3如图7本实用新型的控制信号发生器时钟发生模块结构示意图所示, 是时钟发生电路,根据elk输入的时钟信号,产生控制器需要的分频信号。FLASH模块5从存储模块6中读出控制数据,并将它们转换成合适的数据格式,输出给电机驱动器。存储模块6,采用EP3C16内部集成FLASH存储器,用于存储步进电机的驱动控制数据。主控制模块4是整个控制器的核心部分,接收到解密模块2传递过来的目标速度和目标位置。得到相应的控制数据在存储模块6内的存储地址。步进电机细分控制算法说明如下(1)步进电机的运动角度确定步进电机根据两相电流的变化,转动相应的机械角度。fel = (n/4) -fmech......................................................· (1)其中,fel 是电角
度,η为电角度旋转一周(360° )整步运行的步数,· ;-机械角度。两相电流分别为IA, L。就是IA,L的合成电角度。当IA,L分别接通或者关断时。步进电机运行一个额定机械角度,这个额定机械角度就是一个整步运行机械角度。如图8本实用新型的步进电机细分原理图所示,这是电角度运行90°,位于电角度坐标的坐标轴上。IA, Ib的变化和电角度之间的关系如公式2所示Ia = Ipeak · sin (fs),Ib = Ipeak · cos (fs)........................· O)其中fs是IA, Ib的合成电角度。当fs不位于坐标轴上,而是位于两个坐标轴之间的某个电角度时,根据公式1,机械角度也不再位于整步位置,而是位于整步位置中间的某个位置。调整IA,Ib的大小,得到不同的4值,就可以使步进电机小于整步运行角度的机械角度运动。达到细分运行的效果。根据A3973输出电流的计算公式Iteip = Vdac/ (Range χ Rs).........................(3)Vdac = [(1+DAC) χ VEEF]/64......................... G)VDAe为Α3973内部数字模拟转换器的输出电压。Itkip是A3973输出的电流,大小是由内部参数DAC控制,改变DAC的值,就可以按照A3973的通讯时序改变A3973输出电流的大小,实现步进电机的细分。改变IA,L的变化方向就可以改变电角度的变化方向,进而改变电机的运行方向。为方便控制,将DAC的值编制成表格,存在存储模块6内。由于所述的步进电机驱动器内的DAC只有6维,就是只有64个变化数值,为了保证细分精度,只能取其中32个作为有效数值,因此只能做到精确32的细分。所述DAC的值编制成表格如表3本实用新型的DAC参数表所示,该表为存在存储模块6内,IA,Ib都等于零时的DAC值存储于地址为零的内存空间。按照图8所示电角度逆时针方向增加时变化DAC数据的内存地址增加。主控模块4依次读取存储模块6的数值, 并通过FLASH控制模块转换成适合A3973要求的数据格式,并由主控模块4控制输出至所 A3973输入端。(2)步进电机的运行方向确定主控模块4依次读取存储模块6内的数值时,通过控制存储模块6的读取地址的增减来改变IA,Ib的增减来改变电机的运行方向。调速算法在执行调速功能时的算法。步进电机驱动芯片A3973根据输入DAC的值改变输出电流大小,主控模块4通过控制A3973的DAC的变化速度改变步进电机的运行速度。为保证步进电机的平稳运行,在调速时避免发生丢步的现在,速度的改变要保证平稳。速度的平稳调整方法为,将速度分成32 个等级,速度调整时遍历当前速度和目标速度的所有速度等级。为保证力矩的平稳,每个速度级运行不同的步数。速度级和相应运行步数编制表格。根据所述A3973的控制协议,改变A3973的输出电流需要传输16个bit的数据。A3973通讯最高频率为5Mhz。按照主时钟33MHz计算,设定所述步进电机驱动芯片A3973的通讯频率为33/4 = 4. 125MHz。则每次控制A3973需要16/4. 125 = 1. 45us。对应时钟频率为0. 6875MHz。本设计中以0. 6875MHz 作为步进电机的控制时钟。对0. 6875MHz进行分频,可以实现不同的速度等级,具体的速度级和对应步进电机的实际转速如表3所示。步进电机加速和减速使用同样的调速算法。定位算法由于要保证步进电机的速度平稳变化,每一个速度级需要转动一定的步数来保证步进电机的力矩不会突然变化。尤其是在减速时,要保证可靠的步数确保电机严格按照调速算法减速。避免突然停止转动,电机的转动惯量造成步进电机失步,进行定位转动时就要步进机的参数列表进行计算。具体流程举例说明设当前的步进电机位置为pl,目标位置为p2,转动目标最高速度等级为30。L为电机转动距离,单位为步数。主控模块首先计算P2_pl = L,L的正负表征步进电机的运行方向。假设步进电机转动步数为1000步,则根据表4步进电机的参数列表所示,步进电机运行到速度级9需要运行6694步。就是说,1000步不足以让步进电机转动到设定的最高速度等级30,步进电机由静止开始加速运行后,主控模块4实时计算剩余的步数,并与当前速度与对应的步数累加值比对,当剩余步数等于或者小于当前速度的步数累加值时,强制减速至下一个速度级,当运行是416时,电机转速可以达到13级,继续转动至544步时,步进电机速度等级会曾指14级,剩余456步,小于14级速度的步数累加值,步进电机减速至速度级13,转动至648步时,剩余352步,等于速度级12的步数累加值,步进电机减速至速度级12,以此类推。直至停止使,电机正好运行1000步。上述实施例仅列示性说明本实用新型的原理及功效,而非用于限制本实用新型。 任何熟悉此项技术的人员在不违背本实用新型的精神及范围下,对上述实施例进行的修改,均落于本实用新型的保护范围。表1是本实用新型的超精细步进电机控制器外部通信协议。
权利要求1.一种步进电机的控制器,包括外部通信接口、控制信号发生器、步进电机驱动器,其特征在于所述控制信号发生器包括可编程逻辑器件芯片及其第一供电电路;该可编程逻辑器件芯片包括速度控制模块(1)、解码模块O)、时钟模块(3),及其依次连接的主控模块0)、 flash控制模块( 和存储模块(6),该可编程逻辑器件芯片还包括用于接收外部控制指令的接收端口和将控制参数转化成控制信号的输出端接口,所述控制信号发生器还具有用于接收外部控制指令的控制接口协议,精细调速算法和精确定位算法;所述的步进电机驱动器包括接收端口和输出端口及其用于提供驱动电流的第二供电电路,所述的接收端口与所述的控制信号发生器的输出端口相连,所述的输出端口接所述的步进电机的控制端口相连。
2.根据权利要求1所述的一种步进电机的控制器,其特征在于,所述的控制信号发生器采用EMP570芯片。
3.根据权利要求1所述的一种步进电机的控制器,其特征在于,所述的步进电机驱动器采用集成芯片A3973。
专利摘要本实用新型公开了一种步进电机的控制装置,包括外部通信接口、控制信号发生器、步进电机驱动器,使用时,控制信号发生器接收到步进电机的运动命令,经过解码,得到步进电机的目标速度,或者目标步数。然后根据目标速度或者目标步数产生相应的控制信号,控制步进电机驱动器驱动步进电机的运行。本实用新型可以实现高细分情况下的高速运行。同时可以实现步进电机的超精细调速,提高启动和停止速度。提高启动力矩。可以极大的扩展步进电机的应用范围。
文档编号H02P8/14GK202034935SQ20112007174
公开日2011年11月9日 申请日期2011年3月18日 优先权日2011年3月18日
发明者李丕丁 申请人:上海理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1