CN110417311B - 一种步进电机控制方法及设备 - Google Patents
一种步进电机控制方法及设备 Download PDFInfo
- Publication number
- CN110417311B CN110417311B CN201810385511.8A CN201810385511A CN110417311B CN 110417311 B CN110417311 B CN 110417311B CN 201810385511 A CN201810385511 A CN 201810385511A CN 110417311 B CN110417311 B CN 110417311B
- Authority
- CN
- China
- Prior art keywords
- phase winding
- transmission
- phase
- stepping motor
- pulse current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004804 winding Methods 0.000 claims abstract description 371
- 230000005540 biological transmission Effects 0.000 claims abstract description 284
- 230000001960 triggered effect Effects 0.000 claims description 9
- 230000010354 integration Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 20
- 230000001276 controlling effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005672 electromagnetic field Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors rotating step by step
- H02P8/12—Control or stabilisation of current
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Stepping Motors (AREA)
Abstract
本发明实施例提供了一种步进电机控制方法及设备,所述方法包括:分别获取步进电机每一相绕组对应的多个脉冲电流值;分别针对每一相绕组,按预设频率,反复的将该相绕组对应的多个脉冲电流值逐个传输至所述步进电机的驱动芯片;针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断;当产生所述传输中断时,触发换向指令,并向驱动芯片发送该换向指令。从而在确定脉冲电流换向的时间点的过程中,不需要消耗大量的上位机CPU资源来确定换向的时间点,从而减少了上位机CPU资源的消耗,提高了上位机CPU的使用效率。
Description
技术领域
本发明涉及工业控制技术领域,特别是涉及一种步进电机控制方法及设备。
背景技术
随着工业技术的发展,步进电机因其转动时的步进角度可控,并且具有优秀的启停和反转响应等特点,得到了越来越广泛的应用。步进电机可以由电脉冲信号进行驱动,电脉冲信号分别作用在步进电机的各相绕组上,从而形成多相时序控制电流,在步进电机内部形成交替变化的磁场,使得步进电机的转子转动。
步进电机需要通过驱动器或驱动芯片进行驱动,驱动器或驱动芯片能够向步进电机的各相绕组输出脉冲电流。并且能够实现对步进电机的整步驱动或细分驱动,细分驱动是指通过将一个周期的脉冲电流细分为多个大小不同的脉冲电流,使得在各相绕组之间通过不同的电流脉冲值,形成交替变化的合成磁场,从而能够对步进电机实现更加准确的控制。
在对步进电机进行控制时,尤其是永磁式步进电机和混合式步进电机,需要向步进电机的各相绕组输出正负交替的控制电流,例如,细分驱动时,细分后的多个大小不同的脉冲电流构成的是接近正弦曲线的波形,各相绕组的控制电流需要在不同的时间点进行电流的换向。
在现有技术中,上位机与驱动器或驱动芯片相连接,通过上位机来控制驱动器或驱动芯片,来使得驱动器或驱动芯片进行电流的换向。例如上位机通过PWM控制器(PulseWidth Modulation,脉冲宽度调制)直接输出电流。当通过上位机进行换向控制时,需要上位机的CPU来计算并确定出换向的时间点,由于步进电机运转时换向频率很高,所以十分耗费上位机的CPU资源,使得CPU运行负担过重。
发明内容
本发明实施例的目的在于提供一种步进电机控制方法及设备,以实现在确定脉冲电流换向的时间点的过程中减少上位机CPU资源的消耗。具体技术方案如下:
本发明实施例提供了一种步进电机控制方法,包括:
分别获取步进电机每一相绕组对应的多个脉冲电流值;
分别针对每一相绕组,按预设频率,将该相绕组对应的多个脉冲电流值逐个传输至所述步进电机的驱动芯片,所述驱动芯片根据脉冲电流值向该相绕组输出脉冲电流,其中,完成一次该相绕组对应的多个脉冲电流值传输的时间周期,为该相绕组对应传输周期;
针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断;
当产生所述传输中断时,触发换向指令,并向所述驱动芯片发出所述换向指令,所述驱动芯片根据所述换向指令对所输出的脉冲电流进行换向,使所述传输中断后脉冲电流的方向与所述传输中断前的脉冲电流的方向相反。
可选的,所述每一相绕组对应的多个脉冲电流值包括:每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
可选的,当所述步进电机为两相步进电机时,所述针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,包括:
针对A相绕组,在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
针对B相绕组,在所述B相绕组对应的每个传输周期的中间时刻,产生传输中断;
或者,针对所述A相绕组,在所述A相绕组对应的每个传输周期的中间时刻,产生传输中断;
针对所述B相绕组,在所述B相绕组对应的每个传输周期的结束时刻,产生传输中断。
可选的,当所述步进电机为四相步进电机时,所述针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,包括:
针对A相绕组,在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
针对B相绕组,在所述B相绕组对应的每个传输周期的四分之一周期的时刻,产生传输中断;
针对C相绕组,在所述C相绕组对应的每个传输周期的中间时刻,产生传输中断;
针对D相绕组,在所述D相绕组对应的每个传输周期的四分之三周期的时刻,产生传输中断。
可选的,所述分别获取步进电机每一相绕组对应的多个脉冲电流值,包括:
通过与所述步进电机每一相绕组分别对应的直接内存存取DMA控制器,获取所述步进电机每一相绕组对应的多个脉冲电流值。
可选的,所述针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,包括:
所述针对每一相绕组,该相绕组对应DMA控制器在该相绕组对应的传输周期内的预设传输时间点产生传输中断。
本发明实施例还提供了一种步进电机控制设备,包括:
控制芯片,所述控制芯片上具有预设数量的直接内存存取DMA控制器;
驱动芯片,所述驱动芯片分别与,所述控制芯片和步进电机连接;
针对步进电机的每一相绕组,该相绕组对应的DMA控制器获取该相绕组对应的多个脉冲电流值;并按预设频率,将该相绕组对应的多个脉冲电流值逐个传输至所述驱动芯片,所述驱动芯片根据脉冲电流值向该相绕组输出脉冲电流,其中,完成一次该相绕组对应的多个脉冲电流值传输的时间周期,为该相绕组对应传输周期;
针对每一相绕组,该相绕组对应DMA控制器在该相绕组对应的传输周期内的预设传输时间点产生传输中断,在所述DMA控制器产生所述传输中断时,所述控制芯片触发换向指令,并向所述驱动芯片发出所述换向指令,所述驱动芯片根据所述换向指令对所输出的脉冲电流进行换向,使所述传输中断后脉冲电流的方向与所述传输中断前的脉冲电流的方向相反。
可选的,所述步进电机控制设备中,所述每一相绕组对应的多个脉冲电流值包括:每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
可选的,当所述步进电机为两相步进电机时,所述控制芯片上至少包括A相绕组对应的第一DMA控制器和B相绕组对应的第二DMA控制器;
所述第一DMA控制器在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的中间时刻,产生传输中断;
或者,所述第一DMA控制器在所述A相绕组对应的每个传输周期的中间时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的结束时刻,产生传输中断。
可选的,当所述步进电机为四相步进电机时,所述控制芯片上至少包括A相绕组对应的第一DMA控制器,B相绕组对应的第二DMA控制器,C相绕组对应的第三DMA控制器和D相绕组对应的第四DMA控制器;
所述第一DMA控制器在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的四分之一周期的时刻,产生传输中断;
所述第三DMA控制器在所述C相绕组对应的每个传输周期的中间时刻,产生传输中断;
所述第四DMA控制器在所述D相绕组对应的每个传输周期的四分之三周期的时刻,产生传输中断。
可选的,所述控制芯片还包括:所述预设数量的模拟转换器DAC和/或脉冲宽度调制PWM控制器;
每一个所述模拟转换器DAC和/或所述PWM控制器,分别与对应的一个DMA控制器连接,并且分别与所述步进电机的驱动芯片连接;
积分电路,所述积分电路与所述PWM控制器连接。
可选的,所述控制芯片还包括:一个或多个定时器;
所述定时器与DMA控制器连接。
本发明实施例提供的一种步进电机控制方法及设备,通过在向驱动芯片传输脉冲电流值的过程中产生传输中断,可以准确的确定出需要进行脉冲电流换向的时间点。由于通过传输中断的产生或触发,不需要上位机CPU来具体实现。所以确定脉冲电流换向的时间点的过程中,不需要消耗大量的上位机CPU资源来确定换向的时间点,从而减少了上位机CPU资源的消耗,提高了上位机CPU的使用效率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的步进电机控制方法的流程图;
图2为本发明实施例提供的控制电流的第一种波形图;
图3为本发明实施例提供的控制电流的第二种波形图;
图4为本发明实施例提供的控制电流的第三种波形图;
图5为本发明实施例提供的步进电机控制设备的结构图;
图6为本发明实施例提供的步进电机控制装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例提供的步进电机控制方法的流程图,包括:
步骤101,分别获取步进电机每一相绕组对应的多个脉冲电流值。
本发明实施例提供的步进电机控制方法,可以应用于各类对步进电机实现控制的电子设备或者控制系统中。例如,PC,步进电机的上位机,或者是MCU(Micro Control Unit,微控制单元)等等。
步进电机可以是两相步进电机、三相步进电机、四相步进电机等各类步进电机。针对步进电机的每一相绕组,可以根据电机功率、负载情况等性能参数,预先设置好每一相绕组对应的多个脉冲电流值。通过输入或者自动读取的方式,使得电子设备或者控制系统能够获得步进电机每一相绕组对应的多个脉冲电流值。
步进电机在细分驱动的工作条件下运行时,步进电机定子的各相绕组中会通过具有一定周期的控制电流,该控制电流可以是多个脉冲电流形成的类似于正弦曲线的阶梯电流,或者也可以是将该阶梯电流平滑处理后的得到了连续的交变电流。在同一时刻,步进电机不同相绕组的控制电流的大小和/或方向不同,从而使得各相绕组各自的电磁场组合在一起形成合成电磁场,并且该合成电磁场随着各相绕组控制电流周期性的变化而变化,形成交替变换的合成电磁场,实现步进电机的细分驱动。
由于各相绕组的控制电流具有一定的周期,每一个周期的控制电流会使步进电机的转子转过1个固有步距角。所获取的步进电机每一相绕组对应的多个脉冲电流值,可以是该相绕组控制电流的半个周期或一个周期内的脉冲电流值。
例如,当细分驱动是将步进电机的固有步距角分为10个细分的步距角时,则原有的整步的电流脉冲可以分为10个大小不同的电流脉冲,并且该10个大小不同的电流脉冲,可以为类似于一个完整周期的正弦曲线的阶梯电流且具有不同的电流方向,如,前5个电流脉冲为正向电流,后5个电流脉冲为反向电流。所以可以获取一个周期内的脉冲电流值,即该10个脉冲电流的脉冲电流值;或者,由于前5个电流脉冲后5个电流脉冲方向相反,但幅值相等。所以,也可以只获取半个周期内的脉冲电流值,即前5个脉冲电流的脉冲电流值。通过调整各相绕组的控制电流的相位,使得同一时刻,在各相绕组中的脉冲电流大小和/或方向各不相同。每一个脉冲都可以控制步进电机转子转过十分之一的固有步距角,当经过一个周期后,即经过10个脉冲后,步进电机转子可以转过1个固有步距角。
当然,本发明实施例提供的步进电机控制方法可能够应用于整步驱动的情况,当整步驱动时,步进电机各相绕组中的控制电流可以为固定的脉冲值,仅存在正负的变化,从而所获取的每一相绕组对应的多个脉冲电流值可以仅为一个固定的脉冲电流值。由于整步驱动情况比较简单,在本发明实施例中,重点以细分驱动为例进行介绍,本领域技术人员可以通过本发明实施例容易的理解出本发明实施例提供的步进电机控制方法应用于整步驱动时的过程。
步骤102,分别针对每一相绕组,按预设频率,将该相绕组对应的多个脉冲电流值逐个传输至步进电机的驱动芯片,驱动芯片根据脉冲电流值向该相绕组输出脉冲电流,其中,每完成一次该相绕组对应的多个脉冲电流值传输的时间周期,为该相绕组对应传输周期。
在细分驱动时,预设频率是指细分后的每一个细分的脉冲电流的脉冲频率。在整步驱动时,预设频率是指步进电机的方波形式的控制电流的脉冲频率。当按预设频率向驱动芯片传输脉冲电流值时,驱动芯片就可以按同样的预设频率向步进电机的绕组输出脉冲电流。从而使得步进电机绕组中的控制电流能够成为具有预设频率的脉冲电流。
在对步进电机控制中,脉冲频率与步进电机的转速有关,频率越高则转速越快。所以,在本发明实施例提供的步进电机控制方法,还可以根据所需要达到的转速,来确定出预设频率。
具体的,确定预设频率的步骤可以包括:
第一步,获取步进电机的目标转速。
第二步,通过步进电机转速与脉冲电流的脉冲频率之间的数学关系,利用目标转速,计算出达到目标转速所需的目标脉冲频率。
例如,步进电机转速与脉冲电流的脉冲频率之间的数学关系为:
其中,V是步进电机的转速,单位是转/分;P是脉冲频率,θe是步进电机固有的步距角;m是细分系数。
第三步,将目标脉冲频率作为预设频率。
当确定出预设频率后,就可以分别针对每一相绕组,按预设频率将脉冲电流值逐个的向驱动芯片进行传输,并且按传输周期反复执行。例如,针对A相绕组有4个脉冲电流值,分别为(0,3,6,3),按预设频率将4个值逐个向驱动芯片传输,当分别传输了0,3,6,3后,即完成了一个传输周期。并且继续从第一个值开始重新进行传输。
具体的,确定出的预设频率,可以保存在用于控制步进电机的电子设备或控制系统内的定时器中。其中定时器可以通过硬件实现,或者通过软件来实现。该电子设备或控制系统可以通过该定时器,在定时器的控制下,按预设频率向驱动芯片传输脉冲电流值。
步骤103,针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断。
针对每一相绕组,在传输该相绕组对应的多个脉冲电流值时,在传输周期内的预设传输时间点,可以产生传输中断。传输中断是指暂停脉冲电流值的传输。传输中断可以通过电子设备或控制系统内部的软件来实现,也可以通过硬件元件来实现,还可以通过软件及硬件相结合的方式进行实现。
步骤104,当产生传输中断时,触发换向指令,并向驱动芯片发出该换向指令,驱动芯片根据换向指令对所输出的脉冲电流进行换向,使传输中断后脉冲电流的方向与传输中断前的脉冲电流的方向相反。
在传输中断时,可以触发一换向指令,并将该换向指令向驱动芯片发送。驱动芯片获取了换向指令后,就可以通过改变驱动芯片引脚等方式实现对所输出的脉冲电流的进行换向。该传输中断的触发可以不依赖于电子设备或控制系统的CPU的计算或处理,从而避免了通过CPU来确定换向的时间点。
具体的,在发生传输中断时,可以由对步进电机实现控制的电子设备或者控制系统中的控制软件来发出换向指令。换向指令可以是驱动芯片能够识别并获取的数字或模拟的信号或指令。
每一相绕组中控制电流的相位不同,所以针对不同的绕组,其预设传输时间点也不相同。在实际应用时,可以根据各相绕组的相位、以及各相绕组的传输周期来确定,出各相绕组对应的预设传输时间点。
当本发明实施例提供的步进电机控制方法,可以应用于各种类型的步进电机,例如两相步进电机、三相步进电机、四相步进电机等等。下面,以两相步进电机和四相步进电机为例进行介绍。本领域技术人员通过本发明实施例可以容易的理解出,本发明实施例提供的步进电机控制方法应用在其他类型的步进电机时的具体过程。
步进电机中各个绕组中的控制电流,都是具有一定周期的电流,当在细分驱动时,各个绕组中的控制电流为多个脉冲电流构成的类似正弦曲线的阶梯电流。从而控制电流的前半个周期的多个脉冲电流,与后半个周期的多个脉冲电流其电流值是相同的,仅仅是电流方向不同。
所以,在获取每一相绕组对应的多个脉冲电流时,为了减少所获取的数据量,每一相绕组对应的多个脉冲电流值可以包括:每一相绕组对应的控制电流半个周期内的多个脉冲电流值。具体的,脉冲电流值数量由不同的细分来确定。例如,在10细分的情况下,则一个控制电流的周期被分为10个脉冲电流。则半个周期的脉冲电流的数量为5。
当步进电机为两相步进电机时,步进电机内A相绕组和B相绕组中的控制电流的相位需要相差90度,在A相绕组和B相绕组在16细分下,分别对应的半个控制电流半个周期内的多个脉冲电流值,可以如表1所示:
表1
A相 | 0 | 1567 | 2896 | 3784 | 4095 | 3784 | 2896 | 1567 |
B相 | 4095 | 3784 | 2896 | 1567 | 0 | 1567 | 2896 | 3784 |
上表中电流值的单位为毫安,从表1中可以看出,A相绕组在控制电流半个周期内不需要换向,在进入下一个传输周期时,需要进行换向。而B相绕组在半个周期的中间位置时需要进行换向。从而A相绕组和B相绕组才能形成相位差为90度。类似于正弦曲线的阶梯电流,使得步进电机转动。
所以在本发明实施例提供的步进电机控制方法中,当步进电机为两相步进电机时,针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,包括:
针对A相绕组,在每个A相绕组对应的传输周期的结束时刻,产生传输中断;针对B相绕组,在每个B相绕组对应的传输周期的中间时刻,产生传输中断。
针对表1中的脉冲电流值,向各相绕组传输8次电流脉冲值可以完成一个传输周期。对于A相绕组,在每一个传输周期结束时刻,可以产生传输中断,并向驱动芯片发出换向指令。从而使得下一个传输周期时,能够形成反向的脉冲电流。以此类推,形成类似于正弦曲线的阶梯电流。
对于B相绕组,其控制电流需要与A相绕组的控制电流的相位相差90度,才能使步进电机正常工作。B相绕组,在每一个传输周期的中间时刻,例如表1中,当传输至第5个脉冲电流值“0”时,产生传输中断,从而使得后续的脉冲电流值所产生的脉冲电流为反向的脉冲电流。然后在下一个传输周期的中间时刻,再次产生传输中断。依次类推,形成与A向控制电流相位差为90度的类似于正弦曲线的阶梯电流。
通过上述过程,A相绕组和B相绕组中的控制电流波形可以如图2所示。
图2中的阶梯曲线201为A相绕组中的控制电流,阶梯曲线202为B相绕组中的控制电流。其中时间点203为A相绕组对应的预设传输时间点,时间点204为B相绕组对应的预设传输时间点,t1为A相绕组中的传输周期,t2为B相绕组中的传输周期。
容易理解的是,A相绕组与B相绕组的通电顺序可以发生改变,从而改变步进电机的旋转方向,所以,在改变步进电机的旋转方向时,A相绕组和B相绕组中的控制电流波形会发生互换,在改变步进电机的旋转方向时,可以针对A相绕组,在A相绕组对应的每个传输周期的中间时刻,产生传输中断;针对B相绕组,在每个B相绕组对应的传输周期的结束时刻,产生传输中断。具体过程与上述过程类似,在此不再赘述。
当步进电机为四相步进电机时,步进电机内A相绕组和B相绕组中的控制电流的相位相差45度,B相绕组和C相绕组中的控制电流的相位相差45度,同理C相绕组和D相绕组中的控制电流的相位也相差45度。
在A相绕组、B相绕组、C相绕组和D相绕组在16细分下,分别对应的半个控制电流半个周期内的多个脉冲电流值,可以如表2所示:
表2
A相 | 0 | 1567 | 2896 | 3784 | 4095 | 3784 | 2896 | 1567 |
B相 | 2896 | 1567 | 0 | 1567 | 2896 | 3784 | 4095 | 3784 |
C相 | 4095 | 3784 | 2896 | 1567 | 0 | 1567 | 2896 | 3784 |
D相 | 2896 | 3784 | 4095 | 3784 | 2896 | 1567 | 0 | 1567 |
从表2中可以看出,各相绕组需要在传输表2中的脉冲电流值的传输周期的不同时间点处进行换向。
所以在本发明实施例提供的步进电机控制方法中,当步进电机为四相步进电机时,针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,包括:
针对A相绕组,在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断。
针对B相绕组,在所述B相绕组对应的每个传输周期的四分之一周期的时刻,产生传输中断。
例如,当控制电流的半个周期内的电流脉冲值为表1中的值时,各相绕组传输8次电流脉冲值可以完成一个传输周期。对于B相绕组,在每一个传输周期的四分之一周期的时刻,也就是传输到第三个电流脉冲值时,产生传输中断,并向驱动芯片发出换向指令。
针对C相绕组,在所述C相绕组对应的每个传输周期的中间时刻,产生传输中断。
针对D相绕组,在所述D相绕组对应的每个传输周期的四分之三周期的时刻,产生传输中断。
同样的,当控制电流的半个周期内的电流脉冲值为表1中的值时。对于D相绕组,在每一个传输周期的四分之三周期的时刻,也就是传输到第七个电流脉冲值时,产生传输中断,并向驱动芯片发出换向指令。
如图3所示,图3中的阶梯曲线221为四相步进电机中A相绕组中的控制电流,阶梯曲线222为B相绕组中的控制电流,223为C相绕组中的控制电流,224为D相绕组中的控制电流。
其中时间点231为A相绕组对应的预设传输时间点,时间点232为B相绕组对应的预设传输时间点,时间点233为C相绕组对应的预设传输时间点,时间点234为D相绕组对应的预设传输时间点。T1为A相绕组中的传输周期,T2为B相绕组中的传输周期,T3为C相绕组中的传输周期,T4为D相绕组中的传输周期。
在上述实施例中,图2和图3中的只是示例性的介绍了两相步进电机和四相步进电机控制的一般形式,在实际应用中,还可以根据具体的需要进行调整,例如,步进电机各相绕组的相位角的初始位置,即初始的脉冲电流参数值等可以发生变化,或者电机旋转方向变化时,相应的各相绕组波形也会发生变化。所以,在各相绕组的相位差保持不便的情况下,具体的控制电流的波形可以具有多种形式,图2和图3中的波形,并不限制本发明实施例的保护范围。
当本发明实施例应用于三相或五相步进电机时,可以根据每相绕组之间的相位差,以及传输周期,确定出各相绕组在传输周期内的预设传输时间点,并在该预设传输时间点发生传输中断,从而对该相绕组的控制电流进行换向。本领域技术人员可以根据上述实施例,利用同样的方式进行推算,在此不再赘述。
在本发明实施例中,通过在向驱动芯片传输脉冲电流值的过程中,产生传输中断,可以准确的确定出需要进行脉冲电流换向的时间点。由于通过传输中断的产生或触发,不需要上位机CPU来具体实现,可以通过控制软件或者其他控制元件来实现。所以确定脉冲电流换向的时间点的过程中,不需要消耗大量的上位机CPU资源来确定换向的时间点,从而减少了上位机CPU资源的消耗。提高了上位机CPU的使用效率。
结合上述实施例,在本发明实施例提供的步进电机控制方法中,为了能够更灵活的对步进电机实现细分驱动,步骤101,分别获取步进电机每一相绕组对应的多个脉冲电流值,可以包括:
步骤101a,获取细分参数,细分参数表示对步进电机进行细分控制的类型。
在获取每一相绕组对应的多个脉冲电流值之前,可以先获取细分参数。例如,操作人员可以根据需要选择或输入该细分参数。细分参数能够反映出所要执行的细分驱动的类型,例如进行8细分,10细分,16细分等等。不同的细分类型可以将一个周期的控制电流分为不同数量的多个脉冲电流。
步骤101b,根据细分参数获取与该细分参数对应的细分表,细分表中包括步进电机每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
获得了细分参数之后,可以根据细分参数获取与该细分参数对应的细分表,细分表可以为如表1所示的表格。对应不同的细分类型,可以预先设置不同的细分表,即不同细分表具有不同的长度,其中所含有的脉冲电流值的数量也不同,从而满足不同细分类型的需要。多个不同的细分表可以存储在电子设备或控制系统的内存中,从而能够根据细分参数,方便快捷的读取并获得对应的细分表。
如表1所示,细分表内可以记录有步进电机每一相绕组对应的控制电流半个周期内的多个脉冲电流值。获得了细分表之后,相当于获得了步进电机每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
在本发明实施例中,在步进电机工作时,还可以随时进行细分类型的调整。例如,在步进电机工作时,向控制该步进电机的电子设备或控制系统输入细分参数,然后该电子设备或控制系统可以停止正在进行的脉冲电流值的传输。重新按所获取的细分参数,获取对应的细分表,然后按该细分表中的电流脉冲值继续进行电流脉冲值的传输。从而进一步提高了对步进电机进行细分驱动的灵活性。
结合上述的各个实施例,在本发明实施例提供的步进电机控制方法中,步骤101,分别获取步进电机每一相绕组对应的多个脉冲电流值,可以包括:
通过与步进电机每一相绕组分别对应的DMA(Direct Memory Access,直接内存存取)控制器,获取步进电机每一相绕组对应的多个脉冲电流值。
DMA控制器,能够不经过CPU而直接进行内存的读取,所以,通过DMA控制器能够显著的提高读取效率。在本发明实施例中,DMA控制器可以集成在用于控制步进电机的电子设备或控制系统中。在该电子设备或控制系统中的内存中存储有步进电机每一相绕组对应的多个脉冲电流值,例如,可以存储有多个细分表。通过DMA控制器可以直接访问内存,从而得到步进电机每一相绕组对应的多个脉冲电流值。
每一个DMA控制器可以对应步进电机的一相绕组,所以每一个DMA控制器只获取对应的一相绕组的多个脉冲电流值。在电子设备或控制系统中至少集成有与步进电机相数相同数量的DMA控制器。
每一个DMA控制器在获取了对应的一相绕组的多个脉冲电流值之后,可以向驱动芯片进行电流脉冲值的传输。具体的,电子设备或控制系统中的定时器可以按预设频率来触发DMA控制器进行DMA传输,从而使得DMA控制器能够按预设频率向驱动芯片逐个的传输对应相绕组的电流脉冲值。并且,DMA控制器按传输周期反复的执行该传输的过程。
在电子设备或控制系统中可以具有一个或多个定时器。一个定时器可以控制多个DMA控制器进行电流脉冲值的传输,从而针对一个步进电机,可以保证该步进电机各相绕组分别对应的DMA控制器可以同步的进行电流脉冲值的传输。
由于驱动芯片可以同时控制多个步进电机,所以在电子设备或控制系统中可以针对每一个步进电机,设置一组控制单元,一组控制单元至少包括一个定时器,和与步进电机相数相同数量的DMA控制器。
在本发明实施例中,通过采用DMA控制器来进行脉冲电流值的获取以及脉冲电流值的传输,可以提高获取和传输的脉冲电流值效率。
在实际应用中,为了能够使步进电机的转动更加平稳,可以将向驱动电机传输的逐个的脉冲电流值转化为连续的信号,即将离散的数字量转化为连续的模拟量,从而使得步进电机各相绕组中的电流能够平滑的进行变化,从而使得步进电机的转动更加平稳,降低振动与噪音。
为了实现上述目的,结合上述的实施例,在本发明实施例的一种实施方式中,步骤102,分别针对每一相绕组,按预设频率,将该相绕组对应的多个脉冲电流值逐个传输至步进电机的驱动芯片,可以包括:
步骤102a,分别针对每一相绕组,按预设频率,该相绕组对应的DMA控制器反复的将该相绕组对应的多个脉冲电流值逐个传输至数字模拟转换器DAC。
每一向绕组所对应的DMA控制器在将该相绕组对应的多个脉冲电流值逐个的传输至驱动芯片之前,可以先将该多个脉冲电流值逐个的传输至DAC(Digital to analogconverter,数字模拟转换器)中,DAC是一种将数字信号转换为模拟信号的装置。同样的,DAC也可以集成在用于控制步进电机的电子设备或控制系统中。并且每一个DAC也只对应一个DMA控制器,从而也只对应步进电机的一相绕组。
DMA控制器按预设频率,可以将该DMA控制器对应的一相绕组的多个电流值逐个传输至DAC。并且按传输周期,反复的执行该传输过程。
步骤102b,通过DAC将该相绕组对应的多个脉冲电流值转化为连续的模拟信号,并将模拟信号传输至驱动芯片,以使驱动芯片根据模拟信号向该相绕组输出连续的电流。
DMA控制器将对应的一相绕组的多个脉冲电流值逐个传输至DAC后,DAC可以通过数模转化的方式,将逐个获取的该相绕组的离散的脉冲电流值,转化为该相绕组对应的连续的模拟信号,该模拟信号可以为连续的电压或电流信号。并且,在转化过程中,同步的将该模拟信号传输至驱动芯片。驱动芯片在获取了该模拟信号后,可以根据该模拟信号向该相绕组输出连续的控制电流。该连续的控制电流可以为具有正弦曲线波形的控制电流。从而使得步进电机的转动更加平稳。
在本发明实施例的另一种实施方式中,还可以通过PWM控制器(Pulse WidthModulation,脉冲宽度调制)和积分电路相叠加的方式来将离散的多个脉冲电流值转化为模拟信号。
具体的,步骤102,分别针对每一相绕组,按预设频率,将该相绕组对应的多个脉冲电流值逐个传输至步进电机的驱动芯片,可以包括:
步骤102c,分别针对每一相绕组,按预设频率,该相绕组对应的DMA控制器将该相绕组对应的多个脉冲电流值逐个传输至脉冲宽度调制PWM控制器。
与上述实施例类似,每一向绕组所对应的DMA控制器在将该相绕组对应的多个脉冲电流值逐个的传输至驱动芯片之前,可以先将该多个脉冲电流值逐个的传输至PWM控制器中,PWM控制器可以将不同幅值的电流脉冲值转换为相同幅值,但不同宽度的方波信号。并从PWM控制器的输出端输出该方波信号。同样的,PWM控制器也可以集成在用于控制步进电机的电子设备或控制系统中。并且每一个PWM控制器也只对应一个DMA控制器,从而也只对应步进电机的一相绕组。
步骤102d,在PWM控制器的输出端叠加积分电路,通过积分电路将PWM控制器输出的与该相绕组对应的多个脉冲电流值对应的方波信号转化为连续的模拟信号。
PWM控制器的输出端叠加有积分电路,积分电路可以用于波形转换,通过积分电路,可以将PWM控制器输出的方波信号转化为连续的模拟信号。积分电路也可以集成在电子设备或控制系统中。
步骤102e,将模拟信号传输至驱动芯片,以使驱动芯片根据模拟信号向该相绕组输出连续的电流。
同样的,在转化过程中,可以同步的将模拟信号传输至驱动芯片,从而使驱动芯片根据模拟信号输出连续的控制电流。
在两相步进电机中,通过上述两种方式所产生A相绕组和B相绕组中的控制电流波形可以如图4所示,图4中的电流曲线301为A相绕组中的控制电流,电流曲线302为B相绕组中的控制电流。其中时间点303为A相绕组对应的预设传输时间点,时间点304为B相绕组对应的预设传输时间点,t3为A相绕组中的传输周期,t4为B相绕组中的传输周期。
在本发明实施例中,上述两种方式,即通过DAC,或者通过PWM控制器叠加积分电路的形式,将向驱动电机传输的逐个的脉冲电流值转化为连续的模拟信号,可以分别单独使用,也可以同时使用。在实际应用时,可以根据需要进行选择。从而进一步的提高了本发明实施例提供的步进电机控制方法在应用时的灵活性。
结合上述的各个实施例,为了进一步提高传输中断的可靠性,并且降低在产生中断时对CPU资源的消耗,在本发明实施例提供的步进电机控制方法中,步骤103,针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,可以包括:
针对每一相绕组,该相绕组对应DMA控制器在该相绕组对应的传输周期内的预设传输时间点产生传输中断。并且,在DMA控制器产生传输中断时,向驱动芯片发出换向指令。
DMA控制器内部可以设定传输中断的触发条件,例如可以设定在传输了预设数量的脉冲电流值之后发生传输中断,或者在设定的时间位置处发生中断。从而可以根据每一向绕组对应的传输周期内的预设传输时间点来设定出DMA控制器内触发传输中断的条件。使得DMA控制器能够在向驱动芯片,或者DAC,或者PWM控制器传输电流脉冲值时,自动的触发传输中断,不需要消耗CPU资源。
在DMA控制器发生了传输中断时,电子设备或控制系统可以向驱动芯片发出换向指令,从而使得驱动芯片对所输出的电流进行换向。
参见图5,图5为本发明实施例提供的步进电机控制设备的结构图,包括:
控制芯片501,控制芯片上具有预设数量的直接内存存取DMA控制器511。
控制芯片501可以为具有数据能力的模块或组件,例如,可以为MCU。在中继芯片上可以集成有预设数量的DMA控制器511,其中预设数量至少大于步进电机的相数,可以为步进电机相数的整数倍。
驱动芯片502,驱动芯片502分别与,控制芯片501和步进电机503连接。
驱动芯片502可以通过数据总线、电缆等方式与控制芯片501和步进电机503连接。从而实现与控制芯片501之间的数据或信号的传输,以及与步进电机503之间控制电流的传输。并且一个驱动芯片502可以同时连接多个步进电机503。
针对步进电机503的每一相绕组,该相绕组对应的DMA控制器511获取该相绕组对应的多个脉冲电流值;按预设频率,反复的将该相绕组对应的多个脉冲电流值逐个传输至驱动芯片502,驱动芯片502根据脉冲电流值向该相绕组输出脉冲电流,其中,每完成一次该相绕组对应的多个脉冲电流值传输的时间周期,为该相绕组对应传输周期;
针对每一相绕组,该相绕组对应DMA控制器511在该相绕组对应的传输周期内的预设传输时间点产生传输中断,在DMA控制器511产生传输中断时,控制芯片501触发换向指令,并向驱动芯片502发出该换向指令,驱动芯片502根据换向指令对所输出的脉冲电流进行换向,使传输中断后脉冲电流的方向与传输中断前的脉冲电流的方向相反。
在本发明实施例中,通过在向驱动芯片传输脉冲电流值的过程中,产生传输中断,可以准确的确定出需要进行脉冲电流换向的时间点。由于通过传输中断的产生或触发,不需要上位机CPU来具体实现,可以通过控制软件或者其他控制元件来实现。所以确定脉冲电流换向的时间点的过程中,不需要消耗大量的上位机CPU资源来确定换向的时间点,从而减少了上位机CPU资源的消耗。提高了上位机CPU的使用效率。
可选的,在本发明实施例提供的步进电机控制设备中,所述每一相绕组对应的多个脉冲电流值包括:每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
可选的,在本发明实施例提供的步进电机控制设备中,当所述步进电机为两相步进电机时,所述控制芯片上至少包括A相绕组对应的第一DMA控制器和B相绕组对应的第二DMA控制器;
所述第一DMA控制器在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的中间时刻,产生传输中断;
或者,所述第一DMA控制器在所述A相绕组对应的每个传输周期的中间时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的结束时刻,产生传输中断。
可选的,在本发明实施例提供的步进电机控制设备中,当所述步进电机为四相步进电机时,所述控制芯片上至少包括A相绕组对应的第一DMA控制器,B相绕组对应的第二DMA控制器,C相绕组对应的第三DMA控制器和D相绕组对应的第四DMA控制器;
所述第一DMA控制器在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的四分之一周期的时刻,产生传输中断;
所述第三DMA控制器在所述C相绕组对应的每个传输周期的中间时刻,产生传输中断;
所述第四DMA控制器在所述D相绕组对应的每个传输周期的四分之三周期的时刻,产生传输中断。
可选的,在本发明实施例提供的步进电机控制设备中,控制芯片还包括:预设数量的模拟转换器DAC512和/或脉冲宽度调制PWM控制器513。
每一个模拟转换器DAC512和/或PWM控制器513,分别与对应的一个DMA控制器511连接,并且分别与步进电机503的驱动芯片502连接;积分电路514,积分电路514与PWM控制器513连接。
通过DAC512和/或叠加了积分电路514的PWM控制器513,能够将向驱动芯片502传输的电流脉冲值转化为模拟信号,从而使得驱动芯片502向步进电机503输出连续的具有正弦曲线形状的控制电流,使步进电机503运行更加平稳。
可选的,在本发明实施例提供的步进电机控制设备中,控制芯片还包括:一个或多个定时器515;定时器515与DMA控制器511连接。
定时器515可以保存预设频率的数值,从而按预设频率触发对应的DMA控制器511进行脉冲电流值的传输。
参见图6,本发明实施例还公开了一种步进电机控制装置,包括:
获取模块401,用于分别获取步进电机每一相绕组对应的多个脉冲电流值;
输出模块402,分别针对每一相绕组,按预设频率,反复的将该相绕组对应的多个脉冲电流值逐个传输至步进电机的驱动芯片,驱动芯片根据脉冲电流值向该相绕组输出脉冲电流,其中,每完成一次该相绕组对应的多个脉冲电流值传输的时间周期,为该相绕组对应传输周期;
中断模块403,针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断;当产生所述传输中断时,触发换向指令,并向驱动芯片发出该换向指令,驱动芯片根据换向指令对所输出的脉冲电流进行换向,使传输中断后脉冲电流的方向与传输中断前的脉冲电流的方向相反。
在本发明实施例中,通过在向驱动芯片传输脉冲电流值的过程中,产生传输中断,可以准确的确定出需要进行脉冲电流换向的时间点。由于通过传输中断的产生或触发,不需要上位机CPU来具体实现,可以通过控制软件或者其他控制元件来实现。所以确定脉冲电流换向的时间点的过程中,不需要消耗大量的上位机CPU资源来确定换向的时间点,从而减少了上位机CPU资源的消耗。提高了上位机CPU的使用效率。
可选的,在本发明实施例提供的步进电机控制装置,装置中的每一相绕组对应的多个脉冲电流值包括:每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
可选的,在本发明实施例提供的步进电机控制装置,当步进电机为两相步进电机时,中断模块403,具体用于:
针对A相绕组,在每个A相绕组对应的传输周期的结束时刻,产生传输中断;
针对B相绕组,在每个B相绕组对应的传输周期的中间时刻,产生传输中断;
或者,针对A相绕组,在A相绕组对应的每个传输周期的中间时刻,产生传输中断;
针对B相绕组,在每个B相绕组对应的传输周期的结束时刻,产生传输中断。
可选的,在本发明实施例提供的步进电机控制装置,当所述步进电机为四相步进电机时,中断模块403,具体用于:
针对A相绕组,在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
针对B相绕组,在所述B相绕组对应的每个传输周期的四分之一周期的时刻,产生传输中断;
针对C相绕组,在所述C相绕组对应的每个传输周期的中间时刻,产生传输中断;
针对D相绕组,在所述D相绕组对应的每个传输周期的四分之三周期的时刻,产生传输中断。
可选的,在本发明实施例提供的步进电机控制装置,获取模块401,具体用于包括:
获取细分参数,细分参数表示对步进电机进行细分控制的类型;根据细分参数获取与该细分参数对应的细分表,细分表中包括步进电机每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
可选的,在本发明实施例提供的步进电机控制装置,获取模块401,具体用于:
通过与步进电机每一相绕组分别对应的直接内存存取DMA控制器,获取步进电机每一相绕组对应的多个脉冲电流值。
可选的,在本发明实施例提供的步进电机控制装置,输出模块402,具体用于:
分别针对每一相绕组,按预设频率,使该相绕组对应的DMA控制器将该相绕组对应的多个脉冲电流值逐个传输至数字模拟转换器DAC;通过DAC将该相绕组对应的多个脉冲电流值转化为连续的模拟信号,并将模拟信号传输至驱动芯片,以使驱动芯片根据模拟信号向该相绕组输出连续的电流。
可选的,在本发明实施例提供的步进电机控制装置,输出模块402,具体用于:
分别针对每一相绕组,按预设频率,使该相绕组对应的DMA控制器将该相绕组对应的多个脉冲电流值逐个传输至脉冲宽度调制PWM控制器;在PWM控制器的输出端叠加积分电路,通过积分电路将PWM控制器输出的与该相绕组对应的多个脉冲电流值对应的方波信号转化为连续的模拟信号;将模拟信号传输至驱动芯片,以使驱动芯片根据模拟信号向该相绕组输出连续的电流。
可选的,在本发明实施例提供的步进电机控制装置,中断模块403,具体用于:
针对每一相绕组,使该相绕组对应DMA控制器在该相绕组对应的传输周期内的预设传输时间点产生传输中断,在DMA控制器产生传输中断时,使向驱动芯片发出换向指令。
可选的,在本发明实施例提供的步进电机控制装置,该装置还包括:
调速模块,调速模块用于获取步进电机的目标转速;通过步进电机转速与脉冲电流的脉冲频率之间的数学关系,利用目标转速,计算出达到目标转速所需的目标脉冲频率;将目标脉冲频率作为预设频率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种步进电机控制方法,其特征在于,包括:
分别获取步进电机每一相绕组对应的多个脉冲电流值;
分别针对每一相绕组,按预设频率,将该相绕组对应的多个脉冲电流值逐个传输至所述步进电机的驱动芯片,所述驱动芯片根据脉冲电流值向该相绕组输出脉冲电流,其中,完成一次该相绕组对应的多个脉冲电流值传输的时间周期,为该相绕组对应传输周期;
针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断;
当产生所述传输中断时,触发换向指令,并向所述驱动芯片发送所述换向指令,所述驱动芯片根据所述换向指令对所输出的脉冲电流进行换向,所述传输中断后脉冲电流的方向与所述传输中断前的脉冲电流的方向相反。
2.根据权利要求1所述的方法,其特征在于,所述每一相绕组对应的多个脉冲电流值包括:每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
3.根据权利要求2所述的方法,其特征在于,当所述步进电机为两相步进电机时,所述针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,包括:
针对A相绕组,在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
针对B相绕组,在所述B相绕组对应的每个传输周期的中间时刻,产生传输中断;
或者,针对所述A相绕组,在所述A相绕组对应的每个传输周期的中间时刻,产生传输中断;
针对所述B相绕组,在所述B相绕组对应的每个传输周期的结束时刻,产生传输中断。
4.根据权利要求2所述的方法,其特征在于,当所述步进电机为四相步进电机时,所述针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,包括:
针对A相绕组,在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
针对B相绕组,在所述B相绕组对应的每个传输周期的四分之一周期的时刻,产生传输中断;
针对C相绕组,在所述C相绕组对应的每个传输周期的中间时刻,产生传输中断;
针对D相绕组,在所述D相绕组对应的每个传输周期的四分之三周期的时刻,产生传输中断。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述分别获取步进电机每一相绕组对应的多个脉冲电流值,包括:
通过与所述步进电机每一相绕组分别对应的直接内存存取DMA控制器,获取所述步进电机每一相绕组对应的多个脉冲电流值。
6.根据权利要求5所述的方法,其特征在于,所述针对每一相绕组,在该相绕组对应的传输周期内的预设传输时间点产生传输中断,包括:
所述针对每一相绕组,该相绕组对应DMA控制器在该相绕组对应的传输周期内的预设传输时间点产生传输中断。
7.一种步进电机控制设备,其特征在于,包括:
控制芯片,所述控制芯片上具有预设数量的直接内存存取DMA控制器;
驱动芯片,所述驱动芯片分别与,所述控制芯片和步进电机连接;
针对步进电机的每一相绕组,该相绕组对应的DMA控制器获取该相绕组对应的多个脉冲电流值;并按预设频率,将该相绕组对应的多个脉冲电流值逐个传输至所述驱动芯片,所述驱动芯片根据脉冲电流值向该相绕组输出脉冲电流,其中,完成一次该相绕组对应的多个脉冲电流值传输的时间周期,为该相绕组对应传输周期;
针对每一相绕组,该相绕组对应DMA控制器在该相绕组对应的传输周期内的预设传输时间点产生传输中断,在所述DMA控制器产生所述传输中断时,所述控制芯片触发换向指令,并向所述驱动芯片发出所述换向指令,所述驱动芯片根据所述换向指令对所输出的脉冲电流进行换向,使所述传输中断后脉冲电流的方向与所述传输中断前的脉冲电流的方向相反。
8.根据权利要求7所述的步进电机控制设备,其特征在于,所述步进电机控制设备中,所述每一相绕组对应的多个脉冲电流值包括:每一相绕组对应的控制电流半个周期内的多个脉冲电流值。
9.根据权利要求8所述的步进电机控制设备,其特征在于,当所述步进电机为两相步进电机时,所述控制芯片上至少包括A相绕组对应的第一DMA控制器和B相绕组对应的第二DMA控制器;
所述第一DMA控制器在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的中间时刻,产生传输中断;
或者,所述第一DMA控制器在所述A相绕组对应的每个传输周期的中间时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的结束时刻,产生传输中断。
10.根据权利要求8所述的步进电机控制设备,其特征在于,当所述步进电机为四相步进电机时,所述控制芯片上至少包括A相绕组对应的第一DMA控制器,B相绕组对应的第二DMA控制器,C相绕组对应的第三DMA控制器和D相绕组对应的第四DMA控制器;
所述第一DMA控制器在所述A相绕组对应的每个传输周期的结束时刻,产生传输中断;
所述第二DMA控制器在所述B相绕组对应的每个传输周期的四分之一周期的时刻,产生传输中断;
所述第三DMA控制器在所述C相绕组对应的每个传输周期的中间时刻,产生传输中断;
所述第四DMA控制器在所述D相绕组对应的每个传输周期的四分之三周期的时刻,产生传输中断。
11.根据权利要求7所述的步进电机控制设备,其特征在于,所述控制芯片还包括:所述预设数量的模拟转换器DAC和/或脉冲宽度调制PWM控制器;
每一个所述模拟转换器DAC和/或所述PWM控制器,分别与对应的一个DMA控制器连接,并且分别与所述步进电机的驱动芯片连接;
积分电路,所述积分电路与所述PWM控制器连接。
12.根据权利要求7至11中任一项所述的步进电机控制设备,其特征在于,所述控制芯片还包括:一个或多个定时器;
所述定时器与DMA控制器连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810385511.8A CN110417311B (zh) | 2018-04-26 | 2018-04-26 | 一种步进电机控制方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810385511.8A CN110417311B (zh) | 2018-04-26 | 2018-04-26 | 一种步进电机控制方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417311A CN110417311A (zh) | 2019-11-05 |
CN110417311B true CN110417311B (zh) | 2021-03-26 |
Family
ID=68345703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810385511.8A Active CN110417311B (zh) | 2018-04-26 | 2018-04-26 | 一种步进电机控制方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417311B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737436B (zh) * | 2020-12-11 | 2023-07-14 | 深圳市越疆科技有限公司 | 一种基于dma的步进电机脉冲输出控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0044290A2 (de) * | 1980-07-10 | 1982-01-20 | Friedmann & Maier Aktiengesellschaft | Schaltungsanordnung zum Beeinflussen der Stromwendung bei Schrittmotoren |
CN101391396A (zh) * | 2008-10-27 | 2009-03-25 | 宁夏中卫大河机床有限责任公司 | 数控珩磨机往复行程控制装置 |
CN201398168Y (zh) * | 2009-05-07 | 2010-02-03 | 福建实达电脑设备有限公司 | 一种步进电机的控制电路 |
CN102888819A (zh) * | 2011-07-18 | 2013-01-23 | 北京博宇通达科技有限公司 | 数字高速栏杆 |
CN203326615U (zh) * | 2013-07-11 | 2013-12-04 | 哈尔滨理工大学 | 双单片机飞轮储能系统控制器 |
CN105204394A (zh) * | 2015-08-26 | 2015-12-30 | 电子科技大学 | 一种六自由度咀嚼机器人的控制系统 |
CN205901649U (zh) * | 2016-08-23 | 2017-01-18 | 大庆石化工程有限公司 | 一种基于单片机的步进电机控制驱动器 |
CN110225235A (zh) * | 2018-03-01 | 2019-09-10 | 浙江宇视科技有限公司 | 变倍跟随方法及电动镜头 |
-
2018
- 2018-04-26 CN CN201810385511.8A patent/CN110417311B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0044290A2 (de) * | 1980-07-10 | 1982-01-20 | Friedmann & Maier Aktiengesellschaft | Schaltungsanordnung zum Beeinflussen der Stromwendung bei Schrittmotoren |
CN101391396A (zh) * | 2008-10-27 | 2009-03-25 | 宁夏中卫大河机床有限责任公司 | 数控珩磨机往复行程控制装置 |
CN201398168Y (zh) * | 2009-05-07 | 2010-02-03 | 福建实达电脑设备有限公司 | 一种步进电机的控制电路 |
CN102888819A (zh) * | 2011-07-18 | 2013-01-23 | 北京博宇通达科技有限公司 | 数字高速栏杆 |
CN203326615U (zh) * | 2013-07-11 | 2013-12-04 | 哈尔滨理工大学 | 双单片机飞轮储能系统控制器 |
CN105204394A (zh) * | 2015-08-26 | 2015-12-30 | 电子科技大学 | 一种六自由度咀嚼机器人的控制系统 |
CN205901649U (zh) * | 2016-08-23 | 2017-01-18 | 大庆石化工程有限公司 | 一种基于单片机的步进电机控制驱动器 |
CN110225235A (zh) * | 2018-03-01 | 2019-09-10 | 浙江宇视科技有限公司 | 变倍跟随方法及电动镜头 |
Also Published As
Publication number | Publication date |
---|---|
CN110417311A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4617675A (en) | Digital PWMed pulse generator | |
CN101174811B (zh) | 一种采用空间矢量脉冲宽度调制的电机控制方法和装置 | |
US5872435A (en) | Electrical drive arrangement | |
EP0180083B1 (en) | Control systems for variable reluctance electrical machines | |
CN105610363B (zh) | 在六步模式中用于控制电机的方法和设备 | |
EP0073503A1 (en) | Control system for synchronous brushless motors | |
US9531317B2 (en) | Power conversion apparatus, power conversion method, and motor system | |
JPH03505662A (ja) | 単極性の直流モータのマイクロステツピング | |
CN110417311B (zh) | 一种步进电机控制方法及设备 | |
CN212433614U (zh) | 一种基于fpga的多轴电机流水线控制系统 | |
Hasen et al. | Design implementation and testing of a three phase BLDC motor controller | |
CN112271967B (zh) | 一种调整步进电机过零点电流波形的方法及装置 | |
JP2013172573A (ja) | モータ制御装置 | |
JP3649329B2 (ja) | ステッピングモータの駆動装置 | |
US10284129B2 (en) | Three-phase variable reference pulse width modulation | |
CN113809962B (zh) | 一种步进电机驱动系统及电机系统 | |
RU2580823C2 (ru) | Следящий электропривод с асинхронным исполнительным двигателем | |
CN116582032B (zh) | 具有超前角的换相控制电路、电机系统及换相控制方法 | |
CN102497159A (zh) | 适用于振动时效的交流变频控制方法 | |
JP4285161B2 (ja) | 同期型acモータのトルクリップル補正方法および装置 | |
JP3288822B2 (ja) | ブラシレスモータの制御方式 | |
Reshi et al. | A Novel Logical Band Approach for BLDC Motor Speed Control | |
EP2802067A1 (en) | Lookup table assisted pulse width modulation | |
Chin et al. | A stepper motor controller | |
CN115940709A (zh) | 一种两相混合式步进电机细分驱动控制系统及控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Hikvision Robot Co.,Ltd. Address before: No.555, Qianmo Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |