收藏 分享(赏)

基于dsPIC33F的无刷直流电机驱动器软件设计-电气工程与自动化本科生毕业设计.doc

上传人:为人民服务 文档编号:2369725 上传时间:2018-09-13 格式:DOC 页数:47 大小:1.09MB
下载 相关 举报
基于dsPIC33F的无刷直流电机驱动器软件设计-电气工程与自动化本科生毕业设计.doc_第1页
第1页 / 共47页
基于dsPIC33F的无刷直流电机驱动器软件设计-电气工程与自动化本科生毕业设计.doc_第2页
第2页 / 共47页
基于dsPIC33F的无刷直流电机驱动器软件设计-电气工程与自动化本科生毕业设计.doc_第3页
第3页 / 共47页
基于dsPIC33F的无刷直流电机驱动器软件设计-电气工程与自动化本科生毕业设计.doc_第4页
第4页 / 共47页
基于dsPIC33F的无刷直流电机驱动器软件设计-电气工程与自动化本科生毕业设计.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、本科生毕业设计(论文)题 目: 基于 dsPIC33F的无刷直流电机 驱动器软件设计 姓 名: 学 号: 学 院: 电气工程与自动化学院 专 业: 电气工程与自动化(电气方向) 年 级: 2008 级 指导教师: (签名)2012 年 6 月 1 日I基于 dsPIC33F的无刷直流电机驱动器软件设计摘要无刷直流电机在具有直流电机易于调速的优点的前提下,避免了直流电机的机械换向的缺点并提高了调速范围,具有低噪音,低损耗,高效率和转矩波动小的优点,具有良好的发展前景。因此,本文对基于的dsPIC33F的无刷直流电机驱动器进行软件方面的研究。本文介绍了直流电机与无刷直流电机的发展及现状。还提及了无

2、刷直流电机控制技术的发展和无刷直流电机运行控制原理。本文中研究了反电势过零检测的启动原理并描述其软件实现的细节,之后介绍了无刷直流电机控制软件的开发工具与软硬件结构。最后,给出了控制系统的软件详细设计及其仿真和实物调试的结果。本文的软件设计是基于microchip公司的dsPIC33F系列芯片。在软件设计过程中使用MPLAB软件及其相应的配套软件实现对软件的编写与调试,并结合PROTEUS软件的仿真功能获得仿真结果。结合做硬件部分同学的设计,以MPLAB IDE的ICD2实现软件的实物调试,最终与硬件同学共同完成基于的dsPIC33F的无刷直流电机驱动器的设计。本软件设计实现了对无刷直流电机的

3、三步启动法启动,之后以反电势过零检测法的控制其换相。而电机的转速调节则是采用PID控制算法。软件还对电机进行了欠压、过压、过流和温度等保护。关键词:dsPIC33F,无刷直流电机,软件设计,驱动器IIThe Software Design of Brushless DC Motor Drive Based on dsPIC33FAbstractUnder the premise of having the same advantages of easy-to-speed control as DC motor, brushless DC motor, avoiding the shortcom

4、ings of mechanical change of the DC motor improve the speed range, with the advantages of low noise, low loss, high efficiency and a small torque fluctuations , and have good prospects for development. Therefore, in this paper make a research of the brushless DC motor drive software. based on the ds

5、PIC33F .This article describes the development and current situation of the DC motor and brushless DC motors. Also referred to a brushless DC motor control technology and the brushless DC motor control principle. this paper discuss the Start principle of the back EMF zero crossing detection and desc

6、ribe the implementation details of its software design, followed by a brushless DC motor control software development tools, and hardware and software structure. Finally, the control system software design and debugging of simulation and physical results.The software design is based on the dsPIC33F

7、family of chips of the microchip company. The MPLAB software and its supporting software is used in this software design process to write and debug the software, combined with the PROTEUS simulation software to obtain simulation results. with the design of the hardware part of the students and the I

8、CD2 of MPLAB IDE software used in physical debugging, ultimately work with the hardware students to complete the design of the brushless DC motor drive based on the dsPIC33F.The software is designed to achieve three-step start method to start a brushless DC motor and then to control its commutation

9、with the back EMF zero-crossing detection method. And The motor speed regulator is using a PID control algorithm. Software provide under voltage, over voltage, current and temperature protection motor.Keywords: dsPIC33F, brushless DC motors, software design, drive基于 dsPIC33F 的无刷直流电机驱动器软件设计I目 录摘要 IAb

