单片机课设步进电机_第1页
单片机课设步进电机_第2页
单片机课设步进电机_第3页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

1、编号 0217课程设计论文相关资料题目: 一基于单片机的步进电机设计学院专业学 号 学生指导教师年六月二0一 目录 第 1 章概述 3第 2 章设计容的介绍 42.1 步进电机原理 42.2 设计目标 4第 3 章设计思路具体容 63.1 设计思路 63.2 总体设计框图及电路原理图 63.3 单片机及其最小系统 63.4 硬件电路原理图 错误 !未定义书签。 第四章程序设计 74.1 程序设计思路 74.2 程序设计流程图 74.3 主程序设计 84.4 子程序设计 错误 !未定义书签。 第五章总结 11 参考文献 15第一章 概述1.1单片机简介单片机是单片微型计算机的简称, 是典型的嵌入

2、式微控制器 Microcontroller Unit ,常用英文字母的缩写 MCU 表示单片机,它最早是被用在工业控制领域。 单片机由芯片仅有 CPU 的专用处理器开展而来。最早的设计理念是通过将大量 外围设备和 CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的 而对体积要求严格的控制设备当中。单片机是一种集成在电路芯片, 是采用超大规模集成电路技术把具有数据处 理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O 口和 中断系统、定时器 /计时器等功能可能还包括显示驱动电路、脉宽调制电路、 模拟多路转换器、 A/D 转换器等电路集成到一块硅片上构成的一个小而完

3、善 的计算机系统。1.2步进电机简介 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。 在非超载的情况下,电机的转速、停顿的位置只取决于脉冲信号的频率和脉冲数, 而不受负载变化的影响, 当步进驱动器接收到一个脉冲信号, 它就驱动步进电机 按设定的方向转动一个固定的角度, 称为“步距角, 它的旋转是以固定的角度 一步一步运行的。 可以通过控制脉冲个数来控制角位移量, 从而到达准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而到达调速的目的。第二章设计容的介绍2.1步进电机原理步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移, 并且可用作电

4、磁制动轮、电磁差分器、或角位移发生器等。本文先介绍该步进电 机的工作原理,然后介绍了其驱动器的软、 硬件设计。该步进电机为一四相步进 电机,采用单极性直流电源供电。只要对步进电机的各相绕组按适宜的时序通电, 就能使步进电机步进转动。四相步进电机按照通电顺序的不同, 可分为单四拍、双四拍、八拍三种工作 方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的 步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力 矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形 分别如图2.1所示:脑冲 jinruLTjmrLfuuui 砌 Jinnms _n

