基于arm9的直流电机控制系统的设计_第1页
基于arm9的直流电机控制系统的设计_第2页
基于arm9的直流电机控制系统的设计_第3页
基于arm9的直流电机控制系统的设计_第4页
基于arm9的直流电机控制系统的设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

基于ARM9的直流电机控制系统的设计沈阳航空航天大学2010年6月摘要随着我国经济的高速发展,微电子技术、计算机技术和自动控制技术也得到了迅速发展,直流电机调速技术已经进入一个崭新的时代,其应用越来越广。而作为控制核心的各种单片机芯片也在不断的更新发展,其功能越来越强大。随着人们对其要求的提高,直流电机控制系统的调速方法也相应的产生了PWM(脉宽调制技术),其控制芯片也由原来常用的51单片机系列升华为ARM系列的控制实验板。本设计基于ARM9开发板的直流电机控制系统的调速,以显示ARM开发板的独特功能,利用脉宽调制技术,调节占空比以达到调节转速的目的,将测得的数据传给上位机后进行观测。设计大体上分为硬件设计和软件设计两部分,硬件部分包括驱动模块,控制模块,数据检测模块以及通信模块,软件部分包括程序设计,两大部分实现了对电机转速的监测和控制,更好的确保了设计的准确性。通过合理的选择和设计提高了直流电机控制系统调速的技术,学习和研究新型控制芯片,使设计达到了较为理想的控制效果是本设计的宗旨。关键词ARM9开发板;PWM技术;PID调节功能ABSTRACTALONGWITHTHERAPIDDEVELOPMENTOFCHINESEECONOMY,MICROELECTRONICSTECHNOLOGY,COMPUTERTECHNOLOGYANDAUTOMATICCONTROLTECHNOLOGYISRAPIDLYDEVELOPING,DCMOTORCONTROLTECHNOLOGYHASENTEREDANEWERA,THEMOREANDMOREWIDEAPPLICATIONASTHECOREOFMCUCONTROLCHIPARECONSTANTLYUPDATEDDEVELOPMENT,ITSFUNCTIONANDMOREPOWERFULASFORTHEPEOPLE,THECONTROLSYSTEMOFDCMOTORCONTROLMETHODANDTHECORRESPONDINGPRODUCETHEPULSEWIDTHMODULATIONPWMANDITSCONTROLCHIPTECHNOLOGYISUSEDBYTHEORIGINALSUBLIMATED51SERIESMICROCOMPUTERSERIESOFCONTROLBOARDARMSERIESTHEDESIGNISBASEDONARM9DEVELOPMENTBOARDOFTHECONTROLSYSTEMOFDCMOTORSPEED,INORDERTOSHOWTHEARMDEVELOPMENTBOARD,USINGTHEUNIQUEFUNCTIONOFPWMTECHNOLOGY,SHCHADJUSTMENTINORDERTOACHIEVETHEGOAL,WILLADJUSTSPEEDMEASUREMENTDATATOPCANDSOFTWAREITGENERALDESIGNOFHARDWAREDESIGNANDSOFTWAREDESIGNISDIVIDEDINTOTWOPARTS,HARDWAREPARTINCLUDESDRIVERMODULE,CONTROLMODULE,DATACOMMUNICATIONMODULE,ANDTHESOFTWAREMODULEINCLUDESPROGRAMMINGMODULE,TWOMOSTOFTHEMONITORINGANDCONTROLMOTORSPEED,BETTERENSURETHEACCURACYOFTHEDESIGNTHROUGHTHEREASONABLESELECTIONANDDESIGNOFDCMOTORCONTROLSYSTEMTOIMPROVETHESPEEDOFTECHNOLOGY,LEARNINGANDRESEARCH,NEWCONTROLCHIPDESIGNTOTHEIDEALCONTROLEFFECTISTHEDESIGNPURPOSEKEYWORDSARM9BOARDPWMPIDADJUSTMENTFUNCTION目录1绪论111毕业设计立题意义112研究内容及目标313毕业设计内容分析32总体方案设计421直流电机控制系统的总体设计思想422硬件部分设计523软件部分设计53硬件设计方案631ARM9开发板简介632驱动模块设计7321S3C2440芯片简介7322SPGT62C19B电机控制模组简介833数据检测模块设计10331PWM技术简介10332直流电机电枢PWM调压调速原理10333直流电机调速系统的整体结构11334ARM的脉宽调制PWM描述1134控制模块设计1335通信模块设计14351RS232的串口通信接线14352串口通信154软件方案设计1741系统软件设计步骤1742编程环境设置1943程序设计20431系统初始化20432中断子程序设计21433PWM调速程序设计22434串口通信程序设计235直流电机控制系统综合调试与分析2551硬件电路调试2552利用HJTAG调试程序2653系统联调结果与分析27结论29社会经济效益分析30参考文献31致谢32附录S3C2440A芯片原理图33附录程序清单341绪论随着我国经济的高速发展,微电子技术、计算机技术和自动控制技术也得到了迅速发展,直流电机调速技术已经进入一个崭新的时代。然而,电机调速的方法有很多,比如说变极对数调速法,变频调速法,串级调速法,绕线式电动机转子串电阻调速法,定子调压调速法,电磁调速法等。但是在某些条件下,直流电机调速具有其特有的优势。为了提高生产率和保证产品质量,大量的生产机械要求直流电机以不同的速度工作。这就要求人们采用一定的方法来改变机组的转速,即对直流电机进行调速。对电机的转速不仅要能调节,而且要求调节的范围宽广,过程平滑,调节的方法要简单、经济。直流电机在上述方面都具有独到的优点,使它得到广泛的应用。本文针对直流电机具有起动转距大、体积小、重量轻、转矩和转速容易控制以及效率高等十分优良的特点,根据自动控制原理,采用PWM控制方式,设计了一个直流电机控制系统,以更好地对直流电机进行精确而又迅速的控制。11毕业设计立题意义直流电机是常用的动力提供原件,在日常生活中占据着十分重要的地位,研究直流电机的速度控制,有十分重要的意义。驱动电机选用直流电机,这是因为直流电机具有优越的速度调节控制性能,具有较大的转矩,用以克服装置的摩擦阻力和负载转矩,调速范围宽而且速度平稳,具有快速响应能力,可以适应复杂的速度变化,直流电机的负载特性硬,有较大的过载能力,可以确保运行速度不受负载冲击的影响。ARM是近年来发展非常迅速的处理器,有很好的应用前景。ARM,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM处理器是现代非常流行及重要的一款芯片,其拥有良好的发展性,有广泛的应用领域。ARM公司自1990年正式成立以来,在32位RISCREDUCEDINSTRUCTIONSETCOMPUTERCPU开发领域不断取得突破,其结构已经从V3发展到V6。由于ARM公司自成立以来,一直以IPINTELLIGENCEPROPERTY提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯片的生产销售,加上其设计的芯核具有功耗低、成本低等显著优点,因此获得众多的半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,目前已经占有75以上的32位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。现在设计、生产ARM芯片的国际大公司已经超过50多家,国内中兴通讯和华为通讯等公司也已经购买ARM公司的芯核用于通讯专用芯片的设计。将其应用在直流电机的调速控制中,有极大的实用价值。以脉宽调制技术为代表的电机数字驱动技术也在迅猛发展,将计算机应用于这一领域正好可以发挥其在数字方面控制的优势。微电子技术和计算机技术的发展,为计算机控制技术的发展和应用奠定了坚实的基础。可以这样说,没有微处理器的仪器不能称为仪器,没有微型机的控制系统,更谈不上现代工业控制系统。随着微型计算机,超大规模集成电路,新型电力电子开关器件和传感器的出现,以及自动控制理论和电力电子技术以及计算机控制技术的深入发展,直流传动系统也在不断发展。直流电机是常用的动力提供元件,在日常生活中占据着重要的地位。直流电机是最常见的一种电机,在各领域中得到广泛应用。研究直流电机的速度控制,有着非常重要的意义。研究直流电机的控制和测量方法,对提高控制精度和响应速度、节约能源等都具有重要意义。本方案以ARM9为控制核心,实现普通直流电机的转速测量和转速调节功能,为进一步研究和优化直流电机控制方法提供基础。直流电机控制系统的转速控制方法可分为两类,即励磁控制法和电枢电压控制法。通常的方法是改变输入端电压对电枢电压的控制,继而实现对转速的改变,本次毕业设计实验将使用ARM9来实现对输入端电压的控制,从而对ARM的直流电机控制系统的设计与调速作深入研究,并对其监检测方面进行研究。PWMPULCSIWDHTMDOLUATINO脉宽调制技术是直流电机调速中最为有效的方法,即给直流电机输入高速的开关脉冲信号,通过改变脉冲信号开关的比例,达到速度控制的效果。简单的解释是,由于在ON的时间内施加电压,OFF的时间内切断电压,电机的转动将是断续的。不过在脉冲波段的OFF区段,电机线圈内部储存的能量能够产生续流二极管流动的电流,因此得以继续维持转动。PWM调速的基本思想是以通过电机的平均电压和电流作比较,40的时间接通电源的电机比20的时间接通电源的电机要大。当电机没有接通电源时,它完全不消耗能量,这一点正是其高效率的原因。PWM技术是降低直流电机功耗的一种好方法,它使驱动芯片和电机的发热减少,从而电机也可以用得更久。在工业控制中,按偏差的比例P、积分I和微分D进行控制的PID调节器现在得到广泛的应用。在小型微型计算机用于生产过程以前,连续过程系统中采用的气动、液动和电动的PID调节器几乎占垄断地位。由最优控制理论可以证明,它能适应不少工业控制对象的要求。单片机控制技术不断发展,特别是软件PID算法控制器的使用,代替了原来很多的硬件PID调节器,在工业控制系统和嵌入式系统中得到广泛的应用。12研究内容及目标利用ARM9实验板及直流电机实验板实现直流电机转速测量和调节。使系统实现下列功能(1)可通过ARM实验板上的按键设定电机的转动方向、转速;(2)可对电机进行转速调节,实时测量电机的实际转速,并通过RS232总线把转速传给上位机;本次毕设要达到的指标是电机驱动电路采用集成电路SPGT62C19B电机模组,可以驱动电压46V,电流2A以下的电机;电机转速调节范围3060转/秒,转速误差值不大于1转/秒。13毕业设计内容分析本设计的主要目的是对直流电机控制系统的转速测量和监控做一个系统的设计,由上位机,也就是电脑,和下位机进行通讯,控制整个系统的运行。其次下位机包括ARM9开发板,它作为控制核心发布指令,由驱动模组带动直流电机旋转,再由串口将所得数据传输给上位机。大体需要以下几个准备步骤首先,了解整个设计所涉及到的知识点,搜集资料加以学习。其次,根据设计的要求和需要选择硬件,包括直流电机和电阻等。再次,设计SPGT直流电机驱动模块和速度检测模块电路,并完成硬件搭建。最后,制定上下位机通信协议,将采用RS232C来实现串口通信。2总体方案设计直流电机控制系统的设计,重点在于上位机和下位机功能的串联,硬件和软件的相互联调。本设计的主要目的是测量监控电机的转速,那么选用何种方法调节转速就是关键问题。与此同时,测得的数据或多或少存在误差,在此设计的基础上,如何有的加进一些措施来调节误差,误差控制在一定范围也是值得讨论的。21直流电机控制系统的总体设计思想本设计的思想将分为两大部分进行,一是由上位机组成的软件部分的设计,这一部分包括程序的编写。二是由ARM9开发板和驱动电路板等组成的下位机,称之为硬件部分,包括驱动模块,控制模块,数据检测模块以及通信模块。本设计的主要工作是基于ARM9的直流电机调速系统的设计,从内容上也分为软件和硬件的两大部分来设计。最后还要在硬件软件相应完成的基础上进行调试,所以本次课题设计内容安排可分为三个步骤。第一步骤是硬件设计,包括方案主要模块的电路设计、元器件的选择等。具体的硬件电路是SPGT驱动模块和速度检测模块两大电路。先对每一个模块的各个芯片测试成功后,再焊接其对应的整个模块电路,且每一部分都要进行单独调试,各个部分调试成功后,联接调试整个硬件电路,对在途中出现的错误进行分析和改正,最后得出结论。第二步骤是软件设计,软件采用C语言编写,软件设计的思想主要是自顶向下,模块化设计,逐一设计各个子模块,分别进行调试,最后的连调整个程序,判断是否达到预期的要求,做出结论。第三步骤硬件模块调试都成功的前提下,进行硬、软件连调。22硬件部分设计这一部分是由驱动模块,控制模块,数据检测模块以及通信模块组成的。用到的硬件有ARM9开发板,直流电机,SPGT62C19B电机模组以及一些检测设备。以ARM9开发板为控制核心SPGT62C19B模组驱动电机,由光电开关接收的信号通断频率来测算电机转速将直流电机的转动信息,反馈给ARM9实验板。系统的结构框图如图21所示。图21控制系统结构框图ARM9作为主控芯片,通过I/O端口来控制SPGT电机模组,实现对直流电机的控制。速度检测设备将直流电机的转速信息反馈给ARM9开发板,ARM9针对实际测得的转速来调节SPGT模组的状态,让其达到预设值大小。同时,上位机在对其进行调节。23软件部分设计软件部分涉及到编程。本系统使ARM9平台,运用ARM9编程语言,在CODEWARRIORFORARMDEVELOPERSUITE软件平台进行开发。编写程序的主导思想是自顶向下,模块化设计,主要分为测速程序,PWM调解程序,中断程序,PID算法程序,其中,定义端口也尤为主要。上位机PCARM9S3C2440SPGT62C19B直流电机串口通信GPB1/PWM5GPG5GPG6转向控制转速控制3硬件设计方案31ARM9开发板简介根据本课题设计的任务要求,须采用ARM9作为开发平台,因此本课题设计的控制电路由以ARM9开发板及其外围电路构成,其布局结构如图31所示。图31ARM9开发板实物图ARM9开发板硬件资源特性介绍如下1CPU处理器SAMSUNGS3C2440A,主频400MHZ,最高533MHZ;2SDRAM内存64MSDRAM,32BIT数据总线,SDRAM时钟频率高达100MHZ;3FLASH存储64MNANDFLASH,2MNORFLASH,已安装BIOS;4LCD显示标配NEC256K色240X320/35英寸TFT真彩液晶触摸屏;5接口和资源3个串行口,1个USBHOST,1个20MM间距10针JTAG接口,4USERLEDS,电源接口5V,带电源开关和指示灯等等;6系统时钟源12M无源晶振;7实时时钟内部实时时钟带后备锂电池;8扩展接口1个34PIN20MMGPIO接口,1个40PIN20MM系统总线接口。ARM9开发版是具有很高性价比一款16/32位单片机,支持标准C语言,可以实现C语言与汇编语言的互相调用,ARM9开发板是以SAMSUNG公司32位处理器为核心的开发板,开发板除了具备最小系统电路外,还包括电源电路、音频电路含MIC输入部分和DAC音频输出部分、复位电路等,在掌握软件设计的同时,熟悉其硬件的设计制作,锻炼动手能力。而且它的体积小,采用外部电源供电,方便携带。开发板上有CMOS摄像头、USB、双声道音频输、LCD、音频输入等接口,此开发板还可以通过RJ45网络座实现网络远程控制,配合CODEWARRIORFORARMDEVELOPERSUITE、AXDDEBUGGER、HFLASHER和HJTAG软件可方便地在板上实现程序的下载及调试等工作。32驱动模块设计321S3C2440芯片简介S3C2440是一款低价实用的ARM9开发板,是目前国内性价比最高的一款学习板;它采用SAMSUNGS3C2440为微处理器,并采用专业稳定的CPU内和电源芯片和复位芯片来保证系统运行时的稳定性。S3C2440的PCB采用沉浸工艺的四层板设计,专业等长布线,保证关键信号线的信号完整性,生产采用机器贴片,批量生产;出厂时都经过严格的质量控制。本设计主要是了解嵌入式设计芯片S3C2440,这款芯片有着强大的功能,了解这款芯片的引脚功能是最关键也是最重要的一个环节。这款芯片集成了51系列单片机所有的功能,且具备了普通51单片机所没有的功能,是普通单片机所不能比拟,具体引脚功能如图32图32S3C2440芯片内部结构图322SPGT62C19B电机控制模组简介SPGT62C18B电机控制模组是为学生以及单片机爱好者学习步进电机和直流电机控制而设计的学习套件。模组采用凌阳SPGT62C19B电机驱动芯片,配置两相步进电机和直流电机各一台,并提供4位LED数码管用来显示电机转速等信息。模组针对SPCE061A单片机设计,可以方便的用排线与SPCE061A精简开发板即“61板”连接,可作为单片机教学,产品开发前期验证等辅助工具使用。模组的平面如图33。图33电机控制模组结构图上述结构图中各部分说明如下电机控制接口模组与单片机的接口,为10PIN排针,可以直接与“61板”连接,实现电机控制。数码管控制接口模组与单片机的接口,为两组10PIN排针,可以直接与“61板”连接,实现对4位LED数码管的控制。SPGT62C19B电机驱动芯片,可驱动一台双极性两相步进电机,或者两台直流电机。外接电源指示灯SPGT62C19B电机驱动芯片的逻辑控制电源与电机驱动电源是各自独立供电的,可以外接5V12V的电机驱动电源。当接通了电机驱动电源时,外接电源指示灯会亮。外接电源插座为SPGT62C19B提供电机驱动电源的插座。共有两组电源插座,分别为2PIN针座(可接61板电池盒或其他直流电源)和DC稳压电源插座(可接直流稳压电源)。使用时可选择其中一组插座作为电机驱动电源输入端。33数据检测模块设计数据检测主要是测速,将测得的速度传给上位机。光电开关通过接收的信号通断频率来测算电机转速将直流电机的转动信息,反馈给ARM9实验板。331PWM技术简介PWMPULCSIWIDHTMDOLUATINO脉冲宽度调制技术就是通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形含形状和幅值的技术。根据PWM控制技术的特点,到目前为止主要有八类方法相电压控制PWM、线电压控制PWM、电流控制PWM、空间电压矢量控制PWM、矢量控制PWM、直接转矩控制PWM、非线性控制PWM、谐振软开关PWM。332直流电机电枢PWM调压调速原理随着计算机进入控制领域,以及新型的电力电子功率元器件的不断出现,采用全控型的开关功率元件进行脉宽调制的PWM控制方式已成为主流。这种控制方式很容易在单片机控制中实现,从而为直流电动机控制数字化提供了契机。直流电机转速N的表达式为KIRUN31式31中U为电枢端电压,I为电枢电流,R为电枢电路总电阻,为每极磁通量,K为电动机结构参数。电动机的电枢绕组两端的电压平均值UO为SSSOUTTT121032其中,称为占空比,。占空比表示了在一个周期T里开关管导通的时间与周期的比值。的变化范围为。由式32可知,当电源电压US不变的情况下,电枢的端电压的平均10值U0取决于占空比的大小,改变值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。在PWM调速中,占空比是一个重要参数。在直流电机控制中,改变来实现调速主要方法是定频调宽法使周期T或频率保持不变,而同时改变T1和T2。PWM控制信号的产生方法新一代的单片机增加了许多功能,其中包PWM功能。单片机通过初始化设置,使其能自动地发出PWM脉冲波,只有在改变占空比时CPU才进行干预。这种方法是目前获得PWM信号的主流方法,本控制系统采用此方法产生PWM信号。333直流电机调速系统的整体结构整个直流电机调速系统采用一种上位机、下位机二级分布式结构。上位机负责整个系统管理和计算等,下位机ARM输出PWM信号控制电机转速。下位机采用SAMSUNG公司的S3C2440A芯片,通过串口与上位机通信,ARM接收上位机的控制指令以实现所要求的功能。上位机控制电机运行,ARM不能自主控制电机转速,上位机和ARM之间通过串口进行实时通信。上位机接收用户输入,并转换为PWM占空比和转向信息,并按照通信协议发送给下位机。下位机ARM接收到上位机正确的数据指令后,根据指令决定PWM5占空比输出和引脚PO16和PO17的输出,并向上位机返回应答信息。下位机子系统为整个系统的核心子系统,下位机系统决定整个系统的性能。ARM上运行实时嵌入式系统以保证系统的实时性和高效性。334ARM的脉宽调制PWM描述ARM处理器有7个PWM匹配寄存器,可实现6个单边沿控制或3个双边沿控制PWM输出,或者这两种类型的混合输出1连续操作,可选择在匹配时产生中断;2匹配时停止定时器,可选择产生中断;3匹配时复位定时器,可选择产生中断。单边沿控制PWM输出在每个周期开始时总是高电平,除非输出保持恒定低电平。双边沿控制PWM输出可在一个周期内的任何位置产生边沿,这样可同时产生正脉冲和负脉冲。脉冲周期和宽度可以是任何的定时器计数值,这样可实现灵活的分辨率和重复速率的设定。所有PWM输出都以相同的重复速率发生。PWM脉冲频率由TCNTBNTIMERN计数缓冲器决定。PWM脉冲宽度值TCMPBNTIMERN比较缓存寄存器的值来决定。要得到一个较低的PWM脉宽输出值,就可以减少TCMPBN的值,反之亦然。如果输出反转器使能,增加和减少的结果也将是反转的。基于双缓冲器的特性,下一个PWM周期的TCMPBN的值可以通过ISR或其它手段,在当前PWM周期中的任何一点写入。即在程序中可以通过中断重新设定TCMPBN的值来改变电机的转速。缓冲区TCMPBN,TCNTBN的值不一定等于这个周期的TCMPN,TCNTN的值,但一定是TCMPN,TCNTN的下一个周期的值。在S3C2440中,每个定时器具有一个倒计时器,通过定时器时钟源驱动16位倒计时寄存器TCNTN。定时器启动前,要向TCNTBN定时计数缓冲区寄存器写入一个初始值,这个值在定时器启动时载入到TCNTN倒计时器中。在定时器的TCMPBN比较缓冲器寄存器中同样也要写入一初始值,运行时用来载入到TCMPN比较寄存器中与TCNTN倒计时器的值相比较。系统启动时,需要通过置手动刷新位的方式,将TCMPBN和TCNTBN这两个缓冲区的值载入到TCMPN和TCNTN中。TCMPBN和TCNTBN这两个缓冲区的应用即双缓冲器使定时器能够在频率和占空比同时变化时,仍然产生一个稳定的输出。一般启动定时器的步骤如下1将初始值写入到TCNTBN和TCMPBN中;2设置对应定时器的自动重载位;3设置对应定时器的手动更新位,反向器置为OFF状态;3设置对应定时器的启动位来启动定时器,同时清除手动更新位。系统使用PWM5输出控制一个电机的转速,改变对应的PWM输出,就可以实现电机速度的控制。34控制模块设计控制模块的作用主要是控制直流电机的转向和转速。变换电机的转向是靠在上位机的编程语言里设定中断功能,而控制电机转速,接近于设定值是靠PID调节来控制的。直流电机的转速框图如下控制器检测装置直流电机NNN设定转速N检测速度N驱动器图34直流电机控制系统闭环结构框图此系统属于单闭环调速系统,测得的速度与上位机设定的速度存在误差N,需要控制器进行调节,其中控制器采用的控制方式是PID控制,消除稳定偏差,PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入ET与输出UT的关系为UTKPET1/TIETDTTDDET/DT式中积分的上下限分别是0和T,因此它的传递函数为GSUS/ESKP11/TISTDS,其中KP为比例系数;TI为积分时间常数;TD为微分时间常数。在直流电机调速系统中,数字PID是一种比较成熟的算法。数字PID算法的大致原理是,将设定速度与实际速度之间的偏差记为E,利用E的比例、积分和微分通过线性组合构成的控制量U去控制对象。数字PID算法的表达式如下001UETEKKJKDKP33其中为第K个采样时刻的速度偏差值,可演化为增量式数字PID算法表达式E1211KKKDKIKPKEECECU34式中,、分别为比例、积分、微分系数。ID这样,只需确定、和的值即可实现对的控制。在本系统中,作PIDKUKU为控制电机转速的PWM信号的占空比。简单来说,PID控制器各校正环节的作用如下1比例环节成比例地反映控制系统的偏差信号,偏差一旦产生,控)(TERO制器立即产生控制作用,以减少偏差。2积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强。ITI3微分环节反映偏差信号的变化趋势变化速率,并能在偏差信号变化得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。PID控制因其所具有的算法简单、易于实现等特点,至今仍然是工业控制领域应用最广泛的控制方法之一。35通信模块设计系统上位机与下位机之间的距离只有数米,干扰相对较少,数据传输的可靠性并不构成问题,每次要求传输的数据量也不大,所以系统采用串口进行通信。上位机与AEM9之间的串口通信,包括上位机的串口操作和自定义通信协议的实现。上位机部分检验用户输入,并转换用户输入为PWM占空比和电机转向信息,根据通信协议要求的格式打包发送,并检验收到的应答包,提示通信是否成功。351RS232的串口通信接线在上位机(PC机)进行串口通信时,使用了十几条线进行信号传输。要开发串口通信程序,至少要了解其中五条线的名称及其作用DTR线用于传输上位机发往串口设备的信号,该信号表示上位机是否已经准备好;RTS线用于传输上位机发往串口设备的信号,该信号表示上位机是否允许设备发数据;DSR线用于传输上位机发往串口设备的信号,该信号表示设备是否已经做好操作准备;CTS线用于传输上位机发往串口设备的信号,该信号表示设备是否允许发送数据;CD线用于传输上位机发往串口设备的信号,该信号表示设备已经和远方的设备建立了联系。352串口通信串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS232口。同时,串口通信协议也可以用于获取远程采集设备的数据。RS232(ANSI/EIA232标准)是IBMPC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者MODEM,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS232的传输长度或者速度常常超过标准的值。RS232只限于PC串口和设备间点对点的通信。RS232串口通信最远距离是50英尺。系统采用串口通信接口来实现上位机与ARM9开发板相连,串行口是计算机的一种标准接口。现在的上位机一般至少有两个串行口COM1和COM2。串口通信接口标准是在RS232标准的基础上经过改进而形成的。上位机中的每一个COM口都是由UART(通用异步接收发送器)控制的异步串行端口。上位机为每一个串口都保留一系列的端口资源,大多数都有一个指定中断的请求(IRQ)或者中断请求级别。CPU对串口的控制方式是中断处理方式。串行接口包括4个主要的寄存器,即控制寄存器,状态寄存器,数据输入寄存器及数据输出寄存器。控制寄存器是用来接受CPU送给此接口的各种控制信息,而控制信息决定接口的工作方式。状态寄存器的各位为状态位,每一个状态位都可以用来指示传输过程中的某一个错误或者当前传输状态。数据输入存储器总是和串行输入并行输出移位寄存器配对使用。在输入过程中,数据一位一位从外部设备进入接口的移位寄存器,当接收完1个字符以后,数据就从移位寄存器送到数据输入寄存器,在等待CPU来取走。输出的情况和输入过程类似,在输出过程中,数据输出1个数据后,数据便传输到移位寄存器,然后一位一位地通过输出线送到外设。36硬件电路由于ARM9开发板没有直流电机的驱动模块与测速模块,需要用户额外进行开发,所以本设计的硬件电路由ARM9开发板的串行通信模块与外部测控模块构成。其整体电路图见附录,具体实物如图35所示。图35硬件电路实物图4软件方案设计41系统软件设计步骤直流电机控制系统的软件部分设计包括程序的编写。程序的编写关系到系统运行时的稳定性与否,所以,本设计采取了顺序性的编写模式。硬件功能的实现离不开软件的设计与完成。软件设计是直流电机控制系统设计中最重要、最关键的部分,也是本次毕业设计的难点之处。由于本系统使用ARM9平台,运用ARM9编程语言,在CODEWARRIORFORARMDEVELOPERSUITE软件平台进行。本课题软件设计的思想主要是自顶向下,模块化设计,逐一设计各个子模块,分别进行调试,最后的连调整个程序,判断是否达到预期的要求,做出结论。主要分为转速测量子程序、PID算法子程序、PWM信号产生子程序、通讯子程序等几部分。各个部分函数都可相互调用又相对独立可调,保证调试的便利与程序的可读性。上位机通信开始初始化,首先设定一些电机的信息,当做要实现的控制效果,作为一个标准。然后读取输入的转速和转向,经过判断转换为PWM值,并与转向信息打包,发送出去,传给下位机等待回应,若有新的数据传给上位机,说明控制成功。系统软件设计框图如图41所示开始上位机通讯初始化读取输入的数值ARM接收数据并与设定值比较生成PWM值,并与专项信息打包发送数据包SPGT62C19B电机模阻返回设定电机信息转速转向是否满足启动电机NYPID调节图41软件流程图42编程环境设置ARM9的编写语言选择的是C语言,但和以往常用到的51单片机不同的是,同样作为控制核心的ARM9,其编写环境及语言都是特定的,其定义的功能引脚如下所示1端口A(GPIO)端口A作为地址引脚共有25个,大大增加了地址量,一般情况下不用外扩;2端口B(GPIO)端口B11个输出引脚,可作为定时器/DMA引脚;3端口C(GPIO)16个输入/输出引脚通常作为LCD屏引脚;4端口D(GPIO)16个输入/输出引脚通常作为LCD屏数据引脚/SPI总线引脚;5端口E(GPIO)16个输入/输出引脚作为I方C,I方S及SD卡的总线引脚;6端口F、G(GPIO)总计24个输入输出引脚,作为中断控制引脚,中断控制多,普通51单片机的中断引脚远远不及,控制更加灵活;7端口H(GPIO)11个输入/输出引脚,3个串口;7端口J(GPIO)13个输入/输出引脚用于CAM;本设计主要用的是S3C2440中断功能、PWM调节功能、串口功能,涉及到的端口为端口B(PWM调节)、端口F/G(中断功能)、端口H(串口功能);端口C(驱动SPGT模组)。编写程序所用的编写软件是ARMADS,称为ARMDEVELOPERSUITE是ARM公司推出的新一代ARM集成开发工具,是业界公认最好的ARM编译器之一,现在ADS的最新版本是12,它取代了早期的ADS10和ADS11。ADS由命令行工具开发,ARM实时库,GUI开发环境CODEWARRIOR和AXD,实用程序和支持软件组成。有了这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序。它由REALVIEW编译器RVCT,以及REALVIEW调试器RVDEBUGGER,CODEWARRIOR集成开发环境和ARMULATOR指令集仿真器组成。可以支持所有标准ARM架构和内核,针对特定处理器进行代码优化,有多种可以灵活配置的优化选项以取得最小的代码尺寸和最好的性能。43程序设计431系统初始化系统的初始化可作为主程序,实现电机旋转的功能,包括一些调用语句,以便调用以下的子程序。首先定义一个时钟PCLK,作为时钟源,将其中的所有串口初始化。在选择其中的串口0,作为超级终端显示输入。其次设置B口为PWM技术和控制电机转向环节,设置G口为中断环节,在超级终端输入字符A,B,C表示不同的指令(键盘输入),如果输出的结果是1,代表电机正传;输出结果是0,代表电机反转。系统的初始化主要是对程序中用到的信号传输端口、相关变量进行设定;同时通过设定初值,确定CPU的内部定时时间,控制命令时序速度,并完成对定时、中断的和其他初值信息设置功能。本设计的系统初始化流程图如图42所示。开始设置GPB1为PWM输出端设置GPG5和GPG6为正反转控制端制定INT0子程序并测量转速结束图42系统初始化432中断子程序设计中断是计算机的一种基本工作方式,几乎所有的CPU都支持中断,中断功能可以解决CPU内部运行速度远远快于外部总线速度而产生的等待延时问题。S3C2440A支持多32个中断源,中断请求可由内部功能模块和外部引脚信号产生。ARM9核可以识别两种类型的中断正常中断请求NORMALINTERRUPTUEST,IRQ和快速中断请求FASTINTERRUPTREQUEST,FIQ,都是用于外部设备向CPU请求中断服务,一般情况下都是采用IRQ中断,因此,S3C2440A所有中断都可以归类为IRQ或FIQ。本设计采用外部中断0,即INT0来采集电机的转速。首先设置中断方式实现键盘扫描,让外部中断处理函数,将寄存器EINTPEND清零,定时器1中断处理函数,每600MS显示一次速度。中断初始化,设定0表示停止,1表示正转,2表示反转,往超级终端发送字符。如果是换行符,则回车。如果出现延时的现象,则表示超级终端显示速度慢。外部中断子程序流程图如图43所示开始有INT0中断定时1SKK1NK/4返回N图43外部中断433PWM调速程序设计在直流电机调速系统中,数字PID是一种比较成熟的算法。数字PID算法的大致原理是,将设定速度与实际速度之间的偏差记为E,利用E的比例、积分和微分通过线性组合构成的控制量U去控制对象。数字PID算法的表达式如下001UETEKKJKDKP41其中为第K个采样时刻的速度偏差值,可演化为增量式数字PID算法表达式E1211KKKDKIKPKEECECU42式中,、分别为比例、积分、微分系数。ID这样,只需确定、和的值即可实现对的控制。在本系统中,作PIDKUKU为控制电机转速的PWM信号的占空比。简单来说,PID控制器各校正环节的作用如下1比例环节成比例地反映控制系统的偏差信号,偏差一旦产生,控)(TERO制器立即产生控制作用,以减少偏差。2积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强。ITI3微分环节反映偏差信号的变化趋势变化速率,并能在偏差信号变化得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。PID控制因其所具有的算法简单、鲁棒性好、易于实现等特点,至今仍然是工业控制领域应用最广泛的控制方法之一。试凑法确定PID参数增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差。但是过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性破坏。增大积分时间有利于减小超调,减小振荡,使系统更加稳定,但系统静差的消除将随之减慢。增大微分时间有利于加快系统响应,使超调量减小,稳定性增加,但系统对扰动的抑制能力减弱,对系统有较敏感的响应。在凑试的时候,可参考以上参数对控制过程的影响趋势,对参数实行下述先比例,后积分,再微分的整定步骤。434串口通信程序设计1S3C2440A的UART介绍S3C2440A的UART通用异步串行接口单元提供了三个独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下进行,他们支持的最高波特率是1152KBPS。每个UART通道包含2个16位FIFO分别提供接收和发送。S3C2440A的UART可以进行一下参数的设置可编程的波特率,红外收/发模式,1或2个停止位,5位、6位、7位或8位数据宽度和奇偶校验。每个UART包含波特率发生器、接收器、发送器和控制单元。波特率发生器以MCLK为时钟源。发送器和接收器包含16字节FIFO寄存器和移位寄存器,当发送数据的时候,数据先写到FIFO,然后拷贝到发送移位寄存器,然后从数据输出端口TXDN依次被移位输出。被接收的数据也同样从接收端口RXDN移位输入到移位寄存器,然后拷贝到FIFO中。2数据发送操作数据发送帧的格式是可编程的,它包含一个开始位。5到8个数据位,一个可选的奇偶位和一个或两个停止位,这些可以通过线性控制器UCONN来设置。发送器也能够产生发送终止条件。终止条件迫使串口输出保持在逻辑0状态,这种状态保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,在通过这个全0的状态将终止信号发送给对方。中止信号发送之后,传送数据连续放到FIFO中。3数据接收操作与数据发送一样,数据接收的帧也是可以编程的,他包含一个开始位,5到8个数据,一个可选的奇偶位和一位到两位停止位,他们是通过线性控制器ULCONN来设置的。接收器能够检测溢出错误,奇偶检验错误,帧错误和中止状况,每种情况下都将会产生一个错误标志置位。每个UART的波特率发生器为传输提供了串行移位时钟。波特率发生器的时钟源可以从S3C2440A的内部系统时钟或UCLK中来选择。波特率由时钟源PCLK或UCLK16分频和UART波特率除数寄存器UBRDIN制定的16位除数决定UBRDIN的值可以按照下式确定16INTBPSPCLKUBRDI43根据式43设定本系统的传输速率为115200BPS。其中,控制寄存器用来接收CPU送给此接口的各种控制信息,而控制信息决定接口的工作方式。状态寄存器的各位为状态位,每一个状态位都可以用来指示传输过程中的某一种错误或者当前传输状态。数据输入寄存器总是和串行输入并行输出移位寄存器配对使用。在输入过程中,数据一位一位从外部设备进入接口的移位寄存器,当接收完1个字符以后,数据就从移位寄存器送到数据输入寄存器,再等待CPU来取走。输出的情况和输入过程类似,在输出过程中,数据输出寄存器和并行输入串行输出移位寄存器配对使用。当CPU向数据输出寄存器中输出1个数据后,数据便传输到移位寄存器,然后一位一位地通过输出线送到外设。串口中断接受子程序如图44所示开始设定波特率为15000BPS选择UART0接收数据准备好串口打印数据返回YN图44串口接收中断子程序5直流电机控制系统综合调试与分析调试包括硬件调试、软件调试和整体联调。由于硬件和软件的研制是相对独立进行的,因此软件调试是在硬件完成之前,而硬件也是在无完整软件情况下进行调试的。在调试中找出缺陷,判断故障源,对硬、软件做出修改,反复进行这一过程,直至确信没有错误之后接入单片机进行整机联调。直流电机控制系统包括硬件系统和软件系统两大部分,只有硬件和软件密切配合、协调一致,才能构成一个功能完善、性能可靠的控制系统。当系统的软硬件设计完成之后,首先要进行硬件的组装工作,然后便可以进入软件调试阶段,软件程序的调试是软件系统设计的重要环节。软件系统的调试任务是要查出程序设计当中的语法及逻辑错误,并加以纠正。由于本课题设计软件程序的编写是按功能模块的划分来完成的,所以软件调试可以采用“先分块独立测试后组合联机”、“先单步调试后联合调试”的方法。所谓的“先分块独立后组合联机”就是首先将软件程序进行模块分类,把与硬件无关的模块进行独立调试,把与硬件相关的程序模块进行软、硬联合仿真调试。当各模块都独立调试完成后,可将各程序模块连接起来进行联调,以解决在程序模块连接中可能出现的逻辑错误。51硬件电路调试系统的调试过程是整个系统的设计开发过程中,最困难也是最麻烦的一个环节。如何能够有效而且在最短的时间内完成整个系统的调试过程,需要一定的经验和技巧。在硬件和软件都设计成功的情况下,对硬件的调试仍然是比较重要的一部分。在调试软件程序模块之前,为了确保电路中各个元件之间线路连接良好确保各个元件都能正常工作,我们需要首先检测一下硬件电路的导线连接情况。在检查硬件电路连线时用到最多的检查工具就是万用表,它能方便快捷地测量出电路中各节点间电压、各节点对地电压和电路中两点连线是否牢固地连接上。通过检查发现,在电路连接中有几个地方连接错误。52利用HJTAG调试程序当前ARM的学习与开发非常流行,由于ARM的软件开发相对以前单片机而言更加复杂,硬件上的考虑也比较多,因此选择一个好的调试方法将可以使得开发的除错过程变得更加直接和简单。现在市面上有很多可用于ARM调试的仿真器出售,然而其价格往往都比较贵。这些仿真器一般都有其专用的软件和硬件,在速度和FLASH编程等方面有各自的优势。然而对初学者而言,这些仿真器的成本都太高。而简易仿真器的出现,使得大家可以使用甚至自制ARM仿真器硬件。软件启动界面如图51所示。图51启动界面有了调试器的硬件,还要加上调试代理软件,作为中介,将调试器前端软件比如AXD的调试信息与目标板上的目标芯片交互,才能最终完成仿真的任务。目前,可以免费使用的简易ARM仿真器的代理软件很多,差别也比较大,主要表现在易用程度,目标器件支持,调试速度等方面。53系统联调结果与分析在上述调试过程完成之后,对硬件的联合调式便成了接下来最关键的一步。系统软、硬件的联调是一个不断完善的过程,常常需要反复多次修改补充才能调试出一个性能良好的系统。本设计在联调过程中遇到了各种故障,比如将SPGT62C19B芯片、光耦芯片的烧坏,导线的误接,相关引脚电流过大等等。这时就需要利用万用表、示波器等工具对硬件系统进行逐一排查。在当前问题解决以后,便可以进行下一步的调试与分析。通过观察界面可以显示出电机的正反转和停止功能,并表示串行通信的成功实现。以下是利用系统超级终端的调试结果,如图52所示。图52串口打印的终端显示接着对转速测量的程序进行调试,然后对PID程序进行调试,最后由USB烧写至NANDFLASH,实现程序固化。固化程序过程介绍如下开发板采用的BIOS是基于三星原来的BOOTLOADER之VIVI改进而来,名为SUPERVIVI,SUPERVIVISUPERVIVI是友善公司开发板自带的,是在VIVI的基础上改出来的。SUPERVIVI可以使用JTAG板直接烧写入NORFLASH中使用,也可以直接烧入NANDFLASH中运行。SUPERVIVI的菜单模式主要为烧写系统和调试而用,也可以设置参数和进行分区等,它采用USB下载的方式,因此搭建烧写环境极为简单,并且下载速度快,使用十分方便。图53启动界面如图53所示,用户可以通过USB下载程序到指定内存地址通过DNW的CONFIGURATIONOPTION选项指定运行地址,并运行。利用BOOTLOADER烧写到NANDFLASH中固化程序。当烧入NANDFLASH并从中运行时,则为命令交互模式。结论直流电机控制系统的设计,基本实现了串口通信环境下的实时测量电机转速转向与控制调速系统的功能。通过运用ARM9开发板、PWM调速技术、PID控制技术和脉冲测速传感技术。成功开发出基于ARM9的直流电机控制系统,并得出以下结论1本系统由常用的直流电机和ARM9开发板构成,简单易

温馨提示

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

评论

0/150

提交评论