10、stract .目录 .第 1 章 绪论 .111 直流电机的发展及现状 1111 直流电机的发展 .1112 无刷直流电机的发展 .112 无刷直流电机的控制技术 21.3 本文研究的主要内容 .3第 2 章 无刷直流电机基本原理 .521 无刷直流电机结构 5211 电机本体 .5212 电子换相器 .6213 无刷直流电机运行的基本原理 .622 无刷直流电机的数学模型 6第 3 章 反电势过零检测的基本原理 103.1 反电势过零检测的工作原理 103.2 反电势过零检测三步启动法 11第 4 章 控制系统的总体设计 1341 控制系统的硬件结构 .1342 控制系统的软件结构 .14

11、43 软件开发工具 .15第 5 章 系统的软件详细设计 1751 初始化子程序 .1752 ADC 中断子程序 .2053 软件仿真 .2954 设计中的问题及解决方法 .3255 小结 .33第 6 章 样机实验及结果分析 346.1 控制系统样机实验条件 346.2 样机实验及结果分析 346.2.1 逆变器功率开关管驱动波形及分析 346.2.2 端电压检测波形及分析 36XX 大学本科生毕业设计(论文)II6.3 本章小结 36结论 .37参考文献 .38致谢 .39附录 .40基于 dsPIC33F 的无刷直流电机驱动器软件设计1第 1章 绪论11 直流电机的发展及现状随工业化的逐

12、渐深入,人类与电的联系越来越紧密。由于电能的便捷、高效和环保等优点,人类几乎将其他形式的能量转换为电能,并再通过相应的设备以电能进行社会的生产活动。而电机作为电能与机械能转换的主要工具,在社会生产实践中占据着重要位置。其中作为最早出现的直流电机,在人类的发展进程中,其应用和技术也随之发展。111 直流电机的发展早在十九世纪初,英国物理学家迈克尔法拉 1首次以一个实验模型实现电能与机械能的转换,而该模型被认为世界上第一台电机直流电机。直至感应电机出现之前,直流电机是最主要的电能与机械能转换设备。虽然其后,交流感应电机取代了其主导地位。但是,二十世纪六十年代,调速平滑的直流电机又获得重视。1980

13、年,发展成直流伺服驱动系统。而后出现没有机械换向的无刷直流电机。其中以永磁无刷直流电机应用最为广泛。90年代后,永磁无刷直流电机向大功率、高功能和微型化方向发展。在国内,虽然在石油化工、能源和建筑等各个领域,直流电机得到广泛的应用。但是市场上多为通用电机,专用电机欠缺发展。随着社会分工的深入,开发实用的专用电机不仅能更好地满足市场要求,更有利于直流电机从结构和控制性能方面上的优化。在新世纪环保、节能和智能化趋势下,直流电机及其控制系统将向节约资源、友好环境、高效节能运行的方向发展。112 无刷直流电机的发展无刷直流电动机是随着科技发展而出现的新型电机 2。无刷直流电动机通过霍尔元件、光敏元件等

14、作为位置传感器或无位置传感器法如反电势法获得转子位置取代有刷直流电机的换向器和电刷部分,以电子换相代替机械换向,从而提高了电机可靠性及寿命。它具有和一台有刷直流电动机相似的外特性。由于无刷直流电机优越的调速性能,并且起动转矩大,效率高,运行平稳,所以近年来它有相当迅速的发展。早在1934年,就曾出现过以电子管线路取代机械换相的直流电动机。但受当时电子器件的技术水平和成本的限制,并没有得到发展。直到1955年,美国DHarrison等人的首次实现以晶体管换向线路取代有刷直流电机的机械电刷,标志着无刷直流电机的诞生。下图是最初的无刷直流电动机。二十世纪六十年代以来,无刷直流电机已泛指一切具有直流电

15、机外部机械特性的电XX 大学本科生毕业设计(论文)2子换相电机。80年代,经过国际上深入的研究,方波无刷直流电机和正弦波无刷直流电动机 3问世。无刷直流电动机在国际上已得到较为充分的发展。现在无刷直流电机应用于诸多精密型产品。 图1-1 最初的无刷直流电动机而我国则是于上世纪70年代初,开始跟踪无刷直流电动机这新技术并展开了研究。而到80年代,研制永磁同步伺服电动机及其驱动器。改革开放后,我国无刷直流电动机的研发和生产有了很大改观。现今,我国的无刷直流电动机高速发展。无刷直流电动机经电子换相获得类似直流电动机的运行特性,可控性较好,调速宽。但是需要转子位置反馈信息和电子逆变驱动器。由于没有换相

