使用89C51控制四相六线步进电机,求一个汇编语言控制程序
步进电机采用四相六线,步距角1.8度,半步工作0.9度八拍运行。
接口如下:
P15---启动信号输入
P14---停止信号输入
P13---接光电传感器
P22---输出控制步进电机的A相
P23---输出控制步进电机的B相
P24---输出控制步进电机的C相
P25---输出控制步进电机的D相
如下是我给步进电机八拍运行正向通电顺序:
P25(D相)、P24(C相)、P23(B相)、P22(A相)
第一步: 0 0 0 1
第二步: 0 0 1 1
第三步: 0 0 1 0
第四步: 0 1 1 0
第五步: 0 1 0 0
第六步: 1 1 0 0
第七步: 1 0 0 0
第八步: 1 0 0 1
使用光电传感器的输出作为脉冲信号,光电接收管的后面加一个三极管做信号放大。光电传感器前有个齿盘,齿空的间隔距离是相等的,要求齿盘每移动一格,光电传感器输出一个脉冲,步进电机移动一个角度0.9度。齿盘转动的速度不固定,可能快也可能慢。步进电机没有转动之前,齿盘一直是转动的,只有按下启动按钮步进电机才开始转动。
我是这样想的:齿盘转动光电传感器产生的脉冲,一直是在高电平与低电平之间循环的,循环的速度跟齿盘转动的速度成正比,这样脉冲的周期也是由齿盘控制的,这样步进电机转动就受控于齿盘。我把光电传感器接到P13口对不对?
不知道我的思路对不对? |