找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 653|回复: 5
收起左侧

PID平衡车(STC15w单片机) ,小车站不起来,小白求助

[复制链接]
ID:1113739 发表于 2024-5-30 23:55 | 显示全部楼层 |阅读模式
使用的是stc15w408as单片机,通过获取的mpu6050原始数据来控制小车的平衡,使用PD直立环直接输出PWM,但是小车一直平衡不,KP调大了,小车稍微倾斜电机快速响应小车不受控制,KP调小了小车倒了电机还没有反应过来,小白求助!  该怎么解决???


   int balance(float Angle,float Gyro)//roll(横滚角)(回复力)、角速度(阻尼力)
                 
        {  
                int ZHONG=180;
                float Bias;
                float Balance_Kp=6,Balance_Kd=0.05;//600   kp(0 - 25) kd( 0 - 2 )
                int pwm;
                Bias=ZHONG-Angle;                       //===求出平衡的角度中值 和机械相关
                balance=Balance_Kp*Bias+Gyro*Balance_Kd;   //===计算平衡控制的电机PWM  PD控制   kp是P系数 kd是D系数
                return pwm;
        }



回复

使用道具 举报

ID:1113739 发表于 2024-5-31 00:01 | 显示全部楼层
(第一次发帖,谢谢您的回复!!!!)
回复

使用道具 举报

ID:844772 发表于 2024-5-31 11:40 | 显示全部楼层
总觉得犯的是简单错误,当然也要先将速度环的参数都置零使直立环单独工作
1.机械中值为小车不上电平衡时的角度,你直接用了180,
2.参数整定要做的俩件事是判断参数极性和判断参数的大小,主要是不能反了。
反正站起来容易,但调掉小车的低频震荡麻烦。
回复

使用道具 举报

ID:401564 发表于 2024-5-31 11:59 | 显示全部楼层
PID本身就是那么几行代码,PID的工作量基本都是花在参数调试上的
回复

使用道具 举报

ID:1113739 发表于 2024-5-31 21:01 | 显示全部楼层
glinfei 发表于 2024-5-31 11:40
总觉得犯的是简单错误,当然也要先将速度环的参数都置零使直立环单独工作
1.机械中值为小车不上电平衡时的 ...

谢谢你!   极性没有反呀,车身往哪边到,就往哪边动,不是这样吗?  可是我这个一直是不能平衡的,没有法了,调参调了好久,感觉不是调参解决的..
回复

使用道具 举报

ID:1113739 发表于 2024-5-31 21:02 | 显示全部楼层
Y_G_G 发表于 2024-5-31 11:59
PID本身就是那么几行代码,PID的工作量基本都是花在参数调试上的

谢谢你了!    我调参也搞了一段时间,感觉不是我调参能解决的问题了
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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