极客DIY:使用树莓派制作一架四轴无人机

如果你想DIY一台属于自己的无人机,那么接下来可以阅读这篇文章,阅读完毕之后也许对你会有启发。
这个项目主要用到的零件主要来自Erle Robotics(一个使用Linux系统的开源四轴飞行器项目)。本文的作者并不为这家公司工作,如果对该场景感兴趣也可以关注以树莓派相关联的基础项目,例如 Dexter Industries以及PiBOT。另外在一些相关网站上也更多的教程可以观看。在今年 Robotics是向爱好者提供了相对廉价而又易上手的一次机会,可以在芯片上烧录程序同时可以不断添加新硬件,这一切可以看做得益于树莓派以及其它的一些微控制器。当然网上的信息以及资料也起到了很大的作用。
Erle Robotics,这是一个使用Linux系统的开源四轴飞行器项目。他们的口号是:“Building the next generation of educational drones”。作者也在之前的一篇文章提到了这个问题,并且该项目提供了相对廉价的部件,为DIY树莓派提供了帮助。
部件
Erle Robotics PXFmini
Raspberry Pi Zero(树莓派零)
HobbyKing Spec FPV250
Erle Robotics PXFmini 电源模块
工具
电烙铁
胶带
螺丝刀
应用程序/在线
APM flight stack
基于Debian的Linux系统
演示教程
接下来将会演示如何在 Raspberry Pi Zero基础上组装一个Linux系统的无人机,值得注意的是成本不到200美刀。无人机系统采用实时性能优良的Linux 内核,基于Debian系统。无人机的 PXFmini飞控系统电路板采用的APM飞控程序,当然来自 Erle Robotics项目。

步骤1:组装无人机套件
时间:30分钟
准备好零件之后就开始组装它们吧,可以参考上面的图片准备零件。
首先将黑色的无人机框架和马达组装一起,然后利用胶带将调速控制器和马达绑在一起。
然后将电源部件以及地面无人机控制台部件连接调速控制器,并最终将其连接在电源部件上,并将这些部件固定在黑色的无人机框架上。
如果想要将电源部件连接到电源,这里需要注意几点,如果想要快速的利用连接器和电源部件和电源连接在一起,一定要小心短路。还可以将电源模块另一端去掉,再焊接电池以及连接器,
这样做我们可以轻易通断无人机电池与电源部件了。
最后利用尼龙搭扣将电池以及电源部件安装在无人机下面。
步骤2:准备无人机飞控部分
时间:30分钟
PXFmini飞控系统电路板与 Raspberry Pi Zero连接,下图为参考。

Raspberry Pi Zero以及 PXFmini上面需要选择对应的软件来进行控制。该程序需要能给无人机提供一些所需要用到的功能服务,例如无人机的启动服务功能。

如果你购买了 Erle Robotics的PXFmini板,那么就可以访问基于Debian的图像文件系统,你可以利用PXFmini转存图像,然后用SD卡将文件取出。
步骤3:安装飞控部分
时间:5分钟

