步进电机的运行需要有步进电机驱动器和步进电机控制器的配合。

步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。

而步进电机控制器是采用电脉冲的执行机构,其产生的电脉冲的时序和数量需要由步进电机的控制功能决定,应该是用户可设置的。

所有步进电机的控制器的主要功能是,电脉冲信号的产生,电脉冲信号的时序和数量的控制,而且应该提供接口供用户设置。

电脉冲的产生不是由振荡电路产生,而应该是由MCU的PWM功能产生,通过设置PWM模块的寄储器,让MCU产生满足频率和占空比要求的信号,并经过晶体管放大,接入步进电机驱动器,并最终控制步进电机产生角位移。

MCU除了控制PWM的频率和占空比,还需要在PWM的时钟中断中,对每一个脉冲进行计数,确保准确输出用户设定的步数。

在启动和停止时,还需要配合定时器,能过定时增加或者降低频率实现步进电机的软启停。

如果是多轴的步进电机控制,还要实现圆补和插补等数学算法,一般的MCU无法胜任。

综上,步进电机控制器电路比较简单,有一个还PWM功能的MCU的最小系统(电源+芯片+晶振+复位),在PWM的输出口通过晶体管将控制信号放大并隔离...

主要的工作在于软件设计,MCU的资源使用,程序的调度,特别是主程序和中断程序的调试都是非常考验技术水平的。