コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for the ‘fuwafuwaBlog’ Category


hatena bookmark

基板編。
CPLD でカップラーメンタイマーが作れるようなトレーニングボードを作ろうとか言い出して月日は流れ。
当初は PCBE を使ってちょびちょび手作業でプリント基板のアートワークを作成していたのだけれども、あまりの難しさに遅々として進まず。それよりも、絶対どっかでミスが入るだろコレ、という危機感に苛まれて CAD を EAGLE free 版に乗り換えてみる。
オートルーター目当てではあるけれども、回路図とアートワークにずれが無いことを検出してくれるあたりを頼っての事。

EAGLE は確かにライブラリから部品を探し出すのが難しすぎる。検索機能とかないんかね。とはいってもそんなに苦労もせず回路図をひきなおせた。


オシレーターの出力は 5V だけれども XC9572XL は 5V の入力に耐えるのでそのままつっこんでいる。
ここで ERRATA。完成した後でわかったのだけれども、オシレーターの分周比設定を 5V に繋いでいるけれども GND が正解らしい。この回路図の通りに作ると、どんなにスイッチを設定しても 78.125khz しか出てきません。

この回路を片面基板で作ろうというのが今回の無謀な企画。


当然ながらオートルーティングは途中でギブアップをする。上の図は 79%のルートを張り終えたところでギブアップしている。これでも部品の配置を最適化したり、色々と手を入れた後での結果。何も考えないで部品配置すると、60%くらいしかオートでひけなかったりした。
後は手作業でちょびちょび修正して、できるだけ最低限のジャンパーで済むように組み立てていく。


赤い線が部品面のラインで通常は両面基板なのだが、今回はこの部品面の線をジャンパー線としてスズメッキ線の実装で作ろうという作戦。


なんとか完成。

これを感光基板に焼き付けて作成。
CPLD の足は 0.5mm だし、線間は 0.3mm 程度と細かいアートワークなのだけれども、ずいぶんと慣れたもので焼き付けとエッチングに問題なし。


完成。うむうむ。
が、部品を挿して確認していたりしたら妙な違和感が……。
orz 鏡反転のものを作ってしまった。
穴開けし終えてから気づくなよ……。
(この間数日が経過)


気を取り直して再度作成。
今度こそ完成。

最終的なプリントパターンはこんな。参考までに。
cpld_led_circuit_pattern.pdf

プリント基板作成ってそんじょそこらの脳トレーニングとは比較にならないくらい頭を使うよなあ。パズル的に楽しめる範囲であれば面白いのだけれども。
—–


hatena bookmark

おー、これまでICしか扱っていなかった秋月電子で、PSoC の MINIPROG とコンパイラライセンスの販売が始まっているなあ。
MINIPROG は簡単な EVAL が付いてくる奴で、私が所有しているのと同じ奴。
Cypress 本社通販や Digikey でも在庫が少なくて直ぐ売り切れるアイテムだった(そしてなかなか入荷しない)から、欲しい人はお早めに入手した方がよいかも。

もちょっとちゃんとした開発実験をしたいなら 7000円くらいの EVAL kit の方がオススメですけれどもねー。
あのちっこいブレッドボード部分が中々に便利なのですよ。

みんなも PSoC で遊ぼうよ。
—–


hatena bookmark

久々に PIC をいじっていて MPLAB を最新にしてみようかと Microchip をのぞいたら MPLAB 7.41 になっていた。
よく見てみると。
MPLAB IDE now includes a free copy of the CCS PCB C Compiler.
とか書いてある。
なんと。

実際にインストールしてみたら実際に PCB 版だけだけれども本当に C コンパイラが同梱されていた。
もっとも CCS PCB C Compiler って 12bit 命令長の PIC 専用のバージョンで、今あるラインナップのうちもっとも低級なものである。
PIC10 とか PIC12F509 とかが対象ね。
最もこの辺は機能が低く制限が多いためアセンブラで書いた方が断然よいチップだとおもうので Cコンパイラがどれくらい使い物になるかわからん。

CCS でも PCB 版は単品売りしていなかったし、誰が使うのかわからないだけに大放出的な感じか。
PIC12F509 のプチブームでもくるかな。

