设计一个简单易用的火箭
HYPER S3 ROCKET的故事:STEM FORGE火箭与工程挑战赛
作为一名科技与工程教师,我的学生们曾参加过水下火箭挑战赛,但我们需要传感器、数据记录、降落伞释放系统等更多功能。当时没有合适的现成方案,于是我咨询了其他工程教师,并深入研究火箭技术,最终自制了用于组装的PCB板。以下是一份面向工程类学生的指南,帮助他们开发出应对STEM FORGE火箭与工程挑战赛的解决方案。本指南并非逐步教学步骤,而是提供参考指导。
1. 问题陈述
在STEM FORGE火箭与工程挑战赛中,学生将组成3人或4人的小组,使用工程流程设计并制作一个解决方案文档和原型,成功研制、制造、发射并降落一枚水动力火箭,使其具备最佳的加速度、飞行高度和外观效果。火箭必须按照预定步骤完成分离着陆模块、展开降落伞,并正确地使模块安全着陆。注意:发射时瓶子内的压力不得超过65 psi。
2. 问题电子设备(以及不同项目可选的型号)
考虑到我们希望从一个设计中获得更多功能,并且未来还有其他项目需要,我设计了以下电路,以满足我们学校各种需求。我称之为“HYPER S3 ROCKET”。
在主火箭构建方面,我设计了一个电路,用于记录所有数据,并通过ESP-Now协议和ESP32-S3微控制器的WiFi天线将信息无线发送回基地。这个电路我称之为“LOGGER”(左上角),包含了它可能需要的所有组件,因此我们可以将其用于水下火箭、过山车、无人机或探测器等项目。该电路可承受高达32G的加速度,以1000Hz的频率记录数据,同时还具备大量S3系列的其他功能,适用于其他项目。
10自由度传感器是火箭所需的一切,但并非每个学校的工程项目都必须使用。不过,存储和读取大量数据对于后续通过I2S接口播放音频,以及通过4位并行接口使用MicroSD卡进行数据传输非常有用。初步测试显示,在旧款东芝16GB存储卡上,读写速度均约为8MB/s,表现相当不错。这是“DATA”型号(右上角)。
即便如此,有些学生在编程项目中可能只需要最基本的组件,因此该型号在不包含传感器和micro SD卡部件的情况下成本最低,但仍具备USB-C接口以及太阳能耐受型(18V)VIN引脚,可用于选择电压源(安全切换)。此外,该板仍支持锂聚合物电池充电,并配备一个降压/升压稳压器,可为3.3V系统提供高达2A的电源。我将这个基础型号称为CHARGE。
通过这三种型号,学生们应能以较低预算完成大多数工程产品的制作,但这里我们所说的正是LOGGER。
输入输出、引脚布局与功能
总共包含16个GPIO,使用外部引脚,另有5至11个GPIO通过SMD焊盘连接,具体取决于当前所需的功能选项。我还加入了用于外部I2C通信的上拉电阻,适用于其他模块,4个LED灯(顶部3个,靠近SD卡插槽处1个),以及BOOT按钮,可作为用户按键,用于设置不同工作模式。几乎所有可用的GPIO都被使用或设为外部引脚(仅GPIO 22-32因不可用或被PSRAM内部使用而除外)。
控制器采用的是Espressif公司的ESP32-S3-Mini-1-N4R2。我曾使用过不少这类产品,而S3在性价比和紧凑的外形设计方面表现最佳。它还具备多种其他项目所需的功能,例如12个电容式触摸感应引脚、ADC和PWM(共14个引脚,其中2个用于外部I2C模块,并配有专用上拉电阻)。这些引脚都非常实用。同时还有UART接口。对于低功耗项目,学生可以使用全部的RTC引脚。当然,我也将其设计为面包板兼容,便于原型开发。
我过去一直不喜欢其他Espressif开发板上GPIO布局杂乱无章,到处都是,毫无章法。因此,我在HYPER S3 ROCKET开发板上努力整理了GPIO布局,使其更清晰易懂,方便孩子们理解。此外,我也选择了PSRAM选项搭配Mini-1模块,因为在其他项目中我们也会用到它,这样不仅能实现更快的MP3解码,甚至未来可能用于AI项目。
最终版本的修改:
临最后时刻,我做了一些调整,加入了实时时钟功能,以便将来能实现精确的实时日历和时钟项目,使用OLED或LCD显示。我还决定将microSD卡插槽的位置稍微调低一些,以让天线更加清晰。另外,一个电压感应的ADC GPIO 16可以测量电池单元的电流。此外,看来采用SMD焊接的模块化设计时,梯形引脚或许也会派上用场。
未来方向
我将为这个项目开发一系列定制的防护罩。首先,我会考虑使用LoRa和LoRawan模块以实现更佳的通信效果,但目前也可以通过I2C接口连接Seeedstudio模块。软件更新:我已经开发了3.3V的舵机电机。最后,虽然曾考虑在该项目中使用SG90舵机,但由于舵机通常需要4.8-6.0V电源,若不加装额外的升压稳压器则无法实现。不过,2克微型舵机本身通常工作电压较低,因此我计划为降落伞设计一个齿轮齿条式释放装置。这种舵机可通过简单的三针引脚头轻松连接到PCB上,其信号/控制端口为GPIO44,因为它是使用ESP32-S3的RX引脚。此外,我也正在考虑其他快速释放方案。
3. 机械结构与3D打印
火箭部件
研究火箭或水火箭的各个部件,对于理解问题的复杂性以及潜在解决方案至关重要。火箭由许多部分组成,每个部件都会显著影响最终效果,因此不能仅凭猜测。
以下是一个火箭示意图,帮助学生理解并激发他们对每个部件形状和功能的研究兴趣。
3D打印零件与粘接
如果你想在自己的学校尝试这个项目,我已附上用于喷嘴和三到四片翼的翼面定位夹具的3D打印零件。锥形结构是标准化设计,用于构成着陆模块的外型,但内部结构则由学生自行设计。翼面夹具有助于在粘接过程中稳定翼面,因为这些部件需要极高的精度,以确保火箭保持方向并减少径向(旋转)运动。商业火箭通常通过发动机转向实现主动稳定,但这超出了本项目的范围。强力胶在PET软饮料/汽水瓶上效果非常好——先用120至220目砂纸打磨表面,以提高粘接可靠性。注意:根据所用瓶子的尺寸,调整鳍状夹具的大小。
销释放机构——着陆模块与降落伞
要分离着陆模块并展开降落伞,可采用多种不同的机制(没有一种通用方案)。这正是学生设计一个使用SG90伺服电机释放销、将圆锥形着陆模块从火箭上分离的三维模型时面临的挑战。当然,如果配备两个降落伞,分别用于左右两侧,效果会更好。
下图展示的是一个有缺陷的原型——如何改进它?
制作降落伞
互联网上有许多免费的降落伞设计方案。我比较喜欢八角形降落伞,但工程中的乐趣在于探索不同形状背后的原理。不要随意猜测,应借助可靠的数据来源进行验证。同时,务必学会如何卷起降落伞以避免缠绕。网上有许多优秀的相关视频可供学习。利用研究和人工智能来帮助你找到合适的降落伞解决方案。
以下视频包含一些有趣的工程力学内容,能激发学生的思考。
4. 模拟与测试
使用火箭模拟器
我用火箭模拟器来教我的班级,帮助学生理解决定火箭成功的关键工程原理。虽然这些内容很容易猜测,但如果学生不了解火箭技术,比如压心与重心之间的区别,他们就会遇到实际困难。我会提出一些问题,例如:“为什么配重很重要?”“降落伞应该在什么时候打开?”或“‘远地点’是什么意思?” 我可以在这里展示所有内容,但火箭科学是一项需要深入理解的挑战,而不是简单地灌输知识。工程要求做出有依据、合理且经过机械验证的选择,然后进行测试、分析、修改并重复。https://openrocket.info/ 是一个不错的起点。
发射台
目前澳大利亚似乎没有太多可供购买的优质发射台,但我几年前从Pitsco公司买过一个名为Aquaport II的设备。可惜它已不再销售。不过,这个项目并不涉及发射台本身,网上已有很好的方案,例如下面来自NASA的资料。
数据与绘图
从HYPER S3 ROCKET获取图表相当简单。我已开发出将数据记录到SD卡的代码,当通过USB-C连接到Arduino或Thonny Python软件时,可通过串口通信实时读取并传输数据,并进行实时绘图。然而,在尝试WebSocket层后,我认为从ESP32托管网站会更加方便,只需通过Wi-Fi网页展示结果即可。此外,我还希望从火箭获取实时飞行数据,并通过EPS-NOW实现点对点通信。一旦开始使用EPS-NOW,我会在此发布代码,并在GitHub上提供所有代码供您查看。
更新:同时由5个传感器采集的飞行数据可能看起来很多,但我已经为比赛开发了软件,可利用ESP32-S3的Wi-Fi模块根据这些数据重建飞行过程并进行评分。
请注意,对于快速计算,Arduino在运行时性能远超MicroPython,但MicroPython是一种实时解释器,非常易于使用,孩子们无需额外花费时间编译代码——它直接运行即可。
进行小幅调整并比较运行结果
学生需要进行细微调整,以发现优化方法,这一点非常重要。他们可以使用数据表模板来比较实验结果,判断变化是正向还是负向。
5. 结论
STEM FORGE火箭与工程挑战赛是热衷于工程领域的爱好者的绝佳项目。它将向顶尖人才提出前所未有的挑战(字面意义上的),而随着澳大利亚航天产业的蓬勃发展,航空航天工程师、机器人工程师、电气与航空电子技术员以及CAD设计师等未来职业必将更加广阔。
本文编译自hackster.io





