アナログ血圧センサ (MPS20N0040D-D)(aitendo)と重量計りADCモジュール [HX711-M] (aitendo)を組み合わせて作った血圧計です。ADCモジュールの出力データをPIC16F1459で受け、パーソナル・コンピュータにUSB-HID転送しています。
参考にしたPIC用のファームウェアは、秋月通商のArduinoサンプルソース(ae_hx711.zip)で、参考にしたHX711の回路図は、秋月通商のHX711使用 ロードセル用ADコンバータ モジュール基板 取扱説明書に書かれているものです。
回路図と実際の回路を以下に示します。HX711のE-端子は必ずGNDに落とすことに注意します。そうしないと、E+端子に規定の電圧(4.2987V)が出力されません。また、アナログ血圧センサのピンには、上から見たとき(top view)、普通のICとは逆回りに番号がふられていますので、これにも注意します。なお、HX711のアンプのゲインは32にしています(B入力)。ゲインが64ですと(A入力)、150 [mmHg]程度までしか測定できません。
1.MPLAB Code Configurator(Classic)をインストールしていない場合はMPLAB Code Configurator(Classic)の導入を参照ください。
2.PICに書き込むファームウェアはPressureHid32.X.zipで、PC用のアプリケーション・ソフトウェアはpress2_32.zip(C#: Visual Studio Community 2017 or 2022)です。
3.PressureHid32.X.zipを解凍して出てくるPressureHid32.XフォルダーをMPLABXProjectsフォルダー(私の場合はC:\Users\yts\MPLABXProjects)の中に入れ、PIC16F1459に書き込みます。
4.PIC回路をUSBケーブルでPCに接続します。接続されたらアプリケーション・ソフトウェアを起動する前に3秒程度待ちます(センサーの初期化に時間が必要)。
5.PC上で、press2_32.zipを解凍すると出てくるWindowsFormsApp1.exeをPC上で実行します。すると、次のようなウィンドウが現れます。
6.アナログ血圧センサにカフを接続して圧力を掛けると、圧力に応じて棒グラフが伸びます。
注意点:血圧センサーのデータシートによると、フルスケール出力電圧が50から100 mVの間で、かなりばらつき(個体差)があるようです。そこで、以下のような水柱の高さで圧力を測る装置を作成して圧力センサーの校正を行いました。ビンの中には水を入れ、真ん中の外形6mmのガラス管に2m程度の長さのチューブを付けています。今回使用した血圧センサーの場合、フルスケール出力電圧は62.5mVでしたので、press2_32.zipを解凍すると出てくるpress2_32\WindowsFormsApp1\Form1.csの271行目で
c = c * 300.0f / 0.0625f;
としています(測定圧力範囲:40[kPaG] = 300.0 [mmHg])。