安装飞控部分(Raspberry Pi Zero + PXFmini),在无人机上需要将JST GH线连接电源模块以及PXFmini。这样做就可以将电力供应到飞控部分了。
而接下来你需要安装 飞控中的PWM调制器,将你的ESC线连接到ESC 1(同时连接到一号马达),之后连接到 PWM 通道1上,接下来采用同样的方法ESC 2连接到PWM 2 上。
步骤4:安装螺旋桨让它飞起来!
时间:15分钟
其中两个螺旋桨顺时针转动(标有“R”)以及另外两个是逆时针旋转的。把顺时针螺旋桨连接马达3和4,逆时针旋转螺旋桨连接马达1和2。这是一个非常重要的步骤,因为这样做可以保证接下的安装是正确的。
现在你需要决定如何控制你的无人机。,这一点非常的重要。
WiFi +手柄:创建自己的WiFi网络与USB适配器(Erle Robotics图像支持默认情况下),通过地面控制站控制无人机。
WiFi + ROS:ROS系统是一个不错的选择。你可以;利用这个系统来建立可视化飞行模式和控制无人机。可以参考这个视频:
RC:你需要购买一个有RC接口的PPM-Sum接收机,并将它接入飞控模块中(PPM-SUM输入通道)。
视频观看:
*参考来源:zdnet
极客DIY:使用树莓派制作一架四轴无人机的更多相关文章
- 极客DIY:如何用Siri与树莓派“交互”
苹果在2014年推出的HomeKit智能家居平台的确给人眼前一亮的感觉.随着时间的推移,国外的黑客对HomeKit该逆向的逆向,结果也都汇总到了git.本着折腾到死的极客心态,从网上淘了一块树莓派进行 ...
- 极客DIY:使用树莓派制作一套“NAS+私有云盘+下载机”
原创作者:HackLiu 0×00 前言 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情 ...
- 极客DIY:制作一个可以面部、自主规划路径及语音识别的无人机
引言 现在大部分无人机厂商都会为第三方开发者提供无人机API接口,让他们更容易地开发无人机飞行控制应用程序,让无人机想怎么玩就怎么玩.有的API接口可以帮助开发者开发基于Web版的APP.手机APP甚 ...
- 极客DIY:开源WiFi智能手表制作
如果你喜欢拥有一款属于自己的无线手表,那么请不要错过,相信阅读完这篇文章对你会很有帮助. 硬件规格 ESP8266(32Mbit闪存) MPU-9250(陀螺仪传感器)以及 AK8963(内置磁力计) ...
- 极客DIY:使用Arduino制作一块开源手表
1 – 引言 首先让我们看下这个项目要考虑到的问题: .)使用100%Arduino兼容性硬件 .)保证存储器足够大可以装下大量的稍后会扩展的新内容 .)电量最少够1天用 .)BLE既是中枢设备又是外 ...
- 极客DIY:廉价电视棒玩转GNSS-SDR,实现GPS实时定位
0×00 前言 GNSS是Global Navigation Satellite System的缩写.中文称作:全球卫星导航系统.全球导航卫星系统. GNSS泛指所有的卫星导航系统,包括全球的.区域的 ...
- 极客DIY:打造属于自己的无线移动渗透测试箱
本文中介绍的工具.技术带有一定的攻击性,请合理合法使用. 你想不想拥有一款属于自己的移动无线渗透测试箱,如果你感兴趣,下面介绍的设备将会对你很有帮助.这个箱子被称为“MiTM(中间人攻击)WiFi箱” ...
- 极客DIY:如何构建一台属于自己的基站
写在前面(原文作者) 上周我去特拉维夫(Tel Aviv)探望我的朋友结果有了一些收获,一块崭新的BladeRF(x40),即一个支持USB3.0的SDR平台,这就意味着可以同时发送和接收信息了.而H ...
- 极客DIY:打造你的专属黑客U盘
简介 由于“Bad USB漏洞”的存在,USB闪存驱动器也成了常见的攻击目标.Bad-USB让黑客可以重新编程微控器作为一个“人机界面装置”(HID)或键盘,然后在目标机器上执行自定义键盘敲击.这种情 ...
随机推荐
- python 基础学习(元组,if,for)
1.tuple对象 tuple 元组 有序的列表 tuple一旦创建不能修改 a.定义元组t=('a','b','c')空元素的tuple t=()()既表示tuple 也表示运算符的优先级 所以定义 ...
- Qt之资源系统
简述 Qt 的资源系统用于存储应用程序的可执行二进制文件,它采用平台无关的机制.当你的程序总需要这样的一系列文件(图标.翻译文件等)并且不想冒丢失某些文件的风险时,这就显得十分有用. 资源系统基于 q ...
- python中字典dict的操作
字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...
- Same Tree [LeetCode]
Problem Description: http://oj.leetcode.com/problems/same-tree/ class Solution { public: bool isSame ...
- 张艾迪(创始人):发明整个世界+224C个国家
Eidyzhang:发明整个世界+224C个国家 Eidyzhang: Genius.Founder.CEO.23 I 世界级最高级创始人.世界最高级FounderCEO 出生在亚洲中国.Eidyzh ...
- lrzsz在CentOS7的安装
在超级用户下打一句命令: yum install lrzsz 或者,在普通用户打一句命令,需要输入超级用户密码: sudo yum install lrzsz 然后使用Xshell 5建立连接即可
- Eclipse添加jsp页面后引入java指令报错解决方法
新建jsp页面老提示: Multiple annotations found at this line: - The superclass "javax.servlet.http.HttpS ...
- 转载:Javascript作用域原理
首先看一个例子: var name = 'laruence'; function echo() { alert(name); var name = 'eve'; alert(name); alert( ...
- ios基础篇(一)——UIView控件基本属性与常见用法
1.frame 控件的位置和尺寸(以父控件的左上角为坐标原点(0,0)) 2.center 控件的中点(以父控件的左上角为坐标原点) 3.bounds 控件的位置和尺寸(以自己的左上角为坐标原点(0, ...
- struts2拦截器与过滤器
转载:http://www.cnblogs.com/JohnLiang/archive/2011/12/15/2288376.html 过滤器,是在java web中,你传入的request,resp ...