VagabondWorksTitle
  当Blogは個人の趣味等に関するものです。Vagabond Worksは実在の企業、組織ではありません。
  著作権等は放棄していません。文章や写真、動画の無断盗用、転用はお断りします。


bCore
2015.7-8

B5
2015.8-

uLCX2 BLE
2015.6

uLCX2
2012.4

LCXX
2011.7-2012.4

uLCX
2011.1-11

LCX
2009.12-10.10
 
AAF Memoir
1997-2003?
 
ICD/HCM
2014-
 青:現在アクティブなプロジェクト 赤:現在販売中のアイテム 黒:終了したプロジェクト
 bCoreの技術情報目的で来られた方はこちらへ⇒bCore技術情報ページ

bCore販売情報 (仮) 準備中

この記事を閲覧するにはパスワードが必要です
パスワード入力
  1. 2015/08/21(金) 04:03:43|
  2. 販売情報

bCoreとは?

bCoreってなに?

uLCX2 BLEの開発を経て開発された、汎用多目的超小型リモコンロボットコアユニットが bCore です。
技適対応のBLEモジュール(BLE113 )と周辺回路を組み込んだ超小型基板にファームウェアを焼きこんだ bCore と、iOS上で動くアプリケーションソフト bDriver を用いることで、誰もが簡単にiPhoneなどからコントロールできる超小型ロボットを製作できることを目的としています。
ファームは既に焼かれているので、ユーザーはラジコンサーボとモーターと電池をbCoreに繋ぎ、スチロール素材や木材、3Dプリンタなど、好みの方法でロボットのガワを制作するだけで自由に自分のロボットを開発することができます。
技適、FCC、CE対応のBLEモジュールをしようしているため、日本、アメリカ、EU各国での使用が可能です。



bCoreで何ができるの?


・4つのラジコンサーボをiPhoneなどから操作することで、ロボットの関節をコントロール
・2つのモーターの速度を疑似的にiPhoneなどから操作することで、ロボットの車輪をコントロール
・1つのポートのオン/オフをiPhoneなどから操作することで、ロボットに取り付けたLEDの点灯/消灯をコントロール
・ロボットの電池電圧をiPhoneなどから確認






bCoreはどこで買えるの?

8月末の販売開始を目標に準備中です。

bCoreの仕様

外形サイズ:27.0mm x 18.6mm x 6.3mm(コネクタ部)
電源入力電圧:3.0V~5.5V
内部ロジック電圧:2.1V
PortOut:1ch
ラジコンサーボ:4ch
DCモーター:2ch

bCoreのコネクタ配置とピン配置

CON1:電源
 ①電源+入力(3.0~5.5V)
 ②電源-入力(GND)
CON2:出力ポートch1
 ①出力ポートch0(H:2.1V/L:0.0V)
 ②GND
CON3:モーターch1
 ①モーターch1+
 ②モーターch1 -
CON4:モーターch2
 ①モーターch2+
 ②モーターch2 -
CON5:ラジコンサーボch01
 ①制御信号線(H:3.0~5.5V/L:0.0V)
 ②電源+(3.0~5.5V)
 ③GND
CON6:ラジコンサーボch2
 ①制御信号線(H:3.0~5.5V/L:0.0V)
 ②電源+(3.0~5.5V)
 ③GND
CON7:ラジコンサーボch3
 ①制御信号線(H:3.0~5.5V/L:0.0V)
 ②電源+(3.0~5.5V)
 ③GND
CON8:ラジコンサーボch4
 ①制御信号線(H:3.0~5.5V/L:0.0V)
 ②電源+(3.0~5.5V)
 ③GND



bCoreをiOSデバイスから操作するアプリ bDriver

 App Storeで bDriver をダウンロード(無料)すると、iOSデバイス(iPhone, iPod touch, iPadなど)からbCoreをコントロールできます。
詳しくは ⇒bDriverとは? を参照のこと。

bCoreの起動と接続時/非接続時の状態について

bCoreモジュールは、電源投入後約0.5秒でファームウェアが起動します。
正常に起動した場合、待機モードとなりモジュール上のLED(赤)が毎秒1回点滅をします。この状態では、出力ポートはLレベル固定、ラジコンサーボは原点位置ホールド、モーターは停止状態になります。
bDriverなど、BLEセントラルデバイスから接続された場合、モジュール上のLED(赤)は高速に点滅します。この状態では、出力ポート、ラジコンサーボ、モーターの各機能はBLEセントラルデバイスからの指示に従って制御されます。通信が遮断した場合、待機モードに強制的に復帰します。

bCoreの電源

