« 2006年03月 | メイン | 2006年05月 »

2006年04月30日

インターフェース付録基板でロボット制御(その6)

今日は、浅草ギ研の3軸加速度センサーをつないでみます。

まず、3軸加速度センサーを載せたサブ基板を作成。
060430ag2.JPG

こんな感じで取り付けます。
060430subbrd1.JPG
リセットボタンと、電源コネクタも付けました。
060430subbrd2.JPG
(miniSDスロットが半田付けしてありますが、当分使いません(笑))

プログラム書き込み時のジャンパーピンの脱着ができなくなったので、裏側にモード切替スイッチをつけました。
060430modesw.JPG

投稿者 hiranoy : 05:10 | コメント (0)

秋葉へ買出し

060430minis.JPG
秋葉へ昼ごろに到着し、秋月や千石で部品を購入。ピンヘッダとスイッチなど。
千石の2号店で、ミニスタジオのサーボのブラケット付きのセットを2個購入。
ザコン館の書籍コーナーにいってみたところ、藤沢市でほとんど見なくなったインターフェース6月号は、まだ山のようにありました。
ロボット王国で、圧着工具(ホーザンのP-706)を購入。
ラジオデパートで、アルミのアングルを購入。
で16時くらいに秋葉原を離れました。アールティーに行こうかとも思ったのですが、「土曜ってやってるんだっけ?」と思って行きませんでした。行っておけばよかった。

投稿者 hiranoy : 01:04 | コメント (0)

2006年04月29日

インターフェース付録基板でロボット制御(その5)

060429haisen.JPG
J1コネクタとサーボ中継基板までのケーブルを作ってみました。(ピンの圧接までしたところで、コネクタシェルの手持ちが切れていることに気がつきました。週末に秋葉原に買出しに行く予定です)

このケーブルで引っ張り出している信号は、サーボのPWM信号のみ32ch分ですので、サーボ用電源は別になります。
PWMと電源を合流させて、サーボに行く3線に変換するのが、下の中継基板になります。
060409chuukei2.JPG

4ch用だと4x5のピンヘッダを配置した基板になり、結線は下記のようなパターンになります。赤枠がサーボに行くコネクタ、緑枠がSH2からPWM信号を受け取るコネクタ、青枠がサーボ電源に行くコネクタ、となります。サーボ電源のGNDとCPUのGNDはどこかでつないでおく必要があります。
chuukei4.GIF

--------------------
ここをお読みいただいている方はほとんど関係ないと思いますが、このSH2基板のJTAG(H-UDI)のコネクタのピン配置はミスではないかと思われるところを見つけました。少なくとも、Computexが出しているSH2用のJTAGICEのピン配置と異なっています。ピンヘッダのピン番号は、千鳥状に振られますが、長手方向に直線状に振られていると勘違いした配置になっています。JTAGICEを使われる方はご注意ください。(ピン番を入れ替えるケーブルの作成が必要になります)

投稿者 hiranoy : 04:40 | コメント (0)

2006年04月28日

インターフェース付録基板でロボット制御(その4)

今日は、ポジションキャプチャの準備です。

KONDOのRED Versionのポジションキャプチャ機能は、下記の手順で行います。
(1) 50,100,150,200us いずれかのパルスをサーボに出力する。
(2) 50usほど待つ。
(3) I/Oポートを入力に切り替える。(I/Oポートはプルアップしておく必要がある)
(4) サーボから送られてくるパルスの幅を計測する。

そのため、プルアップ抵抗を取り付けます。とりあえず8本(PC0,2,4,6,8,10,12,14)に付けました。
060428pullup.JPG

手順1は簡単で、昨日のプログラムのpls_wid[] の値を 9 にすれば 50us。17 にすれば 100us のパルスを出力できます。
今日は、手順1~3までをやって、サーボからのポジションキャプチャ出力電圧を測定してみました。
久々にハンディオシロを取り出して測定したところ、3Vくらいになっていました。
「サーボからの出力電圧が5VになっていてCPUを壊すかも」という予想はうれしいことに外れました。
今日はココまで。

投稿者 hiranoy : 03:15 | コメント (0)

2006年04月27日

インターフェース付録基板でロボット制御(その3)

今日は、32ch分のサーボパルスを作ります。
昨日の、sh7144_1.c を引き続きいじって、下記のように修正しました。
sh7144_1.c

このプログラムの中で、一番の肝が、

out_data = (out_data << 1) | (pulse_width[ch] >= loop_cnt);

の行です。
現在のループカウンタと、各chのパルス幅の指定値を比較して、今回のループで信号をHighにするべきかLowにするべきかを決定しています。しかも、そのとき if 文を使わないのがきれいなパルスを出すためのコツです。(if文は真のときの処理と、偽のときの処理時間が異なる可能性がある)

これを実行すると、下記のようなPWMの波形が出力されます。ロジアナの都合で16chのみの波形ですが、実際は、ポートCとポートDから、32ch分の波形が出力されてます。

このソフトでは、波形の立ち下がりエッジを揃えています。デジタルサーボは、波形の立下り後にそのとき受け取ったパルス幅で指示された位置に向けて回転を開始するため、立下りエッジをそろえると、全てのサーボを同時に動作開始することができます。(突入電流とかを考えると、このやりかたは良くないかもしれません)

波形1周期(クリックで拡大)


波形詳細(クリックで拡大)

pls_wid[]の値を1増やすと6.29usパルス幅が延びます。
700us~2300us は、112~367 の値になりますので、180度を256段階で動かすことが出来ます。
(単純に時間を6.29で割って計算すると、111~366なのですが、プログラムの都合で+1した値を渡してます)

今回は、処理の流れを見やすくするためCで書きました。ですので、時間分解能も 6.29us と中途半端な値になってます。今後は、これをアセンブラで書き直して、分解能をあげるとともに、1カウントの時間もきっちりした時間になるように調整する予定です。

---------------------------
ONOさんの電脳壁新聞で、昨日のエントリが、いわゆる「1面トップ」にしていただきました。ありがとうございます。

---------------------------
今日は出張で北九州に泊まってます。SISOさんを見習って、出張用実験セットを持ってやってきたので、作業を進めることが出来ました。
丁度今日は北九州空港で、安川電機のロボットが見られるところだったのですが、JALの機材故障のため載る予定だった羽田→北九州の便が欠航して、福岡空港に振り替えたので見ることが出来ませんでした。

投稿者 hiranoy : 03:45 | コメント (1)

2006年04月26日

インターフェース付録基板でロボット制御(その2)

とりあえず、8冊購入。
060426IF6.JPG

で、今日のテーマは「サーボは3.3Vで動くか」です。
確認のために、1500us→700us→2300usのパルスを出力するソフトを作ります。
各パルスは20ms周期で繰り返し出力し、50回同じパルスを出したら、次のパルス幅にうつります。
付録のCD-ROMに入っている「演習1_LEDの点滅」をいじって作ります。まず、「演習1_LEDの点滅」をそのまま実行してロジアナで周期を測定したところ、83.2ms点灯、83.2ms消灯を繰り返していることが分かりました。1000000回のループが83.2msなので、100usは1202回のループで作ることができそうです。
そして出来上がったプログラムはこんな感じです。→sh7144_1.c

060426SH2-Servo.JPG
で、こんな感じでサーボ(KRS-2350HV)をつないで確認したところ、うまく動きました。とりあえず連載が続けられそうです。(笑)
・PE15端子(J2コネクタ19番ピン)にサーボの制御信号端子をつなぐ
・サーボのGNDを電源のGNDにつなぐ
・サーボのVcc端子を電源の+5Vにつなぐ

動画はこちら(QuickTimeで再生可能です)→Download file
2350HVを+5Vで動かしているので、非常にゆっくりした動作です。

