メニュー English Ukrainian ロシア語 ホーム

愛好家や専門家向けの無料テクニカル ライブラリ 無料のテクニカルライブラリ


無線電子工学および電気工学の百科事典
無料のライブラリ / 無線電子および電気機器のスキーム

COM ポートを使用した ADC 動作、シンプルなデータ収集システム。 無線エレクトロニクスと電気工学の百科事典

無料のテクニカルライブラリ

無線電子工学と電気工学の百科事典 / コンピューター

記事へのコメント 記事へのコメント

この記事は主に初心者を対象としています。 データ収集システムの作成やアナログ信号のコンピュータへの入力、処理などを自分でやってみようと思った方へ。 これについてはこの記事で説明しますが、すべてを自分たちで行うようにします。

一般に、このトピックについてはインターネットや文献にかなりの情報があります...特に Visual Basic 言語を使用している場合はそうです。 したがって、私はこのギャップを少なくとも部分的に埋めるように努めます。

それでは、始めましょう…

目的が何であれ、まず実際のアナログ - デジタル コンバーター (ADC) を購入する必要があります。 また、Visual Basic 6.0 開発環境をコンピュータにインストールします。 また、この開発環境を簡単に操作できる必要もあります...理由は... この記事は、読者が Visual Basic のプログラミングに関する少なくとも基本的な知識を持っていることを保証するように設計されています。 文献 [1]、[3] も読むことをお勧めします。

ADC として TLC549IP を購入することをお勧めします。 これは、シンプルな通信プロトコルを備えた 8 ビット シリアル ADC です。 これについてはこの記事で説明します。 もちろん、回路とコードを適切に変更すれば、他の ADC を使用することもできます。 詳細については、[1] を参照してください。

ADC を見つけたら、データ収集システムのハードウェア、つまり図に示す回路を組み立てる必要があります。 1.

COMポートを備えたADC動作、シンプルなデータ取得システム。 ハードウェア
(クリックして拡大)

このスキームは [1] から借用したもので、若干の変更が加えられています。 ダイオード VD1、VD2、VD6 - KD521、安定化電圧 3 ~ 5 V 用の任意のツェナー ダイオード。78L05 の代わりに、KREN5A を使用できます。 許容誤差 1% の抵抗 R2、R1、または最も近い抵抗値を持つ複数の中から選択します。 測定の精度はそれらに依存します。 抵抗R3は多巻きであることが好ましい。

調整: ボードに電力を供給して、DA1 スタビライザーの Out ピンの電圧を測定します。 結果の電圧値を小数点以下 3 桁で書き留めます。後で必要になります。 DD1 マイクロ回路のピン 1 では、抵抗 R3 を使用して、Out ピンで測定されたスタビライザーのちょうど半分に等しい電圧を設定します。

それでは、実際のソフトウェア部分に移りましょう。 一般的には、最初はRS-232、I2C、Micro Wareなどの通信インターフェースを使用します。 不適切だと思うので、 プログラム コードがわずかに複雑になると、ハードウェアがさらに複雑になる可能性があります。 したがって、「データシート」から取得した最も単純な交換プロトコルを ADC に使用します。 つまり、実装が簡単です。 もちろん、このようなプロトコルでは高速化はできません。この場合、Visual Basic 自体による制限がありますが、最小限の時間と労力で最初の結果を取得したり、比較的ゆっくりと変化するプロセスを測定したりするには、とても適しています。 TLC549IP ADC の通信プロトコルを図に示します。 2.

COM ポートによる ADC 操作、シンプルなデータ収集システム。 ADC 通信プロトコル TLC549IP
(クリックして拡大)

シングルステートの間、実際の変換は A/D コンバータの CS (チップセレクト) ピンで発生します。 データ出力は、クロック パルスの出現を伴う Low CS レベルで始まり、各パルスに 8 ビットが付きます。 8 ビット コードを生成するには、1 つのクロック パルスが必要です。 その後、CS を単一の状態に転送し、次の変換を実行できます。 ADC の動作の詳細については、[XNUMX] を参照してください。

これらすべてから、必要なパルスのシーケンスを適切なタイミングで生成するドライバー プログラムを作成する必要があり、その後はデータを受信するだけであると結論付けることができます。

Visual Basic 開発環境を開始し、標準 EXE プロジェクトを作成します。 MSComm コントロールを追加します。 次のようにコンポーネント パネルに追加できます。 プロジェクト --> コンポーネント -->リストから選択Microsoft 通信 6.0を制御する。 2 つのラベルと 2 つのタイマーとともにフォーム上に配置します。 名前はデフォルトのままにします。

