RaspberryPi演習記録12 -回転速度の変更演習

投稿日: 作成者: ussy

今日は前回と同じ構成で回転速度の変更を操作します。
正転、逆転ともに制御可能です。

但し前回同様テキストに書いてあったドライバを入手できなかったので、別のドライバを使っています。
故にテキストと内容が異なりますので注意してください。

TOSHIBA(東芝) DC モータ用 フルブリッジドライバ 7V~27V 1.5A TA8428K

新品価格
¥980から
(2020/6/6 19:21時点)

モータなどは前回同様です

※電池ボックスは使わずラズパイから5Vとりました。※ちょっと危険かな^^;

テキストはいつも通り下記を使用します。

電子部品ごとの制御を学べる! Raspberry Pi 電子工作実践講座

新品価格
¥2,728から
(2020/3/29 08:13時点)


今日の演習はP153-P154まで
※動作環境は前回と同様です

      1. ラズベリーパイ本体 RaspberryPi Zero使用 1台
      2. モーター FA-130RA 1個
      3. モータードライバ 「TA8428」 1個
      4. 配線 適量
    1. 詳細
      1. 配置図
        ※ドライバーは実際に使っているものとは別のものが表示されています。(参考程度)

        今回使った「TA8428」の詳細
        TA8428K(データシート)
      2. 回路図
        ※ドライバーは実際に使っているものとは別のものが表示されています。(参考程度)
    2. プログラムは次の通り

      import wiringpi as pi

      import time
      motor1_pin = 23
      motor2_pin = 24
      pi.wiringPiSetupGpio()
      pi.pinMode(motor1_pin, pi.OUTPUT)
      pi.pinMode(motor2_pin, pi.OUTPUT)
      pi.softPwmCreate(motor1_pin, 0, 100)
      pi.softPwmCreate(motor2_pin, 0, 100)
      pi.softPwmWrite(motor1_pin, 0)
      pi.softPwmWrite(motor2_pin, 0)
      while True:
          speed = 0
          while (speed <= 100):
              pi.softPwmWrite( motor1_pin, speed )
              pi.softPwmWrite( motor2_pin, 0 )
              time.sleep(0.3)
              speed = speed + 1
          pi.softPwmWrite( motor1_pin,100)
          pi.softPwmWrite( motor2_pin,100)
          time.sleep(2)
          speed = 0
          while (speed <= 100):
                  pi.softPwmWrite( motor1_pin, 0 )
                  pi.softPwmWrite( motor2_pin, speed )
                  time.sleep(0.3)
                  speed = speed + 1
          pi.softPwmWrite( motor1_pin,0)
          pi.softPwmWrite( motor2_pin,0)
          time.sleep(2)
    3. 実物写真(前回同様)
    4. 実行結果
      ※今回MACの整備も行っていて場所がなかったのでMACの上で演習してます。^^;

 

総括

これで、モータの回転方向、速度制御が出来ることが判明しました。
モータードライバーが有ることで随分と回路がスッキリした気がします。
正転と逆転の信号と電流を送るだけで操作ができるのでとても楽ですし安全です。
保証は無いですが、別電源をとれれば、少し大きめの+とーで変化を伴う装置を動かすことも可能なので、利用範囲が広がると思いましたので、モータードライバー24個も追加で買ってしまいました。
ちと多かったかな^^;