« 2006年4月 | トップページ | 2006年6月 »

2006年5月

2006年5月29日 (月)

制御単位

マウスのコントロールをするにあたって。
位置、速度、加速度など、各パラメーターから制御値を算出するのだけれど、計算を簡単にするために単位系を都合のいいように変更している。

距離は、エンコーダー1パルスを距離単位とする。
時間単位は制御周期(1msec)とする。

距離単位は、P(パルス)
速度単位は、P/msec
加速度単位は、P/msec^2

これで、タイマーの読み込み値や設定値が、係数を使うことなく算出できる。
ちなみに、新型のマウスの諸元では、

1P ≒ 0.01074mm
1P/msec ≒ 10.74mm/sec
1P/msec^2 ≒ 10740mm/sec^2

加速度以外は、わりと使いやすいところに来ている感じ。

| | コメント (0) | トラックバック (0)

毎日こつこつ

目標速度計算に必要な平方根計算を組んでみる。
処理時間をざっくり計測してみると、6~9usecと出た。

それなりに時間がかかってはいるようだ...
ループを展開したりすればもう少し速くなるかもしれないけれど、毎制御周期で1回しか使わないはずなので、現状これでよしとする。

| | コメント (0) | トラックバック (0)

2006年5月28日 (日)

とりあえず、動かしてみる

タイマーベースの制御プログラムを書く。
速度制御なし、ゲインはP項のみ。左右の拘束もなし。

とりあえず、(内部的に)キリのいい320mmほど。
ほんとに軽く、走って止まってみる。

今時は、とりあえずでも1Gは超えていないと、勝負にならないということで、加速度は(内部的に)キリのいい、10000(+α) mm/s/s

------

ぅおっ...


んー....
タイムを計測し、電卓ではじいてみても、まあ、それなりに合ってはいるようだ。
どこかに計算ミスがあるかもしれないが、見た感じでは、過去の自分のマウスとは違う世界ではあるようだ。

あとは、曲がれるかどうかなのだが...

| | コメント (0) | トラックバック (0)

2006年5月27日 (土)

つれづれ2

かれこれ、23年間も使っている腕時計のメンテナンスをする。
ここ5年くらいは放置していたのだけれど、何かの拍子に時刻表示でないところで止まってしまった。
可動部は、どこも埃が詰まって固着していて、ばらさないとどうにもならない。

大昔、腕時計の電池交換はそれなりに高価で時間もかかっていたので、自分で電池を買ってきては交換していた。

060527

ばらして汚れをふき取り、シリコングリスを極少量付けて組み直す。

さすがに各部のシールはヘタっている。
最初は防水構造だったと思うのだけれど、最近は濡らさないようにしている。

ずっと、時刻が10分ほど進んでいたのだけれど、今回のメンテでようやくもどった。
一応、気をつける...

| | コメント (0) | トラックバック (0)

つれづれ

以前のソフトは、目標値の管理制御周期を、距離ベースで扱うように作っていた。

メリットは、ステッパと同じ手法で、位置サーボの指令値が算出出来ること。
速度目標値を計算するのに、平方根計算を使わずに済むこと。

デメリットとしては、高速で走行するほど制御周期が上がり、処理が重くなること。
高速側で見かけの姿勢制御ゲインが上がるために、補償をする必要があること。
モーターのマイナーループは時間ベースなのに、姿勢制御サーボの周期が可変なのもなんだか不合理。
ソフトは考えやすかったけど。

ところで今回のモーターでは、取り付けられているエンコーダーのパルス数が非常に多く、1パルス単位で制御をかけることはほとんど不可能。
ならば10パルス単位で、とか考える。のも、なんだか違うだろ...

------

今回は、走行距離管理も時間ベースで組んでみようと思う。
処理の集中を避けられるし、シンプルになる部分もある。
いろいろ考えていることも試せる。

とりあえず、平方根の処理を追加しなければならないので、ちょっと調べてみる。
固定小数点で平方根計算は、シンプルな方法でできるようだ。

割り算が多いと、処理が重いなあと思っていたのだけれど、ためしに32ビット÷32ビットの処理を表計算で評価してみると、intの割り算は3~4回程度で十分ということがわかる。

------

このサイトのアクセスを見ていると、大英帝国からも毎日のようにアクセスがあるようだ。
いつもありがとうございます。

しかし毎日、GMT午前3時頃とか、いくらなんでもへんな時間だ。
これはアレだな。ドメインはUKだけれど、アクセスはあちらの方からですね...

