小ロット・急ぎのものづくり 何でも相談ください

ブログBlog

2025年10月27日 [アプリ屋さんのIoT]

再挑戦:鍵のモーター制御(2)

ドア鍵、ステッピングモーターユニット 前回、ステッピングモーターを紹介しました。

今回ははじめに、組み立てに関して。
主に後半では、ステッピングモーターの制御プログラムについてレポートいたします。



まずは、組み立てに関してです。
今回利用するステッピングモーターは4相式なので、マイコンボードから4本の線を引き出します。
ドライバーボード(制御モジュール)に前述のバス(4本の線)と回路用電源、乾電池のボックスを接続します。
最後に、ドライバーボード、モーター、踏切板を接続します。


ブロックの踏切板は、強度がまったく足りないため、実用化するには金属製の頑丈なバーなどにすることを強くお勧めします。


ドライバーボードには2種類の電源を利用することを書きました。
これは、ドライバーボードやマイコンボードを過剰電力から保護するためです。
モーターにはトルクと呼ばれる力がかかります。
その電力は、マイコンボードから見れば過剰な電力となり、回路内に過電流が流れて損壊の危険性が高まります。
よって、モーター駆動の電源を別に準備するのが定石です。



続いて、コーディングです。
3パターンの励磁方式はスケッチ(プログラミング)の書き換えで、いずれも利用することができます。
励磁方式は各ポートへの入力信号のパターンを変更するだけです。


一番簡単な1励磁方式は各ポートに順番にパルス信号を送るだけです。

スケッチでは、2次元配列に時系列に沿ったシグナルを定義しておきます。
そして、アクション等に合せて、2次元配列の該当列のデータからモーターにシグナルを送ります。

参考として、各励磁方式の配列のスケッチを掲載します。


//1相励磁方式
pat1[1][0][0][0]
pat1[0][1][0][0]
pat1[0][0][1][0]
pat1[0][0][0][1]
//2相励磁方式
pat2[1][0][0][1]
pat2/td>[1][1][0][0]
pat2[0][1][1][0]
pat2[0][0][1][1]
//1-2相励磁方式
pat12[1][0][0][1]
pat12[1][0][0][0]
pat12[1][1][0][0]
pat12[0][1][0][0]
pat12[0][1][1][0]
pat12[0][0][1][0]
pat12[0][0][1][1]
pat12[0][0][0][1]

今回は、最も簡単な1励磁方式を採用しました。


続いて、回転角についてです。
ステッピングモーターの仕組みから、モーター内にギア(歯車)が組み込まれています。
32回のステップ(信号)で、内部モーターが1回転します。
内部ギア比は64なので、ステッピングモーターが一回転するのに、2,048ステップが必要となります。
逆算すると、1ステップで約0.175度の回転となります。
ステッピングモーターを90度回転させるのに、512ステップが必要となります。
for文等で回数をカウントすることで実装できます。


DCモーターを利用していた場合、逆回転させるには電源を入れ替える(プラスとマイナス)必要がありました。
ステッピングモーターの場合は、配列の制御シグナルを逆順に送るだけで実装できます。



開発環境であるArduino IDEに、クラス化したライブラリもあるのですが、制御の学習のためにフルスクラッチにて実装しました。
github:Stepper Library for Arduino (外部リンク)
クラスの主な機能として、以下の機能がありました。
・回転速度の設定(スリープ機能を利用しての速度調整)
・ステップ数を指定しての回転。負の値を引数にすることで、逆回転が可能
・初期設定

エラー処理なども施されているので、リリース版では利用するのが良いと思いました。



ステッピングモーターを利用して、踏切棒式のカギの作成ができました。
DCモーターと比較して、以下の点が性能向上しました。
・回転が安定している事
・市販のドライバーボードを利用することで回路の簡略化に成功しました。
反対に性能低下です(さほどではないです)が
・スケッチ(コード)がやや複雑化したこと
・ライブラリの研究に多生の時間がかかったこと
でしょうか。



今回はモーター制御の実験結果を記事にしました。

IoT開発を行って、仕事の効率化や豊かな生活を送りませんか?
「Let's extend technology!!」
を合言葉に、
IoTの事例やヒント、開発記を投稿していきます!

ハードウェア業者と、話がうまくできない。
そんなときは、両方に対応している弊社にご相談ください。
お待ちしております!
WEBでのお問い合わせはこちらから

PageTop