HuGuoXuang / Hyun

轮腿机器人:主控esp32 ,陀螺仪MPU6050,PM3510无刷电机和simplefoc驱动器。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

这个项目,我按照你给的材料,已经完成了,但是发现几个问题。

deng189 opened this issue · comments

1、FOC驱动器 焊接好后,两个电机工作正常,前后左右旋转都没有问题,但是工作一段时间后,moto2就缺相了,moto1和moto2 对调检测传感器和电机是没有问题的,更换btn8982,也是不行,重新焊接一块新的主板,又正常了。但是问题反复存在。
2、固件刷进去后,舵机工作正常,轮毂电机工作正常,传感器工作正常,遥控器正常,mpu偏移也修正了。发现MPU6050_6Axis_MotionApps_V6_12必须用这个本版的库。最新库MPU6050_6Axis_MotionApps612.h这个有问题,获取的角度值很飘。
3、目前最大问题就是悬空测试,俯仰和横滚对调了,不知道是不是MPU6050_6Axis_MotionApps_V6_12这个库的问题,前倾的时候KalmanX.Angle数值变化,横滚的时候KalmanY.Angle数值变化,我修改了
int Apwm = (int)(Abalance_pin(asd,(KalmanX.Angle-AngleX_bias))*100)-Tpwm;//总的输出 平衡+前进+转弯
int Bpwm = (int)(Bbalance_pin(bsd,(KalmanX.Angle-AngleX_bias))*100)+Tpwm;
但是平衡环工作依然有问题,下地后机器人前后抖动太厉害,无法稳定。悬空观察机器人前倾时,轮毂确实向前做功,立正后停止做功。是pid参数的问题,还是我找的MPU6050_6Axis_MotionApps_V6_12这个库有问题。希望作者有空能够回复一下,并提供原始MPU6050_6Axis_MotionApps_V6_12库。非常感谢你的共享。

1、FOC驱动器 焊接好后,两个电机工作正常,前后左右旋转都没有问题,但是工作一段时间后,moto2就缺相了,moto1和moto2 对调检测传感器和电机是没有问题的,更换btn8982,也是不行,重新焊接一块新的主板,又正常了。但是问题反复存在。 2、固件刷进去后,舵机工作正常,轮毂电机工作正常,传感器工作正常,遥控器正常,mpu偏移也修正了。发现MPU6050_6Axis_MotionApps_V6_12必须用这个本版的库。最新库MPU6050_6Axis_MotionApps612.h这个有问题,获取的角度值很飘。 3、目前最大问题就是悬空测试,俯仰和横滚对调了,不知道是不是MPU6050_6Axis_MotionApps_V6_12这个库的问题,前倾的时候KalmanX.Angle数值变化,横滚的时候KalmanY.Angle数值变化,我修改了 int Apwm = (int)(Abalance_pin(asd,(KalmanX.Angle-AngleX_bias))*100)-Tpwm;//总的输出 平衡+前进+转弯 int Bpwm = (int)(Bbalance_pin(bsd,(KalmanX.Angle-AngleX_bias))*100)+Tpwm; 但是平衡环工作依然有问题,下地后机器人前后抖动太厉害,无法稳定。悬空观察机器人前倾时,轮毂确实向前做功,立正后停止做功。是pid参数的问题,还是我找的MPU6050_6Axis_MotionApps_V6_12这个库有问题。希望作者有空能够回复一下,并提供原始MPU6050_6Axis_MotionApps_V6_12库。非常感谢你的共享。

厉害居然做到这里了
问题一:moto2就缺相了 有可能是磁铁的大小和安装方式引起的。(我没有用云台电机自带的磁铁)
问题二:MPU6050库建议使用一样版本的 刚开始编程时我是用其它库出现问题才换这个的。
问题三:1.俯仰和横滚对调 其实不是程序对调了 为了方便测试 我把MPU6050模块用线引出来安装 ;
2.下地后机器人前后抖动太厉害 引起这个的原因应该是 陀螺仪安装的位置不是我调参的那个位子 还有一个原因就是
电机编码器获取的数据有问题 (是问一造成的)
明天会在资料里上传 编码器磁铁和安装的图片 还有陀螺仪安装位置的照片 后面有时间我出一期视频

好的,期待你的更新,再次感谢你的共享。

我这边发现电机抖动是很厉害的,研究下来猜测是编码器芯片离云台电机磁铁那里太远了,所以我修改了3d模型,将距离调整至了1mm以内。
横滚角调整时整机抖动太厉害了,我也不知道是电池输出电流不够导致舵机加速度不足还是pid的问题,买了75c的航模电池,还未到,到时验证一下
另外我修改了主板的pcb,增加了一片max3421e,插usb蓝牙适配器,现在可以用ps4手柄控制了。

