2013/02/07

X-CTUの動作不良

2足歩行のmbed+bluetoothドングルのspp通信がうまくいかない.
(serialのバグ?mbedのブラックボックスにハマった?)

仕方がないのでsh7137(滝田技研)+Xbee wifiに構成を変更した.

XbeeシリーズはPCと専用ソフトでもって通信方式形式、場合によってはA/D変換などの機能を設定できる.
そのソフトがX-CTUというのだが、こいつがどうにも不安定でかなわない.
原因を追うとX-CTUが設定値を読み込み始めるとXbeeがリセットしている模様.
ソフト側ではなく回路側の問題だった.
(Xbeeは起動電流が極端に大きいらしい.)

 秋月の"XBee USBインターフェースボードキット"の3.3Vラインに470uFをバイパス.
usbバスパワーでも問題なく動作するようになった.

2012/11/15

設計完了

 CADを書き終えた.
2860g
ネジ入れればちょうど3kgといった所か.

二足モード
全肢とも平行リンク独立ピッチである.
 肢の根本にロールヨーピッチ軸(非直行)があるので大方どんな姿勢でも取ることができる.
腰ヨーがないので起き上がりと前攻撃が難しい^^;

四足モード
四足にすると足首についたPEEKスペーサが足裏として接地する. 
四足時は無駄な自由度が多い.故にキモい動きができる.
頭のピラミッドにはセンサとコネクタハブが入る

足の機構
膝サーボ1つで2つの平行リンクを駆動する.
足の前後は独立ピッチで行わせる.
また、ゴムひもをかけることでトルク補助を行う .


2012/11/06

形にはしたが

臓物もろもろ込で3kg オーバー orz

サーボモータ(KRS-4034)を重量を実測したところ
モータ+ホーン+フリーホーン+ケーブルで71g.
昨日は65gで計算していたので
モータ(24ケ)だけで144gほど追加された事になる.

これから修正.
もうシリアルリンクでいいんじゃないだろうか

2012/11/04

重量が・・・

ひたすらに重い.
これでネジとバッテリーが計算に入ってないのです.

以下考えられる改良点
ベアリング→ブッシュで  -100g
スラストベアリング→テフロンスペーサで -120g
ロールの片持ちやめる -90g
削りだし→板金 ?g
ピッチ間を短くする ?g
5mm厚→3mm厚にする(3mm厚にM2側面タップ) ?g

2012/11/01

軸配置

どっちにするかな

2軸直行×2
ロールヨーピッチ
稼働範囲広い オフセットが面倒

3軸直行
ヨーロールピッチ
稼働範囲狭い フレーム細し かっちょいい

Inventorでインボリュート歯車

 Inventorと歯型データのみで歯車のソリッドモデルを作る方法

 小原歯車工業で歯車のDXFデータを落とす(歯型計算を利用)
Inventorのスケッチ から"Autocadファイルを挿入"
歯型の部分を押し出しサーフェイス
 サーフェスをミラー
 歯数だけ円環状パターン
念のため、サーフェイスからステッチを実行
 グローバル平面にスケッチで断面エッジを投影
お好みの厚さで押し出し
サーフェイスを非表示にして
完成!

2012/06/14

mbedで相手のMACアドレスを指定する

mbedのBlueUsbで接続デバイスのMACアドレスを指定する方法.
TestShell.cppのConnectDevices()を以下のように書き換える.

void ConnectDevices()
    {
        BTDevice* devs[8];
        int count = gHCI->GetDevices(devs,8);
        for (int i = 0; i < count; i++)
        {
            printfBytes("DEVICE CLASS",devs[i]->_info.dev_class,3);
            if (devs[i]->_handle == 0)
            {  
                BD_ADDR* bd = &devs[i]->_info.bdaddr;
                if(bd->addr[5]== 0x## && bd->addr[4]== 0x## && bd->addr[3]== 0x## && bd->addr[2]== 0x## && bd->addr[1]== 0x## && bd->addr[0]== 0x##);
                else continue;

                printf("Connecting to ");
                printf(bd);
                printf("\n");
                gHCI->CreateConnection(bd);
            }
        }
    }

太字部分を追加.
bd->addr[5]を先頭アドレスとして##に接続したいデバイスのMACアドレスを入力する.

これでbluetoothが飛び交う環境でも目的のデバイスに接続できるようになる.