投稿者 hiranoy : 02:14 | コメント (10)

2006年04月25日

インターフェース付録基板でロボット制御(その1)

待ちに待ったSH2基板が付録のインターフェースが発売されました。ここしばらくは、この基板でサーボの制御などのレポートをして行こうと思います。
ただし、+3.3Vの信号でサーボが動かなかったら、明日にでもこの連載は終了します。(笑)
実は既にKRS4014HVは+3.3Vで動かないとKONDOが発表してます。逆に読むと、4000番代以外は+3.3Vでうごくのかなぁと思ってます。
-------------------------
KRS-4014HV ご使用上の注意
KRS-4014HVおよび今後発売されるシリアル対応サーボでは、次のような制限事項が生じます。ご了承の上ご使用ください。
1、KRS-4014HVは、PWM信号で使用する場合でも、信号の波高値として5V以上必要です。このため、KRG-2(ツインジャイロ)に接続した場合には動作しません。
-------------------------

060425Interface6.JPG

で早速ピンヘッダやシリアルのコネクタを実装したのがこの状態。
060425SH2-Comp.JPG

シリアルのコネクタは3ピンのコネクタを使いました。3ピンぐらいなら、D-SUBとのピンのピッチの違いも何とか(ちょっと曲げて)実装できます。そして4番ピンと5番ピンをつなげます。
060425SH2-45short.JPG

シリアル3ピンコネクタとD-SUB9ピンメスコネクタをケーブルでつないで、PCのシリアルポートに直接挿さるようにしました。この基板のシリアルポートは、基板上でクロスした状態となっているので、ストレート結線でPCと通信できます。

電源を挿す場所は、シリアルコネクタのすぐ上のあたりにあります。38番ピンに+3.6V~+6.0V。40番ピンにGNDをつなぎます。わたしは、使わなくなった携帯の電源をつなぎました。
060425SH2-Power.JPG

そして、ジャンパーピンをショートして、書き込みモードにし、メカボンBのプログラムのファイルを書き込んでみて、うまく書き込めることを確認しました。(動かすのが目的ではなく、書き込めるかのテストが目的)

以下の写真が今日の作業の全て。
060425SH2-Ov.JPG

投稿者 hiranoy : 03:13 | コメント (5)

2006年04月24日

スプリングファイト in RoboCountryIVに参加してきました

荷物の検査で時間が取られる可能性を考えて、飛行機の出発45分前に羽田空港に到着。
しかしこんなときに限って、「高松空港が霧のため30分遅発」とのアナウンス。

ロボットや工具が入ったバッグは預けて、PCとリポ電池が入ったリュックを手荷物検査。心配しましたが、すんなり通りました。

10時ごろ高松空港に到着。荷物受取場で道楽さんと遭遇、同じ飛行機だったようです。そして、こどもの国に10時20分くらいに到着。

試合会場のホールでは、先に到着されていた方々がデモやバトルをされていました。が、わたしはあといくつか作りたいモーションがあったので、いそいで脇の控え室に向かいました。

控え室はちょっと狭いかな。(去年のRCIVは、ホールからは遠かったのですが、その分作業スペースは広かった。どちらも一長一短ですが)
naoさんの隣に机を半分お借りして作業場所としました。
横攻撃のモーションを2つ作って、ボタンの割り当てを行って、作業完了しました。

11時からは、20名くらいで近くのうどん屋へ。「ポン酢の小」を注文。本場だけあって、うまかった。

12時50分からオープニング。そしてトーナメント1回戦が開始。
メカボンBは、mabotanさんのGURDIANと対戦。
腰旋回+長い手攻撃で攻めたのですが、威力が無く、スコアレスドローとなりました。で審査員の判定となり、3-0でGURDIANが勝ちました。モーションの完成度がGURDIAN勝利の主な理由でした。メカボンBまだまだつくりこみが足りないので、当然の結果でした。

