BluePill(STM32MINI)をLabVIEWから使用したい

最終更新日:2020年11月26日




BluePillという名称で流通しているマイコンボードが有ります。とても安価で200円程度で販売されているお店もあります。このボードを使用して、LabVIEW等からLAN経由で制御出来るようにして使いたい というのが今回の課題です。

まずBluePillについてです。
STマイクロシステムズの提供するMPU:STM32F103C8T6を乗せたボードで、SolderMask色が青色であることからそう呼ばれているようです。
製造元メーカが不定です。ということで、正直使いづらいです。問い合わせも出来ませんし。
オリジナルの回路である、ボストンLeafLabs社のMaple Miniは既に販売していません。しかし、LeafLabs社は開発環境も提供していました。この開発環境がArduinoIDEに移植され、現在ではSTM32duinoとして、ArduinoIDEで扱えます。このことで、AVRに比べ高機能で安価なSTM32がリーズナブルに扱えるようになりました。

安定して入手出来るメーカモデルを探したところ、RobotDyn社がオフィシャルサイトで提供しているSTM32MINIがリーズナブルだという事が確認出来ました。Arduino用のbootloaderが予め書き込まれているため、USB接続でArduinoIDEと接続して使えます。BluePillの場合、自分でbootloaderを書き込まないとUSB接続でArduinoIDEと接続出来ません。また、価格も$3.89です。Arduino Microの$19.80と比べても遙かに安価であることが判ります。

当然LabVIEWからも気楽に使えるデバイスとして準備したいと思いました。
シリアル接続でボードと通信することも当然出来ますが、やはりLAN経由で使うのがIoTバリでいいです。


当初は手組み基板でデバッグしていたのですが、いろいろな機能を組み替えることをする上で、手組みでは時間が掛かりすぎると判断しました。
そこで、汎用のshieldボードを作ってみようと思い立った次第です。EAGLE(AutoCAD)の勉強も兼ねています。
※数年前からEAGLEを習得したいと思っていました。Fritzingではガバーデータ作成が出来ません。KiCADはUIが直感的なのでいいのですが、部品ライブラリがEAGLEに比べ少ないですし、自動配線機能がないので気が遠くなりました。操作性に問題があるとか、無償で使える基板サイズが小さいとかいろいろな制限はあってもユーザが多く情報取得も容易で、自動配線機能が使えるEAGLEは優位性が有ると思っています。また、業者によってはEAGLEのプロジェクトのまま受け付けるとか、EAGLEに配線ルール等の情報を提供している業者があり、選択業者次第では一択となってしまいます。

汎用のshieldボードのコンセプトはBluePill用EtherNetshieldです。極力BluePillのIOピンはすべて利用できるモノにしたいと思いました。結果として設計したボードがこのボードです。

BluePillとWIZ850ioを実装して、USB端子から電源供給(500mA以上)ができれば動くモノを想定してます。BluePillからは3.3Vが180mA供給可能だとして、WIZ850ioは駆動可能だとしています。USBから500mA供給されないととても不安定です。USB3.0のポートは900mAの供給もサポートしています。

BluePillだとボード幅がちょっと広いため、引き出しておいたPINHOLEが使いづらいですが、RobotDynのSTM32MINIであればすべてのピンを使う事が可能です。
ちなみにブレッドボードで組むとBasicな配線がこんな感じになります。ブレッドボードサイズで収められそうだと云う事もこの時点で感じました。

I2Cに割り当てているPB6/PB7についてはPullUp10KΩを接続しておく必要があります。I2Cが接続されているかどうかの判断をするだけでも外部PullUp抵抗がないとプログラムが止まってしまいます。

I2C_ModuleにおいてSTM32duinoで利用できるライブラリを調査しておく必要があります。基本殆ど使えるはずなのですが。。。
物理的に使えるかどうかという問題はあります。Vcc=5V、IOも5Vというモジュールは避けるべきだと思います。基本VccもIOも3.3V仕様を選ぶべきです。
※I2CモジュールGYのPINアサインに評価ボードのアサインを合わせている関係でこのモジュールを中心に検討しています。
具体的には 1:Vcc,2:GND,3:SCL,4:SDAです。

  モジュール名 Chip名 利用ライブラリ
温度センサ GY-21 HTU21D Adafruit_HTU21DF
湿度センサ GY-21 HTU21D Adafruit_HTU21DF
照度センサ GY2561 TSL2561 SparkFunTSL2561
照度センサ GY-30 BH1750 このモジュールのpinアサインは不適です。
照度センサ GY-302 BH1750  
気圧センサ GY-68 BMP085  
ジャイロセンサ GY-521 MPU6050  
周囲光検出 GY-9960 APDS-9960  
色彩認識センサー GY-31 TCS3200 このモジュールのpinアサインは不適です。
UV 検出センサ GY-8511 VEML6075 このモジュールのpinアサインは不適です。
照度センサ GY-49 MAX44009 https://www.arduinolibraries.info/libraries/max44009-library
普通に動きます。
加速度センサー GY-61 ADXL335 このモジュールのpinアサインは不適です。


オブジェクト自体はベクター殿のストレージをお借りしています。

https://www.vector.co.jp/vpack/browse/person/an051501.html


製作物に戻る


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。