5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 【串级PID算法】从0到1做四轴(包括飞控),开源项目【持续更新】 [打印本页]

作者: but1n    时间: 2016-8-19 22:57
标题: 【串级PID算法】从0到1做四轴(包括飞控),开源项目【持续更新】
本帖最后由 but1n 于 2016-10-15 16:07 编辑

飞控的MCU是ARM架构32位的stm32f103

姿态传感器是MPU6050
使用软件I2C通信
姿态结算函数是在网上找的,非科班出生,四元数欧拉角什么的还驾驭不了

本人Linuxer,vim党,开发环境很非主流。
stm32在MacOS上的开发环境也是楼主自己从Ubuntu版移植,(很惭愧,只做了一点微小的工作)
如果你也想了解Mac上开发stm32,戳这里:
https://github.com/but0n/stm32_development_on_Mac


电路原理图以及layout是在KiCad上完成的,新版的KiCad和旧版相比用起来方便了很多
(, 下载次数: 62)
(, 下载次数: 78)








作者: but1n    时间: 2016-8-19 23:05
本帖最后由 but1n 于 2016-9-29 17:57 编辑

忘了说项目地址了
https://github.com/but0n/Avem

更新视频:



作者: but1n    时间: 2016-8-19 23:07
PCB下周就能拿到了,

目前这版只是用来测试PID,所以做的比较紧凑,引出的IO口比较少。
后续会加上Wi-Fi、GPS等
(, 下载次数: 70)

作者: but1n    时间: 2016-8-19 23:11
电机是A1104的,电调是银燕BLheli 6A的,
电池是普通锂电池,1S 600mAh 25C


(, 下载次数: 71)

作者: but1n    时间: 2016-8-19 23:13
MPU6050 姿态解算 欧拉角
(, 下载次数: 71)

作者: but1n    时间: 2016-8-19 23:15
本帖最后由 but1n 于 2016-8-19 23:19 编辑

GitHub上国外大神把MPU6050的DMP逆向出来了,
不过是Arduino版的,本来打算自己移植,后来放弃了,太复杂

(, 下载次数: 64)




作者: but1n    时间: 2016-8-19 23:17
本帖最后由 but1n 于 2016-8-19 23:19 编辑

软件I2C的调试

(, 下载次数: 67)


开始把信号和时钟接反了,一直没有ACK应答信号。。改了半天才发现


作者: but1n    时间: 2016-8-19 23:22
MPU6050 做了整整一个周

(, 下载次数: 67)





作者: but1n    时间: 2016-8-19 23:25
本帖最后由 but1n 于 2016-8-19 23:26 编辑

电调今天到的,拿到手就开始写驱动

(, 下载次数: 78)



作者: but1n    时间: 2016-8-19 23:25
Vim党


(, 下载次数: 71)
(, 下载次数: 68)

作者: but1n    时间: 2016-8-19 23:31

家里的烙铁吃了一年的灰,翻出来看了看。。。。实在是不敢通电,怕炸

所以电调和电机的连接很简陋,有时候会接触不良。。



作者: 没钞疯    时间: 2016-8-19 23:32
不明觉厉

作者: but1n    时间: 2016-8-19 23:40
?beta&[/media]


作者: but1n    时间: 2016-8-19 23:40
手上拿的是MPU6050

作者: huzi127    时间: 2016-8-20 00:34
技术贴 顶

作者: HZ天光微暖    时间: 2016-8-20 01:25
66666666666666666666666666666666666,请收下我的膝盖,真正的技术党

作者: one486    时间: 2016-8-20 05:55
厉害···楼主牛人啊

作者: HJHZJY    时间: 2016-8-20 08:33


作者: zlf小飞    时间: 2016-8-20 08:54
除了顶贴 就只剩下膜拜了

作者: 永远的飞行者    时间: 2016-8-20 10:39
你是搞开发的吗?服了

作者: ywywxb    时间: 2016-8-20 10:43
不错!等看试飞结果。

作者: but1n    时间: 2016-8-20 11:22
有个奇怪的现象,拉低油门持续两秒钟之后电机会周期运转(转一会儿停一会儿)

作者: but1n    时间: 2016-8-20 11:26
永远的飞行者 发表于 2016-8-20 10:39
你是搞开发的吗?服了

业余的,15岁开始自学
非科班出生




作者: but1n    时间: 2016-8-20 14:15
四轴做好后会做固定翼,

这个是去年设计的,不知道3D打印要多少钱


(, 下载次数: 99)
(, 下载次数: 125)
(, 下载次数: 113)

