無線電子工学および電気工学の百科事典 マルチプログラムタイマー・時計・温度計。 無線エレクトロニクスと電気工学の百科事典 無線電子工学と電気工学の百科事典 / パワーレギュレーター、温度計、熱安定剤 この記事では、XNUMX つの負荷、時計、目覚まし時計、広範囲の温度計、加熱と冷却の両方を提供するサーモスタットを制御できるマルチプログラム タイマーの機能を実行できる、PIC コントローラーをベースにしたユニバーサル デジタル デバイスについて説明します。制御対象の。 ユニバーサルデジタルデバイスの回路を図に示します。 1、次の仕様があります。
16 ボタンのキーパッドを使用してデバイスを制御します。 ボタンを押す音のオン/オフ、音、光、制御信号の供給の設定、制御プログラム MK の変更による特定の用途に合わせたデバイスの個別調整が可能です。 内蔵充電池によるバックアップ電源があります。 デバイスの操作中に設定されたすべてのパラメータは、バックアップ電源がオフになっても 40 年以上保存されます。 図からわかるように、デバイスの基礎は PIC コントローラー DD1 です。 シフトレジスタ DD2 とデコーダ DD3 は動的表示を組織するように設計されており、その原理は次のとおりです。 まず、コード 3 が DD1111 デコーダに適用され、その結果、すべての出力にログ レベルが設定されます。 1 となり、HG1 インジケーターのどの桁も点灯しません。 次に、必要な文字のコードがレジスタ DD2 に入力され、その後インジケータの必要なビットに対応するコードが DD3 に送信されます。 インジケーターのデータの更新と同時にキーボードがスキャンされ、16 個のボタンが 0 つのグループ (それぞれ 1 個) に分割されます。 これらのグループのボタンの一般的な結論は、MK の 0 つの入力 (RB3 と RBXNUMX) に接続されます。 ボタンが押されると、ログ信号がこれらの入力のいずれかに送信されます。 デコーダDDXNUMXの対応する出力からXNUMXを取り出し、それによってそのコードを決定する。 キーボードを使用すると、プログラム タイマーのいずれかまたはすべてを同時に開始/停止したり、サーモスタットの動作モード、現在時刻、アラーム時刻などを設定したりできます。ほとんどのボタンには、ユーザーがどのような情報を入力するかに応じて XNUMX つの目的があります。キーボードから入力します: 数値または制御 。 キーボード ボタンの目的をより詳細に検討します。 「0」、「時計」 - 数値情報を入力するとき、または時計モードに切り替えるときの数字の 0。現在時刻の変更、アラームがオンになる時刻の設定、新しい時アラーム モードのオン、時刻の編集ができます。補正係数 (下記を参照)。 「1」~「9」 - 数値情報を入力するとき、または適切なプログラム タイマーを選択するときの 1 ~ 9 の数字。 「期間」 - サーモスタット モードに切り替えます。このモードでは、現在の温度値を設定し、制御温度の値、調整の種類 (加熱または冷却)、およびサーミスター パラメーターを編集できます。 「Del」 - 制御温度の値を入力するとき、サーモスタット、温度計、目覚まし時計または時計をオン/オフするときの「マイナス」記号 (オフの場合、対応する読み取り値の代わりに記号 --- が表示されます)。数値データの入力。 「設定」 - パラメータ(ソフトウェアタイマー、現在時刻、目覚まし時計、温度計、サーモスタット、設定)の値を変更するモードに移行/終了します。 「オプション」 - 設定変更モードに切り替えます。 ここでは、ボタンの音のオン/オフ、ウェルカムモード、制御信号を発行するソースの選択などを行うことができます。 「選択」 - 遅延時間の値が 0 以外の場合、現在のソフトウェア タイマーを開始/停止します。 「AH」 - 遅延時間の値が 0 以外のすべてのソフトウェア タイマーを開始/停止します。 このデバイスは XNUMX つの制御信号を発行でき、それぞれをユーザーの裁量で使用できます。 これらの信号のソースを設定できます。
このデバイスは 1 色の LED HLXNUMX を使用しており、XNUMX つ以上のタイマーが開始されたときに少なくとも XNUMX つの制御信号がアクティブになると赤色に点滅し、アクティブな信号がない場合は緑色に点滅します。 いずれかの実行タイマーの遅延時間が終了すると、HG1 インジケータが点滅を開始し、インタラプタ内蔵の HA1 ピエゾ エミッタがビープ音を鳴らします。 これは、ユーザーがキーボードのいずれかのボタンを押すか、一定時間が経過するまで続き、その値は MK のメモリに保存され、プログラミング中に変更できます。 タイマーがトリガーされたときに発せられるサウンド信号は、サウンドの持続時間とサウンド パックの数という XNUMX つのパラメータによって決まります。 アラームが鳴ると、音声信号も発せられますが、インジケーターの左端の XNUMX つの記号、A と L (英語から。ALARM - 目覚まし時計) だけが点滅し始めます。 目覚まし時計の音声信号も、MK のメモリに保存されている XNUMX つのパラメータによって記述されます。 使用する水晶振動子によって時計の精度が異なるため、本機ではソフトウェアによる時刻修正を実装しています。 補正係数はユーザーがキーボードから設定し、MK のメモリにも保存されます。 実際、これは MK の内部タイマーによって生成される発振周期に追加されるマイクロ秒数を表します (この場合は 1,92 ミリ秒)。 補正係数の助けを借りて、この時間は 2 ミリ秒に等しくなります (1 回のこのような期間ごとに 500 秒の時間が記録されます)。 温度は、サーミスタ RK1 の両端の電圧降下を測定することによって測定されます。 温度の関数としての抵抗は次の式で求められます。 ここで、R0 は抵抗の次元を持つ定数です。 B は温度の次元を持つ定数です。 T は絶対温度です。 したがって、この依存性は線形依存性に減らす必要があります。 サーミスタブリッジを使用して線形化する方法が知られていますが、この方法はサーミスタを交換するときにブリッジ自体のパラメータを変更する必要があり、それほど単純ではないため不便です。 線形化を行わずに温度値を取得する方が便利ですが、そのためには次の式の値を計算する必要があります。 ここで、Rd は追加の抵抗器の抵抗値です。 N - アナログからデジタルへの変換後に得られる 10 ビットのバイナリ コード。 非供給電圧。 今回の装置では、この式をMK制御プログラムで計算し、その結果を表示器に表示します。 上記の測定および制御温度範囲 (-43 ... +470 °C) は、任意の方法で伸縮、または移動できることに注意してください。 温度測定誤差が±2°Сを超えないため、指定された間隔が選択されました。 この場合、追加抵抗器R17の抵抗値は300オームである。 誤差を減らすために誤差を増やすことができますが、その結果、温度間隔の境界が変化します。 計算を容易にするために、次のように使用できます。 ドキュメント MathCAD 10 システム用の term (2001 ビット).mcd。サーミスタ RK1、抵抗 R17 の指定されたパラメータ、および必要な誤差に基づいて測定温度の範囲を計算します。 主電源遮断時にリアルタイムクロックが狂わないように、本器にはバックアップ電源ユニット MK が搭載されています。 これは、1 V バッテリー GB3,6、抵抗 R16、ダイオード VD2、VD3 で構成されます。 主電源がオンになると、VD3 ダイオードが閉じ、GB1 バッテリが R16 抵抗を介して充電されます。 主電源がオフになると、バッテリー電圧は VD3 ダイオードを介して MK にのみ供給されます (VD2 ダイオードはデバイスの残りの要素への電圧の供給を防ぎます)。 MK は RB2 ピンの電圧レベルを常に監視しているため、停電の事実を判断します。 そしてそれがlogに等しくなったとき。 0 の場合、MK はインジケーターの再生成とキーボードのポーリングを停止し、実行中のすべてのソフトウェア タイマーを停止し、温度の測定と調整を停止し、クロック モードに切り替えます。 さらに、デバイスの操作中に設定が変更された場合、電源をオフにした後、赤色の LED が短時間点滅し、設定が変更されていない場合は緑色の LED が点滅します。 デバイスを長期間 (1 週間以上) 使用しない場合は、バッテリーの完全な放電を防ぐために、ジャンパ SXNUMX を使用してバックアップ電源をオフにすることができます。 MK はキーボード上のボタンの接点の状態を常に監視しており、指定された時間内に一度も押されず、プログラム タイマーが XNUMX つも起動されなかった場合、自動的に時計モードに切り替わります。 MK 制御プログラムは C で書かれているため、実数を含むあらゆるデータ型を簡単に使用できます。 プログラムは HT-PIC C プログラミング システムで開発されました (サイトから「ダウンロード」できます) )。 デバッグには、最も単純なインサーキット エミュレータを使用しました。これは、コンピュータのパラレル ポートのラインをメイン ボード上の MK の下のソケットに接続する一連の接点です。 コンピュータのパラレルポートの結論とタイマーボード上の MK ソケットの対応を表に示します。 1. エミュレータを制御するために、MK 制御プログラムは Borland C++ 3.1 プログラミング環境で若干の変更を加えてコンパイルされました。 残念ながら、このようなエミュレータの動作は実際の動作とは異なる時間スケールで行われますが、それでも、そのようなデバイスがなければ、このような複雑なプログラムをデバッグすることはほぼ不可能です。 エミュレータを使用せずに、アナログからデジタルへの変換のみが実装されました。この MK に関する説明は Web サイトで見つけることができます。 (文書 DS30292C - 「PIC10F16x マイクロコントローラーの 87 ビット ADC モジュール」)。 MC 制御プログラムの要点を簡単に考えてみましょう。 これは構造化プログラミング手法を使用して書かれているため、多数のサブルーチンがあります。 電源投入後、MK は I/O ポート、ADC、内部タイマーを設定します。 次に、メイン ループが無限に実行され始めます。 その中で、すでに述べたように、主電源電圧の存在が常にチェックされ、それがオフになると、MKはタイミングを除くすべての機能の実行を停止します。 主電源を入れるとスプラッシュ画面が表示され、動作モードに戻ります。 現時点でインジケーターに表示されるべき情報は、配列 d に格納されます。 インジケーターの再生成のプロセスでは、MC はその内容を中間配列に書き換え、そこから出力文字のコードを順次読み取り、インジケーターに表示します。 古い情報がまだ完全に表示されない前に新しい情報を配列 d に書き込むことによって生じるインジケーターのちらつきを排除するために、追加の配列が導入されます。 たとえば、配列 d に最初は文字列「ABCDEFHLP」が含まれており、2002 番目の文字 (「D」) が表示されると、文字列「FDA 2002」が配列に入力されたとします。 その後、人間の視覚の慣性により、デバイスのユーザーにはある時点で「ABC XNUMX」という行が表示されます。 さらに、そのようなプロセスが常に繰り返されると(実際の作業でも同様です)、人はインジケーター上の情報がちらつくような印象を受けるでしょう。 前述したように、キーボードはインジケーターの更新と同時にスキャンされます。 いずれかのボタンが押されると、接触バウンス抑制サブルーチンが呼び出され、数ミリ秒遅れます (この時間の値は MK メモリに保存されます)。その間、デバイスはそれ以上ボタンを押しても応答しません。 ソフトウェア タイマー、時計、アラームの露出時間は秒単位で設定され (時間カウンターは値 24 x 60 x 60 = 86400 に達するとリセットされます)、インジケーターに表示される前に変換されることにも注意してください。タイマーの場合は H : MM : SS 形式に、時計とアラームの場合は HH : MM 形式に変換します。 これは次の式を使用して行われます。 C = 時間 mod 60。 ここで、演算 ][ は小数部分を破棄すること、つまり除算が整数であることを意味します。 取得された時、分、秒の値はバイナリコードで表示されるため、インジケーターに直接表示するにはまだ適していません。 小数点以下の最上位および最下位を選択するには、各値に対してさらに XNUMX つの演算を実行する必要があります。 LSB = 10 を法とする値。 例を考えてみましょう。 インジケーターに値 8673 s を H : MM : SS の形式で表示する必要があるとします。 我々が得る C = 8673 mod 60=33。 したがって、インジケーターは 2 : 24 : 33 を表示します。 与えられた例から、インジケーターへの出力を整理するためにどれだけの操作を実行する必要があるかがわかります。 このような数学をアセンブリ言語で実装することはほぼ不可能です。 C 言語では、これはわずか数行で実装されますが、高度な最適化のおかげで、プログラム コードは非常にコンパクトで高速です。 しかし、最も重要なことは、プログラマが適用されるマイクロコントローラのアーキテクチャの特定の機能を抽象化し、プログラム アルゴリズムに主な注意を集中できることです。 これらすべてが、ある MK から別の MK へのプログラムの簡単な転送に貢献します。 MK プログラムのソース テキストとインテル HEX 形式の「ファームウェア」コードは、インターネット上の上記のアドレスにあります。 MK をプログラムするために、著者は図に示すスキームに従って組み立てられたプログラマーを使用しました。 2、および PonyProg2000 ソフトウェア (最新バージョンは Web サイトから「ダウンロード」できます) 。 このプログラマと [1] で説明されているプログラマの主な違いは、同期信号生成回路に別のトランジスタ (VT3) が追加されていることです。これにより、MK ピンの負電圧が完全に排除され、プログラミングの信頼性が向上します。 説明されているデバイスでは、ボード上で MK プログラミングが可能です。つまり、ICSP テクノロジ (インサーキット シリアル プログラミング - インサーキット シリアル プログラミング) をサポートしています。 これを行うには、次のように 1 本のワイヤでコネクタ X7 を介してプログラマに接続します。 5,6 - 共通。 5 - 2 V; 3 - SDA; 1 - SCL; XNUMX - アッププログ。 低電圧プログラミングをサポートするものなど、他のプログラマを使用することも可能です。 後者の場合、プログラマの対応する接点をコネクタ X4 のピン 1 にさらに接続する必要があります。 デバイスのプリント回路基板の図を図 3 に示します。 4、キーボード - 図中。 四。 タイマー基板には 3 つの穴があり、部品を取り付ける前にそこに錫メッキ線が挿入され、基板の両面のプリント導体にはんだ付けされます。 ジャンパの機能も、いくつかの部分の結論によって実行されます。 このような印刷導体の接続が行われる穴は、図で強調表示されています。 XNUMX 横にドットが XNUMX つあります。 プロジェクトのソース ファイルと CAD Accel EDA 15.0 で使用されるコンポーネントのライブラリは、上記のサイトにあります。 このデバイスは、表面実装に固定抵抗器とコンデンサを使用します。 例外は、酸化物コンデンサ C6、C7 (K50-35) です。 MK PIC16F876 は、任意の最大動作周波数と温度範囲を持つことができますが、主なことは、DIP パッケージ (SP サフィックスが付いている) であることです。 HRM14AX 圧電エミッタは、KR1533LAZ マイクロ回路の 18 つの要素と ZP-2 圧電エミッタで作られたユニットで置き換えることができます [1]。 サーミスタ RK4 - 公称抵抗 15 kOhm の MMT-0 (R0,294 = 3176 Ohm、V = XNUMX K)。 コネクタ X1 ~ XZ として、コンピュータ技術で使用されるストレート ピンの分割ブロックが使用されます。X1 には、ピンが 2 列配置されたブロックが使用され、X1 と XZ には 2 列のピンが使用されます。 XP2 プラグの 20 番目のコンタクトと 10 番目の XP1 プラグを取り外し、プラグをコネクタの嵌合部分の対応するソケット (太い釣り糸) に挿入しました。 この措置により、コネクタの誤嵌合が防止されます。 X16 コネクタ ソケットは、DIP パッケージの超小型回路用の 3 スロット パネルでできています (その一部は 130 ピンで使用されます)。 ボタン SBXNUMX ~ SBXNUMX ~ TS-AXNUMXPS-XNUMX。 他の動作パラメータを設定するために変更できる MK EEPROM の内容を表に示します。 2. 「パラメータ」列には、インジケーターに表示されるパラメータの名前が含まれます。 この列にダッシュがある場合、このパラメータは MK のプログラミング時にのみ変更できます。 文学
著者: D.フロロフ、リャザン 他の記事も見る セクション パワーレギュレーター、温度計、熱安定剤. 読み書き 有用な この記事へのコメント. 科学技術の最新ニュース、新しい電子機器: 庭の花の間引き機
02.05.2024 最先端の赤外線顕微鏡
02.05.2024 昆虫用エアトラップ
01.05.2024
その他の興味深いニュース:
無料の技術ライブラリの興味深い資料: ▪ 記事 賞賛も中傷も無関心に受け入れられ、愚か者に異論を唱えません。 人気の表現 ▪ 記事 男性と女性で語彙が異なる言語はどれですか? 詳細な回答 ▪ 記事 ダイビング降下を担当する従業員。 労働保護に関する標準的な指示 ▪ 電子レンジの選び方の記事。 無線エレクトロニクスと電気工学の百科事典 ▪ 記事 電熱設備。 定義。 無線エレクトロニクスと電気工学の百科事典 このページのすべての言語 ホームページ | 図書館 | 物品 | サイトマップ | サイトレビュー www.diagram.com.ua |