《毕业设计(论文)单片机步进电机的控制1.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)单片机步进电机的控制1.doc(35页珍藏版)》请在三一办公上搜索。
1、 摘 要此控制系统的设计,由硬件设计和软件设计两部分组成。其中,硬件设计主要包括单片机最小系统、键盘控制模块、步进电机驱动模块、LCD显示模块等功能模块的设计,以及硬件电路在电路板上的实现。软件设计包括主程序以及各个模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度通过LCD液晶显示屏显示。本系统具有智能性、实用性及可靠性的特点。关键词: 步进电机;单片机;转速控制;方向控制;角度控制 目 录摘 要I第1章 引言11.1 步进电机介绍11.2系统功能2第2章 方案论证与比较32.1 步进电机的选择32.2 单片机的选择32.3 步进电机驱动电路的设计4第3章
2、硬件电路设计53.1 硬件设计思路53.2总体设计框图53.3单片机系统63.3.1 单片机概述63.3.2 STC89S52单片机73.4 步进电机103.4.1 步进电机概述103.4.2 步进电机的特性113.5 LCD12864液晶.11 3.5.1 LCD12864液晶屏概述.11 3.5.2 LCD12864液晶屏的用.12 3.6外围电路设计及分析3.6.1 键盘控制电路173.6.2步进电机驱动电路183.7 步进电机控制系统电路图213.8 步进电机控制系统实物图21第4章 软件设计234.1 程序设计思路234.2程序流程图234.2.1 主程序流程图234.2.2 键盘处
3、理子程序流程图23第5章 调试与改进.265.1 调试与改进265.2 运行结果26第6章 总结与展望27参考文献28致谢29第1章 引言1.1 步进电机介绍步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为制执行元件,是电气自动化的关键产品之一, 广泛应用在各种自动化控制系统和精密机械等领域。例如,在仪器仪表,机床设备以及计算机的外围设备中(如打印机和绘图仪等),凡需要对转角进行精确控制的情况下,使用步进电机最为理想。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。 步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。步进电机靠一种叫环形分
4、配器的电子开关器件,通过功率放大器使励磁绕组按照顺序轮流接通直流电源。由于励磁绕组在空间中按一定的规律排列,轮流和直流电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子步进式的转动,随着脉冲频率的增高,转速就会增大。步进电机的旋转同时与相数、分配数、转子齿轮数有关。 现在比较常用的步进电机包括反应式步进电机、永磁式步进电机、混合式步进电机和单相式步进电机等。其中反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。现阶段,反应式步进电机获得最多的应用。 步进电机和普通电机的区别主要就在于其脉冲驱动的形式,正是这个特点,步进电机可以和现代的数字控制技术相结合
5、。不过步进电机在控制的精度、速度变化范围、低速性能方面都不如传统的闭环控制的直流伺服电动机。在精度不是需要特别高的场合就可以使用步进电机,步进电机可以发挥其结构简单、可靠性高和成本低的特点。使用恰当的时候,甚至可以和直流伺服电动机性能相媲美。 步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。早期的步进电机输出转矩比较小,无法满足需要,在使用中和液压扭矩放大器一同组成液压脉冲马达。随着步进电动机技术的发展,步进电动机已经能够单独在系统上进行使用,成为了不可替代的执行元
6、件。比如步进电动机用作数控铣床进给伺服机构的驱动电动机,在这个应用中,步进电动机可以同时完成两个工作,其一是传递转矩,其二是传递信息。步进电机也可以作为数控蜗杆砂轮磨边机同步系统的驱动电动机。除了在数控机床上的应用,步进电机也可以并用在其他的机械上,比如作为自动送料机中的马达,作为通用的软盘驱动器的马达,也可以应用在打印机和绘图仪中。 步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。1.2系统功能设计的步进电机控制系统有以下功能:(1)步进电机的启停控制(2)步进电机的正反转控制(3)步进电机
7、的加速控制(4)步进电机的减速控制第2章 方案论证与比较2.1 步进电机的选择方案一:选择反应式步进电动机(VR)。采用高导磁材料构成齿状转子和定子,其结构简单,生产成本低,步距角可以做的相当小,但动态性能相对较差。方案二:选择永磁式步进电动机(PM)。转子采用多磁极的圆筒形的永磁铁,在其外侧配置齿状定子。用转子和定子之间的吸引和排斥力产生转动,转动步的角度一般是5.625。它的出力大,动态性能好;但步距角一般比较大。方案三:选择混合步进电动机(HB)。这是PM和VR的复合产品,其转子采用齿状的稀土永磁材料,定子则为齿状的突起结构。此类电机综合了反应式和永磁式两者的优点,步距角小,出力大,动态
8、性能好,是性能较好的一类步进电动机,在计算机相关的设备中多用此类电机。由于永磁式步进电机的动态性能比较好,而且结构相对比较简单,价格适中,是电子业余爱好者中常用的步进电机。故在此选用永磁式步进电机。2.2 单片机的选择方案一:选择ARM7TDMI S3C44BOX单片机S3C44BOX单片机包含ARM7TDMI处理器。ARM7TDMI处理器是ARM公司通用的32位微处理器家族的成员之一,是一种高性能、廉价、低功耗的RISC处理器,同时又具有非常丰富的片上资源,非常适合嵌入式产品的开发。方案二:选择STC89C52单片机STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-F
9、lash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。STC89C52功能强大,操作简便,故在本次试验中采用STC89C52作为单片机。2.3 步进电机驱动电路的设计方案一:使用多个功率放大器件驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运
10、行起来会不稳定,而且电路的制作也比较复杂。方案二:使用ULN2003八NPN达林顿连接晶体管驱动电机简介:高耐压、大电流复合晶体管ICULN2003 ,ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成。 特点: ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还 可以在高负载电流并行运行。所以在本实验中才用ULN2003作为步进电机驱动电路驱动
11、芯片。第3章 硬件电路设计3.1 硬件设计思路步进电机控制系统共分为四个模块:单片机最小系统模块、键盘控制模块、数码显示模块、步进电机驱动模块。单片机最小系统主要由复位电路和时钟电路组成。复位电路为单片机系统提供可靠复位,使单片机能正常启动。时钟电路采用外部时钟方式,保证单片机个功能部件都是以时钟频率为基准,有条不紊地一拍一拍地工作。键盘控制模块包括启动键、正转控制键、反转控制键、加速键和减速键、停止键分别与单片机的p1.0、p1.1、p1.2、p1.3、p1.4、p1.5相连。实现对步进电机的控制。采用lcd液晶显示屏来显示步进电机的实际转动速度。步进电机驱动模块选用八NPN达林顿连接晶体管
12、2803为步进电机提供脉冲信号,驱动步进电机转动。该模块与单片机的P2.0P2.3相连。3.2总体设计框图总体设计框图如图3-1所示: STC89C52键盘控制模块电机驱动模块步进电机图3-1总体设计框图 说明如下:(1) 单片机接受键盘信息,改变系统内部变量值。(2) 单片机输出脉冲信号,控制步进电机转动。3.3单片机系统 3.3.1 单片机概述目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 近年,由于CHMOS技术的进步,大大地促进了单片机的CMOS化。CMOS芯片除了
13、低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80C51取代8051为标准MCU芯片的原因。因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。CHMOS和HMOS工艺的结合。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已在于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。 随着半导体集成工艺的不
14、断发展,单片机的集成度将更高、体积将更小、功能将列强。在单片机家族中,8051系列是其中的佼佼者,加之Intel公司将其MCS 51系列中的8051内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与8051单片机兼容的基础上改善了8051的许多特性。这样,8051就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为8051系列。8051单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,8051可能最终形成事实上的标准MCU芯片。单片机
15、是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。 单片机是通过内部总线把计算机的各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;/数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。单片机作为计算机发展的一个重要领域,应用一个较科学的分类方法。根据目前发展情况,从不同角
16、度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。 由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域 ,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。3.3.2 STC89S52单片机STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable
17、and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如图3-2所示:图3-2 单片机总控制电路(1) 时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在
18、530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图3-3所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟
19、P1和P2,供单片机使用。图3-3 外部方式时钟电路(2)复位及复位电路 复位操作:复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。 复位信号及其产生:RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电
20、路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3-4所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,图3-4 复位电路上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。STC89C5
21、2具体介绍如下: 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编
22、程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7STC89C52主要功能如表一所示。表一 STC89C52主要功能 主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率
23、0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.4 步进电机3.4.1 步进电机概述步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途很广。使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步
24、距角)。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。3.4.2 步进电机的特性步进电机转动使用的是脉冲信号,而脉冲是数字信号,这恰是计算机所擅长处理的数据类型。从20世纪80年代开始开发出了专用的IC驱动电路,今天,在打印机、磁盘器等的OA装置的位置控制中,步进电机都是不可缺少的组成部分之一。总体上说,步进电机有如下优点:(1) 不需要反馈,控制简单。(2) 与微机的连接、速度控制(启动、停止和反转)及驱动电路的设计比较
25、简单。(3) 没有角累积误差。(4) 停止时也可保持转距。(5) 没有转向器等机械部分,不需要保养,故造价较低。(6) 即使没有传感器,也能精确定位。(7) 根椐给定的脉冲周期,能够以任意速度转动。但是,这种电机也有自身的缺点。(8) 难以获得较大的转矩(9) 不宜用作高速转动(10) 在体积重量方面没有优势,能源利用率低。(11) 超过负载时会破坏同步,高速工作时会发出振动和噪声。3.5 LCD12864液晶屏3.5.1LCD12864液晶屏概述 LCD12864汉字图形点阵液晶显示模块,可以显示汉字及图形内置8192个中文汉字(16*16点阵,16*8=128,16*4=64,一行只能显示
26、8个汉字,4行:)、128个字符(8*16点阵)及64*256点阵RAM(GDRAM)。主要技术参数和显示特性:电源:VDD3.3+5v(内置升压电路,无需负压);显示内容:128列*64行显示颜色:黄绿LCD类型:STN与MUC接口:8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。外形尺寸1、 外形尺寸图 3.5.2 LCD12864液晶屏的使用 1、引脚说明: 2、 用户指令: 3、 具体指令介绍: (1)清屏指令(2) 位址归为(3) 位指归为(4) 显示状态 开/关3.5 外围电路设计及分析3.6.1 键盘控制电路键盘在单片机应用系统中能
27、实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。键盘实质是一组按键开关的集合。键盘所用开关为机械弹性开关,利用了机械触点的合、断作用。一个电压信号在机械触点的断开、闭合过程中,都会产生抖动,一般为510ms;两次抖动之间为稳定的闭合状态,时间由按键动作所决定;第一次抖动前和第二次抖动后为断开状态。按键的闭合与否,反映在输出电压上就是呈现出高电平或低电平。通过对输出电平的高低状态的检测,便可确认按键按下与否。在本设计中,高电平表示按键断开,低电平表示按键闭合状体。为了确保单片机对一次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动通常采用硬件、软件两种方法。由于硬件消抖
28、电路设计复杂,本设计中没有采用,在此不再详细叙述;软件消抖适合按键较多的情况,方便简单。其原理是在第一次检测到有键按下时,执行一段延时10ms的子程序后在确认该键电平是否仍保持闭合状态电平,如果保持闭合状态电平则确认为真正有键按下,从而消除了抖动的影响。其原理图如图3-5所示:图3-5键盘控制模块原理图3.6.2步进电机驱动电路本系统的设计目的为了高效控制步进电机的转动,因此需要将脉冲转化为步进角度,才能控制步进电机转动,我们在这里采用ULN2003为步进电机提供脉冲信号。管脚如图3-6所示:图3-6内部管脚图ULN2003内部集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚
29、封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。 ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。 ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。比如1脚输入,16脚输出,你的负载接
30、在VCC与16脚之间,不用9脚。 ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。 ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器。 ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。引脚如图
31、3-7所示: 图3-7 ULN2003芯片引脚图ULN2003芯片引脚介绍:引脚1:CPU脉冲输入端,端口对应一个信号输出端。 引脚2:CPU脉冲输入端。 引脚3:CPU脉冲输入端。 引脚4:CPU脉冲输入端。 引脚5:CPU脉冲输入端。 引脚6:CPU脉冲输入端。 引脚7:CPU脉冲输入端。 引脚8:接地。 引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。 引脚10:脉冲信号输出端,对应7脚信号输入端。参考接法如图3-8所示: 图3-8 参考电路接法引脚1
32、1:脉冲信号输出端,对应6脚信号输入端。 引脚12:脉冲信号输出端,对应5脚信号输入端。 引脚13:脉冲信号输出端,对应4脚信号输入端。 引脚14:脉冲信号输出端,对应3脚信号输入端。 引脚15:脉冲信号输出端,对应2脚信号输入端。引脚16:脉冲信号输出端,对应1教信号输入端。驱动电路如图3-9所示:图3-9 步进电机驱动原理图3.7 步进电机控制系统电路图通过上述对步进电机控制系统设计与分析,步进电机控制系统总体设计电路如图3-10所示:图3-10 步进电机控制系统总体设计电路图3.8步进电机控制系统实物图步进电机控制系统PCB如图3-11所示:图3-11 步进电机控制系统实物图第4章 软件
33、设计4.1 程序设计思路步进电机控制系统的软件需要同时完成读取键盘、处理键盘、控制步进电机转动等任务,这就必须通过查询技术来实现。在本设计中,主程序采用查询方式扫描键盘端口,检测按键动作是否发生,若有按键动作则处理键盘,根据按键实现键盘的实时处理功能。查询控制步进电机的转动。 4.2程序流程图4.2.1 主程序流程图步进电机控制系统的主程序在对整个系统初始化后主要完成读键盘和处理键盘的功能,如图4-1所示:开始初始化参数读键盘键盘处理图4-1 步进电机控制系统主程序流程图系统上电复位后,先调用初始化子程序,对步进电机各端口,相关参数进行初始化。初始化完成后,步进电机处于停止状态,然后循环扫描按
34、键是否被按下。如果检测到有按键被按下,先软件去抖动,确定被按下后则执行相应的子程序,然后返回,继续执行主程序。4.2.2 键盘处理子程序流程图按键处理子程序流程图如图4-2所示:开始查询按键P1.5是否按下Y界面切换NYP1.0是否按下电机正传NYP1.1是否按下电机反转NP1.2是否按下Y电机加速NP1.3是否按下Y电机减速NYP1.4是否按下电机停止退出图4-2键盘处理子程序流程图键盘处理子程序开始时要从存放实际键值的参数中取出刚读取到的键值送到累加器A,依次判断累加器A的低四位。若检测到低电平,则说明与该位对应的按键按下,从而转到相应的处理子程序段,完成相应的操作,实现相应的功能后返回。
35、若没有检测到高电平,则返回。第5章 调试与改进5.1 调试与改进在系统完成后测试系统,检查硬件和软件是否能够协调运行,并对系统出现的情况进行分析,看是否能够达到系统创作之初所设想的效果,如达不到则重新修改系统的硬件结构或者修改软件的程序部分,直到达到设计需要为止。本系统的设计思路为:首先从整体上划分出各功能模块,然后硬件和软件同时进行依次完成各个功能模块,最后将各个模块联系起来完成整个系统。在硬件调试的过程中,遇到了很多问题。主要有:设计好单片机最小系统后,上电复位,程序不能正常运行,检查后发现单片机的31引脚未接高电平。31脚为内外程序存储器选择控制端,当保持低电平时,只访问外部程序存储器,
36、不论是否有内部程序存储器;31脚保持为高电平时,单片机优先访问内部程序存储器,PC值超出内部程序存储器最大值时才执行外部程序存储器内的程序。修改电路板,使单片机31引脚接上高电平后问题解决。软件测试的时候也有些问题,主要有:(1) 键盘程序段设计完成后,调试运行,当按下加速键后,速度迅速增加到最高转速,多次调试问题没有解决,最后在老师的帮助下,发现键盘触发方式为电平触发,增加相应程序代码,将电平触发修改为边沿触发,从新运行程序,问题得到解决。(2) 控制步进电机转动的程序段完成后,调试发现对步进电机速度的控制范围过小,查阅资料后发现设计思路不太合理,原先的设计思路是用主程序控制步进电机转动,采
37、用延时方式控制步进电机速度,由定时器处理键盘;随即改进程序,主程序用来处理键盘,由定时器控制步进电机转动,步进电机转动速度由定时器定时时间决定。问题得到解决,不仅扩大了步进电机速度的控制范围,也使得单片机对步进电机速度的控制更加精确。5.2 运行结果连接好硬件电路,上电复位,程序开始运行。此时步进电机不转动,按下正转键,步进电机开始转动,初始值设为正传,按反转键开始反转,再按正传键则开始正传。当按下加速键时电机开始加速,当按下减速键时电机开始减速。运行结果正常,符合设计要求。第6章 总结与展望经过老师耐心细致的指导,经过近一个月的努力,本次毕业设计课题步进电机控制系统告一段落。步进电机控制系统
38、主要分为硬件设计和软件设计两个部分:硬件设计主要是把单片机最小系统、键盘控制模块、步进电机驱动模块、等各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件运行提供一个硬件平台。软件设计主要是通过编写程序代码,实现对整个系统的控制。在系统上电复位后程序自动运行,通过接受查询外部的键盘参数值,控制步进电机的启停,以及转速的增减和转动方向的改变;本系统具有相当的实用功能,能基本符合实际应用需求,本次设计由于设计时间较短,个人能力以及精力等因素的限制,加之设计经验的不足,该系统还有许多不尽如人意的地方。该系统未能完全的实现设计的所有功能。如:利用键盘输入转速值实现转速的控制,动态设置最低转速和最
39、高转速等。通过这次毕业设计,使我从一开始对系统的不太熟悉,到能开发一个简单的系统,在这整个过程中我学到了很多东西,掌握了一些常用的开发技能,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。近一个学期的设计,使我受益匪浅。我不仅了解了把理论设计转换成现实实物的整个过程。如:电路设计、分析计算、画电路图、焊接电路、检查调试、软件流程控制、编写调试软件、烧写软件到整个软硬件系统的调试,最后直到系统完成。为我以后的设计打下了一个好的基础。而且使我更加熟悉了整个设计的过程和一些软件及硬件设备的使用。对我以后面对这方面的工作
40、有了很大的帮助。参考文献1 王静霞。单片机应用技术C语言版。北京:电子工业出版社,2009。2 谭浩强。C语言程序设计。北京:清华大学出版社,2000。3 夏路易、石宗义。电路原理图与电路版设计教程。北京:广益印刷有限公司,2002.4 陈梓城。模拟电子技术基础。北京:高等教育出版社,2007.5 刘宝廷.步进电动机及其驱动控制系统M.哈尔滨:哈尔滨工业大学出版社.1997。6 陆春.步进电机细分调速系统的研究M.北京:北京交通大学硕士毕业论文.20037 松井信行.控制用电机入门M.北京:科学出版社.2000致谢经过很长时间的努力,我们在戴老师的耐心帮助和自己的努力下终于完成了此次设计,并按设计要求实现步进电机的正传,反转,加速,减速功能。通过这次设计使我们从中学到到了很多课本上学不到的知识,了解了步进电机的工作原理及精确控制,并学会了用单片机开发产品的完整的过程,明白了设计的概念。通过自己亲自去动手和调试我明白的实践的重要性,明白了理论结合实践的含义,同时也大大的提高了自己的动手能力能力,这在我以后的工作中都是非常有用的。在这次设计中,感谢戴老师对我们论文的指导和修改,感谢同学的帮助,在此表示衷心的感谢!