用于平板扫描仪和自动进纸扫描仪的步进电机控制方法与流程

文档序号:12374308阅读:1258来源:国知局
用于平板扫描仪和自动进纸扫描仪的步进电机控制方法与流程

本发明涉及一种电机控制方法,具体是一种用于平板扫描仪和自动进纸扫描仪的步进电机控制方法。



背景技术:

目前,常用的扫描仪分为平板扫描仪和自动进纸扫描仪两种。平板扫描仪将待扫描文件固定放在透明扫描窗口中,由步进电机带动CIS传感器匀速地对待扫描文件进行扫描操作。自动进纸扫描仪在扫描过程中,CIS传感器固定不动,由步进电机带动走纸履带,使得待扫描文件匀速通过扫描窗口。为了使得扫描仪中步进电机以比较高的速度进行扫描,需要经过加速过程,加速到预定速度之后,进入匀速过程,才能进行扫描;同样扫描任务完成之后,步进电机需要进行减速过程,直至电机停止。若突然把步进电机由静止状态加速到很高速度,或由很高速度立即停止,则会损坏步进电机。因此,扫描仪中的步进电机一般需要经过加速-匀速-减速等基本的过程。

传统的控制装置,在步进电机进行模式转换的情况下(加速变为匀速,或者匀速变为减速)需要CPU进行重新配置,这导致了软件复杂度提高,实时性变差。

步进电机控制一般采用通用的PWM发生器。

① 电机的加速过程:首先将电机的加速表放入存储器中,CPU配置通用DMA和通用PWM,将加速表搬运到通用PWM的缓存中。通用PWM将缓存中的数据作为周期,输出占空比为50%的脉冲信号,用来驱动步进电机。

② 电机的匀速过程:加速过程完毕后,CPU重新配置通用PWM,通用PWM输出一定个数的脉冲信号(由于是匀速,这些脉冲信号的周期全都相同,占空比都为50%)。

③ 电机的减速过程:扫描结束之后,CPU配置通用DMA和通用PWM,将减速表搬运到通用PWM的缓存中。通用PWM将缓存中的数据作为周期,输出占空比为50%的脉冲信号,用来驱动步进电机,直至步进电机停止。

现有技术的缺陷:

① 步进电机改变运动状态时,需要CPU重新配置通用DMA和通用PWM,提高了软件复杂度,降低了系统的实时性。

② 自动进纸扫描仪,采用步进马达将待扫描文件送入扫描窗口,为了加速扫描间隙的走纸速度,可以在不扫描的时刻,让步进电机进行加速-匀速-减速以加速走纸。若采用原有技术实现这一操作,需要大量的CPU中断操作,严重影响系统的实时性。

③需要通用DMA来搬运加速表和减速表到电机控制装置中,消耗了额外的硬件资源。



技术实现要素:

为了解决现有技术中存在的上述技术问题,本发明提供了一种用于平板扫描仪和自动进纸扫描仪的步进电机控制方法,包括如下步骤:

① 将加速表、减速表连续地放入存储器中,其中表的数值为输出脉冲信号的周期;

② CPU通过配置通道配置步进电机控制装置;

③ CPU配置开始产生步进控制脉冲信号;在变速运动状态中,步进电机控制装置会自动从存储器中读出加速表或减速表,作为输出脉冲的周期,输出一定数量的脉冲;在匀速运动状态中,步进电机控制装置会根据本次匀速状态的周期,输出一定数量的脉冲;

④ 待步进电机控制装置完成了所有的运动状态,产生中断,通知CPU停止工作、步进电机停止运动。

进一步的,步骤②中配置的信息包括:步进电机运动状态的个数和步进电机运动状态模式,每个运动状态输出脉冲的个数,每个匀速阶段输出脉冲的周期,加速表、减速表在存储器中的地址。

进一步的,若有异常情况发生,需要步进电机停下,则可以在任何运动状态中重新配置步进电机控制装置,使之减速直至停止。

进一步的,采用如下两种处理方式使步进电机停止:一、由CPU配置,使之减速直至停止;二,若模块输入的异常脉冲信号有效,则电机控制装置控制步进电机进入预先设定好的异常处理运动状态。

进一步的,对于自动进纸扫描仪,步骤③中匀速阶段输出脉冲的个数可以配置为无限制;步进电机进入下一个运动状态的方式有两种:CPU配置和模块输入的跳转脉冲信号。

