《基于LPC2124的直流电机调速系统Proteus仿真设计》由会员分享,可在线阅读,更多相关《基于LPC2124的直流电机调速系统Proteus仿真设计(15页珍藏版)》请在金锄头文库上搜索。
1、基于LPC2124的直流电机调速系统Proteus仿真1 直流电机、减速器与传感器选型设计要求驱动轮式机器人,两轮的直径一样为0.1m,驱动电机选用直流电机,为了满足加速度需求,每个电机配备了减速装置,且两轮为独立驱动。小车运行过程中自带电池,电池的供电电压为+24VDC,为满足机器人比赛需要,经需求分析可得该机器人运动控制系统的最大速度为:5.0m/s,最大加速度为:20m/s2,控制方案采用闭环控制方案。通过计算可知,在没有减速器的情况下,电机应达到955r/min才能实现最大转速5.0m/s,启动时间应该小于0.25s才能达到最大加速度20m/s2的要求。所以,可以选择额定电压24V,空
2、载转速2500r/min的直流电机,采用调速比2.5的减速器,加速度要求通过软件实现。系统要求采用闭环控制方案,本设计采用转速单闭环控制,选用旋转编码器作为测速传感器。旋转编码器不仅精度高,而且安全稳定、维护方便,在Proteus库里有配套旋转编码器的直流电机,方便仿真。理论上旋转编码器的光栅数越大,测速越精确,但是光栅数的增大会增加制作难度和成本,本设计只是用于轮式机器人的测速,采用光栅数1024的旋转编码器足以,同时可以采用四倍频电路提高转速分辨率。在基于Proteus仿真的直流电机调速系统中,由于各种限制,设计并不能达到系统的具体要求,但是可以作为一个可供参考的调速模型。2 直流电机调速
3、系统硬件设计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是ST公司生产的一种高电压、大电流电机驱动芯片
4、。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。芯片部结构图如图2所示。图2 L298芯片的部结构图L298驱动直流电机参考表
5、1表1 L298驱动直流电机参考表电机旋转方式控制端IN1控制端IN2控制端IN3控制端IN4输入PWM信号改变脉宽可调速调速端A调速端BM1正转高低/高/反转低高/高/停止低低/高/M2正转/高低/高反转/低高/高停止低低/高2.4 直流电机调速系统Proteus仿真电路 Proteus的元件库中提供许多种类型的电机元件,从简单的直流电机到步进电机、伺服电机都有,我们选取一个带编码器的电机MOTOR-ENCODER来仿真,之所以用带编码器的,是因为我们需要用到编码器的输出信号来测量电机的转速。MOTOR-ENCODER的编码输出与本系统所要求的增量式旋转编码具有同等功能,可提供两路路具有90
6、相位差的编码脉冲,利用其中任何一个可实现对转速的检测。在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输出高低电平控制电机转速方向;四个二极管作为续流二极管,起保护作用;四个按键通过上拉电阻与LPC通用端口相连,按键按下,低电
7、平有效,另外通过一个四输入与门与外部中断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法测速原理图定时器0初始化流程图如图8所示。图8 定时器0初始化流程图3
9、.4 数字PI调节器模块在微机数字控制系统中,当采样频率足够高时,可以先按模拟系统的设计方法设计调节器,然后再离散化,就可以得到数字控制器的算法,这就是模拟调节器的数字化。当输入时误差函数e(t)、输出函数是u(t)时,PI调节器的传递函数如下:(1-2)式中:Kpi为PI调节器比例部分的放大系数;t为PI调节器的积分时间常数。式子(1-2)的时域表达式可写成:(1-3)其中,KP=Kpi为比例系数,KI=1/t为积分系数。将上式离散化成差分方程,其第k拍输出为:(1-4)其中,Tsam为采样周期。式(1-4)表述的差分方程为位置式算法,u(k)为第k拍的输出值。由式子看出,比例部分只与当前的
10、偏差有关,而积分部分则是系统过去所有偏差的累积。位置式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仿真结果本系统采用简单的按键操作,实现电机的加速、减速、制动、反转功能,由于时间仓促,在判断按键过程,我们只考虑了只有一个按键按下的情况。本系统各按键的共能如下 加速键用于电机加速,每按一次电机转速增加10r/min。 减速键用于电机减速,每按一次电机转速减小10r/min。 制动键用于电机制动,停止电机旋转。 反转键用于电机反转,每按一次电机反转。按键仿真图如图10所示。图10 按键仿真图当连接好仿
12、真图和载入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、性,误差围在卤1r/min。5 结束语本设计采用ARM7 LPC2124与外部扩展设备实现对直流电机的转速监控,在硬件上采用了基于PWM技术的H型桥式驱动电路,解决了电机驱动的效率问题,在软件上也采用较为合理的系统结构与算法,提高了ARM的使用效率。以往的数字化直流调速系统中转速常用测速发电机来检测,这种测速方法的精度不够高,在低速时更为严重,很难保障生产的高效、安全运行,所以在本次设计中测速采用了目前较先进的旋转编码器测速,即数字测速。数字测速不仅精度高,而且安全稳定、维护方便。本系统的直流调速系统采用单闭环P调节器控制。用软件编程完成转速驱动,转速检测,实现了对转速的最优化调节。同时还实现
14、了转速的按键输入控制。通过本次设计,加强了我对ARM应用知识的掌握,同时了解了目前工业生产中数字化系统的重要性,使我对使用ARM实现自动化控制的设计过程有了全面地了解。通过学习控制系统工作原理以与如何利用ARM实现各种功能,我查阅了大量相关资料,学会了许多知识,培养了我独立解决问题的能力。同时在对硬件电路设计的过程中,巩固了我的专业课知识,使自己受益匪浅。当然在本次设计中还有需要完善的地方,比如可以增加一个显示模块,显示系统运行的状态,还可以改善调节器,采用PID调节器使转速稳定无超调,另外还可以改善按键输入为数字键盘输入,这样可以给定具体的转速。总之,通过本次设计不仅进一步强化了专业知识,还掌握了设计系统的方法、步骤等,为今后的工作和学习打下了坚实的基础。由于时间仓促,本论文中或多或少会存在一些缺点,所设计的软件难免存在一些不足,恳请老师批评和指正。附录基于LPC2124的直流电机调速系统源代码/*File: Main.c*功能: 使用PWM6输出PWM信号,通过KEY1,KEY2,KEY3控制电机转速,KEY1按一次加速10r/min,KEY2按一下减速10r/min,KEY3按一下制动,KEY4按一下反转*/#include LPC21xx.htypedef unsigned int uint32;typedef int i