二相步进电机控制系统的设计(单极性控制)_第1页
二相步进电机控制系统的设计(单极性控制)_第2页
二相步进电机控制系统的设计(单极性控制)_第3页
二相步进电机控制系统的设计(单极性控制)_第4页
二相步进电机控制系统的设计(单极性控制)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

学号0121011360219课程设计题目二相步进电机控制系统的设计(采用单极性控制)学院自动化学院专业自动化专业班级自动化1002班姓名李志强指导教师石云2013年7月6日课程设计任务书学生姓名李志强专业班级自动化1002班指导教师石云工作单位自动化学院题目二相步进电机控制系统的设计(采用单极性控制)初始条件设计一个二相步进电机控制系统,电机有两组带中心抽头的线圈,要求系统具有如下功能采用单极性控制,用K0K2做为通电方式选择键,K0为四相单四拍,K1为四相双四拍,K2为四相八拍;K3为启动/停止控制、K4方向控制、K5加速、K6减速;用4位LED数码管显示工作步数。用3个发光二极管显示状态正转时红灯亮,反转时黄灯亮,不转时绿灯亮;要求完成的主要任务1硬件设计系统总原理图及各部分详细原理图2软件设计系统总体流程图、步进电机四相单四拍,四相双四拍,四相八拍各模块流程图、显示模块流程图等3编写程序能够完成上述任务并用仿真软件演示4完成符合要求的设计说明书时间安排2013年6月24日2013年7月4日指导教师签名年月日系主任(或责任教师)签名年月日目录摘要11设计任务及要求的分析22方案比较及认证221驱动模块选择222单片机选型33系统实现的原理说明34硬件设计说明541单片机系统原理分析542二相步进电机工作原理分析843L298驱动电路设计1044四位LED数码管显示设计115软件设计说明1251总体流程分析与设计1252设置电机转动模式流程分析与设计1353步进电机四相单四拍,四相双四拍,四相八拍流程分析与设计1454显示模块流程分析与设计1555步进电机速度控制分析与设计166调试记录及结果分析1761总体硬件仿真设计1762调试与仿真结果分析17小结与心得体会20参考文献21附录122附录223摘要本控制系统的设计方案,以单片机为核心,辅以驱动电路,完成二相步进电机的控制。本次设计的硬件部分主要包括单片机系统、按键控制模块、步进电机驱动模块、数码显示模块等功能模块的设计,软件部分由几个模块控制子程序分别控制硬件模块的运行,最终实现对步进电机转动方向及转动模式(单四拍,双四拍,八拍)的控制,并且将步进电机的步进数动态显示在LED数码管上。本文首先分析了单片机的各型号的优缺点,简单介绍了系统的设计方案和工作原理,之后在论文的4、5章中,我分别对系统的硬件电路、软件程序进行了详细的原理介绍,并对各模块进行了设计。相结合后在PROTEUS上进行仿真,实现对步进电机转动控制。在论文的第6章中,详细记录了调试中遇到的问题与自己的调试体会,并给出了实物调试结果。关键词二相步进电机单片机PROTEUS二相步进电机控制系统的设计1设计任务及要求的分析设计的步进电机控制系统要求有以下功能1二相步进电机采用单极性控制2用K0K2作为通电方式选择键,K0为四相单四拍,K1为四相双四拍,K2为四相八拍3用K3作为启动/停止控制键4用K4作为方向控制5用K5作为加速控制6用K6作为减速控制7用4位LED数码管显示工作步数8用3个发光二极管显示状态正转时红灯亮,反转时黄灯亮,不转时绿灯亮本次设计需要对二相步进电机进行单极性控制,使其能在控制下进行正转、反转、停止和四相单四拍、四相双四拍、四相八拍运行,可以通过输出不同的脉冲序列;同时利用数码管和二极管分别显示其工作步数和工作状态。由于控制功能较为复杂,所以本系统需要采用单片机以及驱动模块进行设计。2方案比较及认证21驱动模块选择由于单片机输出电流很小,不能驱动电机的运行,所以需要添加驱动电路。驱动模块常用有ULN2003A和L298,考虑到二相步进电机需采用单极性控制,ULN2003A相当于反相器电路,故电机的驱动模块使用芯片L298实现,控制更直接,接线简洁,采用脉冲数据控制逻辑简单,稳定性好。22单片机选型单片机以其体积小、功能齐全、价格低廉、可靠性高等优点,在各个领域都获得了广泛的应用,在我国,近几年单片机也得到了广泛的应用特别是在工业控制、智能仪表等方面。目前市场上常用的单片机有INTEL、ATMEL等公司的MCS51系列,INTEL公司的251系列、96系列,ATMEL公司的AVR系列等。MCS51系列运算与寻址能力强、存储空间大、片内集成外设丰富、功耗低等。其中大部分兼容芯片有FLASH,价格便宜,常用于仪器仪表、测控系统、嵌入式系统开发。251系列和96系列具有比C51更强的寻址能力,没有累加器的瓶颈限制,有32位元的加减法指令,并且有更大的存储空间,应用于复杂的控制系统、嵌入式系统。AVR系统是基于RISC结构的FLASH单片机,其最大的特点是能够在线编程。比较这三种类型的单片机,首先AVR主要应用于家电视讯设备,侧重于在线编程,与设计需要相差稍远。251系列、96系列存储空间大,寻址能力也更强,适用于较为复杂的系统,但成本也相对较高,本系统较为简单,使用此系列有些大材小用。MCS51系列单片机以抗干扰能力强、对环境要求不高、灵活性强等别的系统所不具备的优点被广泛使用。即使非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。由于本次设计的所要实现的功能并不复杂,鉴于成本考虑,选用便宜而常用的MCS51系列较为合适。本次设计采用其中低功耗型80C51单片机。3系统实现的原理说明本次课程设计系统以单片机80C51为核心进行设计,单片机与按键、数码管、发光二极管、L298驱动模块相连接,人为操作按键,在程序控制下,单片机将通过驱动模块控制步进电机转动,并使数码管和二极管分别显示步进电机的工作步数和状态。系统的总体原理框图如下所示按键设置80C51单片机系统L298驱动模块发光二极管显示状态二相步进电机四位数码管图31系统总体原理框图本系统以单片机80C51为核心的控制系统,由P1口进行开关按键的设置,具体为P10接K0四相单四拍通电方式,低电平使电机四相单四拍运转;P11接K1四相双四拍通电方式,低电平使电机四相双四拍运转;P12接K2四相八拍通电方式,低电平使电机四相八拍运转;P13接K3启动/停止开关,高电平为停止,低电平为启动;P14接K4正/反转开关,高电平为反转,低电平为正转;P15接K5加速控制,低电平使电机运转速度加快;P16接K6减速控制,低电平使电机运转速度减慢。P2口与P0口外接4位LED数码管,显示步进步数,具体接线方式已在前面叙述,通过控制P2口的电平信号,达到片选的目的,进而实现4位数值的显示。P0口作为输出口外接负载。P3外接驱动电路L298的4个输入端,具体为P30接IN1,P31接IN2,P32接IN3,P33接IN4。这样即可通过控制单片机的P2口输出电平来实现二相步进电机的启动,停止,正反转以及单四拍,双四拍,八拍运转。另外P34接绿色发光二极管,使其在电机停转时亮;P35接红色放光二极管,使其在电机正转时亮;P36接黄色发光二极管,使其在电机反转时亮。具体工作过程需通过对单片机编程来实现。电路图如下所示K0K23K45K6P2021P223P001P0203P0405P0607K0K1K2K3K4K5K61XTAL218XTAL119ALE3031PSN29RST9P0/AD03901/138P02/AD23703/336P04/AD43505/534P06/AD6307/732P10/T211/T2EX2P123134P145156P167178P30/RXD1031/T1P32/INT0123/IT113P34/T014P37/RD1736/W1635/T115P27/A1528P20/A82121/92P2/A102323/124P24/A122525/132626/1427U1AT89C51234567891RP1ESPACK85V5VX1CRYSTAL12MHZC133PFC143PFC1510UFR110KRSTD1LEYELOWD2LEREDD3LEGRENR13KR23KR33K5VK0K1K2K3K4K5K6R410KR510KR610KR710KR810KR910KR1010K5VIN15I27ENA6OUT12OUT23B1OUT313OUT414IN310I412SENSA1B15GND8VS4VC9U2L2985V5V12V8812V图32系统电路原理图4硬件设计说明41单片机系统原理分析80C51是MCS51系列单片机中CHMOS工艺的一个典型品种。其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。该系列单片机是采用高性能的静态80C51设计,由先进CMOS工艺制造,并带有非易失性FLASH程序存储器,全部支持12时钟和6时钟操作,P89C51X2和P89C52X2/54X2/58X2分别包含128字节和256字节RAM、32条I/O口线、3个16位定时/计数器、6输入4优先级嵌套中断结构、1个串行I/O口、可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路。其主要结构组成如下1中央处理器(CPU)2内部数据存储器(内部RAM)3内部程序存储器(内部ROM)4定时器/计数器5并行I/O口6串行口7时钟电路8中断系统9外接晶体引脚XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD633P07/AD732P10/T21P11/T2EX2P123P134P145P156P167P178P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A922P22/A1023P23/A1124P24/A1225P25/A1326P26/A1427U3AT89C51图4180C51单片机管脚图单片机管脚如图41所示,下面对其各个管脚进行必要的说明。P0、P1、P2、P3口的电平与CMOS和TTL电平兼容。P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。P1、P2、P3口的每一位能驱动4个LSTTL负载。它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。当CPU不对P3口进行字节或位寻址时,内部硬件自动将口锁存器的Q端置1。这时,P3口作为第二功能使用。P30RXD(串行口输入);P31TXD(串行口输出);P32外部中断0输入;P33外部中断1输入;P34T0(定时器0的外部输入);P35T1(定时器1的外部输出);P36(片外数据存储器“写”选通控制输出);P37(片外数据存储器“读”选通控制输出)。EA/VPP访问程序存储器控制信号,当其为低电平时,对ROM的读操作限定在外部的程序存储器,当其为高电平时,对ROM的读操作是从内部存储器开始的,并可延至外部程序存储器。ALE/PROG编程脉冲PSEN外部程序存储器读选通信号,在读外部ROM时PSEN是低电平有效,以实现对ROM的读操作。RST/VPD复位信号,当输入信号延续2个周期以上的高电平有效,用以完成单片机复位初始化操作。XTAL时钟晶振输入端。42二相步进电机工作原理分析步进电机一般分为永磁式PM、反应式VR和混合式HB3种类型。目前,二相混合式步进电机的应用最为广泛。图43为二相六线式步进电机的工作原示意图。由图可知,它有2个绕组,且每个绕组都有一个中间抽头。因此,二相步进电机也就有了6根引线。当电机中的绕组通电后,其定子磁极产生磁场,将转子吸合到相应的磁极处。若绕组在控制脉冲的作用下,通电方向使定子在顺时针方向轮流产生磁场,则电机可顺时针转动;通电方向使定子在逆时针方向轮流产生磁场,则电机可逆时针转动。控制脉冲每作用一次,通电方向就变化一次,使电机转动一步,即一个步距角。脉冲频率越高,电机转动也就越快。本次课设所使用的二相步进电机需要采用单极性的接法。单极性则是指步进电机线圈中电流的流动方向是单向的。单极性驱动电路可以六线式的二相步进电机。对于二相六线式步进电机而言,2个绕组的中间抽头VDD1和VDD2都接高电平。根据步进电机的工作原理,当控制器给驱动器发出脉冲信号时,驱动器经过功率放大后,电机绕组通电的顺序为,其4个状态按顺序周而复始进行变化,电机转动若通电时序就变为AB时,电机就逆向转动。图43二相步进电机原理图任务要求需要对二相步进电机进行四相单四拍,四相双四拍和四相八拍的控制。其三者的区别在于通电时序的不一样,四相单四拍的通电方式为,而四AB相双四拍的通电方式为,四相八拍需要在此基础上进行细分,在ABBA中间插入,其通电方式为。由对应的通电方式,在结合图32,便可以得到对应的单片机管脚P30,P31,P32,P33的电平变化情况,绘制出步进电机的四相单四拍,四相双四拍,四相八拍控制方式表格。如下所示表41步进电机四相单四拍控制通电方式单片机管脚位时序P13P12P11P10通电的线圈对应二进制数转换16进制数10001A000101H20100B010004H30010001002H41000100008H表42步进电机四相双四拍控制通电方式单片机管脚位时序P13P12P11P10通电的线圈对应二进制数转换16进制数10101AB010105H20110011006H3101010100AH41001100109H表43步进电机四相八拍控制通电方式单片机管脚位时序P13P12P11P10通电的线圈对应二进制数转换16进制数10001A000101H20101B101005H30100100004H40110100106H50010A000102H61010B01010AH71000010008H81001011009H由上述所得表格,便可以通过控制单片机I/O口输出高低电平变化来实现步进电机的四拍,八拍运转。在编写程序时,设置好控制字,在I/O口做循环输出,便实现了单片机对步进电机的控制。由于单片机单独代负载能力较差,步进电机与单片机之间需要接入步进电机的驱动电路。43L298驱动电路设计由课题任务要求可知,二相步进电机需采用单极性控制,故考虑使用芯片L298来驱动步进电机。L298N为双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个HBRIDGE的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号。在接入步进电机时,OUTL,OUT2,OUT3,OUT4接二相步进电机的,,二相步进电机的对应管脚以图45为准,INPUT1INPUT4接单片机AB的I/O口,用来控制单片机的正反转以及四相单四拍,四相双四拍,四相八拍通电方式。由图45可以看出,L298内部集成有2个H桥路,对应的输入接口为IN1位P30,IN2为P31,IN3为P32,IN4为P33。对应的输出接口为OUT1接,OUT4接,OUT3接,ABOUT2接。PROTUS仿真图为图45所示BP23IN15IN27ENA6OUT12OUT23ENB11OUT313OUT414IN310IN412SENSA1SENSB15GND8VS4VCC9U2L2985V5V12V88812V图45驱动电路PROTUS仿真图44四位LED数码管显示设计任务要求需采用4位LED数码管显示工作步数,通过查阅相关资料,在仿真时采用型号7SEGMPX4CA共阳极数码管显示。其PROTUS仿真图如图46所示P20P21P22P23P00P01P02P03P04P05P06P07234567891RP1RESPACK85V图46数码管显示仿真图单片机的P0口接数码管输入管脚ABCDEFG以及DP(可以不用,直接拉高),P2口接4位数码管的片选端口1234,7段数码管对应的显示数值与输入信号的关系可以由下表得到。表44七段数码管显示功能表单片机管脚输入P00P01P02P03P04P05P06显示十六进制ABCDEFG0000001OC0H10011111F9H00100102A4H00001103B0H1001100499H0100100592H1100000682H00011117F8H0000000880H0000100990H由上表可以得到显示数字与单片机管脚输入信号的对应关系。只需要控制单片机的P0口输出信号即可显示数字,在程序设计中,定义7段显示数组为SEG0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90即可使数码管显示数字。5软件设计说明51总体流程分析与设计软件模块的分析需要根据硬件电路的设计来进行,基于上述硬件电路的分析设计,对整个程序流程需要有个整体的思考与判断。由硬件电路的设计可以看出,程序需要实现以下几个功能通过开关按键实现电机的启用与停止,正转与反转,以及四拍,八拍的运行方式;由4位LED数码管实现步进步数的显示;3个发光二极管显示电机的状态。程序设计的总体思想是单片机通过判断按键输入电平变化从而选择正反转以及四八拍的工作方式。主程序流程图如图51所示。开始K3按下扫描键盘,设置转动模式设备初始化启动电机显示步数K3弹起YYNN图51主程序流程图52设置电机转动模式流程分析与设计有硬件电路可知,电机的转动由开关K0、K1、K2、K3、K4、K5、K6来控制,我们通过80K51分别读入这六位控制数据,存放在变量TEMP中。K0按下为四相单四拍,K1按下为四相双四拍,K2按下为四相八拍,K3按下为启动,K4按下为正转抬起为反转。设置转动模式流程图如图52所示。开始检测键盘启动键是否按下N检测键盘,存入TEMPY方向键是否按下YNWAY0电机正转WAY1电机反转加减速键是否按下YNSPEED改变SPEED不变通电方式键是否按下TEMP0X03TEMP0X06MODE1,四相单四拍MODE2,四相双四拍MODE3,四相八拍TEMP0X05结束图52设置电机转动模式流程图53步进电机四相单四拍,四相双四拍,四相八拍流程分析与设计步进电机通电方式的控制字被放置在几个变量数组中,通关过转动方式选择部分程序决定转动方式后,把相应转动方式所对应的数组中相应步数对应的值赋给变量P3。变量FLAG控制拍数循环,当FLAG为4(四拍)或8(八拍)时,FLAG值清零,重新从对应数组开头选择通电方式赋值。变量STEP用来记录步数,电机每转一下,STEP值加一。电机转动部分流程图如图53所示。开始MOVE1(启动)Y电机停止绿灯亮NDELAY1(延时到)WAY0(正转)YMODE31MOTORDATAPOSITIVESINGLEFOURFLAGMOTORDATAPOSITIVEDOUBLEFOURFLAGMOTORDATAPOSITIVEEIGHTFLAG2YNMODE31MOTORDATANEGITIVESINGLEFOURFLAGMOTORDATANEGITIVEDOUBLEFOURFLAGMOTORDATANEGITIVEEIGHTFLAG2FLAG4FLAG4FLAG4FLAG4FLAG8FLAG8FLAG0FLAG0FLAG0FLAG0FLAG0FLAG0STEPSTEPSTEPSTEPSTEPSTEP结束结束图53电机单四拍双四拍八拍正反转流程图54显示模块流程分析与设计有硬件部分分析可知,LED数码管有4个管脚读入片选信号,8个管脚读入控制信号。本部分程序首先要对当前的步数值进行位数分离,将个、十、百、千位分别提取出来,然后通过片选信号选择位数读入控制字,依次进行显示。由于单片机的计算过程非常快,我们还设置了延时程序,所以看起来各位是同时显示的。数码管显示步数流程图图54所示。NUM值分离出每一位读取千位数据选择数码管千位进行显示延时2MS取消选择数码管读取十位数据选择数码管十位进行显示延时2MS取消选择显示管读取百位数据百位进行显示延时2MS取消选择显示管读取十位数据选择数码管十位进行显示延时2MS取消选择显示管开始结束图54数码管显示步数流程图55步进电机速度控制分析与设计通过速度控制按键改变速度控制变量SPEED,通过定时器0对电机步进控制脉冲之间进行延时,延时到SPEED时,DELAY1表示延时时间到。6调试记录及结果分析61总体硬件仿真设计硬件设计模块完成了对系统电路图的设计,软件模块由程序实现了各项功能;接下来需要将软件与硬件结合起来才能真正完成整个设计工作。我们采用的是PROTUS仿真软件得到了系统的硬件图,参见附录1;使用KEILC51软件的集成环境调试程序,程序代码请参见附录,在该集成环境下,创建一工程,将程序装入该工程下,调试运行无误后,该工程会自动生成HEX文件,在PROTUS仿真环境里,在单片机中载入该文件,这样便实现了单片机程序的载入。在系统完成后测试系统,检查硬件和软件是否能够协调运行,并对系统出现的情况进行分析,看是否能够达到系统创作之初所设想的效果,如达不到则重新修改系统的硬件结构或者修改软件的程序部分,直到达到设计需要为止。本系统的设计思路为首先从整体上划分出各功能模块,然后硬件和软件同时进行依次完成各个功能模块,最后将各个模块联系起来完成整个系统。62调试与仿真结果分析在硬件调试的过程中,遇到了很多问题。主要有按键设计完成后,在多次运行过程中发现按键是否按下难以直观准确判断,在此处进行改进设计,为每一个按键接上一个发光二极管,当有键按下时,相对应的发光二极管变亮,使得按键动作形象直观。在步进电机与驱动电路的连接中,需要准确的接好各个管脚,因为程序里的控制字对应着这些管脚电平的变化,不能随便接,单片机的输出口与驱动电路的输出口也需要一一对应,否则电机无法按正常的设计运转。经过调试以及对仿真电路图及程序的改正,系统得以实现任务的要求,对步进电机进行控制,仿真成功。图61为电机正转时的仿真图,电机顺时针旋转,红灯亮。图62为电机反转时的仿真图,电机逆时针旋转,黄灯亮。图63为电机停止时仿真图,绿灯亮。K0K23K45K6P201P23P01P023P045P067K0K1K2K3K4K5K61XTAL218XTAL119ALE301PSN29RST9P0/AD0391/18P02/AD2373/36P04/AD4355/54P06/AD637/72P10/T21/EX2P12334P14556P16778P30/RXD101/TP32/IN012/IT13P34/014P37/RD176/W65/T15P27/A1528P20/A8211/9P2/A0233/14P24/A2255/1366/47U1AT89C51234567891RP1ESACK85V5VX1CRYSTAL12MHZC133PFC143PFC1510UFR110KRSTD1LEYELOWD2LEREDD3LEGRENR13KR23KR33K5VK0K1K2K3K4K5K6R410KR510KR610KR710KR810KR910KR1010K5VIN15I27ENA6OUT12OUT23B1OUT313OUT414IN310I42SENSA1B5GND8VS4VC9U2L2985V5V12V12612V图61步进电机正转仿真图K0K23K45K6P201P23P01P023P045P067K0K1K2K3K4K5K61XTAL218XTAL119ALE301PSN29RST9P0/AD0391/18P02/AD2373/36P04/AD4355/54P06/AD637/72P10/T21/EX2P12334P14556P16778P30/RXD101/TP32/IN012/IT13P34/014P37/RD176/W65/T15P27/A1528P20/A8211/9P2/A0233/14P24/A2255/1366/47U1AT89C51234567891RP1ESACK85V5VX1CRYSTAL12MHZC133PFC143PFC1510UFR110KRSTD1LEYELOWD2LEREDD3LEGRENR13KR23KR33K5VK0K1K2K3K4K5K6R410KR510KR610KR710KR810KR910KR1010K5VIN15I27ENA6OUT12OUT23B1OUT313OUT414IN310I42SENSA1B5GND8VS4VC9U2L2985V5V12V31512V图62步进电机反转仿真图K0K23K45K6P201P23P01P023P045P067K0K1K2K3K4K5K61XTAL218XTAL119ALE301PSN29RST9P0/AD0391/18P02/AD2373/36P04/AD4355/54P06/AD637/72P10/T21/EX2P12334P14556P16778P30/RXD101/TP32/IN012/IT13P34/014P37/RD176/W65/T15P27/A1528P20/A8211/9P2/A0233/14P24/A2255/1366/47U1AT89C51234567891RP1ESACK85V5VX1CRYSTAL12MHZC133PFC143PFC1510UFR110KRSTD1LEYELOWD2LEREDD3LEGRENR13KR23KR33K5VK0K1K2K3K4K5K6R410KR510KR610KR710KR810KR910KR1010K5VIN15I27ENA6OUT12OUT23B1OUT313OUT414IN310I42SENSA1B5GND8VS4VC9U2L2985V5V12V0012V图63步进电机停止仿真图由仿真图可见,此系统实现了对步进电机的正反转以及停止的控制,能够利用数码管显示步数,通过发光二级管显示步进电机运行状态,此系统设计合理,满足设计要求。小结与心得体会本次课程设计综合了很多学过的知识,同时也要自学新的知识。将理论运用于实践上,结合软件和硬件,提高了理论知识和实践能力。由于时间有限,遇到了很多困难,在同学的帮助和讨论下,自己查阅很多书籍和网络资料。首先,拿到题目之后我很快就确定了利用单片机来进行设计,考虑了ATMEGAL128和80C51等单片机,由于此系统需要实现的功能简单,不需要过大的内存,所以由于成本原因选择了80C51进行设计。但是在PROTUS仿真调试时还是出现了许多问题,程序调试时,速度的控制比较麻烦,通过查阅资料最后决定在每两次电机步进之间加入延时,通过按键改变延时参数即可改变电机转动速度。运行仿真却出现了步进电机转动正常但显示管记录步数不正常的情况。经仔细检查,发现是延时的时候数码管不能进行扫描,后来决定直接用定时器来做电机步进的延时,设置DELAY参数,延时时间到就置1。本次课设经过多次调试改正错误,才得以仿真成功。单片机是此次设计中非常重要的元器件,在做完成课程设计的过程中,我查阅了一些资料对其进行学习,了解了其内部结构、存储容量以及管脚功能等知识,感到受益匪浅。调试程序是一个复杂而精细的过程,很多错误都十分细小,在意想不到的地方,我和同学互相检查对方的程序,才发现了彼此的问题。通过本次课程设计,我不仅加深了对课堂知识的理解,拓展了单片机方面的知识,掌握了PROTUS软件的应用,更培养了科学的思维方式和动手能力,与同学的交流也多出了一份学术探讨的氛围,也锻炼了我的耐心和坚持,令我受益匪浅。参考文献1于海生计算机控制技术M北京机械工业出版社2007年2张毅刚新编MCS51单片机应用设计M哈尔滨哈尔滨工业大学出版社2006年3陈冬云ATMEGA128单片机原理与开发指导M北京机械工业出版社2005年4王彦平RPOTEL99电路设计指南M北京清华大学出版社2000年5沈美明IBMPC汇编语言程序设计M北京清华大学出版社2001年6沈精虎PROTEL99入门与提高M北京人民邮电出版社2007年7吴金戌8051单片机时间与应用M北京清华大学出版社,2003年8胡辉单片机原理及应用设计M北京中国水利水电出版社2007年附录1K0K2K3K4K5K6P20P21P2P23P0P01P02P03P04P05P06P07K0K1K2K3K4K5K6K1XTAL218XTAL119ALE30EA31PSEN29RST9P0/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD63P07/AD732P10/T21P1/T2EX2P123P134P145P156P167P178P30/RXD10P31/TXD1P32/INT012P3/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A92P2/A1023P23/A124P24/A1225P25/A1326P26/A1427U1AT89C51234567891RP1RESPACK85V5VX1CRYSTAL12MHZC133PFC143PFC1510UFR110KRSTD1LEDYELOWD2LEDREDD3LEDGRENR13KR23KR33K5VK0K1K2K3K4K5K6R410KR510KR610KR710KR810KR910KR1010K5VIN15IN27ENA6OUT12OUT23ENB1OUT313OUT414IN310IN412SENSA1SENSB15GND8VS4VC9U2L2985V5V12V8812V附录2/步进电机程序/P10为四相单四拍,P11为四相双四拍,P12为四相八拍/P13为启动/停止控制、P14方向控制、P15加速、P16减速/用4位LED数码管显示工作步数。/用3个发光二极管显示状态/正转时红灯亮,反转时黄灯亮,不转时绿灯亮/编写人李志强/时间20130626/INCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINESEGDATAP0/数码管数据口DEFINEKEYDATAP1/按键控制数据口DEFINEMOTORDATAP3/电机控制数据口SBITWELA1P20/数码管位选1SBITWELA2P21/数码管位选2SBITWELA3P22/数码管位选3SBITWELA4P23/数码管位选4SBITLEDGREENP34/控制绿灯停止UCHARPOSITIVESINGLEFOUR0XD1,0XD4,0XD2,0XD8/步进电机正相单四拍数表UCHARPOSITIVEDOUBLEFOUR0XD5,0XD6,0XDA,0XD9/步进电机正相双四拍数表UCHARPOSITIVEEIGHT0XD1,0XD5,0XD4,0XD6,0XD2,0XDA,0XD8,0XD9/步进电机正相八拍数表UCHARNEGITIVESINGLEFOUR0XB1,0XB8,0XB2,0XB4/步进电机反相单四拍数表UCHARNEGITIVEDOUBLEFOUR0XB9,0XBA,0XB6,0XB5/步进电机反相双四拍数表UCHARNEGITIVEEIGHT0XB1,0XB9,0XB8,0XBA,0XB2,0XB6,0XB4,0XB5/步进电机反相八拍数表UCHARSEG0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90/共阳极数码管显示数码;UCHARFLAG0/用来控制拍数循环;UCHARMODE0/用来标志工作模式;UCHARWAY0/用来标志运转方向UCHARNUM0/用来定时计数UCHARDELAY0/用来标志延时时间到UCHARMOVE0/用来标志启动或停止UINTSTEP0/用来计算步数的;CHARSPEED12/用来表示速度CHARSPEEDMAX2/最大速度参数为时间CHARSPEEDMIN22/最小速度CHARSPEEDCHANG10/速度每次改变量/函数声明部分/VOIDINITVOIDDISPLAYUINTVOIDDELAYMSUINTVOIDKEYSCANVOIDMOTOR/主函数/VOIDMAININITWHILE1KEYSCANMOTORDISPLAYSTEP/数码管显示函数/VOIDDISPLAYUINTNUMUCHARQIAN,BAI,SHI,GEQIANNUM/1000BAINUM/10010SHINUM/1010GENUM10/分离出每一位SEGDATASEGQIANWELA11DELAYMS2WELA10SEGDATASEGBAIWELA21DELAYMS2WELA20SEGDATASEGSHIWELA31DELAYMS2WELA30SEGDATASEGGEWELA41DELAYMS2WELA40

温馨提示

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

评论

0/150

提交评论