RXduino  1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
Stepper.h
説明を見る。
1 /*******************************************************************************
2 * RXduinoライブラリ & 特電HAL
3 *
4 * このソフトウェアは特殊電子回路株式会社によって開発されたものです。
5 * 当社Webサイトを通じてダウンロードすることによって使用許諾されます。
6 * このファイルを第三者へ開示・再配布・貸与・譲渡することはできません。
7 * このソフトウェアはあるがままの状態で提供され、内容および動作についての保障はあ
8 * りません。弊社はファイルの内容および実行結果についていかなる責任も負いません。
9 * お客様は、お客様の製品開発のために当ソフトウェアのソースコードを自由に参照し、
10 * 引用していただくことができます。
11 * コンパイル・リンク後のオブジェクトファイル(ELF ファイルまたはMOT,SRECファイル)
12 * であって、デバッグ情報が削除されている場合は第三者に再配布することができます。
13 * (C) Copyright 2011-2014 TokushuDenshiKairo Inc. 特殊電子回路株式会社
14 * http://rx.tokudenkairo.co.jp/
15 *******************************************************************************/
16 
17 #ifndef __H_RXDUINO_STEPPER
18 #define __H_RXDUINO_STEPPER
19 /**************************************************************************/
24 #include "rxduino.h"
25 
26 #ifdef __cplusplus
27  extern "C" {
28 #endif
29 
30 /*********************************************************************/
35 class Stepper{
36 public:
37 
38 /*********************************************************************/
42  typedef enum
43  {
47  } STEPPER_TYPE;
48 
49 /*********************************************************************/
62  Stepper(int steps, int pin_1, int pin_2, int pin_3, int pin_4, STEPPER_TYPE type = NORMAL4);
63 
64 /*********************************************************************/
71  Stepper(int steps, int pin_1, int pin_2);
72 
73 /*********************************************************************/
78  void setSpeed(int rpms);
79 
80 /*********************************************************************/
87  void step(int steps);
88 
89 /*********************************************************************/
98 
99 /*********************************************************************/
103  int getRpms(void);
104 
105 /*********************************************************************/
109  int getPosition(void);
110 
111 private:
112  void setMotorCycles(int cycles); // モータを実際に回転させる関数
113 
114  int clock_wise; // 回転方向(0:反時計回り,1:時計回り)
115  int rpms;
116  STEPPER_TYPE type;
117 
118  unsigned int delay_motor_cycles; // それぞれのステップの時間間隔
119  int max_steps; // 1周するときのトータルステップ数
120  int position; // モータが現在どのステップにいるか
121  int pin_counter; // モータドライブに使うピン数(2 or 4)
122 
123  // モータ制御に使うピン
124  int pin_1;
125  int pin_2;
126  int pin_3;
127  int pin_4;
128 
129  int delay_last_time; // 前回の時間のタイムスタンプ記憶用
130 };
131 
132 #ifdef __cplusplus
133  }
134 #endif
135 
136 #endif // __H_RXDUINO_TONE
137 
4極ステッピングモータ.デフォルトはこの設定になる
Definition: Stepper.h:44
2極ステッピングモータ
Definition: Stepper.h:46
Stepper(int steps, int pin_1, int pin_2, int pin_3, int pin_4, STEPPER_TYPE type=NORMAL4)
4本線ステッピングモータ用のコンストラクタ
int getRpms(void)
モータの現在の回転速度を取得する。
int getPosition(void)
モータの現在の回転位置を取得する。
2極ステッピングモータ(モータ極性端子は2極,方向端子2極)
Definition: Stepper.h:45
void step(int steps)
モーターを回転させる
int pin_safe_state
モータ停止時に各ピンをどの状態にするかを指定する
Definition: Stepper.h:97
Renesas RX62N/63N用のArduino互換ライブラリ
void setSpeed(int rpms)
1分間あたり何回転するかを決める
STEPPER_TYPE
接続するモータの種類
Definition: Stepper.h:42
ステッピングモータを制御するクラス
Definition: Stepper.h:35