2008年12月9日火曜日

AngliaとRide

STM32に使えるフリーのコンパイラがCodeSourcery以外だと、AngliaとRideの様なのですが、展開してみると、両方ともコンパイラ部分は中身はCodeSourceryでした。
そんな訳なので、今度は最新版のCodeSourceryでRideのリンカ・ベクターを使ってコンパイルできるか試してみます。

2008年12月7日日曜日

STM32 Firmware Libraryのコンパイル後のサイズ

STM32 Firmware Libraryの最新版をgcc(Sourcery G++)でコンパイルできるかなと思って試してみたら、案外すんなり成功しました。
でもちょっとサイズにびっくり。-O0 -g3(最適化無し・デバッグ情報最大)でなんと4680kbです。
-O2(最適化レベル2)でデバッグオプション無しだと64kbでした。
今度はROMイメージにしたときにサイズで比較してみます。

2008年12月2日火曜日

Olimexの商品が届きました


Olimexにまとめて注文していた商品が届きました。
先月の20日に発注してますので約2週間ほどですね(ちょっと買いすぎました)。
ビニール包装と予想していたのですが、一つ一つ紙箱に入っていてちょっとびっくりです。

KC WirefreeのBluetoothモジュール


CQ-STARMBBについてきたモジュールです。
薄く安いのは良いのですが、ピッチが中途半端なので、試作で使いづらいのが難点でしょうか?1.5mmに見えるのですが、私の測り間違いか、この類のボードでは一般的なんですかね(前提知識無い人です)。

2008年12月1日月曜日

8ビット市場に進出とは?

Cortex-M3のうたい文句で、「8ビット市場に進出!」というのがよく出ています。ただこれを見たときにはその具体的な意味がよくわかりませんでした。
ところが、たまたま、LM3S101のページを見ることがありその意味するところが何となくつかめました。このチップの場合、28pinのSOICで提供されており、チップ価格が140円か270円程度なんですね。これだとパッケージフォームファクタとしてはPICやAVRと同等で、価格競争力もある一方で、性能的には大幅に凌駕しているということになります。
ついでなので、STM32の最安チップであるSTM32F101Tの価格を見ると、300円から900円程度でQFPのみということの様です。既存の8ビット市場のチップとは、オーバーラップする範囲が必ずしも大きくないようにも思いますが、戦えるポジショニングにはあるということなんでしょうね。

2008年11月27日木曜日

表面実装パッケージはやっぱり小さい

はじめてRSコンポーネンツで発注をしたのですが、触れ込み通り、翌日に届きました。
今回はオペアンプやADコンバータを購入したのですが、試作用にDIPを購入し、実装用に同品番のSOICを注文しました。DIPとSOIC両方が提供されているチップを選んだという方が正しいかもしれません。SOICにしたのは、1.27ピッチであれば、不具合無く手付け出来そうかなと考えたからです。
で、実際に届いてみるとやっぱり小さいですね。DIPに比べると気は遣いそうですが、手付も問題なくできそうです。実装面積の小型化が期待できます。これなら手作りプリント基板でもできるかも??

2008年11月25日火曜日

I2C・SPIの伝送距離

マイコンから離れたところにあるセンサーからの読み取りを行う際に、センサーからADCまでの距離を伸ばすか、ADCからマイコンまでの距離をのばすのかということを考えました。ADCーマイコン間はデジタル伝送ですから、こちらの方がノイズや減衰に強いはずではないかと推測しています。
I2Cは仕様書を見たのですが、伝送距離については規定がありませんでした。
http://www.esacademy.com/faq/i2c/q_and_a/faq/i2cqa1.htm
こっちのページは数メートルとあります。ロボットの足から背中ぐらいまでは十分に間に合いそうです。他のページでは100mで成功したといったコメントもありますがさすがにちょっと怪しいですね。
SPIについては1m前後という意見が多いようです。
http://www.google.co.jp/search?hl=ja&rlz=1B3GGGL_jaJP298JP299&q=spi+distance&btnG=%E6%A4%9C%E7%B4%A2&lr=
SPIは周波数がI2Cの数倍ありますから、伝送距離が短くなると言うのは理解できます。いずれにせよ1m延ばせるのであれば、2足歩行ロボットへの適用は問題ないですね。

2008年11月24日月曜日

Press-n-Peel


おてがる基板作成で話題のPress-n-Peelを買いました。円高なので直接発注してます。

開発環境だいたい完成:STM32をフリーで

