PWM低速GPIO口延时方式驱动直流电机的转动与停转.doc

上传人:星星 文档编号:1050476 上传时间:2024-04-01 格式:DOC 页数:15 大小:517.50KB
下载 相关 举报
PWM低速GPIO口延时方式驱动直流电机的转动与停转.doc_第1页
第1页 / 共15页
PWM低速GPIO口延时方式驱动直流电机的转动与停转.doc_第2页
第2页 / 共15页
PWM低速GPIO口延时方式驱动直流电机的转动与停转.doc_第3页
第3页 / 共15页
PWM低速GPIO口延时方式驱动直流电机的转动与停转.doc_第4页
第4页 / 共15页
PWM低速GPIO口延时方式驱动直流电机的转动与停转.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、课 题: PWM-低速GPIO口延时方式驱动直流电机的转动与停转专 业: 计算机科学与技术 班 级: 一 班 学 号: 20091641 姓名: 孟令楠 指导教师: 刘敦放设计日期: 2012-12-252012-12-29成 绩:目录1.设计任务及要求22设计依据原则32.1 LPC2103特点及其开发环境(一)LPC2102简介32.2 直流电动机调速原理32.3 七段数码管驱动原理4三硬件系统设计43.1硬件系统图设计43.2 直流电机PWM驱动原理图设计53.3 硬件电路连接图设计53.4使用器件明细表6四软件系统设计64.1 实现程序编写64.2 试验程序调试与烧写过程71、启动Co

2、deWarrior IDE72、建立工程73、建立汇编源程序文件84、设置工程版本类型85、设置目标86、设置汇编处理器型号87、设置ARM链接器88、启动AXD debugger调试器并对其进行配置89、对程序源进行汇编和链接910、利用AXD debugger调试器。94.3 课程设计结果验证9五心得体会9六参考文献11一.设计任务及要求设计由一个7段数码管灯指示控制直流电机的装置;包括PWM-低速GPIO口延时方式驱动直流电机的启动与停转,并根据设计要求在ARM嵌入式开发系统与ARM芯片上演示设计结果。二设计依据原则本设计需用ARM2103处理器,功率放大器,七段数码管,直流电机等元件,

3、这些元件均用跳线连接。各种元件的结构及驱动原理如下:2.1 LPC2103特点及其开发环境(一)LPC2102简介 LPC2103基于一个支持实 时仿真 的 ARMTTDMIS CPU,由于21 03非常小的尺寸和极低 的功耗,它们非 常适 用于控制系统 的应用。1 632位 ARM7TDMIS处理器,极小型 LQ,kB的片内静态 RAM,16kB的片内 Flash10位的 AD转换器含有 8个模拟输入,每1as; 6路输出的 PWM 单元; 多个串行接口包括 2个 UART,2个快速 I据长度功能的 SPI和 SSP。 多达 32个可承受 5V的通用 IO 口。 高达 13个边沿或电平有效的

4、外部中断管脚。2.2 直流电动机调速原理图1普通有刷永磁直流电机工作原理根据电动机的原理只要调节电动机的电枢平均电压,就可以改变电动机的转速,而目前采用的主流调速技术就是利用PWM调节电动机的转速,使用PWM控制直流电动机调速是通过调节输出方波的占空比来实现的,这里采用定频调宽法,即方波的周期不变,只改变方波宽度。当PWM输出占窄比为50时,电机处于静止状态;当占空比小于50时,电机反转;当占空比大于50时。对直流电机进行调速和控制,需经过直流电机的驱动电路,驱动电路实际上就是大功率的放大器。直流电机的驱动电路有线性放大驱动型和开关驱动型。线性驱动器就是一个线性功放,线性驱动器的工作原理如下:

5、图2线性功率驱动工作原理2.3 七段数码管驱动原理7段数码管其实是八段,有时小数点没有使用,所以常说7段,显示原理是这样的:数码管一共是10个引脚,其从上到右,到下到左,到中间,最后到小数点即以最上面一段为起点顺时针旋转,再到中间,最后是小数点分别标记为a 、b 、c 、d 、e 、f 、g、dp八段其中小数点位dp为最高位,a段为最低位,要想显示什么字符只需要使对应的段发光即可,共阳极的恰巧相反。数码管的示意图如下图所示。图3数码管驱动原理图三硬件系统设计3.1硬件系统图设计本系统需要由ARM处理器驱动两个元件分别是直流电机,数码管均由电源模块供电,本设计是使用主机USB供电,其整体硬件设计

