基于单片机的步进电机控制系统设计_第1页
基于单片机的步进电机控制系统设计_第2页
基于单片机的步进电机控制系统设计_第3页
基于单片机的步进电机控制系统设计_第4页
基于单片机的步进电机控制系统设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、本科毕业设计基于单片机的步进电机控制系统设计29摘 要本文介绍了以51系列单片机AT89S52为控制核心的所设计的步进电机控制系统,通过按键来控制脉冲频率从而达到对彩灯闪烁慢的控制。实现了对步进电机的正反转和加减速以及启动和停止的功能。控制系统由硬件设计和软件设计两部分组成。经过实际应用电路证明:脉冲输入得越多,电机转子转过的角度就越多,输入输入脉冲的频率越高,电机的转速就越快。系统是由硬件和软件两部分组成的,其中硬件包括单片机的最小系统,电源模块,步进电机驱动模块,LED显示模块和LCD液晶显示模块。软件采用了Keil uvision2编程工具及protel DXP 2004画图与制板工具。

2、步进电机就是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。我们可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,而达到调速的目的。步进电机是一种特殊的电动机,因为它的精确性和良好的性能而得到了广泛的应用。关键词 : 单片机 步进电机 调速 液晶显示Stepping Motor Control by MicrocomputerAbstract:This article describes the design of the stepper

3、motor control system 51 series MCU AT89S52 as the control core, and buttons to control the pulse frequency so as to achieve a lantern flashing slow control. Deceleration as well as start and stop processing the stepper motor reversing function. The control system consists of two parts, hardware and

4、software design. Proved through the actual application circuit: pulse input more, the angle turned by the motor rotor the more the higher the input frequency of the input pulse, the faster speed of the motor. The system is composed of both hardware and software, including minimum system hardware con

5、sists of microcontroller, power supply module, a stepper motor driver module, LED display module and LCD display module. The software uses the the Keil uvision2 programming tools and Protel the DXP 2004 drawing tools and system board.The stepper motor is an electrical pulse into the angular displace

6、ment of the implementing agencies. It plainly say: When the stepper driver receives a pulse signal, it will drive a stepper motor to set the direction of rotation of a fixed angle (step angle). We can control the number of pulses to control the amount of angular displacement, so as to achieve accura

7、te positioning purposes; at the same time by controlling the pulse frequency to control the motor rotation speed and acceleration, and speed control purposes. The stepper motor is a special motor, because of its accuracy and good performance has been widely used.Key words:Microcomputer Stepping moto

8、r liquid crystal display keyboard目 录1 前言11.1 课题背景及设计意义11.2 设计目的及系统功能12 方案比较与最终选择22.1 方案122.1.1 单片机最小系统电路22.1.2 步进电机选择 步进电机的驱动控制系统 脉冲信号的产生 信号分配 功率放大32.1.3 步进电机驱动电路42.1.4 按键控制电路42.1.5 LED与液晶显示电路52.1.6 系统总图62.2 方案272.2.1 基于STC12C5624ADR的单片机最小系统电路72.2.1 步进电机驱动电路选择82.2.1 显

9、示模块92.2.1 按键电路部分102.3 AT89S52单片机简介102.3.1 常用引脚介绍112.4 方案比较与最终选择123 电路仿真与分析133.1 电路板制作、焊接、调制143.1.1 电路板制作:143.1.2 电路板焊接:153.1.3 电路板调试:153.1.4 测试数据154 讨论及进一步研究建议165 毕业设计心得17参 考 文 献18附录19附录A 系统电路原理图19附录B 板电路图20附录C 程序:21致谢29华南农业大学本科生毕业设计成绩评定表301 前言1.1 课题背景及设计意义 步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字执行元件,随着计算机应

10、用技术、电子技术和自动控制技术在国民经济各个领域中的普及与深入,步进电机的需求量越练越大。随着工业技术的不断发展,以及同类产品的不断出现,步进电机面临着前所未有的挑战。但近30年来,数字技术、计算机技术和永磁材料的迅速发展,推动步进电机的发展,为步进电机的应用开辟了广阔的前景。 步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降

