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

标题: DIY 四轴, 使用FY-20A 14楼放代码 [打印本页]

作者: bdblue    时间: 2011-6-19 18:06
标题: DIY 四轴, 使用FY-20A 14楼放代码
是的,确实使用的是FY-20A,FY -20A 本身是固定翼用三轴陀螺,手头刚好有一颗,本人猜想和FY-90Q专用陀螺性能应该差不多吧,只不过内部算法不一样而已,或者PID参数也不一样。既然想要把FY-20A 用在四轴上,必须要改变混控算法,FY 当然是不会开放内部的,只好三轴陀螺输出的信号进行外部混控。
(, 下载次数: 22)

首先,这个啥狼朋友提供的木制机架,非常漂亮,但实践证明不耐用。
(, 下载次数: 14)

配制为  4颗郎宇2216 KV880 电机,四颗好盈30A电调,AVR ATMEGA 128单片机最小系统板,2.4G接收机,4个3S 1500 电池  再加四个正反桨。
(, 下载次数: 21)

到处是飞线,是为了从单片机引入/出信号
(, 下载次数: 19)
未完,待续。

[ 本帖最后由 bdblue 于 2011-6-20 10:29 编辑 ]
作者: zxf105    时间: 2011-6-19 18:27
哥们你太强了~~~~~~你这样做  

会让20  涨价的
作者: hitalfa    时间: 2011-6-19 18:43
这个究竟能不能飞呀
作者: mrduke    时间: 2011-6-19 18:51
顶贴等下文!
作者: bdblue    时间: 2011-6-19 18:52
下面是未绑电池测试视频的截图,带电池室外飞行未能拍视频。
(, 下载次数: 16)

折腾了一整天,FY-20A 四轴 终于歪歪扭扭飞起来了。怕被各位笑话,基本成功了才来发帖的,所以很多内容都是倒叙,也积累了很多问题想和坛中朋友探讨下,论坛中高人很多啊。
作者: bdblue    时间: 2011-6-19 19:11
最后会公布所有的代码,喜欢的朋友直接找块最小系统板烧进去也能折腾了,其实算不上啥代码,很简单的混控而已。只是,先让我慢慢叙述吧。
作者: skyeye    时间: 2011-6-19 19:12
不是一般的牛:em26:
作者: bdblue    时间: 2011-6-19 21:06
先介绍混控器的主角 ATMEGA 128单片机最小系统板
2年前的价格是60块一片,便宜功能又强大,这个芯片即使开发个全功能的飞控也够用了吧。
规划中的功能(其中红色为已完成):
1. 4路标准PPM通道输出,本例用来控制4颗电调;
    4路输出直接利用定时器1/定时器3的PWM模式,其中定时器1有ABC三路,定时器3只用其A输出,B和C 用做PPM信号输入。曾经有人其他场合回复我,用PWM功能做输出都是技术不到家的表现,本人认为,在C51时代,想弄个多通道高精度PPM还真得花点大力气,但到了AVR这样的时代,这两个定时器几乎天生就是为了PWM而生的,好比一个现代人放着3G的手机不用却非要即使逛街时也抱着个窄边带摩尔斯发报机来和人通讯,才能体现他的技术高超,这又何必呢。
    两个定时器工作于快速PWM模式,此时计数器工作于锯齿波状态,这样的好处是非常有利于精确计数和判断,因为下面要用到此计数器用来解调接收机信号。此模式下当舵机+-45度范围对应计数为1000-2000,也就是1个uS对应0.09度,而且分辨率为1uS或者0.09度,这对于任何舵机,都是超7星级的待遇了。

2. 4路标准PPM信号采集,连接接收机的4路信输出;
    外部中断4-7用来解调PPM信号,这四个外部中断能够同时被上升延和下降延触发,这样在中断程序里只需要判断高低电平就行,而不需要改变边沿触发方式,尽量缩短宝贵的中断时间。
    其实如果只是解调1到2路信号,AVR还有个特有的捕捉功能更适合用来采集PPM信号,但采集4路信号就必须分时采集了,这样延迟反尔来得更大。

3. 两路串口,一个接GPS,一个接串口电台;

4. I2C总线接口保留,方便以后直接走总线电调,彻底摆脱50HZ刷新率的瓶颈。

5. 气压计似乎是必须的;

6.  多路模拟量输入口,可以方便扩展成红外平衡仪,或是四轴电流 电压的采集甚至超声波测距仪;

7. 好多路的开关量输出,可以完成开仓,放伞,摄像等等任务;

8.  等你来补充。

   
(, 下载次数: 22)
作者: bdblue    时间: 2011-6-19 21:14
原帖由 zxf105 于 2011-6-19 18:27 发表
哥们你太强了~~~~~~你这样做  

会让20  涨价的


FY-90Q也很便宜拉,这样做,只为折腾。
作者: 星际行者    时间: 2011-6-19 21:33
好多强人浮现
作者: wrcstn    时间: 2011-6-19 22:54
所以说,不要自以为强大,一山更比一山高。
作者: gangfeng    时间: 2011-6-19 23:29
楼主懂,我不懂,但这DIY能力不顶不行
作者: gdku    时间: 2011-6-20 09:07
这不是折腾~!
这是对广大买了FY20AP一无是处的玩家来说,是一个很好的再生资源~!
如果楼主把扩展板做强大了,可能FY21AP就没地方站了~!
所以,希望楼主不要那么快给FY和谐掉~!
作者: bdblue    时间: 2011-6-20 10:09
楼上朋友多虑了,我们是玩家 不是商家,如果这些东西对各位有些帮助就是对我最大的鼓舞了,也有动力继续完善这块板子,下面先放出这个四轴混控代码。

