住宅用空気流量計
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 25 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
|
このプロジェクトについて
背景
私たちは、住宅環境で使用できる気流流量計の作成を任されました。残念ながら、今日のHVAC業界では、市場に出回っている唯一の気流検知デバイスは、産業用アプリケーション向けに設計されたシステム用です。工業用サイズのレジスターで気流速度を計算するために現在使用されているデバイスは、住宅用レジスターには大きすぎるか、住宅用HVACシステムの気流出力が小さいために気流速度を計算できません。
仕組み
気流から信号を生成するために、カップ風速計を使用して空気を捕らえました。 Autodesk Inventorを使用してカスタムの3D印刷ブレードを作成し、空気を捕らえる際のファンブレードのパフォーマンスを最適化しました。また、風速計を配置するためのエンクロージャーを3Dプリントしました。
<図><図>
風速計が出力した信号を読み取るために、電圧センサーが選択されました。電圧センサーをより正確に読み取るには、センサーからの信号も増幅する必要がありました。増幅器は、風速計から出力電圧を受け取り、それを10倍に増幅します。この係数は、入力電圧に基づいて1.5〜1000倍の範囲で増減できます。
Arduino Unoを使用して、電圧センサーからアナログ信号を読み取り、LCD画面に表示される内容を制御しました。この特定の問題については、CFMで風速が必要だったので、画面にそのように表示しました。
ビルド
エレクトロニクス
構築の最初のステップは、風速計から始めることです。以下は、デバイスの写真です。
<図><図>
「風速計の上面図」というラベルの付いた画像を見てください。ブレードが風速計に接続するポイントはL字型で非常に薄いです。これは高速にはあまり耐えられないので、ここで新しいブレードを設計しました。より厚いブレードとより頑丈なハンドルデザインが必要な場所。より大きなブレードの目的は、ブレードとハウジングユニット(ファンが置かれる場所)の間の断面エアギャップを減らすことでした。これにより、スクープによって捕らえられる空気の量とモーターによって生成される電圧が増加します。以下は、ブレードが風速計に取り付けられている場所の写真です。
<図>あなたは考えているかもしれませんが、これは大きな違いを生むでしょうか?それは素晴らしい質問です。これに答えるために、Autodesk Inventorでいくつかの応力解析テストを実施して、新しい設計がはるかに頑丈であることを確認しました。下の写真は結果を示しています。
<図> <図>新しいブレードが高速ではるかに効果的であることがわかります。ブレードのSTLファイルは、ファイルセクションに添付されています。まだ新しいブレードを取り付けないでください。
次に、変更した風速計をハウジングユニットに配置する必要があります。ハウジングユニットのSTLファイルはファイルセクションにあります。風速計にブレードがない状態で、ハウジングの下部にある穴から風速計を上にスライドさせます。風速計の下部にあるゴリラから2つの薄い木の円(ホビーロビーから)。円とABSプラスチックハウジングに4つの小さな穴を開けます。 1つの穴はワイヤーを通すためのもので、他の3つはネジ用です。下の写真はそれがどのように見えるかを示しています。
<図>次に、風速計をアンプに配線する必要があります。以下はアンプの写真です。
<図>*アンプに接続されているすべてのワイヤはオスからオスであることに注意してください
オスからオスへのワイヤーを2本取ります。色は関係ありませんが、プロジェクトで使用した色で呼びます。右側の+ S円に赤いワイヤーをはんだ付けします。もう一方の端を風速計からの赤いワイヤーにはんだ付けします。右側の-S円に黒いワイヤーをはんだ付けします。もう一方の端を風速計からの黄色いワイヤーにはんだ付けします。また、電気テープを追加すると、それらを所定の位置に保つのに効果的です。
<図><図>
次に、アンプをバッテリー電源に配線する必要があります。右側のGNDに黄色のワイヤーをはんだ付けします。もう一方の端をバッテリーパックコネクタからの黒いワイヤーにはんだ付けします。右側のVlnサークルに白いワイヤーをはんだ付けします。もう一方の端をバッテリーパックコネクタからの赤いワイヤーにはんだ付けします。
次に、アンプを電圧センサーに配線する必要があります。青いワイヤーをアンプのGNDにはんだ付けし、もう一方の端を電圧センサーのVCCにはんだ付けします。緑色のワイヤーをアンプのVoutにはんだ付けし、もう一方の端を電圧センサーのGNDにはんだ付けします。
<図><図>
次に、電圧センサーをArduinoに配線し、配線を完了します。回路図セクションの配線図は、この部品の配線方法を示しています。
フィニッシュタッチ
最も難しい部分が完了しました!すべてが配線されたので、電子機器を流量計に設定できます。ファンハウジングの上部の天井には、フォームボードを使用します。ゴリラ接着剤を使用して固定しました。次に、電子機器をフォームボードに配置し、より多くのフォームボードを使用して電子機器を囲むことができます。下の写真では、電子機器を囲むためにフォームがどのように使用されたかを見ることができます。
<図>また、Arduinoとアンプがそれぞれの9Vバッテリー電源にアクセスできるように、フォームに穴が開けられました。これは下の写真で見ることができます。
<図>次に、じょうごを作成します。じょうごの板にはPVC素材を使用しました。台形の形をしたボードが4枚ありました。ボード同士をつなぐために、ゴリラグルーとコーキングを使用しました。同じ方法を使用して、ファンネルをファンハウジングに接続しました。じょうごの大きい方の端で、ウェザーストリッピングが周囲に配置されました。これは、じょうごが通気口まで押し上げられたときのシールを作成するために行われました。じょうごの大きい方の端の断面は14 '' x 14 ''です。下の写真はじょうごの正面図です。
キャリブレーション
すべてが構築されたら、流量計を校正しました。正確な気流を知っているデバイスでテストしました。最初のコードは、センサーによって読み取られた電圧をLCD画面に表示しました。次に、収集したデータを使用して、LCD画面にCFMを表示するための方程式を作成しました。以下のデータは、それをどのように調整したかを示しています。
<図><図>
グラフには、最初の気流と実際の気流の2つの曲線が表示されます。空気を流しているとき、速度がわずかに低下するため、これらは異なります。ここでは、実際の気流に最適な方程式を使用します。
y =1.1409x ^ 2 + 44.958x、arduinoコードで。コードは、風速がゼロのエリア、中小の風速、および大風速の3つの部分に分割されます。上記の方程式を使用して、流れの風速全体をモデル化することができますが、小から中程度の範囲をモデル化するためのより良い方程式が見つかりました。範囲は次の式で表されます:
大規模なCFM:
y =1.1409x ^ 2 + 44.958x
中〜低CFM
y =40x +20
ゼロCFM:
y =0
コードは後のセクションにあります。
コードをArduinoにアップロードしたら、流量計が完成します!
キャリブレーション それ 自分 (オプション)
それで、あなたがそれを自分で調整したいとしましょう。エアフローをm / sまたはmphで測定したい場合があります。ここでは、それを調整する手順を説明します。
ステップ1:最初に実際の流量を見つける方法を見つけます。
これを行う最も安価な方法は、店から風速計を購入することです。これがうまくいくものです。風速計
ステップ2:速度設定が異なるファンの前に風速計を置きます。ファンは、下の写真に示すようなものである可能性があります。
<図>
ステップ3:それぞれの異なる設定で風速計の風速を記録します。
ステップ4:流量計にファンの出力電圧を読み取らせる必要があります。これを行うには、「電圧センサーコード」というタイトルのコードをArduinoにアップロードします。
ステップ5:流量計の読み取り電圧が得られたので、異なるファン速度設定ごとに電圧を記録します。
ステップ6:Excelを使用して、「風速と電圧」の散布図を作成します。
ステップ7:トレンドライン機能を使用して、「風速と電圧」を正確にモデル化する方程式を見つけます。
ステップ8:トレンドラインがあまり直線的ではないと感じる場合は、グラフの下部と上部に別々の方程式を見つけることができます。
ステップ9:これで、「流量計コード」の方程式を方程式に置き換えることができます。コードをArduinoにアップロードすると、設定が完了します。
コード
- 流量計コード
- 電圧センサーのコード
- 電圧センサーコード
流量計コード C / C ++
1。 #include2. 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(電圧> 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. delay(1000); 51. // 1000ミリ秒の遅延52.lcd.clear(); 53.//繰り返しのためにクリア54.delay(1000); 55. 56.} 57. 58. else if(.01 <電圧<1)59 .//中低CFMの2番目の領域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. delay(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. delay(1000); 87. lcd.clear(); 88. delay(1000); 89.} 90. 91. 92.}
電圧センサーのコード C / C ++
これは、自分で電圧を校正する場合に電圧を読み取るためのコードです//以下はsensorfloatR1 =30000の抵抗の値です。 float R2 =7500; void setup(){Serial.begin(9600); } void loop(){//センサー値を読み取りますintensorValue =analogRead(A0); //実際の電圧フロート電圧の式=((5 * SensorValue *(R1 + R2))/(1024 * R2)); // computerSerial.printIn(voltage);に電圧を出力しますdelay(1000);}
電圧センサーコード C / C ++
これは、流量計を自分で校正するために使用するコードです。#includeLiquidCrystal 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)); // LCD画面に電圧を表示Serial.println(voltage); lcd.print( "V ="); lcd.setCursor(0、1); lcd.print(voltage); delay(1000); lcd.clear(); delay(1000);}
カスタムパーツとエンクロージャー
回路図
製造プロセス