これで、単純な電圧計のコードを書き始めることができます。

変数を設定しよう: Dim b1、b2、b3、b4、b5、b6、b7、b8、sum、Ud As Single

フォームの読み込み手順に次のコードを配置します。

Private Sub Form_Load()

MSComm1.DTEnable = True '初期値 - 高 CS レベル

Timer1.Interval = 100 ' タイマー間隔 1ms

Timer2.Interval = 1 ' タイマー間隔 100ms

MSComm1.Settings = "1200,N,8,1" ' データ転送設定

MSComm1.CommPort = 1 ' COM ポート番号

MSComm1.PortOpen = True ' COM ポートを開く

End Subの

手続き中 Timer1 にコードを追加します。

プライベート サブ Timer1_Timer()

MSComm1.DTREnable = False '低 CS を作成

Label2.Caption = "" '初期遅延のゴミ

MSComm1.RTSEnable = True '最初のクロック パルス クロック ハイ

If MSComm1.CDHolding = True then b1 = 1 Else b1 = 0 'CD 入力 (ADC 出力) で XNUMX または XNUMX の値をポーリングします

MSComm1.RTSEnable = False '最初のクロック パルス クロック ロー

MSComm1.RTSEnable = True

MSComm1.CDHolding = True の場合、b2 = 1、そうでない場合、b2 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = True

MSComm1.CDHolding = True の場合、b3 = 1、そうでない場合、b3 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = True

MSComm1.CDHolding = True の場合、b4 = 1、そうでない場合、b4 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = True

MSComm1.CDHolding = True の場合、b5 = 1、そうでない場合、b5 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = True

MSComm1.CDHolding = True の場合、b6 = 1、そうでない場合、b6 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = True

MSComm1.CDHolding = True の場合、b7 = 1、そうでない場合、b7 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = True

MSComm1.CDHolding = True の場合、b8 = 1、そうでない場合、b8 = 0

MSComm1.DTREnable = True '高い CS を作成

MSComm1.RTSEnable = False '最初のクロック パルス クロック ロー

'展開式を使用してビットをXNUMX進形式に変換します

合計 = (b1 * 2^7) + (b2 * 2^6) + (b3 * 2^5) + (b4 * 2^4) + (b5 * 2^3) + (b6 * 2^2) + (b7 * 2^1) + (b8 * 2^0)

Ud = Format(sum * 5.083 / 255, "##0.000") '比例値を計算します

Label1.Caption = CStr(Ud) & "Volt" '結果の値を表示します

End Subの

Timer1 のコードは実際のドライバーです。 これは周期的に繰り返され、クロック パルスを生成し、データ ビットを受信します。 Ud は ADC 入力の電圧です。10 個の 12 ビット ADC を使用する場合、数値 225 はそれぞれ 1024、4096 に置き換えられます。10 個の 12 ビット ADC の場合は、欠落しているビットをコードに追加する必要があります、「データシート」に従ってください。 値 5.083 は、スタビライザーの出力出力で得られた電圧値です。 ここに値を入力します。

ボードに電力を供給するには、別の電源を使用することも、COM ポートから直接電力を供給することもできます。 これを行うには、Timer2 プロシージャに次のコードを配置します。

プライベート サブ Timer2_Timer()

MSComm1.Output = Chr(0) & Chr(0) ' TX ピン (3) にパルスを作成して ADC ボードに電力を供給します

End Subの

COM ポートに大きな負荷をかけることはできないことに注意してください。期待できる最大値は 20 mA です。 動作モードでは、回路は 5 mA 以下の電流を消費します。

次に、ボードを COM ポートに接続し、プロジェクトを実行します。 DA1 スタビライザーの IN ピンの電圧を測定すると、6.5 V 以上である必要があります。そうでない場合は、別の電源を使用してください。 ADC 入力の電圧を変更することで、プログラムが動作し、画面に電圧が表示されることを確認します。 8 ビット ADC を使用する場合の電圧読み取り精度は 20 mV、10 ビット ADC を使用する場合は 5 mV、12 ~ 1.2 mV です。

Visual Basic での作業と、com ポートを使用して作成されたアプリケーションについて少し説明します。

おそらくすでに理解していると思いますが、COM ポートを使用するにはコンポーネントが必要です。Microsoft 通信 管理 つまり、MSCOMM32.ocx ファイルは、Visual Basic をインストールした後、C:\Windows\system32 ディレクトリに配置されます。 これが言いたいのは、インストーラーを作成せずにプログラムを Visual Basic がインストールされていない別のコンピューターにコピーすると、そのプログラムは動作しないということです。 このファイルをコンピュータ上と同じディレクトリにコピーする必要もあります。 システム32で。 またはインストーラーを作成します。

