单片机驱动的伺服控制系统设计与实现new_第1页
单片机驱动的伺服控制系统设计与实现new_第2页
单片机驱动的伺服控制系统设计与实现new_第3页
单片机驱动的伺服控制系统设计与实现new_第4页
单片机驱动的伺服控制系统设计与实现new_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、四川大学本科毕业论文 基于MSP430单片机的两轴控制系统基于MSP430的电机伺服系统自动化系学生 杨静 指导老师 舒朝君摘要 开环数控系统能够同时满足当代制造业的发展对于基于信息和灵活模型的需求以及适应激烈竞争的制造业变化。此外,由于运动控制在数控系统中所扮演的非常重要的角色,开环数控系统肯定会提升新一轮的运动控制器将成为一种必然趋势。主要探讨如何使用单片机MSP430作为控制工具对步进电机伺服系统进行设计。我们主要采用差分控制方法对步进电机的空间位置进行设置和驱动,使得步进电机能够在接收到一定数目PWM波之后转动一个固定的角度,从而让位置电机的运行达到相应的精度。同时,使用定时器让单片机

2、输出一个可调频的PWM波,从而让转速电机以相应的角速度转动。最终让伺服系统在人类控制命令下达到很好的平面位置控制和转速可调的功能。根据实验最终结果,转速电机可得到的转速分别是0.5转/秒,1 转/秒,1.65 转/秒,2.5转/秒以及5转/秒.而对于位置电机能够在30cm*30cm平面上可达到的81个固定点位控制,以及可接受中断并停止在指令发出瞬间的任意位置。 主题词 开环数控系统;运动控制;步进电机;伺服电机;单片机;The Servo Motor System Based on the Single chip micro-controller MSP430AutomationStudent

3、: Yang Jing Adviser: SHU Chao-junAbstract The Open-loop Numerical Control system can satisfy the requirement of the information and flexible module in modern fabrication industry developing process , and adapt to the severe competition in the industry as well .In addition , due to the very role moti

4、on-control played in the NC system ,open loop NC system will definitely become an inevitable tendency in the new generation of motion controller.We mainly adopts structured design thought on how to design a servo motor system controlled by single-chip micro-processor Msp430.Which is important for th

5、e receiver to reach an accurate displacement after acquiring a certain number of PWM .Finally ,the servo motor system can function well in the location control and the speed control.According to the experiment,the speed motor can reach speed at 0.5 rad/s,1 rad/s,1.65 rad/s,2.5 rad/s and 5 rad/s resp

6、ectively.The positioning motor could reach 81 fixed position in the plane,and can accept motion interruption at any given time. Key Words open-loop NC system; motion control; step motor; single chip micro-controller,servo motor. 随着我国科技日益迅猛的发展,人类对制造技术提出了新的和更高的要求。作为制造业发展程度的重要指标的数控技术是一种采用计算机对机械加工过程中各种控

7、制信息进行数字化运算处理,并通过高性能的驱动单元对机械制造构建进行自动化控制的高新技术。 数控系统的技术水平作为衡量一个国家工业生产技术水平的重要标志之一,是随着电子技术、计算技术、自控技术及精密测量技术的迅速发展而发展起来的,利用数字化信号对机床运动及其加工过程进行控制的一种技术。高档次的系统全都是依赖进口。世界当前最强大的厂商来自日本、德国、法国和西班牙。 单片机系统在数控系统中的应用,单片机系统与PC平台相比,具有成本低、体积小、功耗低的特点,单片机充分发挥了简化系统设计,提高系统集成度的优势,所以在中、低档数控系统中得到了较为广泛的应用。现在国内数控系统刚刚开始产业化,水平质量一般。数

8、控功能部件是当前国内的一个薄弱环节。因而单片机在我国当前市场具有相当大的用武之地。 1.2 数控系统发展以及产生背景 数控系统可用于数控机床的生产,也可以对原有的数控机床或非数控机床进行系统升级或者改造,其具体的应用领域为机电行业。正是数控系统在我国现代制造系统中所处的核心性、基础性的地位,发展和普及计算机技术对深入研究新一代数控技术具有重要的意义和实际运用价值。 为顺应世界潮流,大力发展我国制造业。中国出台了一系列政策,包括国务院批准实施装备制造业调整和振兴计划和高档数控机床与基础制造装备国家科技重大专项计划,用以为我国数控技术行业创造良好的外部环境,从而加快数控技术行业的发展。其中前一个计

