步进电机课程设计_第1页
步进电机课程设计_第2页
步进电机课程设计_第3页
步进电机课程设计_第4页
步进电机课程设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1课程设计报告一、课程设计的性质和目的通过课程设计,进行硬软件设计的方法和技能训练,巩固在课堂上学到的有关硬件电路设计和相应程序设计的基本知识和基本方法,通过具体课题的训练,达到能独立阅读、查阅资料、软硬件设计和调试完善特定功能的目的。二、课程设计的要求1、遵循硬件设计模块化。2、要求通过自制PCB板、或万能板、或面包板设计实物。3、程序设计结构化。4、要求程序结构合理,程序简明易懂,有必要的注释。三、主要仪器设备及软件PC机、Keil软件、、ALTIUMDESINGERS09(PROTEL99)、Proteus绘图软件及仿真等。四、课程设计题目及要求见具体课题(有课题老师与选题学生共同商定)地点:信息工程学院实验室(有教师协调安排)元器件领用:由指导教师签字在行政楼301领取时间安排:每天集中半天的辅导(具体师生协商安排)五、课题分析及设计思路硬软件设计思路基于单片机的步进电机控制,可以通过四个按键分别实现开始/停止,正传/反转,全速前进和单步前进。通过外部中断来控制开始/停止按键可实时响应按键的输入。由两个LED分别指示程序的运行状态,可以方便进行操作。eq\o\ac(○,1)硬件设计框图总体硬件电路图如下所示:eq\o\ac(○,2)硬件设计电路图(按模块设计)1.单片机最小系统AT89C51为8位通用微处理器,主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义。5l系列单片机提供以下功能:4

kB存储器;256

BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。2.电机模块步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1—2相励磁。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,步进电动机即可连续转动。本设计选择半步励磁(1—2相励磁):

1—2相励磁法为1相与2相轮流交替导通。因分辨率提高,且运转平滑,每送一励磁信号可走9度。若以1—2相励磁法控制步进电动机正转,其励磁顺序如下所示(若励磁信号反向传送,则步进电动机反转):励磁顺序:A—AB—B—BC—C—

CD—

D—

DA驱动电路如下:其中:1B,2B,3B,4B分别与P10,P11.P12,P13相连接。步进电机时序表:3.按键模块 通过四个按键分别实现对步进电机的不同功能的实现,电路图如下:开始/停止和方向按键分别通过连接单片机的P3.3,P3.2,用外部中断的方式对其处理,可快速准确的相应中断,以实现对电机的控制。4.LED模块通过两个LED分别指示开始/停止(D1),正/反转(D2)。电路图如下:软件设计思路eq\o\ac(○,1)软件功能规划 软件部分整体功能由开始/停止键控制,只有当开始/停止键按下,LED1(D1)亮时,才能控制步进电机的转动。D1点亮后,由LED2(D2)的亮灭来指示电机的正反转,当D2灯亮时,电机正转,D2灭时,电机反转。当电机全速运行时,可通过开始/停止键和方向键控制电机停止转动。重新按下按键时,电机正常运行。eq\o\ac(○,2)软件流程图如下:六、程序主要代码与分析(关键代码要有注释):#include<reg51.h>//51芯片管脚定义头文件#include<intrins.h>//内部包含延时函数_nop_();#defineucharunsignedchar#defineuintunsignedintucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//正转电机编码ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};//反转电机编码sbitK1=P3^0;//全速sbitK2=P3^1;//单步sbitK3=P3^2;//正/反转sbitK4=P3^3;//开始/停止sbitled1=P0^0; //指示灯,表示开始/停止状态sbitled2=P0^2; //指示灯,表示正转/反转状态intnum=500; //延时函数的常量,控制步进电机的转速ucharh=0; //设置变量,控制单步运行ucharflag=0; //控制运行状态,控制开始/停止ucharflag1=0; //控制运行状态,控制正转/反转voidmotor_ffw();//函数声明voidmotor_rev();voidmotor_ffw2();//*延时t毫秒,11.0592MHz时钟,延时约1msvoiddelay(intt){ uintk; while(t--) { for(k=0;k<20;k++) {} }}//*步进电机正转单步执行voidmotor_single(){ P1=FFW[h];//取数据,单步转45度 delay(num*2);//调节转速 h++; //全局变量,控制单步的次数 if(h==8) { h=0; }}//*步进电机反转单步执行voidmotor_single_cov(){ P1=REV[h];//取数据,单步转45度 delay(num*2);//调节转速 h++; if(h==8) //全局变量,控制单步的次数 { h=0; }}//*步进电机正转voidmotor_ffw(){ chari; for(i=0;;i++)//一个周期转45度 { P1=FFW[i];//取数据 if(K4==0||K3==0)//若K1按下,则停止 { delay(5);//延时去抖动 break; }//退出此循环程序 delay(num);//调节转速 if(i>7) i=0; }}//*步进电机反转voidmotor_rev(){ chari; for(i=0;;i++)//一个周期转45度 { P1=REV[i];//取数据 if(K4==0||K3==0)//若K1按下,则停止 { delay(5); //延时去抖动 break; } //退出此循环程序 delay(num);//调节转速 if(i>6) i=0; }}//主程序voidmain(void){ EA=1;//开放总中断 EX0=1;//允许使用外中断0 IT0=1;//选择负跳变来触发外中断 EX1=1;//允许使用外中断1 IT1=1;//选择负跳变来触发外中断 while(1)//扫描查询按键状态 { if(K1==0&&flag1==0&&flag==1)//K1是否被按下 { delay(5); while(!K1); motor_rev();//flag1=0,步进电机反转 } if(K1==0&&flag1==1&&flag==1) { delay(5); while(!K1); motor_ffw();//flag1=1,步进电机正转 } if(K2==0&&flag1==0&&flag==1) { delay(5); while(!K2); motor_single_cov();//flag1=0,电机反转单步执行 } if(K2==0&&flag1==1&&flag==1) { delay(5); while(!K2); motor_single(); //flag1=1,电机正转单步执行 } else P1=0xf0; }}/******************************************************/voidint0()interrupt0//外中断0的中断编号为0{ led2=~led2; //取反led2 flag1++; if(flag1==2) //flag1表示正反状态 { flag1=0; //flag1=0为反转 }}voidint1()interrupt2//外中断0的中断编号为1{ led1=~led1; //取反led1 flag++; //flag值为1,表示开始状态 if(flag==2) //再次按下,清

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论