步进电动机设计.docx
- 文档编号:11734145
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:13
- 大小:97.15KB
步进电动机设计.docx
《步进电动机设计.docx》由会员分享,可在线阅读,更多相关《步进电动机设计.docx(13页珍藏版)》请在冰豆网上搜索。
步进电动机设计
单片机课程设计
说明书
设计题目:
步进电机的控制
系别:
电控系
专业班级:
学生姓名:
学号:
指导老师:
日期:
2010-11-26
步进电机的控制课程设计
目录
第一章:
绪论、设计要求
1、绪论4
2、设计要求4
第二章:
系统原理及设计
1、步进电机原理7
2、系统设计7
第三章:
硬件设计
1、单片机7
2、键盘7
第四章:
软件设计
1、程序流程图10
2、设计程序10
第五章:
系统调试
1、硬件调试11
2、软件调试12
结束语12
参考文献12
摘要:
本文介绍了步进电机的工作原理和一种采用AT89C51单片机控制步进电机
的实用电路。
设计了步进电机驱动电路和键盘设定,并进行了系统硬件和软件设计方法。
实验结果表明,系统可以稳定可靠地实现对步进电机的控制,而且该系统成本低、控制方便、控制精度高。
关键字:
单片机;步进电机;控制;调速;
第一章绪论、设计要求
1、绪论
步进电机是机电设备中广泛使用的一种电机,它将电脉冲信号直接转化为角位移或直线位移。
步进电机输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比,因此可用输入电脉冲的数量、频率及电机各相绕组的通电顺序来精确控制步进电机的启停、转速、转向。
传统的步进电机控制方法是由触发器产生控制脉冲来进行控制的。
当步进电机参数发生变化时,需要重新进行控制器的设计。
而且传统的触发器构成的控制系统,控制电路复杂、控制精度低、生产成本高。
以微电子芯片为控制核心,以电力电子功率变换器为执行机构,在自动控制理论的指导下组成的控制系统,能通过控制电机转速或转矩进而控制生产机械或运动部件按照人们所希望的规律运动。
克服了传统控制器的缺点,满足工业生产新的控制要求,体现了更大的优越性,因此广泛应用于数字控制系统中。
如今各领域步进电机无处不在,高精度,实时监控的步进电机控制系统具有重要意义和实用价值。
目前单片机正朝着高性能和多品种方向发展趋势将是进一步向着COMS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
同时,EDA技术的发展,使得芯片的功能能够按人的意愿进行设计,对节省能源和人性化设计有着重要的促进意义。
本文介绍一种利用AT89C51单片机作为控制器,实现对步进电机简易控制的方案。
该控制系统具有电路简单可靠,通用性强,成本低廉,灵活方便等特点。
2、设计要求
(1)掌握硬件原理基础上,编写C程序对步进电机进行正反转、加减速和停止控制。
(2)设置多个按键,按不同的按键控制步进电机转速和转向。
(3)在实验箱上的现有电路编写程序来实现功能。
(4)调试,并且完成实验报告。
第二章系统原理及设计
1、步进电机原理
反应式步进电机是本系统的控制部件,它的定子是四相8个磁极,每个极靴上有相等的小齿,转子圆周上均匀分布着许多个小齿。
定、转子的尺宽、尺距都相等。
当A相通电,A相极下的小齿与转子齿对齐时,B相下小齿刚好错开t/4,B相错开2t/4,D相错开3t/4。
控制步进电机的运行速度实际上就是控制系统发出CP脉冲的频率或者换向的周期。
(1)步进电机的工作方式:
实际使用的步进电机以单、双八拍的方式工作。
若以A-AB-B-BC-C-CD-D-DA-A次序通电为正转,则按A-AD-D-DC-C-CB-B-BA-A通电为反转。
2)运动速度的控制:
当改变脉冲的周期时,ABCD四相绕组高低电平的宽度将发生变化,这就导致通电和断电变化的速率发生变化,使电机转速发生变化,所以调节脉冲的周期就可以控制步进电机的运动速度。
(3)旋转角度的控制:
因为每输入一个脉冲,就使步进电机四相绕组的状态变化一次,并相应地旋转一个角度,所以步进电机的旋转角度由输入的脉冲数确定。
2、系统设计
步进电机控制系统框图如图1所示。
主要由3个模块组成:
键盘、单片机模块、驱动控制信号、步进电机模块;可实现如下功能:
(1)通过按钮可设定步进电机转速。
(2)通过“复位”键设定电机启动;
(3)通过“正向”和“反向”开关改变电机的转向;
步进电机控制系统主要由AT89S51单片机及单片机工作外同电路组成。
采用试验箱上两个按钮和三个开关作为键盘。
单片机的P1.0、P1.1、P1.2、P1.3分别连到步进电机的A、B、C、D四相绕组,单片机的控制信号输出到步进电机绕组就可以驱动步进电机运转。
由键盘设置步进电机运行的转速和步数;由各个功能键控制系统的运行,启动后按正转按键或者反转按键,步进电机转动,当按加速或减速按钮控制加减速,按停止开关电机停止。
系统结构如下图:
第三章硬件设计
1、单片机
单片微型机计算机是微型计算机的一个重要分支,也是具有生命力的机种,单片微型计算机简称单片机。
特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件;中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部部件设备和结合,便可成为一个单片机控制系统。
下图中:
P1、P2、P3、P4相分别接步进电机的A、B、C、D相。
2、按键
键盘部分,设定正,反转和启动、停止、加减速等功能操作。
本系统在启动电机后步进电机匀速的运行。
为了实现系统的启动、停止和正、反转,要设置相应的按钮和开关进行功能键处理。
第四章软件设计
1、程序流程图
程序流程图如下所示。
(1)启动后首先读一遍键盘。
(2)根据键盘判断电机是正转代码、反转代码或者停止代码。
(3)根据键盘所读判断是否加速、减速或者保持启动时候的速度,然后设定延时的时间。
(4)判断设计的八拍是否完成,完成后清零从头开始下一个八拍,没有完成接着完成。
(5)返回开始继续循环。
2、设计程序
#include
unsignedintspeed,count=0;
unsignedintspeedlevel=60;
intstep_index=0;
unsignedcharkeyval=3;
sbitP3_0=P0^0;
sbitP3_1=P0^1;
sbitP3_2=P0^2;
sbitP3_4=P0^4;
sbitP3_5=P0^5;
sbitP1_0=P1^0;
sbitP1_1=P1^1;
sbitP1_2=P1^2;
sbitP1_3=P1^3;
voiddelay(unsignedintendcount);
voidkeyscan(void);
voidgorun(void);
voidmain(void)
{
P1_0=0;
P1_1=0;
P1_2=0;
P1_3=0;
EA=1;//允许CPU中断
TMOD=0x11;//设定时器0和1为16位模式1
ET0=1;//定时器0中断允许
TH0=0xFE;
TL0=0x0C;//设定时每隔0.5ms中断一次
TR0=1;//开始计数
while
(1)
{keyscan();
gorun();}
}
voidtimeint(void)interrupt1//定时器0中断处理
{
TH0=0xFE;
TL0=0x0C;//设定时每隔0.5ms中断一次
count++;
}
voiddelay(unsignedintendcount)//延时控制速度
{
count=0;
do{}while(count } voidgorun(void) { switch(step_index)//给脉冲 { case0: P1_0=1; P1_1=0; P1_2=0; P1_3=0; case1: P1_0=1; P1_1=1; P1_2=0; P1_3=0; break; case2: P1_0=0; P1_1=1; P1_2=0; P1_3=0; break; case3: P1_0=0; P1_1=1; P1_2=1; P1_3=0; break; case4: P1_0=0; P1_1=0; P1_2=1; P1_3=0; break; case5: P1_0=0; P1_1=0; P1_2=1; P1_3=1; break; case6: P1_0=0; P1_1=0; P1_2=0; P1_3=1; break; case7: P1_0=1; P1_1=0; P1_2=0; P1_3=1; } delay(speedlevel);//控制时间来控制速度 switch(keyval)//正转反转和停止控制 { case1: step_index++; if(step_index>7) step_index=0; break; case2: step_index--; if(step_index<0) step_index=7; break; case3: P1_0=0; P1_1=0; P1_2=0; P1_3=0; break;} switch(speed)//加减速控制 {case1: if(speedlevel<=80) speedlevel++; break; case2: if(speedlevel>=1) speedlevel--; break; } } voiddelayms(unsignedcharz)//给读键盘延时,防止误读 { unsignedchari,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } voidkeyscan()//读键盘 { if((0x07&P0)! =0x07) { delayms(5); if(P3_0==0)//正转 keyval=1; if(P3_1==0)//反转 keyval=2; if(P3_2==0)//停止 keyval=3; if(P3_4==0)//加速 speed=1; if(P3_5==0)//减速 speed=2; } } 第五章系统调试 1、硬件调试 检测各硬件模块是否断路或者短路,根据电路图查看接线线路是否正确。 检测接线无误后,接入电源,测量各芯片的供电电压,检查无误后,进入软件调试阶段。 2、软件调试 首先下载程序到单片机后复位启动,电机开始转动,然后可以按正转和反转,接下来可以按加速按钮或者减速按钮进行加速或者减速,调试完成后按关停止开关可以步进电机停止运行。 结束语 本文基于AT89C51单片机的步进电机控制系统实现了键盘输入控制步进电机的启动、正转、反转、加速、减速运行。 通过键盘的输入,控制电机带动负载进行预定的工作,使得单片机对电机的控制更易实现,性能价格比更高。 本设计的步进电机单片机控制系统实现了步进电机速度控制,大大改善了步进电机的运行的平稳性,减小了驱动器的体积,增强了抗干扰性能,可以满足更多场合的需要。 参考文献 [1]宋锦河.步进电机控制系统的快速实现[J].鄂州大学学报.2004.10.4—6 [2]马忠梅,籍顺心等.单片机的C语言应用程序设计[H].北京: 北京航空航天大学出版社.2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 步进 电动机 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)