11、低了硬件成本又提高了控制的灵活性,可靠性及多功能性。在当今社会的各个领域步进电机无处不在,应用领域涉及机器人、工业电子自动化设备、医疗器件、广告器材、舞台灯光设备、印刷设备、计算机外部应用设备等等。因此,设计出高精确度、实时监控、语音提示的步进电机具有重要的现实意义和实用价值。基于单片机的步进电机控制系统,能够有效地对步进电机转速、方向以及准备定位等进行控制。本设计采用16位单片机AT89S52对步进电机进行控制,通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过驱动芯片驱动步进电机;同时,用按键来对电机的状态进行控制,并用LCD1602显示电机的运行状态以及当前运行的距离。1.

12、2 设计目的及系统功能本设计的目的是以单片机为核心设计出一个步进电机控制系统。本系统采用AT89S52作为控制单元,对转动方向及转动速度进行控制。 通过本设计,在查阅资料的基础上,了解AT89S52单片机控制的基本技术,掌握其控制系统的分析方法与实现方法,能对单片机外围电路设计进行系统学习与掌握;另一方面,通过设计步进电机控制系统的硬件电路,控制程序和相应的电路图,以此培养自己的自学和动手能力,从而为今后参加工作或进一步深造打下良好的基础。 设计的步进电机控制系统有以下功能:(1) 步进电机的正反转控制(2) 步进电机的速度控制(3) 步进电机的启停控制(4) 液晶显示本系统的主要技术参数:(

13、1) 系统供电电源:电压:5V,电流:600mA(2) 驱动电源输出:四相四拍方式(3) 步距角:5.625*1/162 方案比较与最终选择2.1 方案12.1.1 单片机最小系统电路 单片机型号有很多,本方案采用AT89S52。单片机的最小系统如图1所示。图1 单片机最小系统最小系统主要包括晶振电路和复位电路两部分。晶振电路由两个36pF的电容和一个12MHz的晶振组成。由于一个机器周期等于12个时钟周期,所以每个机器周期应为1us。复位电路采用按键式的。当单片机上电时,电容充电,此时自动给单片机复位,即经常所说的上电复位;当单片机在运行过程中,遇到某些情况时,按下键,就会给单片机复位。2.

14、1.2 步进电机选择步进电机是将电脉冲信号转变为角位移或线位移的执行机构。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 步进电机的驱动控制系统控制系统的组成方框图(图2)如下:脉冲信号信号分配功率放大步进电机负载图2 控制系统组成框图 脉冲信号的产生脉冲信号由单片机AT89S52的I/O口产生,一般的脉冲信号的占空比为0.3-0.4左右,电机转速越

15、高,占空比则越大。 信号分配感应子式不仅以二、四相电机为主,二相电机工作方式有二相四拍和二相八拍两种, 具体分配如下:二相四拍为,步距角为1.8度;二相八拍为,步距角为0.9度。本设计采用步距角为1.8度。 功率放大功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的动态平均电流而非静态电流(而样本上的电流均为静态电流)。平均电流越大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势(李忠杰,1998)。因而不同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流、细分数等。步进电机一经

16、定型,其性能取决于电机的驱动电源。步进电机转速越高,力距越大则要求电机的电流越大,驱动电源的电压越高。经以上讨论,本方案采用28BYJ48步进电机。2.1.3 步进电机驱动电路本方案采用ULN2003作为步进电机的驱动电路。ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运

17、行。图3 步进电机驱动电路ULN2003驱动步进电机电路如图3所示。图中的P1代表步进电机的5个插孔。2.1.4 按键控制电路如图4所示为按键控制电路。此电路包括4个不自锁按键。分别代表开始/停止,正转/反转,加速,减速。每个按键都相当于一个中断源,就一共需要4个中断口,但89S52单片机只有两个中断口,为了满足中断源的需要,用了一个74LS08芯片,即四个二输入与门,接法如图4所示。四个按键中断源作为输入端,输出接P3.2。没有按下键时,74LS08输出是高电平,当有按下时,立即有一个负脉冲,触发单片机产生中断,此时,通过程序检测是哪个按键按下,即可区分该执行什么操作。如按下S1时,单片机产

18、生中断,进入中断处理程序。在中断处理程序里检测到是S1按键被按下,就执行开始和停止操作。图4 按键控制电路2.1.5 LED与液晶显示电路 为了显示工作状态,本方案设计了LED显示与液晶显示电路。LED用了三盏,分别显示开始/停止状态,正反转状态和加减速状态。当电路正常工作时,开始/停止灯亮,不工作时灭。当电机正转时,正反转灯亮;反转时,灯灭。当电机加速工作时,加减速灯加快闪烁;当减速工作时,加减速灯闪烁速度降低。 液晶显示电路如图5所示。此方案的液晶用1602型号的液晶显示器。有16个引脚。其中有3条是控制线,8条数据线。通写程序,让液晶显示器显示出系统的工作状态。有开始/停止状态,正反转状

19、态和电机工作速度。为了让1602工作性能更好,采用了上拉电阻。图5 液晶显示电路2.1.6 系统总图 整个系统原理图如图6所示。图6 系统原理图由图可知,单片机的端口分配职下。P0口用作液晶显示器的数据线,P1.0P1.3用作按键中断,P1.4P1.6用作LED灯状态显示,P2.0P2.3用作电机驱动芯片,P2.4P2.6用作液晶控制线,P3.2用作按键中断口。2.2 方案22.2.1 基于STC12C5624ADR的单片机最小系统电路本方案采用STC12C5624AD单片机。本单片机集有AD转换端口,可以处理模拟信号。如,要检测电机的温度来控制电机的转动速度。如用89S52芯片,除了要用AD

20、转换芯片,还需占用8个I/O口,这不利于I/O口的充分利用,而STC12C5624AD就解决了这个问题。这个最小系统在整个控制系统的控制中起到很大的作用。这样还可以检测电机的转动速度。这个方案不需占用8个I/O口,而且有利于I/O口的充分利用本方案采用STC12C5624AD单片机中的STC12C5624AD的最小电路系统如图7所示。图7 STC12C5624AD的最小系统图8 L298N芯片2.2.1 步进电机驱动电路选择本方案所采用的步进电机是供电12V的42BYGH4604,它的马力很大转速也比较高。其对应的驱动电路芯片是L298。L298可驱动2个电机,如图8所示,OUTl、OUT2和

21、OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。驱动部分除了芯片外,还要用到H桥。如图9所示,EnA是控制使能端,控制OUTl和OUT2之间电机的停转, IN1、IN2脚接入控制电平,控制OUTl和OUT2之间电机的转向。当使能端EnA有效,IN1为低电平IN2为高电平时,三极管2,3导通,1,4截止,电机反转(谈世哲2007)。当IN1和IN2电平相同时,电机停转。表1是其使能引脚,输入引脚和输出引脚之间的逻辑关系。图9 H桥电路表1 输入引脚和输出引脚之间的逻辑关系EnAIN1IN2电机转向HHL正转

22、HLH反转H同IN2同IN1停止LXX停止2.2.1 显示模块本方案采用12864液晶显示模块,它的最大优点能显示汉字模型。当然它的编程技巧也相对复杂。在显示屏里,能相应显示开始/停止状态,正反转状态,加减速状态和速度。图11 步进电机驱动流程图2.2.1 按键电路部分 本方案采用触屏式键盘来控制电机的转动,触屏式键盘现在的用途很大,用在课程设计中也算是比较新的想法,同时,它能减轻机械按钮的抖动,简化程序的编写。2.3 AT89S52单片机简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash

23、,使得AT89S52为众多嵌入式 控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。和Atmel的对比AT89S52单

24、片机具有8K字节程序存储空间;512字节数据存储空间;内带4K字节EEPROM存储空间以及可直接使用串口下载(康华光,2006)。其引脚图如图10所示:图 10 AT89S52引脚图 2.3.1 常用引脚介绍P0 口:P0口是一个三态双向口, 可作为地址/数据分时复用口, 也可作为通用I/O接口。 作为I/O输出时,输出级属开漏电路,必须外接1k上拉电阻,才有高电平输出; 作I/O输入时,必须先向对应的锁存器写“1”,才不影响输入电平。当P0端口被 地址/数据总线占用时,就无法再作I/O端口使用了。P1 口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电 流