5、_n n_n n n Dis i n n nJTTUUWJTJXTirUTJTJX j-LnL-nLj TnLT-L i_nL_nL_rnJUXTLTLnrLAHJUUUUUVirJ!1a.单四拍 b.双四拍c八拍图2.1步进电机的驱动电路根据控制信号工作,控制信号由单片机产生,其根本原 理作用如下:(1控制换相顺序通电换相这一过程称为脉冲分配。 对于一四相步进电机,采用单极性直流电 源供电,只要对步进电机的各相绕组按适宜的时序通电, 就能使步进电机步进转 动。下列图是四相反响式步进电机工作原理示意图。开场时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿 对齐,同时,转子的

6、1、4号齿就和C、D相当开关SC接通电源,SB SA、SD 断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、 4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号 齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电, 那么转子会沿着A、B、C、D方向转动。(2控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,那 么电机就反转。(3控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一 步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率, 就可以对步

7、进电机进展调速。2.2设计目标通过具体小型测试系统设计, 实践单片机系统设计及调试的全过程, 以加深对单 片机部构造、 功能和指令系统的理解, 并进一步学习单片机开发系统的应用及一 些外围芯片的接口和编程方法, 初步掌握单片机系统的硬件、 软件设计技术及调 试技巧。1一个正反转开关控制正转和反转; 2一个速度开关控制高速和低速高速和低速只要有明显差异 ; 3一个半圈按钮 ,按一下时转半圈; 4一个一圈按钮 , 按一下时转一圈; 5一个连续转动按钮 , 按一下时连续转动,再按一下时停顿转动; 6整个步进电机控制程序要求用 C 语言编写。7用protel画出系统原理图,要一个完整的单片机控制系统,

8、电源为 220V交 流电第 3 章 设计思路与具体容3.1设计思路本系统主要由按键电路、单片机最小系统、 AT89C52单片机、步进电机状态 显示电路、 驱动电路以及步进电机等几局部组成。 本系统采用两个独立开关两个 独立按钮,分别进展启动、停顿、正反转以及加减速的控制。驱动电路采用集成 驱动元件。步进电机的供电采用独立 12V供电。3.2单片机及其最小系统最小系统主要是为了单片机的正常工作。 51单片机是一种低功耗 /低电压、 高性能的 8 位单片机,它采用 CMOS 和高密度非易失性存储器技术,而且其输 出引脚和指令系统都与 MCS-51兼容;片的Flash ROM允许在系统改编程序或用

9、常规的非易失性编程器来编程,部除 CPU外,还包括256字节RAM,4K字节 的R0M,4个8位并行I/O 口,5个中断源,2个中断优先级,2个16位可编程 定时计数器。89S51单片机是一种功能强、灵活性高且价格合理的单片机,且支 持在线编程,完全满足本系统设计需要。单片机最小系统包括单片机和复位电路,振荡电路3.3总体设计框图及电路原理图3.4硬件电路原理图单片机控制步进电机局部UJIOCIA;7 - 0M*iJ0C.7E閃.血0CT31M却OCKXT4ETOTOASffTBA COMCOMw<-l电源变换局部;=;we>L.iTHWlILJN.I>L4制fL-fN4Hi

10、MJPL/帕占HIV;:K.'Pd : Wl"諭J2.;TTOiHIMHli*NT2i血nFKfPimmIUn.4舟伽XJAiik.jMLTLK.tYiin.t-iI盯乂山毫第四章 程序设计4.1 程序设计思路根据单片机外围电路的设计,单片机的 P32、P33、P34、P35 为按键输入。PO、P2 口为LED输出显示。51单片机采用TO进展定时扫描键盘子程序,主程 序根据键盘扫描的结果进展相应的操作。 步进电机的正反转利用给步进电机送入 与原来相反的脉冲即可, 步进电机的加减速控制是主要控制步进电机送脉冲的时 间。4.2程序设计流程图图4.1程序流程图4.3主程序设计#i

11、nclude"reg52.h"static un sig ned int count; /计数static int step_index; / 步进索引数,值为0 7static bit stop_flag; /步进电机停顿标志 static int spcount;/步进电机转速参数计数sbit turn=P0A4;/步进电机转动方向sbit speedlevel=P0A5; /步进电机转速参数 sbit go_stop=P0A3;sbit Half=P0A2;sbit A=P2A0;sbit B仁 P2A1;sbit C=P2A2;sbit D=P2A3;sbit Wh

12、ole=P0A1;void delay(unsigned int endcount);void gorun();void main(void)count=0;step_index=0;spcount=0;stop_flag=1;P2=0X00;EA=1;/ 允许 CPU 中断TMOD = 0x11; / 设定时器 0和 1为 16位模式 1ET0 = 1; / 定时器 0中断允许TH0 = 0xFC;TL0 = 0x18;/ 设定时每隔 1ms 中断一次TR0 = 1; / 开场计数doif(!go_stop) / 低电平表示按键按下delay(10);if(!go_stop) / 再次确认按

13、键是否按下while(!go_stop); / 等待按键释放 stop_flag=!stop_flag; / 实现功能else if(!Half)delay(10);if(!Half) / 再次确认按键是否按下while(!Half) / 等待按键释放stop_flag= 0;if(speedlevel)delay(600);else delay(200);stop_flag=1;/ 实现功能else if(!Whole)delay(10); / 延时去抖 ,10ms if(!Whole) / 再次确认按键是否按下 while(!Whole) / 等待按键释放 stop_flag=0;if(s

14、peedlevel) delay(1200); else delay(120);stop_flag=1;/ 实现功能elsestop_flag=stop_flag;while(1);4.4 子程序设计定时器中断程序void T0_ISR(void) interrupt 1 TH0=0xFC;TL0=0x18; / 设定时每隔 1ms 中断一次 count+;spcount-; if(spcount<=0) if(speedlevel) spcount =30 ;else spcount=10; gorun();延时程序void delay(unsigned int endcount) c

15、ount=0; dowhile(count<endcount); 步进程序 void gorun()if (stop_flag=1)P2=0X00; return; switch(step_index) case 0: /0 P2=OX01 ;break; case 1: /0 、 1 P2=0X03;break; case 2: /1P2=0X02;break; case 3: /1 、 2P2=0X06;break; case 4: /2P2=0X04 ; break; case 5: /2 、 3P2=0X0C ; break; case 6: /3P2=0X08;break; c

16、ase 7: /3 、 0P2=0X09;break;if (turn=0) step_index+;if (step_index>7) step_index=0; elsestep_index-; if (step_index<0) step_index=7;第五章 总结通过本次的单片机课程设计, 我对单片机有了更深乘此的了解, 特别是对步 进电机的控制有了更彻底的了解, 不管是步进电机的工作原理, 还是步进电机的 应用场合,还是步进电机运转的控制, 我都弄清楚了。 同时通过这次课程设计我 逐渐的意识到其中的乐趣, 当自己单独完成任务实现自己想要的结果时, 是很有 成就感的。在整个实验过程中,我学习到了课本上学不到的知识 -在理论根底上 的动手实践能力。这为我们以后的学习生活打下了坚实的根底。步进电机主要用于数字控制系统中, 精度高,运行可靠。 如采用位置检测和 速度反响, 亦可实现闭环控制。 步进电动机已广泛地应用于数字控制系统中, 如 数模转换装置、数控机床、计算机外围设备、自动记录仪、钟表等之中,另外在 工业自动化生产线、 印刷设备等中亦有应用。 步进电机实现了运动的数字化, 准 确化。在机电自动化中起到相当重要的作用, 所以机自专业机电方向的我将会更 深的学习,并尝试

温馨提示

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

评论

0/150

提交评论