这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【digits12】四轴飞行器更新中,超清图片及视频,附飞行器原理细致分析

共9条 1/1 1 跳转至

【digits12】四轴飞行器更新中,超清图片及视频,附飞行器原理细致分析

助工
2014-05-13 09:47:40     打赏

四轴飞行器到手有几天了,这些时间在琢磨该怎么弄,已经有一些起色,正式开更


目录:


1.申请帖,收货记录,以及元件清单 -----------------------------------------------------3楼

2.遥控器、飞控板焊接及组装 -------------------------------------------------------------8楼

3.四轴飞行器展示试飞(视频)-----------------------------------------------------------9楼

4.开发环境搭建(代码、视频)----------------------------------------------------------10楼

5.固件、程序下载方法(JLINK)--------------------------------------------------------11楼


助工
2014-05-13 10:46:45     打赏
2楼

楼主是4月28号申请的,一直等到五一过后5月7号才下单,结果快递居然神速了,一天货就到了

申请帖地址:http://forum.eepw.com.cn/thread/250547/1



刚好是周末到了,到货就开始研究四轴原理了,当然还没弄很清晰。

先上收到货后的内容



打开包装箱后里面的内容,一入眼就是揉成一团的纸,内容亮瞎了。。



当然,元件清单是没有的,所以我来总结一下里面有些什么内容,大家在收到货之后可以顺便对照下,看下自己有没有少了什么东西,或者多了什么东西。


1.电池*2

我想新手一般都看不懂电池上的标示是什么意思,mAh容易懂,就是电量了,那么25C呢?

这里顺便科普一下,电池的C数是放电能力的标识,锂电池分为两类,一类是普通的,像18650就属于这类普通电池,容量较大,缺点是不能进行很大电流的放电。

另一类则是动力锂电池,顾名思义,动力锂电池就是可以进行大电流放电的电池。


而C数则表示最大放电电流,比如360mAh 25C的电池,那么它最大允许放电电流就是360*25=9000mA=9A,也就是说你可以放电达到9A,电池也不会损坏。

放电可以9A就表示充电也是可以9A的。


为什么动力锂电池可以进行大电流放电?两者有什么区别?

动力锂电池与普通锂电池的区别就在于,它的内阻很小,根据欧姆定律,内阻小的电池,在大电流放电的时候内阻消耗的电压比较小,这就是动力锂电池可以大电流放电的关键原因,普通的锂电池内阻是比较大的。


2.空心杯电机*4

注意到空心杯电机有2个是黑帽、红蓝线的,2个是白帽、黑白线的

回来后可以自行试一下,楼主已经试过了,他们的方向是

黑帽、红蓝线电机是顺时针旋转,红线正极,蓝线负极

白帽、黑白线电机是逆时针旋转,白线正极,黑线负极


3.叶片*4

两个红色叶片,两个黑色叶片。上面印有小字,有1个红色1个黑色叶片印着是A,另外1个红色1个黑色叶片印着是B

A叶是与顺时针电机搭配安装,B叶与逆时针电机搭配安装。


为什么要这么设计,为什么不全部设计成一样旋转方向或者一样叶片方向的电机?且待楼主以后分析


4.电机固定座以及橡胶垫*4

固定电机的装置


5.元件包

所有要焊接的元件,比如开关啊,晶振,电位器之类的,都在这里面,此外里面还有2个NRF24L01无线模块


6.飞控主板

整个飞行器最核心的部件了,楼主以为发的是全散件,拿到手之后发现贴片元件都是已经贴好了的。

这样减少了不少焊接难度,当然,把精力都用到飞控算法上才是最重要的


7.遥控器主板

等下,上面怎么有两个萌货?


8.防护圈

不过楼主不喜欢用防护圈,感觉弱弱的样子,楼主喜欢直接裸奔的飞行器,毕竟彪悍的人生不需要保护



助工
2014-05-13 13:32:45     打赏
3楼
没调,但是拍出来硬生生的就把红色变成紫色,蓝色变成绿色。。。

助工
2014-05-16 11:22:11     打赏
4楼

