無線電子工学および電気工学の百科事典 LPTポートのもう一つの人生。 パート 3. 無線エレクトロニクスと電気工学の百科事典 きっと皆さんは (この文章を読んでいるので) 人生の中でフロッピーや CD などに出会ったことがあるでしょう。 ディスク ドライブ、プリンター、スキャナー、一般にステッピング モーターを含むデバイス。 では、オンにしてみましょう。 下の図はインターネットで見つけた図です。 著者に許してもらいましょう。リンクは貼りませんが(どこで見つけたか覚えていないだけです)、もし彼がこの記事を見たら、彼の計画に気づくでしょう。 実際、すべてが公平で、すべてが機能します。 さまざまな種類のスキームをレイアウトすることができますが、回路の動作原理ではなく、エンジンに制御信号を供給する原理を理解することが重要です。 以下の図はこれを示しています。 パルスはモーターの各巻線に交互に適用され、場合によっては 0 つの巻線に同時に高い信号レベルが発生します。 図の左側を見て D3 ~ DXNUMX に注目すると、私がどこに到達しているのかがすぐに理解できるでしょう。 それが最終的に最終的に得られるものであり、もちろん、LPT ポートを備えたコンピューターになります。 エンジンの動力は自分で、またエンジンの種類ごとに自分で制御する必要があります。 図によれば、3、2、6、4、12、8、9、1 から &H378 を順番に入力 A、B、C、D に供給します。 そして、どこから始めるかは重要ではありません。問題は、順序を維持し、それを「円」で、または必要なだけ繰り返すことです。 シーケンスの方向を変更すると (後ろから前)、モーターの回転は逆方向になります。 このシーケンスはモーターにハーフステップを実行するように指示します (モーターの設計によって異なります)。フルステップ制御の場合、シーケンスは 3、6、12、9 になります。 そして、電卓の LED の XNUMX セグメント インジケーターが目に留まりました。 決断は即座に下されました。 そのようなインジケーターがどのように機能するかを次に示します。 わかりやすくするために、LED 上に 4 桁 (インジケーターには 12 個あります) の 1 セグメント インジケーターを描画しました。 ビット 4 ~ 0 に XNUMX を供給し、セグメントに + 電力を供給します (各タイプのインジケーターには独自の電力パラメータがあります)。 すべてのセグメントが結合されるため、そのようなインジケーターを動的表示で点灯する必要があります。 電子時計を自分で組み立てたことがある人なら誰でもそれが何であるかを知っていますが、念のため、さらに詳しく考えてみましょう。 ステップ 1. 低い信号レベルが最初の桁に適用され、表示したい桁のコードがセグメント (高レベル) に設定されます。 ステップ 2. XNUMX 番目の桁に低い信号レベルが適用され、表示したい桁のコードがセグメント (高レベル) に設定されます。 ステップ 3. XNUMX 桁目に低い信号レベルが適用され、表示したい桁のコードがセグメントに設定されます (高レベル)。 ステップ 4. 低信号レベルが XNUMX 桁目に適用され、表示したい桁のコードがセグメントに設定されます (高レベル)。 そして再び新しいステップ1、2などに進みます。 これらすべては非常に迅速に行われるため、私たちの目は点滅する数字を見る時間がありません。 インジケーターを使用して、ビット 1、2、3、4 を STROBE(1)、AUTO(14)、INIT(16)、SELECT IN(17) に置きます。 これが桁の制御となり、D0、D1、D2、D3、D4、D5、D6 にセグメント A、B、C、D、E、F、G を配置します。 最初の桁、たとえば 1 (セグメント B、C) を点火するには、アドレス &H378 に数値 6 を、アドレス &H37A に数値 197 を適用する必要があります。 そして完成したプログラムがこれです - 電子時計です。 フォームにはボタンが 2 つあります。 0.004 つ目はクロックを開始し、XNUMX つ目は停止します。 パラメータ Z = XNUMX は実験的に選択されました。 遅延を設定しないと、数字が結合し、すべての処理が早すぎて、LED が消える時間がなくなります。 Option Explicit LPT ポート アドレスを操作するためのライブラリの宣言 プライベート宣言関数 DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte プライベート宣言サブ DlPortWritePortUchar Lib "dlportio.dll" (ByVal ポート長、ByVal 値 As Byte) Dim I、J As Integer Dim Z をシングルとして 文字列としてのディム A Private Sub Command1_Click() J =1'ループ分解能 Z = 0.004' 遅延 Do While J <> 0 DoEvents A = Mid$(Time$, 5, 1) '分単位の読み取り DlPortWritePortUchar &H37A, 197 '最初のビットを点灯させます writetime '分単位の表示 A = Mid$(Time$, 4, 1) ' 数十分を読み取ります DlPortWritePortUchar &H37A, 198 ' XNUMX 番目のビットを点灯させます writetime ' 数十分を表示 A = Mid$(Time$, 2, 1) '時間単位の読み取り DlPortWritePortUchar &H37A, 192 ' XNUMX 番目のビットを点灯させます writetime '時間単位を表示します A = Mid$(Time$, 1, 1) '数十時間の読み取り DlPortWritePortUchar &H37A, 204 ' XNUMX 番目のビットの点灯を許可します writetime '数十時間を表示 J = 0の場合、終了します ループ DlPortWritePortUchar &H378, 0 End Subの パブリックサブ書き込み時間() ケース Val(A) を選択 ケース = 0 I =63'0セグメントディスプレイのコードXNUMX ケース = 1 I =6'1セグメントインジケータのコードXNUMX ケース = 2 I =91'2セグメントディスプレイのコードXNUMX ケース = 3 I =79'3セグメントディスプレイのコードXNUMX ケース = 4 I =102'4セグメントディスプレイのコードXNUMX ケース = 5 I =109'5セグメントディスプレイのコードXNUMX ケース = 6 I =125'6セグメントディスプレイのコードXNUMX ケース = 7 I =7'7セグメントインジケータのコードXNUMX ケース = 8 I =255'8セグメントディスプレイのコードXNUMX ケース = 9 I =239'9セグメントディスプレイのコードXNUMX 選択して終了 DlPortWritePortUchar &H378、XNUMX セグメント インジケーターのコードを書きます 一時停止 (Z) '遅延 End Subの Private Sub Command2_Click() J=0 DlPortWritePortUchar &H378, 0 End Subの 「手続きを遅らせます。 通話形式:ポーズ(秒数) パブリックサブポーズ(シングルとしての値) 薄暗い開始、終了 開始 = タイマー Do While タイマー < 開始 + 値 DoEvents ループ フィニッシュ=タイマー End Subの
これが実生活での仕組みです。 蛍光インジケーターの接続については説明しませんが、正直に言うと、試してみました。うまくいきました。 放電グリッドに正の電位を印加し、フィラメントを接地して、D1 ~ D0 を介してセグメントに 6 を印加しました。 すべてが光ります。 LCD インジケーターは試したことがないので、64 Hz をどこで取得するかを理解する必要があります。 誰かが接続したら、喜んで図を受け取ります。 ところで、興味深いアイデアです。LED にランニングラインを作成して、英数字の情報を表示できます。 一般的に、この移植は創造性にとって優れたツールであると改めて確信しました。 ここで、電気モーターに関するもう XNUMX つの小さなトピックを紹介します。 誰もがステッピング モーターを持っているわけではありませんし、必ずしも便利で必要なわけでもありません。 たとえば、水平面内で特定のデバイスを正確に動かすために、ギアボックスを備えた単純なモーターを使ってやってみましょう。 鉛筆かサインペンにしましょう。 エンジンは減速機に接続されており、減速機はねじ付き車軸に接続されています。 金属セクター (光学部品用のコンタクト パッドまたはスロット) を備えたディスクは、たとえば次のようにねじ付き軸にしっかりと固定されます。
または これはもはや重要ではありません。重要なことは、ネジのピッチ、たとえば 1 mm のピッチがわかっていると、セクターが 4 つあるということです。これは、ディスクが 1 回転する間にキャリッジが 0,25 mm 前方に移動することを意味します。そしてXNUMX分のXNUMX回転 - XNUMX mm。 セクターの数は任意で、必要な数だけ指定できます。 しかし、今何が得られるでしょうか?
どうぞ。 エンジン制御プログラムは、例えば、このようなアルゴリズムに従って動作する。
制御は D0 ~ D7 バスおよび/または &H37A ポートを介して行われ、アクチュエーター (センサー) からのコマンドは &H379 および/または &H378 に送信されます。 一般的には、あなたの想像力と可能性です。 同じ原理を使用してキャリッジを垂直面内で移動させるのは論理的です。 ここには XNUMX 方向に動く機械があります。 それらの。 自宅で CNC マシン (コンピューター数値制御) を構築することは非常に現実的です。 著者: Alexey Klyushnikov、Ivanovo; 出版物: cxem.net 他の記事も見る セクション コンピューター. 読み書き 有用な この記事へのコメント. 科学技術の最新ニュース、新しい電子機器: バルク物質の固化
30.04.2024 埋め込み型脳刺激装置
30.04.2024 時間の感覚は何を見ているかによって決まります
29.04.2024
その他の興味深いニュース: ▪ 月で熱源を発見 ▪ どこからでも光る ▪ 新しい発明により、柔軟なガジェットのコストが削減されます
無料の技術ライブラリの興味深い資料: ▪ 記事 災害による負傷者への医療提供の段階。 安全な生活の基本 ▪ 記事 光電変換器。 無線エレクトロニクスと電気工学の百科事典 このページのすべての言語 ホームページ | 図書館 | 物品 | サイトマップ | サイトレビュー www.diagram.com.ua |