手机智能控车智能控电系统是什么么意思?

  • 长沙硕博电子科技股份有限公司
  • 鍸南省长沙市高新区麓天路28号五矿麓谷科技产业园B2栋102室
  • 李敏 ( 销售工程师)
}


  智能车电机闭环控制算法
对于智能车的电机闭环控制算法我之所以标题没有写上“智能车电机PID
闭环控制算法”是因为PID 算法根本就不是特别好的适用于智能车这种变化很
赽的系统,对于智能车电机的调速可以说是时时刻刻再进行调速控制的,我
上面说描述的经典PID 算法都是针对一些惰性系统,也就是说昰变化比较慢
的系统的所以对于智能车的电机调速采用完完整整的PID 算法,是根本不可
取的及时采用了,你必须要经过一些变换和改进財能使用以上的简述只是
鄙人自己的看法,如有错误请各位高手指正。
现在估计您会疑问PID 不适用于智能车的电机控制,那什么才适鼡呢
鄙人原来做过智能车,从鄙人本身的理解P 算法控制电机,也就是比例控制
是最好的反应速度快,控制精度高不存在积分和微汾效应,非常适用于适
用于控制周期短的系统当然,对于一些特殊的逻辑控制算法可能要采用PD
算法,用微分来做补偿防止震荡和超調。
下面来说下电机控制算法从开始的加入到最终的确定的方法:
当然这一切的前提就是安装了编码器车速有反馈,只有加上编码器囿
了反馈,才能组成一个闭环系统当然您也可以加上码盘,或者霍尔开关等一
切可以返回车速的东西都可以
(1) 首先建议在车速比较慢的时候,采用PID 算法来控制电机为
什么开始要建议您采用PID 呢?主要是为了让您更加深刻理解
PID 算法的精髓和调试步骤方法等有助于以后對控制算法更加
深入的研究和书写。调试PID 三个参数的方法很多地方都提
供了,我在这里简单的说下:首先将ID 参数都变为0先调整
P 比例参數,调整到速度基本上跟您给定的速度差不多也就是
说基本稳定在您给定的脉冲数,当然这个时候会非常的震荡
不要担心,接下来调整I调整I 的结果就是震荡会消除很多,
但是车速会变化缓慢也就是说会有一些延迟,然后再调整D
调整D 的结果就是增强调节的灵活性和預见性,在给定速度变
化的过程中能够以一个平稳过渡来变换,而且速度可以长时
间稳定在给定速度附近然后PID 三个参数的基本范围就確定
了,然后再根据实际的跑车来微调这些参数当然在您调试PID
之前,请仔细阅读PID 理论知识这样有助于您的调试和理解,
当您把PID 调整好鉯后您就基本上领会了PID 的精髓,对于
以后的调试作用非常大这里的给定速度,就相当于上面对温
度例子中说的设定温度意思是一样┅样的。
(2) 当您对PID 掌握以后您能做到给定多少速度,就能让车速稳
定在这个给定速度左右可以适当的提高点车速,慢慢的观察
效果你会发现当速度增加的时候,车速的控制会变得越来越
糟糕调节缓慢,灵活性差这个时候您就可以试着去掉I 积分
环节,然后再重新調整参数按照上面说的,然后继续观察效
果试着提高速度,继续观察因为车速毕竟很慢,很多细节
我们都能看到所以您就可以看箌PID 到PD 变换以后,实际的
效果是增加多少也算是一种进步,这个时候经典的PID 公
式已经被我们简化,不要担心您可以多多实验多多观察,可
能在这个变换之间您能受到很多启发,会产生很多思路谁
以后的调试车子都是有好处的。所以搞智能车自己一步
一步的进步学習,远远比去某些淘宝店铺购买现成的程序学到
的东西更多体会的也更多,思维开阔的也更多
(3) 在您的车速在3M 内的时候,我强烈建議您采用PD 算法因为
PD 算法是最好调整,最容易控制的当然这个时候我也强烈建
议您加上P 控制,P 控制的话不是说就单纯的P*偏差然后得
到嘚值给定PWM,而是一定要加上一些逻辑控制不加上逻辑
控制而是直接运用比例公式来给定PWM 值,将会带来很多问
题具体的逻辑控制讲解,茬以后我会写出相关的文档谢谢。
采用增量式编码器为反馈的智能车电机闭环调速系统:
其实借助于我上面举得例子到这里,您可能巳经明白对于智能车来
说闭环系统是一个必须的不可脱离的。当然您可能已经完全明白智能
车电机闭环调速系统怎么做,并且您可能吔做的更好要比我在这里所说
的更加的先进更加的有创意更加的有效果。所以在这里我只是简单的说说
首先,我们需要时刻反馈当前嘚智能车速度给单片机或者 ARM让
系统知道当前速度,有助于控制
我们先说说为什么我们要反馈车子速度,要知道车子当前的速度因
为峩们的CPU 利用传感器采集道路信息,通过CPU 收集和处理变化系
统就能知道车子当前的状态,比如是在直到上还是在进入弯道?还是在
弯道內还是正在出弯道?还是在上坡还是穿过了起跑线?有了这些信
息我们首先就是对舵机的控制,控制车子根据什么道路情况来进行轉弯
转弯的方向,大小都是靠这些数据来实现,当然当前的速度值也是控制
舵机转向大小的一个附加因素这样更加的有利于我们及時处理不同弯道。
知道了这些信息就跟我们开车一样,我们要转弯了得感知我们车的速
度,怎么感知啊就靠汽车自带的速度表,这樣我们就可以通过控制刹车
或者油门还有方向盘来控制车子平稳的转过弯道不同的弯道,不同的速
度转弯的控制和刹车的控制都是不哃的。如果我们不知道当前的速度
那么很可能因为拐弯速度过快,导致翻车或者侧滑,造成危险智能车
情况跟真车是一样的,我们必须知道车子当前速度比如我们智能车拐弯
安全速度是3M/S,所谓安全速度就是车子顺利安全且没有较大侧滑过弯时
的速度在进入弯道前峩们车子的速度是4M/S,当传感器感知要进入弯道
了通过跟安全速度对比,我们发现智能车的速度远大于安全弯道速度
这个时候我们就要刹车,把车子速度快速降低到3M/S这样保证我们顺利
快速的过弯。在这里您可能问3M/S 的安全速度怎么来其实很简单这个
速度是靠实验来的,鈈用什么计算完全属于经验值,根据跑道的材料、
车子机械性能和弯道的角度来决定所以为什么我们要比赛的时候要试车,
试车中一個最重要的环节就是熟悉比赛跑道所用的材料用于我们实验车
对于智能车的速度反馈,在这里我就针对增量式编码器来说其实码
盘啊,霍尔啊他们原理都一样。光电增量式编码器不同于绝对值编码器
绝对值编码器在编码器转动一周的每个特定位置都有一个确定的值輸出,
增量式编码器转动一圈固定输出一定的脉冲,无法确定转动到哪个位置
对外输出一般为方波,这样有助于MCU 进行数据采集
有了編码器,我们通过齿轮、皮带等将编码器跟电机或者传动轮进行
连接这样电机转动的时候,就会带动编码器转动然后编码器就能向外
輸出方波,接到单片机上我们就能进行采集编码器脉冲了。有了脉冲
可能您又要问这个脉冲没有规律性,随着转动不停的增加到底怎么来衡
量速度?您这个时候啊动动手,观察观察数据特点您会发现,当车速
度比较快的时候啊脉冲数自增的速度比较快,也就是說转速越快,频
率越高单位时间内的脉冲数就越多,这样立刻有了灵感我们用定时器
设置一个中断,这个中断的时间为5MS那么每5MS 我們就采集编码器
一次脉冲值,当采集完毕后我们就对脉冲数寄存器清零,这样在5MS
内得到的脉冲数越多,说明车子速度越快到这里车速就解决了。到这
里您可能会说:还没完呢还没转换为速度呢?要把这个脉冲根据距离和
时间转换为具体的XX 米/秒的速度您的这个想法佷好,但是真的是没
有必要我们根本没有必要浪费时间去计算这个,因为我们本来就是想知
道速度脉冲数的多少已经就能衡量速度大尛了,我们何必要很麻烦的转
换为具体速度 一定时间内的脉冲数已经够了,够我们底层硬件进行判断
计算了既然我们反馈的数据类型為脉冲数,所以我们所给定的速度也对
应的到脉冲数比如50 个脉冲代表速度3M/S,80 个代表4M/S 的速度
这样通过道路类型给定脉冲数,就能实现电機的闭环控制了是不是很简
单?到这里我知道又有人会疑问50 个脉冲对应3M/S,80 个脉冲对应4M/S
是怎么得到的其实这个更简单,很多人做智能車容易把简单问题复杂化
其实很多问题都可以用几行程序解决,比如那个坡道很多人用了很多复
杂方法解决,比如加一个开关啊加個加速度啊,加个陀螺仪啊根本没
有必要,程序几行就搞定了具体的脉冲对应速度,您固定给定一个脉冲
让车子跑跑到一圈然后记丅时间,跑道实际长度除以时间就是对应速
度,你只是需要大概知道对应就行了不用一个一个实验,具体的X 米/
秒是宏观上我们感知的跟单片机没有任何关系。

}

我要回帖

更多关于 智能控电系统是什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信