PS/2マウス検討ログ 2005.12.24(土)〜
左はレーザマウス、腱鞘炎対策付き(3箇所)です。06/08(水)購入。 このマウス、7月23日(土)にX,Yの移動が出来なくなりました。 購入当初からPS/2接続で時々垂直スクロールが出来ず、メーカー仕様とのことでや むおえずUSB接続で使っていました。メーカーと販売店に交渉し返品扱にし、新たに 購入した Microsoft Compact Optical Mouseは、PS/2接続で垂直スクロールは快適 です。 右は使い慣れたマウス。IC不良で故障中です。 AVRマイコンへの置き換えを検討中(2005.06.23〜直る日まで)。 2005.08.03(水) PS/2対応ホイール付きマウス用AVRマイコンプログラムが完成しました。
PS/2マウスプログラム開発のハードウェアーです。 @はMINI EZ-USBボードです。 AはAVRマイコン用フラッシュROM書き込み回路です。 Bの上はPS/2マウス用マイコン、下はPS/2ホストシミュレート用マイコンです。 B以外の部分は、以前に検討した回路の残骸です。 (画像クリックで拡大)
回路図:2005.08.21 プログラム(15,289バイト):2005.08.21
2005.08.21(日) 類似処理の関数化でROM使用量を削減し、ロータリーエンコーダー入力のチャタリン グ処理を追加しました。 カーソルの揺らぎが若干減少したように見えます。 さらに負荷抵抗を10KΩから15KΩに変更し、ポート入力の振幅が閾値をセンタ ーに上下に均等になるようにしました。 ロータリーエンコーダーのホイールを直接指で回す限りカーソルはスムースに移動す るのですが、ボールを使用した本来の使い方でカーソルが右往左往します。 カーソルの方向転換に制限を設ける工夫が必要なのかもしれません。 2005.08.10(水) スケーリング補正量を調整し、カーソル移動時の揺れが多少改善されました。 X,Yのカーソルをスムースに移動させる為には、ハードウェアーとソフトウェアーそ れぞれにノウハウがありそうです。 例えば、ロータリエンコーダーの赤外発光LEDの 傾きを僅かに変えるだけでカーソルの動き方に変化が出ます。 プログラム容量に余裕があればさらに検討をしたいところですが、ROM詰めが困難な ため、今日のバージョンでプログラム検討を完了します。 ケーブルの断線が起き難いことを期待し、据え置きPCに付属していたホイール無しマ ウスのケーブルに交換しました。 2005.08.08(月) 故障中の無名マウスにAVRマイコンを装着しました。 PS/2ホイールマウスとして動作しています。 マウスを水平に移動したときに垂直が少し揺れたり、垂直に移動したときに水平に少 し揺れる現象がでます。 データレポートの際に、X,Yに閾値を設けて、閾値以下なら ば移動量0をレポートするように対策したほうがよさそうです。 この対策を入れるためには、現状のROM使用量2046バイトを2000バイト位まで削減し なければなりません。 2005.08.03(水) 2044バイト(99.8%)に収まり、X,Y,Zの各軸と、左右及びホイール釦の操作が出来て プログラムが完成しました。 使い慣れたマウスを復活させようとして始めたPS/2マウスのAVRマイコンプログラミ ングでしたが、指当を貼り付けた Microsoft Compact Optical Mouse が主役になり そうです。(残念ですが、ボールタイプのマウスには戻れそうにありません。) 2005.08.02(火) マイクロソフトのインテリマウスからロータリーエンコーダーの信号をとりだし、デ バッグボードに接続しています。 ロータリーエンコーダーのフォトトランジスター出力とグランド間の抵抗値を調整す ることで、X,Yの移動量を安定してカウントするようになりました。 PCのPS/2コネクターに接続し、PCを起動すると標準マウスとして動作します。 1886バイト(92.1%)残り162バイトです。 2005.07.28(木) インテリマウスのロータリエンコーダー信号をAVRマイコンに接続し、X軸左移動でカ ウントアップ、右移動でカウントダウンすることを確認しました。 軸移動方向によるカウントのアップ・ダウンの変更は、信号線の接続を入れ換えるこ とで行います。 2005.07.27(水) CPUクラーの交換でPCが大分静かになりました。\2,300の投資は成功でした。 ただし、揮発性の匂いがするのが気になります。塗布したシリコングリスの匂いか も知れません。 2005.07.25(月) AVRマイコンのデバッグの為に、マイクロソフトのインテリマウスのY軸ロータリーエ ンコーダー信号を測定しました。 軸回転のサンプリング時にLEDを点灯している為、 エンコーダーのマイコン入力が断続しています。省エネの為でしょか。 とりあえずLEDの常時点灯を工夫する必要がありますが、パターンカットはしたくな いし、よい方法を模索中です。 CPUクラーを交換することになり、検討はしばらく中断します。 2005.07.23(土) ロータリーエンコーダーの処理関数が完成し、これをX、Y、ホイールの各軸の回転検 出処理に流用します。(チャタリング処理を施していない点が少々気がかりです。) 現在のフラッシュROM容量は1700バイトで、いくつかのコマンド処理を追加して2048 バイト以内に納まるかは微妙です。 2005.07.24(日) Microsoft Compact Optical Mouse を購入しました。 PS/2接続で垂直スクロールが 確実に動作しています。 昨日まで使用していた某社レーザーマウスは、PS/2接続で垂直スクロールが反応しな いときが度々あり、メーカに確認したところ、「仕様です。」と言われたマウスで、 購入から2ヶ月を経ずに昨日XY方向に動かなくなりました。 2005.07.22(金) XY方向を示すフラグ処理の問題が解決し、カーソルがスムースに上下左右に動く様に なりました。 AVRマイコンのフラッシュROMの使用量が1572バイトになり、残りの476バイトにXYとホ イールのロータリーエンコーダー処理が入ればプログラムは概ね完成です。 2005.07.21(木) PCがAVRマイコンを Micodoft PS/2 Port Mouse として認識し、 XY方向を示すフラグ処理に問題があるものの、釦押しでカーソルが上下に動きます。 使い慣れたマウスの故障原因が判明。コードのVcc供給線の断線でした。 ICのクロックが発振していたので、ICの出力ポートに損傷があるものと早合点をした おかげで、PS/2の勉強が出来ました。 2005.07.05(火) Rest、Enabale Data Report、Set Report Rate、 Read Devaice IDなどのコマンド授受と、 釦押しとXY軸の移動データレポートが出来るようになりました。
Topへ

[PR]湘南美容外科で働きませんか?:全国19院。医師、看護師ほか募集中