超音波タンク充填センサーの開発と運用

まえがき



夏が終わったので、1つの興味深い研究の結果、つまり、組み合わせた超音波センサーの開発、組み立て、試運転、操作を共有したいと思います。 システムがどれだけ実行可能かを理解することが重要だったので、デバイス全体が「ひざの上に」組み立てられたとすぐに言いたいです。 したがって、雨、太陽、風に対する保護は行われませんでした。 デバイス自体は部屋の外に設置されました。 将来を見据えて、デバイスが古いプロジェクトの機器の残骸から組み立てられたという事実にもかかわらず、信頼性は非常に印象的なものになったと言います。



問題の声明



タスクは早春に設定された-保育園で120ラズベリーの茂みの買収と一緒に。 ご存知のように、ラズベリーは水やりに非常に反応しますが、同時に余分な水は好きではありません。 したがって、以下の問題を解決する即興の材料からシステムを組み立てることが決定されました。



1.水中振動ポンプを制御します

2. 220リットルの樽での水位測定。

3.要求に応じてソレノイドバルブをオンにします。散水を開始します。 シャットダウンは、水位計からの信号によって実行されます。

4.灌漑サイクルが完了すると、バレル充填サイクルが開始されます。 シャットダウンは、水位計からの信号によって実行されます。



機器の構成



-US-100-超音波距離計。 有名なHC-SR04の兄。 主な違いは、温度補償の存在と、UARTを介したデータ転送モードで動作する能力です。 正確さのために、HC-SR04がないため、比較できませんでした。

-ボードには、マイクロプロセッサSTM8S003F3P6が搭載されています。

-HD44780と互換性のあるLCD 2x16。

-HLK-PM01-小型小型電源タイプAC-DC。 入力電圧220V AC、出力5V 600 mA DC。

-電圧が24V DCの場合、取り付け径が3 \ 4の電磁弁。 消費電流は2 Aに達します。

-メインユニットのハウジング。

-超音波センサーのハウジング。 このIP67ケースの設計、および実践が示しているように、そのような設計は無駄に選ばれませんでした。



開発ツール



私は、2つの素晴らしいArduino Miniボードの幸せな所有者であるとすぐに言いたいです。 しかし、悲しいかな-リアルタイムオペレーティングシステムを使用しても、このボードは、要求が64だけで57.6 kBitの速度でタイムアウトが100ミリ秒未満のModbus RTUスレーブとして動作することを望んでいないことが判明したときに、意識の評価は終了しました登録すると同時に、少なくともいくつかの有用な作業を行います。 そのため、リソースがはるかに少ないSTM8プラットフォームのボードが選択されました。 IAR Embedded Workbench for STM8は、プログラミングおよびデバッグ環境として選択されました。 この環境は、プログラマー-デバッガーST-LINK V2に最適です。 プログラマーはUSBインターフェースを備えており、4本のワイヤでデバッグ対象製品に接続します。 この場合、多くの場合、デバッガーからの電流でデバッグ対象のボードに電力を供給できます。 私は少し古臭いので、オンラインでデバッグできるのが好きです。 私は自分のコードが実行時に何をするかを見たいだけです。 このアプローチは、時間とお金を複数回節約しました。



オペレーティングシステム



興味深い事実:有名なロシアの干支メーカーは、リアルタイムオペレーティングシステムなしでPLCを製造しています。



旅の最初に、私は選択に直面しました-そのようなリソースを備えたマイクロプロセッサにリアルタイムのオペレーティングシステムを使用するかどうか。 そして、選択は非常に予想外でした-ChibiOS RT v2.6.9。 この出版物では、このシステムのすべての機能を検討するわけではありません。同じ優先度の2つのスレッドの作成には2547バイトのフラッシュメモリと461バイトのRAMが必要でした。 実際、たくさんありますが、この損失の結果、リアルタイムオペレーティングシステムで制御される8ビットの安価なマイクロコントローラーができました。 したがって、必要に応じてタスクの実行を制御できます。



進捗:プロトタイプの組み立てとプログラムの作成



プロトタイプの組み立ては十分に速く、特別な問題はありませんでした。 結果として何が起こったのかを次の図に示します。



画像






プログラミング時の唯一の問題は、ディスプレイと超音波センサー用の既製のドライバーが見つからなかったことです。 結果-私は自分で書かなければなりませんでした。 作業の結果は、安定して動作するプログラムであり、そのソースコードはアーカイブにあります



