专利名称::产生任意频率脉冲的方法以及步进电机的升降速控制方法
技术领域:
:本发明属于电机控制
技术领域:
,具体地说,是涉及一种产生任意频率脉冲信号的方法以及基于该方法设计的步进电机升降速控制方法。
背景技术:
:步进电机是一种将电脉冲转化为角位移的执行机构。当步进电机驱动器接收到一个脉冲信号后,就驱动步进电机按照设定的方向转动一个固定的角度(称为"步距角")。步进电机的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。在非超载的情况下,步进电动机的转速、停止的位置只取决于脉冲信号的频率和脉冲数。因此,在启动时,若提供的频率过高,会使步进电机发生失步现象而不能正常启动;停止时,若频率突然降为零,则会使步进电机发生过冲现象而导致精度的降低。传统的速度控制策略是匀加减速控制,无法使步进电机的转速平稳地过渡到稳速运行状态,因而不适用于动态性能要求较严格的场合。传统的控制器件多采用单片机,由于单片机是一种非并行执行的器件,各信号之间的同步性将受到一定的影响,软件编程实现速度控制也较为繁琐。针对步进电动机的升降速控制问题,理论上指数型曲线控制方法较好。但是,在产生连续可调的脉冲方面仍然存在困难。
发明内容本发明的目的在于提供一种可以产生任意频率脉冲信号的方法,应用于实际被控对象,可以提高控制精度,使被控对象能够按照理想曲线运行。为了解决上述技术问题,本发明采用以下技术方案予以实现—种产生任意频率脉冲的方法,包括以下步骤首先,利用外部提供的时钟控制计数器计数;其次,利用计数器的不同计数位对外部提供的时钟频率进行分频,并通过各计数位输出不同分频频率的脉冲信号;然后,根据实际需要提取其中的某一种或者某几种分频频率的脉冲信号进行组合,以产生所需频率的脉冲信号。采用上述产生任意频率脉冲的方法有时会出现提取出的某几种分频频率的脉冲信号发生重叠的现象,为了进一步获得相互不重叠的脉冲信号,在利用计数器的不同计数位对外部提供的时钟频率进行分频时,在计数器从O计数到最大值的一个计数周期内,让计数器的每一个计数位仅在第一次跳变成1时输出一个脉冲信号。再进一步的,为了确保脉冲信号能够按照合成后的频率准确输出,需要将所述所需频率的脉冲信号的输出周期At设置成大于等于计数器的计数周期的值。基于上述任意频率脉冲信号的产生方法,本发明又提供了一种步进电机的升降速控制方法,包括以下步骤(1)利用信号发生器外部提供的时钟控制信号发生器内部的计数器计数;(2)利用计数器的不同计数位对外部提供的时钟频率进行分频,并通过各计数位输出不同分频频率的脉冲信号;(3)根据步进电机启动加速或者制动减速时实际所需要的脉冲频率,提取其中的某一种或者某几种分频频率的脉冲信号进行组合,以产生所需频率的脉冲信号,通过信号发生器输出给步进电机,控制步进电机运转。为了获得相互不重叠的脉冲信号,在利用计数器的不同计数位对外部提供的时钟频率进行分频时,在计数器从O计数到最大值的一个计数周期内,计数器的每一个计数位仅在第一次跳变成1时输出一个脉冲信号。进一步的,所述信号发生器以At为周期输出步进电机所需频率的脉冲信号,所述At应大于等于计数器的计数周期,以保证提取出来的不同分频频率的脉冲信号能够正常输出。又进一步的,所述步进电机在启动阶段所需的控制频率由以下步骤获得首先,根据实际应用中的负载来具体选择一台步进电机;其次,采用测量法绘制出所述步进电机的牵入转矩曲线和牵出转矩曲线;再次,结合实际应用中选定的具体负载,确定出负载转矩IY;并针对该负载测量出步进电机的启动频率^和稳定运行频率fH;然后,结合绘制出的牵入转矩曲线和牵出转矩曲线,求取步进电机启动频率^所对应的牵出转矩与1Y的差值以及步进电机稳定运行频率fH所对应的牵出转矩与1Y的差值TaH;最后,利用公式/(o=入+r。;(/:;A)(i-e—;)'"丄—Li/获得步进电机在启动过程中每一时刻所需的控制频率,并绘制出步进电机在启动阶段的频率时间曲线图。所述步进电机在制动阶段的频率时间曲线为启动阶段的频率时间曲线的反向曲线,通过所述制动阶段的频率时间曲线获得步进电机在制动过程中每一时刻所需的控制频率。再进一步的,将所述公式离散化,各离散点之间的时间间隔即表示为At,满足上述对At的限制条件,则<formula>formulaseeoriginaldocumentpage5</formula>其中,m为划分出的离散点个数;将各离散点的频率值转化为以下频率组合公式中对应的二进制数<formula>formulaseeoriginaldocumentpage5</formula>即确定(n+1)位计数器的各计数位ai(i=O,l,......,n)是0还是1;其中,f^为外部提供的时钟频率;将该组二进制数存入数组f[m]中,在步进电机启动时,依次读取数组f[m]中的各组二进制数,以确定提取计数器中的哪些计数位输出的脉冲信号参与频率合成;在步进电机制动时,反向依次读取数组fw中的各组二进制数,合成步进电机制动阶段所需频率的脉冲信号。更进一步的,所述计数器设置有两个,一个用于一级分频的p位计数器和一个用于二级分频的q位计数器;所述P为f。lk/2p>fH中的最大值;所述q为,,2"2/_中的最大值;其中,fmin为按照对步进电机的控制精度要求所确定的最小频率值。与现有技术相比,本发明的优点和积极效果是本发明的任意频率脉冲信号产生方法克服了传统的只能产生整数分频值的脉冲信号的缺点,在精度上更符合实际要求。将所述方法应用于步进电机控制领域,同时将产生的脉冲值与步进电机在升降速时的实际频率时间曲线图相结合,以使得各个时间点上的脉冲值更符合实际运行轨迹,并且在启动和制动阶段对运行步数有一个精确的计算,从而能够避免步进电机在启动和制动阶段的失步和过冲现象。结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。图1是本发明所提出的任意频率脉冲信号产生方法的设计原理图;图2是步进电机的牵入转矩和牵出转矩的曲线图;图3是步进电机在启动阶段的频率时间曲线图;图4是控制步进电机运行的程序流程图;图5是控制一台具体的步进电机从启动到稳定运行的频率时间曲线图。具体实施例方式下面结合附图对本发明的具体实施方式进行详细地描述。实施例一,本实施例提出一种采用频率合成方法来产生任意频率脉冲信号的方法,即对一定范围内的频率,通过一种特殊的分频方式产生互相不重叠的多种频率,再用一定的组合方式来产生任意频率,使频率输出变得连续可调,进而来满足被控对象的不同频率需求,其原理如图l所示。本实施例利用目前绝大多数可编程器件内部都具有的计数器的不同计数位来输出多种分频频率的脉冲信号,然后根据实际需要提取其中的某一种或者某几种分频频率的脉冲信号进行组合,以产生所需频率的脉冲信号。由于通过计数器的不同计数位只能输出基于外部提供时钟频率f。lk的偶数的分频频率的脉冲信号,比如对于n+1位计数器来说,第0位计数位a。输出外部提供时钟频率的2分频脉冲信号,即fclk/2;第1位计数位&输出4分频的脉冲信号,即f。lk/22;以此类推,第n位计数位a。输出2n+1分频的脉冲信号,即fdk/2n+1。为了保证通过计数器的不同计数位输出的频率脉冲互相之间不重叠,可以遵循如表1所示的原则,即在每一个分频位第一次跳变成1时就输出该位对应的频率分量。也就是说,在一个计数周期内(即计数器从0计数到最大值的期间),计数器的每一个计数位第一次跳变成1时输出一个脉冲信号。<formula>formulaseeoriginaldocumentpage7</formula><formula>formulaseeoriginaldocumentpage7</formula>表1产生互相不重叠的频率脉冲的原则表以4位计数器为例进行说明,计数器接收到一个时钟脉冲就进行加1计数,计数过程参见表2所示<table>tableseeoriginaldocumentpage7</column></row><table>表2当a。为"l"时,a。位输出"l",即输出一个脉冲;否则输出"0",即不输出脉冲;当aia。为"10"时,ai位输出"1",否则输出"0";当a2aia。为"100"时,a2位输出"l",否则输出"0";当a3a2aia。为"1000"时,a3位输出"1",否则输出"0"。这些用程序语言是完全可以实现的,并且保证了互相之间不重叠。频率合成的本质就是调整单位时间At内的脉冲个数。在这里,所述At应大于计数器的计数周期。在获得了这些互相不重叠的脉冲信号后,采用如下的频率组合公式来合成所需频率的脉冲信号<formula>formulaseeoriginaldocumentpage8</formula>(1)从式(1)可以看出n+l位计数器的第0位对应的是2分频;第1位对应的是4分频;以此类推,第n位对应的是2n+1分频。通过设定a。到an的值为0或1来决定是否选取对应的频率来参与合成。应用到实际,也就是通过设定每一个单位时间At内需要对计数器的哪一位或者哪几位输出的脉冲信号进行提取来实现单位时间内的频率合成,以获得所需任意频率的脉冲信号。实际设计过程中,可以针对每一个单位时间At所需的频率值,利用频率组合公式(1)转化为对应的二进制数,即确定计数器的各计数位是0还是1,然后将这组二进制数保存到数组中,供后续提取相应计数位输出的脉冲信号进行频率合成时使用。下面以步进电机为例,详细阐述所述任意频率脉冲信号产生方法在步进电机转速控制方面的具体应用设计。实施例二,目前的步进电机在启动和制动阶段,其频率时间曲线遵循一种指数型曲线增长和下降关系,如图3所示为步进电机启动阶段的指数型增长曲线,步进电机制动阶段的指数型下降曲线即图3所示曲线的反过程。为了控制步进电机在启动和制动阶段能够使得输入的驱动脉冲信号满足图3所示的曲线关系,首先需要按照选定的步进电机绘制出该步进电机在启动过程的频率时间曲线图,即类似图3所示的曲线。所述的步进电机在启动时的频率时间曲线图的绘制基于以下原理步进电机带动负载运行时的运行方程为<formula>formulaseeoriginaldocumentpage8</formula>式中Tm为电磁转矩;JM为转子的转动惯量,单位为kg*Cm2;丄为负载的转动惯量,单位为kg,cm2;"=2Jin为步进电机的步进角速度,单位为rad/s;D为粘性摩擦系数,单位为kg7s,一般很小,可以忽略不计;1Y为负载转矩。步进电机的转速公式为n=f9s/360°(r/s)(3)其中,93为步进电机的步距角。将式(3)代入式(2),整理得<formula>formulaseeoriginaldocumentpage8</formula>(4)式(4)中J=JM+1,为总的转动惯量;Ta=Tm-1Y,为加速时的加速转矩。为求得脉冲频率f与时间t的函数关系,还涉及到一个加速转矩Ta,它的求法可以从图2中的牵入转矩(曲线1)和牵出转矩(曲线2)之间的关系着手,用近似法(即将牵出转矩特性曲线线性化)获得。图2中的^为启动频率;fH为稳定运行频率,f。为牵入转矩为零时的频率值;f为f。与fH之间的任意频率值;由图l可知,g"=^f—,所以,近似求得(5)<formula>formulaseeoriginaldocumentpage9</formula>采用该方法的前提条件是对于具体的负载,已经选定了一种特定型号的步进电机,因此es、J、1Y都是确定的。用测量法可求得图2中两条转矩曲线,则图2中相应的各个值,如L和L就都可求得。将式(5)代入式(4)中,初始条件为t二0时、f=^,可解得<formula>formulaseeoriginaldocumentpage9</formula>其中,时间常数r为"《///-/丄<formula>formulaseeoriginaldocumentpage9</formula>因此,从^加速到4所需的时间为<formula>formulaseeoriginaldocumentpage9</formula>从式(7)可以清楚地看出脉冲频率与时间的关系是呈现指数型关系增长的,如图3所示。由于步进电机在启动阶段的频率时间曲线呈指数型关系增长,因此,为了驱动步进电机能够按照理想状态平稳过渡到稳速运行状态,需要产生图3中指数型曲线中任意一点的频率值,即具有该频率的脉冲信号作用于步进电机的驱动器,以实现对步进电机的驱动控制。由此,便需要提出一种能够产生任意频率脉冲信号的方法来对步进电机的启动和制动过程进行控制。基于此,本实施例将实施例一所提出的任意频率脉冲信号产生方法应用于对步进电机的升降速驱动控制过程中。目前能够输出脉冲信号的信号发生器有很多种,比如单片机、CPLD等。由于单片机是一种非并行执行器件,且软件编程实现脉冲频率控制也较为复杂,因此,本实施例优选采用以VHDL为设计手段,以复杂可编程逻辑器件CPLD为目标载体,通过离散逼近方式生成步进电机所需的任意频率的脉冲信号。VHDL的英文全称是VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage,即超高速集成电路硬件描述语言。通俗来讲,就是用来编写可编程逻辑器件的语言,用于描述逻辑电路。借助CPLD内部计数器的不同计数位来输出各种偶数的分频频率,然后根据图3所示的指数型曲线计算出每一时刻所需的频率值,由该频率值确定选择将计数器的哪些位输出的脉冲信号进行提取,以合并形成该频率值的脉冲信号。将每一时刻参与频率合成的计数器位保存到存储器中,以供日后实际控制步进电机启动运转时调用,即可达到控制步进电机按照理想轨迹启动的设计要求。在步进电机制动过程中,只要反向调取存储器中保存的这些参数,即可控制步进电机按照理想的指数轨迹平稳制动。具体实现方法如下假设外部提供的时钟频率为fdk,步进电机的启动频率为^,稳定运行频率为fH。在选用计数器分频时,要注意对精度的要求,n位计数器所能实现的最小分频值为f。lk/2n。理论上,该值越小,最终的合成频率将越逼近于指数型曲线上所离散出的某点的值。步进电动机的转速从启动频率^加速到稳定运行频率fH用时为t,将这段时间离散化为m个点,则每段的时间为At=t/m。因为CPLD器件的工作频率为外部提供的时钟频率fdk,因此离散点之间的时间间隔At不能小于计数器的计数周期,S卩At>(2M)/f。lk。至于最大的时间间隔At(即实施例一中所述的单位时间),可根据实际需要自己确定。但是,时间间隔At过大会无法保证离散出来的各点能够很好地恢复出原指数型曲线。因此,为了比较好的逼近原曲线,建议该值不要太大。结合公式(6),每个离散点对应的频率值为<formula>formulaseeoriginaldocumentpage10</formula>将这些频率值转化为频率组合公式(1)中对应的二进制数,即确定计数器的各位是0还是l,将这组二进制数存入数组f^中。在各个时间间隔At内运行的步数为Nm二[fmAt],[]表示取整,按照四舍五入的原则。将所有离散化的频率值之间的步数值存入另一个数组N^中。则在整个加速期间运行的总步数为<formula>formulaseeoriginaldocumentpage10</formula>在步进电机启动时,依次读取数组fw中的各组二进制数,确定提取计数器中的哪些位输出的脉冲信号参与频率合成,进而将合成后的脉冲信号输出至步进电机的控制器,驱动步进电机按照指数型曲线稳步启动,直到稳定运行;在步进电机制动时,反向依次读取数组fw中的各组二进制数,合成降速曲线所需的各点脉冲频率,以实现控制步进电机稳步制动到停止运行。通过指数曲线离散出的频率值已经严格符合了按指数规律增长的特点,毫无疑问,当步进电动机按照这样的频率运转时,效果是最佳的。在实际运行中,该部分的控制方法可以采用如图4所示的流程图来表示,具体包括以下步骤S401、系统复位;在此过程中,可以对程序中需要使用的各变量进行定义和赋值,比如为启动和制动阶段的离散点m赋值,置变速标志为匀速标志等;S402、判断变速标志,若为加速标志,则执行步骤S403;若为减速标志,则执行步骤S408;若为匀速标志,则保持当前频率输出脉冲信号,控制步进电机匀速运行,重复执行该步骤;在这里,若用户发出启动指令,则置变速标志为加速标志;若用户发出制动指令,则置变速标志为减速标志;S403、置i=1,K=0;S404、设置输出脉冲信号的频率f=fw,即读取寄存器中数组f^中的第i组的各二进制数,提取该二进制数中"1"所对应的计数器位输出的脉冲信号进行频率合成;S405、判断K是否等于Nw,即判断步进电机是否运转了数组N^中记载的Nw步,也就是判断是否输出了Nw个脉冲;若是,则执行下一步;否则,返回步骤S404继续执行;S406、判断i是否小于m;若是,则置K二0,i=i+l,返回步骤S404;否则,执行下少;S407、保持当前频率输出脉冲信号,控制步进电机匀速运行,并置变速标志为匀速标志,返回步骤S402;S408、置i=m,K=0;S409、设置输出脉冲信号的频率f=fw,即读取寄存器中数组f^中的第i组的各二进制数,提取该二进制数中"1"所对应的计数器位输出的脉冲信号进行频率合成;S410、判断K是否等于Nu],即判断步进电机是否运转了数组N[m]中记载的Nw步,也就是判断是否输出了Nw个脉冲;若是,则执行下一步;否则,返回步骤S409继续执行;S411、判断i是否小于等于l;若是,则执行下一步;否则,置K二O,i=i-l,返回步骤S409;S412、停止输出脉冲信号,即置输出脉冲信号的频率f=0;S413、程序结束。在实际应用过程中,需要考虑CPLD硬件内部的资源问题。外部提供的时钟频率fdk通常都很大,只采用1个计数器进行分频来获得任意频率的脉冲信号将要求计数器有很多位,位数过多的计数器将占用较多的硬件资源。因此,本实施例提出采用以下方法来选择计数器,以节省CPLD内部的硬件资源首先,使用1个计数器对外部提供的时钟频率为fdk进行简单的一级分频,使分频后的结果尽量接近于稳定运行频率fH。该计数器的位数P需要满足的条件是f。lk/2p>fH中的最大值。经过一级分频后的频率值变为fdk/2P,在此基础上进行二级分频,来获得任意频率的脉冲,若根据步进电机的控制精度确定的最小频率值为f^,则用于二级分频的计数器的位数q应满足的条件是^f/2《2/^中的最大值。举例说明若只要求最小频率值分频到12Hz之间,用于二级分频的计数器的位数q所满足的条件是*/2《"中的最大值。在此基础上将计数器的位数增加到q+l,可获得精度为0.51Hz之间的频率值;若将计数器位数增加到q+3可获得精度为0.1250.25Hz之间的频率值,若想获得更高精度的频率值可继续增加计数器的位数。若采用多个计数器共同参与分频,则离散点之间的时间间隔At不能小于计数器的总计数周期,即At^M/fdk,M由共同参与分频的所有计数器确定。比如采用一个p位计数器和一个q位计数器共同参与分频时,则M=(2P_1)X(29_1),以此类推。下面给出一个具体的应用实例。首先根据实际应用中的负载来选择一个合适的步进电机。为了绘制出这个步进电机的牵入转矩曲线和牵出转矩曲线,需要一组大小不同的负载,从小到大,在每一个负载下(每一个负载对应一个负载转矩),都会对应一个步进电机的最低启动频率^和最高稳定运行频率f"采用测量方法即可绘制出牵入和牵出转矩曲线图。结合实际应用中选定的具体负载,确定出负载转矩1Y。在求取T化和T^时,将纵轴转矩定位在1Y处,然后依据绘制出来的牵入和牵出转矩曲线图来求取T^和T^,进而可以比较精确地绘制出如图5中实线所示的频率时间(f/t)的关系图。假设外部提供的时钟频率为1.049MHz,所以一级分频时可采用一个10位计数器实现。若要求精确到l2Hz之间时,则二级分频可采用另外一个10位计数器实现。利用公式(7)可以计算出步进电机从启动频率^=600Hz加速到稳定运行频率fH=1000Hz的用时大约为0.48s,从这段时间中均匀离散化出22个点,即m二22。利用公式(8)产生这22个点对应的频率值。因为存在精度问题,所以最终产生的值与实际离散出的值存在差异。图5中实线附近的离散点值即为通过公式(8)产生的频率值。为了验证步进电机按照这种频率运行时的轨迹与理论上的轨迹的偏差,本实施例对这些离散点的频率值利用B样条曲线拟合的方式进行拟合,结果如图5中虚线所示。由图5可以看出,脉冲连续可调的软件方法所产生的脉冲能较好地逼近理论上的指数型曲线,但在低频的时候逼近的效果不是很理想,主要是因为此时频率变化较快,实际中可通过增加离散点的方法来解决该问题。当然,以上所述仅是本发明的一种优选实施方式而已,应当指出的是,对于本
技术领域:
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求一种产生任意频率脉冲的方法,包括以下步骤首先,利用外部提供的时钟控制计数器计数;其次,利用计数器的不同计数位对外部提供的时钟频率进行分频,并通过各计数位输出不同分频频率的脉冲信号;然后,根据实际需要提取其中的某一种或者某几种分频频率的脉冲信号进行组合,以产生所需频率的脉冲信号。2.根据权利要求1所述的产生任意频率脉冲的方法,其特征在于在利用计数器的不同计数位对外部提供的时钟频率进行分频时,在计数器从0计数到最大值的一个计数周期内,计数器的每一个计数位仅在第一次跳变成1时输出一个脉冲信号。3.根据权利要求2所述的产生任意频率脉冲的方法,其特征在于所述所需频率的脉冲信号的输出周期为At,所述At大于等于计数器的计数周期。4.一种步进电机的升降速控制方法,包括以下步骤(1)利用信号发生器外部提供的时钟控制信号发生器内部的计数器计数;(2)利用计数器的不同计数位对外部提供的时钟频率进行分频,并通过各计数位输出不同分频频率的脉冲信号;(3)根据步进电机启动加速或者制动减速时实际所需要的脉冲频率,提取其中的某一种或者某几种分频频率的脉冲信号进行组合,以产生所需频率的脉冲信号,通过信号发生器输出给步进电机,控制步进电机运转。5.根据权利要求4所述的步进电机的升降速控制方法,其特征在于在利用计数器的不同计数位对外部提供的时钟频率进行分频时,在计数器从0计数到最大值的一个计数周期内,计数器的每一个计数位仅在第一次跳变成1时输出一个脉冲信号。6.根据权利要求5所述的步进电机的升降速控制方法,其特征在于所述信号发生器以At为周期输出步进电机所需频率的脉冲信号,所述At大于等于计数器的计数周期。7.根据权利要求4至6中任一项所述的步进电机的升降速控制方法,其特征在于所述步进电机在启动阶段所需的控制频率由以下步骤获得首先,根据实际应用中的负载来具体选择一台步进电机;其次,采用测量法绘制出所述步进电机的牵入转矩曲线和牵出转矩曲线;再次,结合实际应用中选定的具体负载,确定出负载转矩TY;并针对该负载测量出步进电机的启动频率^和稳定运行频率fH;然后,结合绘制出的牵入转矩曲线和牵出转矩曲线,求取步进电机启动频率^所对应的牵出转矩与1Y的差值以及步进电机稳定运行频率fH所对应的牵出转矩与1Y的差值最后,利用公式<formula>formulaseeoriginaldocumentpage2</formula>获得步进电机在启动过程中每一时刻所需的控制频率,并绘制出步进电机在启动阶段的频率时间曲线图。8.根据权利要求7所述的步进电机的升降速控制方法,其特征在于所述步进电机在制动阶段的频率时间曲线为启动阶段的频率时间曲线的反向曲线,通过所述制动阶段的频率时间曲线获得步进电机在制动过程中每一时刻所需的控制频率。9.根据权利要求8所述的步进电机的升降速控制方法,其特征在于将所述公式离散化,各离散点之间的时间间隔即为At,则乙<formula>formulaseeoriginaldocumentpage3</formula>其中,m为离散点的总个数;将各离散点的频率值转化为以下频率组合公式中对应的二进制数<formula>formulaseeoriginaldocumentpage3</formula>即确定(n+l)位计数器的各计数位ai(i=0,1,......,n)是0还是1;其中,f。lk为外部提供的时钟频率;将该组二进制数存入数组f[m]中,在步进电机启动时,依次读取数组f[m]中的各组二进制数,以确定提取计数器中的哪些计数位输出的脉冲信号参与频率合成;在步进电机制动时,反向依次读取数组fw中的各组二进制数,合成步进电机制动阶段所需频率的脉冲信号。10.根据权利要求9所述的步进电机的升降速控制方法,其特征在于所述计数器设置有两个,一个P位计数器和一个q位计数器;所述P为f。lk/2p>fH中的最大值;所述q为,/23》厶,n中的最大值;其中,fmim为按照对步进电机的控制精度要求所确定的最小频率值。全文摘要本发明公开了一种产生任意频率脉冲的方法以及步进电机的升降速控制方法,首先,利用外部提供的时钟控制计数器计数;其次,利用计数器的不同计数位对外部提供的时钟频率进行分频,并通过各计数位输出不同分频频率的脉冲信号;然后,根据实际需要提取其中的某一种或者某几种分频频率的脉冲信号进行组合,以产生所需频率的脉冲信号。本发明克服了传统的只能产生整数分频值的脉冲信号的缺点,在精度上更符合实际要求。用于步进电机控制领域,同时将产生的脉冲值与步进电机在升降速时的实际频率时间曲线图相结合,可以使得各个时间点上的脉冲值更符合实际运行轨迹,从而能够避免步进电机在启动和制动阶段的失步和过冲现象。文档编号H02P8/36GK101710814SQ200910260108公开日2010年5月19日申请日期2009年12月25日优先权日2009年12月25日发明者张立强申请人:青岛朗讯科技通讯设备有限公司