シングルチップマイコンによるステッピングモーター駆動回路の設計

シングルチップマイコンによるステッピングモーター駆動回路の設計

ステッピング モーターは、制御システム において幅広い用途に使用されますパルス信号を角変位に変換することができ、電磁ブレーキホイール、電磁差動装置、角変位発生器などとして使用できます。

  古い機器から取り外したステッピングモーター(通常、この種のモーターは損傷していません) を他の目的に使用する必要がある場合があり、通常はドライバーを自分で設計する必要があります。この記事では、古い日本のプリンタから取り外したステッピング モーター用に設計されたドライバーについて説明します。この記事では、まずステッピング モーターの動作原理を紹介し、次にそのドライバーのソフトウェアとハ​​ードウェアの設計を紹介します。

  1. ステッピングモーターの動作原理

ステッピング モーターは、ユニポーラ DC電源  で駆動される 4 相ステッピング モーターですステッピングモーターの相巻線に適切なタイミングで通電する限り、ステッピングモーターをステップごとに回転させることができます。図 1 は、4 相リアクティブ ステッピング モーターの動作原理の概略図です。

  図1  4相ステッピングモーターの模式図

  

  初めにスイッチ SB がオン、SA、SC、SD が切り離され、B 相の磁極がロータの 0 番と 3 番のティースに一致します。ロータの 1 番歯と 4 番歯は C 相と D 相巻線の磁極と歯がずれており、2 番と 5 番歯は D 相と A 相巻線の磁極と歯がずれています。

  スイッチSCに電源を投入し、SB、SA、SD間を切り離すと、C相巻線の磁力線と1番ティースと4番ティース間の磁力線の作用によりロータが回転し、 1 番目と 4 番目の歯は C 相巻線 の磁極と一致します。0、3 歯と A、B 相巻線は間違った歯を生成し、2、5 歯と A、D 相巻線の磁極は間違っています

 

間違った歯。類推すると、A、B、C、D の 4 相巻線が順番に電力を供給し、ローターは A、B、C、D の方向に回転します。

  4 相ステッピング モーターは、電源投入シーケンスの違いに応じて、シングル 4 ショット、ダブル 4 ショット、および 8 ショットの 3 つの動作モードに分けることができます。シングル4ビートとダブル4ビートのステップ角は等しいが、シングル4ビートの回転モーメントは小さい。8ビート加工方式は、シングル4ビートやダブル4ビートに比べてステップ角が半分になるため、より高い回転トルクを維持できるだけでなく、制御精度も向上します。

  シングル 4 ビート、ダブル 4 ビート、および 8 ビート モードの電源投入タイミングと波形をそれぞれ図 2.a、b、および c に示します。

  図2. ステッピングモーターの動作タイミング波形図  

図3ステッピング  モータードライバーシステムの回路図  

  AT89C2051は、 P1ポートのP1.4~P1.7から制御パルスを出力し、74LS14で反転されて9014に入り、9014で増幅された後、光電スイッチを制御します。パルス信号は光電絶縁後、電源により増幅されます。電圧と電流用のチューブTI P122 を使用して、ステッピング モーターの各相の巻線を駆動します。ステッピングモーターを異なるパルス信号に応じて正転、逆転、加速、減速、停止などの動作をさせます。図中のL1はステッピングモーターの相巻線です。AT89C2051 は周波数 22MHz の水晶発振器を選択していますが、より高い水晶発振器を選択する目的は、モード 2 でのホスト コンピュータのパルス信号周期に対する AT89C2051 の影響を最小限に抑えるためです。

  図 3 の RL1 ~ RL4 は巻線の内部抵抗で、50Ω 抵抗は電流制限器として機能する外部抵抗であり、ループの時定数を改善する部品でもあります。D1~D4 はフリーホイーリングダイオードです。モーター巻線によって発生する逆起電力はフリーホイーリング ダイオード (D1~D4) を通じて減衰され、パワー管 TIP122 を損傷から保護します。