16、火花、磨损等问题,可工作于高速并有较高的可靠性,无需常维护,寿命长。无刷直流电机转子损耗和发热小,功率因数高,有较高的效率。由于多出电子控制部分,它的总成本高于直流电动机。由于其在性能上明显的优势,近年无刷直流电动机市场不断的扩展。无刷直流电动机是以永磁激励的,因此,永磁材料技术的进步对电动机产生很大的影响。铁氧体永磁和稀土类永磁极大地推动永磁电机的发展。高性价比,并性能不断的提高及应用问题的解决,尤其是价格的下降,它迅速推广在无刷直流电动机的应用。新兴的电力电子技术为电机控制主电路提供至关重要的功率半导体器件 7。随着半导体技术的迅猛发展,使无刷直流电动机驱动器体积重量减小,运行可靠性提高和

17、可控性增强,更极大地增加了无刷直流电动机的功率和调速范围。随着电动机控制技术复杂化,易于开发出最佳的硬件软件解决方案的电动机控制集成电路成为需求。各国电子元件制造商抓住这一巨大市场,大力开发专用控制集成电路芯片。为进一步提高系统的性能,近年国外的大公司推出较MCU性能更加优越的DSP 4。但是由于DSP需要专用门列组合以及相应的外围芯片和存储器,使得这种微处理器难以实用化,因此Microchip公司开发出了dsPIC30f33f系列单片机,一种将16位单片机的控制方式与DSP高速运算的能力结合起来的数字处理芯片,它在具有DSP的强大的性能的同时,缩小了同单片机之间的性能差异。12 无刷直流电机

18、的控制技术基于 dsPIC33F 的无刷直流电机驱动器软件设计3无刷直流电动机的电子换相模式有两类:正弦波驱动和方波驱动 8。就控制电路而言,方波驱动相对简易、价廉从而获得广泛应用,为当前主要的无刷直流电动机驱动模式而作为当前主要的驱动模式方波驱动,其早期转子位置检测采用位置传感器,通过安装在无刷直流电动机定子上的位置传感器获得转子位置信号以控制定子绕组换相。但是由于它有必须占用空间、对准位置安装和需额外的引出线等影响可靠性及在某些如高温高压的场合受到限制的缺点。故而,出现当代无刷直流电动机控制研究热点之一的无位置传感器控制。无位置传感器控制法不通过位置传感器获得电机的转子位置信号。除了本设计

19、采用的反电势法(下文中有介绍),无位置传感器控制法还有以下几种:(1)磁链计算法该方法通过转子磁链确定转子位置 17。由于不能直接磁链值检测,故需通过电机的相电压和电流,计算出磁链值。但其计算量大且相电压和电流中大量的干扰,所以对软件和硬件要求很高。因此,该方法很少被采用。(2)反电势三次谐波积分法利用BLDCM的反电动势为包含了基波及其高次谐波分量的梯形波,将子电枢三相相电压进行叠加,得到反电动势的3的奇数倍次谐波,并将提取出的三次谐波分量积分,当其积分值为零时就是驱动电路的换相时刻 2。和反电动势直接过零比较法相比,该方法有较宽的调速范围。然而,虽然该方法屏蔽逆变器开关方面的干扰,但是由于

20、三次谐波的幅值较反电势小,尤其在低速时信号更弱,影响转子位置信号的获得。(3)续流二极管法该法根据BLDCM(brushless direct current motor,即无刷直流电机)中总有一相绕组处于断开状态的原理, 监视6个并联在逆变器功率管两端续流二极管的通断状态,获得6个相应功率开关管的通断顺序 19。该法的调速范围较大,主要是速度下限低。但是这种方法中无效的导通信号、毛刺和非定值的反电势系数等都会造成转子位置检测误差。甚至并联于二极管上的检测电路,复杂且难以实现。由于以上种种缺点,该方法的内应用并不广泛。(4)人工神经网络法“人工神经网络法” 9是以观测器法为基础,应用人工神经网