その後は、ランブルのみの参加でしたので、トーナメントをじっくり見ることが出来ました。

鬼丸 対 HSWR-07では、HSWRの前転攻撃でびくともしない鬼丸が見事でした。

ランブルでは、(確か)7体で行われたのですが、最終的に4体(ごえん、キングカイザーぷち、ベーチック、メカボンB)が残り、観客の拍手で「ごえん」に決まりました。あのかわいらしさと、転んだらお賽銭が中から出てくるというのは、観客の心をわしづかみにしたようです。

決勝戦は、キングカイザーとヨゴカスタムで、熱い戦いでしたが、キングカイザーが勝ちました。
(決勝の写真↓)
060423RCIV2.JPG

その後、表彰式やら、記念撮影やら。
(ロボットの集合写真↓)
060423RCIV8.JPG

次のRCIVは来年かと思っていたら、今年の8/20に開催されるそうです。

その後、17時くらいまで、控え室で皆さんとおしゃべりして、バスで空港に向かいました。

投稿者 hiranoy : 18:47 | コメント (0)

2006年04月23日

修理完了。RCIV出発前

土曜の昼間は、修理の続き。無事修理完了しました。

夜の部で、大同工大で急ごしらえしたソフトをきちんとまとめて、腰の旋回を使う機能を追加。

深夜の部で、モーション作成。(写真は、モーション作成中のもの)
060423PrepRCIV.JPG

6時過ぎにRCIVの開催地、高松に向けて出発予定。

投稿者 hiranoy : 05:05 | コメント (4)

2006年04月22日

修理の続きとサーボチェッカーの作成

左肩ピッチ軸のサーボはやはり壊れていました。壊れていた箇所は、アッパーケースの中央のシャフトを固定している穴の破壊でした。これは、メタルブッシングアッパーケースなら補強してあるところですが、このサーボだけ、追加で購入たものだったのでメタルブッシングアッパーケースに交換するのを忘れていました。
アッパーケースを交換して、組みつけようと思ったのですが、FETが死んでいないとも限りません。そこで手軽なサーボチェッカーを作ろうと作り始めました。目標は、ボタンを押すとサーボが動く(ROBOZAKの付録にあったやつに似ている)ものです。

060422SrvChk.JPG
そして4時間くらいの作業の後、8ピンPIC、12F629とタクトスイッチを小亀に重ねて、超小型のサーボチェッカーが出来ました。突起を除くとほぼ1cmの立方体です。通電するとすぐに1500usのパルスを出し始め、ボタンを押すと、1秒おきに700usと2300usのパルスを交互に出します。

実際の使用時は、こんな(下の写真)感じです。これらに、+5Vの電源をつなげばサーボが動きます。
060422SrvChkOv.JPG

投稿者 hiranoy : 05:09 | コメント (0)

2006年04月21日

修理を開始しました

060421repair.JPG
メカボンBの修理を開始しました。
まずは、大同工大で調整中に壊してしまった、腰のヨー軸のサーボの交換です。
よりによって一番ばらしにくいところのサーボなので大変でしたが、無事交換終了。

各サーボの動きを手で動かしてチェックしていたら、左肩ピッチ軸がスムーズに回らない。
ガクッガクッという感じ。そういえば居酒屋バトルで片方の肩がうまく動かなくて、立ち上がれなかったのを思い出した。予備のサーボは腰に使ってしまったので、二個一するしかなさそう。続きは明日。

投稿者 hiranoy : 02:32 | コメント (0)

2006年04月20日

掃除機を導入

060420sweeper.JPG
深夜のテレビショッピングで紹介していた「スイブル・スイーパー」という掃除機(正確には電動ほうき)がヤフオクのショップで扱っていたので2400円で落札。ネット通販では5000円くらい。

使ってみたところ、予想以上にブラシの回転音がうるさい。
でも、配線の切りくずや、配線の被服や、結束バンドの切りくずなど、普通の吸引タイプの掃除機ではイマイチ吸ってくれなかったごみをシャカシャカと音を立てながらかき集めてくれます。
軽いのもGOOD。
油を注せば、音も静かになるかもしれません。

