tohutokonsome.hatenablog.com
ラジコンカーをつくるためにモーターを漁っていたら、「ステッピングモーター」に触れる機会があったので書いておきます!
動かすのに、かなり苦戦しました。
誤っている箇所があればご指摘いただけると嬉しいです!
ステッピングモーターとは
通常のモータは電流を流すと、ぷしゃあああと何回転もするの対して
ステッピングモータは、とりあえず30度回転しよっかみたいみたいな感じで
回転する角度を制御できるみたいです。
使用した製品
以下の製品を使用しました。
ステッピングモーター
バイポーラ ステッピングモーター MDP−35A 48ステップ: パーツ一般 秋月電子通商 電子部品 ネット通販
モータードライバ
DRV8835使用ステッピング&DCモータドライバモジュール: 組立キット 秋月電子通商 電子部品 ネット通販
これらは、ラズパイマガジン2017年2月&4月号の電子工作入門部品セットに含まれています。
モータードライバのはんだごて
ブレッドボードに接続する際には、端子とモータードライバをはんだごてする必要があります。
モータードライバはものすごく小さい!
とりあえず部品を固定しないとどうにもならないので、ブレッドボードに挿して固定することにしました。
おそらく推奨されないやり方だと思われますが、突き進みます。
はんだごてをするための「はんだ」も写っているのですが
部品に比べかなり大きいです。
電子工作用のもうすこし細いやつを購入すればよかったかも。
また、端子は14本あったのですが、モータードライバは6本が2つ必要だったので手で折っちゃいました。
この辺のことは常識なのか、どこにも説明が書いてないので不安になります。
・
・
・
はんだごて途中経過
びっくりするぐらい下手くそですね。
念のため買っておいた、はんだ吸い取り線が大活躍しました。
・
・
・
汚いながらも、なんとか最後まで完了しました。
配線をしてみる
伝える気があるのかないのかわからない絵ですが、こんな感じです。
ラズパイから、モーター用の電源5V、モータドライバー用の電源3.3Vを供給しています。
モーターのデータシートをみると、駆動電圧12Vとなっており、モータドライバの方もMAX12Vと記載があるので、今回は少なめです。
絵の中のラズパイから伸びている、青、白、黄、赤の線ですが、こちらがプログラムで制御する部分になります。
ステッピングモーターは、DCモーターとは異なり、線が4本あります。
細かい仕組みはさっぱりですが、この線に決まった順序で電圧をかけていくことで、モーターが回転します。
ここまでを簡単に整理すると、 以下の通りとなります。
- AIN1→AOUT1(青の線へ出力)
- AIN2→AOUT2(白の線へ出力)
- BIN1→BOUT1(黄の線へ出力)
- BIN2→BOUT2(赤の線へ出力)
ですので、今度はラズパイ側から、AIN1〜BIN2へ信号をおくるために配線を行っていきます。
まず前提のとなるラズパイ側ピンの役割は以下の通りとなります。
※下段部分の絵は、公式の絵になります。
www.raspberrypi.org
黄色のGPIOの部分がプログラムから制御できる部分になります。
今回は、AIN1〜BIN2の制御は以下のピンを使うことにしました。
- 7番のピン-AIN1
- 11番のピン-AIN2
- 13番のピン-BIN1
- 15番のピン-BIN2
ちなみに、1番のピンはモータードライバの電源、2番のピンはモーダー電源として利用しました。
6番もGND(マイナス側)として利用しています。
※GNDってなんだってなるのですが、ラズパイをただの乾電池として捉えると、理解しやすいかもです。
電流はプラスからマイナスに向かって電流が流れます。
なので、乾電池もプラス極とマイナス極をつないで初めて電流が流れます。
GPIOや電源の部分は全てプラスになります。
GND(マイナス)まで回路をつなぐことで、電流が流れ始めます。
全部つなげてみるとこんな感じになりました。
Pythonで実行してみる
コードは、以下の通りとなります。
冗長なコードかもしれませんが許してください。
一点混乱するところとして、PINの番号とGPIOの番号が一致していません。
- GPIO4 -7番のピン
- GPIO17-11番のピン
- GPIO27-13番のピン
- GPIO22-15番のピン
物理的なピンの番号と、内部の役割に応じた番号で違っているみたいです。
公式サイトにそれらしき関係が載っていました。
Raspberry Pi GPIO Pinout
ステッピングモーターを動かす
反省点
備忘録がてら反省点を。
はんだごてが適当すぎた
最初、モーターが全然動きませんでした。
テスターを使ってステッピングモータのそれぞれの線に電流が流れているのかを確認した結果
白の線に電流が流れていないことが判明。
対応するモータドライバ部分のはんだをやり直した結果、電流が流れるようになった。
データシート、秋月電子通商のマニュアルをちゃんと読むべき
http://akizukidenshi.com/download/ds/sanyos/MDP-35A_a.pdf
http://akizukidenshi.com/download/ds/akizuki/AE-DRV8835-Ss.pdf
作業の進め方は、ラズパイマガジン2月号のステッピングモーターの内容で進めていました。
ラズパイマガジンには、読者限定サイトが用意され、配線図や、Pythonコード収録されています。
しかし、配線図、コードを、そっくりそのまま実行したところ、モーターがまったく動きませんでした。
前述のはんだごてがダメだった部分もあり、調査にいろいろと時間がかかったのですが
最終的にデータシート、秋月電子通商のマニュアルをよく見ることで解決しました。