STM32のフリー開発環境がだいたい整いました。できあがるまでにはご多分に漏れず大分とはまっているのですが、lanchonさんのパックのおかげで大分と楽ができました。
開発環境の概要は:
Code Sourcery G++ Lite for ARM on windows
(gcc, gdb, ld, etc...)
Eclipse
OpenOCD
Tiny Jtag-ICE2
CQ-STRM STM32F103VB(デザインウェーブ付属基板)
+ベースボード
STMicroelectoronics Firmware Library 1.0
です。

lanchonさんのサンプルのポートをデザインウェーブ基板用に書き換えて載せたのがこれです。

LED点滅しました。

この時点で、
main.elfが314kb、main.binが12kbです。
ばかでかいライブラリがインクルードされているにしてはbinが小さいんですが、本当にこれだけで済んでいるのであれば、メモリには大分と余裕がありますね。
mapfileを見てみると、0x08003ed4までプログラムが配置されています。起点が0x08000000ですから、プログラムサイズとしては16084byteで、15.7kbぐらいです。mapfileを見る限りでは、fwlibが全部リンクされているように見えます。ソースのサイズだけからすると500MBぐらいありますが、バイナリにするとこの程度なんでしょうか?libstm32fw.aになっている時点で600kbぐらいですが。

2008年11月19日水曜日

STM32の開発ボード

STM32のドキュメントとサンプルコードを見ていると大分と充実している感があり、開発期間を短縮できそうです。
新参チップですが、どれくらい開発ボードが流通しているのか調べてみました。STM32の公式サイトで紹介されているものをチェックしたのですが、国産のものはCQの付録を除くとまだ無いようです。
実際の開発では、OpenOCD経由でJTAGを使って開発する可能性が高いですからOpenOCD対応JTAGが使える、付いていることをチェックポイントとしました。

Olimex
STM32-H103
26.95euro
STM32-P103
45.95euro
STM32-103STK
79.95euro
ヘッダボードに丸ごとJTAGコネクタが載っています。

CQ出版
Design Wave付録基盤+開発ボード+追加部品
2480+6000+1000yen

ST
STM3210B-EVAL
STM3210E-EVAL
22869yen

Hitex
STM32-PerformanceStick
7097yen
STM32スタータ・キット
12746yen
はUSB-JTAGインターフェースまでが搭載されていて安価な模様
OpenOCDも対応しているようですが未確認です。

IAR
STM32 KickStart(TM) キット
238.75USD
IAR J-Link(USB/JTAG)がついているがOpenOCDのサポートは怪しそう。コンパイルし直す必要がありそうです。

Keil
STM32スタータ・キット
181.25USD
ULINK(USB/JTAG)がついているがOpenOCDのサポートは不明

Raisonance
STM32REvaスタータ・キッ
208.75USD
RLink(USB/JTAG)がついているがOpenOCDのサポートは不明。

値段はDigikeyです。

開発ボード型は手軽で良いのですが、できれば実際のプロダクトにそのまま組み込めるヘッダボード型の方が何かと融通が利くのではないかと思います。
そうすると国産+ピン数が多いということでDesignwave付録基板を推したいのですが、バックナンバーが終了→品切れという可能性があり、入手性→再現性に難がありそうです。
Olimexはガレージビルダーっぽいですが、継続的な入手性はありそうですね。USB-JTAGが安い+開発環境までパッケージで提供しているというのもポイント高いです。そのまま使わないにしても、参考にできそうですので。
Hitexは手軽そうなのですが、IOボードまで入れるとちょっと不細工なのが気になります。

2008年11月18日火曜日

しばらく空きましたが…

現在、以下のプロジェクトを検討中です
・3軸デジタルジャイロを作る
3軸ジャイロ、それもデジタルのものは、個人がホビー用途に適用できる様なものはなかなか市販されていません。2軸や1軸のジャイロを複数くっつけるというのもどうも芸がありませんので何とか方法が無いかなぁと。
案1 3軸地磁気センサを利用して単位時間毎にセンサの方向を検出し、時間毎の差分を計測して、角度として出力する
案2 3軸加速度センサを3つ利用して、それぞれの動加速度を検出し、それぞれの加速度センサーのベクトルの向きから角速度を検出して出力する
案1の方がスマートな方法ですが、地磁気センサーがどれぐらい外乱に強いかどうかを検証する必要がありそうです
・フリーな開発環境の構築
AT91SAM7SかSTM32を使ったフリーな開発環境の構築を考えているのですが、どちらが良いのか、検証中です。コア自体の性能やライブラリ、ドキュメントの充実度を比較しています。

2008年11月5日水曜日

感圧センサー


足裏に付けるための感圧センサーとしてツクモロボット王国で売っているニッタのフレクシフォースの導入を検討していたのですが、ドキュメントが少ないのがネックでした。オペアンプにつなげる抵抗値を自分で探るというのはちょっと…。
http://www.nitta.co.jp/product/mechasen/sensor/flexi_summary.html
でいろいろ探していたら、イクシスリサーチさんが売っている、
Interlink FSR(感圧センサ)
がドキュメントも豊富なので、採用を決定。
注文後すぐに届きました。早速テスターで実験したのがこの動画です。手が足らないので当事務所の美人秘書i子さんに加圧、カメラ撮りをお願いしました。

2008年10月27日月曜日

4D SystemsのLCD シリアルテストプログラム マイコンに接続したら


このLCDボードは信号はCMOSレベル(3.3v)で電源はTTLレベル(5v)とのこと。どうやって電源を取るか迷いましたが、とりあえずIOボードのレセプタクルピンに直づけしました。



でさっきのシリアルプログラムにつないだ結果がこれです。?????の連続。いろいろと調べてみると、入力が出力に追いついてないみたいです。1文字送るたびにwhileで3000ループぐらい待つとちゃんと表示されるのですが、こんなにオーバーヘッドがあるのであれば使い物になりません。
こまったなぁ、バッファでもあればいいのになーと思ってあきらめて違うLCDをつないだ後で、マニュアルをもう一回よく読んでみたら、バッファ命令、ありました。最初からマニュアルちゃんと読むべきでしたね。つなげ直しは面倒くさいですが、もう一回チャレンジしてみます。

4D SystemsのLCD シリアルテストプログラム

4D SystemsのLCD 8

4D SystemsのLCD 7

4D SystemsのLCD 6

4D SystemsのLCD 5

2008年10月26日日曜日

4D SystemsのLCD 4

4D SystemsのLCD 3

4D SystemsのLCD 2

4D SystemsのLCD 1

4D SystemsのLCD 前書き

ストロベリーリナックスで売っている4D SystemsのLCDやOLEDのボードがとてもおもしろそうだったのですが、入荷後すぐに売り切れになってしまうみたいです。シリアルでコントロールできる、マイクロSD装備、スピーカー付きというのがマイコン向きで、何とも興味をそそります。
で、オーストラリアドルが急落したので、この際ならと思い、直接発注しました。思いの外早く届きました。
http://www.4dsystems.com.au/

サンプルプログラムを動かしたときの感動をお伝えするため、ビデオをいくつか載せます。

AT91SAM7S256ボードにピン追加



ベストテクノロジーさんのこのボードは232Cドライバをオンボードで乗っけているので非常に便利です。で使っていたらどうにも抜けやすい。よく見てたら2mmピッチのところに2.54mmのプラグを挿してました。2mmのコネクタは汎用性に欠けると思われたので、無理矢理ですが、L型のヘッダピンを使って2.54mmピッチのピンを追加しました。

2008年10月23日木曜日

開発スタート


ごちゃごちゃしていてわかりにくいのですが、ボード周りの開発環境です。
マイコンボードをIOボードにつなげ、ここにJTAGと232Cシリアルをつないでいます。
ボードの説明書ではSAM-BAでアップロードしたプログラムの動作をシリアルで確認するとのことだったのですが、何回やってもうまくいきませんでした。あとフラッシュ書き換えのたびにSAM-BAモードにするのが非常に面倒くさいです。
そこでJTAGをつないでみたのですが、こっちだとプログラムが正常に動作しました。PUTTYやSerial Debuggerでもちゃんと受信できてます。まだインラインでのデバッグはやってませんが、直接フラッシュに書き込みできるというだけでも使うメリットがあるのではないかと思われます。

マイコンに火入れ


マイコンにやっとこさ火入れしました。ボード上のLEDが光ってるのがわかりますか。一応電源端子間がショートしてないかだけ確認してから通電させてます。

サーボ用コネクタ変換・給電ハーネス


RS485接続のサーボのコントロール実験をするのに、RS-U485とRS301CRのコネクタが違うので変換ハーネスが必要になりました。どうして同じメーカーなのにコネクタが違うんだろう…。
あとRS-U485は給電してくれないので、バッテリー接続端子も必要。でどうせ作るなら、Dynamixelの接続の際の実験もできるようにと思い、多用途のハーネスにします。
2回路3接点スイッチも使って、ストレートクロス変換スイッチも付けます。ただ後から気づいたのですが、RS485は232と違ってストレートクロスは関係ないんですね。2線の電位差で半二重通信をする模様。


横方向でのパターンが続いている基板を使いました。切り出しの目印としてマジックで線を引きます。


