作者のつぶやき 2001年4月1日〜4月30日 [メインページ] [ハードウェア部門] [WWitch] [BBS]

[GAME BASIC for SEGASATURN 用の BASICプログラム]マークのついているリンクから.Bファイル がダウンロードできます
△ 2001年5月のつぶやきへ


2001/04/30 'むにゅ'ときたか

ここをご覧になっている多くの方は、ネット環境がすでに整っていそうな気がするので もし Dreamcast を持っていても、それに添付されているインターネット接続ソフト 「ドリームパスポート3」を起動したことがない方は多いのではないでしょうか。 また、起動したことがあっても、パッケージや操作説明書はいたって一般向けですし、 タイトル画面で、

    こんばんわー。こんな時間までおきててだいじょぶ?
のようなメッセージが流れたとき、ちょっとアニメ的な口調かな、 と思うものの、それ以外はいたって普通の音声ガイドが流れるので、 特にそのスジ(謎)を狙っているとは思えません。 あ、いや、その方面に明るい方なら林原めぐみが声を当ててるくらいはわかりますか。

で、しばらくDreamcastでインターネットをした後、 おやすみ、を選んで終了してみましょう。ちょっとしたムービーが流れたあと、

    たのしかったむにゅ
    今日はこれでおしまいむにゅ
    おやすみむにゅ…ZZZzzz

いけませんね。無意味におやすみをしたくなってしまいます(爆)
次に、Dreamcast上でこのディスクを普通のCDを再生する手順で再生してみましょう。 通常 Dreamcast用ディスクを入れて再生を行おうとすると、CDラベルに印刷されている 絵のフルカラー版が表示されますが、ドリームパスポート3では、 ラベルに印刷してある絵ではなく、ネットワーク接続中にでてくる キャラクタがデザインされた絵が表示されます。
じゃ、再生してみましょう。

    このディスクは、Dreamcast 用のディスクむにゅ
    1トラック目にデータが入ってるむにゅ
    さいせいしちゃだめ〜むにゅ
    このディスクと Dreamcastで、いんてぃゃーねっとにある....
    (以下30秒ほどつづく)

さらに、GD-ROMの中身をパソコンで覗いてみると、 これまたネットワーク接続中に登場するキャラクタの壁紙が入っています。 名前は、むにゅむにゅ、せつぞう、だんきちらしいです。

どうやらドリームパスポート3の真の主役は彼女&彼らのようです。
なぜにパッケージや操作説明書にはまったく登場しないんでしょうね(笑)

あ、今後このページではうりゅりん face3sP(Trial)フォントを使う予定ですので入れておいてくださいませ。
Trial版では小学2年までの漢字までしか入っていないのが逆に都合がよく(謎爆)


2001/04/26 もうAVRの2313でいいや
AVRマイコンのAT90S2313(20 pin,DIP)の PDF をよんでみてびっくり。これって、
  • SCI付き
  • 11種の割込みベクタ
  • 8bit, 16bit タイマ各1本
  • 8〜10bit PWM 1ch.(上のタイマ利用)
  • アナログコンパレータ 1ch.
なのね。しかも、tokoyaさんに紹介していただいた、 BASICコンパイラ を使えば、 RS-232C、38400 bpsで文字列出力をするのは、
$Device= 2313		' used device
$Stack = 28		' stack depth
$Clock = 10,000		' adjust for used crystal
$Source=On		' basic source in Asm
$Baud=38400

Dim s As String*5 

s="Test"
Print s 

