为黑猫警长制作电扫相控阵火控雷达

2023-11-25 23:50:47 21点赞 40收藏 16评论

有一日,老夫在家教儿子玩microbit编程,让娃用舵机和超声波探头+巨硬makecode图形编程做了个简单的机械扫描雷达:

儿子表示这东西要是能锁定一个目标跟踪就厉害了。老夫一想,这样不就成了火控雷达了么。于是忽悠道:不仅能做,老爹我还能给你做个最先进的电扫相控阵火控雷达,就是055驱逐舰上用的那种为黑猫警长制作电扫相控阵火控雷达。傻小子听了两眼放光,表示若此事能成,他定能成为全班最靓仔为黑猫警长制作电扫相控阵火控雷达

牛吹出去了就得实现。在拖了一个多月,磨磨蹭蹭配齐各种华强北电子元件后。经过了一个下午的捣鼓,终于完成了战斗力爆表的黑猫警长全自动无人炮塔:

为黑猫警长制作电扫相控阵火控雷达

以下视频是工作时的样子,技术真是太过先进,遥遥领先为黑猫警长制作电扫相控阵火控雷达

如果刨去那些乐高积木和上影厂原版黑猫警长手办,全部的电子元件成本大概在23块左右。

主控板我选择的是上海合宙的RP2040开发板(树莓派Pico平替),价格9块9包邮可叠加签到红包:

为黑猫警长制作电扫相控阵火控雷达

这块小板子使用树莓派自研的RP2040单片机,其中包含双核32位ARM Cortex-M0 133MHz处理器,264k SRAM,4M闪存。性能强大到溢出,可以把16MHz的8位单核AVR Arduino Nano按在地上肆意摩擦:

为黑猫警长制作电扫相控阵火控雷达

大脑有了,接下来就是眼睛。还需要2个HC-SR04超声波探头,差不多3块钱一个。买单芯片的新款更便宜还更好用。因为老款只能5V供电,新款还同时兼容3.3V容易供电:

为黑猫警长制作电扫相控阵火控雷达

肌肉部分为一颗4块钱的SG90舵机,驱动自动武器站的炮塔。舵机一定要买180度版本的,这种才能编程控制其旋转的角度:

为黑猫警长制作电扫相控阵火控雷达

最后还要几块面包板和若干杜邦线来连接电路,几块钱搞定:

为黑猫警长制作电扫相控阵火控雷达

电路原理图如下。实际要控制的只有两个超声波探头的发射和接收信号,以及舵机的1个PWM控制信号共5个GPIO引脚:

为黑猫警长制作电扫相控阵火控雷达

这玩意的工作机制与基于相位控制的相控阵雷达没啥关系——用的只是简单的三角定位原理。由于SR04超声波探头有30度左右的测量角度,所以如果将两个探头稍微拉开一点距离并略形成一个夹角让两个波束重合,就能在一定区间内进行平面三角定位:

为黑猫警长制作电扫相控阵火控雷达

也就是像这样布置探头和舵机:

为黑猫警长制作电扫相控阵火控雷达

这样我们就把跟踪定位算法转化为一道简单的中学几何题:

已知LR(探头间距)、LT(左探头测距值)、RT(右探头测距值)和RS(舵机与右探头间距),求∠S(即舵机的角度):

为黑猫警长制作电扫相控阵火控雷达

首先对ΔLTR应用余弦定理可以求得∠L;然后再对ΔLTS应用余弦定理可求得黑猫警长与目标之间的距离ST:

为黑猫警长制作电扫相控阵火控雷达

得到ST后,再对ΔLTS应用正弦定理最终求得∠S以设定炮塔舵机的角度:

为黑猫警长制作电扫相控阵火控雷达

单片机程序只要循环进行双路超声波测距,再代入上面这几个式子计算求得舵机角度即可,非常简单。整个过程中唯一的坑是两个超声波探头一定要间隔50毫秒以上测距,不能跟太紧。否则前一个探头发出的超声波可能在房间里被各种反射后正好被第二个探头收到,产生飘忽不定的诡异现象。我之前一直以为是算法错了一度对自己的高中数学水平产生了怀疑,折腾了好久才最终定位到这个坑爹的回波干扰问题为黑猫警长制作电扫相控阵火控雷达

有兴趣的可以玩玩试试。用手头的任何单片机开发板都可以实现,这个小玩意用不着多少算力。

源代码:https://github.com/megatops/arduino_toys/tree/main/radar

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
16评论

  • 精彩
  • 最新
  • 想带着孩子学这些,请问哪些模块/元器件有什么功能,常用代码或者示例等资料或者课程哪里寻得到?谢谢。

    校验提示文案

    提交
    建议先从scrarch入门先掌握图形化编程。然后再上手microbit。microbit用的是微软的makecode,对有scratch基础的孩子实在是太友好了,基本上就专心研究传感器的使用即可只是板子贵了点得上百。玩熟了最后再迁移到esp系列,10块钱开发板随便买,用mixly图形化编程。或者学python。

    校验提示文案

    提交
    感谢大神解惑。孩子学过scratch。花钱上的创客,用的mixly。课程太贵,而且孩子有些不知其所以然,只知道跟着老师搭建。我想跟着学学,也好引导与辅导。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 如何能拿到代码呢?想学一下

    校验提示文案

    提交
    已开源:去看看

    校验提示文案

    提交
    收起所有回复
  • 可以,支持一波,可惜现在合宙全线涨价已经没性价比可言了

    校验提示文案

    提交
    还真是,不过还有些第三方卖10元以内,有需要还是可以囤几片。

    校验提示文案

    提交
    收起所有回复
  • 兄弟,不要说原理和相控阵没关系,搞上个64x64套,排个阵列,再把相位差微调下,相控阵不就来了么 [得意] ,遥遥领先哦

    校验提示文案

    提交
  • 给楼主点赞!!

    校验提示文案

    提交
  • 一直想着搞个打苍蝇的,就是没时间去证实是自己懒还是没那脑子。

    校验提示文案

    提交
  • 最近高产啊。

    校验提示文案

    提交
  • 从淘宝评论追到这里的,嘿嘿,我要试试。对了,猪哥,发B站去啊 那里人更多。

    校验提示文案

    提交
  • 原来是这个原理呀 [观察]

    校验提示文案

    提交
  • 我也是淘宝过来的,想学点基础带着孩子一起玩

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
40
扫一下,分享更方便,购买更轻松