コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for 4月, 2006


hatena bookmark

ジャイロセンサーが、まあ使えなくもないということで加速度センサーと組み合わせて纏める事にする。
PIC12F683 が丁度 A/D 4ch なので、加速度センサー三軸にジャイロ一軸で収まるのだ。


きちんと仕上げるにはぶっつけではなく、前準備をしっかり押さえるのが重要。ということで規模はともかく回路図を書いておくところから始める。


その甲斐あってかそこそこのまとまり感。


全モジュール結合で測定時の状態はこんな。なんとなく合体ロボットを彷彿とさせる。

pose_sensor.asm
PIC のソースコード。
A/D 読み取りとデータを追加しただけで、基本的に以前の加速度センサーファームの時と同じ。
—–


hatena bookmark

久しぶりに超ミニマムな環境でのアセンブラプログラミングを堪能したいという事で始めた PIC マイコン工作。マイコンのプログラミングも楽しんでいるので、ここまでずっとアセンブラで通してきてしまった。
それなりにこなれてきて色々出来るようになったけれども、さらに何かできるかと考えると PIC では限界があるのが見えてくる。例えば、メモリが足りないので外部に SRAM を繋ごうとすると I/O の足りなさが気になってくる。かといって本体だけで済ますとメモリが少なすぎるのでデータを記録するような分野では使いづらい。
当然な事ではあるけれども、その限界の手前が PIC が得意な分野であろうと言うことがわかってきた。

ほんじゃ、PIC の次のステップというか「より楽しそうな事」を行うには何が適しているのかねえということを考えてみる。
メモリ量とI/O量、そしてプロセッサパワーが必要であれば素直に H8/R8 マイコンへシフトしたほうが良さそう。コンパイラに GCC 使えるし。
プロセッサパワーだけなら SH2、PPC、ARM といった一般的な組み込みプロセッサボードかねえ。
スピードといってもロジック側でいったら CPLD が必要になってくるかなあ。カウンタとかタイミングクリティカルな用途はマイコンだけではきつい。具体的には CRTC とか LCD コントロールとか。ビデオ出力なんかは PIC じゃ力不足だし。
CPLD/FPGA も視野にいれてはいきたいものだ。

そんな感じで調べていたら PSoC というマイコンデバイスの存在を知る。
通常 PIC とかはチップ内にデバイスがいくつか入っていて、どのチップに何が入っているかといった性能の違いで PIC デバイスを選んでいく。
だが PSoC は周辺デバイスをプログラマブルかつダイナミックに切り替え選択していくことで割り振る事ができるのだという。
面白そうじゃないか。


てなわけで Mini programing kit を Cypress のサイトから直接購入。$35 なり。(送料その他で合計 $60 だけど)
プラスチックの奴が USBプログラマで PIC と同じように 5本の信号を ISSP でボード上のチップに書き込む。ボードはチップにプログラミングする用でもあるけど、LED×4、スイッチ×1、VR×1、I/O引き出し端子付きのテスト用評価基板となる。PICKIT1 の PCoS 版といったところだね。
おまけで付いてくるデバイスは、CY8C27443 と CY8C29466。取り敢えずこの二本があれば十分遊べそうだ。

PSoC が NANO 以降の iPod (の静電パッドコントロール)に採用されているというのは有名な話だけれども、ゲームボーイアドバンスミクロにも採用されているとは知らなかった。
ああ、そうか、START/SELECT の LED コントロールやボリューム&輝度コントロールのあたりか。へたすりゃ音声アンプとしても使われているかもしれないな。
なるほど、低コストでサービスを提供できるチップかもしれん。

PIC でやりたいことがまだあるのでしばらくはそっちだけれども、PSoC も少しずついじっていきたいと思う次第。
—–


hatena bookmark

会社で古いトラ技をぼけーっと眺めていたら、各種センサ取り扱いの記事があった。
その記事によるとジャイロセンサを扱うには、CRのハイパスフィルタとローパスフィルタを接続すると良いとある。ああそうか。
言われてみると至極当たり前のことなんだけれども、アナログ回路が苦手なのでそういった頭がすぽんと抜けていたのである。ノイズや基準値ドリフト(温度等によって静止時の値がずれる事)もソフトウェアでなんとかしようとしてしまっていた。
まあ、ソフトウェアをやっているとハードウェアの不具合をソフトで何とか回避してくれとか良く言われるものだし。実際そうしてきたもんだから、ついつい。
マイコン工作、特に PIC ではソフトウェアでカバーすることで回路構成を劇的にシンプルにさせる事ができるというの特徴なのでなおさら。

しかし、センサーのノイズはアナログフィルタで押さえておく方が正解だよね。
確か記事にあったのは、ハイパスフィルタが 0.3Hz でローパスフィルタが 1kHz ほどだった。ハイパスフィルタは直流成分を切り落とすためで、ローパスフィルタはぶるぶるノイズを削るため。
さらにソフトでも上手いことやるとより精度があがりそうだ。

余談だけれども、勤務先はソフトウェア会社なのだがなぜかトランジスタ技術は購読誌なんだよね。私以外の誰が読んでいるんだろ?
—–