マウス自体は組み立てていても、ちゃんと走るかどうかまだわからない状態。
引っ込めてしまう場合を考え、意識して写真を張っていない。
こんな文字ばかりのところに、頻繁に来ていただけるのはありがたいことだ。
早く走らせて、画像公開できるようにしたい。

| | コメント (0) | トラックバック (0)

2006年5月24日 (水)

帰還

東北より帰還。

その日の仕事を終えて撤収すると、帰着は25時をかなり回った時間になった。
あれこれ終わらせて、床に就くのは26時過ぎ。
さすがにきついなあ...

ここ最近は、大分落ち着いてきていて、イベントは2週間に1回くらいになってきているのだが。

------

話は変わって、マウスの話。

マウスの勝敗は、もちろん最短走行のタイムで決まるのだけれど、そこに至る話は、そう単純ではない。
当たり前のようでいて忘れがちなことだと思うのだけれど、どんなに速い最短走行ができようが、それ以前に同じ機体で探査走行をこなさなければならないのだ。
最短走行のためだけに偏った機体を作ることは、ルールで禁止されているのではなく、マウスの精神とかで禁忌されているわけでもなく、単に競技内容で規制を受けている。

要求の違う探査走行と最短走行。
相反するわけではないけれど、両立させないといけない。
吸引マウスのように、探査と最短で別モードを持つことが、ひとつのアプローチだと思う。

しかしルール上、競技途中で何かをつけたりはずしたり、といったことは許されない。
最短走行だけに必要なものでも、最初から積んでなきゃいけないし、探査走行だけで使うものでも途中で降ろすわけにはいかない。

このあたりにも、次なるアプローチが有るとにらんでいるのだが....

あと2つくらいは、まったく違うアプローチの方向を考えてみてはいるのだが、実際に試作するような日が来るのだろうか?

| | コメント (0) | トラックバック (0)

2006年5月21日 (日)

外仕事

今日から3日間、杜の都。
一応、作業できるように準備はしてきたものの、宿戻りは11時過ぎ。
明日は7時半には出発なので、作業時間も取れないのだが、まあ仕方ないところだ。

| | コメント (0) | トラックバック (0)

2006年5月20日 (土)

今日の様子

今日は朝から雨。
休みの日なのだが、野外に出かけるのも億劫なので、北陸道を一路北へ。
探し物がてら、挨拶がてら、冷やかし半分といったところで、金沢まで。

------

高速道路なのだけれど、その辺の私道並みに表面のアスファルトがはがれたりして傷んでいる。
今シーズンは豪雪だったので、チェーン装着や除雪作業でこうなるのか。
トンネルの中まで轍があるので、やはりチェーンか...

深い轍に水がたまり、危険な状態だ。
道は空いていたので、追い越し車線を走行してしのぐ。

------

地方暮らしをはじめてからは、見本市や展示会からすっかり足が遠のいてしまっている。
今回は、加工機械一般、わりと何でもありな感じだったけれど、それなりに楽しめた。

でっかいタレットパンチプレスは初めて見た気がする。なるほど...こんなんなってるのか
ワイヤ放電加工機もなかなかの人気。
一番人気は、5軸のNCだった。

で、目的のひとつは、ちょうどよさげなものがあった。
マウスに使っている物に比べて、1000倍以上出力のあるモーター。
早速資料を送ってもらうように頼む。

------

で、挨拶がてらよったブースで、半年振りに動いているマウスを見る。
動き始めると、三々五々と人が集まってくる。

やはりマウスは、動いてなんぼ。
新作を早く走らせたいと、気は急くが...
日々時間を割いて、こつこつやるしかないだろう。

本日はありがとうございました。
機会を作って、またお会いしましょう。
自作迷路は、すばらしいつくりでした。

| | コメント (0) | トラックバック (0)

2006年5月19日 (金)

今日の作業、など

バッテリーは、テープで基板に貼り付けるだけにしようと思っていたのだけれども、実際にやってみるといまひとつな感じ。
帰宅も遅く、作業時間も短いのだけれど、ハギレの板でハンガーを作ってみる。
いい感じかな。

------

そういえば、これ用のバッテリの充電器がないな....
3端子レギュレーターと、OPアンプくらいで作れるかと思うと、なかなか市販品を買う気にならないのだが。
今回も自作で行ってみようと思う。

今後は遠征が基本なので、持ち歩くものは今まで以上にコンパクトにまとめたい。