投稿者 hiranoy : 02:16 | コメント (0)

2006年04月19日

2350と2350HVの基板の比較

仮説:2350と2350HVは、電源のレギュレータの耐圧を変更しただけではないのか?
(ようは、RCB-1とRCB-1HV程度の違いしかないのではないか?ということ)

というわけで比べてみました。

まず2350の基板の写真。
060322PCB2350.JPG

つぎに2350HVの写真。
060322PCB2350HV.JPG

仮説は脆くも崩れ去りました。パターンや部品の数が微妙に違います。
仮説が正しかったら、レギュレータICを変えるだけでHVに変わるのではと考えたので、残念な結果となりました。

投稿者 hiranoy : 02:25 | コメント (0)

2006年04月18日

トランジスタ技術

本屋に寄ったら、面白いものを発見。
060418toragi.JPG
RCWORLDにトランジスタ技術(トラ技)が進出か?と思うような見出し。
この2冊が平積みで横に並べて置いてありました。店員さんが狙ったのか、たまたまなのか。

情報処理技術者試験は、今回から模範解答が翌日発表(記述式を除く)になったので、エンベデッドの試験も午前の部に関して自己採点ができました。87%正解だったので、午前はひとまずクリア。

投稿者 hiranoy : 02:40 | コメント (0)

2006年04月17日

情報処理技術者試験(エンベデッド)を受験

名古屋からの帰りも夜行バスで、新宿に着いたのが5時半でした。
今日は、情報処理技術者試験(エンベデッド)の試験日。

まず受験票に貼る顔写真を撮ろうと、新宿を30分ほどうろうろしたのですが見つからず、明大前に移動。
すると駅前に証明写真の機械があって助かりました。
そして、試験会場の最寄駅西永福に移動し、近くのマクドナルドで1時間ほど試験勉強。9時前に試験会場の高千穂大学に移動して、開始時間まで試験勉強。

午前の問題は、まあまあ解けました。
午後1の問題も、まあまあ解けました。
午後2の問題は、...一応解答欄は埋めました。という感じ。

会場が寒かったので、試験官が暖房を入れようとしたら、「暑いです」というひとが一人いて、暖房が切れた状態で、1日過ごしたので、午後2のときは、鼻がずるずるでした。

投稿者 hiranoy : 01:01 | コメント (0)

2006年04月16日

大同工大ロボットバトルに参加

11時ちょっとすぎに、大同工大に到着。受付を済ませて整備ブースへ。
1人1台の大きなテーブルでゆったりと作業が出来ました。

まだ動かない状態でしたが、12時頃ロボットの紹介(写真撮影)ということで、全員のロボットをリングに載せました。(下の写真)
060415stage.JPG

モーション登録のためのSH2のシリアル通信の0番が調子が悪く、いろいろやったのですがダメだったので、急遽、プログラム書き込み専用にしていたシリアルの1番を使うように修正しました。このあたりで、予選に間に合わないことになり予選を辞退しました。

次に出る競技は、16時半くらいに行われる予選落ちロボットでのランブルです。
なんとかホームポジションの登録を行い、以前から使っていた歩行モーションが再生できるようになったところで、ランブルへ。

ランブルでは、起き上がりができずに敗退しました。(起き上がりモーションも以前のままで、手の長さが変わったため、起き上がり出来ませんでした)

ランブル後、会場の外を見たら、こんなバトルが(下の写真)。
060415ikavsboroid.JPG

その後、閉会式まで居酒屋バトルに向けて起き上がりモーションと、攻撃モーションを仕込みました。
そんなこんなで、いつもなのですが、他の参加者の方々とあまりお話できませんでした。
KAZZさんに、「今度KZR-Editerを使わせてもらいます」と挨拶しました。
吉村さんに「RTでブラケットもらいました、ありがとうございました」とお礼をいいました。

