IAP15W4K58S4单片机利用PWM脉冲控制4个步进电机的编程方法
最近购入一块IAP15W4K58S4(图1)的STC单片机的最小系统,然后用它控制步进电机,步进电机驱动器为基于TB6600的MicroStepDriver(图2)驱动器。为了能控制该驱动器,利用现有的单片机系统控制驱动器。连接电路原理图如图3所示,图中Vcc5V
图1IAP15W4K58S4单片机最小系统
图2步进电机驱动器使IAP15W4K58S4单片机能够控制步进电机,首先需要产生PWM脉冲,本例子产生频率为1KHz,占空比为50的脉冲,P21、P22、P23、P37口输出4路PWM脉冲。生产PWM脉冲,单片机涉及到的寄存器(不考虑PWM中断)有P_SW2(端口配置寄存器)、PWMCFG(PWM配置寄存器,初始电平高低)、PWMCKS(PWM时钟选择寄存器)、由PWMCH(高7位)和PWMCL(低8位)组成的15位PWM计数器、由PWM
T1H、
fPWM
T1L和PWM
T2H、PWM
T2L组成的PWM脉冲翻转计数器(其中PWM
T1H、PWM
T1L组成第一次翻转15位计数器,其中PWM
T2H、PWM
T2L组成第二次翻转15位计数器,
取值范围为2、3、4、5、6、7)、PWM
CR(PWM
的控制寄存器,设置输出管脚选择和中断使能控制,
取值范围为2、3、4、5、6、7)和PWMCR(PWM控制寄存器,用于开启各个端口和PWM模块开关,该寄存器最后设置)。由于生成PWM,需将IO口配置为准双向口或强推挽模式,所以还需配置PmM0和PmM1寄存器,m取值范围为03。
以上寄存器各个位配置可参考该单片机的数据手册,本项目的例程参考STC官方例程基础进行修改,如后文所述。
IAP15W4K58S4单片机的特殊功能寄存器区中要使用扩展的特殊功能寄存器需要配置P_SW2的bit7位,将其(bit7)置1。凡是涉及使用扩展的特殊功能寄存器(如下图4)都需将P_SW2的bit7位置1。
主时钟:MCLK,主时钟可以是内容RC时钟,也可以是外部输入的时钟或者外部晶体振荡产生的时钟。
系统时钟:SysCLK,系统时钟是指对主时钟进行分频后供给CPU、串行口、定时器的时基工作时钟。
STC系列中STC15W4K32S4是将系统时钟对外分频输出。
图3步进电机控制接线图
f图4扩展的特殊功能寄存器
STC15Fxx系列输出任意周期和任意占空比的PWM实例若无特别说明工作频率一般为110592MHz
i
clude