版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要步进电机是机电数字控制系统中常用的执行元件,由于其精度高,体积小,控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用。本系统的主要工作是应用低功耗MSP430单片机控制步进电机的旋转方向和启停,以实现壁挂式空调风门出风风向的控制。通过分析步进电机的工作原理:电脉冲数决定电机的转动圈数;电脉冲的频率决定电机转动的速度。利用MSP430单片机的四个普通I/O口对步进电机的通电顺序及通电时间进行编程控制,以实现电机的转速和转向调整。本系统由硬件电路设计和软件编程两部分组成。此项设计看似简单,但有机的将步进电机和430单片机的相关知识结合了起来,同时将微机原理和电机学等课程从理论学习上升为
2、实践,因此具有很强的现实意义。此项设计研究将应用于壁挂式空调风门运动的调整,合理地调整将方便于人们的生活,满足人们的各种需求。关键词:msp430单片机;步进电机;空调AbstractStepper motor is a mechanical and electrical actuators, is commonly used in digital control system because of its high precision, small volume, convenient control and flexible, so the intelligent instruments
3、and has been widely used in position control.The main work of this system is the application of low power consumption MSP430 single chip microcomputer to control stepping motor direction of rotation and rev. Stop, so as to realize the control of wall-mounted air-conditioner air door out of the wind
4、direction. By analyzing the working principle of stepper motor, electrical impulses to the motor rotation laps; The frequency of the electrical motor rotational speed. Using MSP430 single chip microcomputer of four common I/O port for the electricity order of stepper motor and the polarization time
5、programming control, in order to realize the speed of the motor and steering adjustments. This system consists of two parts, hardware circuit design and software programming.The design looks be like simple, but organic will step motor and 430 single chip microcomputer is a combination of relevant kn
6、owledge, at the same time, the microcomputer principle and motor learning course from theoretical study to practice, thus has a strong practical significance. Will apply to the design study wall-mounted air-conditioner air door movement adjustment, reasonable adjustment will be convenient to the lif
7、e of people, meet people's various needs.Key words:MSP430MicroChip ;Stepper motor;air-conditioner目 录第一章绪论1课题研究的目的和意义1国内外发展状况2本课题设计的主要任务3第二章步进电机及其工作原理的介绍4步进电机概述4步进电机的工作原理5步进电机的基本参数及其指数标语7步进电机的特点和特性9步进电机驱动系统介绍10第三章 MSP430G2553芯片及其引脚功能介绍123.1 单片机原理概述123.2 MSP430G2553型单片机概述123.3 Msp430G2553型单片机的各个功能
8、模块143.4 MSP430G2553微控制器的特点和特性153.5 MSP430G2553开发板硬件资源概述16第四章系统硬件设计184.1 系统总体框架图18键盘控制电路19基于ULN2003步进电机的驱动电路设计21第五章软件设计255.1 软件设计平台25程序分析26程序流程图31程序设计过程中出现的问题及其处理方法32第六章总结与展望34参考文献35附录一英文原文36附录二中文翻译40附录三程序清单43谢辞47第一章绪论课题研究的目的和意义国内外发展状况本课题设计的主要任务第二章步进电机及其工作原理的介绍步进电机由于其优点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度等的
9、变化的影响、误差不会长期积累的特点,给实际的应用带来了很大的方便,因此我在这次设计中选用工作方式为四相八拍的永磁式步进电机,下面对它进行详细地介绍。步进电机概述2.1.1 步进电机的基本介绍步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从
10、而达到调速的目的。单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,再经功率放大后分别送入步进电动机各相绕组中。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生改变,转子会转过一定的角(称为步距角)。一般情况下,步进电机转过的总角度和输入的脉冲数量成正比;连续输入一定频率的脉冲时,电动机的转动速度与输入脉冲的频率保持严格的对应关系,不被电压波动和负载变化而影响。因为步进电动机能直接接收数字量的输入,因此特别适合于微机控制。2.1.2 步进电机的主要分类步进电机在构造上有三种主要类型: 反应式、永磁式和混合式。反应式:定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.
11、2°、但动态性能差、效率低、发热大,可靠性难保证。永磁式:永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角(一般为7.5°或15°)。混合式:混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好,步距角小,但结构复杂、成本相对较高。按定子上绕组来分,共有二相、三相和五相等系列。最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好。该种电机的基本步距
12、角为1.8°/步,配上半步驱动器后,步距角减少为0.9°,配上细分驱动器后其步距角可细分达256倍(0.007°/微步)。由于摩擦力和制造精度等原因,实际控制精度略低。同一步进电机可配不同细分的驱动器以改变精度和效果。步进电机的工作原理步进电机的基本参数及其指数标语2.3.1 本实验步进电机的基本参数本实验选用了型号为28BYJ-48的步进电机,它的外形图如图2-4所示,其基本参数如表2-2所示。图2-4永磁步进电机的外形图表2-2 28BYJ-48步进电机的基本参数静态指标术语1、相数:产生不同对极N、S磁场的激磁线圈对数。常用m表示。2、拍数:完成一个磁场周期
13、性变化所需脉冲数或 导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A。3、步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度/(转子齿数*运行拍数),以常规二、四相,转子齿为50的电机为例。四拍运行时步距角为=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为=360度/(50*8)=0.9度(俗称半步)。动态指标术语步进电机的特点和特性步进电机的主要特点1、一般步进电机的精度为步进角的3-5%,且不累积。2、步进电机外表允许的最高温度。
14、步进电机温度过高首先会使电机的磁性材料退磁, 从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。3、步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。4、步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启
15、动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。步进电机的主要特性1、步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号, 没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。2、三相步进电机的步
16、进角度为7.5度,一圈360度,需要48个脉冲完成。3、步进电机具有瞬间启动和急速停止的优越特性。4、改变脉冲的顺序,可以方便的改变转动的方向。因此,打印机、绘图仪、机器人等设备都以步进电机为动力核心。步进电机驱动系统介绍步进电机不能直接接到交直流电源上工作,而必须使用专用设备,即步进电机驱动器。步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度上取决于驱动器的优劣。典型的步进电机驱动系统由步进电机控制器,步进电机驱动器,和步进电机本体三部分组成。步进电机控制器发出步进脉冲和方向信号,每发出一个脉冲,步进电机驱动器就驱动步进电机的转子前进一个步距角。步进电机转速的高低,升速或者降速
17、,启动或者停止都完全取决于脉冲频率的高低和脉冲的有无。通常,步进电机驱动器由逻辑控制电路,功率驱动电路,保护电路和电源组成。步进电机驱动器一旦接收到来自控制器的步进脉冲信号,控制电路就按预先设定的电机的通电方式产生步进电机各相励磁绕组导通或截止的信号。控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机的功率驱动部分。步进电机驱动电路向步进电机的控制绕组输入电流,使其励磁形成空间旋转磁场,驱动转子运动。保护电路在出现短路,过载,过热等故障情况下迅速停止驱动器和电机的运行。本人在这次设计中采用了基于ULN2003芯片的步进电机驱动器,将在节进行详细的表述。
18、第三章 MSP430G2553芯片及其引脚功能介绍近年来,随着微电子技术的日新月异,世界上的许多芯片制造商纷纷推出自己的新产品,品种极为丰富。由于竞争激烈,其中串行接口多、低功耗、本身具有液晶显示驱动器与看门狗定时器的多功能芯片将成为主流器件。全球著名DSP制造商美国德州仪器(TI)公司所生产的新型芯片MSP430系列,以其独特的性能和丰富的片内外设成为电子技术设计开发人员的新宠。3.1 单片机原理概述单片机(single-chip microcomputer)是把微型计算机的主要部分都集成在一块芯片上的单芯片微型计算机。由于单片机的高度集成化缩短了系统内的信号传送距离,优化了结构配置,大大提
19、高了系统的可靠性和运行速度,同时它的指令系统又非常适合于工业控制的要求,所以单片机在工业过程及设备过程得到广泛应用。3.2 MSP430G2553型单片机概述MSP430G2553外设:(1)通用I/O:可独立编程;可提供输入输出和中断的任意组合;所有寻址指令可对端口寄存器进行读写访问;每个I/O具有一个可编程的上拉/下拉电阻;某些器件或引脚具有触摸按键模块。(2)16位Timer_A2:两个捕获/比较寄存器;丰富的中断功能。(3)WDT+看门狗定时器。(4)欠压复位:可在上电和断电期间提供正确的复位信号;功耗包含于MCU最低功耗时所消耗的电流之中。(5)串行通信:支持I²C和SPI
20、的USI以及UART的USCI。(6)Comparator_A:可设定反相和同相输入;可选的RC输出滤波器;可直接输出至Timer_A2捕获输入;具有中断能力。MSP430G2553的引脚图3-2如下:图3-2 Msp430G2553单片机引脚图MSP430G2553开发板各接口引脚介绍MSP430G2553引脚介绍3.3 Msp430G2553型单片机的各个功能模块1、时钟系统:超低功耗/低频振荡器;外接晶体振荡器;数字控制振荡器。2、通用I/O(P端口寄存器):(1)PXDIR输入/输出方向寄存器(0:输入模式,1:输出模式);(2)PXIN输入寄存器,输入寄存器是只读寄存器,用户不能对其
21、写入,只能通过读取该寄存器的内容知道I/O口的输入信号。(3)PXOUT输出寄存器,寄存器内的内容不会受引脚方向改变的影响(4)PXIFG中断标志寄存器(0:没有中断请求,1:有中断请求),该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求,这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位。外部中断事件的时间必须大于等于1.5倍的MCLK的时间,以保证中断请求被接受。(5)PXIES中断触发沿选择寄存器(0:上升沿中断,1:下降沿中断)(6)PXIEL功能选择寄存器(0:选择引脚为I/O端口,1:选择引脚为外围模块功能)(7)PXREN上拉/下拉电阻使能寄存器(0:禁
22、止,1:使能)。所有P口都可以作为通用I/O口使用;所有P口都可以进行字节操作和位操作。3、中断:(1)中断源:外部中断、定时器中断、看门狗定时器中断、串口中断、A/D转换中断、比较器中断。(2)中断的一般设置:打开关闭局部中断;打开关闭全局中断;中断的嵌套。4、定时器的计数模式:(1)增计数模式(2)连续计数模式(3)增/减技术模式(4)停止模式5、串行通信:串口是系统与外界联系的重要手段,我们有时需要使用上位机进行系统调试及现场数据的采集和控制,MSP430G2553中有两个串口模块:USCI_A0和USCI_B0。串行异步通信的主要特点:(1)两个独立的移位寄存器:输入/输出寄存器(2)
23、传输7位或8位数据,可采用奇校验、偶校验(3)数据在发送或接受时低位在先(4)独立的发送或接受中断(5)可编程实现分频因子为整数或小数的波特率。3.4 MSP430G2553微控制器的特点和特性微控制器的特点1.处理能力强:MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。2.运算速度快:MSP430系列单片机能在25MHz晶体的驱动下,实现40ns的
24、指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如 fft 等)。3.超低功耗:MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处:首先,MSP430 系列单片机的电源电压采用的是1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165A左右,。其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL 和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768
25、Hz),也可以使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。微控制器的特性2 超低功耗:(1)运行模式 2.3*10-8(A)(2)待机模式 0.5*10-6(A)(3)关闭模式 0.1*10-6(A)3 五种节能模式4 可在不到1*10-6(s)的时间内从待机模式唤醒5 基本时钟模块配置:具有四种校准频率并有高达16MHz的内部频率内部超低功耗低频振荡器32kHz晶体外部数字时钟源。6 两个16位Timer_A分别具有三个捕获/比较寄存器7 多达24个支持触摸感测的I/O引脚8 通用串行通信接口:(1
26、)支持自动波特率检测的增强型异步收发器(2)编码器和解码器(3)同步SPI9 用于模拟信号比较功能或者斜率模数转换的片载比较器10 带内部基准,采样,与保持以及扫描功能的10位模数转换器11 欠压检测器12 串行板上编程:(1)无需外部编程电压(2)利用安全熔丝实现可编程代码保护13 具有两线制接口的片上仿真逻辑电路3.5 MSP430G2553开发板硬件资源概述名为Launchpad的MSP-EXP430G2低成本实验板是一款适用于MSP430G2xxx系列产品的完整开发解决方案。其基于USB的集成型仿真器可提供为全系列MSP430G2xxx器件开发应用所必需的所有软、硬件。Launchpa
27、d具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430器件能够简便的插入Launchpad电路板中。此外,还可以提供板上FLASH仿真工具,以直接连接至PC,轻松进行编程和调试。图3-3 MSP-EXP430G2553开发板第四章系统硬件设计本控制系统主要作用是通过MSP430G2553单片机来控制步进电机的正反方向的旋转,而硬件部分是由MSP430G2553单片机、单片机驱动器ULN2003、按键、步进电机之间进行合理的连接。因此,此结果可以应用于遥控壁挂式空调的风门的运动,具有很强的现实意义。4.1 系统总体框架图图4-1 系统设计框图本系统的MSP430G2553单片机由U
28、SB供电,步进电机驱动电路由5V独立电压源供电。通过对单片机上的P1.3按键和外围扩展的P2.0按键进行循环扫描来判断按键是否已被按下,若按键被按下,再经过步进电机驱动电路功率放大后,通过这两个按键分别来实现电机的正反转控制,调速系统由软件方式完成,即用中断定时器控制转速。此系统将应用于壁挂式空调风门的控制,具有很强的现实意义,壁挂式风门如图4-2。图4-2 壁挂式风门键盘控制电路键盘控制模块包括方向控制键、启停键,分别与单片机的P1.3和p2.0相连。实现对步进电机的方向和启动停止控制。4.2.1 按键功能的简单介绍键盘在单片机的应用中能实现向单片机输入数据、传送命令等的功能,是人工干预单片
29、机的主要手段之一。键盘的实质是一组按键开关的集合。键盘所用的开关为机械弹性开关,结合了机械触点的合、断作用。一个电压信号在机械触点的断开,闭合过程中,都会产生抖动,一般为510ms;两次抖动之中为稳定的闭合状态,时间由按键动作所决定;第一次抖动前和第二次抖动后为开断状态。按键闭合与否,反映在输出电压上就是呈现出高电平或者低电平。通过对输出电平的高低状态的检测,便可以确认按键是否按下。高电平表示按键断开,低电平表示按键闭合状态。并且,为了能直观的表示按键闭合与否,还可以为每个按键相应增加了发光二极管,按键断开时,发光二极管灭,当有键闭合时,相应的发光二极管变亮。键盘的抖动与消抖为了确保单片机对一
30、次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动通常采用硬件、软件两种方法。由于硬件消抖电路设计复杂,本设计只做简单叙述;软件消抖适合按键较多的情况,方便简单。其原理是在第一次检测到有键按下时,执行一段延时10ms的子程序后在确认该键电平是否仍保持闭合状态电平,如果保持闭合状态电平则确认为真正有键按下,从而消除了抖动的影响。图4-3 基于ULN2003步进电机的驱动电路设计4.3.1 ULN2003芯片的基本介绍实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。 引脚10:脉冲信号输出端,对应7脚信号输入端。 引脚11:脉冲信号输出端,对应6脚信号输入端。 引脚12:脉
31、冲信号输出端,对应5脚信号输入端。 引脚13:脉冲信号输出端,对应4脚信号输入端。 引脚14:脉冲信号输出端,对应3脚信号输入端。 引脚15:脉冲信号输出端,对应2脚信号输入端。引脚16:脉冲信号输出端,对应1脚信号输入端。图4-5 ULN2003管脚连接图图4-6 ULN2003芯片内部结构4.3.2 ULN2003芯片的特点和功能ULN2003芯片是高耐压,大电流达林顿阵列,它由7组达林顿晶体管阵列和相应的电阻网络和钳位二极管网络构成,它具有同时驱动7组负载的能力,是单片双极型大功率高速集成电路。功率电子电路大多数要求具有大电流输出能力,以便用于驱动各种类型的负载。功率驱动电路是功率电子设
32、备输出电路的一个必要组成部分。ULN2003芯片高压大电流达林顿晶体管阵列产品是可控大功率器件。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采用DIP16 或SOP16 塑料封装。ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500m
33、A/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统基于 ULN2003步进电机的驱动电路与步进电机的结合首先介绍ULN2003步进电机驱动电路板模块的各个功能,如图4-7所示图4-7 ULN2003步进电机驱动电路板模块图4-8 步进电
34、机驱动原理图图4-9 系统实物图第五章软件设计5.1 软件设计平台CCS(Code Composer Studio)是TI公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。为CCS软件的最新版本,功能更强大、性能更稳定、可用性更高,是MSP430软件开发的理想工具。Code Composer Studio(CCS 是用于 TI DSP、微处理器和应用处理器的集成开发环境)。 Code Composer Studio 包含一整套用于开发和调试嵌入式应用的工具。它包含适用于每个 TI 器件系列的
35、编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。 Code Composer Studio IDE 提供了单个用户界面,可帮助您完成应用开发流程的每个步骤。借助于精密的高效工具,用户能够利用熟悉的工具和界面快速上手并将功能添加至他们的应用。Code Composer Studio IDE 的交互式描述器可以快速测量代码性能,确保在调试和开发阶段高效地使用 DSP 目标资源。该描述器使开发人员能够在他们的应用中轻松描述指令周期或其它事件(例如高速缓冲存储器未命中数/命中数、管道拖延和分支)的所有 C/C+ 函数。描述范围可用于在优化期间专注于代码的高使用率区域,帮助开发
36、人员生成经过精细调节的代码。描述可用于任何组合形式的汇编、C+ 或 C 代码。为提高生产力,所有描述设备在整个开发周期内均可用。CCSV5软件开发环境界面如图5-1所示。图5-1 CCSV5软件开发环境界面程序分析系统初始化:#include <msp430g2553.h>unsigned char MotorStep=0; /步进马达步序,将在Switch包含的语句中得到体现。unsigned intMotorDelay,TIM,CT;/初始变量的赋值。unsigned char key1=1,key2=1;/ 初始变量的赋值。#define speed 4 / 调整速度 数值不
37、要设的太低 低了会引起震动。void SetMotorzheng();/子函数设定电机正传void SetMotorfan();/子函数设定电机反转进入主函数:void main(void)WDTCTL = WDTPW + WDTHOLD;/ StopWDT(关闭看门狗)。P1DIR |= 0x17;/将P1口P1.3设为输入,其他P1口设为输出状态。P1REN |= 0x08; /由于P1.3按键的高电平没有达到要求,设置寄存器的P1.3位为1,即启动上拉电阻,满足高电平要求。P2DIR |= 0x00;/ 将P2口设为输入,目的将位设为输入。P2REN |= 0x01; /通过寄存器,将位
38、设置为1,启动上拉电阻功能。CCTL0 = CCIE;/ CCR0 interrupt enabled(让中断使能)。CCR0 = 5000;TACTL = TASSEL_2 + MC_1;/ SMCLK, contmode。_BIS_SR(GIE);/ Enter LPM0 w/ interrupt。MotorStep=0;确认一下MotorStep确实给低电平。重复扫描按键:while(1)/重复扫描是否有按键被按下key1=P1IN&0x08;/将P1口输入的值与0X08相与,其实就是P1.3与0X08相与,判断P1.3是否被按下,若被按下则P1.3为低电平,即相与之后key1为
39、低电平。key2=P2IN&0x01;key2同上。if(key1=0)/若key1为低电平。SetMotorzheng();/就调用SetMotorzheng ()子函数。else if(key2=0) 若key2为低电平。SetMotorfan();/就调用SetMotorfan()子函数。调用子函数,完成电机转动功能:void SetMotorzhen()switch(MotorStep)case 0:/在此条件下,将A相设为低电平,其他B,C,D为高电平。 if(TIM)/利用Timer A0 interrupt service routine中断程序,可以调整单片机I/O口是
40、否与驱动器的IN导通,即完成调速的功能。 P1OUT = 0x1A; /将A相设为低电平,其他B,C,D为高电平。MotorStep = 1;/下次调用子函数时,进入Case 1。TIM=0;/使TIM为0,在中断程序中继续判断,下一次变为1时执行IF语句。break;跳出Switch语句。case 1:/ AB if(TIM)P1OUT = 0x14;MotorStep = 2; TIM=0;break;case 2:/B if(TIM) P1OUT = 0x15;MotorStep = 3; TIM=0; break;case 3:/BCif(TIM) P1OUT = 0x11;Motor
41、Step = 4; TIM=0; break; case 4: /Cif(TIM) P1OUT = 0x13;MotorStep = 5;TIM=0; break;case 5: /CD if(TIM) P1OUT = 0x03;MotorStep = 6; TIM=0; break;case 6: /D if(TIM)P1OUT = 0x07;MotorStep = 7;TIM=0; break; case 7:/DA if(TIM) P1OUT = 0x06;MotorStep = 0; TIM=0; break;void SetMotorfan()/反转与正传原理相同,只是颠倒了通电顺序
42、。switch(MotorStep) case 7: if(TIM) P1OUT = 0x1A;MotorStep = 0; TIM=0; break;case 6: / ABif(TIM) P1OUT = 0x14;MotorStep = 7; TIM=0; break;case 5: /Bif(TIM) P1OUT = 0x15;MotorStep = 6; TIM=0; Break case 4:/BCif(TIM)P1OUT = 0x11;MotorStep = 5; TIM=0; break; case 3: /C if(TIM)P1OUT = 0x13;MotorStep = 4;
43、TIM=0; break;case 2: /CDif(TIM)P1OUT = 0x03;MotorStep = 3; TIM=0; break;case 1: /Dif(TIM) P1OUT = 0x07;MotorStep = 2; TIM=0; break;case 0:/DAif(TIM) P1OUT = 0x06;MotorStep = 1;TIM=0; Break;总之,通过不停地扫描按键是否被按下,若按键被按下就调用子函数void SetMotorzheng()或SetMotorfan(),即可完成四相步进电机的八拍方式的转动。定时器中断:#pragma vector=TIMER0
44、_A0_VECTOR_interrupt void Timer_A (void)/CCR0 = 50000;/ Add Offset to CCR0CT+;/CT数值加一。if(CT>=speed)/若CT数值大于已设定的Speed数值,则执行IF语句。TIM=1;/将TIM赋值为1,即执行在Switch语句中IF的功能,也就是说完成调速的功能。 CT=0;/将CT重新复制为0,继续在中断程序中判断。 程序流程图程序流程图如图5-2所示。图5-2 程序流程图程序设计过程中出现的问题及其处理方法1.错误的给I/O口赋值。由于要将作为输入按键使用,而错误的将的I/O口设置为高电平,导致按键无
45、法使用,后发现问题经过调整#definekey1=P1IN&0x08;也可以达到想要的结果。第六章总结与展望将近两个月的毕业设计终于圆满完成了。首先感谢张老师每周都对我们毕设进度的询问与耐心的指导,给我们调整思路,指引研究方向。再次还要感谢姜师兄在MSP430单片机对步进电机编程调试方面的大力支持。其中发现了一些问题,例如I/O端口的输入输出设置,步进电机的转速设置过低将会出现震动,按键的高电平只有达不到要求,必须设置内部寄存器,利用上拉电阻将其电位拉至高电平,达到设置的要求。最终,通过C程序的编写,使MSP430G2553单片机的I/O口(,)按A-AB-B-BC-C-CD-D-DA
46、的顺序输出高低电平(因为ULN2003电机驱动器是低电平起作用)。再输入ULN2003电机驱动器之中,从而可使电机进行旋转。由于接入和两个按键,可以模仿控制壁挂式空调的遥控器那样,按下键,电机正传,按照人们预定的方向进行旋转,松开键,电机停止旋转。如果想让电机反转,按下键即可,通电顺序(DA-D-CD-C-BC-B-AB-A),同样可以满足人们的要求。虽然编程中遇到过许多的问题,但是静下心来分析思考,终究会解决问题,这说明发现问题就要解决问题,在我们这个对知识最渴求的年龄来说,遇到点困难并不是什么坏处,反而可以增进我们战胜困难的勇气和信心。因此毕设对我们来说不仅仅是完成某项任务,而是让我们学会
47、全面地认识,处理某项任务,从搜集信息到筛选信息,从明确方向到开始着手执行,从发现问题到解决问题,中间的每一个环节我们都得到了锻炼。因此,毕设可以说是我们在大学上的最后一堂课,而是在社会这个大环境中开始的第一课。参考文献1 朱海君,张硕成,乔卫民,梁义海. 步进电机控制系统的设计及其应用J. 核技术,2005.2 张朋涛,肖世德,黄灿泉. 基于MSP430单片机的步进电机控制系统设计J. 机电工程技术,2005.3 唐磊,邱羽. 基于MSP430步进电机控制器的设计J. 煤炭技术,2011.4 李庆亮. C语言程序设计实用教程. 北京:,2006.5 王新颖. 单片机原理及应用设计. 北京:北京
48、大学出版社,2008.6 莫正康. 电力电子应用技术. 北京:机械工业出版社,2009.7 曾晓宏. 数字电子技术. 北京:机械工业出版社,2008.8 江晓安. 模拟电子技术. 陕西:西安电子科技大学出版社,2007. 陈理璧. 步进电动机及其应用. 上海科学技术出版社,1985.Eli Flaxer, Compact programmable controller for a linear piezo-stepper motorJ, Mechatronics 16 (2006) 303308.16 Isao Takahashi,Toshihiko Noguchi A new respons
49、e and high-efficiency control strategy of an motorJ.IEEE Trans on Ind Appl,1986.附录一英文原文附录二中文翻译步进电机步进电机是一种把电脉冲转换成角位移的执行器件。通俗的,当驱动程序收到一个步进脉冲信号,将驱动步进电机旋转一个固定的角度(俗称步进角)。因此可以通过控制脉冲个数来控制角位移,这样可以准确确定转动的具体位置。也可以通过控制脉冲的频率来控制电机的旋转速度,对电机实现对转速的控制。步进电机的种类:步进电机的种类分为三种,永磁式,反应式,混合式。永磁式步进电机一般为两相,转矩和体积较小,步进角一步度。反应式一般
50、情况有三相,实现大转矩输出,步进角是度一般情况,但噪声和振动很大。在欧洲和美洲将近八十个国家已经被淘汰,混合式是综合了永磁式和反应式的优点,它有两相和五相,其中两相的步距角是度,五相的步距角是度,它是目前使用的最广泛的步进电机。步进电机允许的最高表面温度:步进电机的温度过高,首先会出现磁性材料退磁现象,导致转矩降低甚至失步,步进电机表面允许的最高温度取决于磁性材料的退磁点,磁性材料退磁点一般在130度以上,有些材料甚至高达200之多。所以步进电机的工作温度在8090度是正常的。步进电机精度是多少?是否累积?一般步进电机的精度为步进角的3%5%,且不积累。如何确定步进电机驱动器直流电源:A电压确
51、定:混合式步进电机驱动器的电源电压范围较广,电源电压通常根据步进电机的转速和相应来要求,如果要求快速的运行和较高的响应,就用高电压。但还是应该注意电源电压的峰值不能超过驱动器的最大输入电压,否则会损坏驱动器。B电流确定:电源电流是根据输出相电流确定的。如果采用线性电源,电源电流通常取输出相电流的倍。如果采用开关电源,电源电流通常为输出相电流的1.52倍。步进电机的主要特性:当步进电机关机时要确定没有脉冲信号输入,当电机运行时,加入适当的脉冲信号,电机会转过一定的角度。频率决定转速;龙式步进电机的步距角是7.5度,旋转360度,需要48个脉冲才能完成;快速启动和停止是步进电机的优良特性之一;想要
52、改变电机的旋转方向,只要改变脉冲的通电顺序方向。因此目前的打印机,绘图仪,机器人以步进电机最为动力的核心部分。AT89C51AT89C51是一个拥有4K字节FLASH编程功能的和可擦除只读存储器的高性能,低功耗,该设备是采用ATMEL高密度非易失性内存技术并与工业标准的MCS-51指令集和引脚兼容。芯片上的flash允许程序存储器通过系统或者传统的非易失性存储器重新编程。通过把一个单一的芯片上的FLASH和一个多功能八位CPU相结合,ATMEL的AT89C51是一个功能强大的微型计算机,为许多嵌入式控制程序提供了很多高效率和低成本的解决方案。功能特点:AT89C51具有以下功能,4k字节的FL
53、ASH,128字节RAM,32个I/0口,两个十六位定时器/计数器。一个五向量二级中断机构,一个全双工串行口,芯片振荡器和时钟电路,除此之外,AT89C51还支持频率为0的静态逻辑运算,并且支持两种节电模式。空闲模式时,CPU停止工作。同时允许RAM,定时器/计数器,中断系统和串口继续运作。掉电模式下保存RAM的内容。关闭振荡器,停止使用其他所有芯片的功能,直到硬件电路复位。VCC电源电压GND 地端口0:端口0是一个八位漏极开路双向I/O端口。作为一个输出端口,每一个引脚可以用来驱动八个TTL的输入端。当1写入端口0的引脚,引脚可作为高阻输入端。端口0也可以设定成地址,成为数据访问外部程序和
54、数据存储器时的总线。在这种模式下,端口0内部上拉。程序改变期间还要上拉电阻。端口1:端口1是一个具有内部上拉电阻的8位双向I/O端口。端口1的缓冲器可以成为4个TTL的输入,当端口1置为1,内部的上拉电阻被置为高电平并且可以作为输入口。作为输入口时,由于上拉电阻的作用,引脚被被外部信号拉低时会输出一个电流。在FLASH编程和校验时,端口1也会接收到低地址信号。端口2:端口2是一个具有内部上拉电阻的8位双向I/O端口。端口2的输出缓冲器可以驱动4个TTL的输入。当1被写入端口2引脚,它们被内部的上拉电阻升至高电平,并可以用作输入口。作为输入口时,由于内部上拉电阻的作用,端口2引脚被拉至低电平时,将输出电流。端口2在访问16位地址的外部数据存储器时,将发出高位地址字节。在此应用中,它采用强大的上拉电阻。在访问8位地址的外部数据存储器时,端口2也会收到一些高八位地址信号或者控制信号。端口3:端口3是一个具有内部上拉电阻的8位双向I/O端口。端口3的输出缓冲器可以驱动4个TT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省教育机构2025年度劳动合同规范文本2篇
- 2025年金融资产交易居间委托服务合同2篇
- 二零二五年度法院离婚案件财产分割操作合同3篇
- 2025年度绿化带病虫害防治服务合同范本4篇
- 二零二五年度医疗设备采购与租赁合同参考文本4篇
- 2025版模具行业市场调研与购销合同4篇
- 2025年人才招聘解决方案合同
- 2025年古玩字画担保协议
- 2025年宽带网络使用合同
- 2025年融资居间服务合同的比较研究
- 2025年度版权授权协议:游戏角色形象设计与授权使用3篇
- 心肺复苏课件2024
- 《城镇燃气领域重大隐患判定指导手册》专题培训
- 湖南财政经济学院专升本管理学真题
- 全国身份证前六位、区号、邮编-编码大全
- 2024-2025学年福建省厦门市第一中学高一(上)适应性训练物理试卷(10月)(含答案)
- 《零售学第二版教学》课件
- 广东省珠海市香洲区2023-2024学年四年级下学期期末数学试卷
- 房地产行业职业生涯规划
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- MOOC 数字电路与系统-大连理工大学 中国大学慕课答案
评论
0/150
提交评论