ピックワールド(PIC World)

Arduino のアーキテクチャ

Arduino(アルドゥイーノ)は、AVRマイコン入出力ポートを備えた基板、C言語風のArduino言語とそれの統合開発環境から構成されるシステムです。Arduino はスタンドアロン型のインタラクティブデバイス開発だけでなく、ホストコンピュータ上のソフトウェア(例えば、Adobe FlashProcessingMax/MSPPure DataSuperCollider)で制御することもできます。組み立て済みの基板を購入することもできるが、オープンソースハードウェアであり、ハードウェア設計情報のEAGLEファイルは無料で公開されており、誰でも自分の手で Arduino を組み立てることもできます。

Arduinoプロジェクトは2005年にイタリアで始まり、当時入手可能であった他の学生向けのロボット製造用コントロールデバイスよりも安価なプロトタイピング・システムを製造することを目的にスタートしました。設計グループは多くの競合製品よりも遥かに安価で簡単に使用できるプラットフォームの開発に成功しました。

ハードウェア

Arduino Duemilanove

Arduino 基板上には、Atmel AVR マイクロコントローラ(ATmega8, ATmega168, ATmega328P, ATMega644P, ATmega1280)を中心とした回路がある。少なくとも5Vシリーズレギュレータと16MHz水晶振動子(またはセラミック発振子)が含まれる。マイクロコントローラにはブートローダが事前にプログラムされている。

概念レベルでは、RS-232シリアル接続でプログラムされるが、ハードウェアの実装はバージョンによって異なる。シリアルArduino基板には、RS-232レベルの信号をTTLレベルの信号に変換する単純な回路が含まれる。Arduinoのほとんどの現行モデルはUSB経由でプログラムされるため、USB-to-serial アダプタチップ(FTDI FT232RLなど)が表面実装され、USB BタイプかミニBタイプの端子が付いている。Arduino Mini や非公式の Boarduino といった基板では、ホストコンピューターとの接続を基板外の USB-to-serial アダプタやケーブルに任せている。

Arduino 基板はマイクロコントローラーのI/Oピンのほとんどを他の回路で使えるようにそのまま解放している。Arduinoの主要モデル(現在はUno)では、14本のデジタルI/Oピンが利用可能で、そのうち6本はパルス幅変調信号を生成でき、他に6本のアナログ入力がある。これらのピンは基板の一方の端にあるコネクターに集約されている。ここに接続するシールドと呼ばれる応用基板も発売されている。

Arduino Duemilanoveの後継機、Arduino UnoではFTDIを使わずAVRマイコンにUSBシリアル変換機能を搭載し、このマイコンにプログラムすることで様々なUSBデバイスとして動作させることが出来るようになった。

ソフトウェア

Arduino IDE

Arduinoの統合開発環境クロスプラットフォームJavaアプリケーションであり、エディター、コンパイラー、基板へのファームウェア転送機能などを含む。その内部ではC言語のコンパイラーgccやアップロードプログラムavrdudeが使用されている。

開発環境は Processing ベースで、ソフトウェア開発に不慣れなアーティストでも容易にプログラミングできるよう設計されている。プログラミング言語は Wiring から派生したもので、C言語風の構文で制限の多い基板向けに最適化されている。Arduinoではプログラムをスケッチと呼ぶ。

オリジナルのArduinoハードウェアのバージョン

Arduino NG

Arduino Diecimila

オリジナルのArduinoハードウェアは Smart Projects が製造している。

