gpiozeroライブラリ入門⑩import Motor その4 MC33926
クラス(ライブラリ)Motorの動作確認を、
- BD65496 その1
- TB67H420FTG その2
- TB6612 その3
三つのHブリッジICで行いました。さらにもう一つ、pololuのブレークアウト・ボードMC33926を使います。
●MC33926のおもなスペック
- 動作電圧 5~28V
- 連続出力電流 2.5A
- チャネル 1。ボード上には二つ搭載
- 最大PWM周波数 20kHz
- ロジック入力電圧 3.3/5V対応
●配線
ラズパイ用にGPIOソケットがついているので、上から挿し込みます。ターミナル部分にモータの電源とモータとをつなぎます。
●制御信号とGPIO端子
GPIO ピン | モータ制御信号 | 詳細 |
---|---|---|
5 | Motor 1 SF | ステータス・フラグ出力:ドライバが正常に機能している場合、このピンはラズパイによってHighにプルアップされる必要がある。ドライバに障害が発生した場合、ドライバICはSFをLowにする。無効化ピン(D1またはD2)のいずれかが出力を無効にしている場合、SFもLowになる |
6 | Motor 2 SF | |
12 | Motor 1 PWM | モータ速度入力:このピンのPWM(パルス幅変調)信号は、対応するドライバのモータ出力のPWM出力に対応する。このピンがLowの場合、モータはブレーキをかける。Highの場合、モータはONになる。最大許容PWM周波数は20kHz |
13 | Motor 2 PWM | |
22 | Motor 1 EN | イネーブル入力:このピンは内部でLowに設定され、モータ・ドライバICを低電流スリープ・モードにし、モータ出力を無効にする(ハイ・インピーダンスに設定)。モータ・ドライバを有効にするには、ENをHighにする |
23 | Motor 2 EN | |
24 | Motor 1 DIR | モータ方向入力:DIRがLowの場合、モータ電流は出力Aから出力Bに流れる。DIRが高い場合、電流はBからAに流れる |
25 | Motor 2 DIR |
●動作とプログラム
CW、CCW、stopの真理値表です。
入力 | 出力 | ||||
---|---|---|---|---|---|
EN | DIR | PWM | MxA | MxB | 動作 |
1 | 0 | PWM | PWM (H/L) | L | CW forward/brake at speed PWM % |
1 | 1 | PWM | L | PWM (H/L) | CCW reverse/brake at speed PWM % |
1 | X | 0 | L | L |
brake low (出力はGNDへショート) |
0 | X | X | Z | Z | coast(出力OFF) |
ENはHighにし、PWMは入力1、DIRは入力2に割り当ててればよいように見えます。
ENは、クラスLEDを使いました。LEDだと直感的でないので、別名ENにしてimportしました。
en1.on()でICの横にある緑色のLEDが点灯します。もう一つのICの横のLEDが点灯したので、en2.off()でENをLowにしました。