SISO-LAB不定期TOPIC Jun.2004


2004/06/29

充電器と放電器

充電器キットと放電器キットの製作
20040629P00.JPG - 17,828BYTESバッテリをパック化したので、今まで使っていた単3単4用充電器が使えなくなったため、秋月電子の「MAX713使用−ΔV制御超急速充電器キット」と「ニッカド電池放電器キット」を組み立ててみました。超久しぶりのキット物なので、わくわくしながら組み立てて…はい、完成。いや〜、キットっていいですね〜。本当は、ラジコン用の高級充電器の方がいいと思うのですが、残念ながら予算の都合上です。実際、性能の差ってどうなんでしょう?

6本バッテリパック対応ですが、放電器のほうは放電電圧が可変抵抗で調整できますので、これで6本パックでもOK!充電器の方は、そのまま組み立てると6本用になるので、これまたOKです。また、充電電流は830mAなので単4の850mAを1C充電するにはちょうどよさげなので、これもそのまま組み立てました。OFFタイマもそのまま90分で使っています。

そうそう、以前、NiMHの2000mAhを買ったら、直後に2100mAhが発売されたという悲しい話がありましたが、今回はばっちり、850mAhの方にありつけました。まだ、それ以上のは無いと思います。

せっかくなので、手元にあった金具で充電器と放電器を繋げてみました。さすがに2枚つなげると安定感抜群です。後で、時間が合ったら、100円ショップで買った四角い缶のケースに入れようと思っています。最初の計画では、両方とも1つの電源にしようと思っていたのですが、いざ繋いでみたら、充電器のICが発熱してしまいました。どうやら電池がつながっていないと発熱するみたいです。作り方に問題があるんでしょうか…。そんなわけでしょうがないので、とりあえず共通電源はやめて別々に電源コネクタを取り付けました。これも、そのうちちゃんと電源スイッチをつけて、最後には共通化することにしよう。

まずは放電。バッテリパックをつないで…?何も動きません。おっと、「スタートスイッチ」を押さなくてはいけませんでした。お〜、かなり放熱板が熱くなります。この暑いのに、さらに暑い!でも、さくさくっと放電しているようです。他の部品を触ってみても、特に温度が上がっているものはありません(だいたい、最後の通電/動作テストのときは、部品の温度を指で確認しています)。また、バッテリの方も特に熱くなっている様子はありません。終わってからのバッテリパックの電圧を測ってみたら、7.4Vぐらいに落ちています。放電は、6Vで終了するように設定してあり、多分、放電している最中のものを計測して終了させていると思いますので、解放ならばこんなもん…ということにしておこう。

次は充電ですが、こちらも暑い!いや、放熱板が熱いです。電池の温度は「やや熱」ぐらいと言ったらいいでしょうか。そのままほかっておいたら、ちゃんと自動的に終わっていました。こちらもバッテリパックの電圧を測ってみたら8.4Vとバッチリです。

そういえばバッテリパックを作った話のときに書き忘れたのですが、一応、新品やしばらく使わなかったニッケル水素電池は、おまじないがてら、数回、充放電を繰り返してから作りました。これは、以前、ミニ四駆やっていた時の経験からで、「いきなり使うと、どうも調子が悪く、特性にばらつきがある」からです。そんなわけで、ばらついたままの状態でパック化すると後でいろいろ問題が起きそう(例えば、充電時の剳マ化が違うとか)なので、充放電時間がだいたい同じになるまで繰り返してからパックにしました。

なにぶんパック化は初めてですので、どれくらい効果があるのか、また問題なのかはよくわかっていないのですが、「おまじない」ということで。それにしても…キットは楽チンでいいな〜。

おお、ピンセットから煙が!!!
バッテリパックをさらに増産していたら、「あら?」ピンセットから煙がモクモク…なんと、パック前の電池をピンセットでショートさせてしまうという、超初歩的ミスを犯してしまったのでした…。それ以上のことが起きなくて良かったです。みなさんも気をつけましょう。ところで、この電池、まだ大丈夫かな???

 

2004/06/28

バッテリパック

初めてのバッテリパック化
20040628P00.JPG - 15,680BYTES前回は、単3ニッケル水素を3本ずつ脚に積んでいたのですが、今回はバックパックに単4ニッケル水素をパック化して搭載することにしました。というわけで、他の方のホームページを参考にしながらとりあえず1つ、パックを作ってみました。

