(夏季休業のお知らせ)

8月10日15時 から 20日まで発送・問合せ等のすべての業務をお休みいたします。
 

 

電子工作の知恵袋

 
 

 

PixiModule UART
USB-UART変換ケーブル
実動デモ


 

    *コンテンツはお客様ご自身のご判断と責任においてご利用ください。
     また、掲載内容を他に流用・転載することは一部・全てを問わず固くお断りいたします。
     引用する場合はリンク表示にてお願いいたします。
     


電子工作の知恵袋


パルスモータ駆動回路の製作 その3

(執筆:吉澤 清) 




    ■パルス・モータの駆動実験(2)

     パルス・モータの駆動が可能になりましたので、次に簡単なシーケンスに従ってモータを回転させるプログラムを作成してみました。

    ソースコードのファイル名はtestRotationCtrl1.c、オブジェクトコードのファイル名はtestRotationCtrl1.hexとなります。(プロジェクトファイル testRotationCtrl1

     このプログラムでは、押しボタンSWを押す事により、基板上のLEDが点灯し、次のシーケンスで動作を行います。

    @時計回り(CW)に180度(100ステップ)モータが回転します。この間、約10秒を要します。

    Aその位置で5秒間停止します(この間、デューティー50%で、停止した位置に対応した巻き線を、ドライブし続けます)。

    B反時計回り(CCW)に180度(100ステップ)モータが回転します。この間、約10秒を要します。

    C最後に基板上のLEDが消灯して、モータへの駆動電流がカットされます。

     

     このプログラムでは、rotateFwd(ステップ数),rotateRev(ステップ数),waitKeepPosition(ステップ数)という3つの関数を使用しています。

    これらの関数は、各々、「時計方向に”ステップ数”だけ回転させる」,「反時計方向に”ステップ数”だけ回転させる」,「”ステップ数”分回転させるに要する時間、モータをその位置で停止させる」機能を持っています。

    これらの関数を組み合わせることにより、任意の方向へ、任意のステップ数分、モータを回転させたり、任意の時間、モータを停止させることができます。

     モータを回転させる際、rotateFwd関数とrotateRev関数では、グローバル変数posCountを2ビットカウンタとして使い、その値を基にdrivePattern配列上の、モータ駆動用のパターンを選択し、出力しています。

    このような方法を使うことにより、任意のステップ数の回転制御を、できるだけ単純な記述で実現しています。

     

    ■考察

    ○マイコンモジュール上のMOS FETの発熱に関して

     取り扱い説明書において、モジュール上に実装されているMOS FETの発熱に注意するよう記載があったため、実験中にMOS FETの温度を幾度もチェックしましたが、今回は各MOS FETに流れる電流がデューティー比25%で400mA前後であったこともあってか、殆ど発熱は感じられませんでした。

    これには、MOS FETのON抵抗ばらつき(低い方向/良い方向へのばらつき)や、モータへ大きな負荷をかけていないなどといった条件も関係しているかもしれません。

    ○パルス・モータの振動に関して

     これ迄、あまり大きなパルス・モータを回転させたことが無かったため、パルス・モータの振動に関する経験があまりありませんでした。

    今回の場合、モータの軸に殆ど負荷がつながっていない状況下での動作でしたが、パルス・モータを回転させると、1ステップ進む毎に、その反動が感じられました。

    自重もあるので、振動によりモータ自体が動いてゆくようなことはありませんでしたが、実際に使用する場合にはしっかりしたベースに固定する必要がありそうです。

    モータ軸に接続される負荷は、モータのロータの動きを制限する方向に働くため、ある程度の負荷を駆動した場合のほうが、振動は少なくなるかもしれません。

     模型用のモータ等では、回転数を上げると、ある程度の音がし、振動も発生しますが、パルス・モータの発する振動は、それとは少し性質を異にするようです。

     

    ■備考

     今回使用したパルス・モータは、1.8度/ステップと、ステップ角が小さい製品です。

    ステップ角が大きなパルス・モータ(例えば15度/ステップとか)を駆動される場合は、このままのプログラムではモータの回転速度が速くなり過ぎる場合があるので、その場合はモータの駆動周波数を引き下げるなどして対応して下さい。

    本稿で作成した2つのプログラムでは、モータの駆動周波数の細かい調整にタイマ2を使用しており、実際にはPR2レジスタの設定値の変更により行っていますが、駆動速度を大きく引き下げようとする場合には、タイマ2では対応することができません。

    このため、OSCCONレジスタの設定を変更して、PICマイコンのクロック周波数を変更(遅く)することにより対応されることをお奨めします。

    この変更により、キーSW用のチャッタ除去タイミングも影響を受けるため、タイマ1を使用しているプログラムではTMR1Hレジスタへの代入値も、同時に変更するようにして下さい。

    駆動速度を1/2〜1/8に変更する場合の各レジスタの設定値を以下に示します。

     

    駆動速度        OSCCONの設定値        TMR1Hへの代入値

     現状          50H(0x50)      0F0H(0xF0)

    現状の1/2        40H(0x40)      0F8H(0xF8)

    現状の1/4        30H(0x30)      0FCH(0xFC)

    現状の1/8        20H(0x20)      0FEH(0xFE)

     

     「CBA45−01101]の型番でWEB検索すると、英文の製作記事が見つかりました。

    これは、このモータが、昔、米国のパソコンメーカのプリンタに使用されていた関係で、海外でも入手が可能であったためかもしれません。

     

    ■参考文献

    (1)”PIC16F690マイコンモジュール 8ch×25V0.5Aドライバー内蔵 取扱説明書”,エレラボドットコム.

    (2)芹井滋喜:”フレッシャーズ特集 これなら分かる!!PICマイコン”,トランジスタ技術2009年4月号,CQ出版社.

    (3)平山良裕:”ステッピング・モータ&駆動回路の種類と特徴”,トランジスタ技術2000年2月号,CQ出版社.

     

     



カテゴリ
電子工作の知恵袋 最新情報

  電子工作大好き社員募集中! 株式会社ヌマタR&D