amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 22190|回复: 84

写了三天STM32,四轴也算起飞成功了~

  [复制链接]
发表于 2013-4-30 16:10:22 | 显示全部楼层 |阅读模式
在几天前融合出姿态( http://www.amobbs.com/thread-5531433-1-1.html


赶紧又写了马达PID,没怎么调PID,竟然能起来了。看来姿态算法非常重要~




http://v.youku.com/v_show/id_XNTQ5NDcwMjA0.html



发表于 2013-4-30 17:21:38 | 显示全部楼层
請問震動造成的角度誤差大嗎?
发表于 2013-4-30 18:44:47 来自手机 | 显示全部楼层
恭喜一个先~
 楼主| 发表于 2013-4-30 18:46:42 | 显示全部楼层
john800422 发表于 2013-4-30 17:21
請問震動造成的角度誤差大嗎?

不大,加速度和陀螺仪融合好了,问题是控制滞后。
发表于 2013-4-30 19:30:27 | 显示全部楼层
我也正在做STM32的飞控,也刚刚才飞起来,不过看起来好像没有楼主的稳。

我的是STM32+L3G4200D+ADXL345,楼主的是STM32+MPU6050吧?

可否交换代码?

发表于 2013-4-30 20:22:53 | 显示全部楼层
有个瞬间太危险了 离脚丫太近了
 楼主| 发表于 2013-4-30 20:34:33 | 显示全部楼层
oldbreadman 发表于 2013-4-30 19:30
我也正在做STM32的飞控,也刚刚才飞起来,不过看起来好像没有楼主的稳。

我的是STM32+L3G4200D+ADXL345, ...

框架和上位机都很凌乱,再过半个月就开源啦。
发表于 2013-4-30 20:39:52 | 显示全部楼层
三天就封起来了?这速度相当不错了
发表于 2013-4-30 21:05:49 | 显示全部楼层
qwe2231695 发表于 2013-4-30 20:34
框架和上位机都很凌乱,再过半个月就开源啦。

没关系,我的程序和框架也很凌乱,如果愿意的话,我们可以现在就交换。
发表于 2013-4-30 21:18:47 | 显示全部楼层
三天一搞好了 真是厉害呀
发表于 2013-4-30 21:23:39 | 显示全部楼层
恭喜恭喜,速度真快
发表于 2013-4-30 22:11:01 | 显示全部楼层
楼主厉害厉害。 我也发觉飞起来 特别激动,但是想让PID的阶跃 达到稍微理想一点的结果并不那么简单。
请问你算法的思路大致是怎样的?
我的是借鉴的论坛大神融合,  四元素+传感器融合的代码,得出Rool 和Pitch ,PID 是用的
P*Error +I*sum_error +D* (error - last_error ) + K* 角速度     积分有限幅和清零
一起交流交流,少走弯路,我感觉我进入瓶颈了。呵呵。
发表于 2013-4-30 22:12:37 | 显示全部楼层
oldbreadman 发表于 2013-4-30 21:05
没关系,我的程序和框架也很凌乱,如果愿意的话,我们可以现在就交换。  ...

加我一个啊~ 我发现我们是同路中人哇。呵呵。
我们一起 前进,少走些不必要的弯路,会更有效果。
 楼主| 发表于 2013-4-30 23:06:15 | 显示全部楼层
oldbreadman 发表于 2013-4-30 21:05
没关系,我的程序和框架也很凌乱,如果愿意的话,我们可以现在就交换。  ...

得等到过完节,会学校好好整理一下,保持联系~
 楼主| 发表于 2013-4-30 23:20:37 | 显示全部楼层
本帖最后由 qwe2231695 于 2013-4-30 23:22 编辑
WUST_LJS 发表于 2013-4-30 22:11
楼主厉害厉害。 我也发觉飞起来 特别激动,但是想让PID的阶跃 达到稍微理想一点的结果并不那么简单。
请问 ...


本人也是借鉴的本坛的大神的,基本就是:P*角度误差+ I * (- 角度输出)+D* (陀螺仪直接输出)
发表于 2013-4-30 23:32:03 | 显示全部楼层
qwe2231695 发表于 2013-4-30 23:20
本人也是借鉴的本坛的大神的,基本就是:P*角度误差+ I * (- 角度输出)+D* (陀螺仪直接输出) ...

请问数据融合是  【捷联惯导】 帖子里面的算法么?
我实测过 ,四轴在空中时角速度的 抖动是非常严重的。拿手上也是,加油门时甚至影响了 数据融合计算出的 角度。

现在是PID的 阶跃很不好,响应时间太长还 超调。。
怎么调都没什么好转。感觉要学习学习更多的算法。
 楼主| 发表于 2013-4-30 23:35:41 | 显示全部楼层
WUST_LJS 发表于 2013-4-30 23:32
请问数据融合是  【捷联惯导】 帖子里面的算法么?
我实测过 ,四轴在空中时角速度的 抖动是非常严重的。 ...

你的PID阶跃响应是怎么测的??  我的角度数据融合输出就是捷联惯导帖子里面的代码,调到我上一篇帖子的波形就完事了。
发表于 2013-4-30 23:40:16 | 显示全部楼层
qwe2231695 发表于 2013-4-30 23:35
你的PID阶跃响应是怎么测的??  我的角度数据融合输出就是捷联惯导帖子里面的代码,调到我上一篇帖子的 ...

我是飞的时候 可以遥控下 让飞机记录姿态信息。
然后不飞时绑住两边,给遥控信号,无线实时发回 姿态信息和角速度。
可以手动给干扰 或 遥控其 侧翻后看 恢复情况。
总体感觉是  如果把D加大,让角速度来抑制 四轴偏转,那么飞起来确实比较容易,但是要控制其飞行就比较难了,
因为角速度的原因 很难摆动。  不晓得你是不是有同感。
 楼主| 发表于 2013-4-30 23:46:42 | 显示全部楼层
WUST_LJS 发表于 2013-4-30 23:40
我是飞的时候 可以遥控下 让飞机记录姿态信息。
然后不飞时绑住两边,给遥控信号,无线实时发回 姿态信息 ...

的确有角速度项在抑制角度变化,无奈本人还没有到那一步,等把c#写完了才能好好调调参数  感谢你的宝贵经验
发表于 2013-4-30 23:53:48 | 显示全部楼层
qwe2231695 发表于 2013-4-30 23:46
的确有角速度项在抑制角度变化,无奈本人还没有到那一步,等把c#写完了才能好好调调参数  感谢 ...

休息吧。我也是学生,刚弄四轴,不懂的太多。 又没正儿八经学过PID。
路还长,要学习的要多了。多多交流。
还是要感谢前辈们的贡献!  一起加油哈~
发表于 2013-5-1 21:24:05 | 显示全部楼层
三天能到这个水平绝对厉害了,貌似偏航还没加控制吧,看的头有点晕,希望楼主继续努力,期待神奇诞生。。。
发表于 2013-5-1 23:51:48 | 显示全部楼层
LZ 加速度计和陀螺仪数据融合用得什么方法?   我现在就是卡在陀螺仪通过四元数后得到姿态,但是不知道怎么配合加速度计使用
发表于 2013-5-2 15:55:43 | 显示全部楼层
大侠  32 写无刷无位置电机程序 怎么写啊!能否指导下?
发表于 2013-5-2 21:22:44 | 显示全部楼层
楼主  姿态融合 里面 的   Kp  和 Ki 各取的多少哦?
MPU6050   量程多少?  我Kp  和 Ki 调了调 感觉 变化不大。
 楼主| 发表于 2013-5-2 22:36:22 | 显示全部楼层
WUST_LJS 发表于 2013-5-2 21:22
楼主  姿态融合 里面 的   Kp  和 Ki 各取的多少哦?
MPU6050   量程多少?  我Kp  和 Ki 调了调 感觉 变 ...

kp 是参考加速度的量,我取的是1到2或者3. 太大会很容易受加速度影响。但是小了收敛慢。
ki 是积分量,我感觉是就是这个参数控制陀螺仪的一个缓慢积分过程。太大了会引起一个缓慢的长期的一个上下震荡,但是会慢慢变小。
本人感觉最关键参数下面那个关键是半周期的参数。微调可以显著提升性能。单位为秒。

6050 要根据量程进行标准单位换算再进行下一步运算。我量程取4g, 500度
发表于 2013-5-2 23:00:48 | 显示全部楼层
好一个三天起飞,敬神
发表于 2013-5-2 23:11:06 | 显示全部楼层
佩服 四元数和欧拉角是姿态识别,和自稳什么关系呢
发表于 2013-5-2 23:16:11 | 显示全部楼层
好像 有点自旋
发表于 2013-5-3 14:14:49 | 显示全部楼层
qwe2231695 发表于 2013-5-2 22:36
kp 是参考加速度的量,我取的是1到2或者3. 太大会很容易受加速度影响。但是小了收敛慢。
ki 是积分量,我 ...

我也是  4G  500  的量程, 感觉 咱小四轴里基本玩玩不需要太大的量程。
P 和 I  的选取 感觉用手测波形 不太明显,飞起来就感觉有区别了。呵呵。
楼主的 自旋 解决了吧?  我就用 Z的角速度 就可以抵消掉。个人愚见哈。 按道理应该 单独做一个Z方向的 运算的。
各大牌 四轴 算法都 各种精细。
咱还是一步步来吧,飞起来不乱晃再说,呵呵。一起加油~
发表于 2013-5-3 14:43:37 | 显示全部楼层
有比较明显的自旋,遥控用的什么啊
发表于 2013-5-3 20:52:59 | 显示全部楼层
好像一直在打转,是4个电机的速度不一样么
发表于 2013-5-4 10:45:48 | 显示全部楼层
楼主介绍一下啊
发表于 2013-5-4 11:00:21 | 显示全部楼层
WUST_LJS 发表于 2013-5-2 21:22
楼主  姿态融合 里面 的   Kp  和 Ki 各取的多少哦?
MPU6050   量程多少?  我Kp  和 Ki 调了调 感觉 变 ...


您好,能问您个问题吗?

void IMUupdate(float gx, float gy, float gz, float ax, float ay, float az)

这个函数的参数
gx gy gz, 是陀螺仪直接读出来的数据,还是转换成了实际角速度数据?
ax ay az,  是加速度计直接读出来3个轴的数据吗?

初次接触四轴,希望大神点拨~~
 楼主| 发表于 2013-5-4 16:51:13 | 显示全部楼层
lologame 发表于 2013-5-4 11:00
您好,能问您个问题吗?

void IMUupdate(float gx, float gy, float gz, float ax, float ay, float az ...

角速度必须转换成弧度的数据,加速度是mg。加速度的单位不严格要求,可以平均后加入,而且它的作用的是和kp密切相关的。
发表于 2013-5-4 19:40:53 | 显示全部楼层
qwe2231695 发表于 2013-5-4 16:51
角速度必须转换成弧度的数据,加速度是mg。加速度的单位不严格要求,可以平均后加入,而且它的作用的是和 ...

哦,非常感谢,加计和陀螺仪已经成功融合了。

另外问您一下,有没有用它的AHRS.c的代码呀?

就是将加计 陀螺仪 电子罗盘融合的那个。

我直接使用它的函数,yaw角确实稳定了,但是转动的时候会出问题。(我没有进行四元数初始化。也就是讲当前位置视作标准位置,可以这样理解吗?)

您有没有出现过这样的情况?
发表于 2013-5-4 22:17:36 | 显示全部楼层
lologame 发表于 2013-5-4 11:00
您好,能问您个问题吗?

void IMUupdate(float gx, float gy, float gz, float ax, float ay, float az ...

噢。 迟到了不好意思。   楼主正解。
我们MPU6050 的    角速度的值  * 量程增益  *  (pi/180)  转成弧度就可以穿进去了。
加速度 在 IMUupdate()里面有 统一的 。 可以不处理。  
发表于 2013-5-4 22:31:01 | 显示全部楼层
WUST_LJS 发表于 2013-5-4 22:17
噢。 迟到了不好意思。   楼主正解。
我们MPU6050 的    角速度的值  * 量程增益  *  (pi/180)  转成弧 ...

谢谢
大哥,你用过AHRSupdate那个函数吗?
就是将电子罗盘 加计 陀螺仪结合起来的算法?

我也是四轴新手

要不加个QQ,方便讨论?
发表于 2013-5-4 23:19:33 | 显示全部楼层
lologame 发表于 2013-5-4 22:31
谢谢
大哥,你用过AHRSupdate那个函数吗?
就是将电子罗盘 加计 陀螺仪结合起来的算法?

我也是新手,刚玩几个星期。
这里发 QQ会被封 ID 。。
发表于 2013-5-4 23:28:15 | 显示全部楼层
qwe2231695 发表于 2013-5-2 22:36
kp 是参考加速度的量,我取的是1到2或者3. 太大会很容易受加速度影响。但是小了收敛慢。
ki 是积分量,我 ...

楼主 你的机架 躯体是买的 哪个牌子的  四轴改装的?看起来像伟力的和 美嘉欣的,呵呵。  能给个链接么?
最近看了看 网上的  成品 ,貌似多的 不得了,你那种性能如何 ?
原本想 调的差不多了 搞无刷大机的,貌似比较危险,还是先自己做做飞控板弄小的 练练手算了。
现在手上调试 那机很容易摔坏电机。电机12快一个。哭啊。。呵呵。
 楼主| 发表于 2013-5-5 01:09:56 | 显示全部楼层
WUST_LJS 发表于 2013-5-4 23:28
楼主 你的机架 躯体是买的 哪个牌子的  四轴改装的?看起来像伟力的和 美嘉欣的,呵呵。  能给个链接么? ...

同学玩剩的,我拿来改装啦。 感觉是很耐用。年代比较久远无法找到出处了。如果怕炸机就加入保护的语句 不稳定就停机,落到一张床上,或者窗帘上就行啦。
发表于 2013-5-5 08:19:03 | 显示全部楼层
WUST_LJS 发表于 2013-5-3 14:14
我也是  4G  500  的量程, 感觉 咱小四轴里基本玩玩不需要太大的量程。
P 和 I  的选取 感觉用手测波形  ...

大哥,你用的传感器融合代码是IMU还是AHRS呀?
发表于 2013-5-5 17:11:49 | 显示全部楼层
lologame 发表于 2013-5-5 08:19
大哥,你用的传感器融合代码是IMU还是AHRS呀?

客气了。
算是 IMU吧, 暂时只用到了 陀螺和加计 , MPU6050 .
听前辈 说 在微型四轴的 上 地磁计 被 空心杯电机的强磁 干扰的特别严重,几乎派不上用场。
我是看有的前辈们 仅用 MPU6050也能飞的很稳很易 控制,才继续以此为基准弄的。
暂时 还只打算用简单的 融合, 摸索出一些控制策略再 深入下。
发表于 2013-5-5 17:14:17 | 显示全部楼层
WUST_LJS 发表于 2013-5-5 17:11
客气了。
算是 IMU吧, 暂时只用到了 陀螺和加计 , MPU6050 .
听前辈 说 在微型四轴的 上 地磁计 被 空 ...

IMU我也可以,就是用了AHRS,加上了电子罗盘,就有问题了,哎。

我不是拿来做四轴,只是想得到有一个准确的yaw角,roll和pitch我都不需要用。....

过段时间我也想做四轴,用IMU+PID,不知道可不可以、、
发表于 2013-5-5 17:15:40 | 显示全部楼层
lologame 发表于 2013-5-5 17:14
IMU我也可以,就是用了AHRS,加上了电子罗盘,就有问题了,哎。

我不是拿来做四轴,只是想得到有一个准 ...

我关注的重点 恰巧是  ROOL 和PITCH。呵呵。
发表于 2013-5-5 17:16:51 | 显示全部楼层
WUST_LJS 发表于 2013-5-5 17:15
我关注的重点 恰巧是  ROOL 和PITCH。呵呵。

呵呵,做四轴最重要的就是roll和pitch吧、
留邮箱要被封ID吗?
发表于 2013-5-5 17:23:06 | 显示全部楼层
lologame 发表于 2013-5-5 17:16
呵呵,做四轴最重要的就是roll和pitch吧、
留邮箱要被封ID吗?

我新来的,不太清楚。
暂时还只一点点 弄,简单的遥控飞行是这样。一步步来。
发表于 2013-5-5 17:24:55 | 显示全部楼层
WUST_LJS 发表于 2013-5-5 17:23
我新来的,不太清楚。
暂时还只一点点 弄,简单的遥控飞行是这样。一步步来。 ...

lsj9383@163.com
我邮箱。
希望能和你取得联系,相互讨论,我也是新手,大家相互交流嘛。
发表于 2013-5-5 17:31:02 | 显示全部楼层
lologame 发表于 2013-5-5 17:24
我邮箱。
希望能和你取得联系,相互讨论,我也是新手,大家相互交流嘛。 ...

好的。 多多交流,都是从不会到会。
多翻翻 前辈的帖子,将来也不忘回报社会,呵呵。
发表于 2013-5-5 23:53:03 | 显示全部楼层
留个脚印吧,,6050的数据能读出来,就是处理数据这块一直没头绪,查了好多滤波方法,但是还没搞懂。。。。
发表于 2013-5-18 10:52:31 | 显示全部楼层
过来膜拜一下
发表于 2013-5-18 11:46:42 | 显示全部楼层
恭喜是非成功
发表于 2013-5-18 22:12:39 | 显示全部楼层
楼主什么时候开源啊,我的四轴硬件什么的都做好了,软件现在主要是MPU6050数据处理这部分了,没什么头绪。。。
发表于 2013-6-30 20:54:37 | 显示全部楼层
看看楼主的回复,对于PID刚入门的人来说也是不错的
发表于 2013-8-2 22:04:37 | 显示全部楼层
学习一个
发表于 2013-8-6 19:08:38 | 显示全部楼层
学习一个
发表于 2013-8-12 20:51:20 | 显示全部楼层
我最近也在调这个,,感觉是不是没有电子磁力计的原因呢,,yaw航向会一直偏移,,
而且Kp,Ki,HalfT暂时不知道该取多少,,改一点点值差别就蛮大的。。。
新手,,求解。。
发表于 2013-8-15 21:17:54 | 显示全部楼层
你好,请问你遥控部分用的什么?

我做大四轴,你说用NRF2401好还是http://s.taobao.com/search?spm=a ... q=APC220#J_relative好?谢谢了
发表于 2013-8-16 00:28:59 | 显示全部楼层
对比看了下,挺稳的。。。还看见了自制的遥控板,厉害
 楼主| 发表于 2013-8-16 01:11:27 | 显示全部楼层
lpp111 发表于 2013-8-12 20:51
我最近也在调这个,,感觉是不是没有电子磁力计的原因呢,,yaw航向会一直偏移,,
而且Kp,Ki,HalfT暂时不 ...

结合波形观察就能知道了。看看角度能不能和加速度一样
 楼主| 发表于 2013-8-16 01:12:47 | 显示全部楼层
马学家 发表于 2013-8-15 21:17
你好,请问你遥控部分用的什么?

我做大四轴,你说用NRF2401好还是http://s.taobao.com/search?spm=a230r. ...

必然是24l01好。 一个是做好的高级模块,一个是通用无线芯片
发表于 2013-8-16 09:16:52 | 显示全部楼层
楼主,请问你的小四轴的电机需要电调吗?

还有,请问四轴的重心必须在四轴的中心吗?
 楼主| 发表于 2013-8-16 09:43:24 | 显示全部楼层
马学家 发表于 2013-8-16 09:16
楼主,请问你的小四轴的电机需要电调吗?

还有,请问四轴的重心必须在四轴的中心吗? ...

空心杯电机不需要电调,但是需要mos管驱动电路。才能用pwm电平让他转起来。重心尽量保持中心,否者电机负载不一样,电机输出线性度下降,pid调节负担太重。
发表于 2013-8-16 10:19:39 | 显示全部楼层
请问你的stm32板子是自己做的还是买的现成的?6050必须平行放置吗?


我还有点挺疑惑,调控制平衡的PID参数的时候,是不是改一次参数,烧写一次程序?还是?我打算买个现成的stm32板子,你看这个行吗http://item.taobao.com/item.htm?id=17394155613
发表于 2013-8-16 10:57:38 | 显示全部楼层
我们也要开始做了  先来浏览一下
 楼主| 发表于 2013-8-16 11:23:28 | 显示全部楼层
马学家 发表于 2013-8-16 10:19
请问你的stm32板子是自己做的还是买的现成的?6050必须平行放置吗?

可以无线调,可以放个电位器调,也可以烧到程序里面调,随便你的。 传感器不用放太平,可以写程序让他认为开机时是0度。
发表于 2013-8-16 11:35:38 | 显示全部楼层
楼主,我打算做四轴,http://www.amobbs.com/forum.php? ... 6orderby%3Ddateline,您能点评下吗?
发表于 2013-8-28 22:37:49 | 显示全部楼层
大神求资料啊···
发表于 2013-9-27 22:41:03 | 显示全部楼层
你好 四轴的PID怎么调?数据融合后得到的姿态角度 如何转化为PWM的占空比?
发表于 2013-11-6 20:44:35 | 显示全部楼层
太厉害了
发表于 2013-12-6 18:27:50 | 显示全部楼层
我现在四轴的情况跟你的差不多,自旋现象有点厉害。你的自旋解决了吗?我的传感器输出的yaw值严重漂移,一秒钟可以转上NNNNN次方圈  就是从-180到180    感觉快要麻木了。
发表于 2013-12-10 13:31:08 | 显示全部楼层
恭喜恭喜了
发表于 2014-3-10 10:00:05 | 显示全部楼层
又是一位牛人  佩服
发表于 2014-3-13 09:38:44 | 显示全部楼层
赞一个,写三天的代码,四轴就飞了。牛啊!
发表于 2014-3-13 23:55:02 | 显示全部楼层
好牛逼啊!!!
发表于 2014-3-19 12:48:08 | 显示全部楼层
为什么会觉得有点抖动呢。
发表于 2014-3-19 13:54:29 | 显示全部楼层
makkkkk 赞一个
发表于 2014-3-28 11:16:07 | 显示全部楼层
技术牛人 必须顶
发表于 2014-4-18 22:13:35 | 显示全部楼层
看帖还是要回的
发表于 2014-4-19 20:03:20 | 显示全部楼层
恭喜恭喜,我有Money也去做一个。
发表于 2015-4-16 22:50:03 | 显示全部楼层
果然很厉害啊
发表于 2015-4-17 08:26:54 | 显示全部楼层
坐等开源,,,借鉴姿态解算。
发表于 2015-4-17 08:29:39 | 显示全部楼层
得到加速度和角速度,角度后怎么使用pid算法去调节四个无刷电机的驱动呢
发表于 2015-5-16 15:13:26 | 显示全部楼层

太厉害了         
发表于 2015-9-20 19:12:51 | 显示全部楼层
新人能回复能涨经验吗?
发表于 2016-2-26 16:45:12 | 显示全部楼层
楼主,我的DMP移植到M3上不行啊,能否指点一下呢?
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-7-23 09:54

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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