top of page

Motor SHIM for PicoでモータをMicroPythonで動かしてみました。

更新日:2022年10月9日

Motor SHIM for PicoでモータをMicroPythonで動かしてみました。


Motor SHIM for PicoはPimoroniにから発売されているRaspberry Pi Pico向けのモータードライバーで、コンパクトなのが特徴です。

Pimoroniのページ


今回、Motor SHIM for Picoを動かすにあたり揃えたものは下記になります。

・Motor SHIM for Pico

 上記のリンクをご参照ください。

・Raspberry Pi Pico

 スイッチサイエンス・マルツオンライン等、日本の通販や秋葉原で入手可能

・Raspberry Pi Picoにつけるヘッダーピン(40 ピンのものを2分割して使用)

 スイッチサイエンス・マルツオンライン等、日本の通販や秋葉原で入手可能

・Motor SHIM for Picoにつけるピンソケット(10ピンのものを使用) 

・Micro Metal Gearmotor with Motor Connector Shim (MCS)

・Motor Connector Shim Cable (pack of 2)

・Pololu Wheel 32x7mm Pair


そのほか今回は使用しておりませんが、下記のものも購入しました。

・Long Micro Metal Gearmotor Bracket (pack of 2)

・Pololu Ball Caster



なお、MicroPythonのファームウェアなのですが、選択肢としてPimoroni用を使用するか、通常のファームウェアの2通りがあるのですが、今回はモータドライバーがDRV8833という汎用的にもちいられているものであること、Pinも回路図をみれば解読できたこと、個人的にはPimoroniで用意されているサンプルプログラムの場合は関数の使用が多く、解読に時間がかかりそうで改造が難しそうに感じたので、通常のMicroPythonのファームウェアを使用してプログラムを書いていくことにします。


MicroPythonのファームウェアの設定方法は下記のURLに記載されています。


また、当ブログでは下記の記事に記載しています。


次に、開発環境の設定していない場合は設定します。

当ブログでは下記の記事に記載しています。


Pinは回路図を見て確認します。

回路図から、下記のような配置となっていることがわかります。

AIN1:GP6

AIN2:GP7

BIN1:GP27

BIN2:GP26

スイッチ:GP2


動作確認用のプログラムは下記のように記述いたしました。

import machine

import utime


AIN1 = machine.Pin(6, machine.Pin.OUT)

AIN2 = machine.Pin(7, machine.Pin.OUT)

BIN1 = machine.Pin(27, machine.Pin.OUT)

BIN2 = machine.Pin(26, machine.Pin.OUT)


# 正転

AIN1.value(1)

AIN2.value(0)

BIN1.value(1)

BIN2.value(0)

utime.sleep(2)

# ブレーキ

AIN1.value(1)

AIN2.value(1)

BIN1.value(1)

BIN2.value(1)

utime.sleep(2)

# 逆転

AIN1.value(0)

AIN2.value(1)

BIN1.value(0)

BIN2.value(1)

utime.sleep(2)

# 停止

AIN1.value(0)

AIN2.value(0)

BIN1.value(0)

BIN2.value(0)

utime.sleep(2)



うまくいけば左右両輪が正転⇒ブレーキ⇒逆転⇒停止と動くはずです。





閲覧数:21回

Comments


bottom of page