background image

  

CDC3207G 的步进电机模块可以提供多通道的 PWM 输出,输出信号频率

通过硬件设置来选择,并且各个步进电机模块输出信号的时序具有偏移,可以
提高电磁兼容性能(

EMC)。

  根据控制两相步进电机的需要,

CDC3207G 内部提供了 3 个 8 位的寄存器,

用于通过软件来产生控制脉冲。其中两个寄存器通过模块中的比较器与模块计时
器进行比较,用于产生驱动电机的

PWM 信号,另外一个寄存器用来选择相应

步进电机模块以及选择四个输出引脚的极性。这样,通过软件对三个寄存器的操
作就能方便地对每一路步进电机进行控制。
  此外,

CDC3207G 还具有零位检测功能,即检测电机运转时的感应电流,

得到电机运行的位置信息,据此判断电机是否达到初始位置(即汽车仪表的零
位)。
  控制算法的实现
  软件的主要任务是根据不断更新的步进电机位置信息,计算控制寄存器的
数值。同时,为了满足仪表指示的实时性要求,本方案采用周期性调用步进电机
控制函数的办法,根据实际需要选择周期。本方案中,调用步进电机控制函数的
周期为

2ms.

  除了需要满足实时性以外,步进电机控制函数还需要控制步进电机平滑地
运转,这样,指针的显示才不会在视觉上给人以不适的感觉。为此,控制函数需
要限制步进电机的速度以及加速度。由于周期性更新步进电机位置信息,所以控
制函数是通过比较当前位置与给定位置来计算每周期的步进量,最终完成给定
位置的显示。控制函数流程图如图

1 所示。