9、划明确指出:“坚持装备自主化与重点建设工程相结合,坚持自主开发与引进消化吸收相结合,坚持发展整机与提高基础配套水平相结合的基本原则”,落实装备自主化的重要内容在于提升数控系统等基础配套件的市场占有率。 目前,我国正处于工业化中期,一批以重工业为基础的高增长行业发展势头强劲,构成了对机床市场尤其是数控机床的巨大需求。同时,由于当前市场中高端数控系统主要被德国西门子、日本发那科等国外品牌所占据。随着中国制造业的逐步升级,中国现有普通机床也亟需改造升级,所以在不远的将来,国内中高端数控系统市场的广阔天地的发展空间巨大。“十二五”期间,随着国民经济快速地发展,汽车、船舶、工程机械、航空航天等行业将为我

10、国机床行业提供巨大的需求,预计到2015年我国各类数控机床及数字化机械所需数控系统需求将达到25万台套以上(不包含进口机床所配套的数控系统),产品结构也将逐渐向中、高档转化。1.3数控系统未来的发展趋势 随着电子技术、信息技术、网络技术、模糊控制技术的发展使得新一代数控系统技术水平大大提高,促进了数控机床产业的蓬勃发展,进而促进了现代制造技术的快速发展。数控机床的性能在开放式体系结构方向、软数控方向、智能化方向、网络化方向、高可靠性方向、复合化方向以及多轴联动方向的发展取得了长足的进步,迎来了现代制造业的一场新的技术革命。 一、数控系统向开放式体系结构发展 为弥补当前硬数控的不足,使得用户能够

11、根据自身实际需要灵活配置数控系统,缩短开发生产周期,开放式体系结构将以更好地通用性、柔性、适应性、可扩展性,在未来的数控市场上独占鳌头。 数控机床是用程序指令控制刀具按给定的工作程序、运动速度和轨迹进行自动加工的机床。数控机床具有广泛的适应性,加工对象改变时只需要改变输入的程序指令;加工性能比一般自动控制机床高,可以精确加工复杂型面,因而适合于加工中小批量、改型频繁、精度要求高、形状又较复杂的工件,并能获得良好的经济效果。 二、数控系统向软数控方向发展 所谓软数控,实际是指由用户参与设计的数控系统。数控系统藏封闭体系结构向开放体系结构发展,正是从硬数控向软数控发展的过程。 三、数控系统向智能化

12、方向发展 智能化是21世纪制造技术发展的一个大方向,数控系统引入了自适应控制、模糊系统和神经网络的控制原理,不但具有多种功能,而且人机界面友好,具备故障诊断专家系统,从而使得自诊断和故障监控功能更趋完善。 四、数控系统向网络化方向发展 数控系统与外部的其他控制系统或上位计算机进行网络连接和网络控制。数控系统一般首先面向生产现场和企业内部的局域网,然后经由因特网通向企业外部,这就是所谓的内联网或者互联网。网络系统向开放、集成和智能化方向发展。 五、数控系统向高可靠性方向发展 随着网络化应用的日趋广泛,数控系统的高可靠性渐渐成为数控系统制造商们追求的目标。虽然当前国外数控装置的可靠性已相对国内很高

13、了,但距离理想的主机与数控系统的失效率之比为10:1的情况,还有差距。 六、数控系统向复合化方向发展 在零件加工过程中,有大量的无用时间消耗在工件搬运、上下料、安装调整、换刀和主轴的升降速上,为了降低这些无用时间,人们希望尽可能将不同的加工功能整合到同一台机床上,所以复合功能的机床成为近年来发展很快的机种。 七、数控系统向多轴联动化方向发展 由于加工曲面的复杂性,以及改善加工表面的粗糙度和大幅度提高加工效率的必要性,各大系统开发商对多轴联动投入了很多的精力,多轴联动已经成为当前加工中心和数控铣床的一个开发热点。1.4参考文献综述 在总体布局方面,文献1中主要取得了对本课题中嵌入式运动控制系统的

14、大致认识和全局性的把握,对运动控制系统的开放性、同步性、可重构性、可移植性以及可靠性有了总体的认识和体会,并确定所选择的题目是切实有价值的。文献3中提出了“时钟宜慢不宜快、系统宜静不宜动、电压宜低不宜高”,作为硬件设计所遵循的原则。本次设计受益于文献3和4中对于嵌入式系统性能指标评价的阐述:1)成本 :包括开发成本、生产成本等多种因素组成,不考虑任何一种成本因素都是片面的、不现实的。2)面积:随着嵌入式系统的广泛应用,人们对体积小、重量轻的设备有了更多的偏爱。3)功耗:被公认为是一个设计现代电子产品的重要指标,针对增加便携式产品电池的使用寿命而提出来的,同时还要考虑到尽可能降低芯片封装和冷却装