进一步的,模块输入的跳转脉冲信号可配置来自于传感器。

进一步的,步骤②中,CPU通过配置通道将配置信息传入步进电机控制装置;随后总线主机接口通过读表通道访问存储器,将加速表、减速表读回,写入内部FIFO中;脉冲输出控制模块记录当前输出的脉冲个数,来确定当前处于加速或减速模式还是匀速模式,若是加速或减速模式,则读取FIFO中的值作为输出脉冲的周期,若是匀速模式,则用CPU的配置信息作为输出脉冲的周期。

进一步的,步进电机控制装置的总线从机接口解析总线协议,解析之后将配置信息存入寄存器模块,寄存器模块将配置信息分发给运动状态控制模块、异常状态控制模块、脉冲输出控制模块、总线主机接口和FIFO写控制模块;随后FIFO写控制模块根据FIFO的状态决定是否从存储器中读取加减速表的值,若需要读取,则总线主机接口产生总线读操作,通过读表通道访问存储器,将加速表减速表读回,FIFO写控制模块将加减速表写入内部FIFO中;脉冲输出控制模块记录当前输出的脉冲个数,来确定当前处于加速(减速)模式还是匀速模式,若是加速(减速模式),则FIFO读控制模块读取FIFO中的值作为输出脉冲的周期,若是匀速模式,则用CPU的配置信息作为输出脉冲的周期;FIFO读控制模块从FIFO中读取数据之后,FIFO中的数据变少,当FIFO中空余空间达到一定个数之后,FIFO写控制模块会让总线主机接口会继续从存储器中读取数据;全部的脉冲都输出之后,步进电机控制装置产生中断,通知CPU。

进一步的,另外一种产生中断的情况是,当电机处于变速状态,需要加速表(减速表)中的值作为输出脉冲的周期;如果此时总线主机接口没有从存储器中读回加速表(减速表)的值,那么FIFO为空,当前需要输出的脉冲周期未知,需要产生中断,通知CPU电机控制装置无法读取加速表(减速表)。

本发明的用于平板扫描仪和自动进纸扫描仪的步进电机控制方法,CPU在步进电机开始运动之前,配置好整个运动过程,这样步进电机在整个运动过程中,都不需要CPU重新进行配置,减少CPU中断次数,简化了软件复杂度,提高了系统的实时性。此外,本发明不需要采用通用DMA,减少了硬件资源的消耗。对于自动进纸扫描仪,可以配置匀速过程输出脉冲个数无限制,直到CPU进行配置,进入下一运动状态。

附图说明

图1是步进电机控制装置结构框图;

图2是步进电机控制装置硬件结构图;

图3是平板扫描仪控制实施例;

图 4是自动进纸扫描仪控制实施例。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1和2所示,本发明的用于平板扫描仪和自动进纸扫描仪的步进电机控制方法,包括如下步骤:

① 将加速表、减速表连续地放入存储器中,其中表的数值为输出脉冲信号的周期;

② CPU通过配置通道配置步进电机控制装置。配置的信息包括:步进电机运动状态的个数和步进电机运动状态模式,(步进电机运动状态为变速-匀速-变速-匀速-……,变速和匀速交替,变速阶段输出脉冲的周期需要读取加速表或减速表,匀速阶段输出脉冲的周期由CPU配置),每个运动状态输出脉冲的个数,每个匀速阶段输出脉冲的周期,加速表、减速表在存储器中的地址。另外,可以通过配置某个运动状态输出0个脉冲,来跳过这个状态。比如配置第一个变速状态输出0个脉冲,这样步进电机真实的运动状态就是:匀速-变速-匀速-变速。

③ CPU配置开始产生步进控制脉冲信号。在变速运动状态中,步进电机控制装置会自动从存储器中读出加速表或减速表,作为输出脉冲的周期,输出一定数量的脉冲;在匀速运动状态中,步进电机控制装置会根据本次匀速状态的周期,输出一定数量的脉冲。

④ 待步进电机控制装置完成了所有的运动状态,产生中断,通知CPU电机停止运动。

若有异常情况发生,需要电机停下,则可以在任何运动状态中重新配置步进电机控制装置,使之减速直至停止。处理的方式有两种:第一种由CPU配置,使之减速直至停止;第二种方式,若模块输入的异常脉冲信号有效,则电机控制装置控制电机进入预先设定好的异常处理运动状态;过程如下:在步进电机开始运动之前,配置异常处理运动方式:异常处理运动状态个数为:1个(减速),异常处理减速表地址。若步进电机出现异常或者扫描接口不能正常接收数据,模块输入的异常脉冲信号有效,此时步进电机控制装置脱离原来的运动状态,进入异常处理的减速状态,直至电机停止。