我想对大多数新手而言,拿到套件以后,都不知道该从哪里开始焊接起,而后就一团混乱,抓到什么就焊接什么,全部弄好就是了。这样做的后果就是,最后可能遇到什么小元件不太好焊,从而影响后面的进程。楼主觉得有个顺序进行焊接还是比较科学的,整理了下自己焊接的过程,分享出来。


遥控器部分


检查了下,遥控器上需要焊接的大概就是这些内容



操纵杆2个,旋钮3个(实际上就是电位器),蜂鸣器,microUSB接头,排座,排针,开关,晶振,电池连接线。还有两个黑手柄是最后直接装上去无需焊接的。

焊接的顺序应该是由难到易,先焊接贴近板子的在焊接比较高的。所以推荐这个顺序进行焊接,这也是楼主自己的焊接顺序:

 

microUSB  ---  晶振  ---  开关  ---  排针  ---  排座  ---  蜂鸣器  ---  电位器  ---  操纵杆  ---  电池连接线


1.microUSB

这个是最不好焊接的元件,引脚很近,有装备的最好能用热风枪。楼主只有渣烙铁,还是锈了的。。

图片拖出来看大图,microUSB上有两个小脚,先要把它们弄下来,不然放在板子上是不平的


让后在放到板子上的这个位置进行焊接


ok,焊接好了。

其实楼主第一次焊接已经是几乎完美了,但是总感觉好像有些引脚没接触好,就手贱了,后来焊锡都混在一起了,怎么捣鼓都弄不好了,挣扎了很久,终于把他们分开了,但是左边起第1脚第2脚还是连到一块了,这个还好,第二个脚是悬空的,但是3、4脚也连到一起了,不能再弄了,怕越弄越糟,全部不能用就惨了。所以这个usb口只能充电,不能用usb的功能了。


下次在手贱就剁手,此贴为证。

强烈建议新手在焊接的时候,如果装备不好的话,只焊接第1脚和第5脚,实现充电功能就ok,其他脚留空着,减少焊接难度。在以后的进程中也用不到USB功能,都是用串口来跟电脑连接。


2.晶振

usb弄好后,后面的基本上没什么难度,都是直插元件。

搞定


3.开关

开关放这个位置,在J4的中间3个口,放上去后5个口都盖住了,正反没有关系

如图


4.排针

排针焊接到哪里,根据自己的个人编程调试方案,楼主使用Jlink来调试的,所以就焊接到swd口了,如果用串口调试的就焊接到右下角的0V,TX,RX,3.3这几个口,串口调试的话还要焊接boot0。当然如果自己有多余排针,两个都焊接上也没有问题。

排针ok


这里一个问题:楼主没有焊接串口排针,要用串口跟电脑通信怎么办?用公头杜邦线就可以了,公头杜邦线插上,稍微往一侧偏一点,通信是没有问题的,板子上就不需要焊接那么多排针了。


5.排座

不得不吐槽一句,没有4*2的排座了么

这个位置

排座ok

排座放这儿是用来连接nrf24l01无线模块的

好吧,实际上是这个颜色的

正方向是这样


6.蜂鸣器

注意这个蜂鸣器是区分正极负极的,看贴纸上,有个加号的那一边是正极,另一边是负极,焊接反了的话是不会响的。

要是贴纸撕掉了,可以看引脚来确定正负极,长脚的一边是正极,如图。

蜂鸣器ok


7.电位器

电位器焊接到图中3块大些的区域上

如图,电位器ok


8.操纵杆

最大的家伙了,焊接到板子上一左一右的位置

多加些焊锡,弄牢固点,不然遥控中途突然脱了就不好了

操纵杆ok


9.电池连接线

电池连接线,焊接到开关旁边的那两个口子里面,红色正极,黑色负极

这里可以选择焊接到正面或者到反面,根据个人偏好,楼主选择焊接到反面


到这里遥控器部分就完整完成了。对了,还要把黑色的手柄装上去,最后连上电池试试,在用橡皮圈把电池固定到遥控器上,就全部完成了。





飞控板部分