(, 下载次数: 205)

开发平台 WINAVR   
芯片 ATMEGA 128 外部晶震 8M
四轴电机编号 从左到右从上到下逆时针依次为1,2,3,4。 其中1和2 反桨,3和4 反桨,1和3,2和4 顺桨。

语句力求简洁明了,毕竟这是给人看的。这里崇拜下gale大侠,他居然2天内把KK汇编转成了C语言,功力可见深厚。

提醒一下大家,调试时先用舵机替换电调电机,这样比较安全。


还有一点要声明的,输入信号没有做滤波,也没做失控保护,当信号受到干扰时可能存在电机突然启动的情况,但是输出有做限幅,对应舵机行程是+-45度。
作者: gangfeng    时间: 2011-6-20 11:34
那个USB的好像接KK那个,不懂,继续顶一个
作者: zxf105    时间: 2011-6-20 20:38
FY-20有加速度传感器~
能否简单的把KK和FY-20结合起来~
作者: bdblue    时间: 2011-6-22 09:13
原帖由 zxf105 于 2011-6-20 20:38 发表
FY-20有加速度传感器~
能否简单的把KK和FY-20结合起来~

没搞过KK,KK没有加速度传感器吗?如果没有加速度传感器的校准,KK陀螺漂移很厉害吧。
FY-20A看介绍不错,角速度加速度传感器都有,卡尔曼滤波。但FY-20A的输出刷新率只有50HZ,如果能上到200HZ就完美了。
哪位兄弟知道好盈电调是否可以上200HZ的刷新率,怕烧没敢试。
此机架由于受潮已经变形散架,择机才能继续折腾了。
作者: 364156613    时间: 2011-7-22 01:02
回楼上,KK无加速度传感器。如果要折腾,KK的三个陀螺最好都废掉。也就是说让KK成为一块独立的混控板。FY20A完全能够完成对四轴的控制。
另外就是电调能够支持到200以上。实际上你把刷新率做到500HZ也问题不大(电调完全不存在烧毁的可能性)。因为数字舵机信号基本就在500HZ这个级别了。
做这套混控LZ一定花了不少心思,在这里表示致敬。今后可能会用到您的代码。。
作者: 364156613    时间: 2011-7-22 22:31
另外,LZ的程序里似乎没有解锁部分。建议还是加上这一部分。这样起飞前就方便许多了。

还有就是LZ可以把超声波定高整合进去。之前一个帖子里似乎有源码。只需对油门通道做一次处理就ok。。128跑这点程序完全是屈才咯。。hoho
作者: bdblue    时间: 2011-7-23 18:03
标题: 回复 19楼 364156613 的帖子
回楼上朋友,您指的解锁部分是指什么?
代码里最终的控制量只做了2倍衰减,感觉还是太大,再怎么调FY-20A的积分,四轴还是飞得摇摇晃晃。由于还没弄新的机架,没法继续测试,当然这个衰减也和机架大小有关。
接下来的折腾是,把输出刷新率提高到200HZ以上,代码加上抗干扰纠错。同时GPS解码也在努力进行中。
必须要赞下好赢的电调,一致性非常好。逐个行程校准后,轻推油门,四个电机几乎同时启动。
作者: 364156613    时间: 2011-7-24 23:27
类似于KK的,需要特定的打杆才能起飞。。要不然装电池放下去的时候有可能就有一个电机先启动了。。
作者: bdblue    时间: 2011-9-5 18:05
原帖由 364156613 于 2011-7-24 23:27 发表
类似于KK的,需要特定的打杆才能起飞。。要不然装电池放下去的时候有可能就有一个电机先启动了。。

可以加个熄火开关,不过这样得再增加一路输入捕捉。
作者: fujianshu    时间: 2011-9-5 23:02
:em26:
作者: jmp2002    时间: 2011-9-12 14:57
LZ的算法容易在打方向或俯仰时电机停转吧
作者: 忧郁黑夜    时间: 2011-9-12 17:51
我有一个泰世的无副翼系统
作者: bdblue    时间: 2011-9-12 18:51
原帖由 jmp2002 于 2011-9-12 14:57 发表
LZ的算法容易在打方向或俯仰时电机停转吧

控制量衰减三倍以上后,即使同时打方向,打俯昂再打副翼,电机都不会停转,并且油门还留有余地。
作者: 57649837    时间: 2011-9-13 00:14
呵呵.四轴已经不是 ufo了
作者: rapbbit    时间: 2011-9-13 05:20
Atmega128不是只有一个串口吗 两个怎么来的 软串口?
作者: bdblue    时间: 2011-9-13 09:09
原帖由 rapbbit 于 2011-9-13 05:20 发表
Atmega128不是只有一个串口吗 两个怎么来的 软串口?

M128有两个串口。
作者: VTOL    时间: 2011-9-13 11:37
标题: 谢谢分享!
:em00: :em26:
作者: 忧郁黑夜    时间: 2011-9-13 13:03
希望楼主继续完善,  感谢分享!!!
作者: 君君√学模模    时间: 2011-9-13 13:23
顶楼主!!:em15: 这样搞的话!!估计肯定比KK的飞控版稳定很多!!
作者: green    时间: 2011-9-14 10:12
等下文!




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