21、络技术的控制方法。它以人工神经网络技术建立被测相电流、电压和转子位置的相互关系,从而获得转子位置信号,提高了检测精度。1.3 本文研究的主要内容本文研究的主要内容是编写和调试一台基于DSPIC单片机的无刷直流电动机控制器的软件程序。要求能够实现对无刷直流电机的各种控制和保护功能,并按下面的参数进行设计。软件程序主要包括:系统初始化子程序、主程序、定位和起动子程序、过零检测子程序、换相子程序、AD转换子程序、PID调节子程序、中断子程序、故障检测与保护子XX 大学本科生毕业设计(论文)4程序等等。设计一具有调速功能,以“反电势过零法”进行位置检测的,采用位置和转速双闭环PID调节的基于DsPIC

22、33F的无刷直流电机驱动器的软件. 采用主控制芯片为Microchip的dsPIC33FJ32MC204。并在最后将软件程序与另一位同学设计的硬件电路一起进行试验,完成对无刷直流电动机的控制。基于 dsPIC33F 的无刷直流电机驱动器软件设计5第 2章 无刷直流电机基本原理21 无刷直流电机结构无刷直流电机源于以电子开关电路代替机械换向器的设计思想 10。无刷直流电机取消了电刷实现无机械接触换相,以电枢绕组的定子和永磁钢的转子组合成。无刷直流电机的三相定子绕组引出线分别与全桥式驱动电路中串联的两功率器件MOSFET管之间相连接,目前方波驱动的无刷直流电机基本为无位置传感器控制,而正弦波驱动有

23、位置传感器。由于本文中使用的是方波驱动,因此,在此无刷直流电机的结构是由永磁同步电机及电子换相两个基本部分构成。无刷直流电机的结构图如下图所示:V1V2 V4V3 V5V6CBAV1V2V3V4V5V6V BLDCM位 置 检 测图2-1 无刷直流电机的结构图图2-2 无刷直流电机本体211 电机本体无刷直流电机的电机本体横截面示意图如图2-2所示。XX 大学本科生毕业设计(论文)6定子部分电枢绕组有Y接或接两种方式 11。但基于系统的性能和成本方面考虑,目前无刷直流电机主要的接线方式是三相对称且无中性点引出的Y型接法。而常用的无刷直流电机绕组形式有短距分布式绕组、整距分布式绕组、整距集中绕组

24、等。转子部分是在电机气隙中建立足够的磁场的永磁体固定在铁心表面或铁心内部构成。212 电子换相器无刷直流电动机的电子换相器通过功率开关器件的导通状态控制电机的转速转向、转矩等。在本设计中,电子换相器采用MOSFET管控制电机的电子换相。MOSFET管的触发信号由控制芯片的六路PWM提供。213 无刷直流电机运行的基本原理以三相星形六状态的直流无刷电机为例,其以特定的顺序依次导通定子两相绕组60电角度的时间,且每隔60电角度根据转子位置信号换相 12,换相顺序为V5V2,V3V2, V3V6, V1V6, V1V4, V5V4, V5V2。使定子电枢绕组产生六个如图2-3所示的相距60电角度的电

25、枢磁动势矢量,带动永磁转子旋转。由于每次换相时,只有一相绕组改变而总有一相绕组不变,所以定子电枢的每相绕组每次的导通时间为240电角度。T4T1T5T6T3T2图2-3 电枢磁动势矢量22 无刷直流电机的数学模型通过数学模型将工程问题抽象化,以数学的方法来表达和求解。在本设计中,以星形定子绕组的永磁无刷直流电机为例,利用电能守恒和机械能守恒以空间向量将其描述为一组动态方程。假设转子磁场是均匀的并忽略齿槽效应和铁损,建立电压、转矩和反电动势方程。通过以下分析可获得控制电机转速的方法。基于 dsPIC33F 的无刷直流电机驱动器软件设计7理想电机的电枢回路满足 2.1diUiRLt其中:U:相绕组

26、线电压:相绕组反电动势i:相绕组电流R:相绕组电感L:相绕组电阻t:时间A相、B相、C相参数分别用加脚标a、b、c,则上式可写成2.20a a aa abcbbb bccccc cUi iRLdti i 可以认为三相绕组性能参数完全一致,即Ra=Rb=Rc=R以此简化模型, Lab=Lac=Lba=Lbc=Lca=Lcb=M;又由Y型连接三相绕组中电流和为零i a+ib+ic=0即Mia+Mib+Mic=0,代入方程2.2中,则它可简化为2.30aa abb bccc cUi iLMdRtLi i 从这方程可获得简化的无刷直流电机电枢等效电路,如下图所示:图2-4 无刷直流电机电枢等效电路作为