居酒屋バトルは、2枚の1/4リングをつないで行われました。
メカボンBは、キングカイザーと戦わせていただきましたが、あっさり倒されました。レフェリーなどはいませんでしたので、勝敗はつきませんでしたが、久々のバトルをしばらく楽しみました。

大同工大の皆さん、参加者の皆さん、ロボットフォースの皆さん、お疲れ様でした。楽しく過ごすことが出来ました。

投稿者 hiranoy : 07:44 | コメント (2)

2006年04月15日

名古屋に到着、そして準備

060415bus.JPG
昨晩、新宿を出発し、朝5時に夜行バスで名古屋に到着しました。
さっそく前に名古屋に来たときに見つけた名駅そばの漫画喫茶へ。
週末のためか、めちゃ込みだったため、広いペア席に1人料金で案内されました。(ラッキー)

電源を確保して、サーボ全チャネルに1500usのパルスを出すようにしてテスト。
あれ、2つのサーボが動きません。SH2のポートBの上位側2ビットがだめ。ポートBの出力は2ビットシフトして使うことにしていたのに、シフトを忘れていました。これで解決。

続いて、全チャネルからポジションキャプチャをする設定にして、手で関節を動かし、どのサーボがどのチャネルに繋がっているかを調査しました。(配線のスッキリやしやすさを優先したため、この時点まで、どのチャネルに繋がっているか分かりませんでした。)

輸送や配線ミスで1つくらい動かないサーボがあるかもと考えていましたが、運よく全てのサーボが問題なく動きました。

そして、PSゲームコントローラとの接続もチェックしてOKに。
10時半くらいに、大同工大に向けて、漫画喫茶を出ました。

投稿者 hiranoy : 10:30 | コメント (0)

2006年04月14日

メカ、電気が完成。ソフトは、...

060414bonb-daido.JPG
電源の配線をやって、PSコントローラとの接続のケーブルを作り直して、ジャイロつないで。
というわけで、電気系まで完成しました。
あとはソフトなんですが、70%くらいでしょうか。まだモーションの再生が出来ません。

これで名古屋へ出発前の作業は終了です。
とにかく、忘れ物しないようにして、名古屋で何とかしようと思います。

投稿者 hiranoy : 04:48 | コメント (0)

2006年04月13日

配線スッキリ完成

配線スッキリ完成しました。
あとは、電源周りを完成させれば、動き出すはず。

名古屋の往復は、往路、復路ともに夜行バスにしました。
ですので、金曜の夜は作業できません。本日(13日)深夜の作業が事前に出来る最後の作業になります。はたしてどこまでできるか。

投稿者 hiranoy : 07:10 | コメント (0)

2006年04月12日

腕もスッキリ

060412arm-sukkiri.JPG
腕もモールを使ってスッキリさせました。
これで、胴体、脚x2、腕x2の中継基板までの配線スッキリ完了。
明日は、CPUボードや電源と、これらの中継基板を接続する予定です。

投稿者 hiranoy : 03:57 | コメント (0)

2006年04月11日

配線モールでさらにスッキリ

060411mole.JPG
配線用のモールを使って、さらにすっきりにしました。(昨日の写真と比べると、違いが良く分かると思います)
脚の配線は、ほぼ終わったので、明日は腕の配線をまとめようと思います。

投稿者 hiranoy : 03:23 | コメント (0)

2006年04月10日

足首にロール軸追加。脚の配線スッキリ

060410sukkiri.JPG
脚の長さを測ったところ220mm。「ガーン」。ROBO-ONE規格からすると、足裏の横幅は66mmでないといけないのですが、いつも使っている足裏は70mm。というわけで、脚を長くするため、足首のロール軸を復活させました。ただし、ほとんど動かさない予定。
続いて、脚の配線スッキリを行いました。サーボの線はそのまま使うことにしたので、腿の裏にグネグネとまとめました。
今日はココまで。大同工大バトルに間に合うのか?