15、置的成本,提高系统可靠性以及环境因素等。 在软件结构设计方面,主要从文献1中获得了运动控制系统总体设计的灵感以及重要的经验指导。对于设计方案,理清了速度控制算法和插补算法。程序设计的过程主要遵循此文献中重点强调的分层、模块和面向对象的实际思想,采用“上位机软件+控制函数+仿真器”的设计方案,编写了键盘中断函数、定时器PWM波输出函数、显示函数等功能函数。文献3中,用中断替代查询(在程序中无论是查询还是中断均能应对那些较为简单的应用,但却在低功耗特性的结果上相差甚远,中断方式的单片机能够节省能耗从而直接转入中断等待或停止模式);用定时器定时代替延时子程序;关掉间歇性工作的I/O模块或不工作的I/

16、O模块来降低功耗;工作时序的合理安排。为了降低系统功耗,要尽量减少控制器件的运行时间,因此,仅当接收到中断信息时才让控制器响应中断,随即立即恢复低功耗状态,直到下一个中断来临的时刻;文献5、11至20对系统硬件和软件仿真做出了详细的阐述。其中关于程序的“层次结构清晰,代码的良好可移植性”这句话对于本课题软件程序编制过程中的指导意义非常巨大。 在硬件结构设计方面,基于之前我们对系统整体设计以及控制机构的介绍,我们开始具体研究执行机构的工作原理以及文献6到文献11详细阐述了步进电机的相关问题,通过这些详细的执行机构介绍,了解到执行部件具体的工作原理,为进一步使用奠定了基础。基于我们所选择的控制方式

17、,让步进电机脉冲驱动的形式能够与现代的数字控制技术实现完美结合。在不需要特别高的精度的本课题中,可充分发挥步进电机结构简单、可靠性高和成本低的特点。 丁伟雄,杨定安,宋晓光. 步进电机的控制原理及其单片机控制实现J. 煤矿机械,2005,06:127-129. 本文的具体内容 在本课题的研究中,第一章介绍了数控系统国内外的发展程度和现状,并着重讨论了数控系统的发展背景和发展的趋势。 第二章主要介绍了数字控制系统的总体结构设计。文章对两轴控制系统进行了需求分析,并根据需求分析进行芯片选型。 第三章讨论了电机伺服系统的硬件设计。并阐述了运用单片机作为核心处理器的优势和必要性。 第四章介绍了基于单片

18、机的步进电机控制系统的实现与调试运用。附加运动控制的算法和程序。 在论文的最后,从数控系统视角给出了基于单片机的运动控制器的研究结论与展望。1.5本章小结 本章介绍了为什么要研究数字控制系统,其发展背景和发展的趋势是什么,本课题的研究是建立在哪些具体的研究成果和研究理论之上。这一章的介绍作为全文的基石,对充分地理解和认识数控系统整体设计的问题,起着至关重要的作用。 二、数字控制系统中总体结构设计【本章摘要】本章主要介绍了数字控制系统的软硬件结构设计。文章对数控系统进行了需求分析,并根据需求分析进行芯片选型,最后介绍了数控系统的总体结构设计。 2.1 系统需求分析 在设计一个数控系统时,我们首先

19、要明白系统所要实现的功能,即进行系统分析,再决定需要什么样的硬件及软件支持规模。 静电纺丝作为当今简便高效的生产纳米纤维的新型加工技术,未来在传统产业和高科技领域的发展空间很广阔。而在电纺过程中,由于聚合物射流的飞行轨迹是十分复杂的三维抖动,因此设计一个平面位置能够灵活控制的两轴步进电机运动控制器是十分必要的。基于静电纺丝装置的两轴步进电机运动控制器应该具有的特点是:降低软件研发成本:采用MSP430作为控制器的系统,运用c语言实现简单、快速的软件开发,让软件研发人员用更少的时间完成复杂的运动控制编程。灵活可控:通过充分地利用键的组合来实现整体控制。三、高可靠性:成熟的单片机芯片中各项功能均已

20、经相对成熟,采用这种芯片后,所需要的转钮将不再冗杂而直接依靠PWM波的输出来实现。 因此,作为一个全新数控系统研究的第一步,采用单片机来完成一个运动控制,能够极大地减少我们的开发工作量,加快开发进度,并得到更优的控制性能。同时,为了实现调速控制,我们需要高效率的微处理器来进行管理调度工作。2.2各个组成部分 为了更好地对位置控制系统进行设计,需要深入讨论步进电机和步进电机驱动器所构成的步进电机驱动系统以及作为控制核心的单片机。步进电动机驱动系统的性能,不但取决于步进电动机自身的性能,也取决于步进电机驱动器的优劣。对步进电机驱动器的研究几乎是与步进电机的研究同步进行的。 2.2.1 控制核心单片

