亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

住宅空气流量计

组件和用品

Arduino UNO
× 1
跳线(通用)
总共 25 线
× 25
面包板(通用)
× 1
旋转电位器,10 kohm
× 1
Adafruit RGB 背光 LCD - 16x2
× 1
通孔电阻,220 kohm
× 1
Diymall 电压传感器 Dc0-25v
× 1
DROK 信号放大器 AD620
× 1
杯形叶片风速计
× 1

必要的工具和机器

烙铁(通用)

关于这个项目

背景

我们的任务是创建可用于住宅环境的气流流量计。不幸的是,在当今的 HVAC 行业中,市场上唯一的气流传感设备是针对为工业应用而设计的系统。目前用于计算工业级通风量的设备要么对住宅通风量来说太大,要么由于住宅 HVAC 系统的气流输出较小而无法计算气流速率。

工作原理

为了从气流中产生信号,我们使用了杯式风速计来捕捉空气。我们使用 Autodesk Inventor 制作了定制的 3D 打印叶片,以优化风扇叶片捕捉空气的性能。我们还 3D 打印了一个外壳来放置风速计。

为了读取风速计输出的信号,选择了电压传感器。来自传感器的信号也需要放大,以便在电压传感器上获得更准确的读数。放大器从风速计获取输出电压并将其放大 10 倍。根据输入电压,该倍数可以增加或减少 1.5 到 1000 倍。

Arduino Uno 用于读取来自电压传感器的模拟信号并控制 LCD 屏幕上显示的内容。对于这个特定问题,我们想要 CFM 中的风速,所以我们在屏幕上显示它。

构建

电子

建造的第一步是从风速计开始。下面是设备的一些照片。

查看标有“风速计顶视图”的图像。叶片连接到风速计的点是一个 L 形且非常薄。这不能很好地保持高速,所以这里是我们设计新刀片的地方。我们想要更厚的刀片和更坚固的手柄设计。较大叶片的目的是减少叶片和外壳单元(风扇所在的位置)之间的横截面气隙,这反过来又会增加勺子捕获的空气量和电机产生的电压。下面是叶片连接到风速计的位置的照片。

你可能会想,这会有很大的不同吗?这是一个很好的问题。为了回答这个问题,我们在 Autodesk Inventor 中进行了一些压力分析测试,以查看新设计更坚固。下图显示了结果。

我们可以看到新刀片在高速下更有效。刀片的 STL 文件附加在文件部分。暂时不要安装新刀片。

接下来,我们需要将修改后的风速计放入外壳单元中。住房单元的 STL 文件位于文件部分。在风速计中没有刀片的情况下,将风速计向上滑动穿过外壳底部的孔。 Gorilla 将风速计底部的两个薄木圈圈起来(来自 Hobby Lobby)。在圆圈和 ABS 塑料外壳上钻 4 个小孔。一个孔将穿过电线,另外三个将用于螺钉。下图显示了它的外观。

接下来,我们需要将风速计连接到放大器。下面是放大器的图片。

*注意所有连接到放大器的电线都是公对公

拿两根公对公电线,颜色无关紧要,但我会用我们在项目中使用的颜色来称呼它们。将一根红线焊接到右侧的 +S 圆圈上。将另一端焊接到来自风速计的红线上。将一根黑线焊接到右侧的 -S 圆圈上。将另一端焊接到来自风速计的黄线上。此外,添加电工胶带可以很好地将它们固定到位。

接下来,我们需要将放大器连接到电池电源。将一条黄线焊接到右侧的 GND。将另一端焊接到来自电池组连接器的黑线上。将一条白线焊接到右侧的 Vln 圆圈上。将另一端焊接到来自电池组连接器的红线上。

接下来,我们需要将放大器连接到电压传感器。将一根蓝线焊接到放大器上的 GND,另一端焊接到电压传感器上的 VCC。将一根绿线焊接到放大器上的 Vout,另一端焊接到电压传感器上的 GND。

现在我们将电压传感器连接到 Arduino 并完成接线。原理图部分的接线图显示了如何接线这部分。

收尾

最难的部分完成了!现在一切都已连接好,我们可以在流量计上设置电子设备。使用一块泡沫板作为风扇罩顶部的天花板。我们使用大猩猩胶将其固定到位。然后,您可以将电子设备放在泡沫板上,并使用更多的泡沫板来封闭电子设备。在下面的图片中,您可以看到如何使用泡沫来封闭电子设备。

此外,在泡沫上切了孔,以允许 Arduino 和放大器访问各自的 9V 电池电源。这可以在下图中看到。

接下来我们将构建漏斗。我们使用 PVC 材料制作漏斗板。有4块梯形板。为了将板相互连接起来,我们使用了大猩猩胶和填缝剂。使用相同的方法将漏斗连接到风扇外壳。在漏斗的大端,在周边放置了挡风雨条。这样做是为了在漏斗被压到通风口时形成密封。漏斗大端的横截面为 14'' x 14''。下图显示了漏斗的前视图。

校准

一切都建成后,我们校准了我们的流量计。我们使用知道确切气流的设备对其进行了测试。我们的第一个代码在 LCD 屏幕上显示传感器读取的电压。然后我们使用收集到的数据创建方程式,使 LCD 屏幕显示 CFM。下面的数据显示了我们如何校准它。

在图表上,您可以看到两条曲线,初始气流和实际气流。它们是不同的,因为当我们将空气向下输送时,速度会略微降低。这里我们将使用实际气流的最佳拟合方程,

y =1.1409x^2 + 44.958x,在我们的 arduino 代码中。该规范将分为三部分,零风速区域、中小风速区域和大风速区域。您可以使用上面最适合的方程来模拟整个气流的风速,但我们找到了一个更好的方程来模拟中小范围。这些范围将由以下等式表示:

大型 CFM:

y =1.1409x^2 + 44.958x

中到低 CFM

y =40x +20

零 CFM:

y =0

您可以在后面的部分找到代码。

将代码上传到 Arduino 后,您就完成了流量计!

校准 你自己 (可选)

因此,假设您想自己校准它。也许您希望以 m/s 或 mph 为单位测量气流。在这里,我们将引导您完成校准它的步骤。

第一步:先想办法求出实际流量。

最便宜的方法是从商店购买风速计。这是一个可行的方法。风速计

第 2 步:将风速计放在具有不同速度设置的风扇前。风扇可以是下图所示的那种。

第 3 步:在每个不同的设置下记录风速计的风速。

第 4 步:您必须让流量计读取风扇的输出电压。为此,请将名为“电压传感器代码”的代码上传到 Arduino。

第 5 步:现在您有了流量计读数电压,记录每个不同风扇速度设置下的电压。

第六步:用Excel制作“风速与电压”的散点图。

第 7 步:使用趋势线功能找到可以准确模拟“风速 vs. 电压”的方程。

第 8 步:如果您觉得您的趋势线不是很线性,您可以为图表的下部和上部找到单独的方程。

第 9 步:现在你可以用你的方程代替我在“流量计代码”中的方程。将代码上传到 Arduino 后,您就设置好了!

代码

  • 流量计代码
  • 电压传感器代码
  • 电压传感器代码
流量计代码C/C++
<前> 1. #include 2. 3. LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 4. // 这些是将要使用的引脚 5. 6. // 下面是传感器中电阻的值 7. float R1=30000; 8. 9. 浮动R2=7500; 10. 11. void setup() 12. { 13. 14. Serial.begin (9600); 15. lcd.begin(16, 2); 16. // 这允许使用 LCD 屏幕 17. 18. 19. } 20. 21. void loop() 22. // 循环开始 23. { 24. 25. int sensorValue =analogRead(A0); 26. // 读取传感器值 27. 28. 浮动电压 =((5*sensorValue*(R1+R2))/(1024*R2)); 29. // 实际电压公式 30. 31. 32. //************************************ ************************// 33. // CFM 的方程是电压的分段函数,34。 // 所以如果使用了语句将功能划分为 35 个。//它们各自的区域在 36 个以下。//********************************* ************************// 37. 38. 39. if (voltage> 1) 40. // 大 CFM 函数的第一个区域41. { 42. 43. float cfm =(1.1409*(电压))*((电压))+44.258*(电压); 44. 45. Serial.println(cfm); 46. // 显示 CFM 47. lcd.print("CFM ="); 48. lcd.setCursor(0, 1); 49. lcd.print(cfm); 50. 延迟(1000); 51. // 1000 毫秒延迟 52. lcd.clear(); 53. // 清除重复 54. delay(1000); 55. 56. } 57. 58. else if (.01 <电压 <1) 59. // 中到低 CFM 的第二个区域 60. { 61. 62. float cfm =(40*(电压)+20); 63. 64. Serial.println(cfm); 65. // 显示 CFM 66. lcd.print("CFM ="); 67. lcd.setCursor(0, 1); 68. lcd.print(cfm); 69. 延迟(1000); 70. // 1000 毫秒延迟 71. lcd.clear(); 72. // 清除重复 73. delay(1000); 74. 75. } 76. 77. else 78. // 如果风扇没有旋转,则 CFM 将为零 79. { 80. float cfm =0; 81. 82. Serial.println(cfm); 83. lcd.print("CFM ="); 84. lcd.setCursor(0, 1); 85. lcd.print(cfm); 86. 延迟(1000); 87. 液晶显示器。 88. 延迟(1000); 89. } 90. 91. 92. }
电压传感器代码C/C++
如果您想自己校准,这是读取电压的代码
 // 下面是sensorfloat R1=30000 中的电阻值; float R2=7500;void setup() {Serial.begin (9600); }void loop() {// 读取传感器值int sensorValue =analogRead(A0); // 实际电压浮动电压的方程 =((5*sensorValue*(R1+R2))/(1024*R2)); // 在computerSerial.printIn(电压)上打印电压;延迟(1000);}
电压传感器代码C/C++
这是您用来自己校准流量计的代码。
#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //这些是将要使用的引脚//下面是sensorfloat R1=30000中的电阻值; float R2=7500;void setup() { // 这允许使用 LCD 屏幕Serial.begin (9600);lcd.begin(16, 2); }void loop() { // 读取传感器值 int sensorValue =analogRead(A0); // 实际电压浮动电压的方程 =((5*sensorValue*(R1+R2))/(1024*R2)); // 在液晶屏上显示电压Serial.println(电压);lcd.print("V =");lcd.setCursor(0, 1);lcd.print(电压);delay(1000);lcd.clear();延迟(1000);}

定制零件和外壳

示意图


制造工艺

  1. 空气净化器
  2. 氧气罐
  3. 空气清新剂
  4. 氧气
  5. 空调
  6. 热气球
  7. 气囊
  8. UFO 攻击!
  9. 3D RGB Arduclock
  10. MyRiver
  11. 钢铁侠
  12. 摇杆游戏