ここでいくつかのコマンドについて:

データ交換レートを設定するコマンド:

MSComm1.Settings = "1200,N,8,1"

COMポート番号を指定するコマンド

MSComm1.CommPort = 1

COMポートを開閉するコマンド

MSComm1.PortOpen = True

MSComm1.PortOpen = False

+12V を COM コネクタの対応するピンに出力するコマンド:

MSComm1.RTSEnable = True RTS (7) - ピン名とピン番号

MSComm1.DTREnable = True DTR(4)

-12Vを出力するコマンド

MSComm1.RTSEnable = False         

MSComm1.DTEnable = False

ピン CD (1)、CTS (8)、DSR (6) をポーリングして、シングルまたはゼロ状態の存在を確認できます。

If MSComm1.CDHolding = True Then (if one then…)

If MSComm1.CDHolding = False Then (ゼロの場合…)

文字または文字列の ASCII コードを Tx (3) 出力に送信します。

MSComm1.Output = "A"

番号

MSComm1.Output = Chr(10) 数値は 0 ~ 255 の範囲で変更できます

このようなコマンドをタイマーに記述し、数字や記号を変更することで、PWM 変調を作成できます。 コマンドの詳細については、コントロールの説明をダウンロードしてご覧ください。  Microsoft 通信 管理.

このコードを使用すると、データを収集するためのいくつかのプログラムを作成できます。 例: 電圧計、電流計、温度計、シンプルなオシロスコープ、データをファイルに保存。 測定は 1 ミリ秒ごとに XNUMX 回、または XNUMX 時間ごとおよび XNUMX 日ごとに XNUMX 回実行できるため、長期的なプロセスを監視できます。

交流電圧 (0 を通過) を処理し、測定限界を拡張するには、入力アンプが必要です。その回路は [1] から引用できます。 主電源電圧で動作する場合、またはネットワークから電気的に絶縁されていないデバイスを使用するには、回路をコンピュータから光絶縁する必要があります。

COMポートによるADC動作、シンプルなデータ取得システム

COMポートによるADC動作、シンプルなデータ取得システム

サンプルプログラムのソースコードをダウンロード (8 kB)

文学

  1. Gell P. パーソナル コンピュータを測定複合体に変える方法: Transl。 フロリダから- 第 2 版、改訂版。 - M.: DMK Press、2001. - 144 p.: 病気。
  2. P. PC と外部デバイスのインターフェース: Transl. 英語から- M.: DMK Press、2001 - 320 pp.: 病気。
  3. Visual Basic 6.0: トランス。 英語から- サンクトペテルブルク: BHV - サンクトペテルブルク、2000。 - 992 ページ: 病気。

著者: =ShooRooP=, evei [犬] mail.ru; 出版物: cxem.net

他の記事も見る セクション コンピューター.

読み書き 有用な この記事へのコメント.

<<戻る

科学技術の最新ニュース、新しい電子機器:

バルク物質の固化 30.04.2024

科学の世界には数多くの謎が存在しますが、その一つにバルク物質の奇妙な挙動があります。それらは固体のように振る舞うかもしれませんが、突然流れる液体に変わります。この現象は多くの研究者の注目を集めており、いよいよこの謎の解明に近づいているのかもしれません。砂時計の中の砂を想像してください。通常は自由に流れますが、場合によっては粒子が詰まり始め、液体から固体に変わります。この移行は、医薬品生産から建設に至るまで、多くの分野に重要な影響を及ぼします。米国の研究者は、この現象を説明し、理解に近づけようと試みました。この研究では、科学者たちはポリスチレンビーズの袋からのデータを使用して実験室でシミュレーションを実施しました。彼らは、これらのセット内の振動が特定の周波数を持っていること、つまり特定の種類の振動のみが材料を通過できることを発見しました。受け取った ... >>

埋め込み型脳刺激装置 30.04.2024

近年、神経工学分野の科学研究は大きな進歩を遂げ、さまざまな精神疾患および神経疾患の治療に新たな地平を切り開きました。重要な成果の 1 つは、ライス大学の研究室によって発表された、最小の埋め込み型脳刺激装置の作成です。 Digitally Programmable Over-brain Therapeutic (DOT) と呼ばれるこの革新的なデバイスは、患者の自律性とアクセスしやすさを向上させ、治療に革命をもたらすことを約束します。 Motif Neurotech および臨床医と共同で開発されたこのインプラントは、脳刺激への革新的なアプローチを導入しています。磁電電力伝送を使用した外部送信機を介して電力が供給されるため、既存の技術に特有の配線や大型バッテリーが不要になります。これにより、手術の侵襲性が低くなり、患者の生活の質を向上させる機会が増えます。治療での使用に加えて、抵抗します。 ... >>

