United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

Raspberry PiのためのモータドライバボードGertbotをレビュー

title

新登場のRaspberry Piロボティクス用ボードのハードウェア性能とソフトウェアサポートを検証!

GERTBOTを今すぐ購入

Raspberry Piは、たくさんのGPIO(汎用入出力)ピンをもったとても人気のある手のひらサイズのコンピュータですが、この拡張性の高さがフィジカルコンピューティングプロジェクトの開発プラットフォームとして理想的なものとしています。これらのピンは、少ない電流のアプリケーションに向いており、ほとんどのピンは3.3Vで最大50mAの供給となっています。もっと多くのパワーを利用する、モータの駆動などには、追加のハードウェアが必要です。

Gertbotは、Rasberry Pi用のアドオン・モジュールでGPIOに直接、接続できます。モータの駆動を最大の目的として設計され、搭載された4つのHブリッジにより、4つのDCモータ(最大30V2.5A)か、2つのステッピングモータのモータ駆動を行えるようになっています。さらに必要に応じて、最大4つのGertbotをRaspberry Piに接続して、より大きな出力を得ることも可能です。

加えて、GPIOには2つのDAコンバータ、4つのADコンバータ、2つのオープンドレイン出力があります。これにより、ポテンショメータ、圧力センサ、可動コイルメータなどアナログ入出力のデバイスをRaspberry Piに接続することができます。

ボードには、64MHzで動作するCortex-M3 ARMマイクロコントローラが搭載されており、プリプログラムされたファームウェアにより信号のタイミングの制御とPWMの生成を行うことで、Raspberry Piで特別なリアルタイムOSを動作させる必要がありません。

熱・短絡保護の他に、緊急停止やモータ障害によるシステム停止などの際のため、ARMマイクロコントローラ上で動作しRaspberry Piからの高レベル命令として呼び出すことのできるセーフガードが予め備わっています。

この記事では、Raspberry PiにGertbotを接続して、簡単なDCモータの駆動とARMマイクロコントローラのファームウェアアップデートを行ってみます。

Getting Started

title

次のハードウェアを使用しました:

  • 最新のRaspbianがインストールされたRaspberry Pi 2

  • Gertbot

  • DCブラシモータ

  • 12V電源

Gertbotに関するたくさんのドキュメントが用意されており、メインのマニュアルには、chapter 0: 'I want to use it NOW!'からソフトウェアコマンドに関するより詳しい情報やHブリッジがどのように動作するかといったハードウェアの基礎に関する情報まで掲載されています。

最低限、GertbotとRaspberry Piを接続し電源を入れる前に、最初のチャプターを読んで、エレクトロニクスの理解を深めておくことをおすすめします。

30Vまで対応はしていますが、18V以上を利用する時はGertbotボード上にも危険な電圧が現れます。詳しくは、Gertbotのドキュメントをよくお読みください。

title

Gertbotの取付けはとても簡単で、Raspberry PiのGPIOピンに大きな黒いコネクタを差し込むだけです。GPIOが多くなった新しいバージョンのRaspberry Piを利用するとき、ずれないように注意して、取り付けるようにしてください(上の写真。)。

title

DCモータをプレートに取付け、モータと12Vの電源を上の図の指示のようにGertbotと接続します。Raspberry Piは、異なるコンピュータからSSHによってログインする前に、ネットワークに接続、起動をしてください。

ソフトウェア

title

ターミナルに表示されているようなGertbotの接続に必要なソフトウェアをダウンロードします。

  • gertbot_exe_2.6.tgz – システム向けGUI

  • enable_uart_exe.tgz –Raspberry Pi上のUARTを利用するための実行ファイル

これらのファイルはこちらこちらからダウンロードしました。GUIは、プログラミングすることなしにGertbotと接続されたモータを制御するためのインターフェースとなります。これは、プログラムコードを心配することなくハードウェアのテストをするのに大変便利です。使用前に、Raspberry PiでUARTを有効にしておく必要があります。有効にするには、enable_uart実行ファイルを利用します。

$ sudo ./enable_uart cfr

title

Raspberry Piの準備が出来たら再起動し、GUIを実行します。

