正、反转。用单片机控制步进电机,可以用一个输出口发送脉冲:高电平->延时->低电平->延时……延时的长短控制脉冲的频率,电平的转换次数就是脉冲个数;另外用AT89C51的输出作为方向信号。 2.1建立相序表
实现步进电机运行方式、方向和速度以及启停的控制,是接口软件设计的
主要任务。为此,在编写程序之前,要建立一个相序表,相序表的建立应根据步进电机运行方式的要求。
表1:正转环形脉冲分配表
步数 P0.0 A P0.1 B 1 1 0 0 P0.2 A 0 1 1 0 P0.3 B 0 0 1 1 1 2 3 4 1 0 0 1 表2:反转环形脉冲分配表
步数 P0.0 A P0.1 B 1 0 P0.2 A 0 0 P0.3 B 0 1 1 2
1 1
3 4 2.2 硬件框图
0 0 0 1 1 1 1 0 单 片 机
按 键
驱 动
步 进 电 机
3、系统主程序
3.1运行方式与方向的控制——循环查表法
步进电机的运行方式是指各相绕组循环轮流通电的方式。为了实现对各绕组按一定方式轮流加电,需要一个脉冲循环分配器。循环分配器可用硬件电路来实
现,也可用软件来实现。采用软件来设计脉冲循环分配器,又有两种方法:控制字法和循环查表法。而本课程设计用到的是循环查表法。
循环查表法是将各相绕组加电顺序的控制代码制成一张表——步进电机相序表,存放在内存区,再设置一个地址指针。当地址指针依次加1(或减1)时,即可从表中取出加电的代码,然后输出到步进电机,产生按一定运行方式的走步操作。若改变相序表内的加电代码和地址指针的指向,则可改变步进电机的运行方式和方向。
步进电机的运行方向是采用设置相序表的指针进行控制的。如果把指针设在指向正相序表的第一个元素,依次加1,取出加电代码去控制步进电
机的运行方向叫做正方向,那么,再把指针改设在指向反相序表的第一个元素,依次加1的方向就是反方向。
3.2步进电机运行速度的控制——软件延时法
控制步进电机速度有两个途径:一是硬件改变输入脉冲的频率,通过对定时器定时常数的设定,使其升频、降频或恒频。二是软件延时,或调用子程序。采用软件延时方法来改变步进电机速度。本次课程设计用到的是软件延时法。 3.3 源程序流程图
开始 Y
sw1? 电机正转 端口初始化 N
Y
Y(有键按下) sw2? 电机反转
键扫描 N
Y
N sw3? 电机加速
N Y
调用延时程序 sw4? 电机减速