自分自身のための ものづくり / 自分自身のためのものづくりメモ

突っ込みなどがありましたら掲示板にお願いします。

* マイクロスイッチのチャタリングの様子の観測

#電子工作 #実験 #メモ

はじめに

 チャタリングによるダブルクリックが頻発する IntelliMouse Explorer 3.0 を、Windows上で動くフリーソフトの ChatteringCanceler を用いて騙し騙し使っている。
 色々不毛で不便。ハードウェア的にパッチをあてるために、まずは、マイクロスイッチのチャタリングの挙動を観測してみた

機材

 PICkit2のソフトに簡易ロジアナ機能があるので、それを利用。3chまでしか観測できないけど、1chあれば十分。

 PICkit2の1ch,2chには内蔵の4.7kΩプルダウンがある。なので、マイクロスイッチのコモンを1chに接続。NO接点にPICkit2のVDDを接続し、VDD出力にチェックを入れる。
 トリガを1chの立ち上がりに設定し、RUNして、スイッチを押す。

結果

 0.5msでだいたい安定するが、1.5ms程度まではチャタリングが時折発生する。

 IME3.0のチャタリングは、こんなパルスを拾った結果なのだろうか。

対策

 色々な手法はあるけど、はて、どうしたものか…。
 H/Lで+1/-1してカウンタを増減させて、上下の閾値に達したら論理確定、ってあたりが確実か。
 パラメータは、500μ秒の連続ON/OFFで切り替わるぐらいで。マウスのボタンなら、0.5ms遅延したところで全く問題ない。

 マイコンを使うことを考えていたが、素直に積分+シュミットトリガゲートの方が…いや、5ch分のCRは場所食いだ。無駄に集積回路を使うけどマイコンの方が部品点数は少なくて済む。

* NEO GEO 用メモリカード(等)のSRAMの、FRAM化の検討

#NEOGEO #メモ
MCS48(8048)マイコンのページ(2007-05)
http://www.protom.org/micon/?date=200705
通常のSRAMのように扱えるので乗せ変えるだけと思いきや、これが全く動かず。しばしデータシートを眺めると、/CS(チップセレクト)端子を動かしてアドレスを内部にラッチさせないとダメとありました。この8048ボードは/CS線はGNDに繋がっているので原因究明。空きスペースにTTLの74LS08を置いて、8048からのPSEN,RD,WRでNegative-ORして/CS線に繋いであげると動き出しました。

  • FRAM Design Considerations
When designing with FRAM for the first time, users of SRAM will recognize a few minor differences. First, bytewide FRAM memories latch each address on the falling edge of chip enable. This allows the address bus to change after starting the memory access. Since every access latches the memory address on the falling edge of /CE, users cannot ground it as they might with SRAM.

 富士通の場合は、/CEがLにて/WEか/OEの↓でラッチアドレス?
 非同期SRAMと置き換えるだけでは、ダメか…。

* PIC12F615が秋月通商に登場

#電子工作 #部品調達 #PIC

 PiPoにはうってつけだな。
#夏コミの申し込みは結局しなかったのだけど…。

8ピンPICマイコン@秋月電子通商

PIC12F615

単価100円
◆クロック20MHz動作!
 (内蔵RC発振は4MHz, 8MHz)
◆10ビット4chA/Dコンバータ内蔵
◆フラッシュ1Kワード
◆RAM:64バイト
◆データ用EEPROM:無し

PIC12F675

単価 110円(10個以上)
◆クロック20MHz動作!
 (内蔵RC発振は4MHz。OSCCAL Valueの扱いがちと面倒)
◆10ビット4chA/Dコンバータ内蔵!
◆フラッシュ1Kワード
◆RAM:64バイト
◆データ用EEPROM:128バイト

PIC12F683

単価 150円
◆最大20MHz
 (内蔵RC発振は125kHz〜8MHz)
◆プログラムメモリ:2048ワード
◆SRAM:128バイト
◆EEPROM:256バイト
◆ADコンバータ:10ビットx4ch
◆コンパレータ:1ch
◆タイマ:8ビットx2/16ビットx1

* RSオンライン

#部品調達 #電子工作
 RSオンラインの送料が代引き手数料込みで460円になっていた。これなら、まとめ買いしなくても割と気楽に品を買える。

 個人でも特に問題なく利用できるので、アマチュアの味方秋月やら千石やら若松やらで扱っていない品が必要な時に重宝する。


※弊社は基本的に法人・学校様でご登録をいただいてご注文をお願いしておりますが、
  個人様からのお問合せも多いことから、下記条件にご了承いただいた個人様とお取引をさせていただいております。
  ・代金のお支払い方法は【商品代引】のみとなります(手数料は無料です)
  ・ご自宅へのカタログ送付は承っておりません
