ステッピングモーターは、段階的に回転する特別に設計されたモーターです。ステッピングモーターの速度は、それに適用される電気信号の速度に依存します。さまざまなパターンで、ステッピングモーターの方向と回転タイプを制御できます。主に2種類のステッピングモーター、ユニポーラとバイポーラが利用できます。ユニポーラは操作、制御が簡単で、入手も簡単です。このチュートリアルでは、ステッピングモーターをPICマイクロコントローラーPIC16F877Aとインターフェースします。
私たちは、使用している28BYJ-48 ステッピングモータを安価で容易に入手可能である。このプロジェクトのために。それは5V DCユニポーラステッピングモータ。また、ULN2003ステッピングモータードライバーICで構成されるこのモーターで利用可能なモジュールを使用しています。ULN2003はダーリントンペアアレイであり、PICマイクロコントローラーが駆動するのに十分な電流を供給できなかったため、このモーターを駆動するのに役立ちます。ULN2003Aは、600mAのピーク電流で500mAの負荷を駆動することができます。
ステッピングモーター:
データシートから28BYJ-48ステッピングモーターの仕様を見てみましょう。
ステッピングモーターを回転させる方法:
データシートを見ると、ピン配置がわかります。
モーターの内部には、2つのセンタータップコイルがあります。赤い線は、VCCまたは5Vで接続される両方に共通です。
ピンク、赤、黄、青の他の4本のワイヤーは、電気信号に応じて回転を制御します。また、動きに応じて、このモーターは3ステップで制御できます。 フルドライブモード、ハーフドライブモード、ウェーブドライブモード。
ステッピングモーターの3つの運転モード:
フルドライブ: 2つの固定子電磁石が同時に通電されると、モーターはフルドライブシーケンスモードと呼ばれるフルトルクで動作します。
ステップ |
青い |
ピンク |
黄 |
オレンジ |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
ハーフドライブ:交互に1相と2相が通電されると、モーターはハーフドライブモードで動作します。角度分解能を上げるために使用されます。欠点は、この動きで発生するトルクが少ないことです。
ステップ |
青い |
ピンク |
黄 |
オレンジ |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5 |
0 |
0 |
1 |
1 |
6 |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8 |
1 |
0 |
0 |
0 |
ウェーブドライブ:このモードでは、1つの固定子電磁石がオンになります。フルドライブモードと同じ4つのステップに従います。それは低トルクで低電力を消費します。
ステップ |
青い |
ピンク |
黄 |
オレンジ |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
以前、ステッピングモーターを他のマイクロコントローラーと接続しました。
ステッピングモーターは、マイクロコントローラーなしで制御することもできます。このステッピングモータードライバー回路を参照してください。
ULN2003ステッピングモータードライバー:
ULN2003ICで構成されるブレークアウトボードを理解しましょう。ピン配列を理解することが重要です。
黄色の部分は、接続するために使用されるモーターを、赤の部分が表示されたジャンパーを、それはモータのフリーホイールダイオード保護を可能にするようジャンパを配置することが重要です。ピンクの入力がためであるマイクロコントローラ接続。
モーターをフルドライブモードで時計回りに回転させ、ウェーブドライブモードで反時計回りに再び回転させます。最後にデモビデオを確認してください。
必要なコンポーネント
- Pic16F877A
- プログラミングキット
- ブレッドボード
- 20Mhzクリスタル
- 33pFディスクコンデンサ–2個
- 4.7k抵抗
- ベルクワイヤーとピン
- ULN2003Aブレークアウトボードと28BYJ-48ステッピングモーター。
- 接続する追加のワイヤー
- 定格500mAの5V電源ユニットまたはACアダプタ
回路図と説明
回路図では、左側にPIC16F877Aが表示され、右側にULN2003A接続が表示されています。ULN2003とステッピングモーター部分はブレイクアウトボードの内側にあります。
ブレイクアウトボードからマイクロコントローラユニットへの接続は次のようになります-
A. IN1 =>ピン33
B. IN2 =>ピン34
C. IN3 =>ピン35
D. IN4 =>ピン36
すべてのコンポーネントとハードウェアを接続して、PICマイクロコントローラーでステッピングモーターを回転させる準備ができました。
PICマイクロコントローラーを初めて使用する場合は、PICマイクロコントローラー入門を記載したPICマイクロコントローラーチュートリアルに従ってください。
コードの説明
このPICベースのステッピングモータードライバーの完全なコードは 、このチュートリアルの最後にデモンストレーションビデオとともに示されてい ます。いつものように最初に、私たちはPICマイクロコントローラで構成ビットを設定し、その後で起動する必要が 無効メイン 機能。
これらは、マイクロコントローラユニットの構成ビットとライブラリヘッダーファイルのマクロです。
#define _XTAL_FREQ 200000000 //水晶周波数、遅延で使用 #define speed 1 //速度範囲 10〜1 10 =最低、1 =最高#definesteps 250 //必要なステップ数 #define時計回り0 //時計回り方向マクロ #defineanti_clockwise 1 //反時計回り方向マクロ
最初の行では、遅延ルーチンに必要な水晶周波数を定義しました。他のマクロは、ユーザー関連のオプションを定義するために使用されます。
コードを見ると、時計回りと反時計回りの3つのモードでモーターを駆動するために定義された3つの関数があります。3つの機能は次のとおりです。
1. void full_drive(char方向)
2. void half_drive(char方向)
3. void wave_drive(char方向)
以下に示す完全なコードで、これらの関数の定義を確認してください。
現在 ボイドメイン 機能では、ステップに応じてフルドライブモードを使用してモーターを時計回りに駆動し、数秒の遅延の後、ウェーブドライブモードを使用してモーターを再び反時計回りに回転させます。
void main(void) { system_init(); while(1){ / *モーターをフルドライブモードで時計回りに駆動します* / for(int i = 0; i
これが、PICマイクロコントローラーでステッピングモーターを回転させる方法です。ステッピングモーターは、CNCマシン、ロボット工学、その他の組み込みアプリケーションで非常に役立ちます。