bCoreの電源接続コネクタは、1.25mmピッチの2ピンコネクタ(Molex Pico Blade)で、入力可能な最大電圧は5.5Vとなっています。
アルカリ乾電池3本直列(4.5V)、LiPo電池1セル直列(3.6V)、LiFe電池1セル直列(3.3V)、カメラ用リチウム電池1本直列(3.0V)などが利用できます。ラジコンサーボやモーター駆動をするため、ある程度電流放出能力のある電池が必要になります。そのためボタン電池は使うことはできません。
なお、ラジコンサーボやモーターを繋がない場合は2.3V程度の電源での使用が可能です。

bCoreの接続可能なラジコンサーボ

bCoreのラジコンサーボ接続コネクタは、1.25mmピッチの3ピンコネクタ(Molex Pico Blade)です。
ホビーキング製ラジコンサーボ
 HK-282A Ultra-Micro Servo 2g / 0.2kg / 0.08sec
 HK-5330 Ultra-Micro Digital Servo 1.9g / 0.04sec / 0.17kg
 HK15318B Low Voltage Micro Servo 2.2g/11kg/.08sec
などが、電源電圧3Vで利用でき、コネクタを直接接続できます。
一般的な2.54mmピッチのラジコンサーボは、変換コネクタを使うことで接続可能となります。ただし、一般的なラジコンサーボの場合は電源電圧が5V程度必要なため接続する電源に注意が必要です。5.5Vを超える電源電圧を必要とするラジコンサーボは使用することができません。

bCoreの接続可能なモーター

bCoreのモーター接続コネクタは、1.25mmピッチの2ピンコネクタ(Molex Pico Blade)です。コネクタの許容電流は1.0Aとなっています。bCoreに使用されているモータードライバはTI製のDRV8838で、1.8Aまでの電流駆動を許容しています。従って、マブチモーターなどの小型DCモーターを使用できます。ミニ四駆に使用される、ハイパーダッシュモーターなどは許容範囲を大幅に超えるため絶対に使用しないでください。

bCoreの接続可能なLED

bCoreのポート出力接続コネクタは、1.25mmピッチの2ピンコネクタ(Molex Pico Blade)です。bCoreの内部ロジック電源はVcc=2.1Vとなっており、ポート出力の電圧レベルも、2.1V(On)/0.0V(Off)となります。また、ポートの許容電流は20mAとなっています。そのため、LEDを直結して点灯する場合には電圧降下(Vf)の小さなLEDを選択し、適切な電流制限抵抗を選択して電流値を20mA以下にする必要があります。Vfの大きな白色LEDや青LEDを使用する場合、電流量の多い超高輝度LEDを使用する場合には、外部FETを用いて駆動する必要があります。

bCoreのロゴ

bLogo.png
Bluetoothロゴを羽根と触角に、Coreの頭文字の"c"を隊幹部に見立てた 青い蜂 ルリモンハナバチ がモチーフになっています。
ルリモンハナバチは、珍しい青い蜂で、自身では巣を作らず、他の蜂の巣に労働寄生するという特徴をもっています。
bCoreのシステムも、BLEデバイスと、iOSアプリケーションという生態系に寄生することで存在できています。



bCoreの回路図

⇒bCore(Ver. 1.00)の回路図

bCoreのファームウェアバージョン

F1.01 (2015/08/21) マイクロサーボの発振対策
F1.00 (2015/0725) 初期リリース
※ファームウェアバージョンは、BLEのテストアプリケーション(LightBlueなど)で、Dee Information ServiceのFmware Reision Stringを読み出すことで確認可能です。

bCoreのBLEペリフェラル仕様

⇒bCoreをBLE端末で認識、操作するための技術情報

bCoreに独自のファームを書き込む方法

⇒bCoreのファームウェアを独自のものに書き換える方法
  1. 2015/08/16(日) 23:18:49|
  2.  bCoreとは?
  3. | コメント:0

bCoreのファームウェアを独自のものに書き換える方法

bCoreの背面端子

 bCoreモジュール背面には、ファームウェア書き込み用の接点端子があります。
 この端子を使って、独自のファームウェアをbCoreモジュールに書き込んで使用することが可能です。
 当然ですが、独自のファーム等々については一切のサポートはしかねますので自己責任でお願いします。


 bCoreモジュール背面接点端子の位置及び信号名は左図のようになっています。
 2.54mmピッチのユニバーサル基板の穴に合うように配置されています。



CC Debuggerとの接続方法

 ファームウェアの書き込みには、TI社のCC Debegger を使用します。CC Debuggerは、デジキー や マウザー から購入することができます。