6、系统图如图4所示。图4 硬件系统图3.2 直流电机PWM驱动原理图设计直流电动机PWM调速控制原理图如图5所示。其中,LPC2103是直流电机驱动芯片,工作电压为420V,最大输出电流为0.4 A。图5 直流电机PWM调速控制原理图3.3 硬件电路连接图设计硬件电路图设计主要是ARM对数码管,直流电机的驱动电路设计,一共用了ARM的06、8、20、24、39号共11个引脚,其中39号为电源线,20号为接地线,24号线为直流电机驱动信号接口,8号为蜂鸣器驱动接线口,06七个口则是用于数码管的驱动,由于数码管、直流电机都为有源元件则公用一根电源线,而LED灯则作为电源接通指示灯,灯亮则电源接通灯灭

7、则电源断开,电源由按键控制,其整体接线图如图6所示。图6 各元件接线图3.4使用器件明细表在设计出电路图后要进行元件选择,元件选择必须遵循的要求是:可靠,经济,适用,方便以后拓展升级。根据以上要求进行综合考虑选择了如表1元件即可满足设计要求。元件名称数量ARM2103处理器1程序烧录器1放大器1排针2LED灯1跳线若干数码管1表1 元件明细表四软件系统设计4.1 实现程序编写(1)本次设计用C语言底层开发语言进行主程序调用汇编子程序实现了用七段数码管显示数字9,6,1,0.当显示6时驱动直流电机,当显示0时电机停止转动。源代码:#include config.h#define LED0 10#

8、define LED1 11#define LED2 12#define LED3 13#define LED4 14#define LED5 15#define LED6 16uint32 count=0;void _irq Timer0ISR (void) count +;if(count%4)=1) /显示9 IO0CLR=LED0|LED1|LED2|LED3|LED5|LED6; IO0SET=LED4;if(count%4)=2) /显示6PINSEL1=PINSEL1&(0x038)|(0x028);IO0CLR=LED0|LED2|LED3|LED4|LED5|LED6;IO0

9、SET=LED1;if(count%4)=3) /显示1 IO0SET = LED0|LED3|LED4|LED5|LED6; IO0CLR = LED1|LED2;if(count%4)=0) /显示0 PINSEL1=PINSEL1&0xFFFFFCFF; IO0SET=LED6; IO0CLR=LED0|LED1|LED2|LED3|LED4|LED5;T0IR=0x0F; VICVectAddr=0x00; void Timer0Init(void)T0TCR=0x02; T0PR=0; T0MCR=0x649; T0MR0=Fpclk*5; T0MR1=Fpclk*7; T0MR2=

10、Fpclk*14; T0MR3=Fpclk*15; T0IR=0x0F; T0TCR=0x01;void Timer1Init(void)T1TCR=0x02;T1PR=0;PWM1CON=0x0C;T1MCR=0x02; T1MR0=Fpclk/2000;T1MR2=(Fpclk/2000)/2;T1MR3=(Fpclk/2000)/4)*3;T1TCR=0x01; int main (void)PINSEL0=PINSEL0&0xFFFFC000; PINSEL1=PINSEL1&(0x038)|(0x028);IO0DIR=LED0|LED1|LED2|LED3|LED4|LED5|LE

11、D6; IO0SET=LED0|LED1|LED2|LED3|LED4|LED5|LED6; Timer0Init();Timer1Init(); IRQEnable(); VICIntSelect=VICIntSelect&(14); VICVectCntl0=0x20|4; VICVectAddr0=(uint32)Timer0ISR; VICIntEnable=14; while(1);return 0;4.2 试验程序调试与烧写过程1、启动CodeWarrior IDE选择【开始】【程序(p)】ARM DeveloperSuite v1.2CodeWarrior for ARM Dev

12、eloper Suite,启动ADS的CodeWarrior IDE。2、程序框架设计(1)选择Project Add Files to Project,选择wujiao.c并点击Open。(2)选择Project Add Files to Project,在文件类型框中选择*.asm 。选择vector.asm并点击Open。该文件包含了设置跳转到该程序的C入口点RESET中断(c_int100)所需的汇编指令。(3)选择Project Add Files to Project,在文件类型框中选择*.cmd。选择hello.cmd并点击open,hello.cmd包含程序段到储存器的映射。(

13、4)选择Project Add Files to Project,进入编译库文件夹(c:tic5400cgtoolslib)。在文件类型框中选择*.o*,*lib选择rts.lib并点击open,该库文件对目标系统DSP提供运行支持。(5)点击紧挨着Project、Myhello.mak、Library和Source旁边的符号+展开ProjectView。注:打开ProjectView。如果看不到ProjectView,则选择ViewProject。如果这时选择过Bookmark图标,仍看不到ProjectView,则只须再点击ProjectView底部的文件图标即可。(此段作为测试方式)(6

14、)注意包含文件还没有在ProjectView中出现。在工程的创建过程中,CCS扫描文件间的依赖关系时将自动找出包含文件,因此不必人工地向工程中添加包含文件。在工程建立之后,包含文件自动出现在ProjectView中。如果需要从工程中删除文件,则只需在ProjectView中的相应文件上点击鼠标右键,并从弹出菜单中选择Remove from project执行操作编译工程文件时,CCS按下述路径顺序搜索文件:包含源文件的目录编译器和汇编器选项的Include Search Path中列出的目录(从左到右)列在C54X_C_DIR(编译器)和C54X_A_DIR(汇编器)环境变量定义中的目录(从左

15、到右)。3、建立汇编源程序文件从主菜单选择FileNew命令,显示New对话框,选择File标签,在File name文本框中输入test2.s,选中Add to Project左边的复选框,Targets变成可选,全部选中,则建立好了test2.s。接着在编辑窗口中录入本例源程序。4、设置工程版本类型在新建的工程中,选择Debug不版本,选择EditDebugSetting命令对版本进行设置。5、设置目标选择EditDebugSetting命令,在DebugSetting对话框中选择TargetSetting,在PostLinker下拉列表框中选择ARMfromELF。6、设置汇编处理器型号