切り出しです。掃除機で吸い取りながらドレメルを当てて切り取ります。


面倒くさがりなので、パターンの切断もドレメルでやってしまいました。横のパターンを少し切ってしまいましたが…。


へたくそ半田。


端子圧着は今回初挑戦です。2mmピッチのピンとかになると、位置あわせで目が疲れます。


差し込むとこんな感じでできあがり。


ハーネスできあがりの概要図です。お恥ずかしながら、実はこの時点ではJSTコネクタの向きが逆です。


JSTのハーネスも作りました。コンタクトピンを圧着していて思ったのは、ケーブル被覆を挟む部分で力を入れすぎると、このぐらいのゲージだと切れてしまうんですね。1本切れると全部やり直しなので痛いです。このハーネスができるまでに2回やってしまいました。コンタクトピン8本が無駄になってます。


半田吸い取り線です。ラジコンのバッテリーの接続用に使っていたのですが、今回本業をこなしてもらうことになりました。コネクタの半田をこれで吸い取って、逆向きに差し替えました。

RSC-U485


サーボチェック用にRSC-u485を購入したのですが、中身を見てみると、FTDIを使ってました。この用途だと事実上の定番チップのようですね。シルクの品番が謎ですが。
LEDポートもあるのですが、動くんでしょうか?

リポ充電


リポの充電ステーションです。後ろに見えているのはMIDIキーボードの箱と、ハンドランチグライダーの翼です。ってここ職場なんですけどね。


受電中の図です。リポは初めてなのでちょっと緊張しました。ここで発火すると大事になるので。

センサー+LED


ストロベリーリナックスで、
・2軸ジャイロ
・3軸加速度センサ(デジタル+アナログ)
・1WLEDを購入しました。
1WLEDは勢いで買ってしまったのですが、マイコンで操作したいので、どうやってスイッチングしようか思案中です。

ナットとワッシャー


http://www.neji-no1.com/
ねじがたくさん必要になると当然ワッシャーとナットも大量に必要になります。ホームセンターで買っているととんでもないことになりそうなので、このサイトで発注しました。最低発注数量が多いのですが、それでもそれだけ買ってもホームセンターとかよりは大分と得ではないかと思います。
M2のナットだけ間違えてクロメートメッキで発注してしまいました。違いがよくわからなかったのですが、クロメートメッキの方がユニクロメッキより若干耐食性が良いようなので、ひとまずこれでよしとします(ユニクロメッキがクロメートメッキの一種だということも知りませんでした)。

マイコンのIO


今回製作したいのはセンターを多用したインテリジェントなロボットなのですが、IO周りの組み立てが重要になる模様。I2CとかSPIとか、未知の世界の用語が続出しているので最初から勉強することにしました。

平らに固定できる万力(バイス)


カーボン板の切り出しをするときに固定をしたいのですが、普通の万力のように上向きに固定されると切りにくくなります。そこでネットを探したところこんなバイスを発見しました。

90度寝かして、さらに口を回転させると、こんな感じで板材を水平にホールドできます

低頭ねじ


http://www.nejikouba.com/
ロボットの構成上かなりの量のねじが必要になりそうなのですが、ブラケットとねじの頭が干渉しそうな感じでどうしようかと思案してました。すると「低頭ねじ」なるものを発見し、軽量化+干渉対策としてばっちりと思えたので発注!です。


現物を見てみると確かに低い!上がM3、下がM2です。ピント合わせに苦労しました。

タカチでコネクタ


http://www.haisen.jp/
タカチさんでコネクタを購入しました。ネット上では海外を除くとここぐらいでしか例のヒロセのコネクタが見つからなかったので。
しかし、タカチさん、対応がすばらしいです。1万円弱の小規模発注なのですが、すぐに発注手配してくれました。あまり宣伝して小口が増えると迷惑をかけてもいけないのですが、迅速、丁寧な対応に感謝しております。

電子回路・電気回路


マイコンのIO周りの回路の資料を読んでいたらわからない用語が多かったので、復習することにしました。お恥ずかしながら、「電気回路」と「電子回路」と違いのレベルでわかってませんでした。
大熊先生の「電気」はわかりやすかったのですが、「電子」が「電気」の引き写しが多く、結果的に中身が薄かったです。谷本先生の本は「はじめて」とありますが、たぶん初めての人では理解できない内容ではないかと。大熊先生の本で勉強してから再挑戦です。

アルミアングル


サーボブラケット以外の部分での板材同士の接合を無くす方向で設計しているのですが、どうしてもつなげたい部分が出てきてしまいました。
ヴィストンさんのナットブロックも考えましたが、高いのと、一方が1カ所固定なのでとりあえずパス。アルミアングルで自作することにします。

