一.系统概述
步进电动机是一种数控电动机,其基本功能包括:
1. 控制通电方式:使用两个按键选择电动机的通电方式,可以是三相三拍或三相六拍。通电方式通过数码管显示。
2. 控制速度:
使用两个按键进行两档速度选择,可以控制电动机的转动速度。速度档位通过数码管显示。
3. 控制运行:
有启动键和停止键,用于启动或停止电动机的运行。
4. 其他控制功能:
通过发出脉冲信号控制电动机的角位移量,脉冲个数决定角度。脉冲信号的频率控制电动机的转动速度和加速度。控制脉冲的正负极性来实现电动机的正反转功能。
步进电动机通过脉冲信号控制角位移量,频率控制转速和加速度,极性控制转向。基本功能包括选择通电方式和速度档位,启动和停止控制。
二.仿真设计
1. 进入仿真后数码管左侧显示的速度,右侧显示工作模式,三相三拍是工作模式1,三相六拍是工作模式2,此时的速度是3档且模式为1。
2. 按下六拍按键后就会切换到六拍模式,数码管右侧就会显示模式2。
3. 按下速度加和速度减按键就能对速度进行调节。
三.程序设计
#include <REGX52.H>
#include <stdio.h>
#include "delay.h"
#include "key.h"
#include "Nixie.h"
#include "Timer0.h"
unsigned char KeyNum,j = 3;
unsigned char k = 1,l;
void sssp(unsigned char i);
void sslp(unsigned char i);
void main()
{
Timer0_Init();
while(1)
{
KeyNum = Key();
if(KeyNum == 1)
{
k = 1;
}
if(KeyNum == 2)
{
k = 2;
}
if(KeyNum == 3)
{
j++;
if(j > 5)
{
j = 5;
}
}
if(KeyNum == 4)
{
j--;
if(j < 2)
{
j = 2;
}
}
if(KeyNum == 5)
{
if(k == 1)
{
l = 1;
}
if(k == 2)
{
l = 2;
}
}
if(KeyNum == 6)
{
l = 0;
}
if(l == 1)
{
sssp(j);
}
if(l == 2)
{
sslp(j);
}
Nixie_SetBuf(5,k);
Nixie_SetBuf(1,j);
}
}