作者: but1n    时间: 2016-8-21 01:10
地面站打算用Python(Flask),UI用HTML5做,以web的形式展现

之前web前端后端都做过,所以这块很熟悉



作者: but1n    时间: 2016-8-21 13:03
?beta&[/media]

改了几行代码,
以前的版本上电后需要按键控制拉高、拉低油门来配置电调,
现在可以上电后自动配置电调


作者: but1n    时间: 2016-8-21 13:06
用iPad录的,声音有点小

作者: but1n    时间: 2016-8-21 17:22
本帖最后由 but1n 于 2016-8-21 17:24 编辑

电机有几个问题

两边螺丝孔有点偏
转起来不平衡,如果用长一点的螺丝转起来会震动,用短一点的螺丝虽然稳定些,但是固定螺旋桨的橡皮筋根本套不进去。。
(, 下载次数: 107)
(, 下载次数: 93)



作者: but1n    时间: 2016-8-21 18:07
新版的视频也传到了YouTube
(, 下载次数: 120)

作者: but1n    时间: 2016-8-23 17:03
不小心把电调正负极接反了,电调那个烫啊。。。
还好没坏,能继续用

作者: but1n    时间: 2016-8-24 10:47
PCB到了

(, 下载次数: 110)
(, 下载次数: 126)
(, 下载次数: 105)

作者: 永远的飞行者    时间: 2016-8-24 11:21
用的还是苹果的电脑,真不知道是怎么运用的

作者: but1n    时间: 2016-8-24 14:59
Wi-Fi模块ESP8266遇到了谜之bug。。

stm32和esp8266分别在电脑上调试串口都很正常,但是连起来就没反应了,目前怀疑是射频电路瞬间电流太大导致的

作者: but1n    时间: 2016-8-24 15:01
板子是回流焊的,做钢网好贵

作者: 111千度    时间: 2016-9-3 16:19
放了8个l9110 为啥不直接用空心杯测试?

作者: but1n    时间: 2016-9-3 21:55
111千度 发表于 2016-9-3 16:19
放了8个l9110 为啥不直接用空心杯测试?

之前试过一个716的,推力小,效率低,没有无刷电机给力


作者: but1n    时间: 2016-9-15 00:09
架构图,这样就一目了然了
(, 下载次数: 107)
(, 下载次数: 114)

作者: but1n    时间: 2016-9-15 00:11
暂时用小无刷,因为我只有1s的电池和充电器,换大无刷的话得买很多东西(a lot of money )XD
(, 下载次数: 129)

作者: but1n    时间: 2016-9-15 00:12
WiFi 的bug终于解决了,困扰了我半个月,原来是换行符和回车符顺序不对造成的,WTF???
(, 下载次数: 108)

作者: but1n    时间: 2016-9-15 00:14
GPS模块就快到了,我的目标是实现超视距飞行,当然少不了GPS

关于远距离无线数传有哪些方案(模块)?老司机指条明路

作者: but1n    时间: 2016-9-17 20:04
Redesigned PCB
(, 下载次数: 80)

作者: but1n    时间: 2016-9-17 20:04
GPS模块
(, 下载次数: 85)
(, 下载次数: 88)
(, 下载次数: 92)

作者: 111千度    时间: 2016-9-18 18:28
but1n 发表于 2016-9-3 21:55
之前试过一个716的,推力小,效率低,没有无刷电机给力

好久没上论坛0 0
其实可以用820+减速组的方案,50%油门 单电机拉力50g 力效达到了12g/w 相比之下小无刷力效才6~8g/w


作者: pop7144709    时间: 2016-9-22 12:10
请教一下大神,我有个gps手表,里面的gps模块可以拆出来连到飞控上使用么?

作者: but1n    时间: 2016-9-23 16:49
pop7144709 发表于 2016-9-22 12:10
请教一下大神,我有个gps手表,里面的gps模块可以拆出来连到飞控上使用么?

手表集成度高,里面的GPS不够模块化,利用起来有难度,除非你有手表电路板的电路图和GPS模块的数据手册

作者: but1n    时间: 2016-9-24 17:23
新的电路板已到,上次的板子由于是第一次做,所以有些失误。这次的经过测试可以正常工作
(, 下载次数: 97)
(, 下载次数: 93)
(, 下载次数: 106)

作者: but1n    时间: 2016-9-24 17:24
这次用无刷电机,板子背面有四对接线端子
(, 下载次数: 101)

作者: but1n    时间: 2016-9-24 17:24
测试视频等会儿上穿

作者: but1n    时间: 2016-9-25 18:32

(, 下载次数: 105)
(, 下载次数: 112)

作者: 先进鹰眼    时间: 2016-9-27 09:43
牛逼!佩服!

作者: but1n    时间: 2016-9-29 00:09
打孔 安装
(, 下载次数: 93)

作者: but1n    时间: 2016-9-29 00:10
电机已到,明天会做一个简单的单轴PID测试
(, 下载次数: 87)

作者: but1n    时间: 2016-9-29 23:25
上位机打算用MacGap做
[attach]3214222[/attach]

作者: but1n    时间: 2016-9-29 23:27
上位机打算用MacGap做
[attach]3214223[/attach]
[attach]3214224[/attach]

作者: but1n    时间: 2016-9-29 23:32
图挂了?
[attach]3214227[/attach]
[attach]3214228[/attach]

作者: but1n    时间: 2016-10-5 14:14
之前的开发环境是vim,正在迁移到emacs
(, 下载次数: 107)

作者: 三补色    时间: 2016-10-10 20:13
牛,学习了。


作者: but1n    时间: 2016-10-15 16:08
https://github.com/but0n/Avem/blob/master/pid.md

自己写的串级PID代码

作者: 多旋翼新手    时间: 2016-11-2 22:41


作者: soslhg    时间: 2016-11-4 14:51
你说git上有人逆向什么dmp那个是是什么呢?arduino一直都有mpu6050的库啊,他github地址有吗


作者: but1n    时间: 2016-11-6 20:53
soslhg 发表于 2016-11-4 14:51
你说git上有人逆向什么dmp那个是是什么呢?arduino一直都有mpu6050的库啊,他github地址有吗

MPU6050的dmp不是开源的,目前的库都是第三方的。

项目地址照片里有
(, 下载次数: 87)

作者: but1n    时间: 2016-11-14 11:27

(, 下载次数: 90)

作者: but1n    时间: 2016-11-14 11:30
买了个穿越机的碳纤机架

串级PID写好了, 下一步是调参数了

https://github.com/but0n/Avem/blob/master/pid.md


(, 下载次数: 101)

作者: lingjiale    时间: 2016-11-14 18:55
你好 我也是用stm32做的四轴 不过现在已经调了十几天pid了 还是调不到平衡  能不能和你交流一下



作者: but1n    时间: 2016-11-15 14:19
lingjiale 发表于 2016-11-14 18:55
你好 我也是用stm32做的四轴 不过现在已经调了十几天pid了 还是调不到平衡  能不能和你交流一下

你用的单级还是串级?
我目前在做RTOS,打算先把系统跑上,把框架优化好再调PID

作者: lingjiale    时间: 2016-11-15 19:32
but1n 发表于 2016-11-15 14:19
你用的单级还是串级?
我目前在做RTOS,打算先把系统跑上,把框架优化好再调PID

楼主 你加下我qq:850678702   我发下程序给你看看  还有PID的问题想问下你


作者: v223wbd    时间: 2017-1-3 16:39
强贴留个名,等着看进展

作者: Von_fly    时间: 2017-1-5 15:32
高手!飞控代码是你自己写的吗?

作者: 慎独    时间: 2017-1-6 01:43
支持!

作者: Guc    时间: 2017-1-13 07:23
顶一个

作者: 51com    时间: 2017-1-14 18:01
顶顶

作者: wzyandwxx    时间: 2017-2-3 00:14
非常厉害 佩服

作者: but1n    时间: 2017-2-8 19:35
Von_fly 发表于 2017-1-5 15:32
高手!飞控代码是你自己写的吗?

是啊,整个项目除了Makefile以外都是自己写的


作者: wdl67    时间: 2017-2-9 18:44
支持,

作者: but1n    时间: 2017-4-30 23:43

新出炉的电路板!!!

板载IMU, 体积变得更小了











PID仍然在调试中...

之前烤四轴的方案总是有干扰, 仍在解决中


Github上已经得到了30多颗星星!  谢谢大家的支持!



作者: but1n    时间: 2017-6-14 12:05
GIF图片, 可能加载会比较慢
上位机客户端也是开源的: https://github.com/but0n/Avem_HUD
上位机客户端是web实现的, 用Python写的, web实现的好处是可以跨平台使用, ios android windows mac linux都可以使用, 只要有浏览器就行
上位机的界面和功能还在完善中, 目前上位机只能显示姿态信息





作者: but1n    时间: 2017-6-14 12:08
无线串口模块已经买到了, 理论通信范围是1Km

不知道超视距通信有哪些方案

作者: CXvball6    时间: 2017-9-22 12:16
偶然发现的开源飞控,强大。





欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://bbs.5imx.com/) Powered by Discuz! X3.3