PCのUSBから電源をもらい、充電器に使えないかとも考えたのだが、微妙に足りない...
もう一サイズ小さいバッテリならいけるのだが。

------

今のマウス。
駆動ブロック以外の部分は、すべて地上高10mmまでに収まっている。
低重心化、進行中。

| | コメント (0) | トラックバック (0)

2006年5月18日 (木)

センサLED

今日の作業はセンサLEDの動作確認。

右の前センサLEDが若干暗いような、そうでもないような...
しばらく様子を見てみる。

------

センサLEDにも、BasicMouse/DCで、よかったネタを採用する。
これで03Bにくらべ、検出精度がだいぶ良くなり、スラローム探査がコケなくなったと思う。
この方法を試した人からも、相当良くなったと伝え聞いたモノ。

作りこみでは03Bが完成されていて速いのだけれど、BasicMouse/DCは後発の分、いろいろなネタを仕込んでいた。
年単位の時間がかかっているが、ようやく本流に取り込めるようになった。

| | コメント (0) | トラックバック (0)

2006年5月17日 (水)

半田付け終了

当面、必要な部品の半田付けが終了。
まあ大体イメージどおりに組みあがった。

しかし、基板部分はまあそれなりとしても、機構はまだまだだ。
得意な部分ではないので仕方ないが、なんとかしたいところだ。

基板上では、意外にジャイロの存在感が大きい。
ADXRS300は部品としては、大きい部類に入るのだよな。

------

ハードが組みあがったので、回路の動作確認を続ける。
本格的に走行プログラムを組む前に、やるべきことはまだまだある。

| | コメント (0) | トラックバック (0)

2006年5月15日 (月)

半田付け

可視光センサとそのアンプを半田付け。

明日くらいには、半田付け終了?
新作回路がコケてなければ...

------

改めて重量測定。バッテリ込みで120g。
徹底的に軽くしたわけではないのだけれど、結果的には、それなりには軽く出来たかも。

ちょっと回してみた感じでは、モーターは、まだ多少余裕がありそうな感じ。
もう1サイズ小さいモーターでも、その分軽く出来るからいけるかも。

性能を維持したままでも、重量90gクラスのマウスは視野に入りそうだ。

| | コメント (0) | トラックバック (0)

2006年5月14日 (日)

入力デバイス

今回のマウスでは、プッシュSWを2個(もしくは3個)取り付ける予定。

元祖BasicMouseもプッシュSW3個の構成だけれど、正直パラメータが増えてくると、操作がめんどくさい。
長押しを組み合わせて見たりするけれど、やはり本番の大会を考えると操作性の良いものを作っておきたい。

駆動輪についているエンコーダも、入力デバイスとして使うようにしてみる。
以前のBasicMouse/DCでもやっていたのだけれど、今回のマウスでも実装してみる。

単純に手でホイールを回し、エンコーダカウントを読むだけだと、いまひとつ節度感に欠ける。
LEDとかで視覚的にもフィードバックもするのだけれど、モーターをコントロールして、擬似的なクリック感を作ってやるといい感じになる。

コードはシンプル。こんな感じ

i = ((int)(signed short)(MTU1.TCNT));
if (i > 100){
  ucMode++;
  MTU1.TCNT = 0;
}
else if (i < -100){
  ucMode--;
  MTU1.TCNT = 0;
}

if ( i < -50 ) i += 50;
else if ( i > 50 ) i -= 50;
else i = 0;
sMotorDutyR = i * 6;

このルーチンは、インターバルタイマーで呼ばれている。
sMotorDutyRはモーターのデューティ。符号付きで、プラスマイナスで正逆転。
MTU1.TCNTは、エンコーダーをカウント。最初にゼロクリアしておく。

エンコーダーのカウント0に対して、比例項のみで位置サーボがかかっている。
カウントがプラスマイナス各々一定値(100)を超えると、カウンタがリセットされ、そこが新たな原点になる。
ちょうど手回しエンコーダーのような操作感だけれど機械的なものではないので、ミスカウントは無い。

ソースコードで、プラスマイナス50している部分は、不感帯を作っている。
モーターの消費電流低減が狙い。
手で回してみると、ちょうど遊びのように感じる。
フィーリングと消費電流を見ながら、いいところを探す...

------

DCマウスは、いろいろ遊べて面白いです。

| | コメント (0) | トラックバック (0)

2006年5月13日 (土)

今日の作業 2