やすり


カーボンやアルミ材の切り口を素早く仕上げるために、幅の広い金工ヤスリを選びました。


柄がどれぐらい差し込むものなのか相場がわからなかったのですが、とりあえず半分ぐらい圧入してます。

けがき針


けがき針です。
カーボン板にドリル刃を当てるへこみを正確に付けたかったので、先が鋭いタイプを選びました。東急ハンズでは探すのに苦労しました。最初から店員さんに聞けば良かったです。

金鋸


このまえアルミ板をドレメルルーターで切り出したときにえらいこと時間がかかったので、金鋸とどっちが早いかを比べてみるべきと思い、購入しました。刃がいろいろあったのですが、とりあえず万能型を購入してます。

スプレー糊


カーボン板に図面を貼り付けて穴空け、ドレメル切り出しの予定なので、スプレー糊を購入。77はあったのですが、はがせるタイプ55が無かったので。

カーボン板


http://www.carbon-goods.com/
で購入しました。






カーボン板材の比重についてのデータがネット上で探しても見つからなかったので仕方なく実測しました。
想定していたよりは若干重いです。

このサイズだと1mmは手でも若干たわみ、2mmはたわまないという状態ですが、5cmぐらいに切り出せば1mmでもほとんどたわまないのではないかと予想しています。このあたりも実験です。

2008年10月22日水曜日

AWG?

電線の規格でよく見かけるAWGというのが一体何なのかわからなかったので調べてみたのですが、
http://www.nc-net.or.jp/morilog/m133930.html
http://www.sei.co.jp/ewp/J/product/detail/pdf/8_20.pdf
こういう事だったんですね。PDFはロボットファイルに挟んでおきます。

2008年10月20日月曜日

蛍光管モジュール

デバックその他用にCPUボードに表示器を付けたいのですが、シリアルコントロール可能で小型なのは次の2機種ぐらいの様です。
フタバ
GP1209A01C
ノリタケ
GU112X16G-7000
サーバのサポートの件でお世話になったのでフタバにしたいのですが、値段がわからないのと、232Cでの接続ができないので今回はノリタケで行こうかと思います。



RS301CR 回る

2008年10月18日土曜日

Beagle Board 続き2

Beagle Board Wikiによると、Rev.CのボードではRawLCD InterfaceとUSB Hostが加わる模様。
そうすると、
SDIO1 SDカード
SDIO2 カメラ
USB Host USBハブ
USBハブ1 無線LAN
USBハブ2 Bluetooth
USBハブ3 FT2232ボード -> RS485ポート
USB OTG コントロール用ポート
RS232C コンソールポート
SPI1 ADC1 ジャイロ+PSDセンサ
SPI2 ADC2 足裏感圧センサー
I2C 加速度センサ
AudioIN マイク
AudioOUT 2Wアンプ -> スピーカー
RawLCD OLEDモジュール
DVI-D RawLCDと排他利用のはずなのでパス
という配置が可能

Beagle Board 続き

FT2232がLinux用のドライバを持っているようなので、USBからRS485とシリアルを出すという手もあるかなと。レスポンスが心配ですが。

2008年10月15日水曜日

Beagle Board

非常におもしろいボードなんですが、ロボットに適用するとなるとIOの制限からなかなか難しそうなので、割り当ての考えてみました。Expantion BoardはオプションAです。
SDIO1 SDカード
SDIO2 カメラ
USB 無線LAN
RS232C シリアルサーボ接続
SPI1 ADC1 ジャイロ+PSDセンサ
SPI2 ADC2 足裏感圧センサー
I2C 加速度センサ
AudioIN マイク
AudioOUT スピーカー
DVI-D ミニチュアモニター
ぎりぎりですがこの割り当てで理屈上はIOの帳尻が合います。果たして本当に可能かどうかですが…。
UARTが出ていないのが痛いです。

本日時点でのTo Do

① 開発環境を作る
 CPUボードの組み立て
 IOボードの接続
 IOボードの電源準備
 USBでの動作確認
 Tiny-JTAGでの動作確認
 FT2232の接続テスト
 FT2232のスタック作成
 UARTのBluetooth化の準備
② サーボの動作確認
 アダプタボードの製作
 US485による動作テスト
 サーボのテスト
③ 図面完成
 バッテリーの設置確認 ヒンジ?マジックテープ?
④ センサ選定
 センサーを選ぶ
 センターを接続してテスト


 

2008年10月14日火曜日

AT91SAM7S256のIOをどう使うか

