课程设计---步进电机控制.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计(论文)相关资料题目:步进电机控制物联网工程学院电气工程专业学号学生姓名指导教师二〇一一年六月第一章概述步进电动机结构与工作原理步进电机是利用电磁铁的作用原理,将脉冲信号转换为线位移或角位移的电机。每来一个电脉冲,不进电机转动一定角度,带动机械移动一小段距离。特点:(1)来一个脉冲,转一个步距角。(2)控制脉冲频率,可控制电机转速。(3)改变脉冲顺序,课改变转动方向。种类:励磁式和反应式两种。工作原理:给A相绕组通电时,转子位置如图(a),转子齿偏离定子齿一个角度。由于励磁磁通力图沿磁阻最小路径通过,因此对转子产生电磁吸力,迫使转子齿转动,当转子转到与定子齿对齐位置时(图b),因转子只受径向力而无切线力,故转矩为零,转子被锁定在这个位置上。由此可见:错齿是助使步进电机旋转的根本原因。图(a)图(b)第二章设计内容介绍2.1 实验目的了解步进电机的工作原理。掌握它的转动控制方式和高速方式。2.2 实验设备及器材IBM PC机一台DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台一台2.3 实验内容(1)编写程序,通过单片机得PI口控制步进电机的控制端,使其按一走的控制方式进行转动。(2)分别采用双四拍(AB->BC->CD->DA->AB)方式、单四拍(A->B->C->D->A)方式和单双八拍(A->AB->B->BC->C->CD->D->DA->A)方式编程,控制步进电机的转动方向和转速。(3)观察不同控制方式下,步进电机转动时的振动情况和步进角的大小,比较这几种控制方式的优缺点。第三章设计思路具体内容3.1设计要求用1个LED指示灯显示启动和停止,亮时启动; 1个LED指示灯显示正反转,亮时正转;3个LED指示灯分别显示低速中速高速,一个启停开关控制启动和停止, 一个正反转开关控制正转和反转,一个加按钮,增加速度,最大加到高速, 一个减按钮,减小速度,最小减到低速,程序要求用C语言编写.3.2 实验步骤(1).安装C10区JP6接口上的短路冒,将C10区的J41接口与A2区J61接口的P10~P13对应相连。(2).打开TKStudy仿真器,仿真高度编写好的软件程序,观察步进电机的转动情况。(3).修改步进电机的控制程序,再次运行程序,比较它们的不同控制效果。3.3 实验原理图图(1)实验原理图第四章 程序设计 4.1 设计流程图流程图分析:开始,系统开始初始化,具体初始化的内容有,定时器初始值,总中断允许,中断允许等。系统等待着输入信号,主要的输入信号为启动、停止开关,正方转开关,加速、减速按钮。当系统收到输入信号后,开始分析,并做出相应的判断,并将判断结果输出,同时进行相应的动作,如开启电机或停止电机,让电机加速或减速,或让电机正转或反转。当系统做出判断后,会有相应的输出,具体为启动停止、正反转、低速、中速、高速相应的LED显示灯亮或灭。图(2)设计流程图4.2 主程序设计#include <reg51.h>#define uint unsigned intsbit k1=P3^4;sbit k2=P3^5;sbit s1=P3^2;sbit s2=P3^3;void isr_int0(void);void isr_int1(void);void zd_t0ist(void);uintspeed,count,rl,I,t,k;main(){ k=0; t=0;rl=0x11; speed=0; count=1; TMOD=0x01; ET0=1; EA=1; EX0=1; EX1=1; TH0=0xcf; TL0=0xff;for( ; ; ) { if(k==0) {P0=0xff;P2=0xff;speed=0;TR0=0;} else {if(k2==0)P0=0xfc; else P0=0xfe; If(speed==0){ P2=0xff; TR0=0;}else TR0=0;}}}4.3 子程序设计 void isr_int0(void) interrupt 0{ if(speed<3) speed=speed+1; while(s2==0) { for(i=0;i<30;i++);}}void isr_int1(void) interrupt 2{ if(speed>1) speed=speed-1; while(s3==0) { for(i=0;i<30;i++);}}void zd_t0ist(void) interrupt 1{ TH0=0xd8;TL0=0xf0; switch(speed) { case 0: P2=0xff;count=0;break; case 1: P2=0xfe;count=30;break; case 2: P2=0xfd

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档