ブログBlog

[アプリ屋さんのIoT]

2025年10月27日

再挑戦:鍵のモーター制御(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

MENU