モーター回転数カウント
今回使用するモーターはDC12vギヤモーター。
遊星(プラネタリ)ギヤでギヤ比は1:3.7だと思われる。
左側のモーターが3.7回転すると、右側の出力軸が1回転するハズ。
エンコーダーが付いていないので、
回転数をカウントするためのセンサを用意しなければならない。
モーターエンドのφ3の軸にロータリーカムを取り付け、
フォトセンサでカウント出力することにした。
ロータリーカムを、3mmの樹脂板からNCで切り出す。
ロータリーカムをモーターのエンド軸に取り付け。
ねじ止め出来ないので、最終的には接着することになる。
フォトセンサを反応する位置に仮止め。
モーター軸が1回転するとArduinoに1回信号が送られるように、
センサのONの立ち上がりを検出するプログラムに変更。
出力軸にもロータリーカムをつけて、両軸の回転数を同時計測。
モーター軸を1500回転させると出力軸は405回転した。
ギヤ比は1:3.7で間違いはなかった。
モーター軸から取得した回転数を3.7で割って液晶に表示。
プリセット数を1000にセットし、モーターを回転。
出力軸が1000回転して止まるハズだが、
1000rpm程のスピードで回すと、惰性でカウントが1001回で停止。
1回余分に回ってしまう。
800rpm以下で運転すると1000でピタリと止まるのだが....
そこで、停止時にENABLE・IN1・IN2をHIGHにして、
ブレーキをかけることにした。
正解だった。
1000rpm以上の速度でも、停止時の惰性が少なくなり、
プリセットカウンターの値と停止後の回転数が一致した。