時間の感覚は何を見ているかによって決まります 29.04.2024

時間心理学の分野における研究は、その結果で私たちを驚かせ続けています。ジョージ メイソン大学 (米国) の科学者らによる最近の発見は、非常に注目に値するものであることが判明しました。彼らは、私たちが見ているものが私たちの時間の感覚に大きな影響を与える可能性があることを発見しました。実験中、52 人の参加者がさまざまな画像の視聴時間を推定する一連のテストを受けました。その結果は驚くべきものでした。画像のサイズと詳細が時間の認識に大きな影響を与えました。大きくて乱雑でないシーンは時間が遅くなるような錯覚を引き起こし、小さくて混雑した画像は時間が早く感じられるように感じました。研究者らは、視覚的な混乱や詳細の過多により、周囲の世界を認識することが困難になり、それが結果的に時間の認識を早めることにつながる可能性があると示唆しています。このように、私たちの時間の認識は、私たちが見ているものと密接に関係していることが示されました。大きいものと小さいもの ... >>

アーカイブからのランダムなニュース

ポケモン電磁銃 04.10.2012

1997 年、ポケモンに関する最も人気のあるアニメ シリーズがテレビで放映されました。 最近、米軍が子供向けの漫画に真剣に夢中になっていることが知られるようになりました. 1998年、米陸軍情報局は敵の脳に「過負荷」を与えて痙攣させる電磁エミッターの開発を科学者に提案した。

事実、ポケモンの歴史の中でかなり不快な事件が発生しました.16年1997月700日、日本のテレビでのポケモンに関するアニメシリーズの番組中に、約XNUMX人の視聴者がてんかんの症状を経験しました. 特定の信号による視神経の興奮(漫画の作者によると、画像は明るすぎてダイナミックで頻繁に点滅する)により、何百人もの視聴者が吐き気を感じ、嘔吐の発作を経験しました。

機密解除された国防総省の文書によると、電磁パルスは、ニューロンに不規則で頻繁な信号を放出させ、「筋肉制御の障害」を引き起こす可能性があります。 軍によると、大多数の人々はそのような誘導銃の影響に抵抗することができません。

電磁放射を使用して中枢神経系の化学経路を妨害するという考えは非常に危険に見えることに注意する必要があります。 この武器は、てんかんに似た神経攻撃を誘発し、視覚信号または目に見えない電磁ビームを介して敵に作用すると考えられています。

その考えは、視神経からの特定の電気信号が神経系の興奮メカニズムを引き起こすというものです。 米軍はまさにそのような兵器を望んでおり、最大数百メートルの距離から 100% の人々に作用するべきであると付け加えました。 同時に、「ポケモンガン」はてんかん発作と同じくらい早く(3〜5分で)人を無力化し、同様の効果、つまり筋肉の制御の完全な喪失と一時的な意識障害をもたらすはずです。

この文書は、電磁パルスの影響下での人間の神経系の作業能力の損失が検証されていないことを強調しています. しかし、分析は、50 から 100 kV/m の電場強度が「神経活動を誘発するのに十分である可能性が高い」ことを示唆しています。したがって、そのような兵器は、数百キロ離れた距離でも機能する可能性があります。

その他の興味深いニュース:

▪ プラスチック廃棄物からの建材

▪ ニューロモーフィックチップ Intel Loihi 2

▪ マザーボード MSI 990FXA ゲーミング

▪ あごひげXNUMX本

▪ 提示された完全なヒトゲノム

科学技術、新しいエレクトロニクスのニュースフィード

 

無料の技術ライブラリの興味深い資料:

▪ サイトのラジコンセクション。 記事の選択

▪ 記事 誰かが何か言った、それとも私にはそう見えましたか? 人気の表現

▪ 記事 真空とは何ですか? 詳細な回答

▪ article ローディングおよびアンローディング プラント オペレータ。 労働保護に関する標準的な指示

▪ 記事 サークロトロンの真実。 全てが真実であり、真実以外の何ものでもありません。 無線エレクトロニクスと電気工学の百科事典

▪ 記事 オレンジがリンゴに変わります。 フォーカスシークレット

この記事にコメントを残してください:

Имя:


Eメール(オプション):


コメント:





このページのすべての言語

ホームページ | 図書館 | 物品 | サイトマップ | サイトレビュー

www.diagram.com.ua

www.diagram.com.ua
2000-2024