基于arm的直流电机调速系统的研究_第1页
基于arm的直流电机调速系统的研究_第2页
基于arm的直流电机调速系统的研究_第3页
基于arm的直流电机调速系统的研究_第4页
基于arm的直流电机调速系统的研究_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

基于ARM的直流电机调速系统的研究专业电子信息工程班级092班学号2009315228姓名2012年11月15日目录摘要2概述21嵌入式和电机调速原理简介311嵌入式系统简介3111嵌入式系统定义3112国内外嵌入式系统的发展现状3113嵌入式系统的特点412PWM脉冲宽度调制简介52系统总体方案设计521方案论证5211系统方案5212方案比较622系统基本原理6221S3C2410的PWM定时器概述6222S3C2410的寄存器介绍8223直流电机驱动芯片介绍1023系统方案实现113系统软硬件实现1231系统硬件电路设计1232系统软件设计154心得体会24摘要本论文主要研究了采用基于ARM嵌入式的直流电机调速的问题。首先对本论文的主要器件和原理进行了介绍,包括ARM微处理器,直流电机和PWM脉冲宽度调制。通过不同方案的对比,选择了本论文的主要技术方案为PWM脉冲宽度调制并对该方案进行了逐步验证。通过PROTEUS软件进行了硬件电路的设计和软件程序的编写,实现了对直流电机速度控制,正传,反转的目的,并进行了电路仿真,最终得到了理想的效果。论文的最后对这次的研究进行了深刻的总结和反思,总结了本次研究得到的经验,并对研究方案的不足之处进行了反思和改进,使得该方案更加完美。概述随着我国国民经济的快速增长,产业结构也随之不断调整。先进的科学技术的出现为我国工业的快速发展提供了基础。近些年来,以计算机技术,通讯技术、消费电子技术为主的电子信息技术的高速发展和国际互联网络(INTERNET)的广泛应用已经改变了人们的生活方式,世界各国都在为发展以计算机技术,通讯技术、消费电子技术为主要内容的信息产业制定宏伟的发展规划,以期望在21世纪的政治、经济和技术竞争中处于主动有利的地位。信息技术对其他各产业的贡献越来越大,信息产业正逐渐成为其他产业的支柱。信息产业的发展程度、信息流通、畅通与否已成为评价各个国家的经济发展水平的一个重要标准。在人类步入全球信息化社会的进程中,全球性电子信息技术正在发挥着巨大的作用。嵌入式系统是近年来发展最快的技术之一。嵌入式系统与传统的单片机系统和PC平台相比,融合了两者的优点,既有单片机系统成本低、体积小、功耗低的特点,又具有PC平台的开发环境好、资源丰富、具备操作系统、用户界面友好的特点,因而在应用技术领域就有良好的发展前景。以32位的ARM芯片和高速大容量FPGA为核心的嵌入式系统不但充分发挥了以上特点,而且大大简化了系统设计,提高了集成度和可靠性。国家的发展,使得大到工厂企业,小到电子产品都需要电机来进行各种运动的控制,对电机速度的控制也称为了现代数字控制的一大课题。科技发展至今,主要采用对输入电压的控制来进行电机的控制,而输入电压的控制又广泛采用PWM脉冲宽度调制来实现对电压大小的控制。ARM嵌入式可直接输出PWM波,通过编程对该波进行占空比和频率的调节,相比电路和单片机实现的PWM波而言,ARM嵌入式具有更好的灵活性,高效率性,精度高,快速响应好,成本低,功耗小等特点,具有很好的应用前景。1嵌入式和电机调速原理简介11嵌入式系统简介111嵌入式系统定义国际电气和电子工程师协会(IEEE)对嵌入式系统的定义为“用于控制、监视或者辅助操作机器、设备和工厂的装置。”(DEVICESUSEDTOCONTROL,MONITORORASSISTTHEOPERATIONOFEQUIPMENT,MACHINERYORPLANTS)。这里主要是从应用上进行定义的。国内的一些学者和专家讲嵌入式系统定义为“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用型”与“计算机系统”是嵌入式系统的3个基本要素,对象系统则是嵌入式系统所嵌入的宿主系统。目前国内一个普遍被认同的定义是嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁减,满足应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。由于嵌入式系统本身是一个相对模糊的定义,一个手持的MP3和一个PC104的微型工业控制计算机都可以认为是嵌入式系统,因此只要是和具体产品结合在一起并具有嵌入式特点的控制系统都可以成为嵌入式系统。目前通常把嵌入式系统概念的重心放在“系统”上,及指能够运行稳定系统的软硬件综合体。总体上嵌入式系统可以分成硬件和软件2部分硬件一般由嵌入式微处理器、存储器和外围接口电路组成;软件一般由引导装载程序、操作系统和上层应用程序组成。软件和硬件之间有中间层。112国内外嵌入式系统的发展现状随着信息化、智能化、网络化的发展,嵌入式系统技术也将获得广阔的发展空间。以8位单片机(或微控制器,MCU)为核心的嵌入式系统早以广泛应用与各个领域,这些应用大多数还处于单机使用的嵌入式底层次阶段。其特点是以MCU为核心,与一些简单的传感器及监测、伺服控制、指示和显示等设备配合,实现一定的测量、显示、信息处理及控制等功能。虽然在一些工业控制、汽车电子和智能家居等多机应用中,为了实现多个MCU构成的系统间的信息交流,通常是利用CAN、RS232和RS485等总线将MCU组网。但这种应用空间有限,相关的通信协议也比较单一,并且孤立于INTERNET之外。INTERNET已成为社会重要的基础信息设施,嵌入式系统必将要与INTERNET完美结合。随着嵌入式设备与INTERNET的结合,手机、PDA、路由器和调制解调器等复杂的高端应用对嵌入式处理器的性能提出了更高的要求。虽然以8位单片机为核心的嵌入式技术的不断发展,性能也不断提高,但由于其性能的局限性,已无法满足未来高性能嵌入式技术的发展需求。目前在8位单片机上运行嵌入式操作系统尚有一定困难,因此,以32位处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。嵌入式微处理器具有体积小、重量轻、成本低和可靠性高的优点,是嵌入式系统的核心。目前比较有影响的32位嵌入式处理器有ARM公司的ARM,COMPAQ公司的ALPHA、HP公司的PARISC、IBM公司的POWERPC、MIPS公司的MIPS和SUN公司的SPARC等。而ARM处理器具有高性能、低功耗和低成本等显著优点,已成为高性能、低功耗嵌入式微处理器的代名词,是目前32位、64位嵌入式处理器中应用最为广泛的一个系列。ARM微处理器得到了众多半导体厂家和整机厂家的大力支持,全球有100多家IT公司在采用ARM技术,20家最大的半导体厂家有19家是ARM的用户,包括TI、PHILIPS和INTEL等公司。优良的性能和准确的市场定位极大地丰富了ARM资源,加速了基于ARM核的面向各种应用系统芯片的开发应用。如今,ARM公司已经成为业界的龙头老大,几乎所有的手机、移动设备、PDA都是用基于ARM核的系统芯片开发的。为了顺应当今世界技术革新的潮流,了解、学习和掌握高性能嵌入式技术已经非常重要。113嵌入式系统的特点嵌入式系统是面向应用的专用计算机系统。嵌入式系统最典型的特点是与人们的日常生活紧密相关,现在每一个人都拥有形形色色运用了嵌入式技术的电子产品,小到MP3、PDA等卫星数字化设备,达到信息家电、智能电器、车载GIS等,各种新型嵌入式设备在数量上已经远远超过了通用计算机。1嵌入式系统通常是面向特定应用的软硬件结合体。嵌入式系统一般用于特定的场合,其硬件和软件都务须高效,量体裁衣,去除冗余;而计算机则是一个通用的计算机平台。2系统精简,关注成本。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面有利于控制系统成本,同时也有利于实现系统安全。3嵌入式系统有实时性和可靠性的要求。高实时性的操作系统软件是嵌入式区按键的基本要求,而且软件要求固态存储,以提高速度。软件代码要求高可靠性和实时性。在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,因此系统渐渐地高实时性是基本要求。4产品升级换代和具体产品同步,具有较长的生命周期。嵌入式系统和具体应用有机地结合在一起,他的升级换代也和具体产品同步进行,因此嵌入式系统产品一点进入市场,便具有较长的生命周期。5嵌入式软件开发走向标准化,必须使用多任务的操作系统。嵌入式系统的应用程序可以在没有操作系统的情况下,直接在芯片上运行。单位了合理的调度多任务,利用系统资源、系统函数以及和专家库函数接口,必须使用RTOS(REALTIMEOPERATINGSYSTEM)系统平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。12PWM脉冲宽度调制简介PWM就是指脉冲宽度调制(PULSEWIDTHMODULATION),简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。其方法是通过改变电机电枢电压接通时间与通电周期的比值(即占空比)来控制电机转速。脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。PWM技术的发展经过了几个阶段。第一个阶段电子发展早期由电路设计产生PWM波,例如由555定时器或者运算放大器产生PWM波。第二个阶段单片机产生后,人们开始采用软件设计产生PWM波,这样的波可以进行数字控制,可以直接使用计算机来设定实现自动控制。第三个阶段使用ARM嵌入式系统的定时器直接输出PWM波,只需简单地编程便可以产生PWM波,不会一直占用处理器,只是在定时器到的时候才用到处理器,所以相对于单片机利用效率非常高。2系统总体方案设计21方案论证211系统方案图1方案一采用软件编程输出PWM波控制电机转速方案一使用S3C2410的I/O口,定义I/O口为输出引脚端,通过编程使其中一个引脚输出低电平,另一引脚输出高、低交替变化的电平(即PWM波),采用程序改变其中输出频率和占空比。通过输出的PWM波输入驱动芯片L9110,进而来控制直流电机的旋转。通过键盘中断来控制PWM占空比的大小。由LED数码管来显示电机频率和占空比的大小。方案二从电路图上来说方案二和方案一差别不大,仅仅是驱动部分连接引脚功能有变化,但是产生的PWM波的原理差别却很大。S3C2410有5个16位定时器,其中0、1、2、3具有脉冲宽度调制(PWM)功能。通过使用S3C2410的GPB0引脚的第二功能TOUT0输出该PWM波。通过改变定时器技术缓冲寄存器(TCNTBN)和定时器比较缓冲寄存器(TCMPBN)的数值来改变输出频率和占空比。将输出的PWM波输入到驱动,经由驱动来控制直流电机的旋转。通过键盘中断来控制PWM占空比的大小。由LED数码管来显示电机频率和占空比的大小。212方案比较方案一和方案二均可以输出PWM波,但是使用的方法并不一样。方案一简单易懂,几乎没有用到ARM的知识。该方案和单品阿基输出PWM波进行电机调速的思路完全一样,仅仅是使用输出口时要先进行功能定义。相比较方案二就复杂了,不仅用到I/O口的寄存器使用方法,而且还用到ARM的中断控制,定时器的设置,定时器配置/控制寄存器的使用等等,只有深入了解ARM才可能完成PWM波的输出。虽然PWM为定时器自带功能,但想要输出PWM波来对直流电机进行控制也要一定的基础,对比而言,方案一在输出PWM波时一直占用CPU,而采用方案二,则在中断产生时才用到CPU,大大节省了资源的使用,使用方案一就显得有些大材小用了,采用方案二则充分运用了ARM的性能,综上所述,本次设计采用方案二。22系统基本原理221S3C2410的PWM定时器概述图2方案二采用S3C2410定时器的PWM输出功能控制电机转速S3C2410有5个16位定时器,其中定时器0、1、2、3具有脉冲宽度调制(PWM)功能,定时器4具有内部定时作用,但是没有输出引脚。定时器0具有死区生成器,图3定时器内部电路图可以控制大电流设备。定时器T0和T1公用一个8位预分频器,定时器T2、T3和T4公用另一个8位预分频器,每个定时器都有一个时钟分频器,信号分频输出有5中模式(1/2、1/4、1/8、1/16和外部时钟TCLK)。每个定时器模块都从时钟分频器接收它自己的时钟信号,时钟分频器接收的时钟信号来自于8位预分频器。当时钟被允许的时候,定时器计数缓冲寄存器(TCNTBN)把计数初值下载到减法计数器中,定时器比较缓冲寄存器(TCMPBN)把初始值下载到比较寄存器中,来和减法计数器的值比较。这种TCNTBN和TCMPBN双缓冲寄存器特性能使定时器产生稳定的输出,且占空比可变。TCMPBN的值用于脉冲宽度调制(PWM)。当定时器的减法计数器的值和TCMPBN的值相匹配时,定时器输出改变输出电平。因此,比较寄存器决定了PWM输出的开关时间。定时器输入时钟频率FTCLKFPCLK/PRESCALER1/分配器分频值其中,PRESCALER为预分频值(0255);分配器的分频值为2、4、8和16。PWM输出时钟频率定时器输入时钟频率FTCLK/定时器计数缓冲寄存器值TCNTBN222S3C2410的寄存器介绍S3C2410里有很多寄存器,在使用之前都需要对相关的寄存器进行配置,这里将使用到的寄存器配置及功能列举出来。(1)S3C2410的I/O口配置S3C2410中共有117个多功能复用输入/输出端口(即I/O口),可分为端口A端口H,共8组。其中,8组I/O口按照其位数的不同有可分为端口A(GPA)是1个23位输出口;端口B(GPB)和端口H(GPH)是2个11位I/O口;端口C(GPC)、端口D(GPD)、端口E(GPE)、和端口G(GPG)是4个16位的I/O口;端口F(GPF)是一个8位I/O口。为了满足不同系统设计的需要,每个I/O口可以很容易的通过软件对其进行配置。每个引脚的功能必须在启动前进行定义。这里主要介绍端口B的I/O口配置情况端口B可选择的引脚端功能GPB10输入/输出NXDREQ0GPB9输入/输出NXDACK0GPB8输入/输出NXDREQ1GPB7输入/输出NXDACK1GPB6输入/输出NXBREQGPB5输入/输出NXBACKGPB4输入/输出TCLK0GPB3GPB0输入/输出TOUT3TOUT0表1S3C2410端口B的I/O口配置情况(2)S3C2410的I/O口寄存器在S3C2410中,大多数的引脚端都是复用的,所以对于每一个引脚端都需要定义其功能。为了使用I/O口,首先需要定义引脚的功能。每个引脚端的功能通过端口控制寄存器(PNCON)来定义(配置)。与配置I/O口相关的寄存器包括端口控制寄存器(GPACONGPHCON)、端口数据寄存器(GPADATGPHDAT)、端口上拉寄存器(GPBUPGPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。这里主要介绍端口B的I/O口寄存器。寄存器地址访问描述复位值GPBCON0X56000010读/写配置端口B引脚端,使用位210,分别对端口B的11个引脚进行配置00输入;01输出;10第2功能;11保留0X0GPBDAT0X56000014读/写端口B数据寄存器,使用位100未定义PWM输出信号占空比定时器比较缓冲寄存器TCMPBN/定时器计数缓冲寄存器TCNTBNGPBUP0X56000018读/写端口B上拉电阻禁止寄存器,使用位1000使能;1禁止0X0RESERVED0X5600001C保留未定义表2S3C2410端口B的I/O口寄存器(3)S3C2410的中断控制器S3C2410采用ARM920TCPU内核,ARM920TCPU的中断包含IRQ和FIQ。IRQ是普通中断,FIQ是快速中断,FIQ的优先级高于IRQ。FIQ中断通常在进行大批量的复制、数据传输等工作时使用。这里主要介绍S3C2410的中断控制器的特殊寄存器。寄存器地址访问描述复位值INTMOD0X4A00004读/写终端模式寄存器0IPQ模式;1FIQ模式。多个IRQ中断的仲裁过程在优先级寄存器进行0X00000000INTMSK0X4A00008读/写中断屏蔽寄存器0允许中断;1屏蔽中断。中断屏蔽寄存器的主要功能是屏蔽相应中断的请求,即使中断挂起寄存器的相应位已经置1,也就是说已经有相应的中断请求发生了;但是如果此时中断屏蔽寄存器的相应位置1,则中断控制器将屏蔽盖中断请求CPU不会响应该中断0XFFFFFFFF表3S3C2410的中断控制器的特殊寄存器(4)定时器控制寄存器(TCON)地址0X1000008,如下表所示。含义位描述初始化状态定时器4自动重载ON/OFF220定时器4运行1次;1自动重载模式0定时器4手动更新位210无操作;1更新TCNTB40定时器4启动位200无操作;1启动定时器40定时器3自动重载ON/OFF190定时器3运行1次;1自动重载模式0定时器3输出倒相位180倒相关闭;1TOUT3倒相0定时器3手动更新位170无操作;1更新TCNTB30定时器3启动位160无操作;1启动定时器30定时器2自动重载ON/OFF150定时器2运行1次;1自动重载模式0定时器2输出倒相位140倒相关闭;1TOUT2倒相0定时器2手动更新位130无操作;1更新TCNTB20定时器2启动位120无操作;1启动定时器20定时器1自动重载ON/OFF110定时器1运行1次;1自动重载模式0定时器1输出倒相位100倒相关闭;1TOUT1倒相0定时器1手动更新位90无操作;1更新TCNTB10定时器1启动位80无操作;1启动定时器10保留75保留死区功能允许40禁止;1允许0定时器0自动重载ON/OFF30定时器0运行1次;1自动重载模式0定时器0输出倒相位20倒相关闭;1TOUT0倒相0定时器0手动更新位10无操作;1更新TCNTB00定时器0启动位00无操作;1启动定时器00表4定时器控制寄存器(TCON)定义(5)定时器配置寄存器0(TCFG0),地址0X51000000,如下表所示。含义位描述初始化状态保留31240X00死区长度2316这8位控制死区的长度。一个单元时间的长度等于定时器0的一个单元时间长度0X00预分频器1158这8位数据等于定时器2、3和4的预分频值0X00预分频器270这8位数据等于定时器0和1的预分频值0X00表5定时器配置寄存器0(6)定时器减法缓冲寄存器(TCNTBN)和比较缓冲寄存器(TCMPBN)定义如下表所示。寄存器读/写状态描述初始化状态TCNTBNR/WTCNTBN150设置减法缓冲寄存器的值0X00000000TCMPBNR/WTCMPBN150设置比较缓冲寄存器的值0X00000000表6TCNTBN和TCMPBN基本上通过这些寄存器的设置和控制就可以实现S3C2410定时器输出PWM波,然后经过驱动芯片对电机进行控制了。223直流电机驱动芯片介绍本次设计采用的直流电机驱动芯片为L9110。L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750800MA的持续电流,峰值电流能力可达1520A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。(1)L9110的特点1低静态工作电流;2宽电源电压范围25V12V;3每通道具有800MA连续电流输出能力;4较低的饱和压降;5TTL/CMOS输出电平兼容,可直接连CPU;6输出内置钳位二极管,适用于感性负载;7控制和驱动集成于单片IC之中;8具备管脚高压保护功能;9工作温度080。(2)管脚定义序号符号功能1OAA路输出管脚2VCC电源电压3VCC电源电压4OBB路输出管脚5GND地线6IAA路输入管脚7IBB路输入管脚8GND地线表7L9110的管脚定义(3)逻辑关系IAIBOAOBHLHLLHLHLLLLHHLL表8L9110的逻辑关系(4)L9110的应用电路图图4L9110管脚图图5L9110的应用电路图23系统方案实现本次设计采用S3C2410来进行直流电机的控制,主要实现的功能有直流电机的开启、关闭、正转、反转、加速、减速以及频率和占空比的显示等功能。图6ARM直流电机调速系统框图(1)PWM波的产生采用S3C2410自带的定时器产生PWM波,设定GPB0输出引脚的第2功能TOUT0,自动产生PWM波。(2)按键处理采用中断形式来处理开启、关闭、正转、反转等功能,没有采用键盘扫描方式,大大节省了CPU的使用资源,提高了CPU的利用率。通过按键修改PWM波的占空比和频率(即TCNTBN和TCMPBN的值),正反转则修改TCON寄存器中TOUT0的倒相功能即可。(3)显示模块对数码管进行反复扫描显示,并通过S3C2410的I/O口进行片选。没有使用CD4511显示译码器,采用了直接输出8位码进行显示。这样节省了硬件成本,并且充分的运用了S3C2410的资源。(4)直流电机控制模块输出的PWM波经过驱动芯片L9110后输出给电机,从而对电机进行控制。3系统软硬件实现31系统硬件电路设计(1)复位电路在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路可由简单的RC电路构成,也可以使用其他的相对较复杂但功能更完善的电路。经使用证明RC复位电路复位逻辑是可靠的。工作原理如下在系统上电时,通过电阻R1向电容C1充电,当C1两端的电压未达到高电平的门限电压时,RESET端输出为高电平,系统处于复位状态;当C1两端的电压未达到高电平的门限电压时,RESET端输出为低电平,系统进入正常工作状态。如图7所示。(2)时钟电路在S3C2410中的时钟控制逻辑能够产生CPU所需的FCLK时钟信号、AHB总线外围设备所需的HCLK时钟信号,以及APB总线外围设备所需的PCLK时钟信号。S3C2410有两个锁相环(PHASELOCKEDLOOPS,PLL),一个用于FCLK、HCLK和PCLK,另一个专门用于USB模块(48MHZ)。时钟控制逻辑可以再不需要PLL的情图7系统的复位电路况下产生慢速时钟,并且可以通过软件来控制时钟与每个外围模块是连接还是断开,从而降低功耗。图8ARTC外部时钟电路BRLL外部时钟电路(3)键盘中断电路实验选择的外部中断是EINT8EINT11中断产生分别来自按钮SB1201、SB1202、SB1203、SB1204。当按钮按下时,EINT8EINT11与地连接,输入低电平,从而向CPU发出中断请求。当CPU受理中断后,进入相应的中断服务程序。SB1201控制电机开启和关闭,SB1202控制电机的加速,SB1203控制电机的减速,SB1204控制电机的正转和反转。电路图如图9所示。图9键盘中断电路(4)LED显示电路LED数码管有四个,分别为两位显示电机的频率(单位KHZ),两位显示电机的占空比(单位)。使用共阳极LED数码管,低电平驱动显示,循环扫描显示。使用S3C2410的I/O口进行驱动。电路图如下图所示图10LED数码显示电路(5)电机驱动电路电机驱动电路采用L9110来对电机进行驱动,只要在L9110的端口6、7(IA、IB)输入PWM信号,则在L9110的端口1、4(OA、OB)输出较大的驱动电流对电机进行驱动。本次设计中采用TOUT0输入PWM波,GPB1输入低电平,两个输出引脚构成PWM波,如果需要进行电机的反转,则使TOUT0反相,然后是GPB1输出高电平即可实现。电机驱动电路如下图所示。图11电机驱动电路32系统软件设计程序流程图首先定义全局变量,在任何函数中都可以调用。全局变量用来控制电机的频率和占空比。INT8TCTCNTB0,CTCMPB0/定义两个变量控制电机频率和转速INT8TCENCHANGE0/中断允许变量INT8TCTEMP/暂存数据CTCMPB0(1)主函数主函数中主要包括两部分内容,一是对ARM的输入输出口进行系统初始化,另一个是运行PWM_TEXT函数。程序如下/主程序/VOIDMAINVOIDSYS_INIT/系统初始化PWM_TEXT/输出PWM波FOR/其他程序(2)系统初始化函数系统初始化函数中将程序中使用到的I/O口进行功能设定。设定GPB0为第2功能端口TOUT0输出,GPB1为输出端口,GPF为数码管低电平驱动端口,GPA为片选信号端口,GPG为第2功能端口外部中断功能。其主要程序如下/系统初始化函数/VOIDSYS_INITRGPBCONRGPBCONCENCHANGE01RETURNRGPGCONRGPGCON|0XFFFFFFEF/设置回中断/外部中断11处理函数/VOIDIRQ_EINT11VOIDINTI/按键去抖动RGPGCONRGPGCON/设置GPG2为输入端口FORI0I100IIFRGPGDAT/启动电机CENCHANGE01IFCTCMPB00/如果电机运转CTEMPCTCMPB0CTCMPB00/关闭电机CENCHANGE01RETURNRGPGCONRGPGCON|0XFFFFFFBF/设置回中断(7)LED显示程序用GPA0GPA3四个I/O口进行片选,用GPF端口输出显示数据,该程序比较简单,但是判断数据较多。主要代码如下/LED显示函数/VOIDLED_INTVOIDINTI,A,B/A为占空比十位,B为占空比个位ACTCMPB0/CTCNTB010/求出A的值BCTCMPB0/CTCNTB010010/求出B的值/开始扫描RGPADATRGPADAT/片选第一个数码管RGPFDAT0X90/输出数据,频率为固定值99KHZFORI0I100I/延迟RGPADATRGPADAT/片选第二个数码管RGPFDAT0X90/输出数据,频率为固定值99KHZFORI0I100I/延迟RGPADATRGPADAT/片选第三个数码管LED_NUMBERARGPADATRGPADAT/片选第四个数码管LED_NUMBERB(8)数据输出选择函数从相应的数选择对应的数码管驱动数据输出,具体代码如下VOIDLED_NUMBERINTTINTIIFT0RGPFDAT0XC0/输出数据FORI0I100I/延迟IFT1RGPFDAT0XF9/输出数据FORI0I100I/延迟IFT2RGPFDAT0XA4/输出数据FORI0I100I/延迟IFT3RGPFDAT0XB0/输出数据FORI0I100I/延迟IFT4RGPFDAT0X99/输出数据FORI0I100I/延迟IFT5RGPFDAT0X92/输出数据FORI0I100I/延迟IFT6RGPFDAT0X82/输出数据FORI0I100I/延迟IFT7RGPFDAT0XF8/输出数据FORI0I100I/延迟IFT8RGPFDAT0X80/输出数据FORI0I100I/延迟IFT9RGPFDAT0X90/输出数据FORI0I100I/延迟(9)PWM波输出程序VOIDPWM_TESTVOIDTIMER_INITEINT_INITRTCNTB0792RTCMPB0396RTCON|12|11/手动改变速度FORINTI0I100I/延时RTCON/允许中断RINTMOD0X0/所有中断均为IRQ中断CLEARPENDINGBIT_TIMER0RINTMSKBIT_TIMER0RTCON|13|1FORLED_INTWHILECENCHANGE04心得体会确定做该实验的原因是我准备明年做的毕业设计中需要用到直流电机调速,正好借此机会好好学习一下。在做该设计之前特意使用单片机进行了PWM波控制直流电机的实验,这个实验只有正反转功能,经过我的修改功能有所提升,但还是非常简单,就是按键后可以连续提速,松开后速度回到固定值,按另外一个键后速度减小,松开后速度回到固定值。由单片机的测试我觉得对直流电机进行控制还是比较简单的。在开始做ARM的直流电机设计时查阅了很多资料,还有C语言编程,在刚开始时看到ARM可以直接产生PWM波,所以觉得ARM应该比单片机简单多了。有了单片机的思路以后就主要研究ARM怎样产生PWM波。真是不学不知道,一学吓一跳。本来以为ARM产生PWM是很简单的事,但是在实际操作起来,却需要用到很多知识,定时寄存器,中断寄存器,I/O寄存器等等,需要查阅大量的资料。到此时才意识到单片机和ARM比起来真是小巫见大巫了。ARM可以算是一个专用的计算机系统,专门为特定功能开发的并且可以编写操作系统进行二次开发的强大处理芯片,对于各种I/O口在每一个时间都可以定义其功能和作用以及输入输出的数据等等,需要我们进行详细的配置才能充分利用ARM的每一个资源。当然此次设计的ARM直流电机调速系统相对来说比较简单,不过凡事都要从简单做起,刚开始学习ARM就做非常难的东西做起来不一定就能完成。对于本次设计还有很多可以改进的地方添加频率修改程序模块,使电机的频率也可以修改,还有电机转速也可以通过传感器检测出来,然后再添加转速自动调节模块代码等等。这次设计主要是针对小功率直流电机设置的,当然如果要是新对大功率的电机的控制,只需要修改驱动电路即可,这些都可以对该系统进行完善。由于时间有限,本次设计就做成这样,其他功能可以再以后慢慢改进。通过本次设计,使我对ARM有了一个更深刻的了解,相信在今后的对ARM的开发过程中会有很大帮助。参考文献1ARM处理器与C语言开发应用;作者范书瑞,赵燕飞,高铁成;出版社北京航空航天大学出版社;出版时间2008年8月1日内容简介本书内容实用易懂,可作为嵌入式开发人员的参考书,也可作为相关专业本科生和研究生教材及参考书。书中从部件编程到嵌入式应用程序设计,都通过完整的实例讲解。在设计ARM控制系统时,使用C语言编程开发ARM应用程序,可以达到事半功倍的效果。本书在设计SAMSUNG公司的S3C2410A控制系统时,启动代码采用汇编语言,应用程序大量使用C语言程序,大大加快了开发进度。本书以S3C2410A各个模块的应用为主线,全面介绍嵌入式系统开发过程。具体内容包括ARM微处理器概述、ARM编程模型和指令集介绍、ARM程序设计基础、S3C2410A处理器硬件结构、存储系统设计、时钟和定时器、通用端口和中断设计、串行接口设计、LCD接口设计、ADC和触摸屏接口设计、引导程序设计、嵌入式操作系统及其应用开发。2ARM嵌入式C编程标准教程;作者侯殿有才华;出版社人民邮电出版社;出版日期2010年1月内容简介本书从ARM处理器技术和ADS12开发环境讲起,讲解ARM嵌入式C编程的方方面面,包含S3C2410片上资源、中断系统、I/O口、串口通信、触摸屏控制、实时时钟、LCD显示、DMA控制、PWM控制、看门狗电路、I2C控制、I2S控制、SPI接口、A/DD/A转换控制等。通过实例详细的介绍了各种功能和电路的使用方法,列举出了寄存器的使用说明等等。本书由浅入深、循序渐进、实例丰富、步骤详细,适合嵌入式开发人员参考,也可作为高校嵌入式相关专业教材使用。3论文毕业论文直流电机调速系统PWM;内容简介本文介绍了基于嵌入式系统的PWM的直流电机调速系统,选用的微控制器就是SAMSUNG公司的S3C44B0X,并详细讲述了该系统的硬件电路和控制程序设计,以及ADS调试环境和超级终端。本论文第一章介绍了嵌入式的发展状况和嵌入式的特点等;第二章对该系统的软硬件进行了初步规划,并对常用的嵌入式和其结构进行了介绍;第三章对系统的硬件电路进行了介绍,给出了各个模块的具体方案,还有PWM波产生的原理以及其驱动电机的电路等等;第四章则详细的给出了软件编程的思想以及具体实现代码;最后对本次设计进行了总结和展望。4ARM嵌入式系统系列教程;作者周立功;出版社北京航空航天大学出版社;出版时间2008内容简介本书是ARM嵌入式系统系列教程中的理论课教材。以PHILIPS公司LPC2000系列ARM微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。全书共分为3部分第1章和第2章为理论部分,主要介绍嵌入式系统的概念及开发方法。第35章为基础部分,主要介绍ARM7体系结构、指令系统及LPC2000系列ARM微控制器的结构原理。第68章为应用部分,主要以LPC2000系列微控制器为例介绍如何设计嵌入式系统,包括硬件的设计、C/OSII的移植以及建立软件开发平台的方法。本书可以作为高等院校电子、自动化、机电一体化计算机等相关专业嵌入式系统课程的教材,也可作为从事嵌入式系统应用开发工程师的参考资料。5ARM9嵌入式系统设计基础教程;作者黄智伟、邓月明、王彦;出版社北京航空航天大学出版社;出版时间2008年1月内容简介ARM9嵌入式系统设计基础教程系统介绍了嵌入式系统的基础知识,ARM体系结构,32位RISC微处理器S3C2410A,嵌入式系统的存储器系统,嵌入式系统输入/输出设备接口,嵌入式系统总线接口等,内容

温馨提示

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

评论

0/150

提交评论