【例9-3】 采用1-2 相励磁法实现电机的正转控制。
单片机的I/O口驱动电流小,不能直接驱动步进电机。图9-10使用ULN2003作为步进电机的驱动芯片。ULN2003工作电压高,工作电流大,填充电流500mA,关断状态下能承受50V电压。输出也可以与高负载电流并联运行。只需按照表9-2(c)中的八个步骤将数据发送到P1端口,通过ULN2003的驱动,步进电机就能以1-2相励磁的方式正向运行。
图9-10步进电机驱动控制电路图
C51程序如下:
提示
上面的delay()程序可以参考前面例子中的delay程序来编写,这里不再赘述。
单相励磁和两相励磁的电机控制可以用相同的编程方法实现。
【例9-4】 步进电机的正反转控制
步进电机的正反转由连接到单片机P3.7端口的开关控制。当开关闭合时,步进电机正转,当开关断开时,步进电机反转。这里使用的是单相励磁方法。步进电机的正反转控制电路如图9-11所示。
图9-11步进电机正反转控制电路图
C51程序如下:
【例9-5】 利用查表方式通过两组开关实现三种励磁状态的切换。
两组开关切换三种励磁状态的电路如图9-12所示。连接到P3.0和P3.1端口的两个开关的四种状态用于实现步进电机的1相励磁、2相励磁、1-2相励磁和停止状态的切换。步进电机运行状态的切换见表9-3。
图9-12两组开关切换三种励磁状态的电路图
表9-3步进电机运行状态开关切换表
由于每拍中三个励磁状态是已知的,所以在软件设计中,可以预先将这些状态存储在三个数组中,根据两组开关的状态查询对应的数组,实现步进电机励磁方式的切换。
C51程序如下: