工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

サンプレベルモニター

コンポーネントと消耗品

>
Arduino Nano R3
× 1
フリースケールMPXV5010DP
× 1
0.96 "OLED画面
× 1
MCP4725 DAC
× 1
リレー(汎用)
× 1
コンデンサ1uf、.01uf、470pfすべてのSMD
× 1
プラスチック製の透明なプロジェクトボックス110mm * 85mm
× 1
Tygon Tubing 3/32 "
× 1

このプロジェクトについて

サンプレベルモニターは、娘の家またはホームモニタープロジェクトにあるEcobeeRSM-01入力ボードで動作するように構築されています。スタンドアロンにするためにリレーを追加しました。超音波センサーよりも信頼性が高く、取り付けが簡単だと感じたものが欲しかったのです。この目的のために、私は圧力センサーを調べ始め、ついにFreescaleMPXV5010DPに出くわしました。 0〜10kPaの場合は0-5vdcの出力があり、これはウォーターヘッドの約1020mmになります。

<図> <図>

ローカル表示が欲しかったので、デザインに使用するOLEDモジュールを選びました。安くて明るく、これは2色の画面でした。インターフェイスを提供するために、ドライ接点出力用のリレーを追加しました。 MPXV5010DPセンサーよりも強力な0-5vdc出力用のDAC(デジタル-アナログコンバーター)を追加しました。これにより、センサーが配線の損傷から保護されます。私はI2C通信を使用しているので、必要なのは別のArduinoにデータを供給するためのソフトウェアの変更だけです。

<図>

接続しやすいようにカスタムボードを設計して作成しました。さまざまな構成に十分な柔軟性を提供します。

センサーは、タイゴンチューブによって、サンプに送られる銅パイプに接続されています。これにより、モニターをどこに取り付けるかについてある程度の裁量が可能になり、水自体からモニターを遠ざけることができます。

コード

  • サンプレベルモニター
サンプレベルモニター C / C ++
必要に応じて解析し、このバージョンの余分なゴミを処理して、必要に応じてクリーンアップします。
 #include  #include  #include  #include  #include  #include  #define OLED_RESET 4Adafruit_SSD1306 display(OLED_RESET); #if(SSD1306_LCDHEIGHT!=64)#error( "高さが正しくありません。Adafruit_SSD1306.hを修正してください!");#endifAdafruit_MCP47; intrelayPin =5; //リレーアラーム出力の場合intanalogPin =0; // dac出力電圧を測定しますintv1 =0; // MPXV5010からのADC出力intv2 =0; // dac入力のスケーリングはPS入力からdacinputint v3 =0に変換します。 // PSからのmm変換の場合inputintv4 =0; // PSからの深さのパーセンテージinputintv5 =0; // arduinoint v6 =0によって読み取られたdacの出力; // PS inputfloat v7 =0からのmV変換の場合; // mmからinchsintに変換v8 =0; //表示をゴミにするインチの小数を削除しますintoffSet =40; // arduinoint maxSet =1015で測定された0kPa出力; // arduinoint maxHeight =1020で測定された10kPa出力; //通常の水位から蓋までのサンプの深さ(mmint範囲)=(maxHeight * 0.8)+ offSet; int alarmHeight =12; //アラームの高さ(インチ)// MPXV5010DP差圧センサーの場合intanalogPin2 =1; float divisor =25.4; //表示をインチに変換する場合voidsetup(){Serial.begin(9600); Serial.println( "DPセンサーを使用したDACテスト"); //デフォルトでは、3.3vラインから内部で高電圧を生成します! (きちんと!)display.begin(SSD1306_SWITCHCAPVCC、0x3C); // I2C addr 0x3D(128x64の場合)で初期化します// init done //バッファをクリアします。 display.clearDisplay(); // MCP4725A0の場合、アドレスは0x60または0x61です。dac.begin(0x60); pinMode(relayPin、OUTPUT); digitalWrite(relayPin、HIGH);} void loop(){v1 =analogRead(analogPin2);遅延(1000); if(v1  alarmHeight){display.invertDisplay(true); digitalWrite(relayPin、LOW);} else {display.invertDisplay(false); digitalWrite(relayPin、HIGH);} display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println( "SUMP LEVEL"); //display.setTextColor(BLACK、WHITE); // '反転'テキストdisplay.setTextSize(4); display.setTextColor(WHITE); display.print(v8); display.setTextSize(2); display.println( "inches"); display.display(); delay(500); } void serial(){//デバッグとキャリブレーション用Serial.print( "PSアナログ入力:"); Serial.print(v1); Serial.print( "高さ:"); Serial.print(v3); Serial.print( "mm"); Serial.print(v4); Serial.print( "%"); Serial.print( "変換された電圧:"); Serial.print(v6); Serial.println( "mV");} // end 

回路図

Eagle 6.5.0 を使用 sump%20level.sch

製造プロセス

  1. 血圧モニタ
  2. C# 変数のスコープ
  3. DIY環境と空気品質モニター
  4. MATRIX VOICE GOOGLE ASSISTANT – MATRIX VOICE PROJECT
  5. 天気モニター
  6. リモート心拍数モニター
  7. ローバー
  8. GoPiGo v2 with Windows IoT
  9. ゲートレベルモデリング
  10. JWマシン
  11. 旋盤を水平にする方法