End
で終了(^^;
これが一個350円(10個購入時の単価@秋月)かあ。 もうこれでいいや(笑) で、せっせとAVRの開発環境を構築。
あΣ( ̄□ ̄
手持ちの2313が一個しかないよ. . . .

2001/04/23 ロボマガ館いろいろ入荷
ロボマガ館にいろいろ入りました。品揃えがどんどんよくなっていきますね。ありがたい限りです。 で、イロモノ好きの私としては、バイオメタルファイバーが気になります。 これを使えば魔女子さん寸法で指を一本ずつ動かしたり、 腕の筋肉代わりにつかったりできそう(ニヤリ
200mAと、ちょっと電流を食うのがあれですが、かわいさのためなら(爆

2001/04/22 センサ部回路ほぼ完成
センサ部再び

部品を微妙に足して動作確認。緑色の枠がラインセンサ部で、上から 動作確認用LED、光変調型フォトIC、ライン検出用LED、LED出力調整抵抗、 となっています(回路図)。 ラインセンサは PIC で ON/OFFできるようにしてみたものの (写真では内側の2個がOFFの状態です)、PSDによる測距には影響無し(^^;
ところで、PSDっててっきり赤外線を出力しているのかと思いきや、 可視光だったんですねぇ。おかげで、PSDを地面に平行に向けるための調整は、 PSDを固定しているホットボンドをドライヤーで暖め、やわらかくした上、 PSDを真正面から覗き込みながら、傾きを変えることでさくっとできました。
あ、PSDをわざわざこんな奥まったところに配置しているのは、 物体がロボットに一番接近したときPSDの出力値が最大になるようにするためです。 物がPSDに近づきすぎると逆に出力値が減少していくので面倒なんですよ。

で、実際に走らせてみると、曲がるときに何かに引っかかる感じがあり、 部品が床をこすっているのかなぁ、とおもって調べてみると、黒ゴム製の 補助タイヤがうまく全体の回転に追従していなかったことが判明。 梵天丸に使われていたプラスチック製のものと交換してみたところ、 さくさく動くようになりました。
こういったところも吟味していたのね(^^;
梵天丸恐るべし。

ファームも書き換えないとなぁ。PICに書き込んである SPXのファーム(まさやんのページに置いてあるのもの)はベータ版で ADC実装がなされてないバージョン(これでしばらくハマッタ)だし、 とりあえずADC部を実装してみても、いまは、"W50FW1F0R1"でラインセンサを 全チャネルONにして値検出, "W790R3"でPSDの値読み込み、って感じで謎過ぎ(笑)
あと、ライン検出で割り込み動作してくれないと、バストラフィックが多すぎて(^^;


2001/04/20 ぼちぼちセンサを製作中
センサ部 ステッピングモータから床面までは10mm程度の隙間があるので、 そこにセンサユニットを埋め込み中。
10mmって結構厳しいのよ。PSDも基板に対して半分の位置ぐらいまで沈んだ位置に ホットボンドで固定してるし、PICは足をニッパで短くしてようやく 床面をこすらなくなりました。

さて、500〜600mm程度までの距離をアナログ値で測定できる PSD からでる赤外線は、赤い矢印のような経路をとおるので、 オレンジ色の楕円で示した位置にラインセンサ (赤色LED+光変調型フォトIC:S4282-11)を配置しても、 測距に影響はないみたいです(^^)
でも念のため、ラインセンサの電源は PIC でON/OFFできるようにします。
#PICのドライブ能力だと直接駆動できるのよ>ラインセンサ

PIC16F876はこれまで一度も使ったことはなかったのですが、SPXのファーム (PIC16F877:40ピン用)をそのまま焼きこんで、ピン名もよく確かめもせず 単純に同じ名前のピンをつないでみて、シリアルバス経由でたたいたところ 一発動作してしまいました(嬉)
ありがとう、まさやん。ありがとう、マイクロチップ。


2001/04/15 コネクタすっきり化
シリアルバスコンセント 全体構成
スワンケーブルのコネクタが大きいのが気になってきたので、 WonderSwan<->シリアルバス変換回路を作りました。 が、スペースが結構空いてしまったので、 シリアルバスコンセント(ステレオイヤホンジャック)もたっぷりつけてみました(笑) これでしばらくコンセント不足に悩まずにすみます。ま、足りなくなっても 家庭用コンセントのようにどんどんタコ足すればいいので問題ないんですが。
#ただの並列つなぎだし
写真ではわかりにくいですが、コンセントには現在、
  • ステッピングモータドライブ回路 -- 低速での振動を抑えるため 1-2相励磁にしてみました
  • 回路用バッテリ -- バッテリも好きなところにさせばOK(笑)
  • RS-232C-バス変換回路 -- スワン<->デバイス間の全信号 をモニタしたりPC側からちゃちゃをいれたり
が刺さっています。

ああ、それにしても仙台の街中は桜が満開なのね。 先週はAOB山から一歩も降りなかったので季節感が微妙にずれてるよ(-_-;


2001/04/11 ステッピングモータドライバとりあえず収束
PICで 100h バイト以上のプログラムを書くときは PCLATHの値を気にして テーブルジャンプをしないといけないことをすっかり忘れて はまってしまいましたが、 ステッピングモータドライバは一応収束
ドライバへのコマンドは、


Sn… 自動回転動作指定

n =

  • bit 3: 左モータ自動回転(1:有効/0:無効)
  • bit 2: 左モータ回転方向(1:逆転/0:正転)
  • bit 1: 右モータ自動回転(1:有効/0:無効)
  • bit 0: 右モータ回転方向(1:逆転/0:正転)

Vnn… 自動回転速度指定(あらかじめ用意した16ビットのウェイトテーブル(38.4kHzでカウント)を参照)

nn =

  • bit 7〜4: 左モータ回転速度(0〜15)
  • bit 3〜0: 右モータ回転速度(0〜15)

Wnn… 励磁パターン直接指定("S0"指定時のみ有効)

nn =

  • bit 7〜4: 左モータ励磁パターン
  • bit 3〜0: 右モータ励磁パターン

n は、'0'〜'F'のASCII文字
って感じで渡します。もうちょっと機能を追加したいけど、 収拾がつかなくなりそうなので、とりあえず我慢(^^;
速度が 16段階なのでゆっくり速度を上げていくと京急みたいな音がします(笑)
モータ駆動用バッテリをリレーで並列/直列つなぎ切り替えができるようにして、 VVVFを騙るかな(w

2001/04/09 ステッピングモータドライバ再び
Saturn Heart 2 の経験から言うと、38400 bps もあれば、 ステッピングモータの励磁パターンデータを1ステップ進める毎に送りつけても、 あんまり問題にはならないのですが、 トラフィックを減らしたほうがかっこいい(笑)ので、 速度と移動量を渡せば勝手にPICがステッピングモータをコントロールするように画策。 PICのプログラミングを進行中です。

PIC16F84@20MHzでは、38400bpsで 1ビットのデータを受け取る間に 130命令の 時間しかないので、割り込みでシリアルデータのやり取りをするわけにもいかず、 また、台形加速でそれなりのスピードまで加速するには、 モータコントロールに 50kHz くらいの時間分解能はほしいので、 SXマイコンやSCIつきのやつに日和ろうかとも思いましたが、PIC16F84 で がんばることにしました(笑

で、65命令で1ループになるようにカリカリと命令数を数えながらプログラム。 こんなことはアセンブラじゃないとできませんね(^^;
とりあえず、スピード一定で、モータの回転方向の切り替えとON/OFFが できるところまでプログラム(参考)。
HEXファイルをみても NOP だらけなのがよくわかりますな(笑)
とりあえず、滑らかな動作だ。よかよか。 でも、残りの機能を追加するにはちょっと考えないとなー。
って、そんなことしてる場合じゃ(^^;


2001/04/04 引越しほぼ終了
出張やら引越しやらでこのところごちゃごちゃしていたのですが、 ようやく各環境が落ち着きました。前よりだいぶ快適になりましたよ(^ー^
ロボコンまで約80日か....


▽ 2001年 3月のつぶやきへ
[メインページ] [ハードウェア部門] [WWitch] [BBS]