极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 32870|回复: 11

【STM32 +mpu6050】独轮平衡车 -- 调试问题

[复制链接]
发表于 2015-6-3 11:42:21 | 显示全部楼层 |阅读模式
大家好, 最近接手了这个独轮平衡车的项目, 电机是BLDC,低速以及自稳状态用的是6 STEPS驱动, 平稳运行下才切入FOC+SWPWM, 转速反馈用120度HALL传感器。 我用了最简单的PD控制 姿态角度,反馈直接控制电机转速,那么问题来了, 小车在自平衡状态下,电机会来回晃动,虽然晃动幅度也不大,但是比起商业上卖的,还是差很远。 不管我用6 STEP,还是DTC来控制BLDC电机,都会出现来回抖动。我也是醉了,上来看看大家怎么弄的

我准备试试大家说的那条 公式:Pwm_out = Kap*Angle[0] + Kad*w[0] + Ksp*speeds_filter + Ksi*positions ;   //PID控制器

我看各位小神做的小车,好像在平衡态都会来回晃动,到底问题出在哪里呢? 最好谁能给个姿态控制的系统框图,教教我怎么弄,谢谢提出宝贵意见;

我微信:chichen5958

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2015-6-3 12:39:24 | 显示全部楼层
不太清楚前后晃动是什么意思,如果是低频摆动的话可能只是参数有点小了。。BLDC这么高端的电机照理说只用PD完全可以很好平衡了



PWM= g_fCarAngle * P_ANGLE + Gyro_Now * D_ANGLE,只用两个参数的效果(速度环是PI)
http://v.youku.com/v_show/id_XMTI1MzgzMzkyOA==.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-3 13:09:07 | 显示全部楼层
pz_cloud 发表于 2015-6-3 12:39
不太清楚前后晃动是什么意思,如果是低频摆动的话可能只是参数有点小了。。BLDC这么高端的电机照理说只用PD ...

来回晃动,意思就是电机在不停的正反转,能不能做到电机不转,或者转动很小根本看不出来?
回复 支持 反对

使用道具 举报

发表于 2015-6-3 13:18:25 | 显示全部楼层
当然可以,你这个主要问题是获取的角度的偏差我觉得,首先6050本来就没有一些大封装的陀螺仪和加速度计精确,比赛的时候我们在本来调的很好的车上换过陀螺仪,然后就像你说的开始有小幅的晃动了。另外滤波算法也很有影响,如果收敛不够准确不够快的话,车反馈的角度不对当然就不可能完全静止不动,一定会有漂移的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-3 13:57:13 | 显示全部楼层
本帖最后由 Marvell_Chen 于 2015-6-3 13:58 编辑
pz_cloud 发表于 2015-6-3 13:18
当然可以,你这个主要问题是获取的角度的偏差我觉得,首先6050本来就没有一些大封装的陀螺仪和加速度计精确 ...


谢谢你的宝贵意见, 我按照你说的PD+PI做法,画了一个系统控制框图,如下:
file:///C:/Users/Administrator/Desktop/PHOTO/1.jpg
你看看是不是这个做法;
我也怀疑滤波算法很有影响,我目前用6050自带的MPL程序读出那个9维数组,然后过一个KALMAN FILTER就拿出来用了,感觉数据出的很慢啊;
我是电力传动专业的,BLDC各种控制都做过,6050没用过呀,找个熟悉姿态算法的同学一起互相学习一下,这个平衡车就好弄了啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-6-3 14:17:18 | 显示全部楼层
本帖最后由 pz_cloud 于 2015-6-3 14:18 编辑
Marvell_Chen 发表于 2015-6-3 13:57
谢谢你的宝贵意见, 我按照你说的PD+PI做法,画了一个系统控制框图,如下:

你看看是不是这个做法; ...


单纯角度环控制的话是这样的


我看你这个速度环用来控制电机输出了?其实平衡车里面的速度环是用来控制车的运动速度的,就是说,如果没有速度环,车子虽然可以直立,但是它无法区分车子是静止直立还是边走边直立,所以速度环的输入应该是车速,输出级联到角度环的目标值,这样通过控制平衡目标角度来达到控制速度的效果(可以想象如果车体被设定为目标角度是偏离物理平衡角度的,那么它就会有加减速运动)。然而对于载人车来说,本身就是通过身体倾斜来控制速度的,所以这里面的速度环可能只是起到一个限制最大速度的作用,所以在你调试直立的时候,是可以不用加速度环的,个人理解。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-6-3 15:59:09 | 显示全部楼层
            好大的轮子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-5 15:41:56 | 显示全部楼层
问题已解决, 用PD环控制角度和加速度, 然后用PI环控制电机的转矩,保证姿态角度更新足够快,就能做到大转矩稳定;
回复 支持 反对

使用道具 举报

发表于 2015-7-2 13:26:53 | 显示全部楼层
Marvell_Chen 发表于 2015-6-5 15:41
问题已解决, 用PD环控制角度和加速度, 然后用PI环控制电机的转矩,保证姿态角度更新足够快,就能做到大转 ...

大哥,,您弄好没呢,,最近我也在搞平衡小车,可以很好的直立,但只是直立。。。角度大了就栽下去了,根本无法行走,我用的也是stm32.加mpu6050。。我想和您交流交流,向您请教哈,可以加个联系方式吗QQ951264457
回复 支持 反对

使用道具 举报

发表于 2015-7-25 20:04:58 | 显示全部楼层
能分享一下资料不?要是能提供有原理图就更好了。
回复 支持 反对

使用道具 举报

发表于 2015-8-5 18:19:38 | 显示全部楼层
Kcopter飞控板集成STM32F103CB MPU6050 HMC5883L MS5611,Keil编译,直接下载程序,想了解可以加Q:2880610675
回复 支持 反对

使用道具 举报

发表于 2015-8-5 18:20:18 | 显示全部楼层
Kcopter飞控板集成STM32F103CB MPU6050 HMC5883L MS5611,Keil编译,直接下载程序,想了解可以加Q:2880610675
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-19 11:58 , Processed in 0.040103 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表