メインコンテンツに移動

GR-ADZUKI 特設:緑ターミナルブロックを使う!(モーターや大きいLED)

概要

GR-ADZUKIの2個の緑ターミナルブロックはモーターなど大きめの電流を流すことができるものを取り付けられます。基本的な使い方と応用例を紹介します。


準備

ハードウェア

GR-ADZUKI、USBケーブル(マイクロBタイプ)、プラスドライバーを用意してください。

そのほかにLED、ソレノイド、モーターのいずれかを準備します。なお、流せる電流は最大2Aですが、USB接続時は500mAまでですのでモーターは小型のものにしてください。

画像
LED
画像
ソレノイド
画像
DCモータ

ソフトウェア

ここでは動作確認用としてS4Aを使用します。まだインストールしていない場合は「Scratch(S4A)で遊ぶ!」を参照してください。

画像
gr-adzuki-board
画像
usb-cable
画像
screwdriver

ファームウェア(Rev.2)

LEDやソレノイドだけの場合、本ファームを適用する必要はありません。

GR-ADZUKI用に組み込むS4A用ファームウェアですが、本ファームウェアは初期ファームウェアからPWM周波数を490Hzから20kHzに高めたものになっています。これはモータードライバBD6211FのPWMモードを適用するためです。

  • 以下のリンクをクリックしてbinファイルをダウンロードしてください。
    adzuki_s4a_rev2.bin

ファームウェアの書き込みについては「Webコンパイラの使い方」に記載されている「6. KurumiWriterのダウンロード」以降を参照してください。


ターミナルブロックの開け閉め

ターミナルブロックは工作に使うプラスドライバーでワイヤーなどを取り付けることができます。まずはターミナルの口を見てください。購入時は以下のように口が開いた状態になっています。

画像
GR-ADZUKI緑ターミナル開いた状態

次にプラスドライバーでねじを回してしめてみましょう。ターミナルの口に金属部が下りているのが分かります。これでワイヤーを取り付けることになります。

画像
GR-ADZUKI緑ターミナル閉じた状態

ターミナルブロックの回路接続と入出力

回路接続を確認します。接続を簡単に示したものは以下の通りです。実際の回路は GR-ADZUKI Schematic (PDF)を参照してください。

要点としてはターミナルブロックには大きめの電流が流せるモータードライバBD6211Fが実装されています。このためモーターのほかに、大きめのLEDやソレノイドなどもコントロールできます。

画像
GR-ADZUKI緑ターミナルブロック図

真理値表(ノーマルモード)

後述のPWM制御モードを使わない場合の真理値表です。PWM制御モードを使用しない場合、スタンバイモードを経由する動作となり、オン・デューティに応じた制御ができない可能性があります(BD6211Fのデータシートより)。

FIN RIN OUT1 OUT2 動作
Low Low Hi-Z Hi-Z スタンバイ(空転)
High Low High Low 正転(OUT1->OUT2)
Low High Low High 逆転(OUT2->OUT1)
High High High High ブレーキ(停止)

真理値表(20kHz PWM制御モード使用時)

BD6211Fは20kHz~100kHzのPWM信号を入力することでPWM制御モードになります。

FIN RIN OUT1 OUT2 動作
PWM Low High PWM 正転(PWM:Low<-->Hi-Z)
Low PWM PWM High 逆転(PWM:Low<-->Hi-Z)
High PWM PWM Low 正転(PWM:Low<-->High)
PWM High Low PWM 逆転(PWM:Low<-->High)

大きめのLED

LEDを接続して光らせてみます。以下のようにつなげましょう。LEDのアノード(長い線の方)を9ピンにつなげます。

画像
GR-ADZUKI緑ターミナルLED接続

S4Aで「アナログ9の値を255にする」をクリックしてみましょう。

画像
GR-ADZUKI Scratchアナログオン

以下のようにLEDが光ります。アナログ値は0~255まで変化できますので、値を変えて試してみてください。

画像
GR-ADZUKI緑ターミナルLEDが光る

Arduinoスケッチで行う場合は以下のスケッチでLEDを光らすことができます。


#include <Arduino.h>
void setup() {
  analogWrite(9, 255);
}
 
void loop() {
}

ソレノイド

ソレノイドを接続して動作を確認してみます。極性はありません。

画像
GR-ADZUKI緑ターミナルソレノイド

S4Aで以下のようにアナログ値を変えるプログラムを組んで実行してみましょう。

画像
GR-ADZUKI Scratchアナログループ

以下は0.1秒で繰り返す様子です。

Arduinoスケッチで行う場合は以下のスケッチで0.1秒ごとにソレノイドをON/OFFすることができます。


#include <Arduino.h>
void setup() {
}
 
void loop() {
  analogWrite(9, 255);
  delay(100);
  analogWrite(9, 0);
  delay(100);
}

小型DCモーター

最後にDCモーターを接続して動作を確認してみます。筆者はタミヤのプーリーユニットに使われるモーターで試しています。

画像
GR-ADZUKI緑ターミナルDCモータ接続

DCモーターの回転の速度、方向を変えるためのブロックは以下の通りです。それぞれブロックをクリックして試してみてください。逆転の場合、アナログ値を小さくするほど回転が速くなるので、注意してください。

画像
GR-ADZUKI Scratchモータ回転

以下はDCモーターを回している様子です。

以下はArduinoスケッチで行う場合のサンプルです。


#include <Arduino.h>
void setup() {
  pinMode(10, OUTPUT);
  digitalWrite(10, LOW);
  analogWriteFrequency(20000);
}
 
void loop() {
  // Forward rotation
  analogWrite(9, 150);
  digitalWrite(10, LOW);
  delay(1000);
  // Slowly
  analogWrite(9, 100);
  digitalWrite(10, LOW);
  delay(1000);
  // Stop
  analogWrite(9, 0);
  digitalWrite(10, LOW);
  delay(1000);
  // Backward rotation
  analogWrite(9, 200);
  digitalWrite(10, HIGH);
  delay(1000);
  // Stop
  analogWrite(9, 0);
  digitalWrite(10, LOW);
  delay(1000);
}

GR-ADZUKI 特設