步进电机设计报告.docx
《步进电机设计报告.docx》由会员分享,可在线阅读,更多相关《步进电机设计报告.docx(20页珍藏版)》请在冰豆网上搜索。
步进电机设计报告
青岛黄海学院
期末设计
题目:
基于单片机和proteus的步进电机控制
班级11电信本
学生姓名王艳丽吴加凤
步进电机
步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。
步进电机可以直接接受数字信号,不需要进行数字与模拟量的转换,具有高精度快速启停能力。
基于proteus的步进电机电机仿真
摘要:
步进电机广泛应用在生产实践的各个领域。
它最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。
本设计利用proteus仿真软件进行电路仿真,系统通过设置四个按键分别控制不进电机的起止、圈数、方向、不进速度,使用1602液晶显示以上参数。
整个系统具有稳定性好,实用性强,操作界面友好等优点。
关键词:
proteus仿真不进电机拍数
在非超载的情况下,步进电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号, 电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
一、步进电机的结构和工作原理
步进电机是一种专门用于位置和速度精确控制的特种电机。
步进电机的最大特点是其“数字性”,对于微电脑发过来的每一个脉冲信号,步进电机在其驱动器的推动下运转一个固定角度(简称一步),如下图所示。
如接收到一串脉冲步进电机将连续运转一段相应距离。
同时可通过控制脉冲频率,直接对电机转速进行控制。
步进电机在构造上有三种主要类型:
反应式(VariableReluctance,VR)、永磁式(PermanentMagnet,PM)和混合式(HybridStepping,HS)。
•反应式
定子上有绕组、转子由软磁材料组成。
结构简单、成本低、步距角小,可达1.2°、但动态性能差、效率低、发热大,可靠性难保证。
•永磁式
永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。
其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角大(一般为7.5°或15°)。
•混合式
混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。
其特点是输出力矩大、动态性能好,步矩角小,但结构复杂、成本相对较高。
混合型,因具有高精度、高转矩、微小步进角和数个优异的特征,所以刚开始在OA关系,其它的分类上也大幅的被使用,特别是在生产量上大半是使用在盘片记忆关系的磁头转送上。
按定子上绕组来分,共有二相、三相和五相等系列。
单定子径向分相反应式步进电机结构原理图
最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好。
该种电机的基本步矩角为1.8°/步,配上半步驱动器后,步矩角减少为0.9°,配上细分驱动器后其步矩角可细分达256倍(0.007°)。
由于摩擦力和制造精度等原因,实际控制精度略低。
同一步进电机可配不同细分的驱动器以改变精度和效果。
五相混合式步进电机应用也比较广泛,其步进角一般为0.72度。
1.基本结构
2.工作原理
简单的讲,步进电机驱动器根据外来的脉冲,通过其内部的逻辑电路控制步进电机的绕组按一定的次序正反通电,从而实现其运转。
以两相1.8度步进电机为例,其主要分为4线(双极性),6线(单极性)两种方式:
4线(双极性)电机,当其绕组的通电方向顺序按照AC->BD->CA->DB四个状态周而复始进行变化,每变化一次,电机运转一步,即1.8度。
6线(单极性)电机,当其绕组的通电方向顺序按照OA->OB->OC->OD四个状态周而复始进行变化,每变化一次,电机运转一步,即1.8度。
三、步进电机工作过程
1.脉冲信号的产生:
脉冲信号一般由CPU或单片机产生的,一般脉冲信号的比例为0.3-0.4左右,电机转速越高,比例则越大。
微处理器
以四相步进电机为例,四相电机工作方式有二种,四相四步为AB-BC-CD-DA;四相八步为AB-B-BC-C-CD-D-AB。
2.步进电机运转原理
如图为四相(实际为2相)式步进电机的基本构造图。
中间转子由永久磁铁所构成,左边为N极,另一边为S极。
定子有四组线圈,分别为L1、L2、L3及L4,各线圈的C端共接电源正极,另一端经由开关接在电源的负极,在看图8。
当把开关S1按下,则线圈A通入电流,产生N极磁场,因为磁场同性相斥、异性相吸,使转子的S极被A极吸引过来。
其次,放掉开关S1,并且立刻按下开关S2,则A极的磁场消失,B极产生磁场,把转子的S极吸引过来,转子随着顺时针方向90度。
像这样依次让定子的四个极通入电流,就可以使转子不停的旋转。
五、步进电机的结构及控制
从结构上看,步进电机分为三相、四相、五相等类型。
以三相为例。
三相反应式步进电动机工作原理图
三相步进电机定子上有6个磁极,线圈绕过相互正对的两个磁极构成一相,共有A—A、B—B和C—C三相。
转子是4个均匀分布的齿。
(1)换相顺序的控制
步进电机通电换相这一过程称为脉冲分配。
以三相步进电机为例,电流脉冲的施加共有三种方式:
①单相三拍方式------按单相绕组施加电流脉冲
每次通电时仅有一相绕组通电,且每经过3次切换控制绕组的通电状态为一循环。
②双相三拍方式-----按双相绕组施加电流脉冲
每个状态均为两个控制绕组同时通电,且每次切换电时,总有一相绕组处于通电状态,故避免了失步和振荡现象。
③三相六拍方式------单相绕组和双相绕组交替施加电流脉冲
首先A相通电,而后再接通B相绕组(这时A相不断开)即AB两绕组同时通电;此后断开A相绕组,B相单独通电,依此规律循环往复.这种方式需经过6个切换才能完成一个循环。
(2)步进电机的转向控制
如果给定工作方式正序换相通电,步进电机正转。
若步进电机的励磁方式为三相六拍,即A-AB-B-BC-C-CA-A。
如果按反序通电换相,即A-AC-C-CB-B-BA-A,则电机就反转。
其他方式情况类似。
(3)步进电机的速度控制
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
2个脉冲的间隔越短,步进电机就转得越快。
调整送给步进电机的脉冲频率,就可以对步进电机进行调速,即控制脉冲的频率来控制电机的转速和加速度
二、整体电路分析
如下图,整个设计以STC89C51单片机为中心,由复位电路,时钟电路,电机驱动,步进电机,显示电路等组成,硬件模块如图2-1所示:
图1硬件模块图
通过按键进行相应的参数设定,单片机接收到信号后经过判断驱动电机驱动模块,然后由驱动电路驱动步进电机运转,并用1602显示设置的参数。
三、系统硬件电路选择与设计
1、主控器的选择
按照题目要求本次主控单元使用C51单片机对整个系统进行控制。
STC89C51RC包含512字节RAM、32条I/O口线、3个16位定时/计数器、8输入4优先级嵌套中断结构、1个串行I/O口(可用于多机通信、I/O扩展或全双工UART)以及片内振荡器和时钟电路。
此外,由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至0)。
可实现两个由软件选择的节电模式、空闲模式和掉电模式。
空闲模式冻结CPU,但RAM、定时器、串口和中断系统仍然工作。
掉电模式保存RAM的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。
由于设计是静态的,时钟可停止而不会丢失用户数据。
运行可从时钟停止处恢复。
所以该单片机可以满足系统要求,电路图如下:
图2单片机最小系统电路图
2、步进电机选择
步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。
单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。
多相步进电动机有多相方波脉冲驱动,用途很广。
本设计使用的是四相三拍步进电机,连接图如下:
图3步进电机接线图
3、驱动电路的选择
驱动模块我们使用集成驱动芯片ULN2003,给芯片是高耐压、大电流达林顿管由七个硅NPN达林顿管组成。
该电路的特点如下:
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。
1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。
图4ULN2003内部结构图图5ULN2003管脚图
ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。
可直接驱动继电器等负载。
所以足以满足驱动步进电机的要求,连接图如下:
图6uln2003接线图
5键盘输入模块电路
设计中,键盘采用非编码键盘系统中的独立式按键结构。
键盘工作方式采用定时扫描方式。
采用定时器TO定时,通过输出数据,识别按键的工作状态。
键盘主要用来提供人机接口,电路如图3所示,采用独立式按键电路,各按键开关均采用了上拉电阻,保证在按键断开时,各I/O有确定的高电平。
按键功定义如下:
当P3.2按下时,步进电机开始加速;当P3.3按下时,步进电机开始减速;当P3.4按下时,步进电机开始正转;当P3.5按下时,步进电机开始反转。
按键抖动的消除采用软件消抖实现。
连接图如下:
图8按键接连接图
四、系统软件设计
1、软件流程图
图9系统流程图
2程序代码
见附件。
五、总结
采用模块程序设计,逐个模块调好以后,再进行系统程序总调试。
利用仿真软件Proteus及KeilC5l进行调试。
系统实现了可程序设定和显示步进角、步进方向和步进速度,支持用开关量单独控制步进电机的转向,转速。
电路简单可靠,结构紧凑,控制灵活,成本低,可移植性强。
经实验验证,本系统对步进电机的各项控制都能达到比较理想的效果,具有较高的实用价值。
通过此次课程设计,我不仅将知识融会贯通,而且在查找资料的过程中也了解了许多课外知识,开拓了视野,使自己在专业知识方面和动手能力方面有了很大的提高,让我学会了理论到实践的转化,即如何将自己学到的运用到以后的生活和工作中,同时,也让我意识到团队精神的重要性。
此外,感谢丁老师的悉心教导以及同学的帮助,正是王老师细心的辅导和提供的一些参考资料还有同学们的互相帮助,让我顺利的完成了毕业设计,相信这对我以后的生活和工作都会有很大的帮助。
七附录
(1)整体电路图
程序:
/***************writer:
shopping.w******************/
#include
#defineuintunsignedint
#defineucharunsignedchar
uintM=100;//调转速
ucharround=1;//圈数
ucharcodeFFW[]=
{
0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08//状态8~1正转
};
ucharcodeREV[]=
{
0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09//状态1~8反转
};
sbitK1=P3^0;//正转
sbitK2=P3^1;//反转
sbitK3=P3^2;//停止
sbitK4=P3^3;//减速
sbitK5=P3^4;//加速
sbitK6=P3^5;//按一下加一圈
sbitK7=P3^6;//按一下减一圈
voidDelay(uinti)下建议权
{
ucharx,j;
for(j=0;j
for(x=0;x<=148;x++);
}
voidDelayMS(uintms)
{
uchari;
while(ms--)
{
for(i=0;i}
}
voidKEY()
{
if(K4==0)//减速
{
Delay(15);//消抖
if(K4==0)
{
M=M+50;//转速时间来调
if(M==250)
M=200;//最高档共三档100;150;200
}
Delay(200);
}
if(K5==0)//加速
{
Delay(15);
if(K5==0)
{
M=M-50;
if(M==50)
M=100;//最高档共三档100;150;200
}
Delay(200);
}
if(K6==0)//加圈
{
Delay(15);
if(K6==0)
{
round++;
if(round==11)
round=10;//定义最多转十圈
}
Delay(200);
}
if(K7==0)//减圈
{
Delay(15);
if(K7==0)
{
round--;
if(round==0)
round=1;
}
Delay(200);
}
}
voidSETP_MOTOR_FFW(ucharn)//正转
{
uchari,j;
for(i=0;i<5*n;i++)//n代表圈数,仿真与实物差别大,实物一圈4096个脉冲
{
for(j=0;j<8;j++)
{
if(K3==0)break;//K3==0,tingzhi
P1=FFW[j];
DelayMS(25);
}
}
}
voidSETP_MOTOR_REV(ucharn)//反转
{
uchari,j;
for(i=0;i<5*n;i++)//实物中5应为512
{
for(j=0;j<8;j++)
{
if(K3==0)break;
P1=REV[j];
DelayMS(25);
}
}
}
voidmain()
{
ucharN;//圈数
while
(1)
{
KEY();
N=round;
if(K1==0)//正转
{
SETP_MOTOR_FFW(N);
if(K3==0)break;
}
elseif(K2==0)
{
SETP_MOTOR_REV(N);
if(K3==0)break;
}
else
{
P1=0x03;//用于消除转角偏差
}
}
}