单片机步进电机控制综合应用设计指南
目录
前言
一、步进电机原理
1、步进电机
2、输入电路
3、输出电路
二、单片机原理图绘制
1、所需元件名称
2、绘制原理图
三、编写程序
总结
前言
今天我们来学习单片机AT89C52控制步进电机转动,。期间我们用到的软件有proteus和keil两个软件,欢迎大家提问已经寻找错误,请大家点个关注和收藏,后续还会更新。
一、步进电机原理
1、步进电机
步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,又称脉冲电机。步进电机是通过脉冲信号来进行控制,每输入一个脉冲信号,步进电机前进一步。步进电机旋转的步距角,是在电机结构的基础上等比例控制产生的,如果控制电路的细分控制不变,那么步进旋转的步距角在理论上是一个固定角度。在实际工作中,电机旋转的步距角会有微小的差别,主要是由于电机结构上的固定有误差产生的,而且这种误差不会积累。常见的有基本步距角为1.8°两相步进电机和基本步距角为1.2°的三相步进电机,此外,其它基本步距角的步进电机,分别是0.72°,0.9°,1.5°,3.6°,3.75°。
步进电机的总极数越大,加工精度的要求就越高。通常工业用混合型步进电机的步距角是1.8度,也就是200极。
总的来说,步进电机的运转控制方便精确,同时静音、低振动、低热量和低能耗等等都是步进电机的优势。随着步进电机的进一步发展, 传感器技术的不断提高和设计改进,步进电机的技术水平也将随之提高。同时,随着工业自动化的发展趋势,步进电机在日常生活中的应用将会越来越广泛。
2、输入电路
本实验设置三个按钮,分别控制步进电机的顺时针转动、逆时针转动以及停转。
3、输出电路
数码管与LED灯共同显示现在步进电机进行的状态。
二、单片机原理图绘制
1、所需元件名称
proteus原理图中名称对应:
AT89C52——52单片机芯片;
BUTTON——按钮(复位按键);
CAP——无极性电容;
CAP-ELEC——电解电容;
CAP-POL——极性电容;
CRYSTAL——晶振
RES——电阻;
74LS138——3线-8线译码器;
74HC573——锁存器;
LED-BIBY——发光二极管;
MOTOR-STEPPER——六线制步进电机;
RESPACK-7——七脚电阻排;
ULN2003A——达林顿阵列芯片;
7SEG-MPX2-CA-BLUE——共阳极数码管显示器;
以上就是我们这次设计需要用到的所有元器件,接下来我们就需要创建新工程,然后在右面添加元器件进行绘制。
2、绘制原理图
首先是绘制最小系统,将AT89C52、复位电路、时钟电路绘制出来。
开始绘制输入电路
然后咱们继续绘制输出电路(其中包括数码管、LED灯显示以及步进电机的连接)
最后进行对原理图功能的备注、整理等最后的收尾工作。
至此,咱们的原理图就绘制完成,接下来咱们可以根据绘制的原理图开始编写程序。
三、编写程序
编辑对步进电机进行控制的数组
unsigned char straight[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//顺时针
unsigned char reverse[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};//逆时针
输出电路
void forward(void)//正转函数
{
unsigned char t;
for(t=0;t<8;t++)
{
MOTOR=straight[t];//MOTOR宏定义为步进电机对应I/O口
delay(10000);
}
}
void reversal(void)//反转函数
{
unsigned char t;
for(t=0;t<8;t++)
{
MOTOR=reverse[t];
delay(10000);
}
}
void stop(void)//停止函数
{
MOTOR=0x00;
}
输入电路(在主函数中进行检测按钮的按下)
void main()
{
unsigned char t=0;
while(1)
{
P2=0xf7;
P1=gsmg_code[0];//gsmg_code[]为数码管显示数组
switch(P3)
{
case 0xfe:
while(P3==0XFF)
{
forward();
P2=0xf4;
P1=gsmg_code[1];
}break;
case 0xfb:
while(P3==0XFF)
{
reversal();
P2=0xf2;
P1=gsmg_code[2];
}break;
case 0xf7:
while(P3==0XFF)
{
stop();
P2=0xf7;
P1=gsmg_code[0];
}break;
}
}
}
至此,程序编写完成。
代码效果:
根据以上步骤,咱们就可以得到想要的实验效果啦!
总结
以上就是咱们的实验步骤,在实验中咱们需要注意对步进电机的控制,以及2位共阳极数码管的显示。通过porteus和keil对步进电机进行了简单的设计。希望对你有帮助,后续我还会持续更新,帮忙点赞收藏,欢迎大家来看。
作者:肉包田园猫