STM32に使えるフリーのコンパイラがCodeSourcery以外だと、AngliaとRideの様なのですが、展開してみると、両方ともコンパイラ部分は中身はCodeSourceryでした。
そんな訳なので、今度は最新版のCodeSourceryでRideのリンカ・ベクターを使ってコンパイルできるか試してみます。
2008年12月9日火曜日
2008年12月7日日曜日
STM32 Firmware Libraryのコンパイル後のサイズ
STM32 Firmware Libraryの最新版をgcc(Sourcery G++)でコンパイルできるかなと思って試してみたら、案外すんなり成功しました。
でもちょっとサイズにびっくり。-O0 -g3(最適化無し・デバッグ情報最大)でなんと4680kbです。
-O2(最適化レベル2)でデバッグオプション無しだと64kbでした。
今度はROMイメージにしたときにサイズで比較してみます。
でもちょっとサイズにびっくり。-O0 -g3(最適化無し・デバッグ情報最大)でなんと4680kbです。
-O2(最適化レベル2)でデバッグオプション無しだと64kbでした。
今度はROMイメージにしたときにサイズで比較してみます。
2008年12月2日火曜日
Olimexの商品が届きました
KC WirefreeのBluetoothモジュール
2008年12月1日月曜日
8ビット市場に進出とは?
Cortex-M3のうたい文句で、「8ビット市場に進出!」というのがよく出ています。ただこれを見たときにはその具体的な意味がよくわかりませんでした。
ところが、たまたま、LM3S101のページを見ることがありその意味するところが何となくつかめました。このチップの場合、28pinのSOICで提供されており、チップ価格が140円か270円程度なんですね。これだとパッケージフォームファクタとしてはPICやAVRと同等で、価格競争力もある一方で、性能的には大幅に凌駕しているということになります。
ついでなので、STM32の最安チップであるSTM32F101Tの価格を見ると、300円から900円程度でQFPのみということの様です。既存の8ビット市場のチップとは、オーバーラップする範囲が必ずしも大きくないようにも思いますが、戦えるポジショニングにはあるということなんでしょうね。
ところが、たまたま、LM3S101のページを見ることがありその意味するところが何となくつかめました。このチップの場合、28pinのSOICで提供されており、チップ価格が140円か270円程度なんですね。これだとパッケージフォームファクタとしてはPICやAVRと同等で、価格競争力もある一方で、性能的には大幅に凌駕しているということになります。
ついでなので、STM32の最安チップであるSTM32F101Tの価格を見ると、300円から900円程度でQFPのみということの様です。既存の8ビット市場のチップとは、オーバーラップする範囲が必ずしも大きくないようにも思いますが、戦えるポジショニングにはあるということなんでしょうね。
2008年11月27日木曜日
表面実装パッケージはやっぱり小さい
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足歩行ロボットへの適用は問題ないですね。
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日月曜日
開発環境だいたい完成: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ぐらいですが。
開発環境の概要は:
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ボードまで入れるとちょっと不細工なのが気になります。
新参チップですが、どれくらい開発ボードが流通しているのか調べてみました。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を使ったフリーな開発環境の構築を考えているのですが、どちらが良いのか、検証中です。コア自体の性能やライブラリ、ドキュメントの充実度を比較しています。
・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をつないだ後で、マニュアルをもう一回よく読んでみたら、バッファ命令、ありました。最初からマニュアルちゃんと読むべきでしたね。つなげ直しは面倒くさいですが、もう一回チャレンジしてみます。
2008年10月26日日曜日
4D SystemsのLCD 前書き
ストロベリーリナックスで売っている4D SystemsのLCDやOLEDのボードがとてもおもしろそうだったのですが、入荷後すぐに売り切れになってしまうみたいです。シリアルでコントロールできる、マイクロSD装備、スピーカー付きというのがマイコン向きで、何とも興味をそそります。
で、オーストラリアドルが急落したので、この際ならと思い、直接発注しました。思いの外早く届きました。
http://www.4dsystems.com.au/
サンプルプログラムを動かしたときの感動をお伝えするため、ビデオをいくつか載せます。
で、オーストラリアドルが急落したので、この際ならと思い、直接発注しました。思いの外早く届きました。
http://www.4dsystems.com.au/
サンプルプログラムを動かしたときの感動をお伝えするため、ビデオをいくつか載せます。
AT91SAM7S256ボードにピン追加
2008年10月23日木曜日
開発スタート
ごちゃごちゃしていてわかりにくいのですが、ボード周りの開発環境です。
マイコンボードをIOボードにつなげ、ここにJTAGと232Cシリアルをつないでいます。
ボードの説明書ではSAM-BAでアップロードしたプログラムの動作をシリアルで確認するとのことだったのですが、何回やってもうまくいきませんでした。あとフラッシュ書き換えのたびにSAM-BAモードにするのが非常に面倒くさいです。
そこでJTAGをつないでみたのですが、こっちだとプログラムが正常に動作しました。PUTTYやSerial Debuggerでもちゃんと受信できてます。まだインラインでのデバッグはやってませんが、直接フラッシュに書き込みできるというだけでも使うメリットがあるのではないかと思われます。
サーボ用コネクタ変換・給電ハーネス
RS485接続のサーボのコントロール実験をするのに、RS-U485とRS301CRのコネクタが違うので変換ハーネスが必要になりました。どうして同じメーカーなのにコネクタが違うんだろう…。
あとRS-U485は給電してくれないので、バッテリー接続端子も必要。でどうせ作るなら、Dynamixelの接続の際の実験もできるようにと思い、多用途のハーネスにします。
2回路3接点スイッチも使って、ストレートクロス変換スイッチも付けます。ただ後から気づいたのですが、RS485は232と違ってストレートクロスは関係ないんですね。2線の電位差で半二重通信をする模様。
横方向でのパターンが続いている基板を使いました。切り出しの目印としてマジックで線を引きます。
切り出しです。掃除機で吸い取りながらドレメルを当てて切り取ります。
面倒くさがりなので、パターンの切断もドレメルでやってしまいました。横のパターンを少し切ってしまいましたが…。
へたくそ半田。
端子圧着は今回初挑戦です。2mmピッチのピンとかになると、位置あわせで目が疲れます。
差し込むとこんな感じでできあがり。
ハーネスできあがりの概要図です。お恥ずかしながら、実はこの時点ではJSTコネクタの向きが逆です。
JSTのハーネスも作りました。コンタクトピンを圧着していて思ったのは、ケーブル被覆を挟む部分で力を入れすぎると、このぐらいのゲージだと切れてしまうんですね。1本切れると全部やり直しなので痛いです。このハーネスができるまでに2回やってしまいました。コンタクトピン8本が無駄になってます。
半田吸い取り線です。ラジコンのバッテリーの接続用に使っていたのですが、今回本業をこなしてもらうことになりました。コネクタの半田をこれで吸い取って、逆向きに差し替えました。
ナットとワッシャー
平らに固定できる万力(バイス)
2008年10月22日水曜日
2008年10月20日月曜日
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と排他利用のはずなのでパス
という配置が可能
そうすると、
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と排他利用のはずなのでパス
という配置が可能
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が出ていないのが痛いです。
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による動作テスト
サーボのテスト
③ 図面完成
バッテリーの設置確認 ヒンジ?マジックテープ?
④ センサ選定
センサーを選ぶ
センターを接続してテスト
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コンバータを増やすことで対応するという手も有りですが。
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を使う意味を出したいですねぇ。
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日金曜日
2008年10月8日水曜日
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本噛んでるというのもあほらしいのですが、さすがに直づけする気にはなれないので。ジャンパで切り離せるみたいですが、これも融通が…。さてどうしたものか。
ロボットが動作する際にはデットウェイト、スペースの邪魔になるだけなのですが、
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メスのハーネスを作ろうかと思います。電気抵抗を少なくするためにはケーブル直づけのほうがよいのはもちろんなのですが、そもそもこの基板を通してサーボに電源供給をする事自体がいかがなものかと思っていますので、ここは今後の検討課題ですね。
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ならそんなに高くないですしね。
で、
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
・腕が長くなってリーチが長くなる
・足裏が大きくできる
というメリットがありますが、
・足だけ長すぎると重心規定に引っかかる
・バランスも悪くなる
・サーボに負担がかかる
ということになりますね。
今回利用を検討している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ボード入手
2008年9月30日火曜日
HPIのRS301のコネクタ
HPIのRS301のコネクタの雄が何なのかわからなかったのですが、いろいろ探った結果、
・ヒロセ DF11-4DEP-2C
の様でした。
ネットで検索したら、通販で入手できそうなのがDigikeyぐらい。
なんで日本製部品をアメリカから購入せんとあかんの???
・ヒロセ DF11-4DEP-2C
の様でした。
ネットで検索したら、通販で入手できそうなのがDigikeyぐらい。
なんで日本製部品をアメリカから購入せんとあかんの???
AT91SAM7S256マイコンボード
買い物 共立電子にて
堺筋線沿線で仕事があったので、ついでに恵美須町まで遠征。シリコンハウス共立ですが、数ヶ月ぶりに来ました。

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

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

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

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

精密用の半田ごてが無かったので追加調達です。でもこれで半田ごてばかり4本になってしましました。0.6mmの半田が特価だったのでこれもGETです。
コネクタボード作成用に便利なパターンの基板がないか探していたのですあが、これがビンゴでした。オリジナル商品でもないようですが。
フタバ標準のJSTコネクタの方がRobotisのMolexよりも入手しやすいと思っていたのですが、行ってみると、JSTのコンタクトピンが品切れでした。これではお話しにならないのでMolexでいくことにしました。
写真に写っているヘッダピンは半田付けの練習用です。
電源用コネクタはSAM I/OボードそのままでJSTのVHにしました。
今日の高かった1号。L型のヘッダピンが欲しかったのですが、10pinnしかいらないのにこれしか無くて880円もしました。
今日の高かった2号。まあこれは仕方ないかと…。
精密用の半田ごてが無かったので追加調達です。でもこれで半田ごてばかり4本になってしましました。0.6mmの半田が特価だったのでこれもGETです。
登録:
投稿 (Atom)