单片机控制步进电机设计报告.doc_第1页
单片机控制步进电机设计报告.doc_第2页
单片机控制步进电机设计报告.doc_第3页
单片机控制步进电机设计报告.doc_第4页
单片机控制步进电机设计报告.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

单片机应用及原理课程设计引言步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载情况下,电机的转动,停止的位置只取决于脉冲信号的频率和个数,而不受负载变化的影响。当驱动器接到一个脉冲信号,它就驱动步进电机按设定的方向转动一个角度,称为步距角。它的旋转是以固定的角度一步步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动的速度,从而达到调速的目的。16目录引言.11 设计任务及方案.3 1.1 设计任务及要求.3 1.2 设计方案.32 步进电机简介.3 2.1 步进电机工作原理.3 2.2 步进电机励磁方式选择.4 2.2.1 步进电机励磁方式.43 硬件电路设计.5 3.1 晶振电路设计.5 3.2 复位电路设计.5 3.3 按键电路设计.6 3.4 显示电路设计.6 3.5 驱动电路设计.74 软件程序设计.8 4.1 程序设计思路.8 4.2 程序设计分析.8 4.3 程序设计流程.95 系统的模拟仿真.106 参考文献.13附录 软件程序.141 设计任务及方案 1.1 设计任务及要求 在实验平台上扩展一个四相步进电机,利用单片机通过开关控制步进电机的2挡转速及转动方向,并在数码管上显示转速挡次及转动方向。 1.2 设计方案本次设计采用AT89C51单片机控制一个四相步进电机。单片机输出脉冲序列,驱动步进电机转动,设置按键电路控制步进电机的2挡转速,即加速、减速,并在数码管上显示转速等级,同时控制步进电机的转动方向,即正转、反转。设计方案总体框图如图1.2所示。图1.2 总体框图2 步进电机简介 2.1 步进电机工作原理 步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的多相时序控制器。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。 2.2 步进电机励磁方式选择 2.2.1 步进电机励磁方式步进电机的励磁方式主要分为全步励磁和半步励磁两种,其中全步励磁又有一相励磁和二相励磁之分,半步励磁又称一-二相励磁。一相励磁:在每一瞬间,步进电机只有一个线圈导通。每送出一个励磁信号,步进电机旋转1.8,这是三种励磁方式中最简单的一种。其特点是:精确度好、消耗电力小,但输出转矩小,震动较大。二相励磁:在每一瞬间,步进电机有两个线圈同时导通。每送一个励磁信号,步进电机旋转1.8。其特点是:输出转矩大,振动小。一-二相励磁:为一相励磁与二相励磁交替导通的方式。每送一个励磁信号,步进电机旋转0.9。其特点是:分辨率高,运转平滑。本次设计采用二相励磁方式,励磁顺序表如下表2.2.1所示。时序12345678A10011001B11001100C01100110D00110011表2.2.13 硬件电路设计 3.1 晶振电路设计AT89C51单片机各功能部件的运行都以时钟控制信号为基准,有条不紊,一拍一拍地工作。本次设计时钟电路采用内部时钟方式。AT89C51内部有一个用于构成震荡器的高增益方向放大器,它的输入端为芯片引脚XTAL1,输出端引脚为XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。本次设计选择振荡频率为12MHZ的石英晶体。如图3.1所示。图3.1 晶振电路 3.2 复位电路设计 AT89C51的复位是由外部的复位电路实现的。复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电复位和按钮复位两种方式,本次设计采用上电复位方式。如图3.2所示。图3.2 复位电路 3.3 按键电路设计 本次设计采用按键电路来控制步进电机的正转、反转、加速、减速、停止。并且由单片机的P1口对其进行控制。电路如图3.3所示。图3.3 按键电路 3.4 显示电路设计 本次设计采用两个共阳极八段数码管显示,其中一个显示转速等级(一挡转速显示1,二档转速显示2,停止时显示0),另一个显示转动方向(正转显示0,反转显示1),其对应的二进制数如表3.4所示。数字二进制数000101000B111101011B200110010B表3.4电路如图3.4所示。图3.4 显示电路 3.5 驱动电路设计 本设计采用ULN2003作为驱动器驱动步进电机运转,把单片机输出的脉冲信号转化为脉冲电流,驱动步进电机运转。如图3.5所示。图3.5 驱动电路4 软件程序设计 4.1 程序设计思路根据外围电路设计,单片机输入为P1口的前五个引脚,输出为P0口,P2口,P3口的前四个引脚。主程序部分首先向驱动电路输出四路高电平,使电机停转,然后设置定时器T0的工作方式以及给允许中断位置高电平,接下来进行按键扫描,如果由正转或反转按键按下,则跳转到相应的程序段,如果有停转按键或没有任何键按下,则跳转到程序的初始部分。正转部分,输出起始脉冲,接下来进行按键扫描,判断是否执行加速、减速或停转,然后调用给定时器T0赋初值子程序,最后左移累加器A中的数值,如此循环便可实现步进电机的正转。反转亦然。加速和减速部分的程序设计,只要改变定时器的初始值,即改变定时时间便可实现。硬件电路原理图如图4.1所示。图4.1 硬件原理图 4.2 程序设计分析首先进行P3口及定时器的初始化,定时器工作于方式1,用JNB指令来扫描按键电路,按下则跳转,没有按下则继续向下执行。如果P1.0按下,则跳转到首地址为ZHENG的位置,先调用一个10ms的延时子程序来消除按键的抖动,然后通过累加器A输出起始脉冲到P3口,随后判断加速、减速、停止按键是否按下,如果其中一个被按下,则跳转到相应的程序段,否则程序继续向下执行。接下来调用赋定时器初值子程序TIME,根据R0的数据不同,使用查表指令,来读取TABLE1和TABLE2中的数据分别赋给定时器T0的两个八位寄存器TH0和TL0,返回后,利用查询法来等待T0的中断,当定时结束时跳出循环,并对中断标志位TF0清零。左移指令使累加器A中的数据循环左移一位,最后返回到ZHENG1的位置。如果按下P1.1,则执行反转程序,对脉冲信号循环右移,从而实现反转。加速子程序主要使R0内的数据加1,即把速度提高一个级别,R0内的数据还要与1相减,来确认是否达到最高转速,如果R0内的数据大于1,则把1赋给R0,表示已达到最高转速,不能再加速了。减速子程序主要使R0内的数据减1,即把速度降低一个级别,如果R0内的数据为0,即速度已为最低转速,则直接跳过减一指令,保持这个最低转速。赋定时器初值子程序,利用两个查表指令来读取预置的数据,当转速改变时,R0内的数据发生变化,这时赋给定时器的初值也发生了变化,改变了定时时间,即脉冲的时间间隔发生变化,从而实现了电机变速。 4.3 程序设计流程图图4.3 程序流程图5 系统的模拟仿真起初状态仿真图1挡反转仿真图1挡正转仿真图2挡反转仿真图2挡正转仿真图停止仿真图参考文献1 谢辉.单片机原理及应用M.北京:化学工业出版社,20102 杨居义.单片机课程设计指导书M.北京:清华大学出版社,20093 张永枫.单片机应用实训教程M.北京:清华大学出版社,20084 姜志红.51单片机技术与应用系统开发案例精选.M.北京:清华大学出版社,20085 张荫等.单片机应用系统开发综合实例. M.北京:清华大学出版社,20086 戴仙金.51单片机及其汇编语言程序开发实例.M.北京:清华大学出版社,2008附录:软件程序 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV P3,#0FFH MOV R0,#00H MOV SP,#40H MOV TMOD,#01H MOV IE,#82H ACALL XIANS0 KEY: JNB P1.0,ZHENG JNB P1.1,FAN JNB P1.4,KEY SJMP KEY ZHENG: JNB P1.0,$ ACALL XIANS1 ACALL XIANSZ ACALL DELAY MOV A,#33H ZHENG1: MOV P3,A ;正转 JNB P1.1,FAN JB P1.2,KEEP ACALL JIASU KEEP: JB P1.3,KEEP1 ACALL JIANSU KEEP1: JNB P1.4,MAIN ACALL TIME LOOP1: JBC TF0,NEXT1 AJMP LOOP1 NEXT1: RL A AJMP ZHENG1 FAN: JNB P1.1,$ ;反转 ACALL XIANS1 ACALL XIANSF ACALL DELAY MOV A,#33H FAN1: MOV P3,A JNB P1.0,ZHENG JB P1.2,THEN ACALL JIASU THEN: JB P1.3,THEN1 ACALL JIANSU THEN1: JNB P1.4,MAIN ACALL TIME LOOP2: JBC TF0,NEXT2 AJMP LOOP2 NEXT2: RR A AJMP FAN1 JIASU: JNB P1.2,$ ;加速 ACALL DELAY PUSH ACC ACALL XIANS2 INC R0 CLR C MOV A,R0 SUBB A,#1 JC NEXT3 MOV R0,#1 NEXT3: POP ACC RET JIANSU: JNB P1.3,$ ;减速 ACALL DELAY PUSH ACC ACALL XIANS1 MOV A,R0 JZ NEXT4 DEC R0 NEXT4: POP ACC RET TIME: PUSH ACC ;定时器赋初值程序 MOV A,R0 MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV TH0,A MOV A,R0 MOV DPTR,#TABLE2 MOVC A,A+DPTR MOV TL0,A SETB TR0 POP ACC RET DELAY: MOV R7,#14H ;10ms延时子程序 D1: MOV R6,#0FFH D2: DJNZ R6,D2 DJNZ R7,D1 RET XIANS0: MOV R0,#00101000B ;显示子程序 MOV A,R0 MOV P0,A LCALL DELAY1 RET XIANS1: MOV R0,#11101011B MOV A,R0 MOV P0,A LCALL DELAY1 RET XIANS2: MOV R0,#00110010B MOV A,R0 MOV P0,A LCALL

温馨提示

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

评论

0/150

提交评论