私はもう二度と手を出さないであろうチップだけれども。


hatena bookmark

なんか以前からオシロスコープは憧れの計測器なのである。あれで波形観測をしている姿にあこがれるというかなんというか。
大学にいた頃実習で何度も使ってはいたんだけれども、それでも自宅にオシロスコープがある姿に憧れるといういささか変な固執があってみたり。

秋月電子の通販部でpico Technology 社の USB 接続 PC オシロスコープが取り扱い開始になっていた。
んまあ簡易オシロとして osziFox を持っている(もう秋月で扱っていないなコレ)わけだけれども。なんか信号が出ているかな、とかいったちょっとした計測には便利しているんだけれども「波形の確認」を行いたいと思ったらちょっときつい。PC接続用のシリアルケーブルもどっかいっちゃってるし。
ちと込み入った計測がしたいときもやっぱりあったりするのでエイやと買ってみた。
一番安い PicoScope 2202 だけれども。
まあ、2ch 2MHz の計測ができれば今のところ十分だし。


なんか思ってたよりでけえ。

pico Technorogy 社はパラレルや USB で PC に接続できる A/Dコンバーターを提供し続けている会社。ちょこっとしたアイテムで 数10kHz レンジの計測や PC でのデータロガーを提供している。
PicoScope はその延長で高速 A/D コンバータとそれなりなバッファを積んで、オシロスコープとして使えるようにしたもの。実のところハードよりもソフトウェアの方が価値が高かったりする。そこは老舗の会社、オシロスコープアプリの他に、データロガーアプリとスペクトラムアナライザアプリも付いてくるし、どれも枯れて安定している。
他の PC オシロスコープよりこれに惹かれたのはそんなソフトウェア面での魅力から。
PicoScope 2202 は low-cost entry モデルである。他はみんな 3000シリーズで、これだけ格下。分解能も 8bit (3000シリーズは 12bit)だし、バッファも 32kb しかないしと制約もあるので用途を考えて選択するが吉。特に 8bit ってのは結構荒いのでアナログの計測が目的だとちょっときついかも。

秋月電子で購入すると 1000円ほどのプローブを 2本付けてくれる。
このプローブに「1kHz の低周矩形波でシュートが出ないよう調整しやがれ」と書いてあったので、PSoC の PWM で 1khz を出力する様な物を作り、それで計測。


あー、この調整って等倍じゃなくて「x10(1/10に減衰)」するときの変形修正なのか。
つつがなく終了。

アプリの機能は満載というわけではないけれども、使い勝手は良くてなにも考えずに普通に使える。
もちろん、画面上の波形で「ここからここまで」と線を引いてその間の時間を計測したり、縦方向で振幅電圧を見たりといったことがサクサクできる。PCオシロスコープのメリットだよね。
トリガーの設定もシンプルながらにまあ悪くない感じで。


2現象なので I2C のチェックにも使える。まあ、3パケットぐらいしか画面に表示できないけれども。

繰り返しになるけれども、サンプル速度が 2MHz というよりも 8bit 階調の方がきつい制限になるのでそれを留意することかな。このエントリーモデルだと USB バスパワードで動くので取り回しの勝手は良い。
4万円という値段なので、この価格帯だと選択肢はたくさんあるのだよな。
—–


hatena bookmark

FPGA を始めたらやってみたかった事がある。
希代の電子工作入門書「CPUの創りかた」の中で作成している CPU を PLD に書くことで、実際に作成して動かしてみることである。
まあ、あれは実際に部品を集めて作成するから楽しいのであって、PLD で作っては面白さが半減してしまうところではあるけれども。でも、この本の中で作成する TD4 はロジック作成の勉強としては非常に手頃なサイズなのだよね。
まあVerilog-HDL で TD4 を CPLD に作成した御仁は既にいるのだけれども、同じ事を繰り返してもよいじゃない。
てなわけで VHDL でふにふにと作成開始。

td4_vhdl.zip

