《2022年步进电机控制系统设计 .pdf》由会员分享,可在线阅读,更多相关《2022年步进电机控制系统设计 .pdf(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计论文论文题目 :基于单片机的步进电机控制电路板设计摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器, 功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器, 使得线路简单 , 成本低 , 可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。本设
2、计是采用 AT89C51 单片机对步进电机的控制,通过IO 口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003 驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。系统由硬件设计和软件设计两部分组成。其中,硬件设计包括AT89C51 单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003 )模块、数码显示( SM420361K 数码管)模块、测速模块(含霍尔片UGN3020 )6 个功能模块的设计,以及各模块在电路板上的有机结合而实现。软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最
3、终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在 LED数码管上,对速度进行实时监控显示。软件采用在Keil 软件环境下编辑名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 28 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 28 页 - - - - - - - - - * 1 第 1
4、 章 绪 论1.1 课题背景当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。步进电机是最常见的一种控制电机,在各领域中得到广泛应用。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度( 称为“步距角” ),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动
5、的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,其优点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度的变化的影响、误差不会长期积累的特点,给实际的应用带来了很大的方便。它广泛用于消费类产品(打印机、照相机、雕刻机)、工业控制(数控机床、工业机器人)、 医疗器械等机电产品中。 研究步进电机的控制和测量方法,对提高控制精度和响应速度、节约能源等都具有重要意义。控制核心采用C51芯片,它以其独特的低成本,小体积广受欢迎,当然其易编程也是不可多得的优点为此,本文设计了一个单片机控制步进电机的控制系统,可以实现对步进电机转动速度和转动方向的高效控制。1.2 设计目的
6、及系统功能本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统。本系统采用 AT89C51 作为控制单元,通过键盘实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LED数码管上。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 28 页 - - - - - - - - - 2 图 1-1 总体设计框图设计的步进电机控制系统应具有以下功能:1. 步进电机的启停控制2步进电机的正反转控制3. 步进电机的加速控制4. 步进电机的减速控制5.
7、 步进电机转速的动态显示第 2 章 控制系统硬件分析与设计2.1 步进电机2.1.1 步进电机概述步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途很广。使用多相步进电动机,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度 (称为步距角)。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定AT89C
8、51 键盘控制模块电机驱动模块数码显示模块电源模块名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 28 页 - - - - - - - - - * 3 频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。2.1.2 步进电机的特性步进电机转动使用的是脉冲信号,而脉冲是数字信号,这恰是计算机所擅长处理的数据类型。 从 20世纪 80 年代开始开发出了专用的IC 驱动电路,
9、今天,在打印机、磁盘器等的 OA装置的位置控制中, 步进电机都是不可缺少的组成部分之一。总体上说,步进电机有如下优点:1不需要反馈,控制简单。2与微机的连接、速度控制(启停和反转)及驱动电路的设计比较简单。3没有角累积误差。4停止时也可保持转距。5没有转向器等机械部分,不需要保养,故造价较低。6即使没有传感器,也能精确定位。7根椐给定的脉冲周期,能够以任意速度转动。但是,这种电机也有自身的缺点:1难以获得较大的转矩2. 不宜用作高速转动3在体积重量方面没有优势,能源利用率低。4超过负载时会破坏同步,高速工作时会发出振动和噪声。2.1.3 步进电机的种类目前常用的步进电机有三类:表 2-1 步进
10、电机分类类别结构步距力矩动态性能反应式步进电动机( VR )采用高导磁材料构成齿状转子和定子小小较差永磁式步进电动机( PM )转子采用多磁极圆筒形的永磁铁,其外侧配置齿状定子吸引和排斥力产生转动大大好名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 28 页 - - - - - - - - - 4 混合步进电动机( HB )这是 PM和 VR的复合产品,其转子采用齿状的稀土永磁材料,定子则为齿状的突起结构小大好2.1.4 永磁步进电机的控制原理在本设计以常用的永磁式步进电
11、机为例,用单片机控制步进电机。图2-1 是CZ-2801型永磁步进电机的外形图,图2-2 是该电机的接线图。图 2-1 CZ-2801型永磁步进电机外形图图 2-2 CZ-2801型永磁步进电机接线图从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有 5 根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将 COM 端标识为 C,只要 AC、BC或/AC、/BC,轮流加电就能驱动步进电机运转,加电的方式可以有多种, 如果将 COM 端接正电源, 那么只要用开关元件 (如三极管) ,将 A、B或/A、/B 轮流接地。不难设计出控制电路,因其工作电压为 12V,因
12、此用一块开路输出达林顿驱动器 (这里用 ULN2003 , 关于 ULN2003 将在后面介绍)作为驱动,通过 P1.0 、 P1.3来控制各线圈的接通与切断。开机时,P1.0、 P1.3 均为高电平,依次将 P1.0 、P1.2 (或 P1.1、 P1.3 反向)切换为低电平即可驱动步进电机运行。如果要改变电机的转动速度只要改变两次接通之间的时间。改变转速,只要改变 P1.0 、 P1.2 (或 P1.1、 P1.3 反向)轮流变低电平的时间即可达到要求,因为不会影响到其他功能的实现, 这个时间可以用延时来实现, 。这里以定时的方式来实现。 下面首先计算一下定时时间。按要求,最低转速为 20
13、 转/ 分,而上述步进电机的步距角为 7.5 ,即每 48 个脉冲为 1 周,即在最低转速时,要求为960脉冲/ 分,相名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 28 页 - - - - - - - - - * 5 当于 62.5ms/ 脉冲。而在最高转速时,要求为 100 转/ 分,即 48000 脉冲/ 分,相当于 12.5ms/ 脉冲。可以列出下表:表 2-2 步进电机转速与定时器定时常数关系转速单步时间 (ms) TH0 TL0 20 62.5 1F 0 2
14、1 59.52380952 29 B6 22 56.81818182 33 74 23 54.34782609 3C 59 24 52.08333333 44 80 25 50 4C 0 26 48.07692308 52 EC 27 46.2962963 59 55 28 44.64285714 5F 49 93 13.44086022 CF 9C 94 13.29787234 D0 20 95 13.15789474 D0 A1 96 13.02083333 D1 20 97 12.88659794 D1 9B 98 12.75510204 D2 14 99 12.62626263 D2
15、8B 100 12.5 D3 0 表中不仅计算出了 TH0 和 TL0,而且还计算出了在这个定时常数下,真实的定时时间,可以根据这个计算值来估算真实速度与理论速度的误差值。表中 TH0 和 TL0 是根据定时时间算出来的定时初值,这里用到的晶振是 12.000M。有了上述表格,程序就不难实现了,使用定时/ 计数器 T0 为定时器,定时时间到后切换输出脚即可。2.2 步进电机控制系统的组成步进电机控制系统共分为六个模块:单片机最小系统模块、键盘控制模块、数码显示模块、测速模块、步进电机驱动模块和电源模块。1. 单片机最小系统主要由复位电路和时钟电路组成。复位电路为单片机系统提供可靠复位,使单片机
16、能正常启动。时钟电路采用外部时钟方式,保证单片机个功能部件都是以时钟频率为基准,有条不紊地一拍一拍地工作。2. 键盘控制模块包括方向控制键、加速键和减速键、启停键,分别与单片机的 P2.0、p2.1 、p2.2 和 P2.3 相连。实现对步进电机的控制。并且键盘上连接有名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 28 页 - - - - - - - - - 6 发光二极管,以指示键盘状态。3. 数码显示模块采用共阴极数码管来动态显示步进电机的实际转动速度。利用 I/O
17、 口为数码管的 com端提供低电平。二号单片机的 P1口提供数码管的段选信号,P2.6 和 P2.7 控制数码管的位选信号。4. 测速模块采用开关霍尔片对安放在步进电机转盘上的小磁片的磁信号进行检测,步进电机转盘每次带动小磁片经过霍尔片时,其都将有脉冲信号从霍尔片输出。单片机外部中断口对信号进行采集。5. 步进电机驱动模块选用七个NPN 达林顿连接晶体管ULN2003 为步进电机提供脉冲信号,驱动步进电机转动。该模块与单片机的P1.0P1.3 相连。6. 电源模块是通过将市电220V转变为直流 12V和直流 5V分别供给驱动模块和单片机模块。2.2.1 单片机最小系统近年,由于 CHMOS 技
18、术的进步,大大地促进了单片机的CMOS 化。CMOS 芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以 80C51取代 8051 为标准 MCU 芯片的原因。因为单片机芯片多数是采用 CMOS(金属栅氧化物) 半导体工艺生产。 CMOS 电路的特点是低功耗、 高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、 高速度 MOS )和 CHMOS 工艺。 CHMOS 和 HMOS 工艺的结合。目前生产的CHMOS 电路已达到 LSTTL的速度,传输延迟时间小于2ns,
19、它的综合优势已在于TTL 电路。因而,在单片机领域 CMOS 正在逐渐取代 TTL电路。单片机是通过内部总线把计算机的各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址, CPU通过它们将地址输出到存储器或I/O 接口;数据总线的作用是在CPU与存储器或 I/O 接口之间,或存储器与外设之间交换数据;控制总线包括CPU 发出的控制信号线和外部送入CPU 的应答信号线等。考虑到经济和可靠性的要求,本设计中采用AT89C51 单片机,它宏晶科技设计生产的单时钟 / 机器周期(1T)的单片机。 是高速 / 低功耗 / 超强抗干扰的新一代80
20、51 单片机。指令代码完全兼容传统8051,但速度快 8-12 倍。1. AT89C51 单片机参数:工作电压: 5.5V3.8V/3.3V 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 28 页 - - - - - - - - - * 7 Flash 程序存储器字节: 4K 定时器 T0、T1:有中断优先级: 2 2. AT89C51 单片机优点:超低功耗超强抗干扰,超强抗静电输入输出口多,最多有40 个 I/O 速度快, 1 个时钟 / 机器周期,可用低频率晶振2.
21、2.2 键盘控制电路键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。键盘实质是一组按键开关的集合。键盘所用开关为机械弹性开关,利用了机械触点的合、断作用。一个电压信号在机械触点的断开、闭合过程中,都会产生抖动,一般为510ms ;两次抖动之间为稳定的闭合状态,时间由按键动作所决定; 第一次抖动前和第二次抖动后为断开状态。按键的闭合与否,反映在输出电压上就是呈现出高电平或低电平。通过对输出电平的高低状态的检测,便可确认按键按下与否。在本设计中,高电平表示按键断开,低电平表示按键闭合状体。 并且,为了能直观形象的表示按键闭合与否,还为每个按键相应增加了发光
22、二极管,按键断开时,发光二极管灭,当有键闭合时,相应的发光二极管变亮。为了确保单片机对一次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动通常采用硬件、软件两种方法。由于硬件消抖电路设计复杂,本设计中没有采用,在此不再详细叙述;软件消抖适合按键较多的情况,方便简单。其原理是在第一次检测到有键按下时, 执行一段延时 10ms的子程序后在确认该键电平是否仍保持闭合状态电平,如果保持闭合状态电平则确认为真正有键按下,从而消除了抖动的影响。其原理图如图2-3 所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
23、 - - - - - - 第 9 页,共 28 页 - - - - - - - - - 8 图 2-3 键盘控制模块原理图2.2.3 LED 数码显示电路发光二极管 LED是一种通电后能发光的半导体器件,其导电性质与普通二极管类似。 LED数码显示器就是由发光二极管组合而成的1 种新型显示器件。在单片机系统中应用非常普遍。LED数码显示器是 1 种由 LED发光二极管组合显示字符的显示器件。它使用了 8 个 LED发光二极管, 其中 7 个用于显示字符, 1 个用于显示小数点。 LED数码显示器有两种连接方法:(1)共阳极接法。 把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接 +5V
24、,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管就导通点亮,而输入高电平时则不点亮。(2)共阴极接法。 把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时则不点亮。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 28 页 - - - - - - - - - * 9 在本设计中所采用的是共阴极LED数码显示器,其内部结构如图2-4
25、所示:图 2-4 LED 数码管结构图这里用四位一体数码管SM420361K :型号: SM420361K-12P 类别: 4 位一体共阴规格:长宽高 -30.1 14.17.3mm 管脚标号: 12-9-8-6公共脚、 A-11、B-7、C-4 D-2、E-1、F-10、G-5、DP-3 在本设计中采用数码管动态显示转速, 数码显示电路通过交替向P2.6 和 P2.7输出低电平,使得与这两个端口连接的数码管公共端交替为低电平,从而为数码管提供导通回路,通过对交替时间的控制实现数码管在视觉上的不间断显示。通过 P1口输出段选信号,控制了数码管显示的内容。如图2-5 所示:图 2-5 数码管显示
26、电路名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 28 页 - - - - - - - - - 10 2.2.4 测速电路介绍开关型霍尔传感器的原理及应用开关型霍尔传感器可分为单稳态和双稳态,内部均有 5 个部分,即由稳压源、霍尔电势发生器、差分放大器、施密特触发器以及输出级组成。双稳态传感器具有两组对称的施密特整形电路。图2-6 是单稳态开关集成霍尔元件UGN3020 的功能图及输出特性。图 2-6 UGN3020 功能特性曲线对于开关型传感器的正值规定是:用磁铁的
27、S极接近传感器的端面所形成的B值为正值。由图 2-6 看出,当 B=0时,V0为高电平;当外磁场增至BOP 时,输出 V0由高电平转为低电平。外磁场由BOP 降至 BrP时,输出 V0由低电平反向,BrP 被称为释放点。对于UGN3020 ,BOP=0.022T ,BRP=0.0165T ,VOL=80 150mV ,VOH=4V ,工作电压为 4.5V24V。UGN3020 可组成转速计探头。该探头由霍尔元件UGN3020 和磁钢组成测量电路。将具有 10 个齿的圆盘固定于被测对象的旋转主轴上。当圆盘齿经过测量磁路的间隙时,霍尔元件输出高电平,其他时间输出为低电平;这样圆盘每转一周,电路输出
28、 10 个脉冲,脉冲经过分频后,用频率计即可测出被测对象的实际转速。本设计采用的测速电路原理图如下图所示:N S 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 28 页 - - - - - - - - - * 11 图 2-7 测速电路2.2.5 步进电机驱动电路本系统的设计目的为了高效控制步进电机的转动,因此需要将单片机发出的脉冲转化为步进角度,才能控制步进电机转动,我们在这里采用ULN2003 为步进电机提供脉冲信号。 ULN2003七 NPN 达林顿连接晶体管是
29、低逻辑电平数字电路(如TTL,CMOS 或 PMOS/NMOS)和大电流高电压要求的灯、继电器、打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管。ULN2003 的设计与标准 TTL系列兼容。它的管脚连接图如图2-8 所示: 图 2-8 ULN2003 管脚连接图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 28 页 - - - - - - - - - 12 图 2-9 ULN2003
30、芯片内部结构其主要特性为:表 2-3 ULN2003 主要特性表极限值(若无其他规定,Tamb=25 )参数名称符号数值单位输入电压VIN 30 V 输入电流IIN 25 mA 功耗PD 1 W 工作环境温度Topr -20to +85 贮存温度Tstg -55to+150 ULN2003芯片概述与特点:ULN2003芯片是高耐压、大电流达林顿阵列,由7 组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7 组负载的能力,为单片双极型大功率高速集成电路。功率电子电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。功率驱动电路是功率电子设备输出电路的一个重要组成部分。
31、ULN2003芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件。步进电机驱动电路的工作过程是:首先从 P1口输出 00000001B ,由于单片机与 ULN2003 连接只用到了 P1.0P1.3, 所以 ULN2003 与单片机连接的四个管脚中每时刻只有一个管脚处于导通状态(采用单拍方式对步进电机控制) , 其他管脚处于断开状态。这样就使得与ULN2003 连接的步进电机只有一个引出端导通。该系统驱动原理图如图2-10:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,
32、共 28 页 - - - - - - - - - * 13 图 2-10 步进电机驱动原理图2.2.6 电源设计在此系统中因要用到两路电源,再三考虑购买了一个输出为交流9V (电压表实测电压在 12V左右)的适配器,然后通过4 个 IN4007(图中未标出)搭建的整流桥,分出两路一路引出供驱动器,另一路再经LM7805降为 5V,完全符合要求,同时避免了电路设计中电路板上存在的大电源干扰等问题。电路电源设计如下图所示:图 2-11 电源原理图其中电源端口和LM7805封装图如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
33、- 名师精心整理 - - - - - - - 第 15 页,共 28 页 - - - - - - - - - 14 图 2-12 电源端口和LM7805封装图第 3 章 控制系统软件分析与设计3.1 程序设计前期准备3.1.1 程序设计平台考虑到程序的易读性和简练,程序设计采用C语言。程序编辑平台采用Keil 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 28 页 - - - - - - - - - * 15 图 3-1 Keil软件界面3.1.2 程序设计思路步进
34、电机控制系统的软件需要同时完成读取键盘、处理键盘、控制步进电机转动、控制数码管动态显示等任务,这就必须通过中断技术来实现。在本设计中,主程序采用查询方式扫描键盘端口,检测按键动作是否发生,若有按键动作则处理键盘,根据按键值修改相应参数值,实现键盘的实时处理功能。定时器 0 中断服务程序控制步进电机的转动:根据当前显示的速度进行键盘手动改变 T0定时时间常数,设置TH0和 TL0的值,达到对转速精确控制的目的;根据转动方向控制位的值,控制脉冲信号循环移动的方向,达到对转动方向控制的目的。说明如下:1. 单片机接受键盘信息,改变系统内部变量值。2. 单片机输出脉冲信号,控制步进电机转动。3. 单片
35、机根据步进电机实际转动值,控制数码管显示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 28 页 - - - - - - - - - 16 3.2 程序流程图3.2.1 主程序流程图步进电机控制系统的主程序在对整个系统初始化后主要完成读键盘和处理键盘的功能,如图 3-2 所示:图 3-2 步进电机控制系统主程序流程图系统上电复位后,先调用初始化子程序,对步进电机各端口,相关参数进行初始化,设置 T0工作方式控制时间常数。 初始化完成后,步进电机处于停止状态,T0定时器
36、处于关闭状态。然后循环调用读键盘子程序和键盘处理子程序,等待中断,以便实现步进电机转动控制。3.2.2 读键盘子程序流程图首先初始化实际键值参数为0FH ,然后扫描 P2口,与初始值比较,相等则说明没有键按下, 不相等则软件消抖, 以便确认是否真的有键按下。 延时 10ms后再次扫描 P2口,第二次与初始值比较, 若相等则表明前一次比较不相等是由抖动产生;如果相等则表明确实有键按下。执行键盘之程序里的指令,将相应的变量值改变,为键盘处理子程序做准备。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
37、 - - 第 18 页,共 28 页 - - - - - - - - - * 17 图 3-3 扫描键盘字程序流程图3.2.3 键盘处理子程序流程图按键处理子程序流程图如图3-3 所示:启动否是 否 有键按下处 理 键 盘子程序是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 28 页 - - - - - - - - - 18 图 3-3 键盘处理子程序流程图步进电机的启停控制通过启停定时器T0来实现,因为定时器T0控制着脉冲信号的输出,关闭定时器T0也就阻止了脉冲信号
38、的输出。3.2.4 电机控制中断程序流程图定时器中断 0 服务程序流程图如图3-4 所示:初始化变量开始P2.3是否按下P2.2 是否按下P2.0是否按下P2.1 是否按下退出TR0 取反,通过启停 T0 启停步进电取反方向控制为,改 变 电 机 转 动 方修改速度参数值,减速修改速度参数值,加速是是是是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 28 页 - - - - - - - - - * 19 图 3-4 定时器中断0 服务程序流程图定时器中断 0 服务程序
39、的中断时间由当前的转速决定。进入中断程序后,首先要保护现场,再根据当前值设置TH0和 TL0的值。然后判断转动方向控制位的值,如果是 0 则控制脉冲信号 P1.0、P1.2 输出,如果是 1 则控制脉冲信号 P1.1、P1.3 输出。最后恢复现场,返回,等待下次中断。通过用当前转速控制中断时间,控制了脉冲的输出频率,也就到达了控制步进电机转动速度的目的;通过检测方向控制位的电平,选择脉冲信号P1.0、P1.2与 P1.1、P1.3 间的切换,控制了步进电机各引出端的接通顺序,也就到实现了步进电机转动方向的控制。各模块控制的详细程序附于最后。名师资料总结 - - -精品资料欢迎下载 - - -
40、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 28 页 - - - - - - - - - 20 第 4 章 调试与改进4.1 调试与改进在系统完成后测试系统,检查硬件和软件是否能够协调运行,并对系统出现的情况进行分析,看是否能够达到系统创作之初所设想的效果,如达不到则重新修改系统的硬件结构或者修改软件的程序部分,直到达到设计需要为止。本系统的设计思路为:首先从整体上划分出各功能模块,然后硬件和软件同时进行依次完成各个功能模块,最后将各个模块联系起来完成整个系统。在硬件调试的过程中,遇到了很多问题。主要有:1. 确定步进
41、电机的使用方法, 和控制模式。 此处尤为重要, 这是整个系统的基础,也是确定软件是否能控制步进电机思路的开端。2. 键盘设计完成后,在多次运行过程中发现按键是否按下难以直观准确判断,在此处进行改进设计,为每一个按键接上一个发光二极管,当有键按下时,相对应的发光二极管变亮,使得按键动作形象直观。并以此方法测试步进电机控制程序。3. 向电源插座送入12V直流电源,测量 LM7805输出脚对地电压,是否为5V左右,这个电压的测量可以直接在L7805的 OUT 脚和 GND 之间完成。4. 单片机应用 ( 电源) 注意事项 : 在电源两端应该加一个47uF 以上的电解电容和一个 0.1uF 的小电容,
42、进行电源去藕滤波。5. 可供霍尔片检测到的信号注意是S磁极。软件测试的时候也有些问题,主要有:1. 软件去抖方式,和时间的控制。2. 控制步进电机转动的程序段完成后,调试发现对步进电机速度的控制范围过小,查阅资料后发现设计思路不太合理,原先的设计思路是用主程序控制步进电机转动,采用延时方式控制步进电机速度,由定时器处理键盘;改进程序,主程序用来处理键盘,由定时器控制步进电机转动,步进电机转动速度由定时器定时时间决定。问题得到解决,不仅扩大了步进电机速度的控制范围,也使得单片机对步进电机速度的控制更加精确。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
43、- - - - - - 名师精心整理 - - - - - - - 第 22 页,共 28 页 - - - - - - - - - * 21 4.2 运行结果连接好硬件电路,上电复位,程序开始运行。1. 此时步进电机不转动, LED数码管不显示;按下启停键,步进电机开始转动,LED数码管显示数值当前数值,即当前步进电机的转速为25 转/ 分;2. 此时每按下加速键一次, LED数码管显示数值加1, 步进电机转动速度相应增加;此时每按下减速键一次, LED数码管显示数值减1,步进电机转动速度相应减少;此时若按下方向控制键,步进电机立即向相反方向转动,转动速度保持不变;此时若按下启停键,步进电机停止
44、转动,LED数码管停止显示为0,符合设计要求。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 28 页 - - - - - - - - - 22 第 5 章 总结经过老师耐心细致的指导,经过近一个月的努力,本次毕业设计课题步进电机控制系统告一段落。步进电机控制系统主要分为硬件设计和软件设计两个部分:硬件设计主要是把单片机最小系统、键盘控制模块、步进电机驱动模块、数码显示模块、测速模块各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件运行提供一个硬件平台。软件设计
45、主要是通过编写程序代码,实现对整个系统的控制。在系统上电复位后程序自动运行,通过接受外部的键盘操作修改系统参数值,控制步进电机的启停,以及转速的增减和转动方向的改变;定时器 T0根据系统参数控制步进电机的转动;实现步进电机转动速度的动态显示。本系统具有相当的实用功能,两片单片机分别实现步进电机控制和测速,能基本符合实际应用需求,本次设计由于设计时间较短,个人能力以及精力等因素的限制,加之设计经验的不足,该系统还有许多不尽如人意的地方。该系统未能完全的实现设计的所有功能。如:利用键盘输入转速值实现转速的控制,动态设置最低转速和最高转速等。在把理论设计转换成实物的整个过程,如:电路设计、 分析计算
46、、画电路图、焊接电路、检查调试、软件流程控制设计分析、编写调试软件、烧写软件到整个软硬件系统的调试,最后直到系统完成。其中整个系统的前期准备是首先必须做到位的,如控制什么、用什么控制、得到什么结果,进而对各部分应选择具体的芯片作进一步的考虑,以使系统得到最优的表现。通过本课题,一方面我在查阅资料的基础上,了解STC10F04单片机控制的一些基本技术, 掌握其控制系统的分析方法与实现方法,能对单片机外围电路设计进行系统学习与掌握;另一方面,在设计步进电机控制系统的硬件电路,控制程序和相应的电路图时,应充分运用说学知识,善于思考,琢磨,分析。名师资料总结 - - -精品资料欢迎下载 - - - -
47、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 28 页 - - - - - - - - - * 23 致谢本论文是在 * 老师的精心指导下完成的。在做毕业设计的整个过程中,得到了* 老师的耐心指导,特别是在设计的初始阶段,* 老师在需求分析方面给了我很大的帮助,在老师帮助和指导下,使我能很快地就确定了系统的目的和开发方案,在后来的确定步进电机结构和性能方面* 老师给了很大的帮助,使后来的程序实现方面使我少走了很多弯路,并提高了我的效率。这对于我以后的工作和学习都有很大的帮助,在此衷心感谢老师的耐心辅导。同时感谢那些在设计中
48、给予帮助的同学,因为有充分的、默契的合作才有更顺利的结果。电路原名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 28 页 - - - - - - - - - 24 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 28 页 - - - - - - - - - * 25 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 28 页 - - - - - - - - - 26 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 28 页 - - - - - - - - -