直流电机调速系统设计.doc

上传人:good****022 文档编号:116472421 上传时间:2022-07-05 格式:DOC 页数:24 大小:613KB
返回 下载 相关 举报
直流电机调速系统设计.doc_第1页
第1页 / 共24页
直流电机调速系统设计.doc_第2页
第2页 / 共24页
直流电机调速系统设计.doc_第3页
第3页 / 共24页
点击查看更多>>
资源描述
.嵌入式系统原理与应用综合设计直流电机调速系统设计系 部:电子与信息工程系专业班级:姓 名:学 号:小组成员:指导教师:完 成 日 期 2012年 月目录1 绪论11.1 课题设计背景11.2 课题研究的目的和意义12 课程设计要求及实验设备与器材22.1 课程设计题目22.2 课程设计目的22.3 设计任务22.4 直流电机调速系统工作流程22.5 实验设备与器材33 硬件系统设计43.1 设计系统原理框图及介绍43.2 LM3S2110微控制器43.2.1 简介43.2.2 特性53.3 1602液晶显示63.3.1 简介63.3.2 管脚功能63.3.3 操作控制73.3.4 基本操作时序73.4 脉宽调制器83.4.1 结构图83.4.2 PWM定时器93.4.3 输出控制模块93.4.4 初始化和配置93.5 原理电路图114 软件设计方案124.1 程序流程图124.2 调试过程124.3 遇到的问题及解决134.4 示波器波形135 运行结果145.1 结果分析146 体会与收获15参考文献16附录1、管脚图17附录2、程序清单172012.6 上海师范大学天华学院电子信息工程系ARM综合设计 191 绪论1.1 课题设计背景在现代电子产品中,自动控制系统,电子仪器设备,家用电器,电子玩具等方面,直流电机都得到了广泛的应用。大家熟悉的录音机、电唱机、录音机、电子计算机等。都不能缺少直流电机。所以直流电机的控制是一门很实用的技术。直流电机,大体上可分为四类:几项绕组的步进电机、永磁式迅速换流器直流电机、伺服电机、两相低电压交流电机。直流电机具有良好的启动性能和调速特性,它的特点是启动转矩大,最大转矩大,能在宽广的范围内平滑、经济的转速,转速控制容易,调速后效率很高。适用范围:数控机床、造纸印刷、纺织印染、光缆线缆设备、包装机械、电工机械、食品加工机械、橡胶机械、生物设备、印制电路板设备、实验设备、焊接切割、轻工机械。、物流输送设备、机车车辆、医疗设备、通讯设备、雷达设备、卫星地面接收系统等行业广泛应用。1.2 课题研究的目的和意义直流电机是计算机、通讯设备、音频视频等科研生产领域不可缺少的仪器。随着人们文化生活水平的提高,人民在不断的追求高质量生活的同时大都在密切的关注着我们的民族产业的发展前景。而直流电机的发展虽是一个极小部分但也可以反映出我国民族产业发展的现状。我国在很多的方面都已不在是过去那个很贫穷落后的国家,但是关系着我们国计民生的民族产业的发展却是不尽人意,不能不成为今天令人注目的焦点。通过本次课程设计,运用已学的课程知识,根据题目要求进行软硬件系统的设计和调试,对嵌入式系统原理与应用课程中涉及的芯片结构、控制原理、硬件和编程方面有一定的感性认识和实践操作能力,从而加深对本课程知识点的理解,使自身应用只是能力、设计能力、调试能力以及报告撰写能力等方面有显著的提高。2 课程设计要求及实验设备与器材2.1 课程设计题目 直流电机调速系统设计2.2 课程设计目的课程设计是完成教学计划达到本科生培养目标的重要环节,是教学计划中进行综合训练的重要实践环节,是有助于培养应用性人才的一种教学形式,它将使学生在综合运用所学知识,解决本专业方向的实际问题方面得到系统性的训练。 2.3 设计任务本设计选用LM3S2110作为微控制器,并通过对硬件和软件两方面的设计,结合LCD液晶显示屏、按键、LED灯以及直流电机,来实现直流电机调速系统在嵌入式系统上的应用与开发。本设计利用脉宽调制器,通过改变PWM脉宽的占空比来进行直流电机的调速,并通过LCD液晶显示屏显示测量结果。论文中阐述了相关的硬件原理与应用方案,并在其基础上叙述了软件设计和调试的过程,最终结合硬件和软件完成了本次设计。 2.4 直流电机调速系统工作流程利用实验系统的资源来设计一个“直流电机调速系统”。控制面板包括:四位数码显示、十个数字按键键盘、电源按键、电源指示灯、两个速度增减键和一个运行键。工作流程如下:(1) 按下电源键,电源指示灯亮;(2) 按运行键,电机运转。按速度增键,电机速度加快;按速度减键,电机速度减慢;(3) LED实时显示当前的电机的速度;(4) 运行过程中,若再按下电源键,则系统停止工作,电源指示灯灭。(5)停止工作后,若再按下电源键,则系统重新开始工作2.5 实验设备与器材 (1)ARM开发板LM3S2110 (2)1602液晶显示 (3)Magic ARM2200 实验开发平台 图1 ARM开发板图2 Magic ARM2200 实验开发平台3 硬件系统设计3.1 设计系统原理框图及介绍图3 系统框图3.2 LM3S2110微控制器3.2.1 简介本次设计任务所使用到的是LM3S2110微控制器,这款微控制器是基于ARM Cortex-M3 内核的微控制器,它为对成本尤其敏感的嵌入式微控制器应用方案带来了高性能的32位运算能力。该系列芯片能够提供高效的性能、广泛的集成功能以及按照定位的选择,适用于各种明确要求具有的过程控制以及连接能力的应用方案。Cortex-M3内核主要是应用于小管脚数、低成本和低功耗的场合,并且具有极高的运算能力和极强的中断能力。Cortex-M3采用了新型的单线调试技术,专门拿出一个引脚来做调试,节约了大笔的调试工具费用。同时,Cortex-M3可以直接在MCU外连接Flash,降低了设计难度和应用障碍,因此其发展趋势亦不容小觑。3.2.2 特性 LM3S2110微控制器包含了下列特性:32位RISC性能、内部存储器、通用定时器。3个 通用定时器模块(GPTM),每个模块都能提供2个16位的定时器/计数器。 每个通用定时器模块都能够被设置为独立运作的定时器或事件计数器(总共有8个)可用作单个32位的定时器(最多4个)或者用作单个32位的实时时钟(RTC)以捕获事件,或者用作脉宽调制输出(PWM) 16位定时器模式 通用定时器功能,并带一个8位的预分频器 可编程单次触发定时器 可编程周期定时器 在调试的时候,当控制器发出CPU暂停标志时,用户可设定暂停周期或者单次模式下的计数16位输入捕获模式 提供输入边沿计数捕获功能 提供输入边沿时间捕获功能16位PWM模式 简单的PWM模式,对PWM信号输出的取反可由软件编程决定1个 PWM信号发生模块,每个模块都带有1个16位的计数器、2个比较器, 1个PWM信号发生器、以及一个死区发生器 1个16位的计数器 运行在递减或递增/递减模式 输出频率由一个16位的装载值控制 可同步更新装载值 当计数器的值到达零或者装载值的时候生成输出信号 2个 PWM比较器3.3 1602液晶显示3.3.1 简介 所谓1602是指显示的内容为16*2,即可以显示两行,每行16个字符。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 图4 液晶屏3.3.2 管脚功能 字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如下表所示: 图5 引脚3.3.3 操作控制 HD44780内置了DDRAM、CGROM和CGRAM。 DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表: 图6 对应关系表图7 关系对照表3.3.4 基本操作时序 读状态 输入:RS=L,RW=H,E=H 输出:DB0DB7=状态字 写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码 输出:无 读数据 输入:RS=H,RW=H,E=H 输出:DB0DB7=数据 写数据 输入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据 输出:无 3.4 脉宽调制器脉宽调制(PWM)是一项功能强大的技术,它是一种对模拟信号电平进行数字化编码的方法。在脉宽调制中使用高分辨率计数器来产生方波,并且可以通过调整方波的占空比来对模拟信号电平进行编码。PWM通常使用在开关电源(switching power)和电机控制中。Stellaris PWM模块由 1个 PWM发生器模块 1个控制模块组成。 PWM发生器模块包含1个定时器(16位递减或先递增后递减计数器),2个PWM比较器,PWM信号发生器,死区发生器和中断选择器。而控制模块决定了PWM信号的极性,以及将哪个信号传递到管脚。PWM发生器模块产生两个PWM信号,这两个PWM信号可以是独立的信号(基于同一定时器因而频率相同的独立信号除外),也可以是一对插入了死区延迟的互补(complementary)信号。PWM发生模块的输出信号在传递到器件管脚之前由输出控制模块管理。Stellaris PWM模块具有极大的灵活性。它可以产生简单的PWM信号,如简易充电泵需要的信号;也可以产生带死区延迟的成对PWM信号,如供半-H桥(half-H bridge)驱动电路使用的信号。3.4.1 结构图图8 PWM模块的结构图3.4.2 PWM定时器定时器都有两种工作模式:递减计数模式或先递增后递减计数模式。在递减计数模式中,定时器从装载值开始计数,计数到零时又返回到装载值并继续递减计数。在先递增后递减计数模式中,定时器从0开始往上计数,一直计数到装载值,然后从装载值递减到零,接着再递增到装载值,依此类推。通常,递减计数模式是用来产生左对齐或右对齐的PWM信号,而先递增后递减计数模式是用来产生中心对齐的PWM信号。PWM定时器输出3个信号,这些信号在生成PWM信号的过程中使用:方向信号(在递减计数模式中,该信号始终为低电平,在先递增后递减计数模式中,则是在低高电平之间切换);当计数器计数值为0时,一个宽度等于时钟周期的高电平脉冲;当计数器计数值等于装载值时,一个宽度等于时钟周期的高电平脉冲。注:在递减计数模式中,零脉冲之后紧跟着一个装载脉冲。3.4.3 输出控制模块PWM发生器模块产生的是两个原始PWM信号,输出控制模块在PWM信号进入管脚之前要对其最后的状态进行控制。通过一个寄存器就能够对实际传递到管脚的PWM信号进行修改。例如,通过对寄存器执行写操作来修改PWM信号(而无需通过修改反馈控制回路来修改各个PWM发生器),以实现无电刷直流电机通信。同样地,故障控制也能够禁能所有的PWM信号。能够对任一PWM信号执行最终的反相操作,使得默认高电平有效的信号变为低电平有效。3.4.4 初始化和配置以下是对PWM发生器0进行初始化的示例。要求频率为25KHz,PWM0管脚上的占空比为25,PWM1管脚上的占空比为75,假定系统时钟为20MHz。这个实例假定系统时钟为20 MHz。1. 使能PWM时钟,通过写0 x0010.0000到系统控制模块中的 RCGC0 寄存器来实现。2. 使能对应GPIO模块的时钟,通过系统控制模块中的RCGC2寄存器来实现。3. 在GPIO模块中,根据管脚的具体功能,使用GPIOAFSEL寄存器来使能相应的管脚。4. 将系统控制模块中的 运行-模式时钟配置 (RCC) 寄存器配置为使用PWM分频 (USEPWMDIV) ,并将分频器 (PWMDIV) 设置为2分频 2(000)。5. 将PWM发生器配置为递减计数模式,并立即更新参数。向PWM0CTL寄存器写入 0 x0000.0000。向PWM0GENA寄存器写入0 x0000.008C。向PWM0GENB寄存器写入0 x0000.080C。6. 设置周期。若要得到25KHz频率,即周期为1/25,000(40s)。PWM时钟源为10MHz;由系统时钟2分频得到。这意味着一个定时器周期要等于400个PWM时钟周期。然后用这个值来设置PWM0LOAD寄存器。在递减计数模式中,将PWM0LOAD寄存器的Load位域设置为请求的周期减1。向PWM0LOAD寄存器写入0 x0000.018F。7. 将PWM0管脚的脉冲宽度设置为25占空比。向PWM0CMPA寄存器写入0 x0000.012B。8. 将PWM1 管脚的脉冲宽度设置为75占空比。向PWM0CMPB寄存器写入0 x0000.0063。9. 启动PWM发生器0中的定时器。向PWM0CTL寄存器写入0 x0000.0001。10. 使能PWM输出。向PWMENABLE寄存器写入0 x0000.0003。3.5 原理电路图图9 原理电路图4 软件设计方案4.1 程序流程图图10 程序流程图4.2 调试过程我们的程序分为两个部分,第一部分是嵌入式LM3S2110芯片上安装芯片驱动的调试;第二部分是LED灯和液晶屏的调试。第一部分:1.先安装IAR软件5.11版本,安装到默认的C盘路径下,不要更改,即“C:Program FilesIAR SystemsEmbedded Workbench 5.0 Kickstart”2.将文件夹“ARM”复制到上述默认的IAR安装路径下。若弹出“确认文件夹替换”的对话框,请选择“全部”。3.将文件夹“PDL-LM3S-3223”复制到C:盘根目录下,完成。 第二部分(1) 先把嵌入式 LM3S2110芯片与PC机连接,在PC机上安装芯片的驱动。将程序烧入实验板,调试运行。4.3 遇到的问题及解决图11 错误报告如上两图,在调试过程中遇到种种错误,如ARM文件没有覆盖,编程过程中没有完善,还有未定义的管脚,但都经过一次又一次的调试把错误一一改正了。4.4 示波器波形改变PWM的占空比来对电机进行调速,并通过示波器来观察它的波形。 图12 示波器波形5 运行结果5.1 结果分析把嵌入式 LM3S2110芯片与PC机连接后,把程序烧入芯片内,烧入成功后。按下电机开启键(运行键),电机开始转动。再按加速键,电机加速,等加到600时再按下减速键,电机减速,减速至450,在电机转的过程中,可按下电机停止键(即开启键)电机停止转动,LCD液晶显示为零。再按下运行键,电机重新开始转动。 图13 电机加速及液晶显示 图14 电机减速及液晶显示6 体会与收获这次的课程设计完全依靠我们自己动手去完成直流电机调速的基本功能,这样我们就必须弄懂每一个程序的原理,并且能够举一反三。我们两个人为一个小组 ,一个课题的完成也同时考验着我们的团队合作。 首先,我们在接到课程设计的任务后对这次设计充满激情和想象,当老师说这个设计可以实现很多功能,我们完全可以在基本功能的基础上加上自己的创新后,我们就有了很多想法。老师安排完任务后我们小组认真思考后,合理分配各自任务。查阅相关书籍资料和网络资源以及老师提供的各项帮助和精神鼓励,在我们的不懈努力下,实验有条不紊地进行着。再次,我们在设计过程中遇到很多困难,比方说,在设计加速减速过程中,我们对原理了解不透彻,在老师的引导下,我们成功探讨出进位的程序,并调试成功;在程序编译报错后,我们不气馁,一次次重新尝试修改,在调试的时间里,我们体会集体的力量和成功的喜悦;在接线时时候,由于我们的大意,导致显示出现问题,在虚心请教同学后,我们检查出自己的问题,使液晶显示正常。 最后,通过这次课程实验。我们收获很多,过程中,我们有争论,有欢笑,有汗水,有泪水。但我们相互鼓励相互扶持,从不懂到了解,以致最后的成功。这次的直流电机调速设计,我们明白平常最常见的电机原理,并深入了解其加速减速的奥妙。不仅如此,更可贵的是,我们之间形成的团队合作,坚持不懈,不屈不挠,迎难而上的精神。这些是我们大学生活中的财富。歌德曾经说过:我不应把我的作品全归功于自己的智慧,还应归功于我以外向我提供素材的成千成万的事情和人物。 我们诚挚的感谢老师的耐心指导,在一筹莫展的时候,他们无私的给予我们帮助和支持,我们的成功离不开他们。同时也感谢其他小组提供的帮助。在互帮互助的氛围中,我们愉快的结束本次的课程设计。参考文献1 范圣一 著. ARM原理与嵌入式系统实战M. 机械工业出版社,2007年:P1512202 陈连坤 著. 嵌入式系统的设计与开发M. 清华大学出版社、北京交通大学出版社,2005年:P63P903 刘南平 孙蕙芹 童一帆 苏梅 著. 单片机实训与开发教程M. 科学出版社,2008年:P1551974 艾永乐 付子义 著. 数字电子技术基础M. 中国电子出版社,2008年:P1011245 张伟 著. Protel 99SE 实用教程M. 人民邮电出版社,2008年:P26716 周立功 著. ARM嵌入式系统基本教程M. 北京航空航天大学出版社,2005年:P35P527 张晓伟 刘盼盼 著. ARM嵌入式系统设计原理与开发实例M. 电子工业出版社,2008年:P114P1338 姚燕南 著. 微机原理与接口技术M. 高等教育出版社,2001年:P79P929 吴明晖 著. 基于ARM的嵌入式系统开发与应用M. 人民邮电出版社,2004年:P28P3310 冯涛 秦永左 著. 单片机原理及应用M. 国防工业出版社,2009年:P99P109附录1 管脚图图15 管脚图附录2 程序清单按下KEY4,电机开始转动:if (GPIOPinRead(KEY4_PORT, KEY4_PIN) = 0 x00) / 如果按下KEY TimerControlLevel(TIMER0_BASE, TIMER_BOTH, true); / 控制PWM输出反相TimerLoadSet(TIMER0_BASE, TIMER_BOTH, 6000); / 设置TimerBoth初值TimerMatchSet(TIMER0_BASE, TIMER_A,4800); / 设置TimerA的PWM匹配值TimerMatchSet(TIMER0_BASE, TIMER_B,1200); TimerEnable(TIMER0_BASE, TIMER_BOTH); / 使能Timer计数,PWM开始输出 if (GPIOPinRead(KEY2_PORT, KEY2_PIN) = 0 x00) / 如果按下KEY TimerControlLevel(TIMER0_BASE, TIMER_BOTH, true); / 控制PWM输出反相TimerLoadSet(TIMER0_BASE, TIMER_BOTH, 6000); /设置TimerBoth初值TimerMatchSet(TIMER0_BASE, TIMER_A,1000); /设置TimerA的PWM匹TimerMatchSet(TIMER0_BASE, TIMER_B,5000);TimerEnable(TIMER0_BASE, TIMER_BOTH); /使能Timer计数,PWM开始输出for (int m=450;m400;m-) SysCtlDelay(1 * (TheSysClock / 4000); sec0 = m/100; /取百位sec1 = m%100/10; /取十位sec2 = m%10; /取个位 write_com(0 x01);write_com(0 x85);write_data(sec0+48); write_com(0 x86); write_data(sec1+48);write_com(0 x87); write_data(sec2+48);按下KEY4,电机停止转动,液晶屏清零:if (GPIOPinRead(KEY4_PORT, KEY4_PIN) = 0 x00) / 如果按下KEY TimerControlLevel(TIMER0_BASE, TIMER_BOTH, true); / 控制PWM输出反相TimerLoadSet(TIMER0_BASE, TIMER_BOTH, 6000); / 设置TimerBoth初值TimerMatchSet(TIMER0_BASE, TIMER_A,5500); / 设置TimerA的PWM匹配值TimerMatchSet(TIMER0_BASE, TIMER_B,500);TimerEnable(TIMER0_BASE, TIMER_BOTH); / 使能Timer计数,PWM开始输出write_com(0 x85);write_data(0+48); write_com(0 x86); write_data(0+48);write_com(0 x87); write_data(0+48);SysCtlDelay(5000 * (TheSysClock / 4000); / 主函数(程序入口)int main(void)clockInit(); / 时钟初始化:晶振,6MHzinit(); for (;) timerInitPWM();
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工程建筑


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!