これまでに商用製品として製造されたArduinoハードウェアには、17のバージョンがある[8]

  1. Serial Arduino – DB9シリアルインタフェース装 備。ATmega8使用。完成品の販売はなくキットとしてPCBが売られている。Original ArduinoはMassimo BanziとDavid Cuartiellesの二人によって設計されたArduino Serial v1.0である。Gianluca MartinoとDavid Mellisも開発に加わったAruino Serial v2.0から派生したArduino Single-Sided Serial v2 (Arduino S3V2)も基本設計は全く同じで、他にTom Igoeが デザインしたAruino Serial v2.0aとAdilson Akashiによってデザインされた自動リセット機能を搭載したArduino S3V3 (Severino) がある。RS232CレベルからTTLレベルへは2つのトランジスタ、BC547(NPN,CBE)とBC577(PNP,CBE)を使ってレベルシフト 変換している。同等品にはFreeduino v1を含め多くのクローンが作られたが、Freeduino v2などではMAX232を使用して部品点数を減らし安価にする方向で開発されている。
  2. Arduino Extreme – USBインタフェース装備(FTDI FT232BM)。ATmega8使用。もともとあったAruino USBというキットを完成品として売り出したもので、Arduino USB v1及びv2と基本設計は同じでMassimo Banzi, David Cuartielles, Gianluca Martino, David Mellisの四人による。大きな違いは表面実装パーツを使い始めたことである。Arduino Extreme v2からAruinoシリーズの特徴であるgridded ground planeが採用された。Aruino USBにはなかった特殊な端子がArduino Extreme v1には用意されている。Arduino Extreme v2から以降のUSBモデルでも共通の”x3″というラベルの付いたFT232BMへのアクセス用端子に変更された。この端子を使用することで FT232BMのBit-bang modeが利用出来るが、GPL v2ライセンスではバイナリーコードを含むことを認めていないため、この機能はAruinoの標準機能ではない。
  3. Arduino Mini – 小型版。ATmega168使用。スケッチのアップロードにArduino miniUSBが必要。ブレッドボードに接続することができる。最初期のモデルは02型でStamp02のラベルがある。03型では02型と比べて通信ピ ンの横にデジタル7番ピンが追加されている。03型と04型ではGNDピンの位置が異なる。04型ではリセットピンが追加されている。
  4. Arduino Nano – 小型版。自動リセット機能搭載。USBインタフェース(ミニBコネクタ)を装備。表面実装されたATmega168使用のものとATmega328使用の ものがある。ブレッドボードに接続することができる。Aruino Nano v1及びv2では三層構造の基板が使用されていたがv3では両面基板になったことでパターンを追えるようになった。v3からATmega328に変更され た。米国Gravitech社が、Arduinoの名称使用の許諾を得て製造。
  5. LilyPad Arduino – 表面実装されたATmega168V使用のものとATmega328V使用のものがある。ウェアラブルな用途に特化した最小の構成。初期モデル(00型か ら02型)では自動リセット機能が無かったが、改良型(03型以降)では自動リセット機能を搭載している。その為、通信用のピンの数も従来の4ピンから6 ピンに増えた。スケッチのアップロードにUSB TTL-232ケーブルなどの3.3V対応品が必要だが、前述の理由により初期モデルと改良型では使用するUSB TTL-232ケーブルが異なる。04型からATmega328Vに変更された。設計と開発は、MITのLeah BuechleyとSparkFun Electronics社による。
  6. Arduino NG – USBインタフェースを装備。ATmega8使用。NGの名称は”Nuova Generazione”を意味する。従来使用されていたFT232BMからFT232RLに変更したことに伴い外部パーツの部品点数を減らすことに成功 したモデル。13番ピンにLEDが追加されSPI通信を視覚化した最初のモデルでもある。rev. Cでは13番ピンのLEDが後付けするようになっていた。基板に記載される開発チームメンバーにTom Igoeが加わった。
  7. Arduino NG plus – USBインタフェースを装備。ATmega168使用。Arduino NGとの違いはATmega168に変わったこと、及び13番ピンのLEDが再び装着された状態で販売されたことである。
  8. Arduino BTBluetoothイ ンタフェースを装備。ATmega168使用。Arduino NGをベースにATmega168とBluetoothモジュールのBluegiga WT11, iWrapバージョンを搭載した。ステップアップDC-DCコンバータ MAX1676によってTTLレベルの5Vを供給し、Bluetoothモジュールで使用する3.3Vは三端子レギュレータ MC33269D-3.0によって供給する。入力電圧は1.2V~5.5Vである。通信速度は115200 baud に固定されている。Bluetoothモジュールの初期設定は、名前が”ARDUINOBT”でパスワードが”12345″である。このモデルは電波法に より日本国内での使用が禁じられている。
  9. Arduino Diecimila – USBインタフェースを装備。ATmega168使用。自動リセット機能搭載。Diecimilaの名称は10,000を意味する。低消費電力化を目指し て従来の三端子レギュレータ7805を変更してMC33269D-5.0とMC33269ST-5.0T3を採用した。初めてリセッタブル・ポリヒューズ が採用されUSB端子への保護回路となっている。3.3VやAREFポートが搭載されたのもこのモデルからである。
  10. Arduino Duemilanove – Diecimilaの後継。電源自動選択機能を搭載。自動リセット機能搭載。ATmega168使用のものとATmega328P使用のものがある。Duemilanoveの名称は2009を意味する。電源自動選択機能の為にPチャンネルMOSFET NDT2955や単電源タイプのオペアンプ LM358Dなどが追加され部品点数が増えた。Diecimilaでは搭載されていたMC33269ST-5.0T3が削除されている。従来のシンプルなモデルからやや回路が複雑化した意欲作。
  11. Arduino Mega – 表面実装されたATmega1280を使用。 I/Oピンが52個に増え、 メモリサイズが大きくなった。また、使用可能な割り込みが8個になり、従来の製品ラインから大きく進歩している。電源自動選択機能を搭載。自動リセット機 能搭載。電源自動選択機能にPチャンネルMOSFET FDN340Pが追加された。Duemilanoveでは削除されていたMC33269ST-5.0T3が再び搭載されている。
  12. Arduino Uno – 従来のDuemilanoveと同じATmega328を使用しているが、シリアルコンバーターにはあらかじめプログラムされたATmega8U2を使用している点がFTDIのチップを使用していた従来のモデルと異なっている。
  13. Arduino Mega 2560 – 表面実装されたATmega2560を使用し、Flash メモリサイズは256kBになった。Unoと同様に、シリアルコンバーターにはあらかじめプログラムされたATmega8U2を使用している。
  14. Arduino Ethernet – Arduino UNOに、Wiznet社製 “W5100” チップを加えてイーサネット接続機能を統合したモデル。
  15. Arduino Mega ADK for Android – ATmega2560をベースモデルとして、”MAX3421e” チップを追加してAndroid OSを搭載した携帯電話との接続機能を統合したモデル。Ardduino UNO同様に “ATmega8U2” チップをシリアルコンバーターとして使用している。
  16. Arduino Leonardo – ATmega32U4を使用したArduino UNOの廉価版。従来搭載していたFT232RLが無くなっている。2012年6月発売開始。
  17. Arduino Due – 32ビットの Atmel SAM3X8E (Cortex-M3, 84MHz) を使用したArduino Mega2560 フォームファクターの発展モデル。Flash 512KB, SRAM 96KB。2012年10月22日発売開始。

(出典:Wikipedia)

インフォメーション

この記事は 2013年04月10日 に以下のカテゴリに投稿されました .

最近の投稿

最近のコメント

アーカイブ