1、届分类号单位代码临沂大学毕业论文基于单片机的步进电机控制系统设计姓名学号年级专业系(院)指导教师年月日临沂大学摘要步进电动机由于用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。本文介绍的是一种基于单片机的步进电机的系统设计,用汇编语言和语言编写出电机的正转、反转、调速、停止程序,通过单片机、电机的驱动芯片ULN2001以及相应的按键实现以上功能,并且步进电机的工作状态要用LCD液晶显示器显示出来。本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试,同时介绍了调试过程中出现的问题以及解决
2、问题的方法。该设计具有思路明确、可靠性高、稳定性强等特点,通过调试实现了上述功能。关键词步进电机;脉宽调制;驱动机构;单片机;转动临沂大学DESIGNOFTHECONTROLSYSTEMOFSTEPMOTORTHEOPENLOOPSYSTEMWHICHISCOMPOSEDBYSTEPMOTORISSIMPLE,CHEAPANDVERYPRACTICAL,SOTHEREAREVERYWIDERANGEOFAPPLICATIONSINPRINTERSANDOTHEROFFICEAUTOMATIONEQUIPMENTANDVARIOUSCONTROLDEVICES,ANDMANYOTHERFIELD
3、STHISARTICLEDESCRIBESONEDESIGNOFSTEPMOTORSYSTEMBASEDONMICROCONTROLLERTHEPROGRAMOFTHEPREPARATIONOFAMOTOR,REVERSE,ADJUSTSPEED,STOPISWRITTENBYCOMPILELANGUAGETHEABOVEFUNCTIONSAREREALIZEDTHROUGHTHEMICROCONTROLLER,MOTORDRIVERCHIPULN2001ANDCORRESPONDKEY,ANDTHEWORKSTATEOFSTEPPERMOTORISDIAPLAYEDTHROUGHTHELIG
4、HTEMITTINGDIODETHISARTICLEINTRODUCESTHEPRINCIPLEOFSTEPPERMOTORANDSINGLECHIPMICROCOMPUTER,THESYSTEMHARDWARECIRCUIT,THEPROGRAMCOMPONENTS,WHILESOFTWAREANDHARDWAREFORTHEDEBUGGING,ATTHESAMETIMEINTRODUCESTHEPROBLEMSWHICHAREAPPEAREDINTHEDEBUGGINGPROCESSANDTHESOLUTIONSOFTHEPROBLEMSTHEDESIGNHASTHEADVANTAGESO
5、FCLEAR,HIGHRELIABILITY,STRONGSTABILITY,ANDTHEABOVEMENTIONEDFUNCTIONSAREREALIZEDTHROUGHTHEDEBUGGINGKEYWORDSSTEPPINGMOTORPULSEWIDTHMODULATEDDRIVINGMECHANISMSINGLECHIPROTATION临沂大学目录1引言111课题研究的目的和意义112国内外研究概况12步进电机与单片机简介121步进电机介绍122步进电机驱动系统介绍623单片机原理83硬件电路的设计1231系统整图1232电源部分1233最小系统1334驱动部分1435状态指示部分143
6、6按键部分1437时钟部分1538复位部分1539KEILUVISION简介与调试15310PROTEUS仿真步进电机正转16311PROTEUS仿真步进电机反转17312PROTEUS仿真总图与PROTEUS简介174软件设计2341系统开发软硬件环境2342系统程序框图2443系统程序256结论31参考文献33致谢34临沂大学11引言11课题研究的目的和意义步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打
7、印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。12国内外研究概况步进电机是国外发明的。中国在文化大革命中已经生产和应用,例如江苏、北京都生产,而且都在各行业使用,驱动电路所有半导体器件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计数器,触发器,环形分配器。国外在大功率的工业设备驱动上,目前基本不使用大扭矩步进电动机,因为从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来比较,比较不划算,还是用直流电动机,加电动机编码器
8、整体技术和经济指标高。一些少数高级的应用,就用空心转杯电机,交流电机。国外在小功率的场合,还使用步进电机,例如一些工业器材,工业生产装备,打印机,复印件,速印机,银行自动柜员机。国外用许多现代的手段将步进电机排挤出驱动应用,除了前面提到的旋转编码器,打印机还使用光电编码带或感应编码带配合直流电动机,实现闭环直线位移控制。国内过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理论与工程分析和应用能力强,先进的控制理论作为软件,写在控制器内部。在卫星、雷达等应用场合,中国在文化大革命后期,就生产了力矩电机,就生产了环形
9、力矩电机,在高品质的控制场合,有时还不能使用步进电机。步进电机的细分控制,在改革开放初期,国内就已经基本掌握,这与交流电动机的矢量控制相比,难度要低得多。2课步进电机与单片机简介21步进电机介绍211步进电机概述步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。临沂大学2您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。一般步进电机的精度为步进角的35,且不累积。步进电机是将电脉冲信号转变为角位移或线位移的开环
10、控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。本次毕业设计采用的是步距角为18度的四相八拍永磁式步进电机。步进电机的基本参数(一)步进电机的静态指标术
11、语1、相数产生不同对N、S磁场的激磁线圈对数。常用M表示。2、拍数完成一个磁场周期性变化所需脉冲数或导电状态用N表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即ABBCCDDAAB,四相八拍运行方式即AABBBCCCDDDAA3、步距角对应一个脉冲信号,电机转子转过的角位移用表示。360度(转子齿数运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为360度/(504)18度(俗称整步),八拍运行时步距角为360度/(508)09度(俗称半步)。4、定位转矩电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)5、静转矩电
12、机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。(二)步进电机动态指标及术语1、步距角精度步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示误差/步距角100。不同运行拍数其值不同,四拍运行时应在5之内,八拍运行时应在15以内。临沂大学32、失步电机运转时运转的步数,不等于理论上的步数。称之为失步3、失调角转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,
13、由失调角产生的误差,采用细分驱动是不能解决的。4、最大空载起动频率电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。5、最大空载的运行频率电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。6、运行矩频特性电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电
14、机。7、电机的共振点步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180250PPS之间(步距角18度)或在400PPS左右(步距角为09度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。8、电机正反转控制当电机绕组通电时序为AABBBCCCDDDA时为正转,通电时序为DADCDCBCBABA时为反转。212步进电机的工作原理步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步
15、进电机的角位移量与脉冲数成正比,它的转速与脉冲频率F成正比,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。临沂大学4图1四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、
16、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图22所示图2步进电机工作时序波形图213步进电机的分类与选择现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。反应式步进电动机采用高导磁材料构成齿状转子和定子,其结构简单,生产成本低,步距角可以做的相当小,一般为
17、三相,可实现大转矩输出,步进角一般为15度,但噪临沂大学5声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩,但动态性能相对较差。永磁式步进电机转子采用多磁极的圆筒形的永磁铁,在其外侧配置齿状定子。用转子和定子之间的吸引和排斥力产生转动,它的出力大,动态性能好,但步距角一般比较大。一般为两相,转矩和体积较小,步进角一般为75度或15度。混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相两相步进角一般为18度而五相步进角一般为072度。这种步进电机的应用最为广泛,它是PM和VR的复合产品,其转子采用齿状的稀土永磁材料,定子则为齿状的
18、突起结构。此类电机综合了反应式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机,在计算机相关的设备中多用此类电机。步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。1、步距角的选择电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有036度/072度(五相电机)、09度/18度(二、四相电机)、15度/3度(三相电机)等。2、静力矩的选择步进电机的动态力矩一下子很难确定,我们往往先确定电
19、机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的23倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)。3、电流的选择静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压)。4、力矩与功率换算步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下PM2N/60P2NM/60其P
20、为功率单位为瓦,为每秒角速度,单位为弧度,N为每分钟转速,M为力矩单位为牛顿米P2FM/400半步工作)临沂大学622步进电机驱动系统介绍221步进电机驱动系统简介步进电机不能直接接到交直流电源上工作,而必须使用专用设备步进电机驱动器步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度上取决于驱动器的优劣。典型的步进电机驱动系统是由步进电机控制器、步进电机驱动器和步进电机本体三部分组成。步进电机控制器发出步进脉冲和方向信号,每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个步距角,即步进一步。步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无或频率的高低。控制器的方向
21、信号决定步进电机的顺时针或逆时针旋转。通常,步进电机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。步进电机驱动器一旦接收到来自控制器的方向信号和步进脉冲,控制电路就按预先设定的电机通电方式产生步进电机各相励磁绕组导通或截止信号。控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机驱动器的功率驱动部分。功率驱动电路向步进电机控制绕组输入电流,使其励磁形成空间旋转磁场,驱动转子运动。保护电路在出现短路、过载、过热等故障时迅速停止驱动器和电机的运行。222步进电机绕组的电气特性步进电机各相绕组都是在铁心上的铜线圈,电阻和电感是电机相绕组的两个固有属性
22、,电机的性能和这两个因素密切相关。绕组通电时,电感使绕组电流上升速度受到限制,因此影响电机绕组电流的大小。绕组线圈的电阻是电机温升和电能损耗的主要因素。图3电感电阻串联电路及其电流波形临沂大学7步进电机的相绕组可以等效为一个电感一电阻串联电路。图23表明了一个电感一电阻电路的电气特性。在T0时刻,电压V施加到该电路上时,电路中的电流变化规律为ITV1ERT/L/R通电瞬间绕组电流上升速率为DI0/DTV/T经过一段时间,电流达到最大值IMAXV/RL/R定义为该电路的时间常数,是电路中的电流达到最大电流IMAX的63所需要的时间。在TT时刻,电路断开与直流电压源V的连接,并且短路,电路中的电流
23、以初始速率一V/L开始下降,电流变化规律为ITVERTT1/L/R不同频率的矩形波电压施加到该电路上,电流波形如图32所示。低频时电流能够达到最大值A当矩形波频率上升达到某一临界频率,电流刚达到最大值就开始下降B;矩形波频率超过此临界值后,绕组中的电流不能达到最大值C。因为步进电机转矩的大小与绕组的电流成正比,所以电机低速运行时,电机能够达到其额定转矩,而在某一特定频率以上运行时,绕组电流随着频率的提高逐渐下降,电机转矩也相应逐渐减小,从而降低了高速运转时带负载能力。图4不同频率脉冲作用下电感电阻电路的电流波形临沂大学8要改善电机高速运行时的性能,有两种办法提高电流上升速度VA和减小时间常数L
24、/R可以通过加大绕组的电压从而增加电流上升的速率得时间常数。或者在电路中串联电阻,使L/R减少。23单片机原理231单片机原理概述单片机(SINGLECHIPMICROCOMPUTER)是把微型计算机主要部分都集成在一块芯片上的单芯片微型计算机。图25中表示单片机的典型结构图。由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求,所以单片机在工业过程及设备控制中得到了广泛的应用。图5典型单片机结构图232单片机的应用系统单片机在进行实时控制和实时数据处理时,需要与外界交换信息。人们需要通过人机对话,了解
25、系统的工作情况和进行控制。单片机芯片与其它CPU比较,功能虽然要强得多,但由于芯片结构、引脚数目的限制,片内ROM、RAM、I/O口等不能很多,在构成实际的应用系统时需要加以扩展,以适应不同的工作情况。单片机应用系统的构成基本上如图6所示。图6单片机的应用系统单片机应用系统根据系统扩展和系统配置的状况,可以分为最小应用系统、最小功耗系统、典型应用系统。本设计是设计一款最小应用系统,最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制临沂大学9系统,如开关量的输入/输出控制、时序控制等。对于片内有ROM/EPROM的芯片来说,最小应用系统即为配有晶
26、体振荡器、复位电路和电源的单个芯片;对与片内没有ROM/EPROM芯片来说,其最小应用系统除了应配置上述的晶振、复位电路和电源外,还应配备EPROM或EEPROM作为程序存储器使用。233AT89C51简介AT89C51的主要参数如表1所示表1AT89C51的主要参数型号存储器定时器I/0串行口中断速度(MH)其它特点EPROMROMRAM89C514K1282321624低电压AT89C51含EPROM电可编闪速存储器。有两级或三级程序存储器保密系统,防止EPROM中的程序被非法复制。不用紫外线擦除,提高了编程效率。程序存储器EPROM容量可达20K字节。AT89C51是一种带4K字节闪烁可
27、编程可擦除只读存储器(FPEROMFALSHPROGRAMMABLEANDERASABLEREADONLYMEMORY)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其引脚如图27所示。1、主要特性与MCS51兼容4K字节可编程闪烁存储器寿命1000写/擦循环图7单片机的引脚排列临沂大学10全静态工作0HZ24HZ三级程序存储器锁定1288位内部
28、RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2、管脚说明VCC供电电压。GND接地。P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低
29、电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口P3口管
30、脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示P3口管脚备选功能P30RXD(串行输入口)临沂大学11P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(记时器0外部输入)P35T1(记时器1外部输入)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST复位输入。当振荡
31、器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器
32、取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。3、I/O口引脚AP0口,双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用;BP1口,8位准双向I/O口;CP2口,8位准双
33、向I/O口,与地址总线(高8位)复用;DP3口,8位准双向I/O口,双功能复用口。4、振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。临沂大学12有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。5、芯片擦除整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10MS来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,A
34、T89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3硬件电路的设计31系统整图系统整图如图8所示,本系统采用外部中断方式,P2口作为信号的输入部分,P0口为发光LCD显示部分,P1口作为电机的驱动部分。图8系统整图32电源部分利用LM7812和LM7805芯片得到12V和5V的电压,它们的应用要注意以下几点(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;(2)输出电
35、流不能太大,15A是其极限值。大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿;(3)输入输出压差也不能太小,大小效率很差。其中12V电压给步进临沂大学13电机供电,5V电压则给单片机供电。分别如图9、图10所示。(1)、产生12V的电压给步进电机供电图912V电路部分(2)产生5V的电压给单片机供电图105V电路部分33最小系统基本电路的最后一个部分是存储器的设置,如果31脚接电源,则采用内部存储器,如果31脚接地,则采用外部存储器。将时钟电路、复位电路与单片机连接并设置好存储器,就构成了最小系统。这是做任何单片机设计都必须有的部分。如图11。临沂大学14图11最小系统34驱动
36、部分此电路是步进电机的驱动部分,我选用的是ULN2001芯片来驱动的,ULN2001系列是一款高耐压,大电流达林顿管驱动器,包含7个NPN达林顿管。如图12。图12驱动部分35状态指示部分状态指示用P0口控制LCD的显示,STA显示的是转动的方向,SPD显示的是转动的速度,RUN显示的是机器是否运转,用它来表示步进电机所处的状态。如图13。图13状态指示部分36按键部分本次设计选用的是单片机的P2口来控制信号的输入,所以把按键开关和P2口连接起来,当按下开关KEY1时,相当于给P20口一个低电平,开始转动;当按下开关KEY2时,相当于给P21口一个低电平,步进电机反转,相反则正转;当按下开关K
37、EY3时,相当于给P22口一个低电平,调节转速。如图14。临沂大学15图14按键部分37时钟部分时钟电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度,本次设计采用的晶振为12MHZ。如图15。图15时钟部分38复位部分根据应用的要求,复位操作通常有两种基本形式上电复位和上电或开关复位。本例使用上电复位。如图16。图16复位部分39KEILUVISION4简介及调试KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。KEIL提供了包括C编译
38、器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部分组合在一起。运行KEIL软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么KEIL几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。2009年2月发布KEILVISION4,KEILVISION4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个
39、整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,临沂大学16还添加了一些其他新功能。2011年3月ARM公司发布最新集成开发环境REALVIEWMDK开发工具中集成了最新版本的KEILUVISION4,其编译器、调试工具实现与ARM器件的最完美匹配。C语言仿真如图17图17KEILUVISION调试310PROTEUS仿真步进电机正转PROTEUS仿真正转局部图。如图18临沂大学17图18PROTEUS仿真正转311PROTEUS仿真步进电机反转PROTEUS仿真反转局部图。如图19图19PROTEUS仿真反转312PROTEUS仿真总图与PROTEUS简介以下是PROTEUS
40、仿真时的各种情况。1、速度1正转。如图20。图20速度1正转临沂大学182、速度1反转。如图21。图21速度1反转3、速度1正转停止。如图22图22速度1正转停止临沂大学194、速度2正转停止。如图23。图23速度2正转停止5、速度3正转停止。如图24。图24速度3正转停止临沂大学206、速度1反转停止。如图25。图25速度1反转停止7、速度2反转停止。如图26。图26速度2反转停止临沂大学218、速度3反转停止。如图27。图27速度3反转停止9、速度2正转。如图28。图28速度2正转临沂大学2210、速度3正转。如图29。图29速度3正转11、速度2反转。如图30。图30速度2反转临沂大学2
41、312、速度3反转。如图31。图31速度3反转PROTEUS软件是英国LABCENTERELECTRONICS公司出版的EDA工具软件件中国。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。PROTEUS是世界上著名的EDA工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理
42、器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年即将增加CORTEX和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、KEIL等多种编译器。4软件设计41系统开发软硬件环境与其它的微处理器一样,开发步进电机驱动系统控制程序也需要一套完整的软件和硬件开发工具。近年来,随着以51单片机为内核的单片机的不断发展和普及,国外的一些公司纷纷推出了以51单片机为基础的集成开发环境。本次毕业设计选用的单片机临沂大学24是AT89C51。42系统程序框图系统分为电机正转、电机反转、开始与转速
43、的几部分组成,其主程序框图如图32所示。主程序YNYN判断正反转开始初始化判断正反转并显LCD1602初始化显示基本字符判断运行速度并显示KEY1是否按下显示“OFF”显示“ON”判断是否为首次按键运行电动机,并确定延时时间判断正反转运行电动机,并确定延时时间临沂大学25图32系统程序框图43系统程序C程序INCLUDE“REG51H“INCLUDE“INTRINSH“INCLUDE“ABSACCH“DEFINEBUSY0X80DEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTSBITRSP23SBITRWP24SBITEP25SBITKEY1P20SBI
44、TKEY2P21SBITKEY3P22UCHARCODETAB80X02,0X06,0X04,0X0C,0X08,0X09,0X01,0X03UCHARTEMPVOIDDELAYUCHARKUINTI,JFORI0IKI临沂大学26FORJ0J60JVOIDTEST_1602BUSYP00XFFE1RS0RW1_NOP_NOP_WHILEP0_NOP_E1_NOP_E0VOIDWRITE_1602COMMANDUCHARCOTEST_1602BUSYRS0RW0临沂大学27E0_NOP_P0CO_NOP_E1_NOP_E0VOIDWRITE_1602DATAUCHARDATATEST_1602
45、BUSYP0DATARS1RW0E1_NOP_E0VOIDINIT_1602VOIDWRITE_1602COMMAND0X38DELAY5WRITE_1602COMMAND0X01DELAY5临沂大学28WRITE_1602COMMAND0X06DELAY5WRITE_1602COMMAND0X0FDELAY5WRITE_1602COMMAND0X0CVOIDDISPLAYONECHARUCHARX,UCHARY,UCHARDDATAYXIFYX|0X40X|0X80WRITE_1602COMMANDXWRITE_1602DATADDATAVOIDDISPLAY_1602UCHARDDATA,
46、X,YUCHARLISTLENGTH0YXWHILEX16DISPLAYONECHARX,Y,DDATALISTLENGTHLISTLENGTHX临沂大学29VOIDMAINUCHARI0UCHARDELAY_V100UCHARFLAG0P10XFFP20XFFINIT_1602DISPLAY_1602“STASPD“,0,0DISPLAY_1602“RUN“,0,1WHILE1IFKEY21DISPLAYONECHAR4,0,ZELSEDISPLAYONECHAR4,0,FIFKEY30III3WHILEKEY30SWITCHICASE0DELAY_V100DISPLAYONECHAR13,
47、0,1BREAK临沂大学30CASE1DELAY_V75DISPLAYONECHAR13,0,2BREAKCASE2DELAY_V100DISPLAYONECHAR13,0,3BREAKIFKEY10DISPLAY_1602“RUNON“,0,1IFFLAG0IFKEY21TEMP0P1TABTEMPFLAG1DELAYDELAY_VIFKEY20TEMP6P1TABTEMPFLAG1DELAYDELAY_VIFKEY21TEMPIFTEMP8TEMP0P1TABTEMP临沂大学31DELAYDELAY_VIFKEY20TEMPIFTEMP0XFFTEMP7P1TABTEMPDELAYDELA
48、Y_VELSEDISPLAY_1602“RUNOFF“,0,1结论经过为期一学期的学习和努力,本次设计顺利完成,具体结论如下1、采用单片机作为控制核心,利用其强大的功能,把按键电路和LCD显示电路,电机驱动电路有机的结合起来,组成一个操作方便,交互性强的简单系统。2、通过系统的设计实现了预期的设计目标,完成了全部的设计任务,具体功能如下完成了整个系统的硬件设计和软件编程,能通过按键电路控制步进电机的转速控制,能实现启动、正转、反转、速度控制;通过编程实现了通过单片机能输出四相八拍的脉冲控制序列。驱动电路能提供12V,03A的驱动信号;整个电机的转速,转动方向等都能通过LCD管显示出来;整个的成
49、果形式是最终以步进电机控制电路板的形式展示出来了。3、在本设计中作为电机正常工作比较重要的电机驱动模块,本设计中是采用驱动芯片ULN2001来实现的,其特点是成本低,可靠性高,出现问题容易维护,实现相对容易等特点。4、在电机工作模式上本设计实现了电机的四相八拍种脉冲控制方式。后续工作1、在本次设计中更多的是注重整体功能的实现,注重的是操作简单,所以本系统临沂大学32采用了开环控制的方式,电机也是选用的最常用的步进电机。通过在本设计中的学习和查阅资料,想要得到更高性能的控制,可以选用混合式步进电机,采用闭环的细分驱动电路。2、本设计KEY2用一个按键控制正反转,观察起来有点困难。建议以后有做类似设计任务的时候,预先考虑全面,争取一个键控制一个功能。3、本设计的硬件制作部分完全是实行的手工焊接,没有制作PCB板,这样的后果就是焊接完电路板之后容易出现问题,检查麻烦,而且要是在后期全部制作调试都完成后再中途出现问题了检查起来是相当的麻烦。所以建议以后有做类似设计任务或者实际应用的时候,尽量采用PCB电路板的形式,这样最大的好处就是硬件的可靠性高,外观美观简洁,尤其是在大量设计的时候,采用PCB电路板成本也不高,值得采用。临沂大学33参