如何构建一个基于arduino的战斗数据记录器

电子说

1.2w人已加入

描述

第1步:工具和零件

零件:

Ublox NEO 6米GPS模块:ebay/amazon

Micro SD卡模块:ebay/amazon

Micro SD卡(高速或无需容量):amazon

Arduino pro mini:ebay/amazon

FTDI编程器和相应的电缆:ebay/amazon

Perfboard:ebay/amazon

连接线:ebay/amazon

Header引脚:ebay/amazon

整流二极管:ebay/amazon

2个1K欧姆电阻:ebay/amazon

1500微米纸板

工具:

烙铁和焊料

热胶枪

笔记本电脑或计算机

万用表(并非严格必要,但有很大帮助)

伸出援助之手(同样没有必要,但有帮助)

工艺刀

可选:

物品用于原型制作不是必需的但是非常有帮助

面包板

Arduino Uno

跳线

第2步:理论和原理图

数据记录器

设备的大脑是Arduino pro mini,它由RC车辆(在我的情况下是飞机)Li-Po电池平衡端口供电。我有一个2s电池的设置,但这可以很容易地改变,以适应其他电池尺寸。

这是不完整的,我将在完成控制面读取后更新此说明

Servo1将是我的飞机电动飞机,而伺服2将是我的飞行控制器伺服输出。

GPS模块正在以NMEA字符串的形式从GPS卫星接收数据。这些字符串包含位置信息,但也包含确切的时间,速度,航向,高度和许多其他有用的数据。接收到字符串后,将使用TinyGPS代码库提取对该项目有用的信息。

该数据以及电池电压和elevon位置将以一定速率写入SD卡。 1Hz此数据以CSV(逗号分隔值)格式编写,并将使用谷歌地图解释以绘制飞行路径。

步骤3:原型设计

数据记录器

注意:上面没有显示GPS模块的连接。 GPS的接线方式如下:

GND到Arduino地

VCC到Arduino 5V

RX至Arduino数字引脚3

TX至Arduino数字引脚2

为了测试所有组件是否正常运行,最好先将所有组件放在面包板上,因为您不希望只有在将所有组件放在一起后才能找到有缺陷的部件。需要的附加代码库是TinyGPS库,链接可以在下面找到。

微型gps

下面的电压测试器代码只测试电压测量电路。需要更改调整值以使arduino读取正确的电压。

文件代码用于测试SD卡模块和micro SD卡,以确保两者均能正确读写。

使用gpsTest代码来确保gps接收到正确的数据并且配置正确。此代码将输出您的纬度,经度和其他实时数据。

如果所有这些部分正确地协同工作,您可以继续下一步。

第4步:焊接和接线

数据记录器

在进行任何焊接或布线之前,将所有组件布置在一块纸板上,并将其切割到组件的外部尺寸。这将成为您所有部件的安装板。

通过将穿孔板切割到最小尺寸来制作电路板,因为重量和尺寸是优先考虑的。将割台销钉沿切好的穿孔板的边缘焊接到位,这是电池平衡端口以及将来控制面伺服和飞行控制器将连接的位置。根据电路图将2个1k Ohm电阻器和整流二极管焊接到位。

根据电路图将micro SD卡模块焊接到arduino的引脚上,以使用AWG 24导线进行连接。/p》

根据电路图和更多相同类型的电线再次在穿孔板和arduino之间建立连接。

注意:GPS是静电敏感设备焊接时要小心,连接时不要让任何电流穿过任何电线

使用长度约3-4cm(1)将GPS模块引脚焊接到arduino上的相应引脚-1.5英寸)的电线,这会使GPS模块有足够的松弛空间,可以折叠到后卡的另一侧。

检查并仔细检查所有连接的连续性,以确保所有接线正确

使用热胶将SD卡模块,Arduino Pro Mini装上,然后在面板的一侧自定义穿孔板另一方面是纸板和GPS模块和天线。

一旦你将所有部件正确连接并安装到纸板上,就可以继续使用代码了。

第5步:代码

这是在最终设备上运行的代码。当此代码运行时,一旦GPS修复了3个以上的卫星,GPS模块上的LED将开始闪烁。一旦arduino启动,arduino板上的LED将闪烁一次,表明CSV文件已成功创建,然后当成功写入micro SD卡时,它将与GPS LED一起闪烁。如果无法初始化Micro SD卡的LED指示灯,并且很可能是您的接线或Micro SD卡有问题。

此代码将在每次运行程序时创建一个新的CSV文件。标记为“flightxx”,其中xx是介于00和99之间的数字,每次运行程序时都会增加。

要使电子表格中的当前时间字段正确,您需要将UTC(协调世界时)转换为正确的时区。对我来说,值是UTC +2.0,因为这是我所在的时区,但是可以通过更改“时区”浮点数在代码中进行更改。

步骤6:测试,测试,测试

现在你应该有一个工作系统,是时候测试它,确保一切都按预期运行。

一旦一切正常,您将在电子表格上获得一个输出,该输出似乎可以正确地进行任何细微调整。例如,我最初使用电缆扎带将设备安装在我的飞机底部,但经过一些调查,我发现这可以减少任何时候可以看到的GPS卫星数量减少约40%。

测试系统,确保一切正常,并在必要时对其进行完善。

步骤7:丰富数据

数据记录器

数据记录器

现在您已拥有一个可靠的系统,现在是时候弄清楚如何以更易读的方式显示数据。如果您想一次获得准确的速度,或者想要在执行某项操作时准确检查车辆的行为,则使用电子表格就可以了,但是如果您想在地图上绘制整个飞行或查看每个数据点,该电子表格就可以了

以一种更具可读性的方式在其中提供数据丰富功能

要以一种更具可读性的方式查看我们的数据,我们将使用google Earth pro,您可以单击此处进行下载。

现在,您必须将CSV文件转换为GPX文件,Google Earth可以使用GPS可视化工具更轻松地读取该文件。选择输出GPX,上传CSV文件并下载转换后的文件。然后在Google Earth中打开GPX文件,它会自动导入所有数据并将其绘制到一个不错的飞行路径中。这还包含其他信息,例如任何时间点的标题。

注意:我已从照片中删除了lat,长数据,因为我不想透露我的确切位置。

第8步:结论和可行的改进

总而言之,我很满意这个项目的结果。我喜欢我所有航班的数据。但是,我需要做一些事情。

最明显的是,我希望能够读取控制表面的确切位置。我有大部分硬件,但我需要在代码中启用它。仍然有一些技术难题需要克服。

我还想添加一个气压计来获取更准确的高度数据,因为当前gps高度数据似乎只不过是有根据的猜测而已。

我认为添加一个三轴加速度计会很酷,这样我就能确切地看到飞机在任何时候都能承受多大的力。

也许可以创建某种类型的外壳。目前暴露的部件和布线不是很优雅或坚固。

责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分