亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于Arduino的超硬核水火箭

发布时间:2021-08-21
分享到:

基于Arduino的超硬核水火箭

发布时间:2021-08-21
分享到:

在本教程中,我们将建造一个带有自动降落伞弹射机构和数据传输系统的水火箭,可以让我们在火箭飞行时监控火箭的方向(根据加速度计和陀螺仪数据估计)

水火箭是一种模型火箭,它使用压力室(通常是PET瓶)内的水和压缩空气作为推力发动机。火箭的工作原理可以用牛顿第三定律来解释,压缩室中的水被压缩空气喷出释放积累的势能,导致产生相反方向的力推动火箭。

零件清单:

火箭机身

  • 3 个 3 升 PET 瓶
  • 4x 轻木板 200*25mm
  • 8x 螺丝
  • 1x 喷漆
  • 1x 橡皮筋
  • 1x 降落伞
  • 1x 聚碳酸酯板 250*250mm

电子产品

  • 纸板
  • 1x Perfboard(也称为可焊面包板)
  • 1x 加速度计(我们使用 MPU6050,它有一个加速度计和陀螺仪)
  • 2x Arduino 板(我们使用了 Arduino nano 和 Arduino mega)
  • 1x 3.3 V 电压调节器(我们使用了 LM317 可调电压调节器)
  • 对于使用 LM317 的电压调节器电路
  • 1x 电阻器(390 欧姆)
  • 1x 电阻器(240 欧姆)
  • 1x 伺服电机(我们使用了通用的 SG90)
  • 2x NRF24L01+ 模块
  • 1x 电池为电子板供电(我们使用了移动电源)
  • 将移动电源连接到电子板。
  • 1x USB A 型公头连接器
  • 磁带
  • 双面胶带
  • 电缆和电线
  • 热胶

工具

  • 热胶枪
  • 刀具
  • 剪刀
  • 标记
  • 烙铁
  • 镊子
  • 卷尺
  • 订书机
  • 水火箭发射器

第 1 步:降落伞

测量瓶子的半径

对于这个测量周长,如(1) 所示,然后应用方程 r = c / (2*pi)(其中 c 是周长)来找到半径,在我们的例子中,半径是 60 毫米

使用此信息在纸板上标记 2 个圆,瓶子的半径减去 1 毫米(如果是 59 毫米),然后切割它们,如(2)和(3) 所示。

对于每个圆圈,制作如(4)所示的线条

为此,我们首先制作一条穿过圆心的线,这条线将被称为线 1

在第 1行的一端测量 40 毫米并绘制一条与圆边界相交的垂直线,这条线将称为第 2 行

在第1 行的另一端测量 20 毫米并画一个点

现在在点和第 2 行的每一端之间画一条线

测量最近绘制的线之一,该值将称为 L

第 2 步:裁剪组装

进行上述测量(L),在纸板上画一个 110 毫米高,(L) x 4 毫米宽的矩形,每 ( L ) 毫米标记一条垂直线(5)

切割大矩形并在中间切割线产生2个大小相等的矩形,如(6)所示

每个矩形,通过标记线切割纸板的顶层,使得我们可以折叠它们

在其中一个圆圈上标记的线上涂上热胶,然后粘上一个折叠的矩形,然后将另一个矩形粘在前一个矩形后面以加固它

我们需要用于拉链尖端的孔,因此在距离矩形每一端约 15 毫米的地方画一条线,然后绘制 4 个连接到该线上的矩形,高约 3 毫米,宽约 5 毫米,它们的距离大致相等,如(9)所示

将另一个圆圈粘在上面

第 3 步:制作降落伞弹射系统空腔

对于火箭顶部的降落伞弹射系统空腔,如图(11)所示,在距离瓶子底部约50mm处划一个圆圈,切开,这是一个没有底部的瓶子。

将用纸板制成的电子支架放在这个瓶子里。

将支架放在里面,在瓶子上标记一个矩形,覆盖支架的前面(支架的前面是我们画拉链孔的一侧,或空间最大的一侧),矩形应该每个水平端多出 20 毫米。

现在取下纸板支架并用切割器切割矩形,如(12),(13)和(14)所示,小心地从瓶子上切下矩形,因为这部分将在以后用于将降落伞固定在里面

然后在矩形的一个短端上打一个洞,然后用橡皮筋把它穿过,如(15)所示,最后用胶带将矩形贴在洞的右侧(同时将瓶子直立),所以这一半是未连接的,因此作为孔中的盖子,如(16)所示。

第 4 步:安装伺服电机

从背面看纸板支架,在右侧标记一个矩形,大约在中心,带有伺服电机底部的尺寸,对于我们使用的(SG90),尺寸为 22 mm 高 x 12 mm 宽,如图所示在(18)

现在切割矩形并插入伺服电机,首先放置电缆

如(19)和(20)所示,用螺钉或热胶将伺服电机固定到支架上

*如果硬纸板有点软,螺丝可能无法工作,对螺丝施加太大的力也会导致安装松动,在这种情况下,热胶更容易更安全

在纸板支架的左侧,打一个小孔让伺服电缆穿过,尽可能靠近右侧,如(19)所示

第 5 步:安装降落伞

我们将制作降落伞弹簧并将其固定在纸板箱上

从其中一个未使用的瓶子上切出一个 230 毫米 x 96 毫米的矩形(用卷尺测量)作为降落伞弹簧,如(21)所示。

在最近切割的矩形的每个短端,在距边界约 10 毫米处标记一条线,将标记线与纸板支架末端(在纸板支架背面)的孔边缘对齐,并在在每个孔上做标记,如(22)所示

用刀具或烙铁在每个标记的矩形上打一个洞。

使用扎带将弹簧固定到纸板支架上,如(23)所示,如有必要,请使用钳子将扎带穿过,如(24)所示

将纸板插入瓶子中,使弹簧在孔的一侧

要将纸板支架推入,可能需要先推动支架上的弹簧,然后将支架推入瓶子内

在伺服电机的顶部画一个矩形并将其剪掉,这个孔是橡皮筋将通过的地方,可以连接到伺服电机上,保持盖子关闭并且降落伞被弹簧压缩

在视频中,您可以看到如何将降落伞放入火箭。

第 6 步:安装计算设备

电子设备主要由Arduino Nano、MPU6090加速度计+陀螺仪、LM317稳压电路设置为3.3V、移动电源、无线电模块NRF240L01+和伺服电机组成,(rocket.pdf)为连接图.

我们在板上放置了一些用于无线电模块的母头,并使用电缆将其连接

对于伺服电机,我们放了一些公头

稳压器是用来给NRF24L01+供电的,因为我们发现arduino的3.3V输出供电不足,程序有时会失败

您可以使用任何您想要的方法连接组件,但是要注意纸板支架内部的空间是有限的。

要将电子板安装到纸板支架上,首先,将其从瓶子(1) 中取出,将其放在纸板支架左侧的顶部并标记左上角和右下角,如(2)所示. 取下电路板,在每个角标记并切割 2 个相距约 10 毫米的小矩形,如(3)所示。

对于每对孔,将一根小电线穿过孔从纸板支架的背面并用电线将穿孔板固定到纸板上,如图(4)所示。

在最后一张图片中,我们展示了连接一个角的结果,电线的一端穿过板上的一个孔,然后我们扭转它以使其保持原位。

第 7 步:安装移动电源

在板的顶部,在纸板支架上标记并切割一个大约 10 * 30 mm 的矩形,如(5)所示。将电源和无线电模块 (NRF24L01+) 电缆穿过孔。

然后将电源线连接到移动电源,将 NRF24L01+ 连接到开发板,如(6)和(7)所示。最后将元件固定到纸板(8) 上。

我们使用胶带将无线电模块固定到位,并使用双面胶带将移动电源固定到位,也用胶带加固

请记住,要使纸板支架适合瓶子内部,其顶部的元素不应越过圆圈的边界,因此请将所有东西都放在圆圈内。

在将纸板支架放入瓶子之前,将程序(rocket.ino)上传到 arduino 并使用以下测试程序检查程序的运行情况。
将纸板支架从光滑表面上的一个小位置放下,看看伺服电机是否改变了它的位置,然后重新启动 arduino 并重做几次实验以确保伺服电机每次都会移动,因为这是将展开降落伞。

如果伺服电机不动,将rocket.ino中的阈值增加到1500,然后再次测试,如果需要可以进一步增加。

如果在纸板支架未掉落时伺服电机改变位置,请将 Rocket.ino中的阈值降低到 500 的值,并测试其在掉落时是否正常工作。

伺服电机必须在垂直位置启动,当支架下降时必须顺时针移动到水平位置,如(9)所示,否则需要设置起始和终止角度

为此,上传程序test.ino,并通过 arduino 串行监视器(设置为 115200 波特),写入 0 到 180 之间的数字,使伺服电机保持垂直位置,当找到值时,在Rocket.ino 中更新值。

然后,输入一个值,使伺服电机从垂直位置顺时针移动到水平位置,当找到一个值时,在Rocket.ino 中更新值。

如果无法找到合适的值,您可能需要重新定位伺服臂。

最后,测试后,将纸板支架插入瓶中,结果如(10)所示。

第 8 步:安装电子设备

现在制作电台,这个只需要一块 arduino 板和无线电模块,电台接收来自火箭的数据并将其发送到计算机。

连接很简单,所以我们不需要原理图

连接:

Arduino Board | NRF24L01+
Pin 7         | CE
Pin 8         | CSN
3.3V          | V+
GND           | GND
// For the following pins check a pinout of your board
SCK           | SCK
MISO          | MISO
MOSI          | MOSI

建立连接后,将程序上传到板上

注意我们需要安装一个库,它可以使用库管​​理器轻松安装在arduino IDE上,库是TMRh20的RF24。

为了测试我们是否可以接收数据,暂时将纸板支架从瓶子中取出,这样我们就可以通过将电源线连接到移动电源来打开它,打开火箭电子设备,并将工作站连接到计算机,打开在 arduino IDE 上以 115200 波特的串行监视器。

如果我们没有收到数据,请检查与站台的串行监视器上是否打印了任何错误,如果没有,将火箭电子设备上的arduino板连接到计算机并检查串行监视器(115200波特)以查看是否有错误是否打印任何错误。如果无线电模块或加速度计连接错误,请检查板上的连接。

第 9 步:制作机身

对于翅片的构造,切割 4 块 25mm x 200mm 轻木板,如(1)和(2) 所示,以创建翅片的形状,使用(3)和( 3) 中所示的措施切割四块波纹塑料4),最后借助螺丝将两部分(5) 连接起来。

第 10 步:与降落伞空腔组装起来

每个翻盖应相互成 90°,并用胶带固定到塑料瓶(8) 上

第 11 步:组装水火箭

在移动电源的位置,连接所在的位置,打一个孔,以便我们可以断开和连接移动电源,如(9)所示,然后用胶带盖住孔,以免影响火箭的空气动力学,如图所示(10)。

将降落伞绳系在瓶盖下,如(11)和(12)所示打2个或更多结。

组装火箭时,将带鳍的瓶子底部与电子设备(13)一起放在瓶子底部,为了将其固定在适当的位置,在 4 个不同点以相等的距离添加 4 条胶带,确保两个瓶子是直的,最后在接头周围添加更多胶带,如(14) 所示。

现在我们已经完成了大部分火箭,如(15)所示。

第 12 步:对水火箭进行调试

对于火箭鼻锥,取一张醋酸纤维或薄塑料片,并标记 2 条 180 毫米的垂直线,如(16)所示。

在两条线的两端之间画一条弧线。在 2 条线之一上画一个 20 毫米宽的矩形,然后剪出最终的形状(17)。

如(18)所示,切出 2 条垂直线相交处的矩形角。

如(19)所示,将形状卷成锥形并切掉尖端。

将其缠绕在降落伞绳上并将锥体穿过矩形,如(20)所示,用胶带(21)加固锥体尖端接头。最后将锥体贴在瓶子上,注意它是直的(22),使用尽可能多的胶带。

我们已经完成了我们的火箭!如(23)所示

在视频中,您可以看到发射前的一般程序,即打开电子设备,检查伺服电机是否处于正确位置,将折叠的降落伞放入火箭内,并通过将橡皮筋放在伺服器上来关闭火箭的盖子手臂。

我们还模拟了自由落体,看看降落伞是如何弹出的

第 13 步:可视化数据

为了可视化该站接收到的数据,我们使用了视频中所示的处理草图。

我们需要下载Processing 3

下载所有附加.pde文件并把它们放在一个文件夹命名中的火箭,然后打开rocket.pde

在运行代码之前,我们需要在运行之前更改代码上的第 9 行 [ String serialPort = "COM7"; ] 将串口更新为您的 arduino 板。

我们还需要安装一个库,这是在处理时使用贡献管理器完成的(Sketch > Import Library > Add Library)

要安装的库是Karsten Schmidt 的ToxicLibs

运行代码

当您移动火箭时,您应该会看到图形响应,并且矩形棱柱跟随(或至少试图跟随)火箭的方向。
rocket.pde

Draw.pde

Graphs.pde

Data_process.pde

Madgwick.pde

Serial.pde

Orientation_Estimation.pde

第 14 步:火箭发射

最后,做电子发射前的初始化程序,把火箭注满1/3左右的水,把火箭放在水火箭发射器上,火箭发射,火箭落下时应该自动展开降落伞项目成功。

希望您能喜欢我的这个超级硬核项目

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论