数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1272|回复: 37

[Arduino] 用 DJI-mini3p 带 Arduino 上天测温

[复制链接]
发表于 7 天前 | 显示全部楼层 |阅读模式
原帖发在 DJI 社区,这边数码坛发个更详细的吧,顺手把代码也贴上。

DJI-mini3p 入手航拍,总觉得需要搞些事情才能对得起这折腾的心。

参考 DJI-cellular 4g 的挂载方式,准备在 mini3p 机腹下方挂一套 Arduino UNO,并由后者连续测量空气温度。
原本打算挂上更复杂的bmp180、aht20的,但东西太多影响起降,这次就只挂带壳 UNO(50g).

拿出作死四件套,UNO、OTG、mini3p、束桨带:

img0.jpg

打开祖传 ICCAVR,温度采样代码码起来(完整源码见后文):

img1.png

代码烧进 UNO 后,使用 USB-OTG 线插在 mini3p 屁股上取电,就可以升空测量了。
第一把挂的外壳太靠前,遮挡了下视觉传感器。加上夜间起飞,升空就是不停地姿态模式,各种报警都快集齐了。

img2a.jpg

室内起飞,说实在慌得一批,飞机左右疯狂飘动,极力打杆才避免了炸鸡(炸一下大几百)。感受下这个遥控录屏:

img2b.png


为了安全当晚作罢。第二天换到天台上,重新绑定了 Arduino 确保不遮挡,挂载了 UNO 的 mini3p:

img3a.jpg

继续在山寨起降平台上起飞:

img3b.jpg

腾空,这次终于姿态正常了,+50g 基本相当于一套护网的重量。
为防止意外,测试在人烟稀少的农田边进行,N 档推至飞行限高,之后 S 档落回。

img4.jpg


落回后第一件事就是找电脑拷贝数据,万一数据被覆盖就不好了。

img5.jpg

受限于 UNO 自带 EEPROM 空间的尺寸,只进行了 2s/smp 的慢采样。
上升时相当于 6m/smp,下降时相当于 10m/smp,处理后的温度曲线如图:

img6.png

从曲线来看,似乎机腹下方的温度与上下降气流有一定的关系。但仍能看出端倪:

a. 上升阶段温度匀速下降了 4℃,一定程度上反映了村里的热岛效应;
b. 下降阶段虽然温度继续下降(说明上升段未完全达到热平衡),但已经有上凹的趋势,对应落回后的温度回升;
c. 落地后温度开始回升,这大概就是 mini3p 自带的暖宝宝功能,也说明这个机器功耗确实不小。

附上温度采样的源码: ChipTmp-Ver2s-SRC.rar (891 Bytes, 下载次数: 1)

-----------------------------------------------------------------------

以上,用 DJI-mini3p 带着 Arduino UNO 上天测了一把温度,虽然精准度不高,但多少能看出热岛效应的影子。
一趟飞下来,温度居然变化超过 10℃,看样子无人机的工作环境真心恶劣。

最后祝大家身体健康,万事如意!


打赏

参与人数 3家元 +270 收起 理由
fu691 + 30 謝謝分享
cushion + 30 原創內容
家睦 + 210

查看全部打赏

发表于 7 天前 | 显示全部楼层
用个DHT11加个atiny85,体积就很小了。
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
带50g绰绰有余,乌战场还能挂弹呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
kindzhon 发表于 2023-5-23 14:26
用个DHT11加个atiny85,体积就很小了。

DHT11 可不行,上天动不动就零下。

不过都用 tiny85 了,直接调用片上温度计,连外挂温度头都省了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
solarshen666 发表于 2023-5-23 14:29
带50g绰绰有余,乌战场还能挂弹呢


mini3p 额外载重上限约 250g,在这个范围内基本上就是螺旋桨噪音的区别。

mavic 系列就大了,能有 1-2kg 额外载重。
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
还以为是用大疆的图传模块什么的,离线采集的话,几个氢气球就能把这活挣了
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
你这还带个壳子……温度变化肯定有延迟啊。如果你只需要测温度不需要测湿度的话用NTC显然是更好的选择,反应速度更快准确度也更高。
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
测量这高空温度做什么用呢?
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层

谢谢分享 学习一下
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
感谢分享  
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
调用 PushData 的主程序公布一下!
00.png
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
bh4qix 发表于 2023-5-24 12:09
调用 PushData 的主程序公布一下!

1L 有完整代码包
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层

谢谢! 看到了,那个【顺序写入】,感觉注释到这里更合适!
01.png
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
Arduino UNO 现在市场价多少 RMB ? 谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
bh4qix 发表于 2023-5-24 12:58
谢谢! 看到了,那个【顺序写入】,感觉注释到这里更合适!

似乎理解有偏差,顺序写入的含义是 *(p++)= u8
调用一次,追加式写入新的数据,对应一次采样。

另外建议好好看程序,这里的循环也不是给你循环调用的,这里是等待 ADC 转换完成。
真正实现循环采样的,是最外层循环,注释为“主工作循环”。
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
bh4qix 发表于 2023-5-24 13:05
Arduino UNO 现在市场价多少 RMB ? 谢谢!

山寨 340 版本的话,大致 20 左右;有点牌子的再贵一些
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
sadfun 发表于 2023-5-24 08:40
测量这高空温度做什么用呢?

原本想研究气温衰减,结果高度还是太低。

但过高肯定违规,所以就凑合看了
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
lemontreenm 发表于 2023-5-24 02:32
你这还带个壳子……温度变化肯定有延迟啊。如果你只需要测温度不需要测湿度的话用NTC显然是更好的选择,反 ...

是的,直接上裸头肯定更好。做这个测试的时候还没练成手掌起降,只能是稳妥飞一飞。

下次找几个更灵敏的载荷试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2023-5-30 09:27 , Processed in 0.109200 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表