21、机 基于在单片机在嵌入式邻域的广泛应用,单片机不同于通用功能计算机的特点,以及检测和控制方面实现某种特殊的功能的针对性,让它们以“微型控制器”为人们所熟知。为了实现以更少的外围电路来实现控制,引入了可编程的微型控制器单片机。微控制器是如何控制设备是由只读存储器上存储的程序所完全决定的。设计者只需要改变程序的指令即可完成对过程以及装置的控制。 单片机选择方案一: 采用通俗的51单片机,运用比较广泛,有良好的专业知识作为基础,上手快。但是由于本次系统的程序量很大,需要的I/O口资源较多,51单片机难以胜任。方案二: 采用TI公司生产的MSP430单片机作为主控芯片,它的新型设计不仅简洁,而且功能十

22、分丰富,可编程控制的时钟系统、多种操作模式以及零功耗。这种微控制器除了从小的低端到少引脚设备,到大的工业应用邻域的高级解决方案(如能源效率,高标准,足够长的产品寿命以及高温下的鲁棒性)。常用的外围和软件系统中构建工具保证了MSP单片机系列的高水平的涵盖面和兼容性。在它们独特和开创性的架构之中,加速和简化了开发过程。 微控制器开发板上的外围模块:PWM和键盘,创造了集成化的解决方案以应对所有有关电机的应用找到相应应用的微控制器。这不仅可大幅降低功耗,同时还能显著延长电池使用寿命。非常丰富的端口资源,6个8位的并行中断口、强大的定时器以及大容量的RAM和ROM都可用来存储大容量的程序。 基于上述考

23、量,决定选择方案二。 2.2.2 控制位置的执行机构步进电机 当步进电机中的定子和某一相的两个磁极相对时,两个磁极上绕组产生的N、S极必须相同,才能驱动电机正常运行。在步进电机中,转子结构较为复杂,转子内部为圆柱形永磁铁,两端外套软磁材料,周边有小齿和槽,当供给正负脉冲信号,输出转矩较永磁式大(消耗功率相对较小),断电时有定位转矩,称作为自动半流。 从上面的描述中我们大概知道了步进电机的工作原理,要具体控制它实现不同速率的旋转和正反转就需要一个能够将控制信号转化为它两相脉冲的步进电机驱动器。驱动器的作用在于将单片机输出的PWM波做环形分配、功率放大(将弱控制信号转化成步进电机所需要的强电流信号

24、)从而让步进电机绕组受到一定的通电次序并按照期望的相序旋转。正是基于步进电机价格便宜,精确定位,和可根据脉冲序列的顺序改变转向以及改变脉冲频率实现速度控制的优点,使得电脑控制的步进电机被广泛地运用到夹持和定位系统中。 除此之外,本课题还运用直流无刷电机,由于它可以由直接连接到单片机输出的两路PWM波,从而实现转速控制的目的。由于对作为接收装置的驱动单元的直流电机并没有精度方面的特殊要求,所以也使用开环控制。理想的步进电机微机控制单元:实际的步进电机微机控制单元: 这种简易性、精确性控制也是步进电机为人们所熟知和应用广泛的重要原因。 2.2.3 控制接收装置的执行机构无刷直流电机 无刷直流电机是

25、近几年随着微处理器技术的发展和高开关频率、低功耗新型电力电子器件的应用,以及控制方法的优化和低成本、高磁能级的永磁材料的出现而发展起来的一种新型直流电动机。由于它自身既保持了传统直流电机良好的调速性能有具有无滑动接触和换向火花、可靠性高、使用寿命长及噪声低等优点,而在数控系统、电动汽车、医疗设备、家用电器、自动化以及航空航天方面获得了广泛应用。 除了用做位置调制的步进电机,此次还用到了直流电机。直流电机以其简单方便的控制方式而得到广泛采用。在直流电机的两端分别给予两路PWM波分别作为供电电流和反电动势的驱动波形,加到直流电机驱动器的输入引脚,并经过驱动电路的适当功率放大,使得电机受到其两端所合

26、成的具有不同占空比的PWM波,从而达到合理控制转速的目的。 2.3 控制要求以及控制技术 2.3.1 系统控制要求 一、 I/O控制功能 本系统需要处理键盘接收到的信息以及根据它做出输出何种控制信号的判断。 二、 系统保护功能 当系统发生故障而不能正常运行的时候,能够自动断电或是经由操作者断开电源,防止进一步的故障。人机交互功能 系统的人机界面应包括数字按键、指令按键等。通过各个人机界面实现人和机器之间的信息交互,满足控制需求,同时在进行此项设计时应尽可能地考虑清楚界面与用户之间的良好互动性。本课题主要用于静电纺丝装置的接收功能,要实现此控制需求总共需要两个运动轴以及一个转速可调的接收装置。第

