2019年4月11日 (木)

タイヤの数

堅い話で良いのかな...

4輪と言っても、マウスやトレーサーで使われているような、
左右それぞれの前後輪が拘束されているようなものの話。
最初に考えたころの話でもあるので、今のみんなが
同じような考えで使っているかどうかは分からない。

------

タイヤの数は本質的なものではない。

今言ってる物は前後が拘束されていて、
4輪と言っても実質2輪と同じだ。自由度的な意味で。

じゃあなにが違うかと言うと、接地面が2か所に分かれている処。

どう変わってくるかと言うと、スリップアングルvs横力/ヨーの
発生のオーダーが、2輪に対して一桁くらい上がってくる(ハズ)

小さなスリップアングルで、大きな操舵力、横力が得られる。

同じだけタイヤをねじるのに、4輪の方が大きな力が要る、
と言うイメージ。

------

#そもそも、スリップアングルを想定しなくてもいいような
運動の範囲だと4輪メリット無し、でいい気がする。

------

小さいスリップアングルの何がうれしいかと言うと、
モデル化しにくいスリップアングル
と言うものの影響を小さくできて、同じ制御でも狙った
動きをさせやすいというのがある。

逆にスリップアングルが極端に大きくなるような、
柔らかい(グニャグニャの)タイヤでも制御が効くようになる。

(2輪では破綻する様な)グリップ自体は高い、
柔らかいタイヤでも走れる。
そもそも2輪(でも破綻しない)と同じタイヤを履くなら
余りメリットを感じないかも。

------

制御が真に高度になってきて、4輪のメリットを
全てソフトウエアで処理してしまえば、
駆動ロスとか重量の面で、2輪の方が究極的には速い気はする。

ただ、神ならぬ我らでは、その域への到達が難しい...


2輪4輪、定性的な話ではなく、その場その場での局所解であろうかと。
各人、気に入った方式を使えば、それが良いのだと思う。

------

4自由度の4輪とか、操舵輪付き、デファレンシャルギア付きなどは
全く別物だと思います。

自動車関係の事をやれば、段々に何となくわかってくるかも。
意外と奥深いです。

| | コメント (0)

2019年4月 6日 (土)

タイマー実装

往年のタイマーペリフェラル8254を使い、2chのPWM波形を生成。

3個のタイマー、1つをインターバル動作として周期を生成、
残り2つは、ハードトリガ付きワンショット動作。
これで、所望の動作を実現できた?

このチップを入手したころは、これでPWM波形が出せるなんて
考えもしなかった。
そもそも、DCマウスを作るなんてことも意識になかったしな。

今どきの、バッファレジスタ付きのタイマーではないので、
何も考えずにレジスタを更新すると、すっ飛んだパルスが
出たりする。

昔のH8-300Hあたりでも見られた現象。

新旧のデータのはざまにカウンタの値があると、
一発だけデューティ100%のパルスが出たりする。

簡易的回避策として、更新前にタイマーの現在値を参照して
危ないタイミングでは、あえて8254のレジスタを更新せず、
スキップするようにする。

完全に回避するには、もうちょっと考えないといけないけど
実用レベルなら、これでいいかな?

------

ともあれ、これで、マウスに必要な要素はそろった気がする。

あとは、SPIをパラレルバス直結で読み取るテストを
した方がいいけど、こっちは完全にタイミングを
コントロールできるので、わざわざ試すまでもないかな。

| | コメント (0)

2019年3月31日 (日)

ADC動作確認

190331

おっ、(外付け)ADC、動き始めたようだ。
8ビットパラレルバスですよ?

ぱっと見た感じ、クロストークも少なそうで
お行儀がよさそうに見える。

| | コメント (0)

2019年3月14日 (木)

32ビット除算実装とか

割り算掛け算なんて物はついてないz80で、
32ビット÷16ビット演算の実装とか。

もうこんなもの、趣味以外の何物でもないけど、
インデックスレジスタ使って、ぐりぐりやって、
とか、これが意外に楽しい。

