本帖最后由 21ic大掌柜 于 2017-2-21 08:27 编辑
硬件:jmt30A电调,xxd2212 1000kv,stm32核心板+mpu6050模块,450机架。电调直接给单片机供电。
程序:修改以前做出来的小四轴的程序(x型),1ms读一次6050数据,对陀螺仪数据滑动滤波,对加速计iir低通滤波。2ms更新元数解算欧拉角和内环pid(对微分d做了50hz的低通滤波),4ms外环pid。
pid整定现象:用的是串级pid。调内环p时,能找到临界振荡点,把p调小一点给个突变信号,四轴振荡几下之后能稳定下来。调内环d时,较大的值会使四轴发散翻机。然后从0开始调,调到发散值都没有明显看到d的作用。给个突变信号,四轴还是会振荡一两下。i没调。然后用手摇几下四轴,确实有不小的阻力,但是再摇多几下,阻力会变助力,四轴发散(做小四轴是也遇到过这种问题,但是把mpu6050自带的滤波去掉就解决了。)
问题思考:是不是电机响应速度不够快,但是电调的频率是500hz,摇动四轴达不到这个频率,好像不存在这种可能。感觉好像是程序不对但是没有找出问题来,把6050自带滤波加上,效果更差。怀疑过电源问题,但是用示波器测电机启动一瞬间的pwm波形,波形没有失真,我就排除掉电源问题了。
小四轴遇到这种问题时解决了也没深究,现在有遇到了,感觉还是莫名其妙,有没有大神遇到过这种问题,求解决方案。
|