ベストテクノロジーのARM7ボードは、AT91SAM7S256を実装しているのですが、IOの割り当て上、
AD入力 8
I2C 1
SPI 2(チップセレクト使用の場合)
DBGU 1
USART 2
になりそうです。SSCは端子が被るので×。
デジタル出力ができるジャイロは個人では入手が難しそうなので、ADを3つ使用します。普通は2軸制御のようですが、センサ設置部の姿勢が傾いていても適切な検出ができるようにしたい(三角関数でのベクトル補正)ので3軸にします。
加速度センサはストロベリーリナックスで売っているセンサがI2C/SPI両対応なので、適宜振り分けが可能。
PSDセンサは浅草ギ研からデジタル版が出ていますが、TTLシリアル制御でIDによる識別が難しそうなので、パスします。シリアルポートは貴重なので。
足裏の感圧センサは使ってみたいのですが、ADポートが8つも必要になるので迷います。ADコンバータを増やすことで対応するという手も有りですが。

組み込みLinuxで開発は?

http://www.atmark-techno.com/products/armadillo/a500/specs
http://www.freescale.co.jp/products/32bit/iMX/imx31.html
これを使って組み込みLinux環境で開発するというのも有りかと思いました。
http://akizukidenshi.com/catalog/items2.php?q=%22I-00238%22&s=score&p=1&r=1&page=
http://ww1.microchip.com/downloads/en/DeviceDoc/21298b.pdf
ADコンバータが無いのですが、これをSPIでつなげれば問題無さそう。

組み込みLinuxと聞くだけでなんだか楽しそうなのですが、ただ実際にやるのであれば有意な技術的課題を設定しないと、オーバーヘッドを増やすだけで意味が無いですよね。
今のところ思いつくのは、
・ネットワークと通信してインテリジェント動作
・画像のリアルタイム送受信
・デバイスドライバを作成してロボット用ソフトウェアをハードウェアレイヤーから抽象化する
ぐらいでしょうか。
もう少しLinuxを使う意味を出したいですねぇ。

2008年10月10日金曜日

ねじの長さ

ねじが数百本単位で必要になるので、発注のため、必要な長さを計算します。

ブラケットのアルミが1.2mm
カーボン板が1mmか2mm
ワッシャが0.4mm
ナットが1.6mm

1mmカーボンの場合
ワッシャ無し 3.8mm
ワッシャ有り 4.6mm
2mmカーボンの場合
ワッシャ無し 4.8mm
ワッシャ有り 5.6mm

そんなわけでM2-4でいけるのは1mmカーボンワッシャ無しのシナリオのみのようです。軽量化のため、このセットで締結できるところはこれでいきたいですね。

2008年10月8日水曜日

カーボン板の費用

穴織カーボンさんが一番安いようなのですが、
2mmドライカーボンを使うとして、480x480の板が15500円です。1sqcmあたりで6.7円。
これ1枚で切り出し可能か計算したことが無いので一度算定してみたいと思います。
ちなみにドライカーボンの強度の想像がつかないので、使い分けることも頭に入れると、1mmと2mmの両方の発注になるかもしれません。

USB-JTAGを固定接続する

Tiny-JTAG ICEを買ったばかりなのですが、この際、CPU+IOボードにJTAGーUSB変換基板もくっつけたらどうかと考え始めました。
ロボットが動作する際にはデットウェイト、スペースの邪魔になるだけなのですが、
http://tool-kobo.ddo.jp/Files/Product/USB2232/USB2232.htm
これだと大した大きさではないし、なんと横の取り付け穴の大きさまで同じです。
フレキケーブルを何度も抜き差しする事よりも、USBミニ1本で接続する方がスマートかなと。
ただ232のドライバを内蔵していないので、CPU上の232Cとの接続まで考えると、もう1枚基板が増えてしまいます。CPUとの間にドライバが2本噛んでるというのもあほらしいのですが、さすがに直づけする気にはなれないので。ジャンパで切り離せるみたいですが、これも融通が…。さてどうしたものか。

2008年10月7日火曜日

ROBO-ONE決勝での優位性:相手方の位置・距離測定

ロボワンの11thから13thまでのDVDを見ていたのですが、有効な攻撃が決まらない大きな原因の一つは、相手方のロボットとの相対位置に対応した攻撃指示を通常のコントローラーから与えることが難しいという点にあると見ています。
そこで相手ロボットの方向と距離を検出できれば、攻撃方向を微調整したり、攻撃の前に何歩踏み出すのかを自動設定したりして、インテリジェントな攻撃システムを作れるのではないかと。
今、各種のセンサーの仕様を分析中です。