25、。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平 时,将输出电流,这是由于内部上拉的缘故,在flash在编程和校验时,P1口作为 第八位地址接收。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/ 计 数器2的触发输入(P1.1/T2EX),具体如下所示。 部分引脚的第二功能:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程中用)P1.6 MOSI(在系统编程中用)P1.7 SCK(在系统编程中用)P2 口:P2口为一

26、个内不上拉的8双向I/O口,P2缓冲器可接收,输出4个TTL门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2口管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部 程序存储或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给 出地址“1”时,它利用内部上拉优势,当外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。P2口在flash编程和校验时接收高八位地址信 号和控制信号(康华光,2006)。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接受输出4个TTL门电流。当P3口 写入“1”后,它

27、们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉 为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口作为STC89C52的一些特殊功能口,如下所示。 管脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(计时器0外部输入) P3.5 T1(计时器1外部输入) P3.6 WR(外部数据存储器写通道) P3.7 RD(外部数据存储器读通道)REST:复位输入。当振荡器复位器件时,要保持REST脚两个机器周期的高电平时间,此时 单片机就会复位。EA/VPP:当EA保持低

28、电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否 有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA保持高电平 时,此间内部程序存储器。在flash编程区间,此引脚也用于施加12V变成电源(VPP)。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在 flash编程期间,此引脚用于输入编程脉冲。在平时,ALE断以不变的频率周期输出 正脉冲信号,此频率为震荡频率的1/6.因此他可以用作外部输出的脉冲或用于定时 目的。然而要注意的是:没到那个用作外部数据存储器时,将跳过一个ALE脉冲。 如果想禁制ALE的输出可在SFR8E

29、H地址上置0.此时,ALE只有执行MOVX,MOVC指令是 ALE才起作用,另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止, 置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 PSEN有效,但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。2.4 方案比较与最终选择 经过我和老师同学的讨论,对两个方案进行比较,一致认为选择方案一。原因有:1) 基于本系统比较简单,用不了AD转换,而且STC12C5624ADR单片机的价格比AT89S52贵三倍。从对单片机的应用与知角度,对AT89S52的研究更加深入。所以选用AT89S52单片机

30、。2) 本系统所要求的电机速度不是很高,在节源和价格的角度,我选用28BYJ-48步进电机。从而也对应选择了ULN2003驱动芯片。从应用的角度来看,ULN2003比L298N芯片更容易用,小于像28BYJ48这样的小电机,ULN2003完全能胜任。3) 显示模块要求显示的内容不多,用LED灯和1602显示模块就可以了,加上之前我们组都曾用过这个显示模块,所以一致选择这个液晶显示器。4) 按键电路,我采用机械式的按键,虽然会有抖动,但通过简单和延时程序就能解决。我之前也有做过的经验,所以一致选择这个。经过以上几点的讨论,方案一更符合这个毕业设计的要求,所以经过和同学老师的讨论一致选择方案一。3

31、 电路仿真与分析电路的仿真图,如图12所示。图12 仿真电路图当接上电源时,液晶显示如图13所示图13 液晶显示由图中可知,此时开关状态是“C”,代表是关闭,电机停止转动。方向是“F”,代表反转状态,电机正作反向转向。当按下S1时,开关状态变为“O”,电机开始转动。当按下S2时,方向状态变为“Z”电机正向运动。当按下S3时,电机作加速运动,从图14可知,灯的闪烁越来越快,代表电机转速越来越大。当按下S4时,电机作减速运动,从图1也可分析得知电机的运动速度状态。每按下一个键,通过四输入与门,单片机的P3.2产生中断,此时通过程序去寻找是哪个按键按下,从而相应找出该执行的命令。图中的D2和D4作为