27、一个轴用来控制接收装置横向的移动距离,第二个轴用来控制接收装置纵向的移动距离。对于一个基于静电纺丝装置的两轴速度可调系统,我们必须从静电纺丝装置的应用角度来做出具体分析。通过按键达到方便地控制相应位置电机转动一个固定的距离,和控制接收装置的转速电机以一定角速度带动接收装置旋转的目的。系统扩展功能 如果用户希望在将来能给系统的软硬件升级,并在此间添加其他重要的功能,那么便需要考虑兼容性,并通过预留软件扩展功能来留出具体的扩展接口,从而成功添加新硬件。 2.3.2 控制技术 从硬件角度来说,利用电机驱动器与单片机之间连接所产生的各路PWM波的波形细分放大,得以更精确的方式控制步进电机的运转,和更精

28、确的定位。免除了软件细分所带来的数据量增大,控制I/O资源浪费的麻烦。通过使用一个简洁方便可调细分设置的步进电机驱动器,能够很好地达到节省I/O资源,放大电机功率的效果。从软件角度来分析,主要应着力于合理地安排系统输出控制信号同接收用户所给出的控制信息之间的关系,合理地分配I/O接口,并准确地接到具体的硬件上完成上面所阐述的功能。主要采用中断服务程序,充分利用MSP430单片机的低功耗模式以及灵活的中断所包括的定时器功能以及外围键盘模块之间的相互配合,最终实现整个系统的核心功能。 2.4 本章小结 本章主要介绍了所需要使用的作为控制核心的单片机,作为执行机构的步进电机和无刷直流电机,展示了本课

29、题设计最为基础的部分。在设计过程中相当重要的硬件部分,将在下一章更详细地介绍其工作原理。 三、电机伺服控制系统的硬件设计 3.1 系统总体功能架构 MSP430单片机为控制核心的系统逻辑控制示意图 上图的逻辑控制示意图,包括了从键盘中断中获得的键值并依据设置的键值保存对当前各个电机的状态更新,并在执行机构中实现出来,即在定时器中断中根据更新后的电机状态实现对1号转速电机的转速调制和驱动2号和3号位置电机达到指定坐标。 3.2 系统实际硬件结构图 3.2.1 电机的选型 首先确定电机拖动负载所需的扭矩(近似于传统电机所称的功率),其实际上,二者有着本质的区别。步进电机的物理结构,完全不同于交流、

30、直流电机,电机的输出功率是可变的。通常根据需要的转矩大小通常,根据所需要的转矩大小,即所要带动的物体的扭力大小,来选择哪种型号的电机。大致来说,扭力在0.8N.m以下,这时选择电机的机身直径为28cm,35cm,39cm。第二要确定它的最高转速。第三,根据前两个指标,再参考<距-频特性>,就可以选择出适合自己的步进电机。总之,要综合考虑力矩和速度的关系,选出最佳方案。尽量选择具有细分功能的驱动器,使驱动器工作在细分状态。在转速要求较高的情况下,可以选择驱动电压高一点的驱动器。电机的输出转矩和速度成反比,就是说,步进电机在低速的输出转矩较大,而在高速旋转状态下的转矩就很小了。当然,要

31、根据应用环境来选择。第四,步进电机空载启动频率,通常称为“空启频率”。这是选购电机时比较重要的一项指标。如果要求步进电机在高速运转时频繁启制动,则需要选择空启频率比较高的电机。第五、 步进电机的相数选择机型,需要注意相数越多步距角就能够做的比较小,工作时的振动 就相对小一些。 如果综合上述因素发现自己所选出的电机太大,则考虑重新审视自己先前设定的指标,并从实际出发,加减速装置,这样可以节约成本,也可以使设计更灵活,选择合适的减速比,需要综合考虑力矩和速度的关系,选择出最佳方案。 力矩:在电机通电后,转子与定子之间将产生磁场,当二者由于错齿某个角度将产生的力如下所示: 两相步进电机控制原理:步骤

32、一:A相线圈通入电流,B相线圈不同电流,此时能产生一个励磁,将转子吸引到和该励磁相对的位置上。步骤二:A相线圈断电,给B相线圈通入励磁电流,此时产生的励磁将吸引转子旋转新的角度继续运动。步骤三:下图所示,即为向步进电机通如的通电次序所产生相应的转子的运动过程。步骤四:显示出了当电流大小和通电发生变化时,所产生的半步运行的情况。这成为步进电机驱动器设计的最基本的思想。步骤五:显示出步进电机整步和半步运行的全部实现。步骤六:此图显示出步进电机两相电压对于为什么能够推动步进电机运动,这个过程中具体发挥作用的机理。步骤七:显示了更精确的电机电压控制可促使转子以更加精确地转动一个角度。 步骤八:图中所示