27、一个换能机构,无刷直流电机通过转子永磁体的磁场和电子换相产生的定子感XX 大学本科生毕业设计(论文)8应磁场之间的相互作用将电能转换为机械能。根据能量守恒原理,无刷直流电机内所有的能量均由电能转换成。忽略能量损失,能量的转换可以描述为:电能输入=电磁场存储的能量+输出的机械能。忽略损耗的前提下,电枢功率与机械功率相等,即2.4+eabcTiei运行中电机的电磁转矩2.5+abceieiT根据式2.1,当绕组母线电压一定时,相应的反电动势和绕组电流有一定的关系。当反电动势的波形为正弦波时电磁转矩T e存在波动,而当其为平顶波时,电磁转矩恒定。无刷直流电机需要的当然是能产生恒定转矩的平顶波,而由于

28、主磁场分布波形与反电动势波形一致。因此为了能获得波动小的电磁转矩,需要使绕组磁场分布形式接近于平顶波。反电动势为方波时电磁转矩和绕组电流的关系,如下图所示:图2-5 电磁转矩和绕组电流的关系无刷直流电机的运动方程可以表示为2.6eLdTBJt其中: T e:电磁转矩B:阻尼系数J:转子转动惯量TL:负载转矩基于 dsPIC33F 的无刷直流电机驱动器软件设计9根据运动方程可以得到如下的无刷直流电机系统模型图。图2-6 无刷直流电机系统模型图不考虑负载时的系统方框图如下所示。其中Kt为转矩系数,Ke为反电动势系数。图2-7 系统方框图24 小结本章从各个方面入手阐述无刷直流电机的运行原理,从无刷

29、直流电机的结构形式,包括电机本身及其驱动器,并详细的介绍电子换相的过程。而后从反映电机运行的数学模型出发,获得电机转速控制系统的数学依据。最后阐述分析电机运行控制性能的指标及可靠性。XX 大学本科生毕业设计(论文)10第 3章 反电势过零检测的基本原理3.1 反电势过零检测的工作原理无刷直流电机的定子绕组电流产生旋转磁场带动其转子转动。定子电枢绕组切割旋转的永磁体转子的磁力线,由电磁感应定律可知,产生感应电势。该电势简称为反电势(Back EMF)。反电势法就是通过检测直流电机反电势获得转子位置信号 10。其中,反电势过零检测法是目前无刷直流电动机无位置传感器控制法中应用最广泛的。反电势过零检

30、测法又可称为端电压检测法,因为它是通过检测电机三相绕组端电压,并以软件计算,获得反电势过零点,并延迟30电角度,给出转子的位置信号,且以之控制电机换相。以三相无刷直流电机,Y型连接为例。由端电压获得反电势过零点的过程如下:图3-1 三相反电势电压波形与Y型无刷直流电机绕组连接图由于电机的控制是依次导通两相绕组。设A、B相导通,C相关断。故而,可由电机的电流与反电势特性得,中性点电压是3.1.12AGBNuU其中:U N为中性点电压uAG为A相端电压uBG为C相端电压因此C相的反电势为 CGNeuU3.1.2基于 dsPIC33F 的无刷直流电机驱动器软件设计11相应的A、C相导通,B相关断与B

31、、C导通,A相关断时的反电势都是关断相端电压减去中性点电压,而这中性点电压也是相应的两导通相和的一半。而延迟30电角度的原因,则是反电势过零点时刻并不是真正的换相时刻,换相时刻滞后过零点时刻30电角度。虽然反电势过零检测法能仅以三相绕组端电压就可获得转子位置信号,但是这种方法却无法实现电机的启动,原因可以从下面的式子看出:3.1.3eECn在上式中,Ce为常量,而磁通 一般情况下都认为是常量。因此电势E与转速n成正比例关系。当转速n过小或为零时,电势E也将很小甚至为零。这意味着当电机启动或转速很小时,反电势检测的值将因为干扰或其他原因而出现误差,而这导致反电势过零检测法的不可靠。因此应采取措施

32、消除这种情况,保证电机能以反电势过零检测法可靠运行。对于在电机启动时由于反电势过低而使反电势过零检测无法自启动的问题,可以采用以下几种方法解决:(1)三步启动法三步启动法是指先导通两相绕组,以其产生的磁场定位电机转子,该过程称为磁定位。其次,将转子的位置确定后,再轮流导通定子各相电枢绕组,以旋转磁场带动永磁转子步进转动。将电机加速到一定转速,这过程称为步进加速阶段。最后,在达到一定转速后,继续加速并开始检测反电势过零点,在最佳切换时刻,将电机切换至自同步运行,这过程称之为切换至自同步阶段。即以反电势过零检测法控制电机运行。如此三阶段后就完成了电机反电势过零检测法控制的启动。该法避免了由转速过小