投稿者 hiranoy : 03:42 | コメント (0)

2006年04月09日

中継基板を作成

060409chuukei2.JPG
配線スッキリのための中継基板を作成しました。
上の写真の上側の2個は、4つのサーボの線をまとめる基板。電源を横方向にまとめて取り出し、縦方向に、制御信号をまとめて取り出します。
上の写真の下側の2個も、4つのサーボの線をまとめる基板なのですが、制御信号を取り出すラインを5つ分用意して、どこか一つ使わないことで、どの位置からでも電源をまとめた線が取り出せるようにしました。
(基板を裏面から見た写真)
060409chuukei1.JPG

投稿者 hiranoy : 04:23 | コメント (0)

2006年04月08日

配線スッキリに着手

060408barabara.JPG
加速度センサの読み込みの予定でしたが、配線スッキリをやることにしました。
サーボに最初から付いているケーブルを切って短くするか、そのまま使うか(長い分は束ねる)をいろいろ考えましたが、そのままでいくことにしました。
それと、腰のヨー軸の旋回の際にねじの頭(バインドねじ)が干渉するところがあったので、明日、なべねじを買いに行って取り替えたいと思います。
今日は、(写真のように)ロボットがバラバラの状態で終了です。

投稿者 hiranoy : 03:27 | コメント (0)

2006年04月07日

SH2に浅草ギ研の3軸加速度センサをつなぐ

060407GSensor.JPG
SH2に浅草ギ研の3軸加速度センサをつなぐべく、半田付けをしました。
つなぐ端子は、SH2のAN0,AN1,AN2端子にしました。
今日はこれだけです。ちょっとここ3日ほど寝不足なもんで。
明日は、ソフトを作ります。

ところで、昨日のTBSのロボワンワールドカップを見たのですが、最後競技での5mの高さからのロボットの落下は、見ていて胸が締め付けられる思いでした。

投稿者 hiranoy : 03:11 | コメント (0)

2006年04月06日

SH2にPS用ワイヤレスゲームパッドをつなぐ実験


↑は、SH2とPS用PADのI/F回路図

PS用ワイヤレスゲームパッドをつなぐ件の続き。
昨日うまく繋がらなかったわけですが、

・PSにつないで、ワイヤレスゲームパッドが故障していないかチェック→OK。

よって、考えられる原因は、
(1)7V系の電源を供給していないから。
(2)3V系の電源の電流不足。
(3)同期シリアルのクロックが、250KHzになっていないから。
となります。

で、実験開始。
まずは、電気的な改造が不要な(3)の確認から。
同期クロック生成のループにも入っていたprintf()などを追い出したら、周波数が500KHzくらいになって、もちろんこれではダメ。今度は、ディレイループなどを入れて時間調整し、140KHzくらいに。これはOK。

そして、ACKの処理をきちんとやって、ノーマルコントローラでOKとなることを確認。
(最後の1バイトにはACKが来ないことを忘れていて、ちょっとはまりました)

その後、ワイヤレスパッドにつなぎ変えたところ。見事動きました。
電源系の問題でなくて非常に幸運でした。

今日はココまで。

投稿者 hiranoy : 03:37 | コメント (0)

2006年04月05日

SH2にPS用ゲームパッドをつなぐ実験成功

060405PSBrdPad.JPG
SH2にPS用ゲームパッドをつなぐ実験ですが、ソフトのバグを取りながら、何とか成功しました。
うまくいったのは、PS(2ではない)に付いていた、アナログなしのコントローラです。
プログラムは、間に合わせの汚いコードなので、アップは後日にしようと思います。

で喜んだのもつかの間、ロボットの操縦用に買っておいたHORIのワイヤレスコントローラをつないでみたところ、認識されませんでした。パッド側の電池の問題かと思い、新品の電池にしてみましたがだめ、受信側の緑のLEDが長い周期の点滅状態となります。正常だと常時点灯らしい。パッド側の電池を抜くと、速い点滅になります。
受信側の+7Vの電源を供給していないのがだめなのかもしれません。故障も疑われるので、PS本体につないで確認してみようと思います。

今日はここまで。

投稿者 hiranoy : 02:52 | コメント (0)

2006年04月04日

SH2にPS用ゲームパッドをつなぐ実験(基板を作成)

060404PSbrd.JPG
昨日は、「ブレッドボードで」と書いたものの、「半田付けしたい病」が出たため、PSゲームパッドとSH2CPU基板をつなぐ基板を作りました。

手前の灰色の四角い物体は、捨ててあったPSから取り出したゲームパッドのコネクタです。

今日はこれだけ。(といっても3時間半かかってる)

投稿者 hiranoy : 04:01 | コメント (0)

2006年04月03日

SH2にPS用ゲームパッドをつなぐ実験を開始

SH2にPS用ゲームパッドをつなぐ実験を始めました。
PS用ゲームパッドの技術資料はかしまさんのホームページの資料を参考にさせていただきました。

厄介なところが、私が使っているSH2/7045Fは、5V電源で、PS用ゲームパッドが、3.3V(3.6V?)というところです。(マイコンやPCでゲームパッドを使う例で、直結している例もあったのですが、安全策をとります)

レベル変換は、手持ちのICで何とかしたいので、以下のように接続しました。

・SH2→PADの信号は、74LS06でオープンコレクタ出力に変換し、3.3V電源に3.3KΩでプルアップします。こうすると、信号の触れ幅は、0~3.3Vになるので、ゲームパッド側の回路に負担をかけることがなくなります。

・PAD→SH2の信号は、SH2が3.3VあればHレベルとして認識できますので、直結します。

この変換回路は、ブレッドボード上に作っていきます。(実験終了後に基板にします)

信号線がSH2から見て、出力3本、入力2本必要になりますので、この割り振り(ピンアサイン)を決めました。

今日は、ここまで。

投稿者 hiranoy : 02:43 | コメント (0)

2006年04月02日

SH2でタイマーを使わずにサーボ制御(キャプチャも完成)

ポジションキャプチャも完成しました。
そして、700μs~2300μsの範囲で255段階の分解能となるように、キャプチャもパルス出力も、NOPコードなどを入れて時間調整しました。

キャラクタリスティックチェンジ

ポジションキャプチャ信号取り込み

サーボパルス出力

の処理が、24サーボ分同時にできて、5.5msで終了します。
(パルス出力の方は時間に余裕があったので、32サーボ分の処理が出来るようにしました)
10ms周期で制御するなら、のこりの4.5msでセンサを読み込んだり、次の角度情報を用意すればよいということになります。

サーボへのパルス出力は、パルスのHからLへの立下りが全チャネル同時になるようにしています。
デジタルサーボは、パルスの立下りを待って、モータの制御を開始するので、パルスのお尻をあわせることで、全ての軸が同時に動き出す効果が期待できます。

ソースファイルは、長くなるので、下記のリンクにおいておきました。(SH2/YellowASM)
Download file

明日から、SH2とPSゲームパッドの接続をやろうと考えています。

投稿者 hiranoy : 02:33 | コメント (0)

2006年04月01日

SH2でタイマーを使わずにサーボ制御(キャプチャにトライ)

ポジションキャプチャに取り掛かったのですが、50μ秒のパルスを与えた後に、端子を出力ポートから入力ポートに設定変更して2500μ秒待っても、サーボ(2350ICSRED)からポジションキャプチャのパルスが出てきません。100μ秒のパルスを与えるのも試しましたが同じでした。

ロジアナで観測すると、入力ポートにした2500μ秒の間、プルアップ抵抗によるHレベルが2500μ秒続いてるだけという状態です。

というわけで、明日へ続きます。

投稿者 hiranoy : 05:34 | コメント (0)