33、为步进电机驱动器与微控制器之间连接的具体图形,通过它可以清楚地看到单片机是如何控制电机方向和旋转速度的。 总之,在充分考虑了选型规则的基础上,基于本课题的控制要求,经过以下计算,本组最终选择了6cm直径的步进电机作为分别控制两个轴的运转的步进电机。对于作为带动接受装置的那个部分,我们选择了微型直流齿轮减速电机正反转可调慢速有刷电动机型号:JS-37GB555功率:5-10W电压:DC/12V/24V转数:1-600r/min 最大输出力矩:30kg/cm 3.2.2 单片机的外设键盘 键盘实物图 单片机与键盘的硬件连接原理图:单片机键盘的实际接口设计(需要添加上拉电阻): 3.3 本章小结 本

34、章重点介绍了伺服系统的硬件部分,由于硬件是控制部分的基础,处于架构的最底层,只有在设计过程中保证它的良好功能,才能进行进一步的灵活设计。所以本章着重介绍了电机和键盘模块的具体内容以及选择理由,硬件部分的设计方法主要遵循的原则是“”。 四、 电机伺服控制系统的软件设计 4.1 软件总体逻辑控制图 基于上图所示流程图的系统软件包括主程序、定时中断服务程序以及一系列子程序组成。主程序完成单片机的初始化和等待中断,定时中断服务程序包括根据电机状态而设置的输出程序。而键盘中断程序则主要包括对键值的判定程序和根据键值选择相应状态的程序。 总而言之,系统将实现以下计算功能:1、将用户通过键盘输入的指令经由键

35、盘中断准确获取;2、根据键盘输入的指令,控制定时器的PWM输出,是整个系统中的最重要的控制部分。在完成二者特定功能的基础上,应特别注意理解中断的机理,避免运行过程中出现失误。 4.1.1 控制核心MSP430单片机 中断服务概述 一、中断与中断源 使MSP430单片机暂停运行原来的程序而应更为急迫时间的需要转向去执行为中断源服务的程序,待该程序处理完后,再返回原程序,此即中断(或中断技术)。所谓中断源,即引起中断的事件或源于,或发出中断申请的来源。 MSP430的中断优先级顺序,由高到低为:a、系统重置;b、不可屏蔽中断;c、可屏蔽中断。 通常的中断源有两种:强迫中断(外部设备、实时时钟、故障

36、源)和自愿中断(断点设置、单步调试)等。 二、中断系统及其功能 中断系统是为实现中断而设置的各种硬件与软件,包括控制逻辑及相应管理中断的指令。 中断系统应具有下列功能: a、能响应中断、处理中断与返回 当某个中断源发出中断请求是,MSP430单片机能根据条件决定是否响应该中断请求。若允许响应,则MSP430单片机必须在执行完当前指令后,保护断电与现场(即把断点出的断点地址和各寄存器的内容与标志位的状态推入堆栈),然后再转到需要处理的中断服务程序后,再恢复现场和断点地址,使MSP430单片机返回断点,继续执行主程序。 李继灿.微机原理与接口技术M.清华大学出版社,2011,07,P249-258

37、 b 、能实现按优先级级别来先后执行 通常情况下,在系统中有多个中断源时,有可能出现两个或两个以上中断源同时提出中断的情况。这时,MSP430单片机要能够根据中断源被事先确定的优先权从高到低依次处理。 c 、高级中断源能打断低级中断处理 内部中断所要完成的功能: 这样,单片机运动控制程序就只需要将键值命令转换成上述各种运动控制的状态信息以及由基本命令组成的各种脉冲,就可以实现准确定位的功能。4.1.2 软件设计原则 为了尽可能地简化本课题,经过仔细考虑决定采用此程序结构来完成功能需求。由于采用了分模块的编程观念:首先,在键盘中断中根据对键值的判定来决定具体改变哪些需要改变的对象的状态性能参数(

38、包括速度快慢的设定值,期望达到的坐标位置,具体向上或向下运动以及电机的启动和关断),然后再在定时器中断中根据键盘中断中所设定好的状态参数,确定相应端口的正确输出的功能,经过上述一系列的控制,达到实时改变对象状态的目的。由于上述程序以简单方便和稳定无误的执行实现了我们所需要的基本功能,所以本课题的实验研究是可行和有意义的。 中断响应流程图: 4.2 运动控制系统的实验平台 4.2.1 软硬件开发工具仿真器FET430UIF与SF-BSL430的对比:4.2.1.1 SF-BSL430软件 BSL编程是通过驻留在芯片内部的bootloader 程序实现自编程,通过特定的时序使得CPU进入代码段,利