33、而使反电势无法检测或出现误差的问题,实现了电机的定向启动。但是具体的定位时间需经过实物实验才可确定。(2)外同步启动外同步方式是变频同步拖动电机转子旋转。其却点是方向不可知和过快的频率变化会导致电机失步。(3)脉冲定位转子启动脉冲定位转子是以一定的脉宽刺激定子绕组,通过检测其电感的大小再以查表确定转子位置,取代因转速过小或为零而无法自启动的反电势过零检测法,在启动阶段,获得转子位置信号。该法要以一定脉冲冲击定子绕组且还需检测电感并查表才能获得转子位置,操作复杂,且还需额外的检测电路与脉冲发生电路。3.2 反电势过零检测三步启动法本文采用的是三步启动法。永磁无刷直流电动机起动分为三个步骤:磁定位

34、,步进XX 大学本科生毕业设计(论文)12加速,切换到自同步运行。在系统的起动阶段,单片机的控制程序首先控制PWM输出两高电平通过相应的硬件模块触发A相上桥臂与C相下桥臂的MOSFET管导通A、C两相,并保持一定的时间,使电机永磁转子定位,即磁定位阶段。此阶段持续的时间视电机的负载力矩及其本身的电磁转矩相对大小而定。在定位转子的位置之后。再按照顺时针或者逆时针,按照顺序和逐渐减少的换相时间输出电压减小的矢量控制电机步进加速,并使其加速到足够大的转速。这是步进加速阶段。通常在电机空载的情况下此过程可以很快的完成,但由于无刷直流电机在步进加速时的转矩脉动很大,对电机的性能和寿命产生不利的影响,因此

35、须结合负载和电机本身特性并通过实验决定完成这一步骤的最佳换相时间。当电机旋转起来达到预先设定的转速之后,就开始进入第三个步骤,切换到自同步阶段。在这个环节当中,首先在电机以步进模式运行的状态下,检测其转速是否达到预先设定的大小。在达到设定转速的情况下,将通过对检测电路输入ADC模块的电机三相端电压信号的处理,获得的反电势过零点信号计算出的转速与实际转速比较。在两者相近时,由步进加速切换到反电势过零检测法运行,即自同步运行。至此起动过程结束,电机以反电势过零检测法运行。基于 dsPIC33F 的无刷直流电机驱动器软件设计13第4章 控制系统的总体设计41 控制系统的硬件结构本设计硬件采用dsPI

36、C33F系列中dsPIC33FJ32MC204单片机作为主控芯片。dsPIC33F系列器件的引脚与dsPIC30F系列器件高度兼容,并且还与PIC24H系列器件的引脚兼容 14。这样便于在不同系列器件之间,根据不同的需求移植代码。dsPIC33F系列器件采用功能强大的16位架构,将单片机控制特性与数字信号处理器的计算能力完美地集成于一体,获得非常运行速度高,计算和控制能力强的控制芯片。dsPIC33F系列的工作速度高达40MIPS,适用于电机和电源的控制。而本设计使用到的dsPIC33F系列器件的电机控制专用PWM模块和10位AD模块,其中电机控制专用PWM简化了PWM信号的产生及输出任务,可

37、以同时控制生成六路PWM,或六路以上的PWM波 15。它具有4个占空比发生器和8个输出引脚。这8个引脚被分为4对,每对引脚有高端和低端之分,以后缀H或L区别。可根据需要设置为互补或独立的PWM输出。有死区控制,ADC触发控制及故障引脚控制等。虽然dsPIC33FJ32MC204单片机与上述描述略有不同,但出入不大在这就不再解释,具体可查询其相应的数据手册。dsPIC33F系列器件一般有2个ADC模块。而模拟输入引脚具体的数目则是不同的芯片不同的。可根据需要配置不同的ADC,如设置为只有一个采样保持通道的,但采样精度却为12位的ADC或精度只有10位,但却有4个采样保持通道的ADC 16。本设计