对于自动进纸扫描仪,匀速阶段输出脉冲的个数可以配置为无限制;由于传动皮带存在打滑的情况,无法像平板扫描仪一样精确确定匀速输出脉冲的个数。步进电机进入下一个运动状态的方式有两种:CPU配置和模块输入的跳转脉冲信号。其中模块输入的跳转脉冲信号可以配置来自于传感器,这样可以实现在CPU不干预的情况下,完成整个扫描过程。例子:对于自动进纸扫描仪,当传感器检测到纸盒中没有纸张需要被扫描,并且最后一张纸也已经被扫描完毕,这时系统会产生一个脉冲信号,通知电机控制装置,整个扫描过程已经结束,步进电机从当前的匀速运动状态(步数无限制),自动进入下一个减速状态,直至步进电机停止。

本发明步进电机控制装置框图如图2所示。CPU通过配置通道将之前描述的信息传入本装置,总线从机接口解析总线协议(如AHB,AXI等),解析之后将配置信息存入寄存器模块,寄存器模块将配置信息分发给运动状态控制模块、异常状态控制模块、脉冲输出控制模块、总线主机接口和FIFO写控制模块;随后FIFO写控制模块根据FIFO的状态决定是否从存储器中读取加减速表的值,若需要读取,则总线主机接口产生总线读操作,通过读表通道访问存储器,将加速表减速表读回,FIFO写控制模块将加减速表写入内部FIFO中;脉冲输出控制模块记录当前输出的脉冲个数,来确定当前处于加速(减速)模式还是匀速模式,若是加速(减速模式),则FIFO读控制模块读取FIFO中的值作为输出脉冲的周期,若是匀速模式,则用CPU的配置信息作为输出脉冲的周期;FIFO读控制模块从FIFO中读取数据之后,FIFO中的数据变少,当FIFO中空余空间达到一定个数之后,FIFO写控制模块会让总线主机接口会继续从存储器中读取数据;全部的脉冲都输出之后,步进电机控制装置产生中断,通知CPU。若此过程中异常脉冲信号有效,脉冲输出控制模块停止工作,异常状态控制模块清空FIFO,并且让总线主机接口读取异常处理减速表,异常状态控制模块重新使能脉冲输出模块,把异常处理减速表中的值当做输出脉冲的周期。若电机控制装置处于匀速状态,并且输出步数设置为无限制,当跳转脉冲信号有效时,运动状态控制模块将控制脉冲输出控制模块进入下一个运动状态。

另外一种产生中断的情况是,当电机处于变速状态,需要加速表(减速表)中的值作为输出脉冲的周期;如果此时总线主机接口没有从存储器中读回加速表(减速表)的值,那么FIFO为空,当前需要输出的脉冲周期未知,需要产生中断,通知CPU电机控制装置无法读取加速表(减速表)。例子:电机当前处于加速阶段,本个加速阶段共需要输出100个脉冲,因而需要从存储器中读取100个值来当做输出脉冲的周期;总线主机接口中,每次从存储器中读取16个数据放入FIFO,但是第一次总线主机接口完成存储器的读操作之后,总线被其他主机占用,电机控制装置的总线主机接口无法从存储器中读取加速表的值,当电机控制装置需要输出第17个脉冲时,需要从内部FIFO中读取加减速表中的值,但是此时FIFO为空,电机控制装置不知道要输出脉冲信号的周期,中断产生模块会产生中断,通知CPU。

平板扫描仪实例:

CPU配置如下信息:共有三个运动状态,分别是:加速、匀速、减速;加速表和减速表在存储器中的地址;加速状态的步数(脉冲个数)为2;匀速状态的步数为5;减速状态的步数为2;匀速状态的脉冲周期为1。图3为输出的步进脉冲控制信号。

自动进纸扫描仪实例:

CPU配置如下信息:共有两个运动状态,分别是:加速、匀速;加速表在存储器中的地址;加速状态的步数(脉冲个数)为2;匀速状态的步数为无限制;匀速状态的脉冲周期为1。图4为输出的步进脉冲控制信号。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1