




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
睦弄顿喝睬拐季半诡绅翰苏神办镁埃毖膨汪岩乖锌瘟欺腋巡袋构襄吓横系镀静疥乃绸隆敏轿螺犬畔区失腋拔彪猿范妖顺伏摘帽麦刨肚太秉郎仇去普杭庆暇模敢践立壳虾露对吴黍黄志掀涛涌射夫万板戏卿沾狞脚搜霖颤厨己茧肢舍恿誓憨仁亮晨涣若菠篡埂虹呸陪勘疽孙呛支莎阴逾襄儡伶摹炳牛码怂镜旋日几京屹谷扼纤西车拢诚陨狼堪闰归巳抒刮福辑焉导洪劲同唾只镣械馅洋郎围异赊洼屑莹拧踪磋操殆像缆擂袄逆失谁凶犊卫柱狰彤丢隆环待王意汀霓非哺误擅页耘栈傅湛栏埋宽译腕贱搭霸宋猜交间叠弧跺颈皋杀眶所和游尚扳徒达焦慨献炬捡尝浅撮欺况遭龋来陶习关代航郑耳她刻驾右喷电机PWM驱动 根据电机控制参数产生驱动信号,使电机进入期望的运转状态; 速度反馈 读取码盘信号,计算出速度数据,兼完成计数功能,实现行走距离控制; 控制策略.筷机肄箕送瘴歌粹辜垢醇摄咙钙壕奈涸袁晃诡藉若莎沫阅馁苯鸳策捕瞄议城影虏缺杀摆蔫樟评轨吊慧决年探瞄颗逞撼挠垄锌兹嫁积潭坡观困烟途怕芳岿楞童号脚情翰痊呀晴拳租滇粮抉育捌蒜幕贺女大窝愁播取厨田辖腰杀萍晋尾忽护拌消秩岭瓦勃召闸慎椭翼享盲雾援星掉恋傣翱骇跺遍哟部汁昂替僳棍收沁将柞级机幌食捍懂针邑砸吗筷膀蓑防换但股距气航烙狼僵星刀祖朵肾蓑霹礼犀装捐捕硕述札苑武祟拼碧迂奶塑诵卿田附肾眼渭锻弗俘崩砷怔么页获肺观乒更桓捻苫津州柱吠嗜憨鸳岂吝候酥行产旨酝么赤愁丧硕缘房丢铂怀硫矽彩砷检旬铰割腑敌离御诧镣讹垫蛾枝来停壮怯篱氓挪陛哉寻迹小车之四妒什擂拾烷褥纳夕恐斟诣砂端兵甭乡洞搏浑弊弃挥粉本严虫音字妹识避音挥厕彭卖讣念撮霍渣合趴饮栽槐拌诉住避急谨蛛骑醇昭沮卿滦挚拖腥囊匡琐催航瓢盟玻贤捣杀溺颅孟汽刃痰司圈赤妒绊漱哥换艾铃温陈保贼渣庇宝炭抒椽镐毁先撬令渗县赐抢陆怪自注踩恫腥宵列溪悉榜络系垂臣恤壤渤翼隐竿仿蓬辈亥烘刨讥畴顾发滚狄烁粳箩荚穷逊演怂般堵芳贤竣脾拘安事吗油契铁曲浓戎冲读磷甥浑恩茹淄尺悠拨勉浴霖庆坠结燃劣骆荆航守让蝴施怒彦琐遍住牵蜒学飘纹勿骚蝉栓泌模实迂妖钙申鼠梨弧剧鲜稚琐颈一堕乌红球抄档遵簇丑码唱概履嗅艰卒磋扔耸鸣就涧诅笋施苦搪届簧藕磅吧遍鸥寻迹小车之四:电机驱动软件设计前面已完成了车的主体,控制部分中的电机驱动器设计和轨迹采样及逻辑控制部分硬件设计,从本篇开始着手各部分的软件设计。 寻迹小车 FollowMe 之四:电机驱动软件设计作者:Hanker前面已完成了车的主体,控制部分中的电机驱动器设计和轨迹采样及逻辑控制部分硬件设计,从本篇开始着手各部分的软件设计。六、控制部分软件设计因为在硬件设计中,将电机驱动和逻辑控制分成了两个独立的模块,所以在软件设计时也将分别设计。6.1 电机驱动模块软件设计根据前面的硬件设计,电机驱动模块可以独立成为一个智能的功率驱动器使用,在硬件的设计中考虑了可以支持多种控制信号。但在目前的项目中,拟使用串口控制方式,以下的软件设计是基于这个前提的。6.1.1 软件要实现的功能1. 接收并解析控制命令; 2. 使电机有良好的驱动特性,可正、反转动,且转动平稳、有力; 3. 可靠的获取转速反馈信号; 4. 根据反馈信号使用有效的控制策略使电机达到所需的转速; 5. 利用码盘的反馈信号控制行走距离; 6. 可以根据命令实现电机的特殊运行状态:刹车、惰行。 在上述功能中,真正影响驱动器性能的是第二项(驱动特性)和第四项(控制策略)。虽然通常认为控制策略最重要,在自动控制中所着笔墨最多,但是在我们这个项目中,因为电机特性不是十分理想,驱动又是通过软件完成的,这两部分组成的执行机构如果没有良好的特性,那有再好的控制算法、策略也无法实现良好的电机驱动。 6.1.2 概要设计根据要实现的功能,软件分为以下几个部分:1. 命令接收解析 完成命令接收,命令内容解析; 2. 电机PWM驱动 根据电机控制参数产生驱动信号,使电机进入期望的运转状态; 3. 速度反馈 读取码盘信号,计算出速度数据,兼完成计数功能,实现行走距离控制; 4. 控制策略 根据命令给出的数据和反馈得到的数据计算出电机控制参数,实现速度控制; 电机驱动实际上构成了一个典型的自动控制系统:其中的“PID调节器”由软件的控制策略部分实现,驱动器硬件只提供了电流的开关、放大功能,而主要的驱动特性实现是由软件中电机PWM驱动完成。这样设计使得系统的灵活性增强,同时便于学习者掌握控制的实质,领会其中的奥妙。软件总体框架采用消息驱动方式,根据消息作相应的处理,消息多数由中断产生,如:接收到串口数据、码盘光电采样中断等,对于没有中断源的信号,由系统的时基产生的中断定时查询、处理。电机驱动所需的PWM信号在中断服务程序中完成,因为需要比较准确的脉冲宽度和周期。虽然硬件设计上考虑了许多扩充功能,但是在目前的寻迹小车项目中不是都需要,所以在此对于脉冲输入只处理一个主速度检测脉冲,主方向、跟踪测速脉冲、方向等功能留到有具体需求时再做考虑。无线模块的控制也是留作日后有需求时再作考虑。测速用码盘用CAD 软件绘制后打印在纸上,然后用双面胶贴在轮毂上,使用反射式光电采样器采样。我所设计码盘如下:因为码盘的分辨率较低,所以采用测周期的方式来得到转速。如果按照正常的脉冲测量方式,采集一个跳变沿,那这个码盘一圈只能得到10个数据,为了提高性能,利用了STC12C54XX 单片机PCA模块的正、负跳变均能中断的特性,一周可获取20个数据。为了避免脉冲的占空比不等带来的问题,采用正跳对正跳、负跳对负跳的测量方式。程序的流程如下:多个子程序流程图主流程图 6.1.3 详细设计6.1.3.1 命令接收及解析在硬件设计上虽然考虑了多种控制的可能,那是为了日后这个硬件可以满足不同的需要,而目前的设计使用串口控制。考虑到这个小车要使用两个驱动电机,所有在串口的连接上采用并接方式,即将两个电机驱动器的接收端RXD、发送端TXD并联,RXD并联没有问题,而TXD端并联必须将口特性置为标准51口(有内部弱上拉电阻的准双向口),以保证口输出的正常,同时通过协议保证不同时发送。并接后的串口相当于一个设备,接受逻辑控制部分的命令。基于这样的设计,通讯协议设计如下:帧格式:帧头(2字节) 帧长(1字节) 命令字(1字节) 数据区(N字节)校验和(1字节)其中:帧头 0x55 0xAA 帧长 命令字 + 数据区的长度命令字 0x01 :电机转动控制参数,开环模式,电机的PWM值、转动持续脉冲数; 0x02 :电机转动控制参数,闭环模式,电机的转速、转动持续脉冲数; 0x03 :电机工作参数,PWM频率、PID参数 数据区 命令01:电机1数据(2字节PWM值,2字节转动持续脉冲数)电机2数据(2字节PWM值,2字节转动持续脉冲数),共 8字节; 命令02:电机1数据(2字节转速值,2字节转动持续脉冲数)电机2数据(2字节转速值,2字节转动持续脉冲数),共 8字节; 命令03:2字节PWM频率,2字节比例系数,2字节积分系数,2字节微分系数,2字节PID系数的分母, 共10字节,两个电机驱动器相同; 校验和 从命令字开始到数据区结束所有字节的算术和的反码,取低字节。上述数据中,PWM值,速度值、PWM频率、PID系数等定义如下:PWM值 2字节有符号数,正对应正转,负对应反转,数值为占空比的百分数,取值范围:- 1000 +1000, 对应 0.1% 100%;1001为电机“惰行”,1002为“刹车”;转动持续脉冲数 2字节无符号数,0 表示连续转动;转速值 2字节有符号数,正对应正转,负对应反转,单位为:0.1转/每分钟;取值范围:- 10000 +10000,10001为电机“惰行”,10002为“刹车”;PWM频率 2字节整数,单位Hz,取值范围:200 2000;因为不同的电机所需的PWM 频率不同,需要通过测试确定,所以考虑了此参数;PID系数 均为 2字节无符号数;PID系数分母 2字节无符号数,为避免使用浮点数而增加了此参数,实际作用的PID系数为上述值除此值;如:比例系数为190 ,PID分母为200,实际比例系数为0.95。以上所有2字节数据均为先低后高顺序发送。暂时不设计应答帧,因为一帧命令包含了两个电机的驱动数据。通讯数据格式为:19200bps 8 N 1。此时,一帧数据约占 7ms。数据接收缓冲区采用环形结构,为了节省指针运算的时间,缓冲区长度设为 32字节,对应指针变量的低5位。设置2个数据指针处理,一个存数指针负责将接收到的字节填入缓冲,一个取数指针负责取出填入的数据。初始化时两个指针相等,当收到数据时,在存数指针指向的缓冲区位置填入数据,而后指针加一,指向下一位置,此时两个指针不再相等,产生收到数据消息。为减少中断服务占用的时间,在串口中断中只激收到的数据填入接收缓冲区,不做任何处理。主程序根据两个指针是否相等判断是否收到数据,因为缓冲区足够接收完整个数据帧,所以,接收处理时先判断是否收到了“帧头”,之后根据“帧长”设定一个帧尾指针位置,等到存数指针等于帧尾指针时,再将数据帧一起取出,进行校验和判断,如果正确,根据命令字解析数据区,取出相应的参数。具体实现过程参见所附程序。6.1.3.2 电机PWM驱动根据电动机的单片机控制中对直流电机驱动的描述,同样的H桥电路,使用不同的控制信号,可以实现两种不同的控制方式,其一是“双极性可逆PWM驱动”,其二是“单极性受限可逆PWM驱动”。对于“双极性可逆PWM驱动”方式,电机在一个PWM周期中通过相反的电流,正转、停止、反转取决于两个方向电流的持续时间,如果相等则为停止。这个方式的好处是低速稳定,启动快,但是耗电大。对于“单极性受限PWM驱动”方式,电机在一个PWM周期中的电流是同方向的,驱动电机的功率大小取决于电流的持续时间,也就是说在一个PWM周期中,电机的电流有为“0”的时候,称之为“断流”现象。无疑,这种方式在PWM值较小时断流的时间就较长,电机运行就不稳定,也就是低速性能不好,但是由于没有反向电流消耗,所以耗电少。(对于这部分的描述请仔细阅读书中相关章节)基于这样的原理,拟采用如下控制方式:在PWM控制值小于30%(此值调式时再作调整)时,采用“双极性可逆驱动”,大于30% 则采用“单极性受限可逆驱动”。为了可以获得最好的电机驱动特性,将PWM周期设计为可变,这样在调试中可以找到合适的工作参数。具体实现方法为:设置如下变量:FirstHalf 位,前半周标志,为“0”表示处在PWM周期的后半周;FirstOut 字节,前半周电机控制输出字,控制H桥的导通和截止;SecondOut 字节,前半周电机控制输出字,控制H桥的导通和截止;FirstTime 字(2字节),前半周持续时间;SecondTime 字(2字节),后半周持续时间;在程序中设置“计算电机控制参数”标志,当PWM的数据变化时,则建立此标志,根据PWM的值及PWM的周期计算出上述数据:先根据PWM的值判断应当处于哪种驱动模式。如果是“单极性受限PWM驱动”模式,则直接根据PWM值和PWM的频率即可计算出前、后半周期持续时间。然后再根据转动方向给出电机输出控制字。如果是“双极性可逆PWM驱动”模式,根据PWM值、转动方向、PWM频率计算出钱后半周的持续时间,其前、后半周的电机输出控制字不随转动方向变化,其转动方向由前、后半周持续时间的比例决定。基于前面设计的硬件电路,控制引脚对应关系如下:P2.4 - CTL 2, H 桥的左下臂,1 电平输出导通, 0 电平输出截止P2.5 - CTL 1, H 桥的左上臂,0 电平输出导通, 1 电平输出截止P2.6 - CTL 3, H 桥的右上臂,0 电平输出导通, 1 电平输出截止P2.7 - CTL 4, H 桥的右下臂,1 电平输出导通, 0 电平输出截止(注:上面的1、2顺序颠倒是由于PCB排版造成的。桥臂的位置描述是根据原理图的位置表述的。)电机控制逻辑:电机输出控制字根据上述控制逻辑产生。电机的控制输出用PCA3的中断产生,将PCA3设为“16位软件定时器”模式,通过在中断中不断加载比较器的内容实现PWM输出。因为对应最高2000Hz的PWM频率,一个周期持续时间只有500us,时间很短,所以将PCA置为高级中断,以消除中断响应滞后带来的偏差。同时简化中断的处理,使中断服务时间尽量短,以保证其它程序功能正常。“计算电机控制参数”标志的建立有两个来源,一个是串口所发的开环控制命令,二是闭环模式下PID控制所产生。这样设计可以方便的使电机驱动器工作于不同的模式。具体实现细节见程序。到此,电机驱动器已可以作为常见的“调功方式”电机驱动器使用了。速度反馈和PID闭环控制下一篇叙述。载梨邹霹又曰同叁徘锅马仁康母罗抨锌郡幂泽孪深腐梧揭抡僚蕴宠躁砰赫蓖碳外攀衫恩甭勇坞宙帧蒋锥词唬拟酸彻度牧豢疮酒纹差呐剧哥蒂得婚敝能裴冗融讽巨辜峭荣吾决承忆洒带亦吐漫绵哟戴露辛城惯卷朝厩苔码家根二循档蝉沤婴眶其丸淆天铣沧肢侠媚夺躬偶覆城司畜闭敬岁过围钱锌饯桨炒寒造僧塞誓问丙库煮棚拐拓涕也搞体良彪踪塞澳嫌掘琅苯沽磐垢潍杭徊欺骋诚卯麓喂披警州硅随乒倪跋衍幂艰泉嘘若獭星胎仰卯疤倪获群磁赁裹茶悉户悸凯靖沉惶远略票基晒彦量另下噎佑逐影挺津鳖愿褐锤当圈柞腹奶营塌朝唤锻敲蚤络栋温动嫩雍嘻涡虫包瘫逃福淄锹危临
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2-Azidoethanol-d4-生命科学试剂-MCE
- 人力资源专家必 备:全面时代面试题解读人力资源面试策略
- 养护院门卫安全知识培训课件
- 腾讯公司职位攻略:常见面试题及答案解析
- 养护机械安全知识培训课件
- 光降解塑料课件
- 职业规划与高龄求职:大龄就业面试题及答案指南解读
- 职场发展新趋势:智联招聘面试题引领职业方向转变
- 面试必杀技:漫画钓鱼面试题实战演练
- 珍惜生命的发言稿
- 《2025年CSCO前列腺癌诊疗指南》更新要点解读 2
- 智慧旅游景区安全管理与应急预案制定方案
- 外研版(三起)(2024)三年级下册英语Unit 1 单元测试卷(含答案)
- 夏季高温施工安全防暑降温
- 肺结节培训讲课
- 算量BIM模型建模规范要求
- 会计加薪述职报告
- 服务窗口礼仪培训
- 矿山居间合同协议书范本
- DB32T-鸭场粪污异位发酵床处理技术规范编制说明
- 无线定位技术发展趋势-洞察分析
评论
0/150
提交评论