ADCボードを使用した温度測定の自動化

熱電対 人生で少なくとも一度は温度を測定しました。 少なくともあなた自身の身体であっても、窓の外の空気やマザーボードのプロセッサであってもです。 ほとんどの場合、日常生活では-50〜100ºの範囲について話していますが、そのような測定には単純なアルコール温度計が適しています。 プロセッサの場合、半導体センサーが使用されますが、同じ範囲の測定温度によって制限されます。

業界では、100ºよりも何倍も高い温度に対処する必要があります。 熱電対は、それらの測定に最もよく使用されます。 たとえば、タングステン-レニウム(5%)-タングステン燃焼(20%)の熱電対は、2500ºまでの短期加熱に耐えることができます。 しかし、熱電対は単なるセンサー(さらにアナログセンサー)であり、データを登録するには特定の測定デバイスが必要です。 通常、これはPID(比例積分微分)コントローラーです。 通常、典型的なPIDコントローラーは単一チャンネルのデバイスです。つまり、接続できる熱電対は1つだけであり、通常はデジタルインターフェイスもありません。 公平を期すために、最も高度な(そしてはるかに高価な)PIDコントローラーは2チャンネルで、RS-232インターフェイスを備えていることに注意してください。
PIDレギュレーター






実験室では、録音機器が録音機器としてよく使用されます。 その主な利点は、複数の熱電対を同時に接続できることです。 ただし、データは紙テープにグラフの形で記録されます。 私の意見では、自動測定を実行するため、後でデータを手動で処理するのは合理的ではありません。 そして、それはまさに私が勉強した大学の研究室で起こったことです。 そして、ある晴れた日、5年目になって、この問題に対処するように申し出られました。 ソリューションが成功した場合、部門は温度測定を自動化するための複合体を受け取りました。まあ、私はエンジニアの卒業証書です。



数年前、測定を自動化するために、部門はRudnev-Shilyaev CJSCが製造したADC(アナログ-デジタル変換)La1.5 PCIボードを購入しました。
画像






しかし、ボードに付属のソフトウェアは非常に不便で、ボードのパフォーマンスをチェックするのに適していました。 ボードがデータを発行していることはせいぜい見ることができましたが、何も測定することはほとんど不可能でした。 ボイラーおよび原子炉工学部で学んだので、ここの専門家はエネルギー、蒸気ボイラー、原子炉でしたが、コンピューターやADCボードを知っている人はほとんどいませんでした。 そのため、ボードは棚に投げられ、そこでほこりを集め、翼で待っていました。 一般的に、私たちのニーズに合った便利で便利なプログラムの開発を始めました。 そして、私が抱えていた困難や最終的に何が起こったのかを共有したいと思います。



Rudnev-Shilyaev CJSCは、ボードに付属のソフトウェアを使用することは単に不可能であると理解していたため、多くのプログラミング言語にかなり良いSDKを提供しました。 私は頭が良くないことに決め、非常に特定の時間に保証された結果が必要だったので、「Hellow world」よりも複雑なもの、つまりDelphiを書いた経験を書いた。 さらに、Windowsでプログラムを開発する必要がありました。 大学にはLinuxがありませんでした。また、カーネルの非常に古いブランチの下ではボードに木材がなく、Linuxで自宅では機能しませんでした。カーネルモジュールを完成させる時間も経験もありませんでした。 SDKは非常に便利でしたが、明示的に示されていない特定のポイントがいくつかあり、問題が発生しました。



ボードは次のように機能しました。サンプリング周波数、信号ゲイン、デジタル化が実行されたチャンネル番号(ボード上に32のアナログ入力がありました)およびバッファーサイズ(コンピューターのRAMにボードがメモリがなかった)は、ボードがデジタル化を停止することを埋めることによって設定され、バッファを上書きする許可を待っています。 ボードが入力に加えられたボルト単位の信号の値をバッファに書き込むと私は単純に信じていました。 しかし、彼女はADCコードを書き留めていることがわかりました。ADCコードは、ADCボードの入力範囲とビット深度を考慮して、まだボルトに変換する必要があります。 たぶん、これはそのようなデバイスの標準ですが、ボードのドキュメントではどこにも明示的に示されていませんでした! 2つ目の落とし穴は、ボードがADCコードを16ビット形式で返すことです。 また、これはどこでも明示的に言われていません。



これらの機能を考慮に入れて私のプログラムが機能するようになったとき、別の非常に重要な問題が出てきました。 料金は非常に敏感でした。 部屋を動き回るだけでも、強い電磁干渉が発生し、測定結果が歪んでいました。 送風ファンと周波数変換器がオンになっているスタンドでの測定の問題はありませんでした。 何かを発明する必要がありました。



試行錯誤によって、次のことに気付きました。1つのチャネルのみからデジタル化すると、測定の開始時にのみ測定に大きなノイズが現れ、プロセス中のノイズは非常に少なくなります。 複数のチャンネルで測定する場合、ボードは毎回チャンネルからチャンネルに切り替わり、多くのノイズを混入します。 したがって、作業のアルゴリズムを変更し、ハードウェアではなくプログラムでチャネルを切り替えることにしました。 つまり、マルチチャネル測定中のボードがチャネル1 2 3 1 2 3 1 2 3からバッファに交互の値をバッファに与える前に、プログラムでこれを1 1 1 2 2 2 3 3 3に与えるようにしました。次に、チャネルの算術平均値を見つけました。これにより、すべてのランダム値がトリミングされます。 ボードは最大500 kHzの周波数で動作します。 毎秒50万回の測定での学生の係数については話せません。 すべてのノイズは破棄され、測定精度はボード自体のADCの精度によって完全に制限されます。



私はプログラムEtakerを呼び出しました。 以下にスクリーンショットを示します。



画像






画像






画像






画像



画像








Etakerプログラムを使用して、学部の他の学生の卒業作業中にデータが取得されました。特に、保護酸化皮膜の熱物理特性の研究、流動層での粒状燃料の燃焼、および一連の測定が石炭の連続コークス化のための実験ユニットで行われました。
画像




Etakerプログラムを使用すると、両方の標準熱電対を接続し、キャリブレーションテーブルに従って独自のセンサーを作成できます。



ここにソースがあり、プログラムの詳細な説明はユーザーズマニュアルにあり、ここにプログラム自体のインストーラーがあります。

したがって、KiRS AltGTU部門は、マルチチャネル自動温度測定用の最新のハードウェアおよびソフトウェアシステムを受け取り、私は優れたマークと工学の卒業証書を持っています。 信じられないほど幸せです!



All Articles