支持社区建设,我来手把手教你做APM LED驱动。

飞控使用

首先我要感谢APM的wiki说明书因为我在上面看到了很多APM飞控的使用方法,我也在其中得到了很多在自己制作飞控的巧妙想法。这里我来手把手的教大家制作APM自带的夜航灯控制驱动,相信这个在大家和模友的飞行中都发现了,类似大疆系列和零度系列飞控都有一个三色的指示灯指示飞控的状态,当然,你们手上的APM飞控也有这个有趣的功能,玩APM飞控的人大都比较屌丝,APM飞控的成本也有控制,所以没有直接的把这个功能弄成一个模块,在外国的APM开发者中这也是一个附加的功能,并没有在模块中集成,但是在后来的飞控中例如pixhank和PX4都已经开始集成这样的三色灯状态显示功能了。
下面我们来一步一步的带领大家制作一个自己的驱动

请输入图片名称

请输入图片名称

请输入图片名称

首先我们先说需要什么
1、电烙铁(玩航模的相信大家都会有)

请输入图片名称

2、万用板

请输入图片名称

3、排针(可以看自己的走线决定是用弯针还是直针,甚至是双排的)

请输入图片名称

请输入图片名称

4、杜邦线

请输入图片名称

5、开关(可以不用,但是为了省电起见白天可以关闭夜航灯,我觉得还是最好装一个)

请输入图片名称

6、JST接头

请输入图片名称

7、蜂鸣器

请输入图片名称

8、ULN2003(这个一般都能在本地的电子元件商店买到)

请输入图片名称

好的,接下来我们来看看电路图

请输入图片名称

这里可以看出我们的夜航灯驱动中,LED是共阳的,也就是正极直接接到12V电源的
在每个灯带的负极分别接到芯片的右端输出端
这里值得注意的是,芯片的左下角的一个引脚要与与LED灯供电的负极相连
注意千万不能“只”将这里的芯片接地连接到飞控的地端,必须与供电端的地相连,否则很可能烧坏飞控(图中没有标出与飞控共地,自己可以加也可以不加,当然最好是加的)
芯片的左边是七个输入端,

请输入图片名称

右边是输出端

请输入图片名称

右端最下面的引脚是使能端,在这里我们不需要使用所以我们让他悬空
让我们再来看看飞控的LED模式的设置,先来上图

请输入图片名称

这里我来翻译一下,只要带有MOTOR LED的端口都能作为LED控制,但是A8和A9一旦使能遥控器信号检测或者其他功能就不再能控制LED使用,我们推荐使用A4到A7,我们这里顺便使用了蜂鸣器,这么Beeper(蜂鸣器)控制的引脚A5我们也不会用作控制LED夜航灯
图中的英文我来翻译一下
AN4 – 电机解锁或者上锁
AN5 – 电机解锁或者上锁或蜂鸣器
AN6 – 电机解锁或者上锁或GPS是否定位成功
AN7 – 电机解锁或者上锁
简单的说我们只需要用到:
A4来控制LED显示电机是否解锁
A5来控制蜂鸣器
A6来控制LED显示GPS定位状态
以上就是每个引脚分别能控制的作用
这里因为我在制作过程中忘记一个一个的步奏拍下来了,我就直接给个完成的图吧
注意:这里的ULN2003缺口应该是朝上放置的,这里拍的照片的时候没有注意到这一点!!!

请输入图片名称

这样的布局比较紧凑,让我来说一下各个引脚的作用
下面是每个引脚的作用

请输入图片名称

芯片的控制是相对应的下面这个图可以比较直观的看出

请输入图片名称

注意:这里的ULN2003缺口应该是朝上放置的,这里拍的照片的时候没有注意到这一点!!!
让我们来看看走线,特别简单的一个电路

请输入图片名称

注意:蜂鸣器不需要经过芯片就能直接被APM的A5针脚控制!
要是觉得蜂鸣器的声音不够大,是因为APM飞控引脚直接操作电流无法达到蜂鸣器工作最大音量需要的最大电流造成的,要是想要加大音量,可以用一个三极管在这里进行电流放大下面是对应的原理图

请输入图片名称

这里的VCC可以接到与飞控供电端一起的正极,J8端接到飞控A5引脚
如果你的多旋翼是6轴,那么就需要将这里短接
然后将A4接到对应的针脚上

请输入图片名称

这样就能用一个信号控制多个LED夜航灯
GPS也是一样的,要是你需要用多个LED显示GPS状态
同样将A6接到对应的针脚即可

请输入图片名称

下面我再来翻译一下LED模式的显示选择方法
我们来连接飞控,打开MP地面站软件(可以用USB也可以用数传)
连接成功后点击这里

请输入图片名称

找到所有参数

请输入图片名称

再找到LED mood

请输入图片名称

大家看到后面跟着一个数字,这个数字双击之后可以修改
7 6 5 4 3 2 1 0 对应十进制
0 0 0 0 0 0 0 1 = 1 电机运行开关
0 0 0 0 0 0 1 0 = 2 GPS卫星锁定开关
0 0 0 0 0 1 0 0 = 4 辅助功能开关显示
0 0 0 0 1 0 0 0 = 8 蜂鸣器开关
0 0 0 1 0 0 0 0 = 16 电池电量低时是快速闪烁还是慢速闪烁
0 0 1 0 0 0 0 0 = 32 电机锁定开关
0 1 0 0 0 0 0 0 = 64 GPS定位未锁定闪烁开关
1 0 0 0 0 0 0 0 = 128 关闭
大家看到这里是一个字节的位的设置
要是大家不懂,那么让我来简单的告诉大家一个方法
N=功能1(对应十进制)+功能2(对应十进制)+功能3(对应十进制)……
我来举个例子,例如我是需要电机解锁常亮+上锁闪烁+蜂鸣器+GPS锁定常亮+GPS丢星未锁定闪烁
那么我的计算就是N=1+2+8+32+64=107
这样就能得到自己需要修改的数值了
修改好这个之后,点击右边的这个按钮,这个LED的模式就会保存到飞控中

请输入图片名称

当然这个控制的效果不是立即显示的,要重新上电后才能看到效果,下面我上传了一小段我今晚在外场拍摄的实际LED效果
视频如下,首次录像也是自己一个人在外面录的,没有后期处理,将就着看看吧



注意:外接夜航灯最好不超过9颗灯珠(3528封装),否则可能会烧坏驱动芯片(每条灯带消耗的总电流不允许超过500mA)安全起见最好是不超过9颗,否则芯片开始发热。
后面我会教大家使用手上的三色灯来做一个自己的小型的状态显示灯,最近要考试了,更新可能会推迟些,请大家原谅哈
一些图片与文字信息来自:
http://diydrones.com/profiles/blogs/321-blink
http://diydrones.com/profiles/ ... d-gps

4 个评论

这个方法只适用于AC3.1系列固件。最新的AC3.2固件取消了LED_MODE参数,A4是Moter灯,A5是蜂鸣器,A6是GPS灯,A7是加锁解锁灯
写的很好,现在感觉miniosd太丑了,打算做一个好一点的外接osd,方便老玩家使用。看了这篇文章,我试试能不能把这个加进去,都走mavlink协议,这样原版apm.px4都能用,如何?
我用的是现成的达林顿驱动板,不是DIP封装,体积小,重量更轻,可以试试看哦
apm3.2.1好像LED定义不一样了。。。。。。
这东东换它干吗呢??

要回复文章请先登录注册