RSオンラインからの確認メールから抜粋)

マイコン工作の実験室→ - フォーラム
http://micon.arrow.jp/modules/newbb/viewtopic.php?topic_id=44&forum=5&start=10
RS イギリス本国の方針で個人ユーザ様が優遇されない仕組みになって
  しまっています。私どもとしては個人のお客様は大歓迎ですので、
  ○○電子や○○企画といった屋号を名乗るなどしていただければ、
  企業様としてお取引ができます。

* deny from 64.124.85.0/24

#Web
 再び、BecomeBotに検索履歴をかき回されたので、.htaccessにて排除することにした。
robots.txt BecomeBot締め出し
http://baku.homeunix.net/WiKi/rnx/index.rb?1138996756.txt
にてのけ者にしたはずなのだが、BecomeJPBotは別物というわけか。え゛ー。
 ちなみに、robots.txtは最初にちゃんと読んでる。

 20秒に一度のアクセスだったり、UAの項に載っている http://www.become.co.jp/site_owners.htmlは「お客様が指定されたページは見つかりませんでした。」だったり、かなり感じ悪い。
(ちなみに、正しくは、http://www.become.co.jp/site_owner.html だそうだ。その辺の食い違いも感じ悪いぞ)
 また、他の多くのクローラの挙動と違ってリファラを送る点で、RandomeNoteの敵。

↓はた迷惑なアクセスの記録
(ReadMore...)

* serial keys

#電子工作 #途中経過 #メモ
 お手軽にWindowsマシン(等)にキーボードのふりをするデバイスを繋ぐことができる「シリアルキー」に関するメモ。
 マウスカーソルの絶対座標移動とかもできて、色々使いでがありそう。
(近頃はレガシーデバイスが絶滅危惧種で、あまりお手軽でもないかも)

テクニカルライター後田 敏の部屋 PICマイコンーシリアルキーズ
http://goda.blog3.fc2.com/blog-entry-84.html
 十数回にわたるシリーズ。日本語キーボード設定での不具合などに関して詳しく書かれていたりして、かなり参考になる。

テクニカルライター後田_敏の部屋_(2)シリアルキーズ
仕様まとめ

シリアルキーによる補助装置のプログラミング
http://support.microsoft.com/default.aspx?scid=kb;ja;260727
 送信する文字列の表が見やすい。

site:www.microsoft.com serial-keys - Google 検索
http://www.google.com/search?hl=ja&lr=lang_ja&q=+site:www.microsoft.com+serial-keys
 各種Windowsでの設定方法


GIDEIの概要
http://www5.wind.ne.jp/ja1syk/uni_design/gidei-j1.htm
 マウスのコマンドなども規定されている。
 WindowsXPでも有効らしい。

日本におけるシリアルキーの経緯
http://www5.wind.ne.jp/ja1syk/serialkeys.htm
 Windows日本語版におけるシリアルキーの冷遇されっぷりが切々と記されている。


#「シリアルキーボード」とか「serial keyboard」とかで検索してもプロトコルの情報が引っかからなくて悩んでたのだけど、「シリアルキー」「serial keys」だったのか。

* シンクロ連射回路

 PS2版スターブレード(鉄拳Vがおまけにつく)用のシンクロ連射が欲しい。
 新宿スポーツランドの筐体についていたトリガ交互連射のに慣れた身では、普通の連射パッドの連射では破壊力が足りない。

ボタンとのI/F

 PSあたりとお話しするのは大変なので、コントローラを乗っ取る。

AVRは全てのポートでオープンコレクタっぽい出力ができる。 PORTxxを0にして、DDRxxを操作すればそのポートは外付けの部品なしに Hi-Z or L の出力ができる。
naru 日記
http://naruken.cweb.tk/diary/diary.cgi?b=06084

 PICとかでも、たぶん、同じようなことができるな。

連射制御

 最初は「AVアダプタからコンポジットビデオ信号をもらってLM1881Nで同期信号をとりだして」と考えていたが、マイコン使うなら1/60秒測ればいいじゃん、と思った。
 昔からの多くの作例で同期信号を使っていたのは、汎用ロジックで組む場合には結局それが一番楽だったからだろう。しかし、扱うのは本来手で押すボタンなのだから、精密な同期は必要ない。
 同期信号を使うのは、映像信号の取り回しとか色々面倒が多く、部品点数も増える。マイコンで1/60秒測るなら、極端な話、本当にワンチップで済むだろう。

 ただ、マイコンで1/60秒を測った場合、VSYNCとの微妙なずれから「うなり」が生じるかもしれない。乱数でタイミングを揺らしてやるべきか?

#電子工作 #途中経過 #シンクロ連射