RaspberryPi4で遊んでみる(3)-モータをサクッと-
まずはね、初歩的なモータを操りたいわけです。
前回はセンサー入門?ということで温度を測定してみました。センサーやったんなら、動かすものが必要なので、今回は手始めにモータを動かそうという流れです。
必要なもの
買ったものは、こちらを結構参考にしました。ちょっと盛大でしたので、若干省略しましたけど
https://qiita.com/imcuddles/items/c05cbea95db1f7469fed
電池ボックス | テキトーに単三電池入るやつ | 千石電商さんで購入。 |
抵抗器 | 炭素皮膜, 250V, 10kΩ, 誤差+/-5% | 千石電商さんで購入。 |
基板と線 | 温度センサーのとき使ったものを流用 | Amazon |
モータードライバー |
TA7291P |
千石電商さんで購入。 |
プロペラ | モーター回ったことを確認したいだけなので、てきとーにモータに刺さるやつ | 千石電商さんで購入。 |
配線
結論を先にいうと、下記になるようにつなぎました。GPIOは別割当でもOK

端子説明を抜粋してあります。購入したのはP型です。
ロジック入力7の電気を使って、入力端子5・6からの入力をもとにドライバーの回路を変更するという流れです。
実際に動く部分は、出力端子2・10の部分にはモーターを、動力となる電池はドライバーの出力側電源端子8を接続しておきます。
説明上、Vrefが電流を制御しているということになるのかな?
電池をダイレクトに接続するのは危険なので、抵抗器をはさみます。仕様書の指示通り、Vs>Vrefとなるように接続します。先に紹介した抵抗は正直やりすぎていて、電流が少なめです。
ドライバの仕様書にはMAX2.5Aと書いてましたが、万が一の場合の保護機構も実装してあるそうです。

RasPI側のプログラム
仕様書抜粋です。In1とIn2の入力を変更するだけで向きが変わります。その下のプログラムは0/1の組合わせをすべて試した次第です。モーターにプロペラつけているので実感が少しあります。モーターが大変そうでした
GPIOの制御にはwiringpiが必要だったんので入れました。
Condaなんですけど、なぜか入らなかったんで禁断のPIPとの共存を許してしまいました。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import wiringpi import time import sys motor_pin_1 = 23 motor_pin_2 = 24 wiringpi.wiringPiSetupGpio() #initilize GPIO control print("stop 5sec") wiringpi.pinMode( motor_pin_1, 0 ) wiringpi.pinMode( motor_pin_2, 0 ) print("right 5sec") wiringpi.digitalWrite( motor_pin_1, 1 ) wiringpi.digitalWrite( motor_pin_2, 0 ) time.sleep(5) print("stop 5sec") wiringpi.digitalWrite( motor_pin_1, 1 ) wiringpi.digitalWrite( motor_pin_2, 1 ) time.sleep(5) print("left 5sec") wiringpi.digitalWrite( motor_pin_1, 0 ) wiringpi.digitalWrite( motor_pin_2, 1 ) time.sleep(5) print("stop 5sec") wiringpi.digitalWrite( motor_pin_1, 0 ) wiringpi.digitalWrite( motor_pin_2, 0 ) print("Done") |
できたもの
安全のため、電池とモーターは線を抜いてあります。プロペラだと風向きで反対だとわかるのでいいですね。

これからは?
いよいよ、ドローン作りに取り組みたいなって思います。以下の点を考えないとですね。
いっぱい考えること有るので、別記事でしっかりまとめたいと思います。
Rも勉強中なのでいつになることやら….
- いっぱいのセンサー
- 加速度センサー
- ジャイロセンサー
- まとめて6軸ジャイロ加速度センサー?かな?
- 以下は追って
- 気圧センサー(高度検出)
- 前回温度センサーとして使ったBMP280は気圧も測れる!
- GPS
- まぁ、都内住みなので飛ばせないし、、、、実家も制限エリア内なので、、、、いらないっしょ…
- 気圧センサー(高度検出)
- モータードライバー(PWM制御)
- TA7291Pを流用します
- RasPIの役割分担と台数
- ブラシレスモータ*4台はかうとして、、、ESC含めわからないので調べる
- raspiは1台で足りるのかな?
- ドローンの型
- 形から入るタイプの人間なので、ほしいんですけどどこで買うの?
補足
そういえば、前回いった、RasPIの回線図をきれいに書くツールですが、
デフォルトで有料の選択しかできなくなっていました。
無料のOSSですので、自分でビルドすれば行けるそうです。自分は以下のlatest のstable version を使いました。まぁwindowsどうすんだろうというお気持ちはありますが、、、
※無料でDLすることを斡旋しているわけでは無いですので誤解なく。
https://github.com/fritzing/fritzing-app/releases/tag/CD-498