步进电机在各种自动化控制系统中有着广泛的应用,是机电一体化装置中的关键部件。这是一种数字控制的电动机控制工程网版权所有,是将电脉冲转化为角他移的执行机构,它通过控制脉冲个数和脉冲频率来控制电机的角位移量和转动速度,从而达到准确定位和凋速的目的。
传统的步进电机所需的数字式电脉冲信号(即方波控制信号)一般都是借助数字逻辑电路米产生。随着嵌入式技术的不断发展,单片机的应用更为广泛,由单片机定 时来产生这种脉冲信号的场合越来越多。单片机定时控制脉冲一般有软件定时和定时器定时两种方式。前一种方式占用了CPU的大部分上作时间,所以常用定时器 定时中断来产生脉冲信号。出于一般的单片机系统中断响应时间大部分在10μs级以上,因而定时器定时中断来产生脉冲的精确度大致也在10μs 级以上,往往不能满足步进电机速度控制的高精度要求。为了提高脉冲控制的精确度,笔者采用瑞萨公司H8/3DOH系列的H8/3062F单片机中的可编程 定时式样控制器进行脉冲控制,使得脉冲信号输出的相应时间达到0.1μs级,从而能够满足步进电机速度控制的高精度要求。
1 可编程定时式样控制器TPC
&n
定时器启动后,定时器中已选定的某通道的计数寄存器TCNT将对时钟源的脉冲进行计数。当TCNT等于该通道的通用寄存器GRA(GRB)中数值时,就称 作该通道的A(B)比较匹配事件发生。这样事先置于后续数据寄存器NDRA(NDRB)的值自动被传送到相应端口A(B)的数据寄存器PADR (PBDR)对应的位,于是就更新了TPC的输出值。
TPC有两种输出方式控制工程网版权所有,即不重叠输出和正常输出。可以通过输出方式寄存器TPMR,来选择TPC每组的输出方式。不重叠输出方式是在脉冲输出之间可保障有 不重叠裕度。在该通道的通用寄存器GRB中,设置不重叠TPC输出波形的输出触发周期,则不重叠裕度置于GRA中,输出值将在A比较匹配事件和B比较匹配 事件发生时变化触发。正常输出方式控制工程网版权所有,则是在GRA中设置TPC输出波形的输出触发周期,当A比较匹配事什发生时TPC输出信号。根据步进电机的脉冲控制要 求,这里采用的是正常输出方式。
TPC用于步进电机脉冲控制的原理如下:首先,将通用寄存器GRA选作输出比较寄存器;然后,将TPC下一个输出的端口值置于后续数据寄存器NDRA (NDRB),再启动定时器,当A比较匹配事件发生时发出中断请求。在研究TPC输出时序的过程中发现,TPC并非是在中断响应过程中给TPC端口送值 的控制工程网版权所有,而是在A比较匹配事件发生的3个时钟周期后,就把事先置于后续数据寄存器的值送到端口数据寄存器PADR(PBDR),于是就更新了TPC的输出值。 由于H8/3062F系列的单片机时钟频率都在20MHz以上,这样只需不到0.2ms,就可以送出端口信号,大大缩短了响应时问,比一般的单片机在定时 中断过程中送端口信号快了几十倍甚至上百倍,从而使对脉冲控制的更加准确。而在中断子程序中则是更新后续数据寄存器NDRA(NDRB)和输出比较寄存器 GRA的值,从而改变脉冲的频率实现对异步电机的调速。图2为产生脉冲频率变化的原理图。图中GRA、GRA′和GRA″抽象地 表示3个不同的GRA值,从而演示了GRA值的改变对脉冲频率的影响。
2 步进电机的启动、调速及加减速脉冲控制方案
采用H8/3062F的TPC的 TPl5引脚和I/0口的Pl.0分别控制步进电机的速度和方向。TP15输出的脉冲送至由功率管组成的电机驱动控制电路,使功率管工作在开关状