ハウジングに取り付けられたプロトタイプの外観を以下に示します。 テストプロセスは自宅で見ることができます(読み取り-真空中の球状プロセッサのテスト)。 arduinoドライバーが通常テストされるのはこのようなモードであり、結果は結果の「ソリューション」の非常に高い信頼性に関するフィードバックです。 このようなテストでの私の製品の動作は完璧でした-障害や逸脱は認められませんでした。



画像






進捗:システムの設置と試運転



設置するために、制御オブジェクトのすぐ近くにある構造が選択されました。 上で述べたように、降水に対する保護は提供されていません。 最終的には、長引く土砂降りがうまくいきましたが、それについては後で詳しく説明します。 以下の画像は、超音波センサーの取り付けを示しています。



画像






このデバイスは、点滴灌漑システムの組み込みを制御し、プログラマブルロジックコントローラーから制御されます。 このコントローラーには、最大128個のデバイスを1つの通信ポートに接続できる1線式バスが組み込まれています。 湿度センサーは容量性で組み合わされており、80 MHzの周波数で動作し、1線式インターフェースのみを備えています。 湿度とともに、センサー設置レベルでの照明量を伝達します。 デバイスデータはこの出版物ではカバーされていません。



進行状況:操作



パワーを与えたので、プログラムに埋め込まれたアルゴリズムが開発者の望みどおりに機能することを確認できてうれしかったです。 ユニットは水までの距離を測定し、バレルが空であると判断し、ポンプをオンにして充填しました。 充填プロセスでは、レベルセンサーの読み取り値の偏差は15 mm以下であり、これは非常に許容範囲です。 バレルを満たし、ポンプをオフにしました。 これで、灌漑プロセスを開始する準備が整いました。 最初の段階では、すべてがスムーズで美しいものでしたが、長年の経験から最も興味深いものが来ることが示唆されました。



進捗状況:問題と解決策



結局のところ、水処理用のディスクフィルターの取り付けはまったく不要でした。3週間の操作後、フィルターが目詰まりしてシステムに水が入らないだけでした。 写真は下にあります。



画像






水が澄んでいるという事実にもかかわらず、それは鉄の樽の壁に対して非常に攻撃的であることが判明しました。 樽が錆び始め、下の結果が表示されます。 解決策はシンプルであることが判明しました。耐久性のあるエナメルを使用して、バレルを内側から2層に分けてペイントします。



画像






しかし、これだけではありません。結局のところ、1バレルの水はあらゆる種類の藻類にとって非常に魅力的であり、彼らは喜んでそこに落ち着きます。 私の場合、そのような小さなエコシステムでさえも判明しています-下の写真。



画像

解決策も簡単です-ご存知のように、藻の成長には日光が必要です。 不透明な素材でバレルを覆うだけです。 私は光のアクセスを完全に止めることができなかったため、月に一度、タンクの予防洗浄が必要です。



しかし、1つの問題の解決策は、別の問題を引き起こします-結露がコーティングに集まり始めました。 そして、IP67センサーの性能がなければ、ユニットはすぐに使用できなくなります。 ちなみに、デザインの見た目の優しさにもかかわらず、超音波センサーは非常にポジティブであることが証明されました。 しかし、私はそれを修正しなければなりませんでした-誤ったエコーを補償するためにリングリフレクターを配置します-いくつかの距離の信号。 どうやら、エコー信号は、バレルの壁からの音波パルスのパケットの反射の結果として現れます。 私の場合、この距離は230〜250 mmでした。



結論:今後の道



上で述べたように、降雨は晩秋にテストを停止しました-鋭い綿が220 V端子電源コネクタの故障を示していました。



受け取った資料を分析すると、予想外の結論に達しました。この形式のデバイスは必要ありません。 センサー自体を改良し、modbus rtuなどの標準交換プロトコルへのアクセスを許可すると、中間リンクを使用せずにコントローラープログラムから直接制御できます。 1線バスを使用するオプションも検討しましたが、4 x 16ビット値の転送は、通信プロトコルの高速バージョンで行うのが最適です。



結論として、この出版物に興味があれば、はんだごてとプログラマーを手に入れて収集したプロジェクトに関する一連の出版物を喜んで続けます。



All Articles