亿加合和智能车制作

标题: 关于直立车速度控制的问题 [打印本页]

作者: 神马青年啊    时间: 2013-6-13 15:52
标题: 关于直立车速度控制的问题
最近重读了官方的代码,感觉程序又有些问题想不明白,以前是觉得可以用直接跳过了
void SpeedControlOutput(void) {
        float fValue;
        fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld;
        g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) / SPEED_CONTROL_PERIOD + g_fSpeedControlOutOld;

这段程序中的g_nSpeedControlPeriod  一直不知道怎么处理,看官网的程序也感觉有点没头没脑的 有没有已经用上了这种办法并且熟悉的告诉我一下对FVALUE处理(g_nSpeedControlPeriod + 1) / SPEED_CONTROL_PERIOD是怎么来的
作者: 神马青年啊    时间: 2013-6-13 15:53
顶一个 不要沉
作者: 神马青年啊    时间: 2013-6-13 15:53
顶一个 不要沉
作者: wen123    时间: 2013-6-13 17:18
这不每次加一点啊,,很好理解吧。。你看看速度控制函数的周期,,和速度平滑处理函数的周期时间对比一下不就很明显了么?
作者: 夏日的冰    时间: 2013-6-13 23:29
速度平滑处理,官网的速度控制周期是100ms,速度的pwm改变量如果在100ms时刻计算出后立刻输出,会造成不平滑抖动等,这段代码就是把这个100ms周期计算一次得到的pwm平均分配到20个5ms时间去输出,,平滑!
作者: 神马青年啊    时间: 2013-6-14 12:18
夏日的冰 发表于 2013-6-13 23:29
速度平滑处理,官网的速度控制周期是100ms,速度的pwm改变量如果在100ms时刻计算出后立刻输出,会造成不平滑 ...

3q !!~
作者: zlshang    时间: 2014-3-1 22:34
夏日的冰 发表于 2013-6-13 23:29
速度平滑处理,官网的速度控制周期是100ms,速度的pwm改变量如果在100ms时刻计算出后立刻输出,会造成不平滑 ...

解析果然到位  造福后人啊   我也算是明白了





欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2