CN111030525B - 电机失步补偿方法及装置 - Google Patents
电机失步补偿方法及装置 Download PDFInfo
- Publication number
- CN111030525B CN111030525B CN201911280667.0A CN201911280667A CN111030525B CN 111030525 B CN111030525 B CN 111030525B CN 201911280667 A CN201911280667 A CN 201911280667A CN 111030525 B CN111030525 B CN 111030525B
- Authority
- CN
- China
- Prior art keywords
- motor
- output level
- target
- coordinate
- compensation
- 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 45
- 230000003287 optical effect Effects 0.000 claims abstract description 93
- 230000033001 locomotion Effects 0.000 claims abstract description 81
- 230000008878 coupling Effects 0.000 claims abstract description 65
- 238000010168 coupling process Methods 0.000 claims abstract description 65
- 238000005859 coupling reaction Methods 0.000 claims abstract description 65
- 238000011084 recovery Methods 0.000 claims abstract description 19
- 230000007704 transition Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect 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/36—Protection against faults, e.g. against overheating or step-out; Indicating faults
- H02P8/38—Protection against faults, e.g. against overheating or step-out; Indicating faults the fault being step-out
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Studio Devices (AREA)
Abstract
本发明提供了一种电机失步补偿方法及装置,该方法包括:响应于输入的电机失步恢复指令开启光耦电路,以获取光耦电路的目标输出电平;基于所述目标输出电平与预设光耦输出电平的关系确定所述目标输出电平发生跳变时对应的电机物理位置的预估坐标;基于所述电机物理位置的预估坐标确定电机的目标补偿值,以基于所述目标补偿值对电机的运动步数进行补偿。本发明解决了由于电机失步而导致镜头失焦、画面成像模糊的问题。
Description
技术领域
本发明涉及电机驱动领域,尤其涉及一种电机失步补偿方法及装置。
背景技术
电机是将电脉冲信号转变为角位移或线位移的开环控制电机,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,以达到调速的目的。
电机在正常工作中会由于力矩不足或相位缺失或机械故障等原因造成电机失步,即电机实际位置与逻辑位置不吻合,从而导致镜头失焦、画面成像模糊。
有鉴于此,有必要对现有技术中的电机驱动方案予以改进,以解决上述技术问题。
发明内容
本发明的目的是在于提供一种电机失步补偿方法及装置,以解决由于电机失步而导致镜头失焦、画面成像模糊的问题。
为实现上述目的,本发明是这样实现的:
第一方面,提供了一种电机失步补偿方法,其包括:
响应于输入的电机失步恢复指令开启光耦电路,以获取光耦电路的目标输出电平;
基于所述目标输出电平与预设光耦输出电平的关系确定所述目标输出电平跳变时对应的电机补偿坐标;
基于所述电机补偿坐标确定电机的目标补偿值,以基于所述目标补偿值对电机的运动步数进行补偿。
第二方面,提供了一种电机失步恢复装置,其包括:
坐标控制单元,用于响应于输入的电机失步恢复指令开启光耦电路,以获取光耦电路的目标输出电平,并基于所述目标输出电平与预设光耦输出电平的关系确定所述目标输出电平跳变时对应的电机补偿坐标;
补偿单元,用于基于所述电机补偿坐标确定电机的目标补偿值,以基于所述目标补偿值对电机的运动步数进行补偿。
第三方面,本发明还提供一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
本发明实施例的有益效果为:
由于本发明实施例的电机失步补偿方法在响应于输入的电机失步恢复指令后开启光耦电路并获取光耦电路的目标输出电平,然后根据目标输出电平与预设光耦输出电平的关系确定目标输出电平跳变时对应的电机补偿坐标,从而根据电机补偿坐标确定电机的目标补偿值,以基于目标补偿值对电机的运动步数进行补偿。如此,电机能够自动以补偿后的运动步数进行运动,以自动补偿由于力矩不足或相位缺失或机械故障等原因造成电机失步的问题,从而能够改善镜头失焦、画面成像模糊的缺陷,解决了由于电机失步而导致镜头失焦、画面成像模糊的问题。
附图说明
图1为本发明一个实施例的电机失步补偿方法的示意性流程图;
图2为本发明另一个实施例的电机失步补偿方法的示意性流程图;
图3为本发明再一个实施例的电机失步补偿方法的示意性流程图;
图4为本发明一个具体实施例的电机失步补偿方法的示意性流程图;
图5为本发明一个实施例的电机失步补偿装置的示意性结构框图;
图6为图5中坐标控制单元的示意性结构图;
图7为本发明另一个实施例的电机失步补偿装置的示意性结构框图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
以下结合附图,详细说明本发明各实施例提供的技术方案。
图1为本发明一个实施例的电机失步补偿方法的示意性流程图,解决由于电机失步而导致镜头失焦、画面成像模糊的问题。该方法包括:
步骤102.响应于输入的电机失步恢复指令开启光耦电路,以获取光耦电路的目标输出电平。电机失步恢复指令可根据用户的实际需求进行设置,比如,在每天固定的时间点(一般是白天)或固定的镜头操作次数(如50次或100次或200次或500次等)后使能一次。
步骤104.基于目标输出电平与预设光耦输出电平的关系确定目标输出电平跳变时对应的电机补偿坐标。
其中,如图2所示,基于目标输出电平与预设光耦输出电平的关系确定目标输出电平跳变时对应的电机补偿坐标的具体操作可包括:
步骤202.获取目标输出电平发生跳变时的电机逻辑坐标P1。
应理解,光耦电路集成在镜头的内部,当光耦电路打开时,电机驱动镜头内各群组由非遮光区移至遮光区,此时光耦输出电平会发生跳变(镜头内各群组在非遮光区或遮光区时对应的光耦输出电平不同),因此,目标输出电平发生跳变是指电机驱动镜头内各群组由非遮光区移至遮光区或由遮光区移至非遮光区时光耦电路的输出电平发生变化,从而能够根据目标输出电平的跳变点确定电机位置的定标点。
步骤204.获取电机当前运动速度v0。
需要说明的是,步骤202可在步骤204之前执行,也可在步骤204之后执行,又或者,步骤202和步骤204同时执行。
步骤206.基于电机当前运动速度v0与预设速度门限值v1的关系、以及电机逻辑坐标P1确定电机物理位置的预估坐标P。
具体地,基于电机逻辑坐标P1、电机当前运动速度v0与预设速度门限值v1的关系确定电机物理位置的预估坐标P,具体可以为:
在电机当前运动速度v0大于预设速度门限值v1时,将电机逻辑坐标P1与补偿量之和确定为电机物理位置的预估坐标;在电机当前运动速度v0不大于预设速度门限值v1时将电机逻辑坐标P1确定为电机物理位置的预估坐标。其中,ΔP1=(v0-v1)/k)*s,ΔP1为补偿量,v0表示电机当前运动速度,v1为预设速度门限值,k为补偿斜率,s为基础补偿步数。
其中,本发明实施例的电机物理位置的预估坐标P可通过公式(1)实现:
P=P1+((v0>v1)?((v0-v1)/k)*s:0) (1)
步骤106.基于电机物理位置的预估坐标确定电机的目标补偿值,以基于目标补偿值对电机的运动步数进行补偿。
如图3所示,基于电机物理位置的预估坐标确定电机的目标补偿值,包括:
步骤302.获取电机的物理坐标值P2。
步骤304.将电机的物理坐标值P2与电机物理位置的预估坐标P之间的差值确定为目标补偿值ΔP2,即ΔP2=P2-P。
即将根据本发明实施例的方法得到的目标补偿值ΔP2加入到电机之后的运动步数中,能够有效地对电机的运动步数进行补偿。
具体来说,由于本发明实施例的电机失步补偿方法在响应于输入的电机失步恢复指令后开启光耦电路并获取光耦电路的目标输出电平,然后根据目标输出电平与预设光耦输出电平的关系确定目标输出电平跳变时对应的电机物理位置的预估坐标,从而根据电机物理位置的预估坐标确定电机的目标补偿值,以基于目标补偿值对电机的运动步数进行补偿。如此,电机能够自动以补偿后的运动步数进行运动,以自动补偿由于力矩不足或相位缺失或机械故障等原因造成电机失步的问题,从而能够改善镜头失焦、画面成像模糊的缺陷,解决了由于电机失步而导致镜头失焦、画面成像模糊的问题。
在上述实施例中,基于目标补偿值对电机的运动步数进行补偿,包括:
若目标补偿值为正数,则以电机的物理坐标值增大方向对电机的运动步数进行补偿;若目标补偿值为负数,则以电机的物理坐标值减小方向对电机的运动步数进行补偿。
需要说明的是,如果定义坐标的范围为0~100,则所谓电机的物理坐标值增大方向可以解释为由0指向100的方向,反之,电机的物理坐标值减小方向则解释为由100指向0的方向。
如此,根据目标补偿值对电机的运动步数进行补偿后,能够在电机运动时由于力矩不足或相位缺失或机械故障等原因造成电机失步的问题,从而能够改善镜头失焦、画面成像模糊的缺陷,解决了由于电机失步而导致镜头失焦、画面成像模糊的问题。
在上述任一项实施例中,在基于目标补偿值对电机的运动步数进行补偿之后,还包括:
若检测到光耦电路的目标输出电平发生跳变,则确定是否更新目标补偿值。
其中,确定是否更新目标补偿值,具体可以为:
若目标差值大于更新前的目标补偿值,则将目标差值作为更新后的目标补偿值,目标差值为一次运动的最大步数(一次运动的时间是固定的,速度有个上限,由电机本身决定,从而得到一帧运动的最大步数)与电机的单次运动步数之间的差值;若目标差值小于或等于更新前的目标补偿值,则令目标补偿值保持不变。
应理解,由于电机失步问题,在启动频率范围内电机可随意加速或减速或停止或转向,因此需要在保证不超过启动频率范围的条件下加入对电机的运动步数进行补偿。由于用户通过在上位机端输入启动频率START_SPEED,因此在启动频率范围内,每一图像帧一次运动的最大步数Stepmax可参见如下公式:
Stepmax=(START_SPEED*8*FR)/1000。
其中,FR表示图像帧的帧率。光耦电路的目标输出电平跳变后,若电机的单次运动步数STEPS加上补偿的步数(也即更新后的目标补偿值Pcompensate),此时,更新后的目标补偿值Pcompensate取更新前的目标补偿值与(Stepmax-STEPS)中的较大值。补偿后,将更新后的目标补偿值Pcompensate减去已补偿步数,以进行下一帧补偿,直至更新后的目标补偿值Pcompensate为0。若在之后的电机的单次运动步数STEPS运动中减去补偿的步数(也即更新后的目标补偿值Pcompensate),此时,更新后的目标补偿值Pcompensate取更新前的目标补偿值与电机的单次运动步数STEPS中的较大值,重复此过程,直至Pcompensate为0。
还有种简单的理解,经过光耦,实际位置为电机的物理坐标值P2,目标位置为电机的物理位置的预估坐标P,补偿量即为目标位置P减去P2,可能有正有负,可将补偿量理解为绝对值。如果补偿量为正,就在正向运动中加入补偿量。如果补偿量为负,就在反向运动中进行补偿。工程上两种方法都可以实现,只是正负值的处理不一样。例如补偿量为负,在正向运动中减去补偿量,跟反向运动中加入补偿量是一样的。
在上述任一项实施例中,获取目标输出电平发生跳变时的电机逻辑坐标,包括:
基于预设光耦输出电平和目标输出电平的关系,控制电机向镜头目标方向运动,直至当前光耦输出电平发生跳变,以在目标输出电平发生跳变时将光耦位置对应的电机坐标确定为目标输出电平跳变时的电机逻辑坐标。其中,预设光耦输出电平为在系统初始化阶段输入的镜头遮光区对应的逻辑电平,具体地,用户可在上位机端输入镜头遮光区对应的逻辑电平。
由于根据目标输出电平与镜头遮光区对应的预设光耦输出电平的关系控制电机向镜头目标方向运动,直至当前光耦输出电平发生跳变,从而将目标输出电平发生跳变时光耦位置对应的电机坐标确定为电机的实际坐标。因此,根据目标输出电平的跳变点寻找电机的定标点能够确定电机的实际位置,从而能够解决电机在运动中由于无法确定电机的实际位置而导致电机运动失步的问题。
在上述一个实施例中,基于预设光耦输出电平和目标输出电平的关系,控制电机向镜头目标方向运动,包括:
若预设光耦输出电平与目标输出电平相同,则控制电机向镜头非遮光区方向运动;若预设光耦输出电平与目标输出电平相反,则控制电机向镜头遮光区方向运动。
应理解,系统上电后,无法确定电机的转动方向,也无法知道电机的实际位置,此时,可通过比较光耦电路的目标输出电平与预设光耦输出电平之间的关系确定电机的运动方向并确定电机的实际位置。
比如,若将预设光耦输出电平为高电平对应为镜头遮光区所对应的输出电平(假设电机在80~100区域为镜头遮光区),则在获取的目标光耦输出电平为高电平(与预设光耦输出电平相同,此时知道电机在80~100区域内)时,控制电机向0即非遮光区方向运动,以确定光耦输出电平的跳变点PI点,从而找出光耦位置以确定电机的实际位置(即目标坐标)。反之,在获取的当前光耦输出电平为低电平(与预设光耦输出电平相反,此时知道电机在0~80区域内)时,控制电机向100即遮光区方向运动,通过光耦输出电平查找到由低到高的跳变点PI点,以确定电机的实际位置,从而解决电机在运动中由于无法确定电机的实际位置而导致电机运动失步的问题。
在上述另一个实施例中,基于预设光耦输出电平和目标输出电平的关系,控制电机向镜头目标方向运动,包括:
若预设光耦输出电平与目标输出电平相同,则控制电机以第一速度向镜头W端方向大步运动直至当前光耦输出电平发生第一次跳变之后,控制电机以第二速度向镜头T端方向单步运动直至当前光耦输出电平发生第二次跳变;若预设光耦输出电平与目标输出电平相反,则控制电机以第一速度向镜头T端方向大步运动直至当前光耦输出电平发生第一次跳变之后,控制电机以第二速度向镜头W端方向单步运动直至当前光耦输出电平发生第二次跳变。
其中,大步运动过程所对应的填写参数为:帧率=25,延时=0,步进电机的运动步数=SPEED*8/25,其中,电机运动速度等于启动频率SPEED。单步运动所对应的填写参数为:电机的运动步数=1。
此时,在目标输出电平发生跳变时将光耦位置对应的电机坐标确定为电机实际坐标,具体为:将目标输出电平发生第二次跳变时光耦位置对应的电机坐标确定为电机实际坐标。
应理解,光耦电路集成在镜头的内部,当光耦电路打开时,电机驱动镜头内各群组由非遮光区移至遮光区,此时光耦输出电平会发生跳变,从而根据光耦输出电平的跳变点确定电机位置的定标点。即通过光耦电路的目标输出电平查找到由低到高(或由高变低)的跳变点,以确定电机的实际位置,从而解决电机在运动中由于无法确定电机的实际位置而导致电机运动失步的问题。在用户使用过程中,自动实现失步恢复而无需再一次进行自检操作。
在本发明一个具体的实施例中,如图4所示,电机失步补偿方法的具体实现过程为:
步骤401:由上层主控程序通过输入至寄存器CTR的电机失步恢复指令,开启一次失步恢复操作。一般可定时开启一次失步恢复操作,也可在镜头进行多次变焦之后开启。
步骤402:打开光耦电路,以获取光耦电路的目标输出电平,从而在步骤403中根据目标输出电平与预设光耦输出电平之间的关系确定目标输出电平是否发生跳变。其中,根据目标输出电平与预设光耦输出电平之间的关系确定目标输出电平是否发生跳变的方案可参见上述任一项实施例所述的电机失步补偿方法中所涉及到的关于确定目标输出电平是否发生跳变的方案,在此不做详细赘述。若检测到目标输出电平未发生跳变,则回到步骤401中重新开启一次失步恢复操作,反之,则进入步骤404中。
步骤404:在目标输出电平发生跳变时关闭光耦电路,此时,在步骤405中根据电机当前运动速度计算电机补偿坐标P,以根据电机补偿坐标P计算目标补偿值。其中,电机补偿坐标P可通过公式(1)实现,电机补偿坐标P和目标补偿值的具体实现过程可参见上述任一项实施例所述的电机失步补偿方法中的实现原理,在此不做详细赘述。
步骤406:确定目标补偿值为正数或是负数,以根据目标补偿值确定对电机运动步数进行补偿的方向。
步骤407:在确定目标补偿值后,则根据目标补偿值以正向补偿方向(即电机的逻辑坐标值增大的方向)或负向补偿方向(即以电机的逻辑坐标值减小的方向)对电机的运动步数进行补偿。
如此,电机以补偿后的运动步数进行运动,能够补偿由于力矩不足或相位缺失或机械故障等原因造成电机失步的问题,从而能够改善镜头失焦、画面成像模糊的缺陷,解决了由于电机失步而导致镜头失焦、画面成像模糊的问题。
本发明实施例还提供一种电机失步补偿装置200,如图5所示,该电机失步补偿装置200包括:坐标控制单元30,用于响应于输入的电机失步恢复指令开启光耦电路,以获取光耦电路的目标输出电平,并基于目标输出电平与预设光耦输出电平的关系确定目标输出电平发生跳变时对应的电机物理位置的预估坐标;微步控制单元20,用于基于电机物理位置的预估坐标确定电机的目标补偿值,以基于目标补偿值对电机的运动步数进行补偿。其中,电机失步补偿装置200可包括光耦电路控制单元40,用于响应于坐标控制单元30发送的电机失步恢复指令开启光耦电路。
如图6所示,坐标控制单元30中可包含有6个寄存器,该6个寄存器分别为遮光区对应的逻辑电平寄存器pisense(用于存储预设光耦输出电平)、光耦跳变时对应的电机逻辑坐标寄存器ledpos(用于存储光耦电路的目标输出电平发生跳变时的电机逻辑坐标)、当前通道坐标寄存器pos(用于存储电机的物理坐标)、失步触发的速度门限值寄存器speed(用于存储预设速度门限值v1)、补偿斜率寄存器slope(用于存储根据电机当前速度进行补偿的斜率)、基础补偿步数寄存器step(用于存储对电机运动步数进行补偿的基本步数)。其中,6个寄存器中所存储的值可由用户通过在上位机端输入存储至各个寄存器中。
需要说明的是,当前通道坐标寄存器pos中所存储的值在系统刚初始化时并没有实际意义,即无法通过当前通道坐标寄存器pos中所存储的值知道电机的实际位置,需要在自检操作得到光耦位置对应的电机逻辑坐标后,将光耦跳变时对应的电机逻辑坐标寄存器ledpos存储的值填入当前通道坐标寄存器pos中,从而使得当前通道的逻辑坐标与光耦跳变时的电机逻辑坐标相对应。
坐标控制单元30可控制光耦电路控制单元40通过LED信号(如图5中的LED1或LEDn信号)打开或关闭各个对应通道的光耦电路。即坐标控制单元30在接收到通过上位机端输入的电机失步恢复指令后可直接控制光耦电路开启,也可控制光耦电路控制单元40开启光耦电路。图5中光耦电路控制单元40的输入信号VSENS1(或VSENSn)与电机的驱动桥(图5中未示出)相连,由于在本发明实施例中不着重介绍电机的驱动桥,因此在此对电机的驱动桥部分不做详细赘述。
其中,光耦是以光为媒介来传输电信号的器件,集成在镜头内部,通常把发光器(红外线发光二极管LED)与受光器(光敏半导体管,光敏电阻)封装在同一管壳内。当输入端加电信号时发光器发出光线,受光器接受光线之后就产生光电流,从输出端流出,称为光耦导通,同理受光器接收不到光线时,无法产生光电流,与光耦导通相比,两者输出的电平不同,由此通过输出电平的不同判断受光器是否被遮挡。而光耦电路集成在镜头的内部,当光耦电路打开时,电机驱动镜头内各群组由非遮光区移至遮光区,此时光耦输出电平会发生跳变(镜头内各群组在非遮光区或遮光区时对应的光耦输出电平不同),因此,电机驱动镜头内各群组由非遮光区移至遮光区或由遮光区移至非遮光区时光耦电路的输出电平发生变化(目标输出电平发生跳变),根据光耦电路的输出电平的跳变点确定电机位置的定标点(即光耦电路的目标输出电平发生跳变时的电机逻辑坐标),从而基于光耦电路的目标输出电平发生跳变时的电机逻辑坐标(以及后文中所涉及的电机当前运动速度v0与预设速度门限值v1的关系)确定电机物理位置的预估坐标。
由于本发明实施例的电机失步补偿装置200通过坐标控制单元30响应于输入的电机失步恢复指令开启光耦电路,以获取光耦电路的目标输出电平,并基于目标输出电平与预设光耦输出电平的关系确定目标输出电平发生跳变时对应的电机物理位置的预估坐标,然后通过微步控制单元20根据电机物理位置的预估坐标确定电机的目标补偿值,从而根据目标补偿值对电机的运动步数进行补偿。如此,电机以补偿后的运动步数进行运动能够补偿由于力矩不足或相位缺失或机械故障灯原因造成电机失步的问题,从而改善镜头失焦、画面成像模糊的缺陷。
在上述实施例中,微步控制单元20用于获取电机当前运动速度v0;坐标控制单元30用于获取目标输出电平发生跳变时的电机逻辑坐标P1,并根据电机当前运动速度v0与预设速度门限值v1的关系以及电机逻辑坐标P1确定电机物理位置的预估坐标P。其中,坐标控制单元30还用于在电机当前运动速度v0大于预设速度门限值v1时,将电机逻辑坐标P1与补偿量ΔP之和确定为电机物理位置的预估坐标P;在电机当前运动速度v0不大于预设速度门限值v1时,将电机逻辑坐标P1确定为电机物理位置的预估坐标P。其中,ΔP=(v0-v1)/k)*s,ΔP为补偿量,v0表示电机当前运动速度,v1为预设速度门限值,k为补偿斜率,s为基础补偿步数。坐标控制单元30还用于获取电机的物理坐标值P2,微步控制单元20则用于将电机的物理坐标值P2与电机物理位置的预估坐标P之间的差值确定为目标补偿值ΔP2,即ΔP2=P2-P。
如此,本发明实施例的电机补偿装置200将得到的目标补偿值ΔP2加入到电机之后的运动步数中,能够有效地对电机的运动步数进行补偿,以改善甚至避免电机失步的问题。
在上述进一步的实施例中,微步控制单元20用于若目标补偿值为正数,则以电机的物理坐标值增大方向对电机的运动步数进行补偿;若目标补偿值为负数,则以电机的物理坐标值减小方向对电机的运动步数进行补偿。微步控制单元20还用于若检测到光耦电路的目标输出电平发生跳变,则确定是否更新目标补偿值。具体地,微步控制单元20用于若目标差值大于更新前的目标补偿值,则将目标差值作为更新后的目标补偿值,目标差值为一次运动的最大步数与电机的单次运动步数之间的差值;若目标差值小于或等于更新前的目标补偿值,则令目标补偿值保持不变。
应理解,由于电机失步问题,在启动频率范围内电机可随意加速或减速或停止或转向,因此需要在保证不超过启动频率范围的条件下加入对电机的运动步数进行补偿。由于用户通过在上位机端输入启动频率START_SPEED,因此在启动频率范围内,每一图像帧一次运动的最大步数Stepmax可参见如下公式:
Stepmax=(START_SPEED*8*FR)/1000。
其中,FR表示图像帧的帧率。光耦电路的目标输出电平跳变后,若电机的单次运动步数STEPS加上补偿的步数(也即更新后的目标补偿值Pcompensate),此时,更新后的目标补偿值Pcompensate取更新前的目标补偿值与(Stepmax-STEPS)中的较大值。补偿后,将更新后的目标补偿值Pcompensate减去已补偿步数,以进行下一帧补偿,直至更新后的目标补偿值Pcompensate为0。若在之后的电机的单次运动步数STEPS运动中减去补偿的步数(也即更新后的目标补偿值Pcompensate),此时,更新后的目标补偿值Pcompensate取更新前的目标补偿值与电机的单次运动步数STEPS中的较大值,重复此过程,直至Pcompensate为0。
在上述任一项实施例中,微步控制单元20用于基于预设光耦输出电平和目标输出电平的关系,控制电机向镜头目标方向运动,直至当前光耦输出电平发生跳变,以将目标输出电平发生跳变时的电机坐标确定为电机逻辑坐标。
通过微步控制单元20根据目标输出电平与镜头遮光区对应的预设光耦输出电平的关系控制电机向镜头目标方向运动,直至当前光耦输出电平发生跳变,从而通过坐标控制单元30将目标输出电平发生跳变时光耦位置对应的电机坐标确定为电机的实际坐标。因此,根据目标输出电平的跳变点寻找电机的定标点能够确定电机的实际位置,从而能够解决电机在运动中由于无法确定电机的实际位置而导致电机运动失步的问题。
此外,在一个实施例中,微步控制单元20用于:若预设光耦输出电平与目标输出电平相同,则控制电机向镜头非遮光区方向运动;若预设光耦输出电平与目标输出电平相反,则控制电机向镜头遮光区方向运动。
在另一个实施例中,微步控制单元20用于:若预设光耦输出电平与目标输出电平相同,则控制电机以第一速度向镜头W端方向大步运动直至当前光耦输出电平发生第一次跳变之后,控制电机以第二速度向镜头T端方向单步运动直至当前光耦输出电平发生第二次跳变;若预设光耦输出电平与目标输出电平相反,则控制电机以第一速度向镜头T端方向大步运动直至当前光耦输出电平发生第一次跳变之后,控制电机以第二速度向镜头W端方向单步运动直至当前光耦输出电平发生第二次跳变。坐标控制单元30将目标输出电平发生第二次跳变时的电机坐标确定为电机逻辑坐标。
其中,大步运动过程所对应的填写参数为:帧率=25,延时=0,步进电机的运动步数=SPEED*8/25,其中,电机运动速度等于启动频率SPEED。单步运动所对应的填写参数为:电机的运动步数=1。
由于光耦电路集成在镜头的内部,当光耦电路打开时,电机驱动镜头内各群组由非遮光区移至遮光区,此时光耦输出电平会发生跳变,从而根据光耦输出电平的跳变点确定电机位置的定标点。因此,通过光耦电路的目标输出电平查找到由低到高(或由高变低)的跳变点,以确定电机的实际位置,能够解决电机在运动中由于无法确定电机的实际位置而导致电机运动失步的问题。
如图5所示,电机失步补偿装置200还可包括逻辑控制单元10。第一方面,逻辑控制单元10向主控单元100提供硬件SPI总线操作接口,由此,主控单元100发出的CS信号通过逻辑控制单元10访问微步控制单元20和坐标控制单元30中的寄存器;第二方面,逻辑控制单元10将主控单元100提供的时钟信号(可经由一倍频单元,图5中未示出)发送给微步控制单元20和坐标控制单元30,时钟信号的最高频率可高达400MHZ,每个时钟信号的上升沿沿着微步控制单元20和坐标控制单元30执行一次操作,相当于微步控制单元20和坐标控制单元30的心跳。第三方面,接收主控单元100输出的VD、PLS、SCK、SDATA同步信号,以控制微步控制单元20和坐标控制单元30等单元工作。
应理解,主控单元100发出同步信号后,通过SPI总线将电机运动参数写入微步控制单元20,并拉高VD控制线,主控单元100响应于用户输入的VD延时时间,通过逻辑控制单元10向微步控制单元20发出开始运动指令,微步控制单元20基于其寄存器中所存储的参数进行单次新的运动。主控单元100会通过逻辑控制单元10监控微步控制单元20的运动状态,当驱动电机运动时会拉高PLS信号,当驱动电机停止运动时会拉低PLS信号,由此,主控单元100通过PLS信号可得到电机当前是否处于运动中。
需要说明的是,在图5的实施例中,主控单元100和电机失步补偿装置200为两个互相独立的单元进行相互通信。在另外一个实施例中,如图7所示,主控单元100可以作为电机失步补偿装置200中的一部分进行通信。当然,电机失步补偿装置200也可以作为主控单元100的一部分,只要能够实现对电机失步的问题进行补偿即可,不限于本发明实施例所限定的保护范围。
其中,主控单元100和电机失步补偿装置200可以为不限于物理机、虚拟机、云主机或者移动计算装置。
优选地,本发明实施例还提供一种终端设备,其可包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述图1-4所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。上述处理器可为ASIC、FPGA、CPU、MCU或者其他具有指令处理功能的物理硬件或者虚拟设备;上述存储器选自RAM、DRAM、FeRAM、NVDIMM、SSD、RAID0~7或者数据中心。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述图1-4所示的方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (8)
1.一种电机失步补偿方法,其特征在于,所述方法包括:
响应于输入的电机失步恢复指令开启光耦电路,以获取光耦电路的目标输出电平;
基于所述目标输出电平与预设光耦输出电平的关系确定所述目标输出电平跳变时对应的电机物理位置的预估坐标;
基于所述电机物理位置的预估坐标确定电机的目标补偿值,以基于所述目标补偿值对电机的运动步数进行补偿;
其中,基于目标输出电平与预设光耦输出电平的关系确定目标输出电平跳变时对应的电机物理位置的预估坐标,包括:
获取所述目标输出电平发生跳变时的电机逻辑坐标;
获取电机当前运动速度;
基于所述电机当前运动速度与预设速度门限值的关系、以及所述目标输出电平跳变时的电机逻辑坐标确定所述电机物理位置的预估坐标,具体为:
在所述电机当前运动速度大于所述预设速度门限值时,将目标输出电平跳变时的电机逻辑坐标与补偿量之和确定为电机物理位置的预估坐标;
在所述电机当前运动速度不大于所述预设速度门限值时,将所述目标输出电平跳变时的电机逻辑坐标确定为所述电机物理位置的预估坐标,ΔP=(v0-v1)/k)*s,ΔP为所述补偿量,v0表示电机当前运动速度,v1为预设速度门限值,k为补偿斜率,s为基础补偿步数。
2.根据权利要求1所述的方法,其特征在于,基于所述电机物理位置的预估坐标确定电机的目标补偿值,包括:
获取电机的物理坐标值;
将所述电机的物理坐标值与所述电机物理位置的预估坐标之间的差值确定为所述目标补偿值。
3.根据权利要求1所述的方法,其特征在于,基于所述目标补偿值对电机的运动步数进行补偿,包括:
若所述目标补偿值为正数,则以电机的物理坐标值增大方向对所述电机的运动步数进行补偿;
若所述目标补偿值为负数,则以电机的物理坐标值减小方向对所述电机的运动步数进行补偿。
4.根据权利要求1-3任一项所述的方法,其特征在于,在基于所述目标补偿值对电机的运动步数进行补偿之后,还包括:
若检测到光耦电路的目标输出电平发生跳变,则确定是否更新所述目标补偿值;
其中,确定是否更新所述目标补偿值,具体为:
若目标差值大于更新前的目标补偿值,则将所述目标差值作为更新后的目标补偿值,所述目标差值为一次运动的最大步数与电机的单次运动步数之间的差值;
若所述目标差值小于或等于更新前的目标补偿值,则令所述目标补偿值保持不变。
5.根据权利要求4所述的方法,其特征在于,获取所述目标输出电平发生跳变时的电机逻辑坐标,包括:
基于所述预设光耦输出电平和所述目标输出电平的关系,控制所述电机向镜头目标方向运动,直至所述当前光耦输出电平发生跳变,以将所述目标输出电平发生跳变时的电机坐标确定为所述电机逻辑坐标。
6.根据权利要求5所述的方法,其特征在于,基于所述预设光耦输出电平和所述目标输出电平的关系,控制所述电机向镜头目标方向运动,包括:
若所述预设光耦输出电平与所述目标输出电平相同,则控制所述电机向镜头非遮光区方向运动;
若所述预设光耦输出电平与所述目标输出电平相反,则控制所述电机向镜头遮光区方向运动。
7.根据权利要求6所述的方法,其特征在于,基于所述预设光耦输出电平和所述目标输出电平的关系,控制所述电机向镜头目标方向运动,包括:
若所述预设光耦输出电平与所述目标输出电平相同,则控制所述电机以第一速度向镜头W端方向大步运动直至所述当前光耦输出电平发生第一次跳变之后,控制所述电机以第二速度向镜头T端方向单步运动直至所述当前光耦输出电平发生第二次跳变;
若所述预设光耦输出电平与所述目标输出电平相反,则控制所述电机以第一速度向镜头T端方向大步运动直至所述当前光耦输出电平发生第一次跳变之后,控制所述电机以第二速度向镜头W端方向单步运动直至所述当前光耦输出电平发生第二次跳变。
8.一种电机失步补偿装置,其特征在于,包括:
坐标控制单元,用于响应于输入的电机失步恢复指令开启光耦电路,以获取光耦电路的目标输出电平,并基于所述目标输出电平与预设光耦输出电平的关系确定所述目标输出电平发生跳变时的电机物理位置的预估坐标;
微步控制单元,用于基于所述电机物理位置的预估坐标确定电机的目标补偿值,以基于所述目标补偿值对电机的运动步数进行补偿;
所述微步控制单元还用于获取电机当前运动速度v0;
所述坐标控制单元还用于获取目标输出电平发生跳变时的电机逻辑坐标P1,并根据电机当前运动速度v0与预设速度门限值v1的关系以及电机逻辑坐标P1确定电机物理位置的预估坐标P,以在电机当前运动速度v0大于预设速度门限值v1时,将电机逻辑坐标P1与补偿量ΔP之和确定为电机物理位置的预估坐标P,在电机当前运动速度v0不大于预设速度门限值v1时,将电机逻辑坐标P1确定为电机物理位置的预估坐标P;
其中,ΔP=(v0-v1)/k)*s,k为补偿斜率,s为基础补偿步数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911280667.0A CN111030525B (zh) | 2019-12-13 | 2019-12-13 | 电机失步补偿方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911280667.0A CN111030525B (zh) | 2019-12-13 | 2019-12-13 | 电机失步补偿方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111030525A CN111030525A (zh) | 2020-04-17 |
CN111030525B true CN111030525B (zh) | 2021-09-24 |
Family
ID=70208950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911280667.0A Active CN111030525B (zh) | 2019-12-13 | 2019-12-13 | 电机失步补偿方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111030525B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111654677B (zh) * | 2020-06-17 | 2021-12-17 | 浙江大华技术股份有限公司 | 确定云台失步的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701367A (zh) * | 2013-07-11 | 2014-04-02 | 北京航空航天大学 | 一种无传感器无刷直流电机的软起动控制装置 |
CN104579056A (zh) * | 2014-12-19 | 2015-04-29 | 永州市亿达自动化机械有限公司 | 一种补偿步进电机位置误差的方法 |
JP2017038492A (ja) * | 2015-08-12 | 2017-02-16 | 株式会社メレック | ステッピングモータの脱調判定装置及び脱調判定方法 |
CN106571758A (zh) * | 2016-11-03 | 2017-04-19 | 深圳开立生物医疗科技股份有限公司 | 步进电机失步补偿方法及装置 |
CN107105132A (zh) * | 2017-03-23 | 2017-08-29 | 浙江大华技术股份有限公司 | 一种调整变焦摄像机精度的方法及装置 |
CN108923706A (zh) * | 2018-06-20 | 2018-11-30 | 广西师范大学 | 一种基于嵌入式处理器的多路步进电机控制方法与系统 |
-
2019
- 2019-12-13 CN CN201911280667.0A patent/CN111030525B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701367A (zh) * | 2013-07-11 | 2014-04-02 | 北京航空航天大学 | 一种无传感器无刷直流电机的软起动控制装置 |
CN104579056A (zh) * | 2014-12-19 | 2015-04-29 | 永州市亿达自动化机械有限公司 | 一种补偿步进电机位置误差的方法 |
JP2017038492A (ja) * | 2015-08-12 | 2017-02-16 | 株式会社メレック | ステッピングモータの脱調判定装置及び脱調判定方法 |
CN106571758A (zh) * | 2016-11-03 | 2017-04-19 | 深圳开立生物医疗科技股份有限公司 | 步进电机失步补偿方法及装置 |
CN107105132A (zh) * | 2017-03-23 | 2017-08-29 | 浙江大华技术股份有限公司 | 一种调整变焦摄像机精度的方法及装置 |
CN108923706A (zh) * | 2018-06-20 | 2018-11-30 | 广西师范大学 | 一种基于嵌入式处理器的多路步进电机控制方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111030525A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3641301B1 (en) | Method and apparatus for inhibiting aec jump, and terminal device | |
CN111030525B (zh) | 电机失步补偿方法及装置 | |
ES2748571T3 (es) | Procedimiento de control y sistema que comprende un dispositivo de control y un aparato electrónico | |
WO2011007453A1 (ja) | 絞り制御回路、プロジェクター装置、絞り制御プログラム及び絞り制御方法 | |
CN109119012B (zh) | 开机启动方法与电路 | |
US11758270B2 (en) | Shake correction control device, imaging apparatus, shake correction method of imaging apparatus, and program | |
JP2018120399A (ja) | 制御装置、制御プログラムおよび制御システム | |
CN108665522B (zh) | 一种高帧频短延时动态场景仿真生成系统和方法 | |
US20220116543A1 (en) | Following shoot method, gimbal control method, photographing apparatus, handheld gimbal and photographing system | |
US8736213B2 (en) | Motor position controller | |
CN110943655B (zh) | 用于步进电机的自检方法及系统 | |
CN109696825B (zh) | 舵机的控制响应方法、装置及舵机 | |
KR20140088310A (ko) | 카메라 모듈 및 그 제어방법 | |
CN210927491U (zh) | 电机失步补偿电路 | |
CN211151858U (zh) | 步进电机的自检系统 | |
JP3566486B2 (ja) | レンズ装置およびこれを備えた光学機器 | |
CN111562840B (zh) | 可穿戴显示设备及其成像面的调整方法 | |
JP3289781B2 (ja) | 撮影装置 | |
CN113873157B (zh) | 拍摄方法、装置、电子设备和可读存储介质 | |
CN110943654B (zh) | 步进电机驱动芯片的驱动方法及系统 | |
US7986120B2 (en) | Pulse motor control device, control method, control program, and imaging apparatus | |
JP2009244877A (ja) | 光学機器 | |
WO2021068927A1 (zh) | 重载设备和基于重载设备的聚焦方法 | |
US9172884B2 (en) | Imaging apparatus | |
US8699869B2 (en) | Optical equipment |
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 |