步进电机控制系统的设计【开题报告+文献综述+毕业论文】

步进电机控制系统的设计【开题报告+文献综述+毕业论文】

ID:463341

大小:3.32 MB

页数:62页

时间:2017-08-05

上传者:U-944
步进电机控制系统的设计【开题报告+文献综述+毕业论文】_第1页
步进电机控制系统的设计【开题报告+文献综述+毕业论文】_第2页
步进电机控制系统的设计【开题报告+文献综述+毕业论文】_第3页
步进电机控制系统的设计【开题报告+文献综述+毕业论文】_第4页
步进电机控制系统的设计【开题报告+文献综述+毕业论文】_第5页
资源描述:

《步进电机控制系统的设计【开题报告+文献综述+毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

本科毕业论文系列开题报告电气工程及其自动化步进电机控制系统的设计一、课题研究意义及现状步进电机又称为阶跃电动机或脉冲电动机,它是基于最基本的电磁感应作用,是一种将电脉冲转化为角位移的执行机构,由于其具有的显著特点,使得它在电机的大家族中扮演着很重要的角色。步进电机的原始模型起源于1830年至1860年,我国步进电机的研究及发展开始于上世纪50年代后期,最初主要是国家资助的高等院校和科研机构为研究一些装置开发的少量产品。70年代开始大量生产和应用步进电机,至今,由于对步进电机精确模型做了大量研究工作,各种混合式步进电机及驱动器作为产品被广泛生产和应用。现应用于工业自动控制、组合机床、数控机床、机器人、计算机外围设备、大型望远镜、卫星天线定位系统等等。随着科技的发展、技术的进步和电子技术的更新,步进电机的应用领域变得更加的宽广,这样也对步进电机的运行性能提出了更加苛刻的要求。虽然步进电机是一种数控元件,易于同数字电路接口。但是,一般数字电路的信号远远不足以驱动步进电机,必须有一个与之匹配的驱动电路来驱动步进电机,步进电机和步进电机驱动电路两者组成步进电机系统。随着电力电子技术、自动化控制技术以及计算机技术的发展,开始大量使用单片机、FPGA、CPLD、PLC等对步进电机进行控制和驱动,结果是缩短了驱动器的研发周期,明显提高了整机的性能和稳定性。PSoC可编程片上系统比标准的固定功能的微控制器有明显的优势,采用一个微控制器,一个PSoC器件最多可集成100种外设功能,PSoC系统集成有MCU、FLASH及可编程模拟和数字模块,与上面提到的方案相比通过PSoC单片机控制步进电机,可以实现低成本,小体积,单芯片,高效率的开发,甚至可以在开发最后一刻根据突发状况而改变方案。二、课题研究的主要内容和预期目标该课题主要分一下内容进行设计:(1)了解和研究步进电机的结构及其工作原理; (2)研究实现常用步进电机控制的方案。(3)CypressDesigner5.0的学习和软件的操作使用(4)分析基于PSoC的步进电机控制的解决方案,确定系统设计中需要用到CY8C29466的内部结构、通用I/O数目、所需Flash及SRAM空间大小等参数;(5)系统的整体硬件结构设计,包括芯片规划和外围电路设计;(6)设计步进电机驱动模块电路、速度显示模块电路,并绘制原理图,制作PCB板;(7)应用C语言编写系统应用程序,进行硬件电路的调试。预期目标:掌握赛普拉斯PSoC的内部结构、工作方式,制作出硬件实物,实现步进电机的精确正反转和角位移控制,充分利用PSoC单片机内部资源上的优势实现一套比传统单片机、CPLD等更加精简高效的步进电机控制驱动装置。一、课题研究的方法及措施本系统有两大部分组成:主电路和控制电路。如下图,其中主电路包含了步进电机及其驱动电路,控制电路包含了PSoC单片机、可以显示转速位移等的显示电路、控制电机各种功能的信号输入电路和检测电机工作状态的检测电路。系统方框图如下:单片机选择赛普拉斯的PSoC,PSoC单片机内部已经集成了相当丰富的资源,选好驱动电路所需的功率开关,设计好步进电机的驱动模块和检测电路,利用软件进行排版布线。然后制作出PCB板,编写程序进行硬件调试,通过外部的控制信号可以控制步进电机的正反转和角位移,这是一个闭环的控制电路,可以比较精确的对步进电机进行有效控制。四、课题研究进度计划 毕业设计期限:2010年9月13日~2011年5月17日。第一阶段(4周):2010/2011第一学期7~10周,分析设计题目,收集资料,系统设计方案制定,完成开题报告、文献综述、外文翻译。第二阶段(8周):2010/2011第一学期11~18周,设计与写论文,系统模块软件程序设计,PCB版设计和制作,撰写设计报告与论文初稿。第三阶段(4周):2010/2011第二学期1~4周,设计作品系统调试和完善,论文修改。第四阶段(2周):2010/2011第二学期5~6周,最终确认设计方案,准备答辩工作。五、参考文献[1]朱明程,李晓滨.PSoC原理与应用设计[M].北京:机械工业出版社,2008,3.[2]廖高华.高性能步进电机控制系统的研制[D].西安:西安科技大学,2004.[3]百度百科,步进电机[EB/OL],[2010-10-26].http://baike.baidu.com/view/13608.htm[4]BIT-AutomotiveElectronicsTechnicalInnovationCenter.TheoryandOperationofPsoC[EB/OL].[2010-11-17].http://www.ourdev.cn/bbs/.[5]梁志颖.嵌入式系统晶片PSoC实作入门[M].台湾:旗标出版社,2009,9.[6]叶朝辉,华成英.可编程片上系统(PSoC)原理及实训[M].北京:清华大学出版社,2008,5.[7]翁小平,PSoCExpress开创嵌入式芯片编程新时代[J],EDNCHINA,2007,14(5):80~84.[8]CypressInc.PSoCTMMixedSingnalArrayTechnicalReferenceManual[J].Trm21,2005:36~38.[9]李通,刘志垠.步进电机的单片机控制[EB/OL],[2010-9-10].http://blog.sina.com.cn/s/blog_4e31413201009tjx.html.[10]戴国骏.系统可配置单片机原理与应用[M].北京:机械工业出版社,2009,4. 毕业论文文献综述电气工程及自动化PSoC单片机在步进电机控制中的应用摘要:本文主要介绍了PCoC单片机的组成和特点,在这一特点上进行对步进电机的控制,对比了FPGA控制方案,我们可以看出通过PSoC内部丰富的资源可以以较低成本实现步进电机的高精度控制,并且设计方案比较简便。关键词:PSoC;步进电机;原理;控制1引言步进电机是一种将电脉冲转化为角位移的执行机构。步进电机是一种感应电机,由于具有显著的特点,使得它在电机的大家族中扮演着很重要的角色,它是将电脉冲信号转变为角位移或线位移的开环控制元件,在CNC数控机床中,步进电机可以驱动加工平台做精确定位。在咖啡机中,步进电机可以控制液体流量及开关门仓。在汽车仪表中,步进电机控制已经取代了传统机械式表盘。打印机中,步进电机可以控制纸张的进出位置。而通过PSoC控制步进电机,可以实现低成本,高效率,二次开发相当简便,甚至可以在开发最后一刻根据突发状况改变设计完成设计方案[1],可以说PSoC在步进电机控制中的意义十分明显。2步进电机原理和应用步进电机的运行原理是通过电子电路,将直流电转变成分时供电、多相时序控制电流为步进电机供电,驱动器就是为步进电机分时供电的,多相时序控制器。在非超载的情况下,电机的转速和停止的位置只取决于脉冲信号的频率和脉冲个数,并不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机转动一个固定的角度,这个角度称为“步距角”,它的旋转是以一定的角度一步一步进行的。通过控制脉冲个数就可以控制角位移,从而达到精准定位的目的;同时通过控制脉冲频率就可以控制电机转动的速度,从而达到调速的目的[2]。步进电机的结构和工作原理使其具备如下特点:1位置定位精确:定位精度可以保持在步进角的3~5%,且不累积。2保持转矩:步进电机通电但没有转动时,定子锁住转子的力矩比较大。3可靠性高:因为没有电刷,磨损小,无需定期维护 4控制简便:开环控制,控制成本低。改变输入脉冲指令的频率和个数就可以控制转速和位置5停止/启动容易:有脉冲启动,无脉冲停止6步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势,高速产生的感应电动势会抵消掉供电电压。7转矩弱:尤其在高速下,转矩很弱现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。反应式步进电机(VR):反应式步进电机一般为三相,可实现大转矩输出,也有人称为可变磁阻步进电机,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。永磁式步进电机(PM):永磁式步进电机的结构同永磁式电机相似,输出转矩比反应式步进电机要大,受永磁体加工工艺限制,转子磁极数不能充分细分,歩距角不能足够小,一般为7.5度或15度。混合式步进电机(HB):混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。但工艺复杂,成本要比其他两种电机要高[3]。表1中罗列了三种步进电机的性能特点:可以看到,VR和PM应用于对性能要求不高的场合。HB应用于对性能要求较高的场合。 表1在了解了步进电机的结构和原理之后,我们知道,对位置有较高要求且速度不快转矩不高的场合中,步进电机作用十分明显。3PSoC单片机的特点PSoC:(ProgrammableSystem-On-Chip,片上可编程系统)PSoC系列单片机是在一个专有的MCU(MicroprogrammedControlUnit)内核周围集成了可配置的模拟和数字外围器件阵列PSoC块,利用芯片内部的可编程互联阵列,有效地配置芯片上的模拟和数字块资源,达到可编程片上系统的目的[4]。PSoC是一种对于标准的“全数字式”微控制器设计、纯粹的模拟设计以及介乎此二者之间的所有设计而言具有同等的高适用性的器件,是一种具有极端灵活且完全可编程的混合信号SOC的基本原理的全新一代器件[5]。PSoC可编程片上系统比标准的固定功能的微控制器有明显的优势,采用一个微控制器,一个PSoC器件最多可集成100种外设功能,PSoC系统集成有MCU、FLASH及可编程模拟和数字模块,从而帮助客户节约设计时间和板上面积。图1中左面的部分是普通单片机的结构,包含时钟源,Flash,SRAM,和MCU本身。右面的部分是PSoC的特色,这就是可编程数字模块和模拟模块。易用的开发工具使设计人员能够准确选择所需的外设功能,包括放大器、ADC、DAC、滤波器及比较器等模拟功能以及定时器、计数器、PWM、SPI和UART等数字功能[6]。 图1:PSoC结构图Cypress将PSoCExpress可视化嵌入式系统设计工具与功能齐全的PSoCDesigner软件进行完美结合,创建了一个全新集成设计环境PSoCDesigner5.0[7],它是一款功能全面的基于图形用户接口(GUI)的设计工具套件,让设计人员能够为满足不断变化的系统要求而轻松的进行修改。系统级设计不是在PSoC芯片“内部”工作,而是在芯片“外部”工作,避免了所有亢长乏味的低级细节。而PSoCExpress工作在比以往技术更高的抽象水平上,不再需要开发有关固件,因此能在几小时或几天之内就推出全新的设计方案,针对PSoC器件进行模拟和编程,而无需花费数星期或数月的时间[8]。与传统意义上的单片机系统相比,PSoc最大程度地实现了系统单片化的目标,也减少了PCB的面积。和其他架构的SoC相比,PSoc在保证以更简便方式实现更多更灵活功能和具备较高性能的前提下,是目前为止最高性价比的设计方案[9]。4PSoC单片机控制步进电机的优势PSoC设计方案的特点:1双极性控制,可以控制双极性电机;2提供多种微步模式可供用户选择;3PWM斩波恒流电流驱动,效率和准确性比较好;4分立的功率开关元件;5步进电机的动态工作电流动态可调;6在电路板上有脉冲命令接收接口,可通过其他设备的接口发送指令; 7静止时步进电机的静态电流自动减半,减少功耗和发热[10]。基于CPLD的控制方案,可以看到在CPLD的周围分布着很多的外围芯片,如EEPROM,2个DAC数模转换器、外部运算放大器、逻辑处理芯片、以及555定时芯片。而在PSoC设计方案中,只用到了PSoC一个芯片:如图2图2:两种方案对比5总结从以上的叙述中可以看出PSoC步进电机微步控制方案中,我们可以看出PSoC的价值在于,通过内部丰富的资源实现步进电机的高精度控制,它内部高度集成了普通单片机的结构,可编程模拟和数字模块,包括数模/模数转换器,模拟运放器,模拟比较器。这样使得设计更加灵活,用户可以方便的修改方案,而不必重新的排版。高度集成使得成本更低,节省了外围电路装配等工艺流程,使得设计周期大幅缩短。参考文献[1]朱明程,李晓滨.PSoC原理与应用设计[M].北京:机械工业出版社,2008,3.[2]廖高华.高性能步进电机控制系统的研制[D].西安:西安科技大学,2004.[3]百度百科,步进电机[EB/OL],[2010-10-26].http://baike.baidu.com/view/13608.htm[4]BIT-AutomotiveElectronicsTechnicalInnovationCenter.TheoryandOperationofPsoC[EB/OL].[2010-11-17].http://www.ourdev.cn/bbs/.[5]梁志颖.嵌入式系统晶片PSoC实作入门[M].台湾:旗标出版社,2009,9.[6]叶朝辉,华成英.可编程片上系统(PSoC)原理及实训[M].北京:清华大学出版社,2008, 5.[7]翁小平,PSoCExpress开创嵌入式芯片编程新时代[J],EDNCHINA,2007,14(5):80~84.[8]CypressInc.PSoCTMMixedSingnalArrayTechnicalReferenceManual[J].Trm21,2005:36~38.[9]李通,刘志垠.步进电机的单片机控制[EB/OL],[2010-9-10].http://blog.sina.com.cn/s/blog_4e31413201009tjx.html.[10]戴国骏.系统可配置单片机原理与应用[M].北京:机械工业出版社,2009,4. 毕业设计(20__届)步进电机控制系统的设计 摘要步进电机是将电脉冲信号转变为角位移或线位移的控制元件,特点是定位精度高且具有较高的重复定位精度,对转矩要求不高而对定位敏感的场合比如打印机步进电机是理想之选。PSoC英文全称ProgrammableSystemonChip,意思就是可编程片上系统。相比于传统单片机,PSoC不仅仅是一颗MCU,它是综合了模拟,数字和混合信号的可编程系统。我们常用的ADCs,DACs,过滤器,比较器等等都包含在这颗芯片的内部,所以当用PSoC进行系统设计的时候可以简化外围电路。采用PSoC进行步进电机控制系统的设计,需要用到软件PSoCDesigner进行PSoC的配置,设计工作主要在视窗环境完成,只需要编写少量的代码就可以完成对PSoC的配置,这也是PSoC的优点之一,开发周期较短,外围电路少,容易控制成本。本文所讨论的步进电机控制器可以进行步进电机的正反转和微步控制,步进电机主要优势就是控制精度高,定位准确误差不累加。而微步控制就是发挥步进电机优势的动力。并且步进电机无电刷、寿命长,在打印机,咖啡机等对位置敏感的场合步进电机是理想之选。关键词:PSoC;步进电机;PSoCDesigner;微步控制 AbstractSteppermotoristheelectricpulsesignalsintoangulardisplacementorlineardisplacementofthecontrolelements,characterizedbyhighpositioningaccuracyandrepeatabilitywithhighprecisionpositioningofthetorqueissufficientandsensitiveoccasionssuchasprinter,thesteppermotorIstheidealchoice.EnglishnamePSoCProgrammableSystemonChip,whichmeansprogrammablesystemonchip.Comparedtoconventionalsinglechip,PSoCisnotjustanMCU,itisacombinationofanalog,digitalandmixed-signalprogrammablesystem.WeusedADCs,DACs,filters,comparators,etc.areincludedinthischipinside,sowhenthesystemdesignwiththePSoCcanbesimplifiedwhentheexternalcircuit.StepperMotorControlusingPSoCforsystemdesign,needtousethePSoCPSoCDesignersoftwareconfiguration,designworkismainlydoneintheWindowsenvironment,onlyasmallamountofcodewrittentocompletetheconfigurationofthePSoC,whichisalsotheadvantageofPSoCFirst,thedevelopmentcycleisshorter,lessperipheralcircuit,easytocontrolcosts.Discussedinthisarticlecanbesteppermotorcontrollersteppermotorreversingandmicro-stepcontrol,themainadvantageisthecontrolofsteppingmotorandhighprecision,accuratepositioningerrorisnotcumulative.Themicro-stepsteppingmotorcontrolistoplayadominantpower.Andbrushlesssteppermotor,longlife,intheprinter,coffeeandothersensitiveplacesonthepositionofthesteppermotorisideal.Keywords:PSoC;StepperMotor;PSoCDesigner;Micro-stepControl 目录1绪论11.1研究背景和意义11.2国内外研究现状21.3主要研究内容31.4论文内容概述32步进电机概述52.1步进电机的应用52.2步进电机的结构和特点52.2.1步进电机的结构52.2.2步进电机的特点72.3可变磁阻步进电机的工作原理82.4步进电机的常用控制方法92.4.1单相通电的整步步进模式92.4.2双相通电的整步步进模式102.4.3半步步进模式102.4.4微步步进模式113PSOC单片机概述123.1PSoC的结构和特点123.1.1PSoC的结构123.1.2PSoC的特点143.2PSoC的应用与设计优势153.2.1PSoC的应用153.2.2PSoC的设计优势163.3PSoC的开发工具174系统硬件设计224.1步进电机控制系统组成224.2用户接口224.3驱动电路234.4检测电路244.5电源245系统软件设计265.1使用PSoCDesigner5.0新建工程265.2模拟用户模块的配置275.2.1PGA模块的配置285.2.2DAC模块的配置295.2.3CMP模块的配置305.3数字用户模块的配置31 5.3.1PWM模块配置315.3.2其他数字模块配置325.4程序编写336总结35致谢36参考文献37附录1PSOC用户模块配置图38附录2主电路图39附录3驱动电路图40附录4程序源代码41 1绪论1.1研究背景和意义步进电机又称为阶跃电动机或脉冲电动机,它是基于最基本的电磁感应作用,是一种将电脉冲转化为角位移的执行机构,由于其具有的显著特点,使得它在电机的大家族中扮演着很重要的角色。虽然步进电机是一种数控元件,易于同数字电路接口。但是,一般数字电路的信号远远不足以驱动步进电机,必须有一个与之匹配的驱动电路来驱动步进电机,步进电机和步进电机驱动电路两者组成步进电机系统。随着电力电子技术、自动化控制技术以及计算机技术的发展,开始大量使用单片机、FPGA、CPLD、PLC等对步进电机进行控制和驱动,结果是缩短了驱动器的研发周期,明显提高了整机的性能和稳定性。图1-1是常见的步进电机外观。图1-1步进电机的外观PSoC可编程片上系统比标准的固定功能的微控制器有明显的优势,采用一个微控制器,一个PSoC器件最多可集成100种外设功能,PSoC系统集成有MCU、FLASH及可编程模拟和数字模块,与上面提到的方案相比通过PSoC单片机控制步进电机,可以实现低成本,小体积,单芯片,高效率的开发,甚至可以在开发最后一刻根据突发状况而改变方案[1]。1.2国内外研究现状步进电机的原始模型起源于1830年至1860 年,我国步进电机的研究及发展开始于上世纪50年代后期,最初主要是国家资助的高等院校和科研机构为研究一些装置开发的少量产品。至今,各种混合式步进电机及驱动器作为产品被广泛生产和应用。1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。70年代初期,步进电机的生产和研究都有所突破,除反映在驱动器设计方面的长足进步以外,对反应式步进电机本体的设计研究发展到一个较高的水平。70年代中期至80年代中期为成品发展阶段,新品种高性能电动机不断被开发。至80年代中期以来,由于步进电机精确模型做了大量研究工作,各种混合式步进电机及驱动器作为产品广泛利用。步进电机现应用于工业自动控制、组合机床、数控机床、机器人、计算机外围设备、大型望远镜、卫星天线定位系统等等。随着科技的发展、技术的进步和电子技术的更新,步进电机的应用领域变得更加的宽广,这样也对步进电机的运行性能提出了更加苛刻的要求[2]。目前在大功率的工业设备驱动上,很少使用大扭矩步进电动机,因为从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来看,优势不明显。一些少数高级的应用,就用空心转杯电机,交流电机。国外在小功率的场合,还是主要使用步进电机,例如打印机,复印件,速印机,银行自动柜员机。目前,国内生产步进电机的厂家的确不少,但具有专业技术人员,能够自行开发,研制的厂家却非常少,大部分的厂家只一、二十人,连最基本的设备都没有。仅仅处于一种盲目的仿制阶段。1.3主要研究内容本设计主要是研究基于PSoC(ProgrammableSystemonChip )的步进电机控制,采用PSoC控制步进电机的启停控制,正反转控制和微步控制。1研究步进电机控制系统(1)研究步进电机的结构及其工作原理;(2)研究常用步进电机控制的设计方案。2硬件系统及软件设计(1)分析基于PSoC的步进电机控制的解决方案,确定系统设计中需要用到Cy8C29466的内部结构、通用I/O数目、系统资源等参数;(2)系统的整体硬件结构设计,包括芯片使用和其他外围电路设计;(3)设计步进电机驱动模块电路、速度显示模块电路,并绘制原理图,制作PCB板;(4)应用C语言编写系统应用程序;(5)进行系统软硬件的最终调试。1.4论文内容概述首先本文介绍了什么是步进电机,步进电机是一种将电脉冲转化为角位移的执行机构。步进电机是一种感应电机,由于具有显著的特点,使得它在电机的大家族中扮演着很重要的角色,它是将电脉冲信号转变为角位移或线位移的开环控制元件,在CNC数控机床中,步进电机可以驱动加工平台做精确定位。在咖啡机中,步进电机可以控制液体流量及开关门仓。在汽车仪表中,步进电机控制已经取代了传统机械式表盘。打印机中,步进电机可以控制纸张的进出位置。然后介绍了什么是PSoC,PSoc的整体结构包括PSoc内核(PSocCore)、数字系统(DigitalSystem)、模拟系统(AnalogSystem)、系统资源(SystemResource)四部分组成,包含时钟源,Flash,SRAM和MCU本身。PSoC与传统单片机相比的优势正是可编程数字模块和模拟模块。PSoC与传统单片机优势颇多,接下来本文介绍了PSoC开发所需要的软件,然后结合PSoC的优势进行硬件设计和软件调试。我们可以看出在基于PSoC步进电机微步控制方案中,PSoC 的价值在于,通过内部丰富的资源实现步进电机的高精度控制,它内部高度集成了普通单片机的结构,可编程模拟和数字模块,包括数模/模数转换器,模拟运放器,模拟比较器。这样使得设计更加灵活,用户可以方便的修改方案,而不必重新的排版。高度集成使得成本更低,节省了外围电路装配等工艺流程,使得设计周期大幅缩短。通过PSoC控制步进电机,可以实现低成本,高效率,二次开发相当简便,甚至可以在开发最后一刻根据突发状况改变设计完成设计方案,可以说PSoC在步进电机控制中的意义十分明显。 2步进电机概述步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。我们可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时我们也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。2.1步进电机的应用步进电机的转矩较小,但定位精确,所以在对位置有较高要求且速度不快和转矩不高的应用中,步进电机大显伸手。无论是在工程控制还是消费领域,步进电机都几乎随处可见。例如,在CNC数控机床中,步进电机可以驱动加工平台做精确定位。在平时生活中,比如咖啡机,步进电机可以控制液体流量以及开关门仓。在数字探头里,步进电机可以用来调节镜头焦距以及调节探头做360度得旋转,在汽车仪表中,步进电机控制的表盘已经取代了传统机械式表盘。在打印机中,步进电机可以控制纸张进给。在机器人中,关节的活动也是由步进电机来驱动[3]。2.2步进电机的结构和特点2.2.1步进电机的结构根据内部结构的不同,常用的步进电机又分为三类:1可变磁阻步进电机(VR)如图2-1所示,可变磁阻步进电机的存在历史十分悠久,也可称之为反应式步进电机。顾名思义,在其步进过程中,磁通经过的磁阻是在不断变化的。转子是由软磁材料组成,在其圆周上加工出许多的齿牙。而定子也由带有绕组的磁极构成。转子的齿数在设计时能被二整除,但不能被相数整除。 图2-1可变磁阻步进电机内部结构2永磁步进电机(PM)如图2-2所示,永磁式步进电机的结构同永磁式电机相似。其与反应式步进电机的区别在,其转子表面由永磁材料构成。在转子的圆周表面,N极和S极交替排列。绕组中通入不同方向的电流时,N极或者S极就会转动到与定子产生的磁场相一致的位置。因为永磁材料可以产生较高的磁通密度,所以永磁式步进电机输出转矩比反应式步进电机要大。而且,由于永磁体磁场的作用,在电机不通电的情况下,电机仍能保持一定的转矩,称之为制动力矩。永磁步进电机的缺点在于受制于永磁体加工工艺,转子磁极数不能充分细分,从而导致永磁式步进电机的步距角不能足够小。图2-2永磁步进电机内部结构3混合步进电机(HB) 混合式步进电机则结合了永磁式步进电机和反应式步进电机的优点。如图2-3所示,在其转子结构上,除了保持许多像反应式电机转子那样的齿牙外,还在转子轴向圆周镶嵌有永磁材料组成的磁极。这既能改善纯永磁体转子造成定位不够精确的缺点,又能增加电机转矩性能。其定子磁极下往往也加工出许多细齿以确保定位的精确性。但是毫无疑问,其工艺比较复杂,成本要比其他两种电机要高。图2-3永磁步进电机内部结构2.2.2步进电机的特点步进电机的结构和工作原理使其具备如下特点:1位置定位精确:定位精度可以保持在步进角的3~5%,且不累积,具有良好的跟随性;2保持转矩:步进电机通电但没有转动时,定子锁住转子的力矩比较大;3步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声;4控制简便:开环控制,控制成本低。改变输入脉冲指令的频率和个数就可以控制转速和位置;5停止/启动容易:有脉冲启动,无脉冲停止;6步进电机的力矩会随转速的升高而下降,当步进电机转动时,电机各相绕组的电感将形成一个反向电动势,高速产生的感应电动势会抵消掉供电电压;7步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施;8步进电机外表不允许较高的温度,步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,所以步进电机外表温度在摄氏80-90度以下可以保持正常工作;9步进电机自身的噪声和振动较大,带惯性负载的能力较差;10可靠性高:因为没有电刷,磨损小,无需定期维护。 2.3可变磁阻步进电机的工作原理以上三种步进电机工作原理基本相同,下面将以典型的可变磁阻步进电机为例进行介绍。图2-4典型的可变磁阻步进电机内部结构步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。如图2-4所示,A、B、C、D接电源,分别有三个开关控制,A’、B’、C’、D’分别接地。转子的齿数为6,定子的相数为4相,即ABCD相。当BB’相通电时,则转子在电磁力的作用下,将向磁导率最大(即最小磁阻位置)位置转动,即向趋于对齿的状态转动。转子的3,6齿转动到与改相定子磁极一致的位置。而其他的转子齿与定子磁极形成错位15度。下一个状态时,b项断电,A相通电,转子的1,4齿转动到与A相磁极相一致的位置,转子转动15度。如此反复,按A-〉B-〉C-〉D-〉A的顺序给定子绕组通电,转子会以步进15度的步距角一步一步的旋转。这种通电方式以4个节拍为一个电周期,绕组电流为单方向流动。为了提高定位的精确性,往往在定子磁极的大齿下有加工出许多小齿。只要符合上述条件那么在理论上可以制造出任何相的步进电机,但在实际工业生产活动中,出于对成本等多方面考虑,市场上一般以二、三、四、五相为多。 2.4步进电机的常用控制方法为了获得更高的位置控制精度,除了在电机结构上想办法外,在控制方式上也有文章可做。正常情况下,一个节拍内电机转过一个步进角距离。我们称之为整步步进模式。而通过在控制上的改进,可以使得电机在一个节拍内只转过一个步距角一半的角度,这种步进模式称之为半步。进一步,可以对步距角进行电气上的细分,使得电机在一个节拍内只转过步距角若干分之一的角度,这种模式叫做微步控制模式。显然,微步模式可以提高位置控制精度。2.4.1单相通电的整步步进模式图2-5单相通电的整步如图2-5所示,单相通电步进模式,在任意一个节拍内,步进电机只有一个绕组通电。如图所示:在第一个节拍内,A相通电,B相不通电,当下一个节拍来到之后,A相不通电,而B相通入反向电流,第三个节拍到来之后,A相通入反向电流,而B不通电,第四个节拍到来之后,A相不通电,而B相通入正向电流,第五个节拍的动作和第一个节拍是一样的,如环循环往复,这种模式就叫做单相通电的整步步进模式。 2.4.2双相通电的整步步进模式图2-6两相通电的整步如图2-6所示:第一个节拍内,A相通入正向电流,B相通入反向电流,第二个节拍到来之后,A相电流保持不变,B相电流由负到正,第三个节拍到来之后,B相电流保持不变,A相电流由正到负,第四个节拍到来之后,A相和B相电流均为负向流动,第五个节拍到来之后,AB相的电流工作模式和第一个节拍时一样,如此循环往复,电机便一步一步地旋转。我们可以看到,在这种整步的步进模式下,任何线圈的电流均是通电的,所以叫做两相通电的整步步进模式。与单相通电的整步步进模式相比,两相通电的整步步进模式,电磁转矩是每项绕组产生的力矩的矢量和。因此可以得到比单相通电模式更大的转矩,但是相应地,转矩的脉动也增加了。2.4.3半步步进模式半步模式又称为单双拍控制模式。即在整步状态下相邻每两个节拍之间又插入一个节拍,如图2-7所示: 图2-7半步模式首先是A相绕组通电,之后电流方向由A流向B,伏值减半,第三个状态到来之后,B相单独通电,伏值增加一倍,如此循环,从A相和B相的电流波形中,可以看到,电流的波形趋向于梯形的形状,在这个模式下,步进电机的走位精度比整步模式提高一倍,而且它的转矩脉动更加平滑。2.4.4微步步进模式图2-8微步模式图2-8为8个微步的相电流波形。通过把两相绕组的电流做若干细分,就可以把一个步距角若干细分为若干份。可以看出在整步基础上,把电流按正旋规律分了八段,每个节拍后,一相电流增加若干,另一相电流减少若干的值。如此,相电流的波形接近正弦波形。而转矩为两相电流作用的矢量和,因此也保持在比较恒定的值。 3PSoC单片机概述PSoC是ProgrammableSystemonChip的缩写,也就是可编程片上系统。PSoC不仅仅是一颗MCU,它是综合了模拟,数字和混合信号的可编程系统。PSoC包含丰富的可编程模拟模块,例如我们常用的ADCs,DACs,过滤器,比较器,等等,还有专为触摸设计的CapSense模块。PSoC还包含丰富的数字模块,例如时钟,计数器,PWMs,串口,SPI等等。PSoC的核是一个MCU,工作频率较高,另外PSoC还内置了Flash和SRAM。3.1PSoC的结构和特点3.1.1PSoC的结构作为一种新型的、适合时代要求的智能器件,PSoc具有与普通单片机不同的结构和特点,这些特点使得PSoC的研发周期缩短,外围电路更加简化[4]。图3-1PSoC的结构示意图如图3-1,PSoc的整体结构包括PSoc内核(PSocCore)、数字系统(DigitalSystem)、模拟系统(AnalogSystem)、系统资源(SystemResource )四部分组成。这四个主要部分通过系统总线通信网络联系在一起。左面的部分是普通单片机的结构,包含时钟源,Flash,SRAM和MCU本身。右面的部分就是PSoC特色——桔黄色的部分,这就是可编程数字模块和模拟模块,PSoC与传统单片机相比的优势也正是在这里。1PSoC内核PSoC内核是一个功能强大的处理器,支持丰富的指令设置。它包含CPU内核、用于数据存储的静态存储器SRAM、用于控制程序在一个新地址中短暂执行的中断控制器、睡眠和看门狗定时器和一组包括锁相环、内部主振荡器、内部低速振荡器和外部晶振的时钟源。这些时钟和系统资源中的可编程时钟分频因子一起使得把几乎所有的定时需求集成到PSoc设备中成为了可能。CPU内核,也称为M8C,是一个工作频率可以达到24MHz的强大的处理器。M8C是一个4MIPS的8位哈佛结构的微处理器。在CPU内核的内部静态包含有RAM(SRAM)和FLASH存储器。最小的PSoc设备之间有差别很小的模拟结构。PSoc的通用输入输出(GPI/O)把器件的CPU、数字和模拟资源与外部引脚进行了连接。每一个引脚有八种不同的驱动模式,不同的驱动模式为外部接口提供了很大的灵活性。每一个引脚都可以因高电平、低电平或者电平的变化而产生一个系统中断。2数字系统PSoc的数字系统由数字PSoc模块、行内数字模块互连(RDI)、行间数字阵列互连(ADI)、全局数字系统互连(GDI)组成。数字模块最多有四行16个。数字模块的个数因设备的不同而不同,根据实际需要可以灵活选择。数字模块可以通过一系列的全局总线连接到任何通用的I/O口,全局总线可以把任何信号发送到任何引脚上。全局总线还允许信号多路技术和进行逻辑操作。3模拟系统PSoc的模拟系统包括全局模拟互连(GAI),基本模拟PSoc模块阵列、模拟信号基准电压发生器、模拟信号输入多路选择器等几部分组成。模拟系统模块最多包括四个模拟列,12个模拟模块,不同的设备具有的模拟模块的数目不同,参见表2-1。每一个可配置的模块都是由一个拓扑电路组成,该拓扑电路允许用户创造复杂的模拟信号流。 每一个模拟列包括一个B类连续时间模块(ACB)、一个C类开关电容模块(ASC)、一个D类开关电容模块(ASD)。4系统资源系统资源提供了额外的可编程片上系统功能,CY8C系列器件提供的系统资源包括:数字时钟(SYSCLK×2、SYSCLK、CPUCLK、VC1、VC2、VC3、SLEEP等时钟);乘法/加法器(MACs);两种类型(Type1、Type2)的采样抽取器;主从及多主模式的I2C接口(通信速率:400kbps);用户可设定电压阀值的电源电压检测模块及上电复位模块;片上开关模式升压泵(SwitchModePump);片上精密参考电压;USB功能模块;I/O模拟多路选择器[5]。3.1.2PSoC的特点PSoC具备传统单片机所不具备的可编程的数字模块和模拟模块,这些模块都可以配制成不同的功能,例如UART,ADC,Filter和PWM等等。这些模块都可以重新配制成不同的功能,在任何时间都可以修改设计。PSoC有支持动态配制的特性,相同的资源在不同的时间可以配置成不同的用户模块,这样可以大大的节省资源。数字模块和模拟模块可以和外部引脚的互联,也是可编程的,这种灵活的引脚连接应用于电容感应触摸很有优势,可以减少寄生电容和优化信号。PSoC可编程片上系统比标准的固定功能的微控制器有明显的优势,采用一个微控制器,一个PSoC器件最多可集成100种外设功能,PSoC系统集成有MCU、FLASH及可编程模拟和数字模块。开创性地将基于电路图的设计与全部测试过的、预先打包好的模拟和数字外设库结合起来,通过直观的向导和API(应用程序接口)即可进行客户化设计,实现特殊的设计要求。使得工程师们能按照自己的思考方式进行设计,从而可大大缩短产品上市时间。PSoC架构包含了高精度可编程模拟资源,可以配置为ADC、DAC、TIA、混合器、PGA、运放以及其他模拟器件。除此之外,还包括增强型的 基于可编程逻辑的数字资源,可配置为8、16、24和32位计时器、计数器、PWM以及更多高级数字外设,例如循环冗余校验(CRC)、伪随机顺序(PRS)发生器,以及正交调幅解码器。PSoC所拥有的基于PLD的全功能通用逻辑使设计者们拥有了独特的能力,可以对这一数字系统进行客户化设计。这一新架构还支持多种通讯接口,包括全速USB、I2C、SPI、UART、CAN、LIN和I2S[6]。PSoC可以实现更多的模拟集成,例如现有闪存可做到64kB/8位和256kB/32位,将来会有更高密度产品推出。封装方面,公司提供了丰富的封装选择,如CSP(芯片尺寸封装)、客户定制封装等。在某一个领域,例如工业应用,还可以考虑把以太网等接口集成进去。此外,Cypress已经从ARM获得ARM9等IP授权,可以预见下一代可编程平台运算速度更高。3.2PSoC的应用与设计优势3.2.1PSoC的应用PSoC的应用范围很广,在以下各个领域有广泛的应用:1单片机在医用设备领域中的应用也很广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。2智能仪器仪表。用于提高仪器的精度和准确度。PSoC具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用PSoC控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。3消费类电子产品。主要是家电领域。像洗衣机、电冰箱、空调、电视、微波炉、手机、IC卡、汽车电子、设备玩具、家用防盗报警器、音响视频器材、再到电子秤量设备,五花八门,无所不在。4工业自动化。主要是过程控制技术、数据采集、测控技术和机电一体化技术(机器人)。5武器装备。飞机、军舰、坦克、导弹、鱼雷制导、智能武器装备、航天飞机导航系统等都有单片机深入其中。6 终端机外部设备控制。计算机网络终端设备如银行终端以及计算机外部设备,如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。7多机分布式系统。可用单片机构成分布式测控系统,它使单片机进入了一个新的水平。8计算机控制及通信方面。用于调制解调器、程控交换技术以及各种通信设备。3.2.2PSoC的设计优势PSoc作为一种新型器件,能在更大的程度上满足设计需求,采用PSoc的设计方案与采用传统单片机的系统设计方案相比有很多优点。1使用PSoC来代替传统的方案,PSoC不同于固定功能的MCU,它集成度高,使用灵活,实时可编程,这些优点使得设计者可以减少成本,快速进入市场,并且增加市场份额。集成度高是因为PSoC是一个系统级的解决方案,内含可编程的数字和模拟模块,8位的控制器,以及Flash和SRAM等;使用灵活是指可以使用可视化嵌入式设计工具PSoCExpress进行设计,设计灵活,节省时间,并且即使在最后一刻也可以修改设计;实时可编程性是指PSoC提供了一系列模拟和数字用户模块(例如放大器、滤波器比较器、定时器、计数器等等),你可以根据需要进行配置。2从开发系统来看,Cypress公司提供的两种开发软件PSocDesigner和PSocExpress可以根据硬件电路的构造自动生成高质量的可供调用的API函数,编程者无须像以前那样在底层驱动程序上劳神费力而可将精力更多地放在应用层程序的编制上,提高了开发效率。例如:PSoc中提供了LCD和八段LED的驱动程序,用户在使用时,只需要选择该模块后进行简单的参数配置,写2到3句程序即可。3PSoc的开发基于成熟而又丰富的用户模块,极大地减少甚至免除了设计者在成千上万外围元件中选择的烦恼,节省了模拟量处理电路调试及修改的精力和时间,提高了成功率、灵活性和可靠性。4PSoc采用了一种新的构架,通过可配置的数字及模拟区块灵活地构造适用的用户模块,这是传统的单片机所不具备的。5PSoc 可以动态重构,即在应用中通过程序改变存储在闪存中设定的参数,重新定义系统所需要的功能模块的种类和数量,动态地完成片上资源的重新分配,实现新的外围元器件的功能,这一点保证了系统资源的最大化,最合理化和最经济化应用。6与传统意义上的单片机系统相比,PSoc最大程度地实现了系统单片化的目标,也减少了PCB的面积。和其他架构的SoC相比,PSoc在保证以更简便方式实现更多更灵活功能和具备较高性能的前提下,达到了迄今为止最高的性价比。图3-2PSoC与传统单片机的设计方案对比图3-2中左边的PCB板是采用传统单片机的设计方案,右边的PCB板是在实现与左图相同的功能的前提下采用PSoc的设计方案,从图中明显的可以看出采用PSoc的设计方案节省了大量的元器件,PCB板的面积也相应的小了很多。3.3PSoC的开发工具PSoCDesigner是Cypress公司用于PSoC芯片开发的集成开发环境。该软件支持C语言、汇编语言及二者混合编程。PSoCDesigner能协助用户发挥PSoC元件的强大功能与高弹性。通过系统层级与芯片层级两个专案设计模式,无须编写所有程式,在更高的抽象层级上进行设计,系统层级的专案设计让用户能在数天内针对目标PSoC 元件完成建立、模拟、以及编程的方案设计。芯片层级的专案设计模式为用户提供一系列的周边功能,采用非常弹性化的模拟与数字模块技术,进行选择、设置、与连接针脚的设计。在系统层级的专案设计中,让用户能加入用户模块,并且可使用c语言编写更多的功能。PSoCExpress库文件采取开放式架构,设计人员仅需在其应用专业知识领域内工作。举例来说,用户可选择温度传感器、电压输入、风扇、LED,然后定义风扇工作的温度区域、电压监控器阈值以及“序列”逻辑。在PSoCExpress的范畴内,设计人员可通过仿真来确认设计,并生成和下载器件编程文件。该工具不仅使用户能针对赛普拉斯的任何PSoC器件来定位设计方案,而且还可创建定制的项目文档,其中包括带有寄存器映射的数据表、接口示意图以及材料清单等。设计人员在无需编写任何微控制器代码的情况下即可更快速地实施可靠的定制应用。[7]新版PSoCDesigner5.0工具除了整合PSoCExpress的功能,为确保设计工程师能快速而简单地完成最复杂的设计提高了非常优秀的工具、界面、以及元件。例如,工程师可把软体中每个窗口自行设定在适合的开发工作空间,并可透过标签界面随时隐藏或显示,或以独立的窗口显示,更可以在多重显示器的环境中发挥超高的效率。在安装PSoCDesigner5.0之前要安装烧写芯片的软件PSoCProgrammer,否则无法安装PSoCDesigner。PSoCDesigner和PSoCProgrammer都是免费提供给我们使用的,用户只需要到赛普拉斯官方软件库(http://china.cypress.com/?app=search&searchType=advanced&keyword=&rtID=119&id=0&applicationID=0&l=0&source=header)下载即可。软件安装步骤:1前面提到,须先安装PSoCProgrammer,双击下载下来的PSoCProgrammersetup3.exe,出现下面的界面如图3-3,选择Custom,单击Next进入安装选项: 图3-3PSoCProgrammer安装界面12如图3-4,点击Next完成安装。图3-4PSoCProgrammer安装界面23接下来安装PSoCDesigner5.0。双击下载下来的PSoC_Designer_5.0_Service_Pack_6.exe,出现界面如图3-5,单击Next进入下面的对话框。 图3-5PSoCDesigner5.0安装界面14如图3-6接受许可协议,单击Next,进入选择路径对话框:图3-6PSoCDesigner5.0安装界面25如图3-7单击Browse可以选择安装路径,默认为C盘,单击Next进入下一步安装,图3-8为正在安装界面。 图3-7PSoCDesigner5.0安装界面3图3-8PSoCDesigner5.0安装界面46如图3-9,选择“是”在桌面创建快捷方式,选择“否“则不创建,完成安装。 图3-9PSoCDesigner5.0安装界面5 4系统硬件设计4.1步进电机控制系统组成与传统单片机控制器相比较有以下优点:1用微型机代替了步进控制器把并行二进制码转换成串行脉冲序列,PWM斩波恒流电流驱动,效率和准确性较好,可控制方向。2只要负载是在步进电机允许的范围之内,每个脉冲将使电机转动一个固定的步距角度。3静止时步进电机的静态电流自动降低,减少功耗和发热。4根据步距角的大小及实际走的步数,只要知道初始位置,便可知道步进电机的最终位置。本系统有两大部分组成,如图4-1所示:主电路和控制电路。其中主电路包含了步进电机及其驱动电路,控制电路包含了PSoC单片机、LED指示电路、控制电机各种功能的信号输入电路和检测电机工作状态的检测电路。[8]图4-1系统硬件组成框图单片机选择赛普拉斯公司的PSoCCY8C27443芯片,该单片机内部集成了相当丰富的资源。4.2用户接口 本方案留有用户接口,用户可以根据需要配置参数:首先,在电流板上留有三个拨压开关SW1-SW3,如表4-1,可以配置步进模式:如整部模式,半步模式,4微步,等等,最高的分辨率可以达到每圈6400个位置。其次,如表4-2,SW4和SW5可以配置4种不同大小工作电流。另外还有一个开关可以配置步进电机的旋转方向。表4-1DIP开关配置微步模式SW1SW2SW3步进模式分辨率OnOnOff1(整步)200OnOffOn2(半步)400OffOffOn4800OffOnOff81600OnOffOff163200OffOffOff326400表4-2DIP开关控制动态工作电流SW4SW5电流峰值OnOn0.6AOffOn1AOnOff1.6AOffOff3.0A4.3驱动电路驱动电路采用双极性驱动电路,如图4-2所示:图4-2双极性驱动电路 该电路由两个H桥电路组成,场效应管选择IR公司生产的IRF640N,为N沟道,并且无铅环保。每个H桥电路给一个绕组供电。如图,当H1和L2开关导通时,线圈中电流流向由左到右,当H3和L1开关导通时,线圈中电流流向由右向左。如此绕组中电流可以双向流动,双极性由此而来。这种电路开关元件较多,电机绕组的利用率比较高,电流可以双向流动,非常适合于微步控制。4.4检测电路在微步模式下,应该保证电流波形接近于如前面提到的图2-8所示的正弦波形。为了要实现这个功能,需要采样电机的实际电流。如图4-3所示,LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,因为要分别采样A相和B相电流,所以LM358很合适[9]。图4-3采用LM358的检测电路将A相和B相电流送进LM358,而LM358的OUT端连接PSoC内部的PGA模块,PGA和DAC的输出构成比较器CMP的输入。比较器的输出信号送到PWMDB模块,如此就构成了PWM斩波恒流电路。4.5电源控制电路和驱动电路对电源的要求不一样,所以需要进行电源的变换。如图4-4所示用全桥整流电路。 图4-4全桥整流电路本系统中还需要+5V和+15V电压,本方案中使用的电路为LM2576系列的典型降压稳压电路。该系列稳压器是单片集成电路,能提供降压开关稳压器的各种功能,能驱3A的负载,内部包含有频率补偿器和一个固定频率振荡器,将外部元件的数目减少到最少,使用简便。LM2576的效率比流行的三线行稳压器要高的多,是理想的替代。在指定输入电压和输出负载条件下保证输出电压在±4%误差。图4-5为采用LM2576HVT-15的+15V直流电变换电路,以保证PWM斩波恒流电路正常工作,+5V电源可采用LM2576T-5进行变换,以保证各芯片的正常工作。图4-5LM2576HVT-15典型应用 5系统软件设计5.1使用PSoCDesigner5.0新建工程运行PSoCDesigner5.0,依次点击File→NewProject,新建一个工程,选择芯片级设计,如图5-1所示。图5-1新建工程界面图5-2选择芯片界面如图5-2选择CY8C27443-24PVXI这款芯片,点击OK便完成了工程建立,然后开始进行PSoC的内部配置,如图5-3。 图5-3未进行任何配置的PSoC用户模块5.2模拟用户模块的配置图5-4PSoC模拟用户模块组成框图为了要使电机绕组上的电流接近正弦波,需要采样电机的实际电流。PGA和DAC的功能由PSoC内部的模拟模块配置而来,PGA模块的功能是将通过LM358的电机电流进行处理,DAC模块的功能是将正弦表输出为正弦的模拟电压。CMP模块,它是由SC Block配置而成的,它的功能就是用作一个两输入的比较模块。CMP上方就是带死区的PWM模块。当PGA的输出大于DAC的输出时,即实际电流大于指令电流时,CMP输出高电平,由此关断PWM输出,使实际电流减小。反之,当DAC的输出大于PGA的输出时,也就是指令电流大于实际电流时,CMP输出低电平,PWM继续保持高电平,电机电流继续增大。由此,控制电机实际电流为近似正弦波形,使微步控制得以实现[10]。5.2.1PGA模块的配置首先配置PGA模块,如图5-5找到软件右下角的用户模块区域(UserModules),展开Amplifiers,然后双击PGA两次,放置两个PGA用户模块,如图5-6。图5-5选择PGA用户模块图5-6已添加的PGA用户模块按照图5-7分别对两个PGA用户模块进行配置。 图5-7PGA用户模块配置图5.2.2DAC模块的配置配置PGA模块,如图5-8找到软件右下角的用户模块区域(UserModules),展开DACs,然后双击DAC6两次,放置两个DAC用户模块,如图5-9。图5-8选择DAC用户模块 图5-9已添加的DAC模块然后按照图5-10分别对两个DAC用户模块进行配置。图5-10PGA用户模块配置图5.2.3CMP模块的配置CMP模块是由SCBlock配置而成的,如图5-11找到软件右下角的用户模块区域(UserModules),展开PSOC_GENERIC,然后双击SCBLOCK两次,放置两个用户模块,如图5-9。图5-11选择CMP用户模块 图5-11已添加的CMP用户模块按照图5-12分别对两个CMP用户模块进行配置。图5-10CMP用户模块配置图5.3数字用户模块的配置本方案中所采用的CY8C27443系列PSoC共有两行8个数字模块。在本方案中,用到了7个模块,分别配置为:带死区的PWM模块、以及数字缓存器模块、还有8位的Timer模块。在图片的右方可以看到,这里有着许多的Lookuptable,它的功能就是将数字输出信号进行一些逻辑上的操作,比如说:几个信号的相与、与非、或非等功能。这里,Lookuptable将PWM输出进行逻辑操作,然后送到外部的输出引脚。5.3.1PWM模块配置找到软件右下角的用户模块区域(UserModules),展开PWMs,然后双击PWMDB8两次,将模块放置好,并按图5-11进行配置。 图5-11PWM模块配置图5.3.2其他数字模块配置1数字缓存器模块找到软件右下角的用户模块区域(UserModules),展开MiscDigital,然后双击DigBuf两次,将模块放置好,并按图5-12进行配置。图5-12进行配置 2八位的Timer模块配置,找到软件右下角的用户模块区域(UserModules),展开Timers,然后双击Timer8,将模块放置好,并按图5-13进行配置。这样就完成了所有的用户模块配置,工作已完成大半。图5-13Timer模块配置图5.4程序编写图5-14为控制方案的程序流程图。很大一部分设计都在用户模块当中进行了配置,所以程序的流程并不复杂。首先执行的是器件模块的初始化子程序,在下一步的主循环中,检测用户配置的相关参数[11]。主要的代码集中在一个IO中断程序中,这个IO中断是由外部走步脉冲指令产生的,也就是控制器每接收到一个外部的走步脉冲指令,即进入一次中断服务程序。在中断服务程序中,需要关心两个参数,一个是Mstep,另一个是MstepCnt。Mstep是用户配置的微步数。MstepCnt是内部的微步控制计数器。当它不为零时,跳过换相过程,查正弦表,给电流指令,然后使能PWM。剩下的电流斩波和电流保护功能由PSoC内部的硬件模块执行。而当MstepCnt为零时,控制器执行换相过程,即切换开关状态,给相应的线圈通电。一般在步进电机中,以四个换相节拍为一个电周期,换向子程序则执行换相部分的代码。 图5-14程序流程图 6总结这次的设计与制作在老师与同学们的指导帮助下,步进电机控制系统顺利的完成了。通过本次毕业设计,将我以前所学的各科目串联起来应用于实际,是课堂学习的延伸,是对大学学习生活的完美总结。通过设计硬件原理图、软件程序编译使我在原有的基础上得到了提高。毕业设计刚开始,在与导师的反复交流讨论中我的题目定了下来——步进电机控制系统的设计,定下来之后,我便立刻着手资料的收集工作中,当时面对浩瀚的书海有些不知所措,在导师的细心指导下,终于使我明确了设计的方向与研究重点,弄懂了什么是步进电机,弄清楚了步进电机的工作原理。步进电机的控制系统可以用很多方法实现,比如传统的单片机或者CPLD为控制核心的方案,但是这些方案的缺点是外围电路过多,使得整个的硬件会显得很臃肿,PCB版也相对较大,不利于集成,也不利于修改方案。而采用PSoC的方案会使得外围电路很少,设计灵活,系统成本低,在我认真的查阅了大量的资料以后,便开始了基于PSoC的步进电机控制系统的设计,整个系统的设计过程让我把所学的知识运用了一遍又从中学到了很多,资料的查阅让我掌握了很多课堂以外的知识,也增强了自己实践动手的能力,培养了使用工具书的能力,通过查阅手册和文献资料,进一步熟悉常用设备的类型和特性,资料查找告一段落后,我开始着手论文的写作,在写作过程中遇到困难的时候及时与导师取得联系,并和同学互相交流,请教专业课的老师,最终一个一个问题都解决了,培养了我独立分析与解决问题的能力,论文最终慢慢成型。最后开始了软件的最后调试,同时也使我更熟悉了有关office各种软件和psoc设计软件的使用,加深我对电气知识的了解。经过了几个月的努力,设计越来越有头绪,从不切实际的设想到最终实际方案的完成,使我越来越成熟,最后顺利的完成了毕业设计。 参考文献[1]朱明程,李晓滨.PSoC原理与应用设计[M].北京:机械工业出版社,2008,3.[2]百度百科,步进电机[EB/OL],[2010-10-26].http://baike.baidu.com/view/13608.htm.[3]廖高华.高性能步进电机控制系统的研制[D].西安:西安科技大学,2004.[4]李通,刘志垠.步进电机的单片机控制[EB/OL],[2010-9-10].http://blog.sina.com.cn/s/blog_4e31413201009tjx.html.[5]戴国骏.系统可配置单片机原理与应用[M].北京:机械工业出版社,2009,4.[6]BIT-AutomotiveElectronicsTechnicalInnovationCenter.TheoryandOperationofPsoC[EB/OL].[2010-11-17].http://www.ourdev.cn/bbs/.[7]翁小平,PSoCExpress开创嵌入式芯片编程新时代[J],EDNCHINA,2007,14(5):80~84.[8]CypressInc.PSoCTMMixedSingnalArrayTechnicalReferenceManual[J].Trm21,2005:36~38.[9]信诺微电子有限公司,LM2576/LM2576HV系列3A开关型降压稳压器用户手册[EB/OL],[2010-8-10].http://xingnuoweidz.b2b.hc360.com/.[10]叶朝辉,华成英.可编程片上系统(PSoC)原理及实训[M].北京:清华大学出版社,2008,5.[11]梁志颖.嵌入式系统晶片PSoC实作入门[M].台湾:旗标出版社,2009,9. 附录1PSoC用户模块配置图 附录2主电路图 附录3驱动电路图 附录4程序源代码//-------------------------------------------------------------------//主程序//-------------------------------------------------------------------#include#include"PSoCAPI.h"#include"def.h"voidmain(){SysInit();while(1){SM_CurAdjust();}}//-------------------------------------------------------------------//设备初始化子程序//-------------------------------------------------------------------#include#include"PSoCAPI.h"voidSysInit(void){PGAA_SetGain(PGAA_G8_00);PGAA_Start(PGAA_HIGHPOWER);SCCMPA_SetPower(SCCMPA_HIGHPOWER);DAC6A_Start(DAC6A_HIGHPOWER);DAC6A_WriteBlind(40);PGAB_SetGain(PGAB_G8_00); PGAB_Start(PGAB_HIGHPOWER);SCCMPB_SetPower(SCCMPB_HIGHPOWER);DAC6B_Start(DAC6B_HIGHPOWER);DAC6B_WriteBlind(40);DigBufA_Start();DigBufB_Start();PWMDB8A_Start();PWMDB8B_Start();Timer8_EnableInt();Timer8_Start();PRT2DR=0x00;PRT1DR=0xFF;INT_MSK0|=0x20;M8C_EnableGInt;}//-------------------------------------------------------------------//中断子程序//-------------------------------------------------------------------#include#include"PSoCAPI.h"#include"def.h"BYTESM_bStepIndex=0xFF;BYTESM_bStepMicroCnt=0x00;BOOLSM_fCurInc;BYTEport2_value;BYTEMainIsrFlag=TRUE;BYTEbCurA,bCurB;voidvStep1(void);voidvStep2(void);voidvStep3(void); voidvStep4(void);staticBYTESM_baSinTbl[32]={63,62,61,61,60,59,58,57,56,55,53,52,50,48,46,44,42,39,37,34,32,29,27,24,21,18,15,12,9,6,3,0};#pragmainterrupt_handlerPulseIn_ISRvoidPulseIn_ISR(void){MainIsrFlag=TRUE;SM_bStepMicroCnt+=SM_bStepPace;SM_bStepMicroCnt&=0x1F;if(SM_bStepMicroCnt==0){SM_bStepPace=SM_bStepPaceSel();SM_bStepIndex++;if(SM_bStepIndex>3)SM_bStepIndex=0x00;switch(SM_bStepIndex){case0:SM_fCurInc=TRUE;vStep1();break;case1:if(SM_bRunClkWiseSel())vStep4();elsevStep2(); SM_fCurInc=FALSE;break;case2:SM_fCurInc=TRUE;vStep3();break;case3:if(SM_bRunClkWiseSel())vStep2();elsevStep4();SM_fCurInc=FALSE;break;default:break;}}bCurA=SM_bStepMicroCnt;bCurB=31-SM_bStepMicroCnt;if(SM_fCurInc){bCurA=SM_baSinTbl[bCurA];bCurB=SM_baSinTbl[bCurB];}else{bCurA=SM_baSinTbl[bCurB];bCurB=SM_baSinTbl[bCurA];}DAC6A_WriteBlind(bCurA); DAC6B_WriteBlind(bCurB);}voidvStep1(){PRT2GS&=~(H4|L3);port2_value=port2_value&(~L3);port2_value=port2_value&(~H4);PRT2DR=port2_value;PRT2GS|=(H3|L4);}voidvStep2(){PRT2GS&=~(H1|L2);port2_value=port2_value&(~H1);port2_value=port2_value&(~L2);PRT2DR=port2_value;PRT2GS|=(H2|L1);}voidvStep3(){PRT2GS&=~(H3|L4);port2_value=port2_value&(~H3);port2_value=port2_value&(~L4);PRT2DR=port2_value;PRT2GS|=(H4|L3);}voidvStep4(){PRT2GS&=~(H2|L1);port2_value=port2_value&(~H2); port2_value=port2_value&(~L1);PRT2DR=port2_value;PRT2GS|=(H1|L2);}#pragmainterrupt_handlervMotorStopvoidvMotorStop(){staticBYTEStopCnt=0;if(MainIsrFlag==FALSE)StopCnt++;elseStopCnt=0;if(StopCnt==TIMEOUT){DAC6A_WriteBlind(bCurA/2);DAC6B_WriteBlind(bCurB/2);}MainIsrFlag=FALSE;}//-------------------------------------------------------------------//比较器部分//-------------------------------------------------------------------#include#include"PSoCAPI.h"#include"def.h"BYTESM_bStepPace=1;BYTESM_bStepPaceSel(void){BYTEbStep;BYTEbPrt1Data;bPrt1Data=PRT1DR; if((bPrt1Data&0xA8)==0xA8)bStep=STEP_PACE_1;elseif((bPrt1Data&0xA8)==0x28)bStep=STEP_PACE_2;elseif((bPrt1Data&0xA8)==0x88)bStep=STEP_PACE_4;elseif((bPrt1Data&0xA8)==0xA0)bStep=STEP_PACE_8;elseif((bPrt1Data&0xA8)==0x20)bStep=STEP_PACE_HALF;elseif((bPrt1Data&0xA8)==0x80)bStep=SM_bStepPace;returnbStep;}voidSM_CurAdjust(void){BYTEbCurSelIn;BYTEbPrt1Data;bPrt1Data=PRT1DR;if((bPrt1Data&0x50)==0x00){PGAA_SetGain(PGAA_G8_00);PGAB_SetGain(PGAB_G8_00);}elseif((bPrt1Data&0x50)==0x10){PGAA_SetGain(PGAA_G4_00);PGAB_SetGain(PGAB_G4_00);}elseif((bPrt1Data&0x50)==0x40){PGAA_SetGain(PGAA_G2_00);PGAB_SetGain(PGAB_G2_00); }elseif((bPrt1Data&0x50)==0x50){PGAA_SetGain(PGAA_G1_00);PGAB_SetGain(PGAB_G1_00);}}BOOLSM_bRunClkWiseSel(void){BYTEbPrt1Data;bPrt1Data=PRT1DR;if((bPrt1Data&0x02)==0x02)returnTRUE;elsereturnFALSE;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