39、用每块芯片内部的定时器来与上位机通讯,这样将代码下载到芯片内部。内部的BSL采用UART口和上位机进行数据交换,在上电时,满足上电时序就进入BSL的区域,除了JTAG接口的一些引脚以外,还需要用到两个基础时钟功能引脚。由于BSL软件直接把二进制代码下载到芯片中,所以可以说很难一边观测变量,一边单步调试找到程序的问题。它比较适合代码已经完成时可以直接下载到芯片,以便最终永久使用的情况。4.2.1.2仿真器FET430UIF 调试与编程接口实验中使用TI提供的USB与串行端口快闪仿真工具FET,由于它能够支持4线JTAG和两线SPY-By-Wire的完整在线系统开发的优势。在线系统全面支持编程、汇

40、编语言/C语言源级调试、单步、多硬件断点、全速运行以及外设接入等。该接口可与任何带JTAG接头的开发电路板配合进行独立编程,也可在开发环境中编程。为研究者提供了调试的方便和学习的良好平台,因而是必不可少和不可多得的学习研究工具。4.2.1.3 仿真器的独特优势1、仿真器为PC提供端口跟踪功能以保证它能完成对单片机MSP430 的单步调试。2、仿真器作为一个包含并行调试和端口跟踪和串行端口的联合处理器,它既可作为端口又可作为并行调试口将端口信息提供给CPU。3、端口提供给处理核显示命令执行流的跟踪信息。4、并行调试端口是在调试主机控制器和处理器之间为调试传送信息而提供的。并行调试端口和端口在物理

41、上共用引脚。总线请求和允许信号在主机控制器和处理器之间的应用必须保证在端口和调试主机控制器之间不会发生冲突。一个独立的串行调试端口也用作扩展并行调试口。 仿真器与单片机及单片机调试环境的互联关系示意图 4.2.1.4 编程软件IAR Embedded Workbench 作为一款开发软件,由它自身所独具的优势:(1)该软件集TI公司的汇编编辑器、编译器、链接器和调试器于一体,可直接编写C文件,ASM文件等各种类型的文件;(2)集成度的源代码编辑器使软件工程师能方便地阅读源代码,并及时发现和定位程序中的语法错误;(3)集成调试工具,可以完成执行代码的装入、寄存器和存储器的查看、反汇编器、变量等的

42、观测窗口,让用户可以方便地透视各个阶段所关心的变量的值;(4)可以设置硬件断点、数据空间读/写断点、条件断点等的集成断点工具;(5)IAR软件所附带的各种工具有力地增强了软件工程师实时分析代码的能力,同时减少了他们对于硬件的依赖,提高了代码开发的效率。 4.3 程序的下载步骤 设计的程序是在PC机上编写的,软件环境是IAR Embedded Workbench ,把目标板上的JTAG仿真接口与PC机的USB接口相连,将编写好的程序下载到控制芯片的存储器中即可。 首先,进入IAR软件界面,在菜单栏选择Project->create new project ,在其中建立一个c语言的主程序并保

43、存。 编好程序后,在所建的工程处点击右键并选择options,其中弹出的界面如图所示: 在软件中所弹出的如上界面,设备型号的选择为”MSP430”,调试驱动器选择为”FET debugger”:在接下来的”FET Debugger”的选项”Set up”里选择”Texas instrument USB-IF”,具体设置如下图所示: 至此,软件系统为后续的实验调试做好了准备,此步骤的完成是后续步骤正常运行必不可少的条件。 4.4 模块化的实验研究 4.4.1 键盘中断的调试 综上程序流程图,我们可以大致将各个键值以及相关对应的设置归纳成如下的 4.4.2定时器脉冲发生的调试 由于系统整体要实现键

44、盘接收和PWM波变频输出。然而由于单片机自身的定时器只有两个,如果根据设定值,每次赋给定时器的是不同初始值,就不能完全地控制三台电机使之以期望的转速转动。所以选择以一个固定的频率进入定时器中断并对中断次数进行计数,在后续再对这个基准计数值做一个算法使之在此基础上产生一系列可调制的频率,从而模拟实际的PWM波输出指定频率的方波。本课题设计开发的系统最多可驱动三个电机,其中包含两个步进电机以及一个直流电机,程序下载到目标板后,与PC机断开,系统上电后就可以用示波器观察各引脚所输出的PWM波的形状。 1)、步进电机转速的调置计算步骤: 定时器时基设置: 每1ms 进入定时器中断一次,根据当前状态判断

