目次
序文
このデザインは 51 個のシングルチップ マイコンをベースにした脈拍測定器であり、一部のコンテンツはネットワーク情報を参照しています。侵害がある場合は、ブロガーに連絡して削除してください。
1. デザインの背景
中医学の四診(視・嗅・問・触)の中でも脈診は非常に重要な位置を占めています。脈診は中医学の中で最も特徴的な診断法であり、長い歴史と豊富な内容を持ち、中医学の「総合概念」と「症候の鑑別」の基本精神を体現し応用したものです。脈診には人体の健康に関する豊富な情報が含まれており、紀元 3 世紀に我が国で最初の脈診研究書『梅経』が出版されて以来、脈診は中国人および外国人の注目を集めてきました。 「グリーン非侵襲的」診断の手段と方法。しかし、中医学は脈情報を指に頼っているため、脈診は簡単、非侵襲、無痛であるため患者に受け入れられやすいものの、長期にわたる医療現場ではいくつかの欠陥も露呈してきました。まず、医師の指の感触だけで脈の状態を判別するという特徴は、感覚、経験、表現に限界があり、必然的に主観的な要素が多くなり、脈の状態の判断の標準化に影響を与える。第二に、指で脈を切るこの技術を習得するのは困難です。さらに、知覚された脈拍状態を記録して保存することができないため、脈拍状態のメカニズムの研究に影響を及ぼします。脈診の定性性と主観性は、その精度と実現可能性に大きな影響を及ぼし、伝統的な中国医学における脈診の応用、開発、伝達における制限要因となっています。伝統的な中国医学を推進し、脈診の応用と発展を促進するには、脈診を現代のテクノロジーと組み合わせて、より科学的で客観的な診断を達成する必要があります。
病院の看護師は毎日、入院患者の脈拍を測定し、患者の手首の動脈を手で押して脈拍に応じて数える方法で、1分間あたりの脈拍数を記録する必要がある。時間を節約するために、たとえ時間がかかっても、通常は 1 分間の測定は行わず、10 秒間の心拍数を測定し、その結果に 6 を乗じて 1 分あたりの心拍数を求めます。精度も高くありません。したがって、強力な脈拍測定器を開発することは非常に意味があります。
2. システム機能
このプロジェクトで設計された脈拍測定器、制御ユニットはSTC15F2K60S2シングルチップマイクロコンピュータを選択し、センサーは反射型光電ペアチューブST188を選択し、人間の指髄の血液の光透過率の異なる特性を使用し、センサーを可能にしますさまざまな信号を受信して人間の脈拍を間接的に測定します OLED12864 液晶ディスプレイ リアルタイムで脈拍データを表示し、 STC15F2K60S2 チップの内部 EEPROM を使用してデータ保存機能を実現し、以前の測定値を保存し、新しい値と比較します人間の脈拍の変化を観察するために脈拍を測定します。LabVIEWで上位コンピュータのソフトウェアを設計し、収集した信号をシリアルポート経由で上位コンピュータに送信し、測定されたパルス波形をリアルタイムで表示します。標準脈拍超過通知装置は、脈拍が高すぎるか低すぎる場合にブザーを選択して通知します。具体的な機能は以下の通りです。
- 反射型光電センサーST188を使用して人体の脈拍測定を実現し、表示解像度は1bpmです。
- 測定時、測定結果と信号発生器によって設定された信号の間の相対誤差は 5% 未満です。
- OLED12864を使用して測定結果を表示します。
- STC15F2K60S2チップの内部EEPROMを使用してデータストレージ機能を実現し、保存されたデータを表示します。
- PCとの通信機能付き。
- 測定された脈拍波形を表示するための labview ソフトウェアを設計します。
- 基準値を超えた場合(脈拍が低すぎる、または高すぎる)のリマインダー機能があります。
3. システムハードウェア設計
3.1 全体的なスキーム設計
全体的なスキーム設計を図 3.1 に示します。ワンチップマイコンチップにはメモリEEPROM、ADコンバータ、クロック回路が含まれているため、設計されるハードウェア回路は主に7つの部分に分かれます。
3.2 信号取得回路の設計
反射型光電ペア管 ST188 が正常に動作している場合、検出された信号は光の反射信号であり、モジュールの外部で増幅、整形、フィルタリングなどの処理が行われ、最終的にアナログ信号が出力されます。この設計では、メイン制御として STC15F2K60S2 チップを使用しているため、IO ポートの Low レベルが存在する時間を検出し、変換関係を組み合わせることでパルスの計算を実現できます。信号取得回路は図 3.2 に示すように、主にローパス フィルタリング、信号増幅、波形整形の 3 つの部分で構成され、信号増幅と波形整形はデュアル オペアンプ LM358 によって実現されます。
3.3 警報回路設計
今回設計した警報システムは、アクティブブザーによる警報回路を実現しており、パルス値が閾値範囲外であることを検出した場合、シングルチップマイコンが警報回路を制御して警報を実現します。下の図 3.3 は警報回路の設計図です。S8550 PNP トランジスタのスイッチ機能はブザーのスイッチ制御に使用されており、信号を増幅する機能があります。
図に示すように、BUZZR はブザーコンポーネント、Q1 は S8550 三極管、三極管のエミッタはブザーに接続され、三極管のスイッチはベースのレベル状態とベース電流制限によって制御されます。三極管の抵抗はマイコンに接続されており、P0^4 ピンはマイコンを介してハイレベルとローレベルを出力することでブザーを制御します。原理は、マイコンのP0^4がLowレベルを出力すると三極管のコレクタがONし、ブザーのマイナス極が接地されることでブザーが鳴り、P0^4がHighレベルを出力するとブザーが鳴ります。このレベルでは三極管のコレクタはカットオフ状態となり、ブザーには電圧が無いため音は鳴りません。
3.4 ダウンロード回路
ダウンロード回路を図 3.4 に示します。VCC ピンは正電源の入力端子で、0.1uF のデカップリング コンデンサ C6 を接続し、コンピュータの 5V 電源に接続する必要があります。V3 ピンには 0.01uF のデカップリング コンデンサ C3 が外部接続されています。XI/XO ピンは 12MHz の水晶発振器に接続されており、コンデンサは 22pF です。TXD/RXD はデータ通信のためにそれぞれマイクロコントローラーの RX と TX に接続されます。
CH340チップの送信端子TXDに逆方向ダイオードを接続し、反対側のICに接続します。反対側の IC が CH340 に電流を流すのを防ぐために、受信ピンに電流制限抵抗を追加します。逆ダイオードを使用する原理は、CH340 がデータを送信するとき、ハイレベルを送信するときにダイオードが切断されますが、反対側の RXD のデフォルトのプルアップもハイレベルであるため、サンプリングの問題は発生しません。ローレベルを送信すると、ダイオードがオンになり、反対側の RXD はローレベルを受信するため、正常に通信できます。また、CH340 の TXD 送信ピンが反対側の IC に電流を逆流することを防ぎます。電流制限抵抗を流す原理は、ピン電流が大きすぎてチップ設計の上限を超え、逆流電流によりチップが動作し、場合によってはラッチアップ現象が発生し、チップの異常が発生するためです。チップの内部回路に電流制限抵抗が追加されています。
3.5 電源回路設計
この設計は高電源を必要としません。基本的な USB 5V または 4 つの 1.5V 乾電池を使用して電力を供給できます。この設計では、電力供給に USB 電源ラインを使用します。次の図 3.5 に、電源インターフェイスとスイッチ制御回路図を示します。このデザインの。ピン 1 はスイッチ制御ピンに接続され、スイッチ U3 を介して電源のオン/オフを制御し、VCC に出力してシステムに電源を供給します。VCC は 5V です。2. ピン 3 は、USB からシリアル ポートへの通信のために CH340 の UD+ および UD- に接続されます。ピン 4 は GND に接続されます。
3.6 OLED ディスプレイの設計
低消費電力の0.96インチOLEDディスプレイを採用 OLEDとは有機発光ダイオード(Organic Light-Emitting Diode)のことです。OLEDは薄型、低消費電力という特徴があり、MP3プレーヤーなどに広く使用されているほか、低消費電力であることから他のウェアラブル製品にも使用されている。
OLEDにはさまざまな駆動方式があり、主にSPI駆動とIIC駆動が一般的ですが、この設計ではIICインターフェースを使用しており、IICはディスプレイの駆動に2本のデータ線のみが必要で、使用原理は簡単です。モジュール内には文字が入っておらず、文字や数字、漢字を表示する際にはフォントライブラリを作成する必要があるため、様々なパターンで表示することが可能です。OLED ディスプレイ回路を以下の図 3.6 に示します。モジュールには 4 つのピンがあり、VCC は 5V 電源に接続され、GND は接地され、3 つのピンは IIC の SCL に接続され、4 つのピンは IIC の SDA に接続されます。
3.7 キーボード回路
この設計では、3 つの独立したボタンを使用して、しきい値調整とインターフェイス切り替え機能を実現します。3つのボタンは設定プラスキー、設定マイナスキー、切替キーに分かれています。設定プラスキーはアラームしきい値をプラスに設定するために使用し、セットマイナスキーはアラームしきい値をマイナスに設定するために使用します。インターフェース切り替えキーにより、上下限閾値調整インターフェースの切り替えが実現できます。
下図の3.7はキーボードの回路設計図で、図中の3つのボタンの一端は共通端子GNDに接続され、もう一端はそれぞれシングルチップマイコンのI/Oに接続されています。3 つのボタン インターフェイスはそれぞれマイコンの P0^1、P0^2、P0^3 ピンに接続されており、マイコンの対応するピンが Low レベルを検出すると、そのピンがトリガーされて、対応する機能が実現されます。アクション。
4. システムソフトウェア設計
4.1 システムメインプログラムの設計
まず、システムの初期化が実行されます。これには、LCD の初期化設定、タイマーの初期化、シリアル ポートの初期化が含まれます。次に、メイン プログラム ループに入ります。メインのプログラム循環システムは、主に脈拍信号のリアルタイム取得です。タイマ2でパルスパルス信号を捕捉し、2つのパルス間の時間を検出 タイマ0で有効なパルス信号をカウントし、最後に実際のパルス値を演算により求め、求めたパルス値を記憶EEPROMにあります。AD を使用して元のパルス波形の収集を開始し、シリアル ポート経由で Labview ホスト コンピュータにアップロードします。同時に、キーボードサブルーチンはリアルタイムでスキャンし、スイッチキーが押されたことを検出すると表示を切り替えます; しきい値インターフェイスの設定状態では、設定キーが押されると、上限しきい値が表示されますまたは、それに応じて下限しきい値が増減します。システムのソフトウェア プログラムのブロック図を以下の図 4.1 に示します。
4.2 パルス取得サブルーチンの設計
パルスは 2 つのパルス信号のパルス間隔を検出して計算されますが、パルスを収集する際の具体的な手順は、まずタイマ 0、2 を初期化し、それぞれ 1ms、10ms で停止し、サイクルに入ります。ループ内でパルスパルス信号が 30ms 以上存在すると、タイマ 1 割り込みでパルスカウントを開始し、同時にタイマ 0 割り込みにより不安定なパルス測定を解消し、最終的にパルス値を計算します。パルスアルゴリズムを生成し、それを OLED に表示します。そのフローチャートを以下の図 4.2 に示します。
4.3 キーボードプログラミング
このシステムのキーは主にしきい値調整、インターフェースの切り替えなどの機能を果たします。ボタンの動作プロセスは次のとおりです。まず、通常の動作状態で、スイッチボタンを押して上限および下限しきい値を設定するためのインターフェイスに入り、OLEDに脈拍測定値と上限および下限しきい値が表示されます。上限と下限のしきい値は、プラスボタンとマイナスボタンを設定することで調整できます。設定完了後、最後にスイッチボタンを押すと初期画面に戻りますが、具体的なフローチャートは以下の図 4.3 の通りです。
4.4 OLEDディスプレイプログラムの設計
この設計では、ディスプレイとして OLED スクリーンを使用していますが、今回は IIC インターフェイスである 4 ピン OLED を選択し、IIC を介して OLED を駆動します。前章から、OLED の SDA と SCL がそれぞれ STC15F2K60S2 の P2^7 と P2^6 に接続されており、IIC ドライブがソフトウェアによってシミュレートされていることがわかります。IIC インターフェースには、IIC スタート信号、IIC ストップ信号、IIC リードデータ、IIC ライトデータ、IIC 応答信号、および非応答信号が含まれます。以下は、OLED の読み取りとデータの表示のフローチャートです。最初に初期化構成を実行し、IIC を初期化し、次に命令を構成します。次に表示データワークを入力し、まず表示を座標として決め、次に表示フォントサイズなどを決めて表示データを書き込みます。そのフローチャートを以下の図 4.3 に示します。
4.5 AD取得脈波プログラム設計
この設計は、STC15F2K60S2 内部 8 チャネル 10 ビット高速 ADC を使用しており、速度は 1 秒あたり 300,000 回に達し、3 ウェイ PWM は 3 ウェイ D/A としても使用できます。その使用方法は非常に簡単で、A/D として使用する必要のない P1 ポートは引き続き IO ポートとして使用できます (入力としてのみ推奨)。A/Dとして使用する必要があるポートは、P1ASF特殊機能レジスタの対応する位置を'1'に設定し、対応するポートをアナログ機能に設定した後、ADC制御レジスタ、ADC変換結果調整レジスタ、およびADC変換結果調整レジスタを設定します。 ADC変換結果レジスタ 以上です。AD取得パルス波形プログラム設計のフローチャートは以下の通りで、まずAD変換チャネルを選択し、AD変換を開始します。次にADサンプリング結果を取得します。そのフローチャートを以下の図 4.5 に示します。
4.6 データ保存プログラムの設計
この設計は、プログラム空間から分離されたSTC15F2K60S2内蔵大容量EEPROMを使用しており、消去および書き込み回数は10万回以上で、各セクタは512バイトの複数のセクタに分割できます。使用する場合は、同時に変更されるデータは同一セクタに配置し、同時に変更されないデータは別のセクタに配置することを推奨します。さまざまな分野では、満員である必要はありません。データメモリの消去操作はセクタごとに実行されます。以下にデータ格納プログラム設計のフローチャートを示しますが、データを書き込む前にEEPROMを初期化し、セクタを消去します。次に、保存されているデータを書き込みます。そのフローチャートを以下の図 4.6 に示します。
5. 身体検査
この主題設計のシステム設計とハードウェア回路設計を経て、最終的に回路基板が作成され、回路の各モジュールが溶接されます。溶接するときの順序に注意してください。最初に回路モジュールを溶接し、回路インターフェイスと電源スイッチを溶接した後、電源を接続します。次に、マルチメータを使用して各電源ポイントが正常かどうかをテストし、テストが正常であれば次の溶接ステップに入ります。溶接順序は、電源部と主制御マイコン部を溶接し、小さな部品を溶接し、その後に大きな部品を溶接するという方法で、最終的な溶接パターンを図 5.1 に示します。
システムボードの電源がオンになり、正常に動作すると、OLED の 3 行目に「ようこそ」が 2 秒間表示され、その後自動的に更新され、心拍数や EEPROM に保存されている心拍数の値などが表示されます。下の図 5.2 は、システム起動インターフェースとデータ表示のメインインターフェースを示しています。メインインターフェイスには、システムの心拍数、EEPROM に保存された心拍数、その他のデータがリアルタイムで表示されます。図に示すように、心拍数センサーST188により心拍数値が収集されており、心拍数計測が行われていない場合、画面の1行目は「0」、2行目は心拍数センサーST188に格納されている心拍数の値が表示されます。 EEPROM。図に示すように、最初の行は心拍数が 0 であり、心拍数測定は実行されていないことを示し、2 行目は最後の停電前に測定された EEPROM に保存された心拍数値 51 を示しています。
メインインターフェイスにリアルタイムで表示され、ボタンを通じて他の機能を実現できます。スイッチボタンを押すと、OLED はしきい値表示インターフェイスに切り替わります。OLED のサイズにより、分割画面表示になります。が選択されます。表示インターフェースには、心拍数の測定値、上下限しきい値、EPROM に保存されている心拍数値などの情報が表示されます (図 5.3 に上下限しきい値表示インターフェースを示します)。1行目は心拍数測定値を表示 心拍数測定を行っていない場合は、画面1行目は「0」、2行目は上下限閾値、3行目はEEPROMに保存されている心拍数を表示レート値。
ボタンを押して上限および下限のしきい値を調整する場合、下の図 5.4 に示すように、最初に SET ボタンを押して調整インターフェイスに入る必要があります。これは、上限および下限のしきい値調整インターフェイス図です。1行目は心拍数の測定値、1行目は「0」、2行目は上下限閾値、3行目はEEPROMに記憶されている心拍数の値を示します。図のように、このときプラスキー、マイナスキーを設定することで下限閾値、上限閾値がそれぞれ上下に調整され、セットキーを一度押すと自動的に次のパラメータ設定に戻り、最後に を押します。スコアを設定した後、再度設定キーを押すと、設定時間を自動的に保存し、設定インターフェイスを終了し、自動的にメインインターフェイスに入ります。
要約する
このデザインは要件をすべて満たしていますが、ST188 の溶接に問題があり、全体のデザインが美しくありません。もちろん、私のレベルには限界があり、デザインにはいくつかの欠陥があります。コメント欄で友達と交換したり修正したりしてください!設計ソース コード、PCB 回路図、設計レポートについては、Baidu Netdisk の次のリンクを参照してください。
リンク: https://pan.baidu.com/s/1pbsC4rZsHcywS5LAlzyhyg
抽出コード: tqam
作成は簡単ではありませんが、たくさんのサポートをお願いします。