本の中のロジックIC を VHDL に置き換え、ではなくて役割と意味から実装している。
特にオペランドデコード部分は敢えて if 文の塊にしてみた。本の方では真理値表からざくざくと削ってシンプルな論理に落とし込んでいるけれども、こっちはなにも考えていない。どんなロジックが合成されるかと思ってみてみたら、めちゃくちゃでかくてゲンナリするものがはき出されてみたり。
まだまだ色々直せそうだけれども、現状こんなところ。

クロックについては、手元のボードで動くようにひたすら分周して使用しているので注意。また、ソフトウェアROM に関しては VHDL 内に記述してあるので、ソフトを変えたい時はそこを修正して再合成が必要。
td4.ucf
Xilinx の Spartan-3E sterter kit を使っているひとはこのネットリストを使うと、ボード上ですぐに動かせます。south のトグルボタンが reset で SW0〜3 が IN、LD0〜3 が OUT。

これでよいのか自身はないんだけれども、いちお動いているみたい。
XC9536 にも収まるな、これ。33マクロセル使用とかだった、クロックの分周が無ければ半分くらいになるだろう。
—–


hatena bookmark

以前加速度センサーを用いた傾きジョイスティックを作成した。
このとき元としたソースコードはマウスデバイスの物だったので、加速度センサージョイスティックからちょちょいと一部戻して「加速度センサーマウス」を作るのはたやすいことだったりする。
取り敢えず、手始めにハードはそのままで戦闘機型の加速度センサーマウスのファームウェアを作ってみる。傾きでどれくらいの移動量にするかというあたりを上手く作るだけでなかなか快適なアイテムとなる。まあ、静止時でも手で持っているわけだから疲れるけれどもね。
(このときの試作ソースは紛失)

さて、今回のお題となるセンサーは感圧ゴムセンサー。


圧力を知るセンサーを探していて一番安くてそれっぽかったのがこの導電ゴムがたの圧力センサー。先端部分に導電ゴムが入っていて、通常時は電気が流れないけれども押し込むとゴムがつぶれて電気が流れるようになるというアイテム。ゴムの通電性という関係で途中の圧力でアナログ値変化するのだけれどもその幅が小さいので実質 on/off スイッチといったところ。


これをUSB実験ボードに接続。
今回センサーを 5つ買ってあるのでこれをマウスポインターの移動「上」「下」「左」「右」と「左クリックボタン」に割り当てて、そのようなマウスとなるようにPICのファームウェアを記述。
pic_usb_mouce.zip
ソースコード。
一応これでボタン入力型のマウスデバイスとして利用可能。

今回の本当の目的はこちら。


双丘型マウスパット。平たく言って、オッパイマウスパット。


横から見るとこんな。

こいつのそこに穴を開け。


先の感圧センサーをセットする。


樹脂型接着剤で目地止めし、固定すると。


完成。

まあ、センサーの試験時にわかってはいたけれども、操作性はぜんぜんなっていない。
本当は手のひらなりグーでなりで押し込むとか揉むとかすると操作できることを目指していたのだけれども、そううまくはいきませんで。


センサーのあるあたりを上から「ぎゅむ」っと指で押し込むと動作するマウスといった風情。
まあ、バカアイテムに実用性は求めるものではないですが。操作はともかく、押す事が楽しい一品ということにしときましょうか。

このへん、センサー次第でもちょっと良くなりそうなんだけれどもな。
—–


hatena bookmark

面白そうと、秋月で買い物のついでに購入した8×8のLEDマトリクス表示装置が転がっている。


23x23mm の小さい方で 1個90円の代物。
別段ほったらかしていても良かったのだが、気まぐれに光らせて見たくなる。


適当にあり合わせの部品達。
あまりここでは書いていないが最近は PIC よりも PSoC マイコンの方が私的に良くいじる。
まあ、PSoC についてはいずれ改めて。
LED をデコーダーICによらずにマトリクス表示するには 8+8 で16本の GPIO が必要になる。もちろん PIC でもなんとかまかなえる数だけれども、8ビットx2 となると結構面倒だったり。そのてん、PSoC はモジュールを使わないときは 8ビットx3 と素直でリニアな IO として使えるのでこういった実験には丁度良い。


なんとなく小さくまとめてみた。
こういった LED モジュールはピンの並びが変態的なので、ワイヤーで地味にわっしわっしと配線していく。