う〜ん、なかなか難しい。ハンダ付けする部分をヤスリで少し削っておいて予備ハンダをし、ハンダ吸い取り線でえいや!とやってみました。最初のうちは加減がわからず(電池を熱するのは怖い気がして)ちょっと動かすと取れたりしてましたが、なんとか1つ作りました。次はさくさくっと作れそうです。

そして…最後のカバーが以外に難しい!真中からケーブルを出すようにしたのですが、ケーブルを短くしすぎたせいで、まずここに通すのが難しかったです。また、ドライヤーで暖めてみたら、想像の数倍の速度で収縮したので、すごくビックリしました。もしやられる方がいましたら、最初にこのチューブだけ、試しに暖めてみることをお勧めします。また、やるときはくれぐれも「熱しすぎ」「ショート」等に注意しましょう(一回、ケーブルを軽くショートさせて火花を見ました…くわばらくわばら)。

20040628P01.JPG - 17,722BYTES20040628P02.JPG - 15,774BYTES

んで、G-Tuneに搭載しみてたら…あらら、フレームからはみ出してしまいました。多少はケーブル分、見込んで設計したつもりだったのですが、思ったより大きく、やむを得ず、4mm程長さを延ばしました(脚に干渉しないギリギリのサイズ)。う〜む、こうやって経験値を積んでいくんですね。(^^;

20040628P03.JPG - 17,165BYTES

 

2004/06/26

DC/DC回路

たまには電装系の実験…昇圧回路
やっと出張から戻りました。うう、もうスケジュールがやばいです。というわけで、できることからちょいちょいとやることにしましょ。よし、今日はブレッドボードでハードウェアの日だ!これならすぐにできそうだ。というわけでこれです。

20040626P00.JPG

最近、ロボット用のマイコンボードには昇圧回路が実装されていることがあるようですが、どんなものかご存知ですか?SISOは知らないです。(もし昇圧回路実装マイコンボードを持っている方いらっしゃいましたら、教えていただけるとありがたいのですが…)

ま〜、わかったところで個人で手に入る部品かどうかわからないので、まずは手に入りそうな部品で自分で調べて試してみることにしました。昇圧キットとか、あと、以前ZIPPONさんに教えてもらったオンボードのユニットとかをネットで見ていたのですが、G-Tuneに搭載前提となると、やっぱサイズが問題です。

というわけで、それっぽいところでMAXIMのデータシートとにらめっこしました。う〜、大変。しかも悲しいかな、素人が故、チンプンカンプンなものも多い!「おお、これいい!」と思っても買えるところがなかったり、いろいろ諸条件が合わなかったり。そんななかでよさげだったのが、MAX631です。これは若松通商で購入できます。2〜5Vの入力で、出力は5Vで50mA。外付け部品も、コイル1つと電解コンデンサだけでOKです。これなら、H8/3664とR/C受信機、加速度センサにモニタ用のLEDぐらいならいけそうです。他のセンサなどは昇圧回路を経由しないようにして、「最悪、コアを守る」ような形の実装を考えています。

他にも入手可能でよさげなものがありましたが、部品点数が多かったり、部品の意味がわからなかったりでやめましたの。若松で買えるものでも、もっとパワーがあって、そこそこの大きさで納まりそうなものもあります。例えば、MAX731、MAX751等が購入可能です。あと、実は持っていたりするのですが、インダクタの不要な、もっといいのもあります。こちらは、入手性が低いので、壊れた時のことも考えて今回のターゲットからはずしています。

買う前、コイルの大きさ(サイズ)がわからなくて、大きかったらどうしようと思いつつ購入したのですが、買ってみてびっくり。

まるで抵抗器のちょっと大きいヤツじゃん。

小さくてよかったです。あと、コイルももっと細かな規格があるようで、MAXIMの要求スペックどおりかわかんないんですが、まあ簡単に手に入る部品だけでやることということで。というわけで、以前、若松通商で購入した部品を組んでみました。コイル、ICともに若松通商です。

写真は(前置きが長すぎて、上の方にいっちゃてますけど…)、左から5Vの安定化電源回路、昇圧回路、LEDによる負荷回路です。レギュレータは、MAX631の入力電圧が5Vということなので、入力が5Vを越えないようにするためのものです。

手持ちの電池でやってみた実験の結果、回路全体としては、7.35V→5.15V、3.62V→5.08V、2.44V→3.70V、1.2V→0Vとなりました。正確にはデータ取ってないですが、レギュレータの出力は、大体、5Vを下回ると入力からちょっと低いぐらいです。とうわけで、どこが悪いのかはわからないんですが、2Vから5Vへの昇圧はできませんでした。しかし、3.6Vでも5V維持というのはすごいなぁ。

H8/3664は、かなり電圧が下がってもまともに動いたりする(経験では瞬間的に3Vを下回ってもまともだった。スペック上は問題外な領域ですが)ので、必要かどうか悩むところですが「さらにもう1V下がっても」という保険にもなるわけでして制作費も1000円程度ですので、今回は入れてみようと思っています。

お、負荷をあげて試験するのを忘れました。今回のテストでは、約30mA(計算上)です。さらに20mA負荷をかけないといけませんでした。またブレッドボード組み直し…。

2004/06/22

メスネジつきスペーサ

今回のABS直角結合パーツ
20040622P00.JPG - 8,059BYTES20040622P01.JPG - 9,272BYTES

ちょっと前にt6PP板による垂直結合するパーツの写真をアップしましたけど、今回、もう1つの新物があります。これは、メスネジが切られているPBTスペーサです。購入先はいつもの廣杉計器です。

以前は、こういう部品は、ネジの切ってない中空スペーサを使い、3mmの長〜いビスで貫通させて固定していました。今回は、このメスネジが切ってあるスペーサを使って両側から短い3mmビスで固定しています。軽量化にもなりますし、また、長いビスを探してくる必要もなくなりました。

中は、すべてメスネジが切ってあるので、写真のように、ぶった切って使っても真中までメスネジがあるため、自分でサイズ調整ができる?非常にお買い得な部品です。加工性はかなりいいです。強度の方は…これからロングランテストです。組み立ての感触から行くと、かなりいい感じです。

購入したのはPBT3mmの40mm長のものですが60mmまであります。また、ジュラコン製なら2mmネジ径で30mmまでのやつがあります。ジュラコンのほうは使っていませんが、いずれ試したいなと思っています。今回は、PBTの方が丈夫そうだったのでPBTにしています。素人がゆえ、やはりこういう部品は購入に頼らざるしかないですから、また何か見つけたらアップします。

なんだか、いろいろ経験値を積むことで、設計、組み立て、部品探しが楽になって来ている気がします。樹脂も捨てたモンじゃないです。加工はちまちまやってればちゃんとできますし、ゆがんでも戻りますし。でも世の中はアルミが主流…。

さて、また明日から出張で某国です。今週は更新できませんが、たぶん元気にやっていると思いますので、ご心配なく。というわけで、今日は早く寝よっと。

2004/06/21

メカ完成!

Aパーツ、Bパーツ、接続完了!
20040621P00.JPG - 37,265BYTESいきなり「Aパーツ」「Bパーツ」って言われても、「な〜に〜それ?」だと思います。すいません。心の中では、「Aパーツ=アームパーツ(上半身)」、「Bパーツ=ボディパーツ(下半身)」としており、このように呼んでいる次第です。

う〜む。なかなかかっこいいぞ!ぱっとみあまり変わっていませんが、なんとなく、エヴァの白いヤツの雰囲気があるような気がします…。姿勢が悪く、あの「クチ」のイメージがこう、漂っているといいますか。

気になる体重は現在、970gです。S03TにHGギア(半分メタル、半分プラスチック)を組み込んだ状態でこの重量は偉い!…ということにしておこう。前回のG-Tuneのデータから、これなら1200gは切れます。予定では、電装系40g、マイコン系35g、電池70g。余裕が出たので、センサーを追加してしまおう!フレームもさることながらネジも結構効いています。

今回のテーマは「軽量化」なわけで、いろいろと構造や厚みを見直して、ABSは結構、削りました。また、腕、足だけですが、昨日書きましたように、アクリルフレーム構造を取っています。水色の部分がアクリルの角材になります。ここのパーツは面積が広いので、2mmのABSに補強を入れる、という設計にしています。その他も、基本的に寸法は変わっていませんが、構造の簡略化などを行ってメンテナンス性を向上させています。

電線実装ですが、上半身に関しては、今度は、前回よりきれいに納める予定ですのでお楽しみに! 今回は、パワーチューブ風のものは外に這わさない(少なくとも上半身は…)予定です。そのため、腰ヨー軸の周りにスペースがあけてあります。うまくできるかな?

また、変形も健在ですので、エントリー写真は、今度こそ、変形した形でエントリーしようと思います。みなさん、もうエントリー済ませているのかな?

浅井製作所さんで紹介されました(^_^)/
ネジの浅井製作所さんのホームページで、ネジの使用例ということで、G-Tuneのパーツが紹介されています。JinSatoさんのもあります(リール?もあります)。このようなすごいレベルのみなさんと同じページに紹介されるなんて光栄です〜!

さて、このネジなんですが、頭のデッパリが少なくて干渉が少なく、とてもいいです(当然、デッパリが無い分、少し軽い)。また、ナベよりも頭の径が0.5mm大きい(なべは3.5mm。これは4mm)ので、押さえる力もちょっと安心。サラビスのように穴を掘る加工をしなくてもよし。色も黒で引き締まった感じです。そんなわけで、サーボホーン押さえを始め、G-Tuneでは随所に使っています。こんな珍しい(SISO LABはホームセンターが基本ですが…)ネジが個人で買えるのは、ほんとありがたいですね〜。 応援してますよ〜。

 

2004/06/20

脚もできた。あとは繋げるだけ!

手、脚できました。

20040620P00.JPG - 14,245BYTES

脚できました。写真は無いですが、手もできています。後は胴体と繋げるだけ〜!おっと、今回は、まだ作る部品があったのを忘れていました。
20040620P01.JPG - 8,362BYTES

これです。ぱっと見でなんとなくわかりますか?暫定版ですが、脚なんとかスライダです。うちのにもつけてみることにしました。

既に台紙が貼ってありますが、中身は、PP板です。100円ショップで、下敷きとして売っていたものを買いました。あたりまえですが、105円でした。

このPP板、一生、紙の裏側で、ぐいぐいとつつかれながら生きていく運命だったのが、ロボットの足として人生の再スタートです。ハードな人生になりそうです。

20040620P02.JPG - 8,574BYTES

おお、SISO JUNK STUDIO初の「曲げ」です!

さすがにPP板、簡単に曲がっていいですね〜。気をつけるポイントですが、切り込みとかが入っていると結構、簡単に「パキッ」といきますので、切り出すときに気をつけて切り出しましょう。

自分は、事前にちょっと切り出しておいて、どうやったら曲がるか、どんな加減でいいかなどを、やってみました。

ところでこういう形でよかったんかいな???

20040620P03.JPG

というわけで、取り付けはこんな感じです。動かしてみてわかったのですが、かかと側はもう少し高くても干渉なさそうなんで、問題があったら作り直してみようと思います。

とりあえず、このまま行きます。クリアスモークがちょっとオシャレ。

っと。この写真を良く見ると、足裏パーツにアクリル補強が入っているのがわかります。これは、Project MAGIで紹介されていたアイデアを実践してみました。厚みは2mmで角材は3mmです。かなり丈夫になりますね〜。同じ処理は、手(G-Tuneは、変形の都合上、手が長いので)にもしてあります。

っと。今日はここまでです。明日は全部くっつくかな〜。楽しみ楽しみ。

 

2004/06/19

胴体完成!…とおまけでR/C受信機信号取り込みの話。

ようやく胴体ブロック完成
20040619P00.JPG - 14,271BYTESやっとこさ胴体ブロックが完成しました。今回は、前回のヤツから、いろいろと改良したつもりだったのですが、いろいろ不具合が出て、部品の作り直しをしていたら、結構かかってしまいました。

お辞儀サーボをMICRO-MGに変えて、ぐぐっと小型化したのですが、このあたりで、思い違いがいろいろあって失敗しました。最後は、よくわからなくなったので、紙で作って確認してからって感じで。

う〜む、なかなか美しくできました。例によって、ヨー軸には、お手製スラストベアリングが入っています。これだけみると、ロボットって感じじゃないですよね〜。トラブルが無ければ、日曜日中にはメカはだいたい組上がりそうかな。それにしても…今回も、何かと時間が取られて進まないです。とほほ。

H8/3664でR/C受信機信号を読み取る
「読み取りのやり方アップするね〜」と、どっかで話していたのに、すっかり忘れていました。いや〜、忙しいってヤです。この「忙しい」という漢字、「心を亡くす」とはよく書いたもんだ。とうわけで、メカばかり触っているのもアレなんで、ちょっと簡単なサンプルをアップします。

さてさて、R/C受信機、そもそも、サーボを直接コントロールするものだけあって、サーボ制御信号と同じ信号が出てきます。送信機のスティックの位置に合わせて、パルスの幅が伸びたり縮んだりするわけです。自分が使っているやつは4chなので、これが4つ(さらに細かく言うと、4つの信号がずれて出てくる)、サーボ制御周期である、15〜16msecぐらいの間隔で出てきます。

これを、H8/3664で読み取る場合、自分はTIMERVを使って、パルス幅をカウントアップしています。具体的には、0.128msecでTIMERV割り込みをかけておいて、HIGHになっている時間をカウントします。

SIHPA COREでは、PB4〜7にR/C受信機を接続しています。
# R/C受信機の接続方法はこちらを参照してください。
# SIPHA COREの結線図はこちらを参照してください。

ソースコードはこんな感じです(GDL)。これを走らせてシリアル通信端末(TeraTerm等)でみていると、送信機のスティックに合わせて、数値が変化するのがわかると思います。

#include  <3664.h>

_BYTE  RPAabCountWrk[4];
_BYTE  RPAabCount[4];

char  acTxBuff[10],acRxBuff[10];

//----------------------------------------------------------------------------------------
//  タイマV割り込み処理
//    Return:  void
//----------------------------------------------------------------------------------------
void  int_timerv( void )
{
  int  nCnt;

  //  R/Cレシーバ信号入力処理
  for( nCnt = 0; nCnt < 4; nCnt++ ){
    if( IO.PDRB.BYTE & (0x10<<nCnt) )  RPAabCountWrk[nCnt]++;
    else if( RPAabCountWrk[nCnt] != 0 ){
      RPAabCount[nCnt] = RPAabCountWrk[nCnt];
      RPAabCountWrk[nCnt] = 0x00;
    }
  }
  TV.TCSRV.BIT.OVF = 0;
}


main()
{
  SCI3_INIT( br57600, acTxBuff, 10, acRxBuff, 10 );

  EI;

  TV.TCRV0.BYTE = 0x01;        //  φ/8(OVFで0.128msec)コンペアマッチ無し、クリア無し、
  TV.TCRV1.BYTE = 0xE3;        //  外部エッジ無し
  TV.TCNTV = 0x00;          //  タイマVクリア
  TV.TCRV0.BYTE = 0x21;        //  割り込み開始

  while( 1 ){
    SCI3_PRINTF( "%02x %02x %02x %02x\n",
                   RPAabCount[0], RPAabCount[1], RPAabCount[2], RPAabCount[3] );
  }
}

これが、超基本のソースコードなのですが、このやり方でももう少し工夫の余地があります。例えば、先に書きましたが、R/C受信機の信号は、一度に複数は立ちませんので、いつも全部チェックする必要はありません。また、forループでまわすより、4回同じようなコードを書いたほうが動作速度は速いです。

SIPHA COREでは、さらにアレンジして、TIMERWと組み合わせて、TIMERW側の処理でカウンタを取り出し、クリアをしています。0.128msecでOVF割り込みさせている関係上、割り込み回数が多いので、なるべく軽い処理にしたほうが有利です。

そして、これが大事なのですが、エラーチェックです。例えば、「3回連続で同じ方向のデータが入ったら正とする」みたいな処理があると、より良いです。

後は…、やったことは無いんですが、IRQが4本あるので、これを使うともっと細かい値がとれて、かつ、あまり負荷にならない、というのができると思います。G-Tune2003AでSH7047を使っていた時は、これをやっていました。今やっていない理由は、端子の数の問題です。出力につかえるポートを、4chも入力に使ってしまうと、サーボ制御信号出力端子が足らなくなっちゃうわけでして。H8/3664使いのつらくて楽しいところです(笑)。

 

2004/06/15

うぅ、オレタ…

2mmポリカネジ…無理かな?
20040615P00.JPG - 10,789BYTESうちの組み立て精度じゃ2mmポリカネジ、無理かもしれません。うぅ。2mmポリカネジは、面接着の接着剤サポートとして使おうと思ったんですが、ぐりぐりしてたら折れてしまいました。イメージ的には…「くいくい」とドライバーで入るぐらいのときは全く問題無いです。でも、「ぐいっ、ぐいっ」というレベルになると、ふっと抵抗力が抜けて、ポロンって…うわぁぁぁ。軽量化対策に影が…。もう、エントリーは始まっているのに。

というわけで、2mmネジは結局、鉄。ああ、ばらしたマシーンの部品をちゃんととっておいてよかった。全体の軽量化作戦は、対策変更で、3mmの金属ネジ(これもポリカネジ予定だった)を、メスネジ付きの樹脂カラーでどんどん短くしてやるぞ〜。

 

2004/06/13

ようやくメカ組み始めました〜。

PP板を使っている場所
出張から戻ってきて(またかい!って感じですが)、ようやくG-Tuneを組み立て始めました。いや〜、組み立て始めると、いろいろ出ますな〜(T_T。大きな設計ミスを発見してガックシしているところですが、思惑通り、ムフフ!というところもありますので、PP板による直角結合のところをお見せします。

以前(2004/05/09)、PP板を削り出していましたが、このPP板はこのように使います。

20040613P00.JPG - 9,978BYTES20040613P01.JPG - 8,888BYTES

ごらんのとおり、ABSにサーボをこの方向にとりつけ、その後、直角に別のABSパーツを接続するのに使っています。最近、これと似たようなパーツが、KOさんの方からでていることを知り、がっくりしたような、「俺ってセンスいい〜」って思ったような。どこかで、こういうパーツ、MICRO-MG用にもだしてくれないかな〜。手加工では、かなりきついです(金銭的には、数十回失敗しても、材料費105円ですけど)。

 

2004/06/09

重さ

G-Tuneの各パーツ別重量
まだ組み立ててないという現実が重くのしかかり、スケジュール遅れまくりを実感してヘヴィな気分のSISOですが、みなさま、いかがおすごしでしょうか?せっかく全部ばらしたので、それぞれの重量を測ってみました。

20040609P00.JPG - 15,818BYTES
G-Tune2004Fで使っている、ABSやアルミなどのフレーム構成部品の合計重量です。

20040609P01.JPG - 16,845BYTES
サーボ集線基板とか、電源ケーブルなどのハーネスモジュール。
20040609P02.JPG - 13,974BYTES
SIPHA COREです。マイコン、電源安定化回路、ラジコン受信モジュール、加速度センサ、LED、スイッチなど、全て込みの重量です。ちなみに、今度のヤツは、35g切る予定です。

20040609P03.JPG - 15,596BYTES
ネジとかナットです。入れているケースが43gありますので、ネジ等の重量は115gになります。

20040609P04.JPG - 12,174BYTES
頭パーツです。身が無いので、結構軽いです。
20040609P05.JPG - 15,062BYTES
そして、これが、今回作ったABSとかアルミパーツの合計です。2004Fと比較して、43g計量化されています。(^^/ でも、まだまだ重いです。

最後におまけで、今回作ったABSとかアルミパーツの集合写真!

20040609P06.JPG - 23,598BYTES

 

2004/06/08

サーボ補正値チェック

うぅ、めんどくさい…
20040608P00.JPG - 17,429BYTESじゃじゃ〜ん。これがSISO JUNK STUDIO特性サーボ角度調査器です。サーボホーンに分度器を両面テープで貼り付けただけです。精度は人間の集中力にかなり左右されます。本日は、これでサーボに入力されたパルスに対して動作した角度をチェックです。SIPHA COREではサーボを角度で扱うので、 これの補正値データのための計測です。前回は、1点、90度−パルス幅だけを取ってましたが、ちょっと制御精度が悪かったので、今回は4点に増やそうと思っています。でも、後で、もっと増やしたくなると困るので、10度単位でチェックしてみました。

MICRO-MG(S03Tもそうだけど)って前からウスウスとは感じていましたが、「1000μsecから1500μsec」とやった場合に停止する位置と「2000μsecから1500μsec」とやって停止させた場所とでは、1度か2度ぐらいずれちゃうんですよね〜。これって、アナログサーボだから?(そ、それとも安いから???)

そんなわけで、そう厳密にやってもしょうがないんですが、それでも、動作方向で再現性はあるので、それを頼りにチェックしました。手持ちが16個あったので、交換時のことも考えて、全部やりました。ふぅ。全部をグラフ化したものをアップしました。それなりに個体差が結構あるのがわかると思います。意外に直線性があって、ちょっとびっくり。下のグラフをクリックすると拡大表示します。

20040608P01.JPG - 8,808BYTES

 

2004/06/07

サーボケース加工完了

ミミ落としてからだいぶ日が過ぎてますが…
20040607P00.JPG - 7,454BYTES

ようやくサーボケースの加工を完了しました。前回、穴の位置がズレズレだったので、今回は、穴あけに、ジグを作ってやってみました。ほんと、サーボケースへの穴あけって難しいです。何が難しいって、サーボケースの箱って、ぱっと見四角なんですが実は俵型なんですよ。そんなわけで、思ったところに穴が開かないんです(話によると、プラスチック成型する時に、型から抜きやすいようになっているそうです)。

G-Tune2004Fから、手抜きのつもりでケースにビス直止めをやっていますが、もう少しマシな設計を考え直したほうがいいかも…なんてちょっと思ってます。

そんなわけで、今回は、ケース風のものを作ってやってみました。左がS03T用、右がMICRO-MG 用です。さてさて、結果は…。

20040607P01.JPG - 9,241BYTES

うぅ、見事失敗です。ジグと一緒に手で持ちながら穴あけしたのですが、タワラにあわせてゆがんでしまったようです。うるうる。

手で押さえるだけでは、固定が足りないようです。

 

20040607P02.JPG - 10,816BYTES というわけで、クランプで強化!
20040607P03.JPG - 8,713BYTES うむ。今度はバッチリ開きました(でもちょっとずれてる?う〜む、まあこんなもんでしょう)。
20040607P04.JPG - 16,147BYTES

加工を待っているサーボ達…。ほんと、ロボットは部品が多いです。うぅぅ。

ちなみに番号札が貼ってありますが、これは、サーボごとに補正値などが計測してあって、それを識別するためのものです。

 

以前、チラとお話した反対軸
20040607P05.JPG - 12,676BYTES20040607P06.JPG - 13,163BYTES

ちょうど組み立て中なので、写真をとりました。ご覧のように、G-Tuneに実装しているサーボの反対軸は、こんなふうに直接サーボケースのお尻にくっつけてあります。S03Tは、ケースがやわくて中が広いので、中に3mmのABSの板が入れてあります。 最初(G-Tune2004F)に作った時は、動かしていたらケースが割れてしまいました。MICRO-MGの方は、今のところ問題が起きたことはありません。

でも、1つすごくめんどくさいのが、MICRO-MGの方、ネジをがっちり噛む程は強度が無いので、反対軸をばらす時はサーボもばらさないといけないんです。今回の改良でなんとかしようかなとも思ったのですが、軽量化と小型化のため、現状維持としました。そのうちなんとかしようと思っているのですが、手加工ではちょっと難しいかな〜(ほんとはブッシュみたいのを貼り付けてネジ切りたいんです)。

S03Tの動作範囲拡張をやってみたけど、う〜ん。
ばらしついでにサーボの動作範囲拡張改造をやってみました。MICRO-MGは狭すぎて自信が全然持てなかったので、S03Tの方。足首のヨー軸が、グリグリと180度動いたらおもしろいな〜と思って。しかし…原理がわからないままやるもんではないですね〜。ポテンショの両脇に1KΩの抵抗をつけてみたんですが、なんか、動作する範囲は変わらず、指示値がずれるだけに終わってしまいました。もし、うまくいった方いらっしゃいましたら、教えてもらえませんか?そもそも、よく見ると、S03Tのポテンショメータ(可変抵抗)って5KΩですし、もともと結構、動作範囲が広いですから、ちょっと他のと違うな〜と思ったりはしてたんですが…。単に、信頼性を下げただけ?のような気がします(T_T)。

 

2004/06/03

やったゼ!オトコの浪漫、ソフトサーボドライバ・その後。

ソフトサーボドライバにおけるジッタの正体
ちょっと前に、新サーボドライバのコーディングできた〜という話をアップしましたが、ようやく、満足が行くレベルになりました。最初に作ったバージョンは、すぐに動くには動いたのですが、少しだけジッタがでてしまって悩んでいたのでした。

「ジッタ」についてちょっと解説します。ここで言っている「ジッタ」とは、サーボ制御信号の揺れのことを指しています。H8/3664にて、TIMERW+GRコンペアマッチ割り込みを使った一般的なサーボ制御の場合、だいたい、一度に4つのサーボを制御します。このとき、4つのサーボを動かさない(同じ制御パルスを出しつづけている)状態ですと、このジッタというのは現れません。もちろん、他の割り込み処理を使っていると、プルプルしたりするのですが、サーボ制御のためだけの割り込みを使っている限りではプルプルはおきません。

では、どういう時に起きるかといいますと、4つのそれぞれのパルス幅が近づいた時に、ぴくっとくるのです。

20040603P00.JPG - 6,103BYTES

左の写真をクリックすると、ワーストケースでジッタが発生しているところが再生されますので、見てみてください。これのプログラムは、結構ベタなやつで、前SIPHA COREのプログラムより工夫が無いです。TSC16とか前SIPHA COREのものは、もう少し、マシなものだと考えてください。

見ていただくとわかりますように、左のサーボが動作して、「ある場所」に来ると、右のサーボがぴくっとします。これは、コンペアマッチ割り込みが重なるタイミングで発生し、右のサーボの制御信号OFF処理が遅れるために発生します。

完全にH8/3664単体+ソフトでサーボをドライブする場合、この「ジッタ」が問題になります。前SIPHA COREでは、割り込まれた処理を、I/O配置を考慮することで素早く完了させるようにして、ジッタを小さくしていましたが、ワーストケースで、これの半分ぐらいです。使っているテストボードのレイアウトの関係上、前SIPHA COREのプログラムは載せていません。

 

20040603P01.JPG - 5,890BYTES

じゃじゃ〜ん!これが、やっとこさデバッグが完了した、「最新SIPHA COREサーボドライバ」です。いかがですか?映像では全く動いていないのがわかっていただけると思います。実は、かなり苦労しました。(T_T) よぉ〜く聞いていると、右のサーボから、ちょっとだけ音がする時があるので、わずかにジッタがでていますが、まあ、そんなもんです。

なんか、プログラムが結構、複雑になっちゃって、どう説明したらいいのか、よくわからないのですが、とりあえず、すべてC言語では書いています(相変わらず、アセンブラはできないSISO)。信号OFFタイミング近いサーボが他にあったら、1つの割り込みで処理して、さらにその時、1つの割り込みにまとめられた信号OFF処理は、ちょっとだけ処理を遅延させて、それをなるべくRAMを使わないように実装して…みたいなことをやっています。

時間があったらTSC16の方にも載せたいのですが…@_@。ま〜、何はともあれ、ジッタが少なくてI/Oレイアウトに影響されないサーボドライバ、とりあえず完成♪

 

2004/06/01

WideStudioで「タブ画面」

WideStudioのWSCindexForm
20040601P00.JPG

「う〜ん、こまこましたウィンドウが増えてやだなぁ〜。」設定系のウィンドウを作っていると、こんなぼやきが出る時があります。そこで、てぃろりろりん♪「いんでっくすふぉぉむぅぅ」

「タブ画面」ってご存知です?実は、正式になんと呼ぶのかは知らないのですが、Windowsとかの設定画面によくある、上の方のインデックスみたいなところをクリックすると、同じウィンドウ上でいくつかの設定画面を切り替えられるアレです。これをWideStudioでやってみたのですが、すごく簡単!

オブジェクトボックスから貼り付けたいウィンドウへ、「WSCindexForm」をドラッグ&ドロップします。
プロパティで、「メニュー項目」を編集します。サンプルとして、「INDEX01,INDEX02」と入力してみました。ここを、「,」区切りで入力していくと、タブ(WideStudioの場合はインデックスと呼ぶのかな?)が増えていきます。そして、インデックスフォーム上に部品を追加していきます。これは、タブを選択しておいてから、普通に「オブジェクトボックス」からドラッグ&ドロップをするだけです。
以上です。

20040601P01.JPG - 20,292BYTES20040601P02.JPG - 16,612BYTES

後は、ビルドすれば「あこがれのタブウィンドウ!」ができますよ。すごい簡単でブラボーです。さて、注意点です。「プロパティ」の「ユーザー設定値」(WSNuserValue)を見てください。よくみると、「INDEX01」に貼り付けた部品の設定値は「1」、「INDEX02」に貼り付けた部品の設定値は「2」になっています。これは、部品を貼り付けるときに、ビルダが自動的に割り振ったもので、どうやら、WSCindexFormは、この設定値によってどのインデックスにどの部品を割り付けるかを判定しているようです。

というわけで、WSCindexFormを使うと「ユーザー設定値」によってなんかする、というプログラムが書けなくなりますので、要注意です。できれば別にして欲しかったトコロではありますが、それにしても、う〜む、WideStudio、よくできてるな〜。

あれ?も、もう、6月…そういえば、5月がメカ月間、6月がソフト月間、7月が動作作りこみ月間だったような…。

 


Back Number of SISO-LAB FUTEIKI TOPIC
2004 Jan. Feb. Mar. Apr. May. Jun. Jul. Aug. Sep. Oct. Nov. Dec.
2003 Jan. Feb. Mar. Apr. May. Jun. Jul. Aug. Sep. Oct. Nov. Dec.

Top Page