资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
第五章电动轮椅运动控制系统的软件设计在本系统的控制方案中,作者采用 TMS320LF2407A DSP空制芯片作为系统的核心控制芯片。它具有很快的运行速度,丰富的片内外设等系统资源和强大的中断功能以及灵活丰富的指令集、高速运算能力、内部操作的灵活性、低功耗等特点, 使得在系统的软件设计中,可以实现复杂的控制算法。系统软件设计的终极目的是:实现两个电机平滑稳定的协调运动控制,实现轮 椅控制器的人机交互功能,具备完善的故障保护功能,且可以和PC机通讯的功能,使得轮椅能够在各种允许路况下都具有非常平稳舒适的运行性能。5.1 系统的软件设计方案5.1.1 系统的控制方块图由第二章可知,本系统是采用电压负反馈、电流截止负反馈和电流正反馈补偿 的控制算法实现两台直流电机的协调运动控制。调节器是数字PI调节器。系统的控制方块图如图5-1所示:T fituurtn图5-1轮椅运动控制系统控制方块图由图5-1可知,操纵杆的输出信号 X、Y经过S曲线和左/右电机给定发生器后合成为左/右电机的给定信号,取电机两端电压以及电流采样电阻电压作为反馈信号。为了防止轮椅起动或堵转时电机电流过大,本文采用了具有电流截止负反馈的电压闭环调速系统。电流正反馈补偿环节是为了补偿由于电枢电阻引起的速降以提高系统的机械特性。当轮椅运行在比较糟糕的路况时,轮椅的左/ 右电机在相同的给定下,负载大小可能不同,这时当用户本想径直前进时,轮椅可能由于左/右电机负载的不同,而转弯,图 5-1 中的“负载不平衡时电流正反馈补偿”环节就是为克服这种情况而设计的。 S 曲线的设置使得轮椅在起/ 制动时都能够非常平滑和舒适,保证了安全性。速度给定发生器和负载补偿仲裁器是两台电机协调控制的核心指挥部,它们保证了轮椅在二维平面上的自由运行。5.1.2 本系统软件控制的时序对于一个以TMS320LF2407A为核心控制芯片的控制系统来说,首要的任务是确定系统的时钟系统,其次是合理决定软件中的中断数量和顺序。本系统在硬件上采用的是外部晶体振荡器,其频率是10MH4在软件中设定CPU寸钟为40MHz, PW般波频率为20KHz,系统的中断频率和 AD采样频率也都 是 20KHz。5.2 系统软件的主要功能模块本轮椅运动控制系统软件主要包括以下一些功能模块:(1) 初始化模块;(2) 上电时操纵杆中心位置检测程序 ;(3) AD采样子程序;(4) 电池电量检测子程序 ;(5) 睡眠模式子程序;(6) 锁存模式子程序;(7) 鸣笛子程序;(8) 加速度曲线给定子程序 ;(9) 速度按键处理子程序 ;(10) 速度按键鸣笛子程序 ;(11) 防积分饱和PI 调节器子程序 ;(12) 延时子程序;(13) 显示模块。1) 初始化模块本系统初始化模块主要包括:DSP 芯片初始化、液晶显示器初始化、参数初始化。其中 DSP 芯片初始化主要的任务是关中断、定义堆栈宏、配置数据存储空问、禁止看门狗、配置系统寄存器、配置 I/O 口、配置模数转换(AD)模块、配置事件管理器、串行通信接口 (SCI) 初始化、变量初始化、初始化成功鸣笛等。液晶显示器初始化主要包括: 定义液晶时序、指令集范围、擦除液晶显示屏,为显示数据做好准备。参数初始化主要是为本系统软件所使用的一些重要参数,例如 PI 调节器参数,休眠时间,最大正反向、转向加速度等。2) 上电时操纵杆中心位置检测程序当操纵杆不在中心位置时,为了防止用户突然上电开动轮椅造成安全隐患,在上电系统初始化后即对操纵杆是否在中心位置进行检测,若操纵杆在中心位置,则程序继续往下执行; 否则每隔一秒鸣笛一次报警,以示操纵杆不在中心位置,如果十秒内用户释放操纵杆到中心位置则鸣笛结束,程序继续往下执行,否则程序便进入死循环,用户将无法开动轮椅,此时的唯一解决办法是: 关了电源,把操纵杆放到中心位置,重新上电。3) 模数转换 (AD) 子程序AD 采样子程序主要是对操纵杆输出、电机两端电压、电机电流、电池电压进行采样。TMS320F2407A DSP勺AD具有十位精度,系统在软件计算中一般将采样值变换为 Q12 格式。对于轮椅运动控制系统,由于硬件中存在大量的感性元件,以及本文在硬件设计中并没有将功率驱动部分和控制部分进行信号隔离,所以电路中存在大量的干扰信号,尤其是与采样周期同频率的干扰信号。为此,对电机电流和电压采样值采用了递推平均滤波法44 。递推平均滤波法是把N 个测量数据看成一个队列,队列的长度为 N ,每进行一次新的测量,就把测量结果放入队尾,而扔掉原来队首一个数据,这样在队列中始终有N 个“最新”数据。计算滤波值时,只要对队列中的 N 个数据进行平均,就可以得到新的滤波值。递推平均滤波法对周期性干扰具有良好的抑止作用,而且还有平滑度高和灵敏度低的特点。在本轮椅运动控制系统中,N取8。4) 电池电量检测子程序电池电量检测子程序将AD 采样得到的电池电压值换算成用户可以识读的十进制电压值并由液晶显示器显示。在电池电压不足时向用户鸣笛警示,同时液晶显示电池电压不足,给出充电提示。当电池电压低于某下限时,控制器会报警一段时间如果轮椅此时正在运行,则控制器报警一分钟后封管抱闸,以给用户足够的时间停车 ; 如果轮椅静止,则控制器报警五秒后封管抱闸。当轮椅在起/ 制动时,负载电流较大,此时AD 采样所得到的电压值比正常时要小得多,显然不是真实的电池电压值,这就需要对采样值进行滤波处理。本文采用程序判断滤波法44 ,根据经验判断确定两次采样允许的最大偏差 Y , 若先后两次的采样值的差值大于 Y , 则表明输入信号是干扰信号,应该去掉,而将上次采样值作为本次采样值; 若小于 Y ,则本次采样值有效。在本文中取Y 5 V 。5) 睡眠模式子程序当轮椅处在开机状态且三分钟内没有接收到用户对速度键和操纵杆的任何操作, 则轮椅进入休眠模式。在进入休眠模式的最后十秒内,每隔一秒将鸣笛一次以向用户警示轮椅即将进入休眠模式,在此期间如果用户对速度键或操纵杆有任何动作,轮椅将重新开始休眠时间倒计时,否则轮椅将进入休眠模式。要想控制器从休眠模式中退出,只有复位控制器或重新上电。6) 锁存模式子程序在某些特殊场合为了防止对控制器的误动作或为了防止非用户本人使用轮椅,需要将轮椅置于锁存模式。要使得轮椅进入锁存模式,长按加速键听到一声长鸣后,轮椅即进入锁存模式; 解锁时,长按减速键约五秒听到一声长鸣后,轮椅即退出锁存模式。需要注意的是: 只有当操纵杆在中心位置时轮椅才可以被锁定。进入锁存模式后,轮椅封管、抱闸、关继电器。7) 鸣笛子程序鸣笛子程序主要是供其它程序在需要给用户以蜂鸣器的方式警示时调用的子程序。控制鸣笛计时器可以控制蜂鸣器鸣笛时间的长短。8) 加速度曲线给定子程序为了使得轮椅在起/ 制动时能够平滑稳定安全,本文设计了具有S 曲线特性的加速度给定子程序。9) 速度按键处理子程序速度按键处理子程序是用来接收处理来自加减速键的信号,使得轮椅的最大速度能够按照加减速键的状态变化。轮椅的速度共分五个档位,每个档位对应着轮椅的一个最大速度。10) 速度按键鸣笛子程序速度按键鸣笛子程序是用在当用户按下加减速键时蜂鸣器发出一声短鸣以示按键有效,值得注意的是当速度档是一挡或五档时蜂鸣器不叫。11)PI 调节器子程序。12 ) 延时子程序在本轮椅控制系统的软件设计中,所有的延时子程序,均采用 NOP 空指令的循 环,而不是RPT 指令,这是由于 RPT 指令不可以被中断打断45 ,这会造成系统的误动作和一些别的软件故障。13 ) 显示模块显示模块主要用于显示电池电压值、速度档值、轮椅的相关工作模式以及故障报 警显示。14 3 轮椅运动控制系统总的流程图轮椅运动控制系统总的流程图如图 4-2 所示工口目中 -第09B( 了二:L .! i 剑.词用山r电堂正 RE 85 ? I_ Xvf7打电内呈疔或幄叶就。|F :I:Jt.f h1*;3占工。任.: 利剧增制董厘也看 m盘举小花/葡冬带/E面亍际守* IU*震啤比t nfr阑用性4出 IB同洌岛1 纤.r慢出西才F国L二 骄曲“YF 僚统,/力Z :叱IT;15 4系统软件的中断结构本系统主要使用了外部中断 XINT1和T1定时器周期中断其中外部中断XINT1主要完成的任务是:对功率管的故障检测与保护;T1定时器周期中断则主要完成对两个电机的协调控制、AD采样、过流保护、速度按键处理等(1)XINT1中断程序流程图,如图4-3所示,xrvrrf、断开姐j*埼保夫探炳有中松伸 R浮序世阳中断后 也I,程序中品谀叫畛滔千理?4-J XINT1中断程序流程图(2)T1定时器周期中断程序流程图,如图 4-4所示这里对程序流程图做几点说明。1)程序中需要对操纵杆的位置和轮椅的运行状态进行判断,当操纵杆在中心位置且轮椅静止时(二者缺一不可),可以对轮椅进行封管、抱闸的操作。2)电流控制。在本系统中,电流分别以三种方式参与了控制。第一,电流截止负反馈环节,起限流保护的作用。第二,电流正反馈补偿环节,起提高电机机械特性作用。 第三,负载不平衡补偿,顾名思义,起协调两台电机平衡的作用。I,5?* t II i *./.1. r 1FIVW 1,C4d y IFH I JaL .Ci ,ttu “、 z., TA,2r*| dll I,】UTE,r-V ,51R - , CR
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号