モーターが動き、エンコーダーが使えるので、早速定番の動作チェック。

左モーターをフリー。
左エンコーダーのカウントを、右モーターの指令値としてサーボをかける。
左車輪を手で回すと、右車輪が追従するようにして、サーボのかかり具合などを試す。

------

今回はミニッツのホイールを使い、03Bに比べても駆動系のイナーシャがかなり小さくなっている。
エンコーダーがモーター側についていて分解能が非常に高いとか、On-Brakeでブリッジが動作しているなど、いろいろな条件も重なって、なかなか制御性はよさそうだ。

だんだんゲインを上げて試す。
03Bは、ある程度ゲインを上げると、位置サーボがハンチングを起こすようになってくる。
地面に置けば収まるのだが、宙に浮いているとダメ。
こんなもんか、と思っていままでは使っていたが、このミニッツホイールマウスではそんなことはないようだ。

| | コメント (0) | トラックバック (0)

FET取り付け

駆動ブロックの配線も終了したことだし、今日の作業は、POWER MOS FETを取り付け、モーターに通電テストなど。
ちょっと手こずったけれども、半田付け完。

適当にコマンドを叩いて、いろいろなデューティで回してみる。
とりあえず、想定のパワーと速度は出ているようだ。

------

テストをしていると、3端子レギュレーターが熱い。
まあ、想定内といえばそうなのだけれど。
基板が細長くなっているところに載っているので、熱が逃げにくく余計に熱くなっている。

sh2をフルスピードの50MHzで動かしていて、ここだけで200mA以上も食っているようだ。
こんなもの、といえばこんなものなのだが。
近頃の感覚からすると、燃費が悪いような気になってくる。

| | コメント (0) | トラックバック (0)

2006年5月12日 (金)

今日の作業

エンコーダーがCPUにつながったので、位相計数カウンタを初期化し、テスト用コマンドを書き、動作確認をする。
動作はok。
とりあえず、指ではじいて車輪を回してみる程度では、ミスカウントはしてないっぽい。

------

モーター内蔵のエンコーダーは、回転あたり512パルス。
CPUでは4逓倍でカウントし、ギア比は16:56。
タイヤ径がおよそ24.5mmなので、1カウントあたり0.0107mmか...

1区画180mmは16771カウントになり、4区画進まないうちに16ビットカウンタはオーバーフローすることになる。

いままでは、エンコーダーのパルスの間隔を、ハードウエアタイマーで計測して速度情報としてきた。
方法としては定番だと思うのだが。

しかし、これくらいパルスが多いと、時間内のパルス数をカウントしても、十分な精度で速度が計測できそうな気がする。

| | コメント (0) | トラックバック (0)

2006年5月11日 (木)

駆動ブロック配線

モーターとエンコーダーの配線を半田付け。

060511

基板のピンヘッダーのパターンのピッチを、2.5mmで描いてしまっている。
2x7のピンヘッダーを付けようとすると、ゆがんでしまう。
パターンを少しでも通しやすくするために、穴径をぎりぎりまでつめていることも厳しくなっている原因か...
なんとか取り付け終了。

| | コメント (0) | トラックバック (0)

2006年5月 9日 (火)

今日の作業

毎日少しづつ。

モーターのエンコーダー信号をCPUに接続するための、分圧抵抗を半田付け。
普通なら、LVCとかの5Vトレラントロジックで受けるのがスジだろうけれど。
本当にスペースの制約のきつい今回は、91kと47kで分圧してみた。

ノイズとかの影響を、どの程度受けるのだろうか?
一応、shのタイマー入力はシュミット入力になっている(はず)。

駆動ブロックと、メインボードを接続するコネクタが未配線なので、動作確認はのちほど。

------

ごく最近、SC70-6パッケージで、バッファが2個入っているものを見つけた。

http://focus.ti.com/lit/ds/symlink/sn74lvc2g17.pdf

これなら入ったかも...
まあ、また次作ることがあれば、これを使おうか。
いや、そのときには5Vトレラントじゃない石は、もう使わないかな。

------

マウスの重量計測。
125~130gくらいか。

| | コメント (0) | トラックバック (0)

2006年5月 8日 (月)

剛性

重量増にはなるが、組み立てられないのでは話にならない。
ジュラコンのスペーサーを、一部しんちゅう製のものに変更して組み立ててみる。

今度は調子いい。
やはり締め付けで変形するのが、まずいようだ。

