智能车制作

标题: 平衡组PWM计算的疑问 [打印本页]

作者: McLee    时间: 2014-11-17 10:50
标题: 平衡组PWM计算的疑问
求各路大神指点啊啊啊,平衡车计算车身倾斜的角度后怎么再去计算相应的PWM值,比如车身倾斜了1度PWM该取值多少,我看了好多技术报告都是直接将角度PD之后的值+速度值+方向值然后就作为duty给单片机的PWM模块,好奇怪为什么可以这样相加……(用的是XS128)还有一个比较弱智的问题就是为什么小车要进入中断再去调用那些速度控制啊,角度控制的函数,不能在main加一个死循环去调用吗?


作者: 机遇    时间: 2014-11-17 11:18
你可以试试 只有角度控制的时候 当 P为多少的时候 车子能够克服重力 然后加上D消抖,那你就知道1度时候输出多少PWM了 可以直接加到主函数里 用轮询的方法  定个基准时间 作为轮询的时间
作者: 千杯少    时间: 2014-11-17 12:07
帮顶~
作者: 机电男士    时间: 2014-11-17 12:29
推荐你看看第八届电子科大中山学院香山一队的光电平衡组技术报告,你问的这些那个里面应该都有讲到~本人菜鸟,看过之后讲不出来
作者: 灰原哥哥    时间: 2014-11-17 12:30
可以死循环,但是那样,太快了,CPU占用率过高,没必要。
而且某一次循环,加入你计算时间不同,那么会导致采样点采样时间间隔不均等。
作者: 机电男士    时间: 2014-11-17 12:30
本人没看几份技术报告,就是刚好在这份里面看到了,就讲出来,应该其他技术报告里面也有讲到吧
作者: huang91    时间: 2014-11-17 16:34
第一个问题请看:
http://www.znczz.com/thread-214549-1-1.html

第二个问题:
首先,与其说在中断中调用那些控制,不如说定时控制,中断只是划分时间片的手段。

其次,不少应用都需要知道时间量。比如陀螺仪信号(角速度)的积分时间,滤波器采样时间,卡尔曼滤波中对系统模型离散化时需要知道相邻两次观测的时间间隔(迭代运算时也需要),由编码器脉冲数求取速度时等。

这种时间片,任务划分,化整为零的思想楼主自己好好体会体会吧,别停留在第一个阶段。
作者: 黑色枫夜    时间: 2014-11-17 19:15
最主要是在PID控制中,控制时间也是一个很重要的参数,主函数里面的循环可能使每次控制的周期不一样,这样的话车子不会很稳定
作者: 1224091496    时间: 2014-11-17 21:01
因为是线性的所以可以相加




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2