32、显示按键S1和按键S2的按下情况图14 灯闪烁快慢代表速度对比图12和图14可知,电机的状态在不断发生改变。经过一系列的仿真,本电路设计正确。满足了课程设计的要求。3.1 电路板制作、焊接、调制.1 电路板制作:在制板,焊接,调试过程中,遇到不少的问题,以下是我遇到的问题及解决方案:1) 在将碳粉印在板上时,由于赶时间,只来回在机上过了十多次就把板拿下来,发现碳粉没有完全印在铜板上,之后我发现,要注意在160摄氏度或以上温度下,来回多次(大约在20次以上为宜),防止碳粉不完全落在板上,使制板过程失败。2) 制版后发现电路图中有多处断线,而在复印纸上的碳粉已经完全印在板上了,经细心

33、检查,发现可能是铜线的宽度不够宽。接着在protel中重新设定铜线宽度后,最好在25mil左右,发现断线明显的减少。3) 在印好板后,要仔细检查版中的电路图有无断线,如有断线,要用黑色签字笔在电路图上补好所缺的线。4) 在板上钻孔时,要掌握好角度与力度。在钻孔的过程中,我发现,在实验室提供的两部转机中,红色那不那只转头好像歪了。(特别在刚接触到板时,刚要钻孔时明显,也可能是技术不够。)5) 在调试构成中,延时部分要做好,不然会出现步进机转速过慢的情况,看起来好像出现错误,实际上是转的时间要长。 因为是制成单层版,所以在设计图的时候就更加需要合理地分布元器件的位置,尽量不要让那些线重叠,也就是尽

34、量不要有飞线的存在那样是比较合理的。然后打印电路图,印版,腐蚀,打孔,PCB版就完成了。3.1.2 电路板焊接:电路板的焊接基本功在大二的电子工艺设计已经略有所学,这次的焊接更多是电子元器件的焊接。我吸取了以前的经验,焊接顺序按从矮到高的原则,是电路板焊接起来更加方便。3.1.3 电路板调试:本次调试过程中遇过很多的问题。所有的错误源于一个错误,就是单片机的复位端的插座出现问题了,造成整个单片机的复位出现问题。所开刚开始时,单片机根本不能驱动步进电机的工作。好不容易换了一个新的S52芯片,解决了这个问题,但谁想到后面的液晶显示出现问题。后面经过一天的摸索,发现液晶部分的接线错了,但这不是主要问

35、题,到了后面的复位端插座是致命的。所以到后面把插座修好,整个一系列的问题都解决掉了。调试过程中,用了几个复位电路,对它们的认识真的很深,可能也成为后面解决问题的关键吧。我想,一般错的都是外部工作电路,绝对不会想到一个小小的复位电路出现问题。所以这也告诉我以后做这方面的设计要注意细节,细节决定成败。不过总的来说,本次调试还是很成功的。3.1.4 测试数据步进电机实现了实时速度在液晶屏的显示。利用激光转速表测试数据所得的数据如表2,表3所示表2 步进电机加速转速表加速次数速度/RPM初始速度05.8加速一档+16.1加速二档+26.4加速三档+36.7加速四档+47.0加速五档+57.3加速六档+

36、67.6加速七档+77.9加速八档+88.2表3 步进电机减速转速表加速次数速度/RPM初始速度05.8减速一档-15.5减速二档-25.2减速三档-34.9减速四档-44.6减速五档-54.3减速六档-63.7减速七档-73.4减速八档-83.1由测试数据我可以知道,不进电机每加减速一个档位就会变化0.3RPM(Revolution(s) Per Minute)每分钟4 讨论及进一步研究建议电路基本能完成通过多个按键控制点机的启停、加速、减速、反转的功能,从而达到对彩灯闪烁快慢的控制。但是由于时间的关系,我没有再加入一些额外的功能,例如对转速的控制。对于按键,由于机械的弹性震动,可能会存在这

