去年はご迷惑おかけして申し訳ありません。説明と現状報告をさせていただきます。
開発者様向け情報#developer作成中
CASシステムとは? †
踏むと反応するセンサーを横に並べたゲーム用自作コントローラー。プレーヤーは上に乗って横に動くことで、画面上のキャラクターを操作できる。主犯はcap。
去年完成予定だったが、設計ミス実験不足その他もろもろによって失敗。本当にすみませんでした。
CASはCapacitor-Array Sensorから。性能・特性すべてがカスなので無理矢理カスと読む。
アルミホイルで作った電極を用いた静電容量センサーを最大32個用い、センサー部最大長は約8m。
倍密度検出技術(大げさ…)により、(センサー数)*2-1の最大63位置の細かさで位置検出が可能。
ただし、センサー部が長すぎるので数を減らして運用予定。
なんとなく資料公開
添付ファイルにアップ
- ブロック図.png…CASの回路の仕組み。こんなの見るやつおらんだろうが。
- センサー構造.png…たぶん去年より分かりやすいセンサーパネルの構造図。
詳しい仕組みの解説ができたらアップする予定。
名前募集 †
CASじゃ中途半端なので、なんか面白いorカッコいい名前募集中
進捗 †
現在進捗率91%(気分ベース)
電波祭までには間に合うペースです(間に合わせないと実行委員会発注の仕事ができないので去年より大変なことに・・・?)
(8/21)祝!本番用基板およびセンサーパネル仮配線にて、テスト成功!
(8/22)センサーパネル7枚中3枚を仮配線から本配線へ移行。出力コネクタ実装。センサーへの交流給電部、仮配線から本配線へ移行。シールド化。なかなか進まん・・・。
(8/26)再テストにより停滞していましたが、本日夕方から再開。制御プログラム更新中。
(9/10)中間報告。個人的に色々とあって更新停滞してましたが、生きてます。制御プログラムは恐らく正常に動作できるレベル(タイミングの問題は実機が完成しないと試験できない)。ハードには変更なし。
もう山場は越えているので更新ペースは落ちます。
(9/17)制御プログラムの出力系のデバッグ・テスト終了。出力系(スイッチ制御)に問題なし。
現状での位置読み取り速度(位置情報が送信される回数/秒)は約10回/秒と判明。遅いな・・・。やっぱCからアセンブリ化が必要か・・・。
去年の失敗の原因 †
- CAS-ポケコン間のインターフェースの問題
インターフェースLSIやCPUのZ80、ポケコンの仕様、信号線の駆動能力やタイミングなどをよく把握せずに、標準的な回路とは違う回路を作ってしまったため、データのやり取りがうまくいかなかった。かつ、制御線の配線忘れ?
- センサーのインピーダンスが小さく、センサー駆動回路のインピーダンスが大きい
センサーを駆動するだけの電流を供給しきれていなかった。
- ノイズの問題
対策方法 †
- 標準回路の採用、バッファの追加
- 高出力のアンプの追加、低インピーダンスのパワーMOSFETスイッチの採用
- コンデンサの追加、閾値の微調整
現状・対策結果など †
- インターフェースについては正常な動作を確認しました。
- ブレッドボード上にて、実際より小さなインピーダンスの状態(実際のセンサー群合計の1/2に相当)で、接続されたセンサー数が実際の1/4の規模でのセンサー1個の駆動と検出の実験に成功しました。
- コンデンサ追加でノイズがある程度除去できることを確認しました。ただし、周辺回路との兼ね合いでパラメータの調整がシビアなため、単安定マルチによる信号整形に任せました。すでに実験済み。
状況報告まとめ †
- インターフェースの改良
→完了、テスト済み
- 電源構造の改良
→完了、負荷試験済み
- 発振回路の改良
→基板製作完了、調整中
- センサー選択用半導体スイッチのインピーダンスの低減
→完了、2.の実験時に実験完了
- 検出回路の改良
→基板完成、調整中
- 外装
→未定(面倒なのでダンボールか何かで)
- センサーパネル増産(少なくともあと2枚、できれば3枚)
→気合(実際は去年の余りをちょいちょい修正するだけ)
- 全体結線
→各基板間は配線完了、センサーパネルへのコネクタ搭載済み、パネル側のコネクタは未搭載
- ポケコン-PC間インターフェース改良(物理的強度の改良)
→ガムテでケーブルを固定
- プログラム
→去年のをそのまま利用。一部手直しが必要。これが面倒・・・。
新たな問題 †
- 検出部の調整がシビア・・・
→発振周波数の向上(センサーのインピーダンス低減)と高出力化でカバー。必要に応じて、センサーに並列抵抗追加でセンサー毎のゲインを調整
- MOSFETスイッチのゲートドライブ電圧がやたら高い(最大定格越え)
トランスやコッククロフト型の倍電圧整流回路のレギュレーションの悪さを甘く見ていたようだ。無負荷時の電圧(ゲートに印加される電圧)は30V強、最大負荷でも25V程度・・・ACアダプタの表記は9V、ピーク値が12.7Vだから・・・ピーク値以上を維持してんな・・・
倍電圧整流をやめるか、無駄にレギュレーターで対処。
- 回路がつぎはぎ
ほっといてくれ
開発者向け情報 †
- 通信方式
- RS-232C(予定では、1200bps,ハードウエアフロー[CTS/RTS,CS/RS],パリティなし、スタート/ストップビットは1bit)
断線等を考えるとソフトウエアフロー[Xon/Xoff]がいいんだけど、通信速度が下がりそうなんで…
- データ構造
- CASから送信されるデータ
- 8bitのデータが一定間隔で勝手に送信される
下位6bitで位置を示す。上位2bitはステータス。
MSB上位← SSXX XXXX →LSB下位
XX XXXX:位置情報、0で検出なし、000001が左端、111111が右端
SS:ステータス。11で正常。それ以外はエラー。
- CASへ送信する制御コード
- 通常、何も送信しなくていい。
余力があったら、テスト用命令とか付けたい。
かなり設定は流動的なんで、仕様が変わったらごめん。