2008年10月5日日曜日

電源コネクタ

バッテリーを調達するとなると、これにつけるコネクタを決めないといけません。
SAM7S/IOボードのコネクタはJSTのVHですが、雄が基板付しか無いのが玉に瑕です。
VH 定格電流 10A/250v 接触抵抗 10~20mohm
Robotisのサーボ用のMolex 5264とFutabaのサーボ用のJST EHは共に3A/250vなので主電源ようとしては、使えないことはないけど力不足の感ありというところですね。
ラジコンでよく使っていたのは、マルチコンタクトのマルチラムコネクタ(ヨーロピアンコネクタ)で、接触抵抗が0.2mohmというところが優れものです。このコネクタの欠点は抜き差しがしにくいことなのですが、カワダのスーパーMCコネクタならタミヤコネクタの様に抜き差しできます。かなり固いですけど。
Deans Ultra Plug も抵抗が低そうなのですが、定格値がわからないのでパスします。以前試しに買ったときに抜くのに一苦労したので、その点でもポイント低いです。

今回のロボットは瞬間最大電流が10A程度と想定していますが、将来RX-28とかで作ったときには瞬間最大電流が30Aぐらいになることも視野に入れておかないといけません。

そうするとやはり今回もスーパーMCコネクタでいくのが吉かと。

ちなみにSAM7Sボードにどうやってつなげるかなのですが、とりあえずはMCオス-VHメスのハーネスを作ろうかと思います。電気抵抗を少なくするためにはケーブル直づけのほうがよいのはもちろんなのですが、そもそもこの基板を通してサーボに電源供給をする事自体がいかがなものかと思っていますので、ここは今後の検討課題ですね。

充電器・バッテリー

今回のコンセプトは軽量高速ロボットなのでバッテリーはリポで決まりなのですが、ラインナップの豊富さとペアの充電器の性能からするとハイペリオンでいこうかと考えています。
で、
http://aircraft-japan.com/shopexd.asp?id=5231
http://aircraft-japan.com/shopexd.asp?id=5202
http://aircraft-japan.com/shopexd.asp?id=5317
この中のどれにするか悩んでいたのですが、
・ロボット大会への出場を考えているなら移動の際にコンパクトになるAC電源付
というポイントを重要視して考えたのですが、
・結局みんな移動時は電源を持ち歩いている
・ロボットのモーション作成の際には結局電源がないと不便
ということのようなので、電源+DUOで以降かと。
電源はエアクラフトのやつが容量が大きいんですが、でかすぎるので、定番?のアルインコDM-330にします。

次にバッテリーの選定ですが、G-ROBOTが同じサーボで20自由度、780mahのバッテリーで20分稼働とのこと。そうすると、24自由度で800mahで18分程度、1200mahで27分程度と予想できます。重心位置の調整の役割もあるのでとりあえず今回は両方1個ずつにしてみます。2Sならそんなに高くないですしね。