16、在debug settings 对话框中选择ARM Assembler,在Targets标签所对应下拉菜单中选择AEM920T。7、设置ARM链接器在Debug settings 对话框中ARM Linker,在Output选项卡的Simple image 框中设置RO和RW地址。地址0x30800000是开发板上的SDRAM的真实地址,它由系统硬件决定;0x30200000是系统可读/写的地址。也就是说,0x30800000-0x30200000之间的区域是只读区域,用于存放程序的代码段,从0x30200000开始的单元用于存放程序的数据段。需要特别说明的是,此处的设置只是简单设置,其他设置

17、参考开发板的相关手册。8、启动AXD debugger调试器并对其进行配置启动UArmjTAG程序,确保Angel处于开启状态。在windows桌面选择【开始】-【程序】-ARM Developer suite v1.2-AXD Debugger,启动ADS的AXD Debugger。选择options-configure target菜单项,显示choose target对话框,在该对话框中选择ADP。9、对程序源进行汇编和链接选择project-make,对程序源进行汇编并链接工程,若汇编过程无误则表明汇编成功。10、利用AXD debugger调试器。在ADX debugger中,若选择

18、Execute-Debug将连续执行程序,可以看到开发板上的3个LED间断闪亮。单步执行方式主要用于程序调试。若选择executed-step将单步执行程序。可以再AXD debugger中选择Processor Views-Registers打开寄存器,并选择Current寄存器;选择Processor Views-memory打开内存观察器,并输入要观察的起始地址。然后,按下F10键单步执行程序。4.3 课程设计结果验证 在实验程序烧写完成后,在定时完成后数码管开始显示数字9,6,1,0,直流电机在显示6时启动,直流电机在显示0时停止转动。按照预先设定程序运行,设计取得成功,设计方案可行。

19、五心得体会进入20世纪90年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术。在广播电视领域,美国已开始由模拟电视向数字电视转变,欧洲的DVB(数字电视广播)技术已在全球大多数国家推广。数字音频广播(DAB)也已进入商品化试播阶段。而软件、集成电路和新型元器件在产业发展中的作用日益重要。所有上述产品中,都离不开嵌入式系统技术。象前途无可计量的维纳斯计划生产机顶盒,核心技术就是采用32位以上芯片级的嵌入式技术。在个人领域中,嵌入式产品将主要是个人商用,作为个人移动的数据处理和通讯软件。由于嵌入式设备具有自然的人机交互界面,GUI屏幕为中心

20、的多媒体界面给人很大的亲和力。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。嵌入式系统具有广阔的发展前景,在未来一定会深入到我们生活的各个层面。学好嵌入式系统对于我们未来发展工作都有重要意义这次的课程设计,虽然整体感觉不是很难,但在设计时也遇到过很多困难究其原因是:基础知识不牢,实际应用能力不足所致,经过本次设计我对嵌入式系统原理与应用技术这门课程有了更深入的了解,对他的兴趣又增添了几分,同时还提高了我解决实际问题,查阅资料,亲自动手的能力让我个人综合素质又得到了一次升华。嵌入式作为未来IT行业的核心产业项目必然带来巨大的机遇,我将继续努力学习,刻苦钻研,在高速发展中成长。六参考文献1周立功等ARM微控制器基础与实战 M北京航空航天大学出版社, 20032王晓明电动机的单片机控制M北京航空航天大学出版社,2003 3张继来等一种简单的电动自行车用无刷 电动机控制器J微电机,2007 4陈君科等电动 自行车控制器设计与实现J电力电子技术2008

展开阅读全文
相关资源
相关搜索
资源标签

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

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922