左の写真のように、金メッキのスプリングピンを使用すると、bCoreモジュールを置いてファームウェアを焼いて取り外すといった作業が簡単に行えます。

 接続(bCote ⇔ CC debugger)
  bCore/GND ⇔ CC Debugger/GND(Pin 1)
  bCore/~Rst ⇔ CC Debugger/RESETn(Pin 7)
  bCore/DC ⇔ CC Debugger/Debug Clock(Pin 3)
  bCore/DD ⇔ CC Debugger/Debug Data(Pin 4)
  bCore/Vcc ⇔ CC Debugger/Target Voltage Sense(Pin 2)
  bCore/Bat ⇔ CC Debugger/3.3V(Pin 9)

※bCoreモジュールに外部から電源供給してファームウェアを書き込む場合、bCore/Bat ⇔ CC Debugger/3.3V(Pin 9) は接続しないでください。また、bCore/Bat ⇔ CC Debugger/3.3V(Pin 9)を接続して、bCoreモジュールにCC Debuggerから電源供給する場合、bCoreモジュールにモーターやラジコンサーボを接続していると、電力容量の問題から不具合を起こす可能性があるため、注意が必要です。



ファームウェアの開発、書き込み環境、関連ドキュメント

bCoreモジュールに搭載しているBLEチップ BLE113 のファームウェア開発に必要な環境、資料は、シリコンラボラトリーズのHPからフリーでダウンロードすることができます。(要ユーザー登録)
ドキュメントとツールは英語のものしかありませんが、比較的分かりやすく、またサポートのSNSの対応も非常に良いので開発は楽チンです。

  1. 2015/08/16(日) 22:56:06|
  2. Project: bCore
  3. | コメント:0

bCoreをBLE端末で認識、操作するための技術情報

bCoreをBLEペリフェラルデバイスとして接続、使用する上で必要な情報を以下にまとめます。
これらの情報を用いることで、iOS以外にもAndroidやWindowsシステムからbCoreを操作する独自のアプリを開発することができます。



Generic Access Profile / Service UUID : 1800


Device Name / Characteristic UUID : 2A00
Value: bCore_xxxxxxxxxxxx

BLEセントラル側から見えるデバイス名です。
xxxxxxxxxxxxの部分は、モジュール個別に割り当てられた12桁のシリアルIDが入ります。
そのため、複数のbCoreモジュールがあってもそれぞれ異なるデバイス名でBLE端末からは認識されます。
 

Device Information / Service UUID : 180A


Model Number String / Characteristic UUID : 2A24
Value: bCore

デバイスのモデル名です。


Serial Number String / Characteristic UUID : 2A25
Value: xxxxxxxxxxxx

デバイス名の末尾に付加される12桁のシリアルIDと同じものです。
この番号はBLE113モジュール個別に割り当てられているメーカー設定値を用いています。


Firmware Revision String / Characteristic UUID : 2A26
Value: F1.00


bCoreモジュールに焼かれているファームウェアのリビジョンです。
2015/8/16時点の最新は F1.00 となっています。


Hardware Revision String / Characteristic UUID : 2A27
Value: H1.00

bCoreモジュールの基板や部品等ハードウェア仕様のリビジョンです。
2015/8/16時点の最新は H1.00 となっています。


Manufacturer Name String / Characteristic UUID : 2A29
Value: Vagabond Works


bCoreモジュールの製造者名です。



bCore Service/ Service UUID : 389CAAF0-843F-4d3b-959D-C954CCE14655


Get Battery Voltage / Characteristic UUID : 389CAAF1-843F-4d3b-959D-C954CCE14655
Properties : read (2byte)

モジュールに接続された電源の電圧値(単位は[mV])を取得します。
iOS Swiftコードの場合、
   characteristic.calue.getBytes(&data, length: 2)
で値を取得した場合に、上位バイトがdata[1]、下位バイトがdata[0]に格納されていますので扱いに注意してください。


Set Motor PWM / Characteristic UUID : 389CAAF2-843F-4d3b-959D-C954CCE14655
Properties : write_no_response (2byte)

モジュールに接続されたモーターを回転させます。
1バイト目に、対象のモーターチャンネル(0 or 1、それ以外はデバイス側で無視)を設定します。
2バイト目に回転方向と強度(0x80で停止、0x81~0xFFで正転、0x7F~0x00で反転)を設定します。 
モーターの種類によっては、0x80に近い数値を設定した場合モーターが回転しないことがあります。
bDriverではUIスライダの中央付近に不感帯を設けています。


Set Port Out / Characteristic UUID : 389CAAF3-843F-4d3b-959D-C954CCE14655
Properties : write_no_response (1byte)

モジュールにポート出力のOn/Offの切り替えを行います。
送信データバイトの各ビットの1/0がポートのOn/Offに対応しています。
bCoreでは、ポート出力は bit0[0x01/0x00]のみ使用可能です。



Set Servo Position / Characteristic UUID : 389CAAF4-843F-4d3b-959D-C954CCE14655
Properties : write_no_response (2byte)