32ビット÷32ビットも、あとちょっと
拡張すれば出来るな。

さすがに浮動小数点演算を実装するまでは
やらないけど、あと平方根演算を実装するくらいで、
マウスを走らせるのには用が足りそうだ。

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

2019年3月 5日 (火)

ホテル暮らしで作業

Z80アセンブラと戯れる日々。

色々なものを作るときに、いきなり目的の物に着手せずに、
周辺環境の整備を入念にやる。
後々の息切れを回避するためには、かなり有効だ。

一般的には、そのためのOS導入だったり、デバッガだったり
するんだけど、こういうリアルタイムで動作する小サイズの
ロボット(移動体)に適用するのは、なかなか難しい。

それで、手製で色々なデバッグ環境を作るのだけど。
手始めに、printfデバッグができるようにしておくと、
その実装の軽さも相まって、大変有効だ。

sh2やh8を使ってた辺りで、この辺の手法は確立したんだけど
折角なので、z80でも実装してみる。
もちろん、アセンブラなので、printfと書くわけにはいかない。
極小のサブセットだけど、作って行けば、まあ、なんとか
使い物になりそうな感じではある。

これで、固有のデバッグコマンドを実装すれば、
今後I/Oを追加実装して行っても、チェックに
困ることはないはず...

ただまあ、プログラムメモリのサイズも極小で(64kb)
とてもマウス本体のソフトウエアが入り切る感じはしない。
256kbのEPROMに切り替えるべきか...

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

2019年3月 2日 (土)

試作ボード起動

新作用のテストボードが動き始めたようだ。
CPUは、84年製 Z80A
最初に、この手の物をいじり始めたころのストック部品。

190301

分かっちゃいるけど、CPUにはなんにも、本当に
なにも入っていない。
付いてるのは、DRAMリフレッシュ機能(の一部)くらい?

RAMもROMも、IOポートもUARTも全部外付け。
割り込みコントローラーは、なんと周辺IOについている。

しかも、微妙にうまく繋がらないので、ロジックゲートが
いくつか必要になる。

74シリーズのロジックIC、この手のマイクロプロセッサを
動かすには必須で、型番聞くと大体どんな機能か
分かったりするものだ。

今回は、HC139とHC4020を使用。

------

これは...意外にも楽しい。

------

Z80のモード2割り込み、初めて使ったな。
これは...よくできているw

モード2にはZ80ファミリのペリフェラル必須で、
趣味で買うには、ちょっと高かった。

ソフトウエアどころかハードウエアで構造が
決まる部分もあるので、完全に理解してないと、
手も足も出ない。
うまく動くと、余計に満足感が。

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

2019年2月28日 (木)

CPU周りの回路

今更、見直している。
あれ?プルアップ抵抗って、こんなにあちこちに要るんだっけか...
N-MOSだからこうなっちゃうのか?

うーん...なんか一から作り直した方がよさそうだな。
クロックの件で思い違いもあったし。

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

2019年2月24日 (日)

進捗

開発環境が吐く、インテルヘキサフォーマットのオブジェクトを、
シリアル経由でROMに書き込めるようになった。

ソフトウエア開発環境は、整備できたということだ。

190224

今どきならこれは、Lチカ完と同義なんだけど、
実行できるターゲットはまだ存在しない。

はんだ付けを急がねば...

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

2019年2月23日 (土)

書き込み成功

お、書き込みできたみたいだ。

190223

でも、運用できるまでには、まだまだ
たくさん作業が要るな...

まあ、最初の一歩と言うことで...
Lチカまでは、遠い道のりだ。

こいつも秘蔵の一品。
デートコードは8901、ちょうど30年ものか。

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

2019年2月19日 (火)

評価用物資

手元に届いた。

ここれは...セラミックパッケージか!
ふうむ、デートコードは、そこまで古くない(9606)が...いや、
十分古いか、今は2019年だ。

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

より以前の記事一覧