専用7.4Vリチウムポリマーバッテリー(PR-4S780P)&専用充電器(LBC-3E5)。充電時間は約1時間。作動時間は約20分です。(使用環境によって異なります

2008年10月3日金曜日

足の長さ

ロボワンの規定上は足が長いほど、
・腕が長くなってリーチが長くなる
・足裏が大きくできる
というメリットがありますが、
・足だけ長すぎると重心規定に引っかかる
・バランスも悪くなる
・サーボに負担がかかる
ということになりますね。

今回利用を検討しているRS301CRのスペックは、
●トルク/スピード・・7.1kg.cm/0.11sec/60°
両足のパワーで14.2kg
マージン率10%と見て、出力は12.78kg.cm

ロボットの想定総重量は、
 サーボ+ブラケット36g×24自由度(足7胴体4腕4)=864g
 カーボンフレーム 150g
 配線 50g
 ねじ類 50g
 バッテリー 150g
 マイコン 50g
 センサー 25g
合計1339g(サーボ以外は適当推計です)
さばを読んで1400g

で、
12.87÷1.4=9.1cm
切りの良いところで9cm
となります。
今回の設計ではまたの前後軸から足首の前後軸までは腿、脛の長さと一致する(膝ダブルサーボの回転軸を一直線上に置く)ので、ここまでで18cm、前後軸から足裏までは3.2cmなので足長は約21cm。

で、足裏サイズは、
長さが55%なので、115.5mm 検査マージンを見て110mm
幅が35%なので 73.5mm 検査マージンを見て70mm

で、腕が広げた状態で340%なので、714mm、検査マージンを見て700mm

JTAGへのUSB接続アダプタ


効率的なデバッグのためにはJTAGは必須のようなので、アダプタの購入を検討しました。フラッシュを真っ白にしたときに復活させるためにも必要ですよね。
http://tool-kobo.ddo.jp/Files/Product/USB2232/USB2232.htm
http://web.kyoto-inet.or.jp/org/oficejo/CQ_STARM/man_JTAG.htm
http://www.besttechnology.co.jp/goods/cpu/index.htm#BTE067B
国内から安価に入手できそうなのはこの3つが候補に挙がったのですが、OpenOCDへの対応が怪しかったのでKeilは除外。ツール工房のものは安いのが魅力的なのですが、ここで手間をかけるのは今回の開発趣旨にそぐわないのと、状況確認LEDがついているのは便利そうなのでベストテクノロジーのやつに決定しました。Tinyというだけあって本当に小さいです。これでRS-232がコネクタだけではなくてケーブルがついているともっと良かったのですが。

ESPさんからIOボード入手


ESPさんからデザインウェーブ付属基板のIOボードを購入しました。UARTの無線化をやりたいので、奮発してBluetooth版を購入。結構でかいです。
あと3冊も買ってしまった付属基板のために追加部品セットも購入。共立で部品を買うのと値段を比べてみたのですが、それほど大差なかったと思います。

フィルムケーブル?


ベストテクノロジーのSAM7SIOボードはFFCコネクタにGPIOが来ているのでこれをどうやって活用するか悩んでました。CPUボードの足から引っ張っても良いのですが、IOボードでせっかくプルアップしているので出来ればIOボードから引きたいんだけど、FFCケーブルを入手しても結局FFCコネクタがいるのであれば二度手間であほらしいなぁと考えてました。で、パーツランドで写真のものを発見。これだと簡単に接続できそうです。フィルム上でも半田付け出来るんですよね。

よってある線


写っているサーボリードやコネクタ付ケーブルのように多芯でねじってあるケーブルを共立やネットで探しても一向に見つかりませんでした。写真の並行コードはやむなく選択したものなんですが。
こういうものって作ってる人が手でねじってるんでしょうか??

C言語の復習


C言語から離れて長く、ベストテクノロジーさんのat91sam7sのサンプルを読んでも躓くばかりでした。そこで復習を計画。「やさしいC」は基本情報の受験の時に買ったものです。もう何年前でしょうか…。あと型宣言や構造体の詳細仕様については「やさしい」では無理があるので、本屋で、詳細部分を一番明確に解説している風に見えた「C言語入門シニア編」を購入。なぜこの表現を使うのかが説明しているあたりが良いですね。

2008年9月30日火曜日

HPIのRS301のコネクタ

HPIのRS301のコネクタの雄が何なのかわからなかったのですが、いろいろ探った結果、
・ヒロセ DF11-4DEP-2C
の様でした。
ネットで検索したら、通販で入手できそうなのがDigikeyぐらい。
なんで日本製部品をアメリカから購入せんとあかんの???

本日時点でのTo Do

ハードウェア
・使用するセンサーを確定させる
・ロボットの3D図面を完成させる
ソフトウェア
・C言語の基礎の復習
・HellowWorldをやる
・開発環境の構築
・JTAGの準備

AT91SAM7S256マイコンボード


AT91SAM7S256マイコンボードとSAM7S I/Oボード(RS485)です。RS485に対応していることと、マイコンのIOをかなり引き出していること、コンパクトなのが○ですね。
このZigbeeモジュールのコネクタに無理矢理Bluetoothモジュールをさせないかと検討中です。

買い物 共立電子にて

堺筋線沿線で仕事があったので、ついでに恵美須町まで遠征。シリコンハウス共立ですが、数ヶ月ぶりに来ました。

コネクタボード作成用に便利なパターンの基板がないか探していたのですあが、これがビンゴでした。オリジナル商品でもないようですが。

フタバ標準のJSTコネクタの方がRobotisのMolexよりも入手しやすいと思っていたのですが、行ってみると、JSTのコンタクトピンが品切れでした。これではお話しにならないのでMolexでいくことにしました。
写真に写っているヘッダピンは半田付けの練習用です。

電源用コネクタはSAM I/OボードそのままでJSTのVHにしました。
今日の高かった1号。L型のヘッダピンが欲しかったのですが、10pinnしかいらないのにこれしか無くて880円もしました。

今日の高かった2号。まあこれは仕方ないかと…。

精密用の半田ごてが無かったので追加調達です。でもこれで半田ごてばかり4本になってしましました。0.6mmの半田が特価だったのでこれもGETです。