モータードライバーをシングルモードで使用することで、最大で2個の2相ステッピングモーターを接続することができます。
モーターと端子台は右図のように接続します。モーターはバイポーラ、あるいはユニポーラのステッピングモーターが接続可能です。
ステッピングモードでモータを回すためには以下の手順をプログラムで実行します。
ステッピングモードのサンプルプログラムは
ファイル→スケッチ例→RECoreLibrary
のStepping_exampleです。
ライブラリのsetMotorType関数で、ユニットのモータータイプをステッピングモードに設定します。
ステッピングモードに設定する場合は、接続するステッピングモーターのステップ数を引数として一緒に渡す必要があります。
モーターのステップ数は、接続するモーターごとに異なります。モータにあった設定を行ってください。
なお最後の引数を入力しなかった場合、デフォルトでステップ数が200に設定されます。
ライブラリのsetMotorCurrent関数で、全体の電流制限値を設定します。
設定電流値はモーターに適した値を設定してください。
複数の種類のモーターを使用する場合、設定電流値は最も小さいものに合わせることが推奨されます。
ステッピングモードでは2種類のモーターの回し方が用意されています。
ひとつは回転速度を指定し一定速度で回転し続ける定速モードで、setSteppingSpeed関数を使用します。
設定したいモーターをユニットで指定し、回転数(rpm、mm^-1)を指定、最後に回転方向をtrueまたはfalseで指定します。
もうひとつは回転数とステップ数を指定する定回転数モードで、setSteppingSteps関数を使用します。
設定したいモーターをユニットで指定し、回転数(rpm、mm^-1)を指定、最後にステップ数を指定します。
これらの関数はノンブロッキングで動作することに注意してください。
例として、200ステップ動かした後に更に100ステップ動かすといった動作を行う場合は、先に実行する200ステップの動作が終了するまで待つ必要があります。
ステッピングモーターもDCモーターと同様に「定格電圧」と「定格電流」が設定されています。定格電圧が高くなると定格電流は低くなる傾向が、またはその逆の傾向があります。
ステッピングモーターでも電圧は速度に、電流はトルクに影響を及ぼします。(逆起電力やインダクタンスに関係して、電圧の釣り合いによって流せる電流が変わりトルクが変わるため、電圧が速度に影響します)
RECoreは電流制御によってステッピングモーターを駆動するため、「定格電流」が選定に重要な項目です。
電流制御を行う場合は、ある程度の範囲で定格電圧以上の電圧でモーターを駆動させる事ができます。例として5V 400mA定格のモーターには7.4V(RECoreのバッテリー電圧)で電流制限400mAを設定することで使用できます。
また逆に、定格電圧以下のモーターでも回転させることが可能です。ただし電圧が低下した分電流が流れなくなるため、トルクと速度が低下し、定格性能が出ない場合があります。
ステッピングモーターではDCモーターと違い、高速回転から停止時まで常に設定した電流が流れ続けていることに注意してください。このため停止時でもモーターは発熱し、電力が消費されています。
発熱やバッテリーの持続の観点から、ステッピングモーターでも適切な電流制限値を設定することは特に重要です。
必要な回転数とトルクを見極め、適切な設定を行うことで発熱を最小限に抑える事ができ、バッテリーの持続時間も長くすることができるようになります。