37、抖动的现象,即在电路的短时间内多次接通和断开开关,使逻辑电平多次在0和1之间跳变,从而导致了错误的逻辑输入。此时,我们可以用一些硬件或软件的方法来对其加以控制。如用逻辑控制门SR锁存器或软件编程在中断中加入一定的延时。5 毕业设计心得这次的设计主要是做步进电机的控制系统,通过按键对步进电机的速度加以控制,从而达到对彩灯闪烁快慢的控制。由于这次的设计中,我用到了编程,设计程序对电机加以控制。虽然对于编程之前是有学过,也有用过,但是每次对它的运用都会有新的体会。在制版的时候我也遇到各种各样的问题。成功绝对不是偶然的,我都是经过一次又一次的修改,一次又一次的调试才换来了最后的胜利。在做设计的时候这也

38、是我的一番收获,那就是“永不言败”不要知难而退,只要我真的努力过,真的有付出,不断地去尝试,到最后我肯定可以有所收获。知识的获取就是在不断的失败当中得到的。经过老师耐心细致的指导,经过一个月的努力,本次毕业设计课题基于单片机的步进电机控制系统告一段落。步进电机控制系统主要分为硬件设计和软件设计两个部分: 硬件设计主要是把单片机最小系统、液晶显示模块、步进电机驱动模块、矩阵键盘输入模块等各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件运行提供一个硬件平台。 软件设计主要是通过编写程序代码,实现对整个系统的控制。在系统上电复位后程序自动运行,通过接受外部的键盘操作修改系统参数值,控制步进

39、电机的启停,转动方向,速度及运行距离。通过本次设计,我深入地了解了把理论设计转换成现实实物的整个过程,如:电路设计,分析计算,画电路图,焊接电路,检查调试,软件设计,再到软硬件系统的调试,最后直到系统完成。这为我以后的设计打下了一具好的基础。而且使我更加熟悉整个设计的过程和一些软件和硬件设备的使用。对我以后在这方面的工作有了很大的帮助。参 考 文 献康华光.电子技术基础(数字部分第五版)M.北京:高等教育出版社,2006:245-300.康华光.电子技术基础(模拟部分第五版)M.北京:高等教育出版社,2006:434-453.李忠杰,宁守信.步进电动机应用技术M.北京:机械工业出版社,1998

40、.谭浩强.C程序设计(第三版)M北京:清华大学出版社,2005:104-106.谈世哲.Protel DXP 2004电路设计基础与典型范例M.北京:电子工业出版社,2007,121-171.王卫星.单片机原理与应用开发技术M.北京:中国水利水电出版社,2009:92-116.杨莉,魏萍.基于单片机控制的步进电机转速控制系统J.南昌工程学院学报,2005(6).Albert C.Leenhouts.Smooth Step Motor Motion with Half Driver.Annual Symposium on IMCSD.1995,24(2).附 录附录A 系统电路原理图附录B 板电

41、路图附录C 程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code seq=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;/"电机运转顺序"sbit on_off_out=P10; /"开始/停止"sbit spin_out=P11; /"转向"sbit add_out=P12; /"加速"sbit sub_out=P13; /"减速"sbi

42、t P14=P14; /""sbit P15=P15; /""sbit P16=P16; /""sbit lcdrs=P24; /"LCD液晶控制RS"sbit lcdrw=P25; /"LCD液晶控制RW"sbit lcden=P26; /"LCD液晶控制EN"uchar code table="way:"/"显示方向"uchar code table1="on/off:"/"显示开关"uint

43、 num;int Stemp;int on_off=1;int spin=1;int adds=1;int subs=1;int i=0;uint speed=75;int j=0;void delayP(uint z)uint x,y;for(x=z;x>0;x-)for(y=50;y>0;y-);void write_com(uchar com) /"写指令" lcdrs=0;P0=com;delayP(5);lcden=1; /"下降治触发"delayP(5);lcden=0;void write_data(uchar date) /&

44、quot;写数据"lcdrs=1;P0=date;delayP(5);lcden=1; /"下降治触发"delayP(5);lcden=0;void inital() /"初始化" lcdrw=0;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80); void LCDdisplay() write_com(0x80+0x40);for(num=0;num<4;num+)write_data(tablenum); if(spin=1) write_data('z'); else write_data('f');write_c

温馨提示

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

评论

0/150

提交评论