楼主起先以为飞控板上会很难,元件比较多而且又细。后来发现到手的飞控板大部分元件都已经贴上去了,要自己动手焊接的部分很少。但即使是这样依旧得小心焊接,小心一不六神整个板子就都废了。



飞控板上要焊接的内容是这些


楼主推荐的焊接顺序是


开关  ---  排针  ---  排座  ---  电池连接线  ---  4个空心杯电机


1.开关



最不好焊接的部分了,一定要小心,板子上元件多,焊接开关容易弄到其他元件,一旦焊锡给多,连到其他元件,在要修复就不容易了。


跟microUSB一样,开关上也有两个小脚,最好能够去掉在焊接。这两个小脚太粗了,楼主试了半天没能把它弄掉,就放弃直接焊接了,不过,最好还是能去掉在焊接,不然在飞控板上放不平


也是折磨了很久,总算给弄上去了。关于这个开关的话,保证中间三个脚焊接好就可以了,侧边的4个脚与外壳相连,只是用来固定开关的,侧边靠下的两个脚焊接的话容易跟开关脚连到一起,为了避免这种情况,推荐不焊接侧边靠下的两个脚。或者侧边脚都不焊接,也是可以的,只要注意在动开关的时候动作轻点,不要弄断,一般都没有问题。


2.排针


跟遥控器上的一样,排针焊接到你用来调试的口。如果喜欢串口调试就焊接到串口,如果自己手上有jlink就焊接到swd口来调试,楼主选择焊接到swd

大家想调试方便的话,最好还是将swd,串口都焊接上排针。楼主的排针不多了,串口就用公头杜邦线凑合用着。


3.排座


焊接到图中U2的位置,排座用来连接nfr24l01



4.电源连接线


电源连接线焊接到battery,可以焊接到正面或者反面,红色是正极,黑色是负极。


5.电机

关于到手后的4个空心杯电机,首先我们要组装一下,安装下面的固定座


电机一套,这3个先组装到一起


先将这两个,装配好,可以从上面按下去,或者从地下塞进来。没有工具的话,塞进来要容易点


在把电机按下去,注意不要伤到导线,导线顺着缝隙牵上来即可,这样,一套电机组装了。


将4套电机都按照这个方法组装好,导线比较细,容易断,装配的时候要格外小心。


然后就是把电机放到飞控板上去。


关于4个电机的顺序问题,红蓝线电机是顺时针旋转的,看飞控板上的箭头指示,红蓝线电机放在这个位置。


黑白线电机,逆时针旋转,放到这个位置


4个电机分别在飞控板上放置的位置像这个样子


然后开始焊接电机的引线


首先,把引线穿过去。


剪断太长的引线部分


去皮,用烙铁稍微一烫,轻轻一拨就可以去。


在加锡焊接。

第一个电机就这样焊接上去了,其余几个也是一样的操作方法。










4个电机的引线全部都焊接好之后,下一步的任务就是固定了,拿出502




在每个电机周围,都点上3滴,然后等待5分钟,电机就全部固定好了。记得要先将电机放平整在进行固定。


电机全部固定好,这张拍得还不错。


然后是安装叶片,安装叶片的时候,注意A叶,B叶,具体哪个叶片接到哪里,看图


看叶片形状也是可以的,基本思路是,保证电机旋转的时候,每个叶片都向下吹风就可以了。

用4张图片描述下叶片的安装:






将电池按照这个方式绑到飞行器上



最后在把nfr24l01放上去,到此,全部焊接、组装完成!






助工
2014-05-17 16:11:52     打赏
5楼
------------此楼留作试飞视频展示-------------

助工
2014-05-17 17:16:17     打赏
6楼

关于开发环境的搭建,楼主直接copyAlientek的模板工程,然后更改一些选项,存储为模板,更改了内容主要有这几个:

 

1.将芯片配置改为STM32F103C8T6

2.打开stm32f10x.h,找到这些内容

#if !defined  HSE_VALUE
 #ifdef STM32F10X_CL   
  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
 #else 
  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
 #endif /* STM32F10X_CL */
#endif /* HSE_VALUE */



8000000改成16000000

这里使用的是16M的晶振,所以这样改

 

