完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
相关的PID 调节程序如下。其中黑体的gyro[0]是x轴角速度,后边注释说乘上0.0153转换单位为度/每秒
可我查相关资料mpu6050读到的数据除以16.40就可以得到角速度,单位为度每秒,也就是乘上1/16.40=0.06098,而不是0.0153。这么算有木有问题? 还有,如何最方便找到mpu静止水平时的gyrox也就是x轴角速度?我用oled测试过他的数据非常不稳定,不容易确定一个小范围的值。 /*************PID控制调节******************************/ /****************************************************** Function: void PID_balance(float vertical) Description:通过运算得到合适的PWM值 Input: vertical:小车垂直于桌面时得到的角度,用于垂直校准 Output: PWM_L、PWM_L,通过计算得到合适的PWM值 ******************************************************/ void PID_balance(float vertical) { static s16 needAngle; err = Roll - vertical; //得到实际偏差角度 needAngle = err + speedNeedAngle; //需要小车保持的角度 err = needAngle - vertical; //得到实际偏差角度 PWM = - err * pidValue[0] //角度 - (gyro[0]-GYRO_X_ADJUST)*0.0153 * pidValue[1] * 0.1 //角速度 静止初始化时 gyrox=11 *0.0153将单位换算为(°/s) - position_dot_filter * pidValue[2] * 0.1 //单位时间脉冲个数,看做速度 - position * pidValue[3] * 0.0001; //运行距离 *0.0001是为了是PID参数为整数 PWM_L = PWM + turnNeed ; PWM_R = PWM - turnNeed ; } 有大神的话帮忙把这个pid调节的程序分析一下,嘿嘿,最近在学校准备参加电子科技竞赛,好多东西都不是很明白。 |
|
相关推荐
3个回答
|
|
|
|
|
|
你好,你的问题解决了吗?
|
|
|
|
|
|
你好,可以分享下你的c8t6的代码?我也是在用这个来做,最近老是调不出来,可以联系QQ:2024315152,非常感谢!
|
|
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4872 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
812浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
877浏览 2评论
962浏览 2评论
845浏览 2评论
2170浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 05:31 , Processed in 0.753716 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5858