38、采用的是10位,4采样/保持通道的ADC。逆变主电路 BLCDM电流,电压采样 驱动电路dsPIC33FJ32MC204端电压采样图 4-1 硬件结构图电源给定转速作为整个无刷直流电机控制系统的基础,硬件系统的功能和结构影响软件的编写及设计的实现。由于本设计是针对于无刷直流电机驱动器的软件设计,所以在此只对硬件XX 大学本科生毕业设计(论文)14设计进行简单的介绍。通过硬件电路将主电路的电流和电压转换为可以输入控制芯片的3.3V 内的电压信号,提供给软件,作为电机的电压、电流保护可控制信号。主控芯片产生的六路 PWM 信号经过驱动电路的放大,触发逆变主电路中的 MOSFET 管,产生梯形方波控

39、制电机转动。并经过端电压采样电路将端电压比例缩小到 3.3V 以内的电压信号提供给主控芯片,以作为反电势过零检测的三相端电压信号,并计算出反电势过零点获得转子位置信号控制电机转动。不难从上面叙述发现,硬件系统的设计可以分为如下几个部分:电源模块、主控芯片模块、驱动电路模块、逆变电路模块、端电压采样模块、速度和电流、电压及温度采样模块。硬件结构图如图 4-1 所示。硬件电路的原理图及实物如图 4-2 与图 4-3 所示。单片机外部引脚连接如表格 1 所示。 IN2OUT3GD4LM785C0VR9.AuFPW6kKHS位 /BEJZpQaol-,edr图4-2 硬件电路的原理图表格 1 单片机外

40、部引脚连接表RB10-RB15 六个 PWM1 的六路 PWM 的输出引脚控制电机电子换相RA0 AN0,给定转速的输入通道RA1、RB0、RC0 AN1、AN2、AN6 电流电压温度的输入通道RB1-RB3 AN3、 AN4 、AN5 三相端电压的输入通道42 控制系统的软件结构本系统采用的单片机dsPIC33FJ32MC204采用C语言开发,作为一种高级语言,它具有基于 dsPIC33F 的无刷直流电机驱动器软件设计15可移植性好、维护方便、可读性强的特点。它与低级语言汇编语言相比有其不可比拟的优势 17:(1)结构化编程;(2)开发进度快;(3)无需人工分配单片机资源;(4)处理能力强;

41、(5)可移植性强。本软件的主程序流程如图4-4所示,首先进行程序的初始化,如配置位,振荡器,与电机的启动初始化。在初始化完成后,开始电机的磁定位。当磁定位时间到达了,进入步进加速阶段。直到电机加速到足够的转速后,进入切换步骤。当可以正确检测出反电势过零点时,切换至自同步运行。PID控制在自同步开始后,对电机转速进行调速。磁定位步进加速切换自同步初始化图4-3 软件的主程序流程图43 软件开发工具本设计的无刷直流控制系统软件在MPLAB集成开发环境IDE中完成代码的编写和调试。MPLAB IDE包括 MPLAB PICkit 2在线调试器和MPLAB SIM软件模拟器以及可能使用到的多种调试器。

42、MPLAB IDE中提供了链接器和汇编器,不过如果dsPIC33F系列器件采用C语言编程,则还需要安装特别的C语言编译器MPLAB C3018。本设计使用MPLAB IDE结合Proteus进行软件的编写、调试及仿真。实物测试使用的是MPLAB PICkit 2在线调试器实现软件与硬件结合的调试。MPLAB 集成开发环境软件MPLAB IDE 软件是8/16位单片机前所未有的软件开发平台 20。作为Windows操作系统的应用软件,MPLAB IDE以图形界面的方式显示和运行。它以相对简单的按键操作和各种视图窗口,实现了开发过程中,编译、仿真和实物调试的模块化与可见化。使开发工作得到极大的简化

43、,节省了大量的时间。MPLAB PICkit 2在线调试器不同于MPLAB ICD 220,只可提供5V电压,而是具有可自动根据芯片所需电压,给芯片供电的功能。这使得在线调试时,不用另外提供dsPIC33F系列所需的3.3V电源,给调试带来极大的方便,并防止芯片因电源电压问题烧毁。它具XX 大学本科生毕业设计(论文)16有与MPLAB ICD 2相同的其他功能,如设置断点和单步运行等。作为目前单片机最好的仿真工具,Proteus,它在DsPIC33系列的仿真中支持12kB至32kB的ROM的201至304几款芯片 21。因此为了仿真方便,本设计采用dsPIC33FJ32MC204作为主控芯片。