3.将startup_stm32f10x_hd.s替换为文件startup_stm32f10x_md.s,使用的是中容量芯片,换成中容量的启动文件

4.打开项目属性,选择Target,调整晶振频率为16.0MHz

5.打开项目属性,选择Debug,选择use jlink,配置JTAG调试选项为sw模式,速率2Mbps

 

开发环境搭建的具体步骤如下:

1.建立项目文件夹Templete

2.建立文件夹COREHARDWAREOBJSTM32F10x_FWLibSYSTEMUSER

3.拷贝固件库到STM32F10x_FWLib目录(固件库可以到ST官方网站下载,或者点击这里

4.拷贝核心文件和启动文件到CORE目录(核心文件在”STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport” 下的2个文件,启动文件在”STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm”下面选择startup_stm32f10x_md.s作为启动文件)

5.转到固件库目录”STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x”,拷贝下面3个文件stm32f10x.hsystem_stm32f10x.hsystem_stm32f10x.cUSER目录,转到固件库目录”STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template”,拷贝下面的4个文件stm32f10x_it.hstm32f10x_it.cstm32f10x_conf.hmain.cUSER目录。

6.至此,文件拷贝完成,可以进入Keil4建立工程,其余步骤参考这个视频


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


提供工程模板下载地址:


 http://share.eepw.com.cn/share/download/id/165646

 


助工
2014-05-17 17:40:10     打赏
7楼

一般在画原理图的时候,都是直接按照JTAG接口的定义,将所有STM32需要的引线都连接到位,进行调试的,下面这个图就是一般调试需要的连接线。

 

但是对小四轴就不能这样了,空间太小,放不下20口的JTAG

4轴上只引出了4条线来进行swd调试,不过4条线已经足够下载程序了。

4条线分别是

 

3.3V

GND

SWDIO

SWCLK

 

按照JTAG电路,缩减一下,找一块面包板,将3.3VGNDSWDIOSWCLK连接到面包板上,然后另一端连接到JTAG,此外在找210K的电阻,将SWDIO上拉到VCC,将SWDCLK下拉到地,这样下载线就搭建好了。


下载方法可以用keil上的Load,不过如果要下载没有源程序的烈火固件就不行了。

可以用下面的方法下载烈火固件

 

打开JFlashARM,如图


然后单击File-New Project,新建一个项目



选择Option->Project Setting(Alt + F7),弹出Project Setting对话框



切换到CPU选项卡



然后点击Device,在下拉列表中找到我们的芯片STM32F103C8



然后在切换到Target Interface



看到那个下拉框,选择swd调试模式,其他的都保留默认即可。



单击确定,完成Project Setting


然后在打开飞控板的电源。

找到Target->Connect,这样JLINK就与飞控板连接上了。

 

 

连接成功!


Log框里提示一些信息,表示当前的连接状态,连接成功之后会提示Connected successfully信息,楼主先失败了一次,连接线接触不良。


左侧会显示出芯片的一些信息,如图,显示出芯片ID0x3BA00477STM32F103C8存储区Flash大小64K



单击File->Open data file,找到要下载的hex文件并打开



最后一步,单击Target->Program&Verify(F6)

这样程序就下载到STM32中去了






助工
2014-05-17 17:48:11     打赏
8楼

上面这一段是之前写的,后来在试的时候jlink和飞控板连接只需要4根杜邦线直接连接即可,不需要面包板、10k电阻之类的东西。另外注意的是这样的连接有时候信号不稳定,不可以将线缠绕着连接到飞控板上(有人说要像非屏蔽双绞线那样交叉连接到飞控板上,实际使用时不行,它们会自相干扰,不缠绕即可),此外连接杜邦线线不要绕过电机。

用jlink的时候可能会多次失败,多试几次,杜邦线选择短一些的信号较好


助工
2014-05-17 17:59:58     打赏
9楼
摸了一段时间,找到手机里面有个色度选项,调成中等之后,就恢复正常了。 之前一直是低色度,就偏移了,不过偏移拍得也很酷的,可以把蓝色板子伪装成绿色板子

共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]