まあ、それっぽく完成。
見てるとわからないけど、ラスター毎に点灯している LED の数によって明るさが全然違ったりする。単に抵抗(見てわからないけどチップ抵抗が付いている)を付ける位置を間違ってしまっただけなんだけれどもね。まさに orz…
次回は間違えないぞ。
一応表示してスクロールしているムービーをフラッシュムービーとして用意してみた。

さらについで、いらないと思うけれどもプロジェクトファイル。

led_matrix_06.zip

—–


hatena bookmark

やっぱり実験ボードはへっぽこでも良いから自作したいなあというのが思うところ。
動くか動かねえかそんな殺伐としたのが良いんじぇねえか。とか。
まあ、少ピンの CPLD だったら自作できそうだし、といったところで色々考えてみる。
PLD のトレーニングボードと言えば「ストップウォッチ」で決まりらしい(思いこみ
7セグメントをダイナミック点灯で制御するあたりとか、タイマーというカウンターの塊とかが PLD的というわけですな。

そんな事とは関係なく(マテ
俺的自作ベンチとして定番の「カップラーメンタイマー」を PLD で作成することを考えてみた。ぼんやり考えていたら、カップラーメンタイマーを作る要素があれば、時計もストップウォッチもコンフィグの変更でできそうだなあといったところに行き着く。
(時計はマクロセルが足りなくて作れないかも)

回路図を書き起こしてみるとこんな感じ。

3.3V 駆動でQV44ピンフラットパッケージな XC9572XV を選択しているのは、これだけ妙に安いチップだっただから。(秋月で 300円)
丁度 3.3V 回路に慣れなくちゃとか、フラットパッケージのハンダ付け修行に燃えているところだったので色々と良い訓練になりそうという目論見があってのこと。

うーん、こんなんで動くのかなあ。
ブザーは圧電ブザー直結じゃなくて抵抗噛まさないと。
オシレーターが 5V なので 74244 でバッファしているけれども、実のところ XC9572XV の I/O に 5V が流し込めるので必要無いっぽい。付けておくか省略するかは思案のしどころ。特訓と思えば付けておいた方が良いのだろうけれども。外部入力にも応用できるし。

7セグメントを 2桁 1パッケージの奴にしてみたら、引き回しが大変で泣きそうに。
進捗するのかしらん、この企画。
—–


hatena bookmark

最近はポジ感光基板の現像に「スプレー式現像材」を使っている。
ぷしゅー、しゅわしゅわしゅわとラクチンかつ楽しい。
エッチング後のレジスト除去も、感光させてスプレーで吹き飛ばす。と、楽で良いのだけれどもスプレーの減りも激しかったりする。粉末が結構安いのに比べ、なんか微妙にお高い感じがしてきたりも。
そこで考えた。


ペットボトルに粉末とぬるま湯を入れて良く溶かした後に、


住居用清掃用品(トイレとかお風呂とか)の洗剤スプレー空き容器に現像材を入れれば良いのでは。
特にこれら洗剤は「泡スプレー」で噴霧できるので、スプレー現像材の代わりになりそうである。

てなわけでやってみた。


写真がイマイチな上にぼけているけれども。
感触として、スプレー現像材の快適さには及ばないもののだいたい同じ様な間隔で現像できることがわかった。コレで十分とは思わないけれども、サポート手段としてはまあまあなのではないかね。
安い粉末を買い置きして、いざスプレーが切れたらそれを使うみたいな感じが良いかな。
—–


hatena bookmark

なんかマルツパーツ館WEBSHOPにて、Xilinx の SPALTAN-3E Starter kit と CPLD Starter kit の取り扱いが開始されているな。
欲しかったけど入手経路の関係で躊躇していた人には朗報かも。

CPLD の方はボードの作りがちと勉強向きとは思えないけれども、ダウンロードケーブルをこの値段で買うと思えばそこそこに見えてくるはず。

CPLD/FPGA というカテゴリができたみたいだけれども、まだこの 2品しか無い上にジャンル一覧に載っていなかったりするんだよね。そのうちチップも扱うようになってくれるのかなあ、今後に期待。
—–