マルツTOP > APPLICATION LAB TOPページ おすすめ技術記事アーカイブス > ウェアラブルアプリケーション用の各種開発ボードとプロトタイピングボードの評価

ウェアラブルアプリケーション用の各種開発ボードとプロトタイピングボードの評価

著者 Clive "Max" Maxfield(クライブ・マックスフィールド) 氏
Digi-Keyの北米担当編集者 提供
2020-08-12

マルツ掲載日:2020-12-07


 オープンソースArduinoのコンセプトには、ホビイストやメイカーの間で見事な成功を収めている実績があります。また、プロの設計者も初期開発やプロトタイピングに活用しており、最近では本格的な設計にも採用されています。

 ウェアラブルや健康モニタリングなどのアプリケーションの出現により、どちらのタイプのユーザーも、これまで以上に小さい基板フォームファクタで高い性能とより多くの機能性を求めています。

 この記事では、低電力でスペースに制約のあるアプリケーションで、高い性能と機能を求めるメーカーや専門家のニーズに応えるために、Arduinoボードがどのように進化を遂げてきたかについて概説します。

 次に、Arduinoファミリの新製品、Seeed TechnologyのSeeeduino XIAOを紹介し、その使用方法について解説します。

ウェアラブル設計の要求に応じて進化したArduino

 多くのホビイストや設計者は、ウェアラブルなどの物理的に小さな製品の開発やスペースに制約のある環境での開発に関心を寄せています。その代表的なものはスマート電子システムで、多くの製品がマイクロコントローラをベースにセンサデバイスやディスプレイなどを組み合わせています。

 ある製品は「ハイテクジュエリー」としての機能を果たし、また別の製品は皮膚の近くや表面に着用し、体温、心拍数、動脈血酸素飽和度などの身体データや環境データを検出、分析、伝送します。製品によっては、着用するユーザーにバイオフィードバックを瞬時に提供します。

 このような設計のために、ホビイストやメイカーの多くが各種のArduinoマイクロコンピュータ開発ボードを使用しています。また、これらの開発ボードを評価プラットフォームやプロトタイピングプラットフォームとして活用し、IC、センサ、周辺機器の評価を迅速に行い、そのコストを削減しているエンジニアも増えています。

 通常、このようなユーザーは、「入門定番ボード」と謳われているArduino Uno Rev3から始めます(図1)。このボードは、Atmel(現Microchip Technology)のATMEGA328P-AURマイクロコントローラをベースにしています。

 5Vのプロセッサは、パルス幅変調(PWM)機能を持つ6つのピンを含む14のデジタル入力/出力(I/O)ピン、必要に応じてデジタルI/Oとしても使用できる6つのアナログ入力ピンを備えています。また、デジタルI/Oピン2と3で2つの外部割り込みをサポートし、UART、SPI、I2Cインターフェースをそれぞれ1つずつ備えています。


図1:動作速度16MHzの8ビットATmega328PマイクロコントローラをベースにしたArduino Uno Rev3開発ボード。デジタルI/Oピン×14、アナログ入力ピン×6、電源、グランド、リファレンスの各種ピンを備えたヘッダのフットプリントは、「シールド(Shield)」と呼ばれるドーターボードによる広範なエコシステムの基盤になる(画像提供:Arduino.cc)

 データバスが8ビット、クロックが16MHzという制約に加えて、32KBのフラッシュプログラムメモリと2KBのSRAMしか搭載していないArduino Uno開発ボードは、サイズが68.6×53.4mm(36.63cm2)であり、多くのアプリケーションには大きすぎます。

 マイクロプロセッサ開発ボードの物理フットプリントを小さくする1つの方法は、Arduino Nano Everyに移行することです。これは、AtmelのATMEGA4809-MURマイクロコントローラをベースにしています(図2)。

 Arduino Nano Everyは、Arduino Unoの1.5倍のプログラムメモリ(48KB)と3倍のSRAM(6KB)を備えています。Arduino Unoと同様に、Arduino Nano Everyは5Vのプロセッサをベースにしており、デジタルI/Oピン×14、必要に応じてデジタルI/Oとしても使用可能なアナログ入力ピン×6を備えています。

 またUnoと同様に、Nano EveryにはUART、SPI、I2Cインターフェースをそれぞれ1つずつ備えています。ただし、外部割り込みが2つだけのUnoと異なり、Nano Everyのデジタルピンはすべて外部割り込みとして使用できます。


