TOPに戻る

gpiozeroライブラリ入門⑩import Motor その4 MC33926

 クラス(ライブラリ)Motorの動作確認を、

三つの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にしました。

from gpiozero import Motor
from gpiozero import LED as EN
from time import sleep,time

en1 = EN(22)
en1.on()
en2 = EN(23)
en2.off()

motor = Motor(12, 24) 
motor.forward(0.3)
sleep(3)
en1.off()

連載 gpiozeroライブラリ入門

- OutputDevice -

(1) LED その1 (2) LED その2 (3) PWMLED (4) RGBLED

(5) Buzzer (6) TonalBuzzer

(7) Motor その1 BD65496 (8) その2 TB67H420FTG (9) その3 TB6612 (10) その4 MC33926 (11) PhaseEnableMotor DRV8835

(12) Servo (13) AngularServo

- SPI Device -

(14) 10ビットA-DコンバータMCP3001/MCP3002/MCP3004/MCP3008

(15) 12ビットA-DコンバータMCP3201/MCP3202/MCP3204/MCP3208

(16) 13ビットA-DコンバータMCP3301/MCP3302/MCP3304