45、是否需要进入下一步的脉冲输出。 依靠I/O变换模拟输出不同频率的PWM波,具体方式见附加程序。 ( 在定时器控制下输出PWM波:100HZ(在定时器控制下输出200HZ的PWM波:(在定时器控制下输出330HZ的PWM波:在定时器控制下输出的500HZ的PWM波:在定时器控制下输出1KHZ的PWM波: 直流无刷电机的应用原理与步进电机相同,接下来是对直流无刷电机占空比的调制:(占空比20%的波形: 直流电机本系统所控制的PWM的触发下转速最低,实际也可实现0电平触发的自动停转功能。(占空比40%的波形:(占空比60%的波形:占空比80%的波形:占空比100%的波形: 这个波形是直流无刷电机在实

46、际系统上可实现最大转速的信号电压值。3)、转速计算 根据电机驱动器的特殊构造,我们选定了步距角度是1.8度的四相步进电机,所以每一个脉冲所对应的线位移是 因此,对于全长为35cm的轴来说,一共需要的PWM脉冲数是: 然而实验中每输出12000个PWM波实际的运行距离是6cm,所以共需要的PWM波数: 4.4.2 结构化的代码调试总结 根据结构化设计的思想,接下来是我们对于各个模块分别进行的调试并最终达到所需要的系统。4.4.2.1 键盘模块总结 通过之前在程序方面的充分准备,本人对所需要搭建的系统逐渐建立起一种整体观念,并在此基础上循序渐进,不断加强模块间的联系及对它的认识。在之前的调试中,出

47、于对单片机学习资料中关于单片机中断口描述的尊重,本人很仔细地将中断设置的功能口设置成不同于普通I/O功能的模式,但系统表示是一直未开启总的中断,在这个阶段绕了很大的弯。最终通过分别对每句程序进行屏蔽以及结合相应的实验现象,将不必要的功能口设置语句去掉,问题才得以解决。从最基本的键盘接收程序中吸取的重要经验在于,不过于拘泥于书本的知识,以客观的事实作为研究和学习的根本出发点。二、键盘接收和PWM波产生模块的融合 在融合键盘接收和PWM波这两个子功能的过程中,又有一种新的问题诞生了:如果要系统凭借键盘接收到的信息,直接做出相应的反应,将相应I/O口应该有的相应变化表示出来的这样一种有问题的做法。考

48、虑到键盘中断的优先级低于定时器中断,如果在定时器中断来临时,有用户按下按键,系统将不会及时做出相应的反应,而键盘中断中如果写入了需要按照时间间隔而输出PWM波的程序,则需要等待定时器中断到来,并打断键盘中断自身的执行,这将使得整个程序的结构变得非常复杂,由于单片机系统自身存储器的特性,某个程序的中断变量在被另一个中断打断后将不能保持原来的值,这使得控制变得不稳定了。在应对这个问题的过程中,笔者花费了大量的精力才考虑清楚之前自己对于简单地叠加不同子程序的考虑不周的问题。 结合在实验过程中出现的问题,笔者通过不断地查阅资料,向老师咨询和对前人应用方法的不断思考,终于重新理清这两种中断之间的相互关系

49、,并在后来的程序安排上减少了不必要的耦合和复杂度。由于采用了新的观念:在键盘中断中通过对键值的判定改变相应需要改变的实体的状态参数(包括速度快慢,坐标的位置以及启动和关断),并在定时器中断中通过对整个状态参数,具体进行判断输出的功能,并最终达到实时改变系统I/O,驱动相应执行机构动作的作用。最终使得程序以简洁明了的格式和稳定无误的执行过程,实现了我们需要的基本功能。 4.5 本章小结 本章主要运用分层、模块化设计思想,并采用“分而治之”的设计理念。充分地运用了在本科阶段所学过的C语言程序设计以及软件工程两门课程,并将其中的思想在脑海中不断地熟稔,经过反复地观想,我发现在实际运用中,最重要的是学会将它们运用在程序的编制过程中,从而使芯片既能完成子程序的专用功能,又能够兼顾整体的参数之间的影响可能对后续的操作造成的影响,整个过程既是整体与部分之间的关系,又是共性与个性的关系,充分地激发了本人的统筹兼顾的思想,才得以克服调试中所遇到的重重困难,通过电脑和单片机之间的硬件仿真器,实现单步调试中软硬件的相互配合,并最终完成预期的功能。 总结与展望

温馨提示

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

评论

0/150

提交评论