図2:Arduino Nano Everyは従来のArduino Nanoの進化版で、強力なATMEGA4809プロセッサを備えており、プログラムメモリの容量はArduino Unoの1.5倍。またSRAM容量は3倍の6KBあるため、変数用のスペースが大幅に増加(画像提供:Arduino.cc)

 Arduino Nano Everyには8ビットデータバスという制約がありますが、クロックはより高速(20MHz)で、メモリもより大容量です(48KBのフラッシュ、6KBのSRAM)。サイズに制限があるプロジェクトにとってさらに重要なのは、Arduino Nano Everyがわずか45×18mm(8.1cm2)という寸法であることです。

 Arduinoの統合開発環境(IDE)を使用してプログラミング可能なもので広く使用されているもう1つの代替品は、SparkFun ElectronicsのDEV-13736 Teensy 3.2です(図3)。これは3.3Vの開発ボードで、さらに意欲的なI/O仕様が採用されており、PWMをサポートする12のピンを含むデジタルピン×34、高分解能アナログ入力ピン×21を備えています。


図3:Teensy 3.2は、ブレッドボードと相性の良い小型の開発ボードで、PRJC.comのPaul Stoffregen氏による設計。ユーザーフレンドリーで、ホビイスト、学生、エンジニア向けの低コスト32ビットArm Cortex-M4プラットフォーム(画像提供:PRJC.com)

 Teensy 3.2は、NXPのMK20DX256VMC7R Kinetis K20マイクロコントローラを搭載しています。K20には、動作速度72MHzの32ビットArm Cortex-M4プロセッサコア、256KBのフラッシュメモリと64KBのSRAMが内蔵されています。

 スペースに制約のあるプロジェクトにとって、Teensy 3.2の35×18mm(6.3cm2)という小さなサイズが特に注目されます。その大きさは、Arduino Nano Everyの約4分の3です。

Seeeduino XIAOの紹介

 Teensy 3.2はわずか6.3cm2のサイズですが、多くの応用次第ではまだ大きすぎます。さらに小型でより強力なプラットフォームを求めるユーザーに適したソリューションは、膨大なArduinoエコシステムの中にあります。

 比較的新しい選択肢の1つは、Seeed TechnologyのSeeeduino XIAOです(図4)。その寸法はわずか23.5×17.5mm(4.11cm2)、ほぼ郵便切手のサイズです。Seeeduino XIAOの設計者は、超低コストにもこだわっています。


図4:Seeeduinoファミリの中で最小のArduino互換マイクロコントローラ開発ボードとしてブレッドボードとも相性のよいSeeeduino XIAOは、プロセッサコアに動作速度48MHzの強力な32ビットArm Cortex-M0+を搭載。(画像提供:Seeed Studio)

 XIAOは、AtmelのATSAMD21G18A-MUTマイクロコントローラを搭載しています。このマイクロコントローラは、動作速度48MHzの32ビットArm Cortex-M0+プロセッサコアを搭載しており、256KBのフラッシュメモリと64KBのSRAMによりサポートされます。

 XIAOは11のデータピンしか備えていませんが、それぞれのピンをデジタルI/Oやアナログ入力として使用できます(図5)。10のピンがPWMをサポートし、1つがD/Aコンバータ(DAC)を備えており真のアナログ出力として機能します。さらにXIAOは、UART、SPI、I2Cインターフェースを1つずつサポートします。


図5:データピン×11のすべてがデジタルI/O(D0~D10)やアナログ入力(A0~A10)として機能する。さらに、A0は真のアナログ出力として、D4とD5はI2Cインターフェースとして、D6とD7はUARTインターフェースとして使用可能。D8、D9、D10はSPIインターフェースとして機能する。(画像提供:Seeed Studio)

Seeeduino XIAOの導入と使用

 一般的に言って、Seeeduino XIAOを使用するのは、ArduinoやArduino互換の他の開発ボードを使用するのと同じくらい簡単ですが、いくつかのヒントとコツを押さえておくと便利です。

 まず始めに、使用するArduino IDEが最新バージョンであることを確認しましょう。次にSeeeduino XIAO Wikiにアクセスし、適切なボードマネージャを使用してArduino IDEを拡張する手順について調べます。

 多くのSeeeduino XIAOプロジェクト(ウェアラブルなど)には、WS2818をベースにするAdafruitの3色NeoPixel、たとえば1mに144個のNeoPixelを備えた2970ストリップなどが使用されます(図6)。