$ ./gertbot

グラフィカルな画面が表示され、Logにチェックを入れると、ウインドウが開き、見つかったRaspberry Piに接続されたバージョン2.3のGertbotボードが表示されます。画面では、ドロップダウンメニューからモータの構成を選び、接続されたモータの回転をスタート/ストップをボタンで切り替えられます。Logの画面には、Raspberry PiからGertbotに送られたシリアルコマンドが表示されます。

title

モータの制御で最も大変な部分はすでにボードにあるプログラムによって行うことができるのが、Gertbotの優れている点の1つです。ローレベルのモータ制御の実装に時間を費やすことなく、PythonやCでプログラミングする前に同じコマンドをGUIを通してテストすることができます。

ファームウェアを更新する

title

バグの修正と新しい機能が追加されたGertbotのファームウェアがダウンロードできるようになっています。この記事を書いている時点での最新バージョンは2.6で、ボードに入っていたバージョン2.3よりもいくらかの修正が加えられたものです。Gertbotをアップデートするには、次のファイルをダウンロードして下さい。

  • gb_upload_exe.tgz – Gertbotマイクロコントローラに新しいファームウェアをアップロードするための実行ファイル

  • rmc_2.6.crypt – Gertbotマイクロコントローラの最新バージョンのファームウェア

手順を間違えるとボードが使えなくなる可能性があるという恐ろしい警告が出ていましたが、アドバンスドマニュアルにしたがって、無事アップロードがうまくいきました。新しいファームウェアがGertbotにアップロードされたあとは、システムを再起動して、GUIのLog画面で新しいバージョンが動いているか確認します。

title

必要な場合、独自のファームウェアをGertbot上で実行することが可能です。それにはAteml JTAGデバッガを使用しますが、この記事の範囲を超えてしまうので解説はしません。詳しくは、アドバンスドマニュアルを御覧ください。

Pythonによるコントロール

title

GertbotのためのドライバライブラリはC/C++とPython向けのものがGertbotウェブサイトからダウンロードできます。サンプルコードも同じくダウンロード可能です。今回、Simple RoverというPython用のサンプルをダウンロードしたので、コードをみていきましょう。

このPythonのサンプルコードは、よくコメントが付けられているために簡単に理解し修正できます。2つのモータを持つローバーを想定しており、キーボードによる方向制御も含まれています。このファイルを使って、ボードの番号を0、左モータを0として、'development environment'変数セクションをコメントアウトして、'rover'変数セクションを利用し、モータ制御のテストをすることができました。

Gertbotのサンプルを正しく動作させるには、Python2ではなくPython3を使わなければいけません。

$ python3 rover.py

title

プログラムでは、キーボードの数字キーパッドを使ってユーザがモータをコントロールできるようになっています。今やっているように、モータがひとつしか繋がれていない場合、すべての命令で何かモータの回転が起こるわけではないことに注意してください。

まとめ

Gertbotは、ハードウェアの煩わしさを最小限にしながら、Raspberry Piをモータに接続する手軽な方法を提供しています。この記事では、1つのDCモータしか接続していませんが、最大で4つのDCモータか2つのステッピングモータを接続することができ、出力が必要なときは最大4枚のGertbotボードを接続できるボードです。さらに、Gertbotは、LED照明などほかのハイパワーデバイスにも使うことができます。

ドキュメンテーションは一部ではまだ洗練されたものになっていませんが、全体的にはクイックスタートガイドから、複数のGertbotをカスケード接続したり、Hブリッジを高出力とするために組み合わせるなどの高度な機能の説明まで多くの説明がカバーされています。

実行ファイルのソフトウェアはGertbotをとっつきやすいものにしている一方、サンプルコードにはより詳しい、どのように高負荷を制御するかといった説明まで用意されています。

GertbotをRaspberry Piと使いたくない場合は、スタンドアロンの利用も可能で、他のコンピュータともシリアルポートで接続できます。これにより、より幅広いフィジカルコンピューティングの選択肢を提供します。

このプロジェクトに必要なものはこちらからご購入いただけます。

RASPBERRY PI 2 MODEL B

GERTBOT

DCブラシモータ