モジュールに接続されたラジコンサーの位置を更新させます。
1バイト目に、対象のラジコンサーボチャンネル(0~3、それ以外はデバイス側で無視)を設定します。
2バイト目に位置(0x00~0xFF)を設定します。 
設定する値とラジコンサーボの停止位置は、ラジコンサーボの仕様に依存します。


Get Functions / Characteristic UUID : 389CAAFF-843F-4d3b-959D-C954CCE14655
Properties : write_no_response (2byte)

モジュールのサポートしている各機能の有効チャンネルを取得します。
1バイト目の下位4bitがモーター、2バイト目の下位4bitがラジコンサーボ、2バイト目の上位4bitがポート出力を意味します。
bCoreでiOS Swiftコードの場合、
   characteristic.calue.getBytes(&data, length: 2)
で値を取得した場合、data[0] = 0x03(モーターch0, ch1が有効)、data[1] = 0x1f(ポートch0、ラジコンサーボch0~3が有効)となります。
将来的に、対応機能の異なるbCore派生モジュールが生じた場合に、アプリケーション側で対応機能を検知するための機能です。



実装上のコツ、注意事項

・Get Battery Voltage による電源電圧のモニタリングはセントラル側で定期的に行う必要があります。
・各キャラクタリスティックによる通信は、25msec程度以上の間隔を空けて行う必要があります。

  1. 2015/08/16(日) 11:20:18|
  2. Project: bCore
  3. | コメント:0

bDriverとは?

uLCX2 BLEの開発を経て開発された、汎用多目的超小型リモコンロボットコアユニット bCore をコントロールするiOSアプリケーションです。
iOS8.0以降のバージョンのiOSのインストールされている、BLE対応のiPhone, iPod touch、iPad※で利用可能です。
 ※iPhone4S, iPhone5, iPhone5C, iPhone5S, iPhone6, iPhone6 Plus,
  iPad 3G, iPad 4G, iPad Air, iPad Air2, iPad mini, iPad mini with Retina display, iPad mini 3
  iPod touch 5G, iPod touch 6G                           (2015/08/16現在)

アプリのダウンロードは ⇒App Store : bDriver


履歴

Version 1.01 (2015/08/22) AppStoreでの公開開始
 └各機能の番号割り付けをbCoreモジュールのシルク印刷に合せました。
Version 1.0 (2015/08/03) AppStoreでの公開開始


bDriverの使用方法


<起動画面>
IMG_4066.png

<スキャン画面>
IMG_4063.png
・画面下部のScanボタンを押すと、10秒間スキャンを行い周辺のBLEデバイスを発見し表示します。
・スキャン中でも、リストに表示されたデバイスを選択して接続することができます。
 ただし、bCoreモジュール以外への接続はできません。(強制的にスキャン画面に戻ります。)
・bCoreモジュールは、個々にユニークな名前を持っているため(bCore_xxxxxxxxxxxx)、同時に複数のbCoreモジュールがあっても個々に独立して認識され、接続して使用することができます。ただし、1つのbDriverから同時に複数のbCoreモジュールに接続することはできません。

<制御画面>
IMG_4064.png
・bCoreモジュールは、最大で4つのPortOut,4つのラジコンサーボ、2つのモーター(疑似速度制御)を制御できます。
 モジュールの種類ごとに制御可能な機能の数は異なりますが、自動的に通信設定を行い、制御可能な機能のみが制御画面に表示されます。

<設定画面>
IMG_4065.png
・各機能の、 表示オン/オフ(制御画面上の表示/非表示)、サーボおよびモーターの回転方向反転オン/オフ、サーボの
 トリム調整(原点位置の微調整)を行います。
・この設定値は、各bCoreモジュールごとに独立して記録されるため、同じbCoreモジュールに次回接続された場合は自動的に反映されます。

  1. 2015/08/03(月) 16:05:38|
  2.  bDriverとは?
  3. | コメント:0
次のページ

検索フォーム

カテゴリ

Project: bCore (4)
 bCoreとは? (1)
 bDriverとは? (1)
Project: uLCX2 (2)
 uLCX2BLEとは? (1)
 uLCX2とは? (1)
Project: LCXX (20)
LCXXとは? (1)
LCXX進捗 (19)
Project: uLCX (12)
uLCXとは? (1)
uLCX進捗 (11)
Project: Land Crawler (39)
Land Crawlerとは? (1)
Land Crawler 進捗 (19)
LC eXtreme 進捗 (19)
AAF 回顧録 (3)
イベント/TV/雑誌など (28)
販売情報 (4)
その他 (8)
Vagabond Works (2)
プロフィール (0)
ICD/HCM (0)

最新コメント

メールフォーム

名前:
メール:
件名:
本文:

月別アーカイブ

カレンダー

07 | 2015/08 | 09
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -