Skip to content

Commit

Permalink
+ 添加博客文章
Browse files Browse the repository at this point in the history
  • Loading branch information
nieyong committed Nov 26, 2015
1 parent a5f077b commit d80b173
Show file tree
Hide file tree
Showing 25 changed files with 1,354 additions and 0 deletions.
11 changes: 11 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Summary

* [故事开始](about-crazepony.md)
* [我和Crazepony的那点事儿(1)](blog/2014-03-05-story-with-crazepony-1.md)
* [我和Crazepony的那点事儿(2)](blog/2014-05-29-story-with-crazepony-2.md)
* [我和Crazepony的那点事儿(3)](blog/2014-07-07-story-with-crazepony-3.md)
* [入手试飞指导](wiki/user-guide.md)
* [组装维修指导](wiki/assemble-guide.md)
* [四轴飞行器](quad-copter.md)
Expand Down Expand Up @@ -52,6 +55,14 @@
* [三轴陀螺仪和三轴加速度计MPU6050](wiki/mpu6050.md)
* [PID算法](wiki/algorithm-pid.md)
* [气压计MS5611](wiki/ms5611.md)
* [博文精编](blog.md)
* [Carmack平方根函数经典案例](blog/2015-08-27-carmark-sqrt.md)
* [双曲函数和双曲线的故事](blog/2015-06-23-hyperbolic-curve.md)
* [Crazepony鞭状天线室外飞行记](blog/2015-01-23-about-5-1-version.md)
* [CrazePony与计算机视觉](blog/2014-09-19-crazepony-computer-vision.md)
* [Crazepony自平衡小车](blog/2014-08-20-self-balancing-vehicle.md)
* [DIY四轴飞行器如何入门?](blog/2014-07-31-diy-quadcopter.md)
* [《大人的科学》引起的思考](blog/2014-07-06-adult-science.md)
* [Crazyflie研究笔记](crazyflie.md)
* [FreeRTOS简介](wiki/freertos-intro.md)
* [介绍几个常用的宏的作用](wiki/macro-controls.md)
Expand Down
54 changes: 54 additions & 0 deletions blog/2014-03-05-story-with-crazepony-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# 我和Crazepony的那点事儿(1)
> 作者: CamelGo
> / March 5,2014
很荣幸,Crazepony的第一篇博客是我来写,鉴于是第一篇,按照惯例,我还是说点其他的先。

## 对现状的一些思考
在中国目前这个体制框架下,通过投机倒靶发家致富的人太多,而利用自己努力学到的知识和工程技巧解决问题的人屈指而数,少数人占有了大多数的社会财富,而他们往往又是那些肥头大耳,世俗圆滑的一群人。

当那些大型通信设备垄断商和房地产老总们通过资本运作和千军万马的工程密集型项目来聚敛巨额财富时,工程师的聪明才智和童年的幻想正一点点被压榨殆尽。创造力和想象力,不断屈服于自上而下的制度之中。而所谓的英雄,仅仅是这种企业的顶层,甚至他们都不一定懂得技术。

![](/assets/img/union.jpg)

羡慕国外技术人员的纯粹,至少他们的初衷不是为了圈钱去做某个项目,去干某件事情,虽然最后都会因此而盈利,那是因为他们最开始的不计后果和奋不顾身,让他们后来得以发现这个产品的市场和价值。他们给我的感觉一直就是:“我没有其它目的,因为我爱它,所以我去做,赚不赚钱以后再说”也许这个观点带有个人主观色彩和片面的地方,但人家至少看起来是酱紫。

两次工业革命的起源都在西方,而在我们这片神奇的土地上,每天都在叫着创新 却每天都在滋生山寨,靠大量重复的廉价劳动力去复制,我们习惯了这种技术更新模式,都叫它借鉴,又好像总是要慢人家一个节拍。照这种趋势,毋庸置疑第三次工业革命的萌芽也在西方。

不思进取固然是可悲的,然而缺乏创新的土壤和原动力,同样没有希望。说这话的时候,其实自己心里也是满满的愧疚与不安,请接着往下看,心中默念“我只是借鉴而已…”。

## 一次关于微型四轴的演讲
2011年,宾夕法尼亚大学的VIJAYKUMAR教授在TED做了一次关于四轴飞行器的演讲,这次的飞行器只有手掌大小,其灵巧程度令人咋舌,演讲大部分时间在科普四轴飞行的原理,到最后教授展示了他们飞行器的应用,我惊呆了!它们可以编队飞行,多个飞行器合作搬运物体,合作弹奏一首音乐,进入建筑物内部飞行一圈,然后对建筑物内部空间结构建立三维模型并上位机重构等。这是让我内心难以平静的一段视频。

![](/assets/img/vijaykumar.jpg)

四轴编队协作搬运物体

![](/assets/img/vijaykumar2.jpg)

老美的技术已经发展到了令人发指的地步,很难想象这些技术要是被万恶的资本主义政府所利用,未来的战争将会是什么形式,战争的结局又将是怎样。

## 一个关于微型四轴的开源项目Crazyflie

偶然的机会,在果壳网看到了一个叫Crazyflie的微型四轴,这一次,我的心理防线被击得粉碎,因为它的开发者们看起来是跟我们年龄差不多的大学生,工作环境也是在一个类似工作室的地方,并不像宾大叫兽那么专业。他们第一版飞机是这样的,说实话,稳定性和外形设计不是那么好。

![](/assets/img/crazyflie1.jpg)

这是他们2014年最新版的飞机,较第一版好多了

![](/assets/img/crazyflie2.jpg)

这一次我被彻底点燃了,深陷其中,难以自拔,从那个时候开始谋划要做一个这样的小四轴,完成我童年那个对抗地心引力的小小梦想。

## Crazepony四轴萌芽
就我个人而言,很喜欢小巧的电子产品,那种麻雀虽小,五脏俱全的感觉简直棒极了

要知道,把东西做大很容易,要把东西做小还要保证功能不减,这就需要耐心和体力了,仅仅是因为这样一个简单想法,促使了我去做这样一件看起来很无聊的事情。对这个飞行器的最初的构想是:机身一定是依托PCB板,大小一定不超过手掌,通信一定是我们熟悉的无线解决方案,飞行体验一定要最好。同时,兼具娱乐性和开发性,让每个人都能在这里找到童年…

由于这是Crazepony的第一篇博客,写到这里就歇歇了,后续将会和大家交流一些开发过程中细节。由于笔者工程经验有限,前期调试过程中,走了不少弯路,很多问题考虑不够周全,还望能和各位一起探讨,共同进步。

2014年5月11日




19 changes: 19 additions & 0 deletions blog/2014-05-20-what-is-maker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 什么是创客
> 作者: nieyong
> / May 20,2014
![](/assets/img/who-is-maker.png)

创客,来源于英文Maker和Hacker两词的综合释义,指一群酷爱科技、热衷实践的人群,他们以分享技术、交流思想为乐。

我们应该如何定义创客呢?

创客就是爱自己所做的事情,去探索、去发现、去创造、去创新,以“让生活变得更好”为核心,不断提升生活的质量。不仅仅是自己的生活,还有家庭及社区。创客要坚持创造,还要分享你的所思、所想,花时间与社区里的人建立联系。

创客最早起源于国外,并且有很多比较成熟的创客组织,活动。例如Makerfiare,就是全世界所有的创客的聚会,每年主会在美国举行一次,并且在全球多个国家有分会举办。

![](/assets/img/makerfaire.jpg)

我们每个人都有创客的基础。记得在小学,每次开学领到新书,都有科技/自然课程配套的材料包。我每次领到新书,第一件事情就是把材料包拆开,花上一两个星期将里面的东西都倒弄一遍。现在还有印象的,关在笼子里的动物,稍稍抽动铁笼的字片,笼子里动物就能够在老虎和狮子之间切换;自己做的蒸汽船,蜡烛烧开玻璃瓶里的水,在小小的水盆里打转,却怎么也前进不了。

无论还是孩子,或者已经长大,也无论是还在学校,或者已经有了工作,我们都想自己动手做一些东西,DIY一些自己的创意和想法。这就是创客。
18 changes: 18 additions & 0 deletions blog/2014-05-28-what-is-open-hardware.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# 什么是开源硬件
> 作者: nieyong
> / May 28,2014
# {{page.title}}

![](/assets/img/open-hardware-1.png)

自己一直就比较喜欢折腾开源的东西,例如Linux系统。而第一次接触开源硬件,也正好来自一次深圳Linux用户组(szlug)的聚会,来自其中一位成员关于3d打印机分享。后来在这个聚会中,还见到了makeblock的初始模型。

上面的事情发生在2010年底,那是快4年以前的事情。这些年来,开源硬件的发展也从原来的边缘小众逐步被更多人认识了解,并且催生了很多充满活力和前景的商业公司。那么什么时开源硬件呢?我想,开源硬件其实就是平台开发板,硬件功能模块,可以供工程师去学习,扩展,并且提供了更低的使用门槛,更友好的开发支持,更丰富的社区交流。

记得在大学的时候,想要买一块学习linux的开发板,需要花费将近一个月的生活费。拿到开发板之后,会给你一个pdf格式的说明书,一堆源代码,剩下的事情就基本上只能够靠自己了。文档和代码的质量,完全看开发板开发者的认真程度;出现了问题,只能够找开发者解决;学习资料有限,各种开发板又不尽相同。基本上就是为了学习而学习,真正的能够坚持下来的不多。这是我在大学经历的情况。最近有学弟想玩linux的开发板,我毫不犹豫的推荐了非常有名的开源平台草莓派和cubie box。有全世界各地的人在玩这个开发板,你遇到的问题基本上别人都遇到过,只需要在社区里寻找/发问就能够找到答案。而且,还有很多人分享了他们基于这个平台的创意,例如智能小车,家庭娱乐服务器。我想,他们现在比我当时要幸福得多,也要有趣得很多。

![](/assets/img/raspberry-pi.jpg)