那就是pid问题了,自己调整一下应该就可以了,我的6050已经焊在板子上了。
不过我现在直立和行走是很稳定的,就是横滚角倾斜时,要求两腿自伸缩调整水平时,舵机动作很抖,我感觉时舵机瞬间电流不够

你的直立和行走没问题,那我就确定了,传感器与电机磁铁距离太远确实会导致电机抖动,到时我也改一下,关于舵机电流,确实需要大电流支持,我之前用12v,1.5A充电器带舵机也是会抖动,后面上了作者推荐的航模电池问题解决。两腿自动伸缩正常。

那就是pid问题了,自己调整一下应该就可以了,我的6050已经焊在板子上了。 不过我现在直立和行走是很稳定的,就是横滚角倾斜时,要求两腿自伸缩调整水平时,舵机动作很抖,我感觉时舵机瞬间电流不够

我这边发现电机抖动是很厉害的,研究下来猜测是编码器芯片离云台电机磁铁那里太远了,所以我修改了3d模型,将距离调整至了1mm以内。 横滚角调整时整机抖动太厉害了,我也不知道是电池输出电流不够导致舵机加速度不足还是pid的问题,买了75c的航模电池,还未到,到时验证一下 另外我修改了主板的pcb,增加了一片max3421e,插usb蓝牙适配器,现在可以用ps4手柄控制了。

esp32 自带蓝牙 我用的这个库 #include <PS4Controller.h> 前面没做遥控器的时候也是用蓝牙ps4手柄控制,但是要改好多代码,后面做了一个萝莉控的遥控器来控制,但是蓝牙存在两个个问题,有的esp32能连得上,有的不行,没找到原因,还有就是代码特别占用esp存储空间。

我这边发现电机抖动是很厉害的,研究下来猜测是编码器芯片离云台电机磁铁那里太远了,所以我修改了3d模型,将距离调整至了1mm以内。 横滚角调整时整机抖动太厉害了,我也不知道是电池输出电流不够导致舵机加速度不足还是pid的问题,买了75c的航模电池,还未到,到时验证一下 另外我修改了主板的pcb,增加了一片max3421e,插usb蓝牙适配器,现在可以用ps4手柄控制了。

esp32 自带蓝牙 我用的这个库 #include <PS4Controller.h> 前面没做遥控器的时候也是用蓝牙ps4手柄控制,但是要改好多代码,后面做了一个萝莉控的遥控器来控制,但是蓝牙存在两个个问题,有的esp32能连得上,有的不行,没找到原因,还有就是代码特别占用esp存储空间。

用max3421e+USB Host Library的优点是兼容性好,基本大部分手柄和外设都可以接入,代码简单,就是这个芯片现在太难买

我这边发现电机抖动是很厉害的,研究下来猜测是编码器芯片离云台电机磁铁那里太远了,所以我修改了3d模型,将距离调整至了1mm以内。 横滚角调整时整机抖动太厉害了,我也不知道是电池输出电流不够导致舵机加速度不足还是pid的问题,买了75c的航模电池,还未到,到时验证一下 另外我修改了主板的pcb,增加了一片max3421e,插usb蓝牙适配器,现在可以用ps4手柄控制了。

不建议使用电机自带的磁铁 噪声很大 我只用的磁铁已经上传到图片里可以参考 第一次制作不建议在程序上加代码 会影响算法的刷新频率 hyun容易出现抖动无法静止

我这边发现电机抖动是很厉害的,研究下来猜测是编码器芯片离云台电机磁铁那里太远了,所以我修改了3d模型,将距离调整至了1mm以内。 横滚角调整时整机抖动太厉害了,我也不知道是电池输出电流不够导致舵机加速度不足还是pid的问题,买了75c的航模电池,还未到,到时验证一下 另外我修改了主板的pcb,增加了一片max3421e,插usb蓝牙适配器,现在可以用ps4手柄控制了。

不建议使用电机自带的磁铁 噪声很大 我只用的磁铁已经上传到图片里可以参考 第一次制作不建议在程序上加代码 会影响算法的刷新频率 hyun容易出现抖动无法静止

我已修改了3d模型,现在使用电机自身磁铁也很平稳了。舵机抖动问题改用了75c的航模电池确实改善很多。不过横滚角平衡还是很容易翻车~~~尤其当动作激烈时。另外谢谢提醒主循环添加usb蓝牙读取可能影响pid处理响应,我找时间验证一下。

项目终于完工了,所有功能测试ok。

项目终于完工了,所有功能测试ok。

可以可以