図6:Seeeduino XIAOの1つのピンを使用して、Adafruitのストリップ(黒)1mあたりにNeoPixelを144個含むような、数百個の3色NeoPixelを別々に制御可能(画像提供:Adafruit.com)

 想定される問題の1つは、Seeeduino XIAOはAdafruit NeoPixelライブラリの最新の最上位バージョンが必要になる可能性があります。従来のArduino開発ボードは旧バージョンのAdafruit NeoPixelライブラリでも使用できます。

 もし、旧バージョンのNeoPixelライブラリがインストールされていると、わかりにくくてややこしいエラーメッセージが表示される場合があります。これを解決するには、旧バージョンのライブラリをシステムからすべて削除し、AdafruitのNeoPixelガイドの指示に従って、最新の最上位バージョンをインストールします。

 もう1つ懸念されるのは、NeoPixelがデータピンのオーバーシュートやアンダーシュートに敏感なことです。問題は、最新のマイクロコントローラからの信号の高速なエッジレートがそのような特性の原因になり得ることです。

 これを解決するには、NeoPixelチェーンの最初のエレメントに可能な限り近づけて直列抵抗器を追加します(図7)。適切な例には、許容差5%、1/4W、390Ωの抵抗器、たとえばStackpole Electronics Inc.のCF14JT390R 炭素皮膜抵抗器などがあります。


図7:チェーンの最初のNeoPixelに可能な限り近づけて直列抵抗を配置することで、MCUデータストリームのエッジでのオーバーシュートとアンダーシュートが排除可能(画像提供:マックス・マックスフィールド氏)

 NeoPixelに関連するもう1つの問題は、Seeeduino XIAOの3.3Vデジタル出力では、NeoPixelの5Vデータ入力を駆動するには不十分となる可能性があることです。1つの解決策として、SparkFunのBOB-12009ロジックレベルコンバータブレイクアウトボードを使用する方法があります(図8)。


図8:4つの双方向チャンネルを備えて、3.3Vと5Vドメイン間での信号変換に使用できるSparkFunのBOB-12009ロジックレベルコンバータ(画像提供:Adafruit.com)

 NeoPixelアプリケーションに必要なのは、単一の一方向チャンネルのみです。BOB-12009の問題は、4つの双方向チャネルを備えていることです。スペースに制約のあるプロジェクトには少し大きすぎるソリューションとなり、コスト重視のプロジェクトには割高なソリューションとなります。簡単な代替策として、Comchip Technologyの1N4001ダイオード1個を使用する方法があります(図9)。


図9:0.7Vの電圧降下を得るように1N4001ダイオード1個を使用し、NeoPixel1個を「犠牲にして」電圧レベルコンバータの役割を果たすように強制する。(画像提供:マックス・マックスフィールド氏)

 NeoPixelでは、ロジック1が0.7×VCCを上回ると見なされていします。この例では、NeoPixelはロジック1を0.7×5=3.5Vと見なしています。

 0.7Vの順方向電圧降下をともなうIN4001ダイオードを介して「犠牲となる」ピクセルに電力を供給すると、5-0.7=4.3V VCCで電力が供給されることになり、ロジック1を0.7×4.3=3.01Vと見なします。

 つまり、Seeeduino XIAOからの3.3V信号には、犠牲となるピクセルを駆動する以上の能力があることになります。同時に、犠牲となるピクセルからの4.3V出力は、チェーン内で次のNeoPixelへのデータ入力を駆動するのには十分すぎるほどになります。

結論

 16MHz駆動の8ビットArduino Unoのような初期のArduino開発ボードは、サイズが物理的に大きい上に容量と性能の面でも制約がありました。現在のArduinoエコシステムには、幅広い形状、サイズ、機能を含むきわめて多様なボードが用意されています。

 ウェアラブルなどのサイズに制約のあるプロジェクト向けには、Seeeduino XIAOに搭載されている48MHz駆動の32ビットArm-Cortex-M0+プロセッサコア、256KBのフラッシュメモリと64KBのSRAMがそのニーズに応えます。

 これらすべての要素がわずか4.11cm2の小型プラットフォームに収まっており、ブレッドボードとも相性が良く、幅広いエコシステムによってサポートされています。



免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

 

このページのコンテンツはDigi-Key社より提供されています。
英文でのオリジナルのコンテンツはDigi-Keyサイトでご確認いただけます。
   


Digi-Key社の全製品は 1個からマルツオンラインで購入できます

※製品カテゴリー総一覧はこちら



ODM、OEM、EMSで定期購入や量産をご検討のお客様へ【価格交渉OK】

毎月一定額をご購入予定のお客様や量産部品としてご検討されているお客様には、マルツ特別価格にてDigi-Key社製品を供給いたします。
条件に応じて、マルツオンライン表示価格よりもお安い価格をご提示できる場合がございます。
是非一度、マルツエレックにお見積もりをご用命ください。


ページトップへ