开源硬件最大的特点,就是开源中分享交流的理念改变了硬件开发,设计,分发的模式。最近公司正好有一个项目和开源笔记本项目发起人Bunnie以及Sean合作,在谈到他们项目在众筹网站[CrawdSupply](https://www.crowdsupply.com/kosagi/novena-open-laptop)上的定价时,他们说道,很多时候价值已经是开源这种理念的体现,无论是开源软件,还是开源硬件。


84 changes: 84 additions & 0 deletions blog/2014-05-29-story-with-crazepony-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# 我和Crazepony的那点事儿(2)
> 作者: CamelGo
> / May 29,2014
最近笔者忙于毕业事宜,博客没跟上…

上次说到机身硬件就停笔了,莫非是给以后留点故事来写罢了,好吧废话不多说了,那么就开始吧

# (一)

首先谈谈硬件选型的依据吧:

##主控方面:
曾经在犹豫用TI的430系列单片机还是意法半导的STM32。那是在我大二的时候,从来没有接触过STM32,以前都是用51单片机和TI的msp430系列单片机。好吧,我承认了,我做Crazepony其实是就是为了学习STM32的,没有买过STM32相关的开发板,就这么简单粗暴大刀阔斧的开始了我的STM32之旅…

最终选择用STM32当然还有其他原因,TI公司的MSP430系列都是基于低功耗在做文章,作为移动消费电子,对电源续航能力要求比较高的场合比较适用。

而意法半导的大部分单片机都是ARM架构体系下的Cortex内核为基础的单片机,这里有必要啰嗦一下何谓Cortex架构:

![](/assets/img/arm.png)

英国的ARM公司在经典处理器ARM11架构之后,为了给不同需求的CPU厂商提供服务,之后的内核架构命名都改为Cortex,并分成了A,R,M三类,也即将ARM的三个字母拆分为三个架构的名,代表着不同的发展方向:

* A系列处理器可托管丰富的OS平台和位应用商提供全方位的解决方案,诸如低成本手机、数字电视、机顶盒、打印机、服务器等
* R系列为实时处理器,要求可靠性、可用性、可维护性和实时响应的嵌入式系统提供解决方案
* M系列是一系列可向上兼容的高效能、易于使用的处理器,这些处理器旨在帮助开发者满足将来嵌入式的需要,这些需要包括低成本、不断增加的连接、代码改善移植等。M系列主要应用在智能测量、人机接口设备、汽车电子、工业控制、大型家电等。

![](/assets/img/cortex.png)

很显然,苹果公司的A系列CPU也是嵌入的Cortex内核。

之所以选择STM32F103T8U6作为Crazepony的主控芯片。首先因为他是crotex-M3内核,继承了ARM的优良性能,主频能跑到72MHz,3个通用定时器,1个高级定时器,7通道DMA控制器,而且总线接口资源丰富;其次是因为它VFQFPN36的封装,只有6mm*6mm的占地面积,对这个寸土寸金的项目来说简直太赞了。这么高的性价比,当然让我选择了他作为主控。72MHz虽然生不了孩纸,但是足以处理除了图像之外的大部分任务了。

##传感器方面:

目前Crazepony采用的是最常用的MPU6050陀螺仪加速度计一体芯片,成本不超过20元,对小四轴来说,它的精度和性能绰绰有余了(当我听说教研室师兄用的一颗传感器裸片卖1W+时,我整个人都不好了..),MPU6050在这个价位里面几乎是占有绝对的性价比优势。首先,它将陀螺仪和加速计整合在一个片上,通过IIC总线给出六个维度的ADC值;其次,芯片本身提供一个“从”IIC接口,供用户接第三方的IIC器件,一般选择是接一个电子罗盘,如HMC5883L,构成一个9轴的输出的姿态模组,现在MPU9150已经丧心病狂的把电子罗盘功能也整合在片上了,但是要买60+元;最后,这颗芯片内部集成了一个DMP(Digital Motion Processor)处理器,这是最让我爱不释手夜不能寐的一个功能,直接硬件解算四元数,从某种程度上说解放了20%的主控资源

##数据通信方面:
数据通信这块,也没什么特别要考虑的,短距离高速通信且免费这一点要求就限制了只能选择2.4GHz这个频段,在这个频段出了很多优秀的芯片厂商。在学生时代,我用得最多是Nordic公司的NRF24L01这个系列的收发一体芯片,由于刚开始着手启动Crazepony这个项目时,我只会这颗操作芯片,本着方便的原则,所以很自然的选择了这颗它(后来发现国外一个团队bitcraze也用的这个系列的芯片时,还是有点小激动的,不同的是,crazyfile用的是NRF24LU1,这颗芯片在与USB的接口上要容易些)

![](/assets/img/nrf24l01.png)

差不多了,硬件芯片选型大概是这样。下面谈谈这期间的一些细节

# (二)

一个处女座仅仅是要求机身上芯片封装统一是QFN有错么,不要再黑处女座了好么,他们活得很累的。(~.~)

##机身外形:

如上一篇博客谈到到的,我前前后后花了两年时间,以学习STM32这款单片为目的开始着手一个完全陌生的飞行器,从硬件到软件。可以想象,这两年我因为无知所走的弯路和画废掉的板子以及烧掉的生活费,加起来能换多少个菜包子和素馒头了。

机身外形的设计对我来说是最头大的,一直想不到什么好的主意,最关键的是我本人是天线专业的,我自以为是的把2.4G的天线露在机身外部(如图1),凸显我是学过天线设计的男人。但是这严重破坏了美感不说,还强烈的刺激了处女座的用户。一次偶然的机会拆了一个平板电脑,发现主板上有根长得很像电容贴片电容的元件,百度后才发现,居然是一根2.4G的陶瓷天线,这….我这四年天线专业的所学算是全部还给老师了。于是,后来再参考了某公司的某飞行器外形,压缩了天线,有了最终双曲线过度的Crazepony外形(如图2)


![](/assets/img/crazepony-2013.png)
![](/assets/img/crazepony-2014.png)

##调试方便的考虑:

在第三版之前,我都是用的stm32的SWD接口烧写调试固件代码,这种方式的确比较方便和有效,但是有个致命的弊端就是需要外接一个硕大的jlink调试器,这种设计简直太反人类了。纠结了好长时间,后来在看datasheet时发现STM32支持另外一种下载模式,用串口即可完成代码的下载,不足是不能在线调试。但是相比于能简化操作的诱惑,我还是决定在机身整合这样一个下载电路。(如图)

这样一来,机身和外部的有线接口就只有一根安卓手机的标配数据线mircoUSB线。它既是充电线,也是调参、烧写固件的数据线。这对大妈来说,想必操作也是很简单的吧

![](/assets/img/crazepony-usb.png)

##电机驱动:
由于笔者完全是由于一种强烈的爱好选择了飞行器,最开始连有刷电机和无刷电机的物理结构区别都不知道,电调又是啥?傻傻分不清楚…

从一个几乎零基础的状态去选择电机驱动芯片,弯路是必须要走的,学费是必须要交的。曾以为书上学到的东西马上就能用,马上能转化为产品,后来发现真的是自己想多了。

最开始用的三极管作为电机驱动,采用很经典的共射电路“三极管工作在开关状态应该就行了吧?”画了用三极管驱动的PCB板,发现电机越转越慢,根本没劲。“也许是因为三极管扛不了大电流,好吧那我换个中功率管吧,集电极最大6A电流行了吧?”可以想象结果是不行的


首先了解下为什么三极管作为简单的电机驱动是不可取的方案:

* 三极管作为一个古老的半导体先驱,它是以一个放大器件的姿态而出现的,它在线性区域特性集中,饱和与截止都是两种极端的工作状态,而作为电机驱动的话,我们只能选择它的这两种极端工作模式
* 用三极管作为大电流负载的驱动管时,不得不考虑的是他自身的管压降对负载的影响,这是很严重的。自身耗散越来越大,电机和管子是串联关系,电池电压只有3.7V,电机就只能越转越慢了

在晶体管家族里面还有一种跟三极管特性互补的,所有特性都集中在开关状态的晶体管,场效应管,即MOSFET。通常的场效应管完全导通时,源漏极电阻都是mΩ级别的,即它自身的耗散非常小。用它做为驱动管再合适不过了。

最终选择了一个SOT23封装的,导通电压Vgs<4v的场管(SI2302),结果表现出了很好的驱动性能

未完待续~~ 2014/5/29
19 changes: 19 additions & 0 deletions blog/2014-07-06-adult-science.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 《大人的科学》引起的思考
> 作者: nieyong
> / Jul 07,2014
《大人的科学》是日本的一本科技类的季度杂志。每期介绍一个科学模型,并附送这个科学模型,让读者DIY这个产品,并从中感受到制作的快乐,并学到相应的科学知识。例如第一期是关于蒸汽汽船,第九期是DIY星象仪模型。这本杂志在日本非常受欢迎,取得了很大的成功。

“科学的世界无关年龄,有趣的事物始终有趣”这是该杂志的口号。

![](/assets/img/adult-science.jpg)
![](/assets/img/adult-science-2.jpg)

我是通过科学出版社的主编Lee知道这本杂志的。出版社对我们的四轴飞行器感兴趣,就是想借鉴《大人的科学》的模式,做一期四轴飞行器的刊物。

结合自己身处电子行业,对开源硬件/创客的了解,我觉得手工DIY制作套件这个领域,有很大的挖掘前景。这既是一件非常有意义的事情,又能够找到适合自己生存的土壤。《大人的科学》是一个很好的模式和案例,这个市场在中国现在还比较空白。对原来粗糙的手工制作进行重新定位和思考,使用我们现在的理念来包装,运营,销售。

下图就是做好的星象仪效果图。

![](/assets/img/star-model.jpg)

Loading

0 comments on commit d80b173

Please sign in to comment.