44、Proteus的Proteus VSM功能可以与MPLAB相连接,使仿真出错并修改后,可以马上在仿真,节省了调试时间。并可通过虚拟示波器查看仿真波形。同样的,它具有可视化与按键化操作的优点。基于 dsPIC33F 的无刷直流电机驱动器软件设计17第 5章 系统的软件详细设计系统的软件要实现的功能有:(1)将电位器的电压值通过主控芯片上集成的10位AD转换器转换成速度给定值,并送给转速PID算法模块,与实际转速值相减后得到控制误差。(2)通过10位AD转换器采样电机三相端电压信号,并对其进行处理,获得三相反电势信号,并以之判断反电势过零点及以之计算电机的转速。(3)将输入10位AD转换器的电压、

45、电流及温度信号采样,根据电机的过压、欠压、过流与温度保护要求对信号进行处理,实现对电机的软件保护。(4)通过三步启动法实现电机的启动,使电机可以以反电势过零检测法运行。(5)实现电机转速的PID算法控制。电机的启动并切换到反电势过零检测法运行模式及转速PID控制是该软件要实现的最重要也是最主要的功能,它包含了实时速度与电机三相端电压采集和计算、三步启动法及反电势过零检测法、转速PID控制算法、PWM控制信号的生成和换相逻辑几个部分。主程序要完成系统配置位与晶振的配置、初始化(如IO端口、PWM、ADC单元),变量初始化。首先要对单片机进行配置,使其在40MHz的频率下工作及其他的配置如看门狗禁

46、止等。其次是IO端口、PWM、ADC的初始化,保证dsPIC33FJ32MC204的电机专用PWM模块与ADC模块可以发挥出本设计所需要的功能。为了防止在初始化的过程中,出现意外的中断,产生由于初始化尚未完成却因突然中断调用形成误操作的错误。在主程序的开始处先关闭中断,而在完成初始化后,再允许中断。初始化完成后,给出电机的三步启动的标志,开始三步启动并在恰当时切换到反电势过零检测运行模式。同时,进入电机转速PID控制操作。初始化之后的操作,全都是在AD中断中执行的。51 初始化子程序软件的初始化,包括配置位的配置,晶振的配置和电机启动初始化。配置位的配置,在本程序中,主振荡器模式配置为带PLL

47、的XT晶振模式,并禁止时钟切换,禁止故障保护时钟监视器。看门狗定时器可通过软件使能/禁止(在振荡器配置子程序中,通过清零RCON寄存器中的SWDTEN 位来禁止 LPRC,禁止看门狗)。代码保护被禁止。PWM模块高端输出引脚的输出极性为高电平有效状态,而低端输出引脚的输出极性则为低电平有效状态,这是由于硬件中PWM模块低端输出引脚被反相。配置位代码如下:_FOSC(POSCMD_XT _FWDT(FWDTEN_OFF); _FGS(GCP_OFF); XX 大学本科生毕业设计(论文)18_FOSCSEL(IESO_OFF CLKDIVbits.PLLPOST=0; CLKDIVbits.PLL

48、PRE=0; CLKDIVbits.DOZEN=1; CLKDIVbits.DOZE=0; RCONbits.SWDTEN=0; OSCCONbits.LPOSCEN=0; OSCCONbits.CLKLOCK=1; while(OSCCONbits.LOCK!=1); 电机启动初始化子程序完成控制程序进度的标志位、I/O口、PWM和ADC模块的初始化。本软件采用位数为1的标志位控制程序的走向,这些标志位以结构体定义,总共有六个。它们分别是开始检测过零点标志Flags.zerocrostest、切换完成标志Flags.wuchayunxu、反电势过零标志Flags.acrosszero、转速减

49、小标志Flags.Minus、电机运行正常标志Flags.fine和PID控制使能标志Flags.PIDenable。初始化时将Flags.fine置位为1,其他的全部清零。如此,保证软件在后面的操作能正常执行。I/O口的初始化,则是配置ADC模块与PWM模块的模拟输入引脚的输入和六路PWM脉冲波的输出。并请所有的端口寄存器,以防出现意外干扰。ADC模块使用的模拟输入端口为AN0AN6,七个模拟引脚。也即是RA0、RA1、RB0-RB3四个与RC0。通过TRISx寄存器将之配置为输入引脚即置位寄存器相应位为1。而PWM模块采用的是dsPIC33FJ32MC204的PWM1的六路PWM,其相应的I/O引脚是RB10-R

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报