基于ARM的直流电机测速系统.doc_第1页
基于ARM的直流电机测速系统.doc_第2页
基于ARM的直流电机测速系统.doc_第3页
基于ARM的直流电机测速系统.doc_第4页
基于ARM的直流电机测速系统.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

第 0 页 西安科技大学电控学院课程设计 基于ARM的直流电机测速系统摘要:随着微电子和计算机技术的发展,直流电机的要求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国名经济领域都有应用。研究直流电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。本控制系统的设计,有硬件设计和软件设计两部分组成。其中,硬件设计主要包括单片机最小系统、键盘控制模块、直流电机驱动模块、蜂鸣器报警模块、红外对管测速模块等功能模块的设计。软件设计包括主程序以及各个模块的控制程序,最总实验对直流电机转动方向及转动速度的控制,并且将直流电机的转动速度动态显示在上位机上。本系统具有智能性、实用性及可靠性的特点。关键词:直流电机,转速控制,方向控制,转速测量第 0 页 西安科技大学电控学院课程设计 目录第一章 绪论11.1 ARM技术的发展11.2 ARM的广泛应用11.3本课题研究目的及意义2第二章 系统分析22.1设计目的22.2设计要求22.3设计分析32.3.1核心控制电路32.3.2电动机接口电路32.3.3用户接口电路3第三章系统设计43.1硬件设计43.1.1直流电机驱动模块43.1.2报警模块63.1.3测速模块63.1.4显示模块63.2软件设计73.2.1流程图73.2.2程序清单7第四章心得体会13参考文献:16第 15 页 西安科技大学电控学院课程设计 第一章 绪论1.1 ARM技术的发展 ARM公司的IP核已经由ARM7,ARM9发展到今天的ARM11版本。ARM11囊括了Thumb-2,CoreSight,TrusZone 等众多业界领先技术,同时由单一的处理器内核向多核发展,为高端的嵌入式应用提供了强大的处理平台。高集成度SOC芯片的采用可以带来一系列好处,诸如减少了外围器件和PCB面积,提高系统抗干扰能力,缩小产品体积,降低功耗等。ARM 公司是一家IP供应商,其核心业务是IP核以及相关工具的开发和设计。半导体厂商通过购买ARM公司的IP授权来生产自己的微处理器芯片。由此以来,处理器内核来自ARM公司、各芯片厂商结合自身已有的技术优势以及芯片的市场定位等因数使芯片设计最优化,从而产生了一大批高度集成、各据特色的SOC芯片。例如Intel公司的XScale系列集成了LCD控制器、音频编/解码器,定位于智能PDA市场;Atmel公司的AT91系列片内集成了大容量 Flash和RAM、高精度A/D转换器以及大量可编程I/O端口,特别适合于工业控制领域;Philips公司的LPC2000系列片内集成了128位宽的零等待Flash存储器以及I2C, SPI,PWM,UART等传统接口,极高的性价比使它对传统的8/16位MCU提出了严峻的挑战。本次设计仍使用的ARM7系列。1.2 ARM的广泛应用 ARM 微处理器及技术的应用几乎已经深入到各个领域: 1 、工业控制领域:作为 32 的 RISC 架构,基于 ARM 核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩ARM微控制器的低功耗、高性价比,向传统的 8 位 /16 位微控制器提出了挑战。2 、无线通讯领域:目前已有超过 85% 的无线通讯设备采用了 ARM 技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。 3 、网络应用:随着宽带技术的推广,采用 ARM 技术的 ADSL 芯片正逐步获得竞争优势。此外,ARM 在语音及视频处理上行了优化,并获得广泛支持,也对 DSP 的应用领域提出了挑战。 4 、消费类电子产品: ARM 技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。 5 、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用 ARM 技术。手机中的 32位 SIM 智能卡也采用了 ARM 技术。 除此以外, ARM 微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。1.3本课题研究目的及意义直流电动机是最早出现的电动机,也是最早实现调速的电动机。长期以来,直流电动机一直占据着调速控制的统治地位。由于它具有良好的线性调速特性,简单的控制性能,高效率,优异的动态特性,现在仍是大多数调速控制电动机的最优选择。因此研究直流电机的速度控制,有着非常重要的意义。随着ARM的发展,数字化直流PWM调速系统在工业上得到了广泛的应用,控制方法也日益成熟。它对ARM的要求是:具有足够快的速度;有PWM口,用于自动产生PWM波;有捕捉功能,用于测频;有A/D转换器、用来对电动机的输出转速、输出电压和电流的模拟量进行模/数转换。通过设计基于ARM的嵌入式直流电机调速系统并调试得出结论,在掌握L298N和 74HC595的同时进一步加深对直流电动机调速方法的理解,对运动控制的相关知识进行巩固。第二章 系统分析2.1设计目的 (1)本次课程设计是在学习了ARM嵌入式系统基础教程课程之后综合利用所学知识完成一个计算机应用系统设计并在实验室实现。 (2)通过课程设计,巩固和加深了对ARM课程中所学的理论知识和实验能力,基本掌握软件编程、硬件设计和实验能力。 (3)加深对计算机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。2.2设计要求 设计一种嵌入式监控系统,使得机器设备能够通过该系统与人之间进行数据通信的目的。 (1)设计一个直流电机的控制系统。 (2)可通过键盘控制直流电机的转速和方向。 (3)能够在上位机显示当前的转速。(4)在电机加速时能够报警。2.3设计分析本次的设计内容是基于ARM7控制直流电机并测量转速。以lpc2114为主控制芯片,由三极管搭接H桥驱动直流电机转动,通过蜂鸣器实现报警功能,用红外对管进行测速并用上位机显示直流电机转速,系统硬件总体设计框图如下所示:图2-1 系统原理结构图 2.3.1核心控制电路以嵌入式微控制器作为核心控制电路,作为硬件系统的中枢控制中心,用于协调和管理系统的其它硬件。本系统选用PHIPLIS公司的ARMTDMI-S内核为控制器LPC2114作为嵌入式系统的核心单元、该处理器内部集成了系统所需的PWM模块、脉冲捕获模块等。2.3.2电动机接口电路电动机接口电路用于检测和驱动电动机的转速和转向,转速检测采用红外对管配合控制核心的脉冲捕获功能实现,电动机驱动电路采用控制核心的PWM功能和H桥驱动实现。2.3.3用户接口电路用户接口电路用于获取用户的输入和将系统相关信息显示给用户,本系统采用按键获取用户输入,采用上位机显示电动机的转速 。第三章系统设计3.1硬件设计图3-1系统电路图系统功能:该系统主要实现对直流电机正反转,测速,加速、减速及加速到达上限报警,最后将测量的转速结果在EasyARM显示界面显示。3.1.1直流电机驱动模块 PWM控制电路经典的模拟控制电路主要由PWM电路、延时电路和驱动电路组成。其基本电路结构和调制原理如图3-4。PWM发生电路是采用三角波发生器产生的三角波放大后与一路可调直流电压(电流调节器输出的U1)进行比较,电压比较器输出的是一系列方波信号。如果改变U1的大小,那么方波脉冲宽度将会改变,从而达到脉宽调制的目的。 图3-2基本电路结构LPC2124可提供6路PWM直接输出,控制电机的调速范围大,使用方便。本设计使用LPC2124的P0.21引脚的PWM5功能,P0.25的GPIO功能,外接由74HC08和7404组成的组合电路,生成两路PWM信号,如图 图3-3PWM控制电路本次设计直流电机控制使用了H桥驱动电路,控制口线为P0.21、P0.22。JP4可以断开直流电机控制电路与lpc2200连接。电路原理图如下所示:图3-4 H桥驱动电路图如图示,当P0.21输出高电平时(即ZDJ_A点为3.3V),则Q6、Q9导通Q10导通MOTOR_B点为MGV+,Q9导通MOTOR_A点为GND,此时直流电机将会正转。由于Q9的集电极通过一个二极管D5连接到H桥的另一个控制端ZDJ_B,将ZDJ_B控制端电压钳在1.0v以下,所以不管P0.22口输出的是高电平还是低电平,Q7、Q8都会截至Q11截至,不会造成H桥短路现象。当P0.21输出低电平时(即ZDJ_A点为0V),则Q6、Q9截至Q10截至,P0.22的输出电平可以控制直流电机反转或停机。若P0.22输出高电平(即ZDJ_B点为3.3V),则Q7、Q8导通Q11导通MOTOR_A点为MGV+,Q11导通MOTOR_B点为GND,此时直流电机将会正转。当P0.22口输出低电平时,Q7、Q8都会截至Q11截至,电机停机。3.1.2报警模块 蜂鸣器采用直流电压供电,在电动机转速达到上限时进行报警。 图3-5 蜂鸣器报警电路3.1.3测速模块利用红外对管对颜色敏感的特点,当检测物表面为黑色时,反射光很弱,接收端检测到的光线可以忽略,使接收端呈现一种状态,例如开关管截止;当被检测物表面为白色时,反射光强烈,发射端发射的红外线被接收端全部接收,使接收端呈现另一种相反的状态,例如开关管开通。这两种相反的状态表现在电路中,就是高低电平组成的脉冲信号。图3-6 红外对管测速电路3.1.4显示模块 为了给系统提供更友好的人机界面,我们可以通过上位机软件实现各种显示输出或操作输入,EasyARM软件是上位机人机界面软件,通过RS232串口通讯完成各种功能控制。全仿真的DOS字符窗口是具有25行80列的字符显示窗(显示字符的前景/背景颜色可设置),具有8个仿真LED数码管和8个仿真发光二极管,还有20个模拟按键(按键名可重新定义)。串口模式可设置,具有单独的数据发送/接收调试窗,方便地监视串口接收到的数据或调试串口。3.2软件设计3.2.1流程图 图3-7主程序流程图 3-8 PWM寄存器初始化流程图 图3-9定时器0初始化流程图3.2.2程序清单/* 文 件 名:main.c* 功 能:使用PWM5控制电机转速,共4档。* 说 明:将跳线JP4,JP9短接。*/#include config.h#define UART_BPS115200/ 定义通讯波特率#define KEY5 120 / 定义按键5#define P0_22 122 / GPIO#define P0_21 121 / GPIO#define BEEPCON 0x00000080 / P0.7引脚控制B1,低电平蜂鸣uint8 const SEND_STRING = jjjrn;/* PWM周期及占空比设置值 */#define CYCLE_DATA 200000 / 定义周期#define DUTY_CYCLE_DATA20000 / 定义基本占空比参数void DelayNS(uint32 dly);void CC(uint8 i); /* 名 称:UART0_Ini()* 功 能:初始化串口0。设置为8位数据位,1位停止位,无奇偶校验,波特率为115200* 入口参数:无* 出口参数:*/void UART0_Init(void) uint16 Fdiv; U0LCR = 0x83;/ DLAB = 1,可设置波特率 Fdiv = (Fpclk / 16) / UART_BPS;/ 设置波特率 U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0x03;/* 名 称:UART0_SendByte()* 功 能:向串口发送字节数据,并等待发送完毕。* 入口参数:data要发送的数据* 出口参数:无*/void UART0_SendByte(uint8 data) U0THR = data; / 发送数据 while( (U0LSR&0x40)=0 ); / 等待数据发送完毕/* 名 称:UART0_SendStr()* 功 能:向串口发送一字符串* 入口参数:srt要发送的字符串的指针* 出口参数:无*/void UART0_SendStr(uint8 const *str) while(1) if( *str = 0 ) break; UART0_SendByte(*str+); / 发送数据 /* 名称:main()* 功能:主函数*/int main(void) uint8 i = 1; /*PINSEL1 = 0x01 10; / 设置PWM5连接到P0.21管脚 IO0DIR = BEEPCON; / 设置I/O为输出 IO0DIR = P0_22; PWMPR = 0x00; / 不分频,计数频率为Fpclk PWMMCR = 0x02;/ 设置PWMMR0匹配时复位PWMTC PWMMR0 = CYCLE_DATA; / 设置PWM周期 PWMMR5 = DUTY_CYCLE_DATA;/ 设置PWM占空比 PWMLER = 1 0 | 1 5; / PWMMR0、PWMMR5锁存 PWMPCR = 1 13; / 允许PWM5输出,单边PWM PWMTCR = 0x09;*/ / 启动定时器,PWM使能 CC(1); while(1) IO0CLR = P0_22; / 将P0.22置低,配合PWM控制 PWMMR5 = DUTY_CYCLE_DATA*i;/ 设置PWM占空比 PWMLER = 1 0 | 1= 11) PINSEL0 = 0x00000000; / 设置管脚连接GPIO i=10; IO0CLR = BEEPCON; / BEEPCON = 0 / DelayNS(2000); i=i-3; / DelayNS(2000); i=i-3; / DelayNS(2000); i=i-3; / DelayNS(2000); / PINSEL0 = 0x00000005; / 设置I/O连接到UART0 / UART0_Init(); / UART0_SendStr(SEND_STRING); / DelayNS(10); return(0);/* 名 称:DelayNS()* 功 能:长软件延时* 入口参数:dly延时参数,值越大,延时越久* 出口参数:无*/void DelayNS(uint32 dly) uint32 i; for(; dly0; dly-) for(i=0; i5000; i+); /* 名 称:Fanzhuanjiating()* 功 能:反转加速,停止* 入口参数:i 占空比参数* 出口参数:无*/void CC(uint8 i) uint8 m=0; PINSEL1 = 0x01 10; / 设置PWM5连接到P0.22管脚IO0DIR = P0_22; IO0SET = P0_22; / 将P0.21置低,配合PWM控制 PWMPR = 0x00; / 不分频,计数频率为Fpclk PWMMCR = 0x02;/ 设置PWMMR0匹配时复位PWMTC PWMMR0 = CYCLE_DATA; / 设置PWM周期 PWMMR5 = DUTY_CYCLE_DATA;/ 设置PWM占空比 PWMLER = 1 0 | 1 5; / PWMMR0、PWMMR5锁存 PWMPCR = 1 13; / 允许PWM5输出,单边PWM PWMTCR = 0x09;/ 启动定时器,PWM使能 while(m3) PWMMR5 = DUTY_CYCLE_DATA*i;/ 设置PWM占空比 PWMLER = 1 0 | 1 5; / PWMMR0、PWMMR5锁存 PWMTCR = 0x09;/ 启动定时器,PWM使能 if( (IO0PIN&KEY5) = 0 ) / DelayNS(20); if( (IO0PIN&KEY5) = 0 ) i = i+2; m+; 第四章心得体会硬件 宋阿珍为期一周的arm课程设计结束了,本应感到如释重负的我们心情却更加沉重了,因为通过课程设计可以看出这门课我们大部分人学的是一塌糊涂,或许看到这种结果,在我们看来是全专业最为认真敬业的老师之一的黄老师应该更加心痛吧,自己辛辛苦苦努力一个学期,学生竟然交出这样的答卷,着实是让人寒心的,所以我们感到非常的惭愧。在课程设计过程中,我主要负责的是硬件方面,即电路原理图的绘制,老师的要求是用H桥电路驱动直流电机,实现电机正转加速,报警,反转加速,报警,正转减速,反转减速,并且利用红外对管实现对电机转速的测量,将所测得数据利用串口程序时期显示在上位机或者数码管上,利用Protel99软件画出最小系统以及外围电路,由于我们专业没有学习过专业的画图软件而这些主要是依靠我们自学,所以在画图过程中我们遇到了诸多为题,如怎样使元器件方向改变,怎样使元器件镜像,并且老师要求要用何种芯片,而我的元器件库里根本没有,这对于初学者要画出一个有40个管脚的芯片,确实费了不少时间,红外对管测速,别说原理图了,这根本在我来说是第一次听说,那红外对管如何跟电路连接,他对硬件有什么要求,他的基本参数是多少,这些都是摆在我们面前的问题,还好班里有一个懂这个的同学,通过向他的询问,才对红外对管有了一定的了解,但遗憾的是,由于我们组的专业知识有限,测速电路虽然知道了一些,但最终还是在测速这一模块做的不太好,这方面的知识还得好好补补,下来一个问题是如何利用H桥电路实现电机的反转,因为芯片通过控制PWM波来控制电机的速度和旋转方向,如何改变方向是我们遇到的最大的问题,起初我们以为改变p0.21口和p0.22口的电位改变电路电流的方向实现反转,但没有实现,在查看芯片数据时得知,p0.21口输出PWM波,只能通过改变p0.22口的设置来改变高低电平来改变旋转方向,这个问题的解决也是在对此有了解的同学的指导下完成的,先来是占空比的问题,因为转速的快慢会影响演示的效果,这个是在老师的帮助下完成的,在实验中遇到的各种问题,多亏了老手和同学的帮助才得以顺利解决,所以除了特别感谢之外,深知学习一门知识的重要性,别人又不如自己有,通过课程设计,虽然没能对这门课程的各个要点得以理解,但也是学到了不少东西,比如红外对管测速原理,电机如何实现正反转,如何进行报警,如何操作绘图软件,如何跟同学之间更默契的合作,如何自己动手进行设计,等等很多东西都是通过实践得来的,大四马上就要结束了,在不久的将来即将走上社会,多学一点东西总是没有错的,所以感谢黄老师,李老师对我们的指导和帮助。软件 杨柳本设计用一台ARM机实现对直流电机的转速监控,在硬件上采用了基于PWM技术的H型桥式驱动电路,解决了电机驱动的效率问题,在软件上也采用较为合理的系统结构及算法,提高了ARM的使用效率。通过本次设计,加强了我对ARM知识的掌握,

温馨提示

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

评论

0/150

提交评论