ただし、タイヤが基板のかどに干渉するので、基板の端の面取りをする。

| | コメント (0) | トラックバック (0)

2006年5月 7日 (日)

連休終了

400kmのロングドライブで帰還。
明日からまた仕事。なんだかんだで連休は、金土日の3日間だった。

連休中は、マウス作業進展なし。
各方面では着々と進行中のようで、気はあせるが仕方なし。
ここのところは、いろいろ一段落しつつあるので、日々の余裕は以前よりはある。

当面の目標は、駆動ブロックをまともに組み立て、信地旋回とスラロームの確認をするところまでか。
明日からまた、地道に作業する。

| | コメント (0) | トラックバック (0)

2006年5月 6日 (土)

帰省

西に帰省中。
上り線は混雑していたが、下り線はそうでもなし。

------

マウス基板を持ち帰るのを忘れ作業無し。まあ仕方ない。

シリアルEEPROMを操作する関数を、03Bから移植しようと思っていたのだが。
今回の基板は、I2C接続で8Kbyteのものが接続されている。
7145にはI2Cがついている。
SPIのようにばりばり使おうとすると難しいが、シリアルROMあたりだとちょうどいい感じだ。

03Bの時は32Kbyteのものを使ったけれど、パッケージがMSOP 8Pのものは8Kbyteまでしか手に入らなかった。
フットプリントを小さくするために、今回は小さい容量のものをあえて採用。

| | コメント (0) | トラックバック (0)

2006年5月 4日 (木)

外仕事終了

仕事終了、撤収中。

逆方向だが、東名は上り渋滞50kmだそうな。
首都圏周りで大型連休に車で移動するもんじゃない...

下り線はまだましだが、それでもところどころ渋滞している。
これから400km、自走で帰宅。
やれやれ。

------

別動隊からの報告によると、首都圏からの下り鉄道は、がらがらだそうだ。

| | コメント (0) | トラックバック (0)

2006年5月 3日 (水)

今日の作業

朝は7時前出発、戻りは23時過ぎ。
落ち度があるわけじゃないと思うのだが、この仕打ちはいったいどうしたことか。

------

夜なべ作業を終えて戻っても、作業する時間なんてないようなものだが、根性で外付けADコンバーターを半田付け。
ほんとに半田付けするのみ。

------

明日も7時出発。
一歩引いてる身からすると、何もそこまで入れ込まずとも...と思うのだが、当人たちはそうもいかぬのだろう。
明日も早い。寝よう。

| | コメント (0) | トラックバック (0)

2006年5月 2日 (火)

今日から

またしても外仕事。

特に何があるわけではないのだが、宿戻りは遅く、明日は早い。

------

作業は、ソフトウエアを少々。
新ネタ回路は、動いてはいるようだ。

連休は、前半仕事、後半帰省で作業の進捗は期待できない...

| | コメント (2) | トラックバック (0)

2006年5月 1日 (月)

買出し

駆動ブロックを何とかすべく、ネジの類を買出しに出向く。

いろいろなものが通販で買えるようになったとはいえ、こういったネジやスペーサーの類は、通販を利用しにくいもののひとつだ。
必要なネジが多種にわたるので、1アイテム100個とか買っていると、すぐに数万円とかになってしまう。
M3x40とか、めったに使わないようなものは、必要な本数だけにしておきたいものだ。

日本橋に出向き、何件か回り、必要なネジを調達する。

------

日本橋にデジットという、有名なパーツショップがある。
扱っているものは秋葉原で言うと、鈴商と千石の中間くらいか。
アイテム数は、両者を上回っているかも。

秋葉では見かけないようなものも、いろいろあって結構面白い。
ジュラコンやBSのスペーサ、5mmから20mmまでは、オスメスもメスメスも1mm刻みでそろっているとか。
しかもM2,M2.6,M3とある。
ここのオリジナル商品も目立たないけれどいろいろあるようで、6角のスペーサーに追加工を施したものを売っていた。
ちょうど良かったので、購入してみる。
このままでは使えないので、更に追加工しなければならないけれど、精度はいらないところなので、十分利用価値はある。

------

買ってきた部品で、駆動ブロックを再仮組。
今度は剛性が上がったせいか、昨日までの干渉の問題が出ない。
これならいけるかも...

モーターのケースと路面のクリアランスは0.5mm程度だが、ここについてはこれで十分だ...

| | コメント (0) | トラックバック (0)

« 2006年4月 | トップページ | 2006年6月 »