欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于LPC2124的直流电机调速系统Proteus仿真.docx

    • 资源ID:9438199       资源大小:329.75KB        全文页数:22页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于LPC2124的直流电机调速系统Proteus仿真.docx

    1、基于LPC2124的直流电机调速系统Proteus仿真基于LPC2124的直流电机调速系统Proteus仿真1直流电机、减速器及传感器选型设计要求驱动轮式机器人,两轮的直径相同为0.1m,驱动电机选用直流电机,为了满足加速度需求,每个电机配备了减速装置,且两轮为独立驱动。小车运行过程中自带电池,电池的供电电压为+24VDC,为满足机器人比赛需要,经需求分析可得该机器人运动控制系统的最大速度为:5.0m/s,最大加速度为:20m/,控制方案采用闭环控制方案。通过计算可知,在没有减速器的情况下,电机应达到955r/min才能实现最大转速5.0m/s,启动时间应该小于0.25s才能达到最大加速度20

    2、m/的要求。所以,可以选择额定电压24V,空载转速2500r/min的直流电机,采用调速比2.5的减速器,加速度要求通过软件实现。系统要求采用闭环控制方案,本设计采用转速单闭环控制,选用旋转编码器作为测速传感器。旋转编码器不仅精度高,而且安全稳定、维护方便,在Proteus库里有配套旋转编码器的直流电机,方便仿真。理论上旋转编码器的光栅数越大,测速越精确,但是光栅数的增大会增加制作难度和成本,本设计只是用于轮式机器人的测速,采用光栅数1024的旋转编码器足以,同时可以采用四倍频电路提高转速分辨率。在基于Proteus仿真的直流电机调速系统中,由于各种限制,设计并不能达到系统的具体要求,但是可以

    3、作为一个可供参考的调速模型。2直流电机调速系统硬件设计2.1硬件系统结构图直流电机转速单闭环调速系统硬件结构图如图1 所示图1 直流电机转速单闭环调速系统硬件结构图2.2 LPC2124简介LPC2124是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-S CPU的微控制器,并带有256KB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行,且可使用16位Thumb模式。LPC2124支持多种通信接口,包括UART, 和SPI等串行接口以及PWM输出接口,外围接口部分设计极为方便、灵活。2.3 电机驱动芯片L298介绍L298N是

    4、ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。芯片内部结构图如图2所示。图2

    5、 L298芯片的内部结构图L298驱动直流电机参考表1表1 L298驱动直流电机参考表电机旋转方式控制端IN1控制端IN2控制端IN3控制端IN4输入PWM信号改变脉宽可调速调速端A调速端BM1正转高低/高/反转低高/高/停止低低/高/M2正转/高低/高反转/低高/高停止低低/高2.4 直流电机调速系统Proteus仿真电路 Proteus的元件库中提供许多种类型的电机元件,从简单的直流电机到步进电机、伺服电机都有,我们选取一个带编码器的电机MOTOR-ENCODER来仿真,之所以用带编码器的,是因为我们需要用到编码器的输出信号来测量电机的转速。MOTOR-ENCODER的编码输出与本系统所要

    6、求的增量式旋转编码具有同等功能,可提供两路路具有90相位差的编码脉冲,利用其中任何一个可实现对转速的检测。在MOTOR-ENCODER的属性中可设置其参数,本系统对MOTOR-ENCODER的参数设置如表2所示。表2 Motor-Encoder参数表参数名参数值 额定电压24 V线圈电阻12 线圈电感100 mH空载转速1000 rpm负载率10 %每转脉冲数60直流电机调速系统Proteus仿真电路如图2所示。图2 直流电机调速系统Proteus仿真电路 系统采用24MHz晶振提供外部时钟,LPC2124的P0.6,P0.7输出高低电平控制电机转速方向;四个二极管作为续流二极管,起保护作用;

    7、四个按键通过上拉电阻与LPC通用端口相连,按键按下,低电平有效,另外通过一个四输入与门与外部中断EINT0相连,通过外部中断方式判断是否有按键按下,四个按键分别实现电机加速、减速、反转、制动的功能。3直流电机调速系统软件设计3.1 直流电机调速系统软件设计流程图直流电机调速系统软件设计流程图如图3所示,中断程序如图4、图5所示。 图3 调速系统软件 图4 按键中断 图5 测速中断设流程图 程序流程图 程序流程图3.2 PWM模块系统采用PWM方法调整电动机的速度,首先应确定合理的脉冲频率。脉冲宽度一定时,频率对电机运行的平稳性有较大影响,脉冲频率高电动机运行的连续性好,但带负载能力差;脉冲频率

    8、低则反之。调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用LPC2124产生PWM脉冲的软件实现上比较方便。PWM输出频率采用系统时钟频率,通过转速调节器调节PWM占空比,实现直流电机的调速驱动。PWM初始化子程序流程如图6所示。图6 PWM初始化流程图3.3测速模块本系统采用T法测速,旋转编码器输出的脉冲由LPC2124的P0.28捕获,电机每转一圈旋转编码器输出60个脉冲,每捕获一个编码器输出脉冲,则进入中断读取定时器的值,计算测速时间,通过公式(1-2)计算转速 (1-1)T法测速原理如图7所示。图7 T法测速

    9、原理图定时器0初始化流程图如图8所示。图8 定时器0初始化流程图3.4 数字PI调节器模块在微机数字控制系统中,当采样频率足够高时,可以先按模拟系统的设计方法设计调节器,然后再离散化,就可以得到数字控制器的算法,这就是模拟调节器的数字化。当输入时误差函数e(t)、输出函数是u(t)时,PI调节器的传递函数如下: (1-2)式中:Kpi为PI调节器比例部分的放大系数;t为PI调节器的积分时间常数。式子(1-2)的时域表达式可写成: (1-3)其中,为比例系数,1/t为积分系数。将上式离散化成差分方程,其第k拍输出为: (1-4)其中,为采样周期。式(1-4)表述的差分方程为位置式算法,u(k)为

    10、第k拍的输出值。由式子看出,比例部分只与当前的偏差有关,而积分部分则是系统过去所有偏差的累积。位置式PI调节器的结构清晰,P和I两部分作用分明,参数调整简单明了。为了安全起见,常须对调节器的输出实行限幅。在数字控制算法中,要对u限幅,只须在程序内设置限幅值um,当u(k)um时,便以限幅值um作为输出。而位置式算法必须要同时设积分限幅和输出限幅。带有积分限幅和输出限幅的位置式数字PI调节程序框图如图9所示。图9位置式数字PI调节流程图本系统只采用了P调节器,即令PI参数为零,经过仿真发现系统可以较稳定地运行。3.5 直流电机制动直流电机要达到快速制动,必须采用反压制动方式,所以制动过程采用另外

    11、独立的程序设计。因为原先采用统一的调速程序发现,制动过程反转超调后就向反方向加速,导致系统不稳定。采用独立的程序设计实现电机逐级制动,随转速降低减小PI参数,最后置高P0.6、P0.7,保证超调也不会反转加速。4直流电机调速系统Proteus仿真结果本系统采用简单的按键操作,实现电机的加速、减速、制动、反转功能,由于时间仓促,在判断按键过程,我们只考虑了只有一个按键按下的情况。本系统各按键的共能如下1 加速键用于电机加速,每按一次电机转速增加10r/min。2 减速键用于电机减速,每按一次电机转速减小10r/min。3 制动键用于电机制动,停止电机旋转。4 反转键用于电机反转,每按一次电机反转

    12、。按键仿真图如图10所示。图10 按键仿真图当连接好仿真图和载入LPC2124的执行文件后,单击Proteus的仿真启动按钮,则开始对本系统的仿真。其运行流程如下:(1) 按20次加速键让电机启动正转,达到200r/min,所需时间大致在1.3s 左右,如图11所示。图11 加速正转 (2) 按一次减速键,电机转速减小10r/min,到达190r/min,如图12所示。图12 减速 (3) 按一次反转按键,电机反转,到达-190r/min,如图13所示。图13 反转 (4) 按一次制动键,电机制动,转速较大时,电机可以快速制动到接近零,之后缓慢减速,如图14所示。图14 制动 经过仿真调试,发

    13、现系统可以实现基本的调速功能,并且可以较快速地启动,系统具有较好的稳定性,误差范围在。5 结束语本设计采用ARM7 LPC2124及外部扩展设备实现对直流电机的转速监控,在硬件上采用了基于PWM技术的H型桥式驱动电路,解决了电机驱动的效率问题,在软件上也采用较为合理的系统结构及算法,提高了ARM的使用效率。以往的数字化直流调速系统中转速常用测速发电机来检测,这种测速方法的精度不够高,在低速时更为严重,很难保障生产的高效、安全运行,所以在本次设计中测速采用了目前较先进的旋转编码器测速,即数字测速。数字测速不仅精度高,而且安全稳定、维护方便。本系统的直流调速系统采用单闭环P调节器控制。用软件编程完

    14、成转速驱动,转速检测,实现了对转速的最优化调节。同时还实现了转速的按键输入控制。通过本次设计,加强了我对ARM应用知识的掌握,同时了解了目前工业生产中数字化系统的重要性,使我对使用ARM实现自动化控制的设计过程有了全面地了解。通过学习控制系统工作原理以及如何利用ARM实现各种功能,我查阅了大量相关资料,学会了许多知识,培养了我独立解决问题的能力。同时在对硬件电路设计的过程中,巩固了我的专业课知识,使自己受益匪浅。当然在本次设计中还有需要完善的地方,比如可以增加一个显示模块,显示系统运行的状态,还可以改善调节器,采用PID调节器使转速稳定无超调,另外还可以改善按键输入为数字键盘输入,这样可以给定

    15、具体的转速。总之,通过本次设计不仅进一步强化了专业知识,还掌握了设计系统的方法、步骤等,为今后的工作和学习打下了坚实的基础。由于时间仓促,本论文中或多或少会存在一些缺点,所设计的软件难免存在一些不足,恳请老师批评和指正。附录 基于LPC2124的直流电机调速系统源代码/*File: Main.c*功能: 使用PWM6输出PWM信号,通过KEY1,KEY2,KEY3控制电机转速,KEY1按一次加速10r/min,KEY2按一下减速10r/min,KEY3按一下制动,KEY4按一下反转*/#include LPC21xx.htypedef unsigned int uint32;typedef i

    16、nt int32;#define pwmdata 240000 /*PWM周期*/#define f0 1000000 /*计数器频率*/#define Z 60 /*电机每转一圈产生Z个脉冲*/#define kp 0.1 /*PI调节器比例系数*/#define ki 0 /*PI调节器积分系数*/#define KEY 0x0b800000 /*P0.23,P0.24,P0.25,P0.27引脚连有按键*/#define KEY1 0x00800000 /*P0.23引脚连接KEY1*/#define KEY2 0x01000000 /*P0.24引脚连接KEY2*/#define KE

    17、Y3 0x02000000 /*P0.25引脚连接KEY3*/#define KEY4 0x08000000 /*P0.27引脚连接KEY4*/uint32 t1=0,t2=0,i=0;uint32 flag=0; /*制动标志,flag=1转速接近0*/uint32 fv=0; /*正反转标志,fv=0正转,fv=1反转*/ int32 nu=0,n=0; /*nu给定转速,n检测转速*/_irq void IRQ_T0(void) t2=T0CR2; /读取捕获寄存器 T0CR2=0; /捕获寄存器清零 if(t1t2) n=1.236*60*f0/(Z*(t2-t1+f0); /1.23

    18、6为修正系数 t1=t2; T0IR=0x40; /清除捕捉0中断标志(向6位写1) VICVectAddr=0x00; /中断结束_irq void IRQ_EINT0(void) uint32 i; IOCLR0=0x00000001; for(i=0;i=0) nu+=10; else nu-=10; else if(IOPIN0&KEY2)=0) /KEY2按键按下,减速 if(nu10) nu-=10; else if(nu-10) nu+=10; else nu=0; else if(IOPIN0&KEY3)=0) nu=0; /KEY3按键按下,制动 else if(IOPIN0

    19、&KEY4)=0) /KEY4按键按下,反转 if(fv=0) fv=1; else fv=0; nu=-nu; while(IOPIN0&KEY)!=KEY); /等待按键放开 EXTINT=0x01; /清楚EINT0中断标志 VICVectAddr=0x00; /中断结束void TargetInit(void) /*管脚配置初始化*/ PINSEL0=0x00080000; /设置PWM6连接到P0.9引脚 PINSEL1=0x02000000; /P0.28捕捉 IODIR0=0x000002c0; /P0.6,P0.7,P0.9输出 /*PWM初始化*/ PWMPR=0x00; /

    20、不分频,计数频率为Fpclk PWMMCR=0x02; /设置PWMMR0匹配时复位PWMTC PWMMR0=pwmdata; /设置PWM周期 PWMMR6=120000; /设置PWM占空比 PWMLER=0x40; /PWMMR6锁存 PWMPCR=0x4000; /允许PWM6输出,单边PWM PWMTCR=0x09; /启动定时器,PWM使能 /*EINT0中断初始化*/ PINSEL1=(PINSEL1&0xfffffffc)|0x01; /选择P0.16为EINT0 EXTMODE=EXTMODE&0x0e; /电平触发 EXTPOLAR=EXTPOLAR&0x0e; /低电平中

    21、断 /*定时器0初始化*/ T0TC=0; /清除 T0计数值 T0PR=23; /24分频(24MHZ分频后变成1MHZ) T0MR0=1000000; /计数匹配值 T0CCR=0x0140; /第七位写1进入捕捉模式 (上升沿捕捉,进入中断) T0MCR=0x00000002; /匹配后复位T0(不停止) T0TCR=0x00000002; /复位计数器 T0TCR=0x00000001; /计数器使能 /*中断向量初始化*/ VICIntSelect=0x00000000; /中断向量寄存器选择0,IRQ中断 VICVectCntl0=0x20|4; /定时器0中断分配为向量IRQ通道

    22、0 VICVectAddr0=(uint32)IRQ_T0; /向量IRQ通道0的中断服务程序地址为IRQ_T0 VICVectCntl1=0x20|14; /EINT0中断分配为向量IRQ通道1 VICVectAddr1=(uint32)IRQ_EINT0; /向量IRQ通道1的中断服务程序地址为IRQ_EINT0 VICIntEnable=(14)|(150) PI=-0.8; else if(n20) PI=-0.5; else if(n10) PI=-0.3; else if(n3) PI=-0.1; else PI=0;flag=1; else /如果反转 if(n50) PI=0.

    23、8; else if(n20) PI=0.5; else if(n10) PI=0.3; else if(n3) PI=0.1; else PI=0;flag=1; else if(nu0) es=nu-n; else es=nu+n; sum=sum+es; PI=kp*es+ki*sum; if(PI0.8)PI=0.8; /过饱和保护 if(PI0) IOSET0=0x00000040; /设置P0.6高电平,P0.7低电平 IOCLR0=0x00000080; /正转 PWMMR0=pwmdata; PWMMR6=pwmdata*PI; /设置PWM占空比 PWMLER=0x40; /

    24、PWMMR6锁存,更新PWM占空比 else if(PI0) IOCLR0=0x00000040; /设置P0.6低电平,P0.7高电平 IOSET0=0x00000080; /反转 PWMMR0=pwmdata; PWMMR6=pwmdata*(-PI); /设置PWM占空比 PWMLER=0x40; /PWMMR6锁存,更新PWM占空比 /return(0);参考文献1 杨旭强、吴红星、金钊编著,基于ARM的电动机控制技术M.北京:中国电力出版社,2008.2 周立功主编,ARM嵌入式系统基础教程(第2版)M.北京:北京航天航空大学出版社,2008.9.3 周润景、袁伟亭、景晓松编著,Proteus在MCS-51&ARM7系统中的应用百例M.北京:电子工业出版社,2006.10.4 陈伯时主编,电力拖动自动控制系统运动控制系统M.北京:机械工业出版社,2003.7.


    注意事项

    本文(基于LPC2124的直流电机调速系统Proteus仿真.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开