200μF のコンデンサを  50Ω の外部抵抗と並列に接続すると、ステッピング モーターの巻線に注入される電流パルスのフロント エッジが改善され、ステッピング モーターの高周波性能が向上します。フリーホイーリング ダイオードと直列の 200Ω 抵抗は、回路の放電時定数を短縮し、巻線の電流パルスの後縁を急峻にし、電流の立ち下がり時間を短くすることができます。これは、高出力特性の改善にも役立ちます。周波数動作パフォーマンス。

  3. ソフトウェア設計

  ドライバーには、ダイヤル スイッチ KX と KY のさまざまな組み合わせに応じて選択できる 3 つの動作モードがあります。

  モード 1 は割り込みモードです。P3.5 (INT1) はステップパルス入力端子、P3.7 は正逆パルス入力端子です。上位コンピュータ(PCまたはワンチップマイコン)とドライバは2線で接続されているだけです。

  モード 2 はシリアル通信モードで、上位コンピュータ (PC またはシングルチップマイコン) がドライバに制御コマンドを送信し、ドライバはその制御コマンドに従って自身で制御処理を完了します。

  モード 3 はダイヤル スイッチ制御モードです。K1 ~ K5 のさまざまな組み合わせを通じてステッピング モーターを直接制御します。

  電源が投入されるか、リセット キー KR が押されると、AT89C2051 は最初にDIP スイッチ KX と KY の状態を検出し、KX と KY の異なる組み合わせに従って異なる動作モードに入ります。モード 1 のプログラムフロー図とソースプログラムを以下に示します。

  プログラムを作成する際は、転流時のステッピングモータの取り扱いに特に注意してください。整流中にステッピング モーターをスムーズに移行させ、間違ったステップを回避するには、各ステップでフラグ ビットを設定する必要があります。このうち、ユニット20Hの各ビットはステッピングモータの正転フラグ、ユニット21Hの各ビットは逆転フラグビットである。正転時には、正転フラグビットだけでなく逆転フラグビットも割り当てられ、逆転時も同様である。このようにして、ステッピング モーターが方向を変えるとき、開始点として最後の位置から後退することができ、モーターが方向を変えるときの間違ったステップを避けることができます。

  図 4 方法 1 のブロック図

  

  モード 1 のソース プログラム:

  MOV 20H, #00H ; ユニット 20H は初期値を設定し、モーターが正転し、位置ポインタが設定されます。

  MOV 21H, #00H ; ユニット 21H が初期値を設定し、モーターが位置ポインタを反転させます

  MOV P1,#0C0H ;モーターの電源投入時の短絡を防ぐために、P1 ポートは初期値に設定されます

  MOV TMOD,#60H ;T1 カウンタ初期値設定、オープン割り込み

  MOV TL1,#0FFH

  MOV TH1,#0FFH

  セットB ET1

  SETB OF

  セットブ TR1

  SJMP $

  ;********** カウンタ 1 割り込みプログラム *************

  IT1P: JB P3.7、FAN ; モーターの正転および逆転ポインタ

  ;**************モーター前進******************

  JB 00H、ループ0

  JB 01H、ループ1

  JB02H、ループ2

  JB03H、ループ3

  JB04H、ループ4

  JB05H、ループ5

  JB06H、ループ6

  JB07H、ループ7

  LOOP0: MOV P1,#0D0H

  MOV 20H、#02H

  MOV 21H、#40H

  AJMP 終了

  LOOP1:MOV P1、#090H

  MOV 20H、#04H

  MOV 21H、#20H

  AJMP 終了

  ループ 2: MOV P1、#0B0H

  MOV 20H、#08H

  MOV 21H、#10H

  AJMP 終了

  LOOP3: MOV P1、#030H

  MOV 20H、#10H

  MOV 21H、#08H

  AJMP 終了

  ループ4: MOV P1

,#070H

  MOV 20H、#20H

  MOV 21H、#04H

  AJMP 終了

  LOOP5:MOV P1,#060H

  MOV 20H、#40H

  MOV 21H、#02H

  AJMP 終了

  LOOP6:MOV P1,#0E0H

  MOV 20H、#80H

  MOV 21H、#01H

  AJMP 終了

  LOOP7: MOV P1,#0C0H

  MOV 20H、#01H

  MOV 21H、#80H

  AJMP 終了

  ;****************モーターリバース******************

  ファン: JB 08H、LOOQ0

  JB 09H、LOOQ1

  JB 0AH、LOOQ2

  JB 0BH、LOOQ3

  JB 0CH、LOOQ4

  JB 0DH、LOOQ5

  JB 0EH、LOOQ6

  JB 0FH、LOOQ7

  LOOQ0: MOV P1、#0A0H

  MOV 21H、#02H

  MOV 20H、#40H

  AJMP 終了

  LOOQ1: MOV P1、#0E0H

  MOV 21H、#04H

  MOV 20H、#20H

  AJMP 終了

  LOOQ2: MOV P1、#0C0H

  MOV 21H、#08H

  MOV 20H、#10H

  AJMP 終了

  LOOQ3: MOV P1、#0D0H

  MOV 21H、#10H

  MOV 20H、#08H

  AJMP 終了

  LOOQ4: MOV P1、#050H

  MOV 21H、#20H

  MOV 20H、#04H

  AJMP 終了

  LOOQ5: MOV P1、#070H

  MOV 21H、#40H

  MOV 20H、#02H

  AJMP 終了

  LOOQ6: MOV P1、#030H

  MOV 21H、#80H

  MOV 20H、#01H

  AJMP 終了

  LOOQ7: MOV P1、#0B0H

  MOV 21H、#01H

  MOV 20H、#80H

  終了: ネット

  終わり

  4 結論

  このドライバーは、0.5Nm ステッピング モーターを駆動できることが実験的に検証されています。1.2Nmのステッピングモーターを駆動するために、駆動部の抵抗、静電容量、還流ダイオードの関連パラメータを調整します。ドライバ回路はシンプルかつ信頼性が高く、コンパクトな構造となっており、I/Oポートラインやシングルチップマイコンなどのリソースが限られているシステムに特に適しています。

[上記の情報はaibo Testingによって編集および公開されています。矛盾がある場合は、時間内に修正してください。引用がある場合は、出典を示してください。一緒に議論することを歓迎します。開発に注目しています! 焦点: CCC/SRRC/CTA/オペレーター倉庫]

おすすめ

転載: blog.csdn.net/weixin_47371464/article/details/130822215