コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for 4月, 2006


hatena bookmark

無事固まった。


ポリ容器で型どりしたので食いつきはしないんだけれども、ぴっちりなので抜けるわけもなくカッターで容器を破壊して取り出し。織り込み済み。
このままだとポリ容器の底の形そのままだったり、側面の計測目盛りが綺麗に型どりされていたりするのが恥ずかしいので削ったりしてごまかす。


レジンは暖めると柔らかくなるので熱湯につけて、熱いうちにざくざく削る。
上部は乱切りでダイヤモンドカットっぽく。(かなり適当だけれども)
流石に切ったり削ったりすると、せっかくの透明レジンが磨りガラス状の濁ったモノになるわけで。まあ、ナイフで切り出した方はそんなに曇っておらず良いテイストだと思うけれど、ヤスリで削った側面目盛りがいかんとも。
とゆわけで、表面の仕上げを施す。おすすめはリューターの「ゴム研磨」ビット。私の手元にあるのはラジアル・ブリッスル
山を削って平らにするのではなく、角をつぶしてなだらかにする感じかねえ。時間はかかるけれども徐々にてらてらになっていく。
リューターでふにふにのんびりと磨いていたらモーターが加熱してきたので、今日はここまで。どうせ誰に見せるわけでもないからコレでよいような気もするけど。(磨りガラス状もそれはそれで光が散って悪くない)


ぴかぴか
—–


hatena bookmark

WEB をぐるぐるしてたら「(文具屋で売っている)ラミネーターにウレタン線を挟み込んでフレキシブルケーブルにならないか」というつぶやきを見つけた。さらにいうと、チップ部品も挟み込めないかねえとかいう言及があり興味を惹く。
ラミネーターというとキャラ絵を挟み込みバッジを作るという同人アイテムとしてメジャーなアイテムだ。そこに絵だけじゃなくチップ LED を挟み込んでぴかぴか光ったとしたら?面白そうじゃないか。
早速調査して見るも、標準的なラミネーターは挟み込み厚 0.8mm といったあたり。チップ LED は 1.0mm が普通なので無理そう。もちろん薄い LED もあるけれども、そんなものがアマチュアのはんだごてでなんとかできるもんでもあるまい。
てなわけでラミネーターはひとまず諦める。

でも LED がぴかぴか光る飾りはなんか作りたいなーという欲求だけが残る。
最近は LEDインテリアライトが静かなブームで、おもちゃ売り場に沢山置いてあったりする。お風呂に浮かべるライトボールとか、色が変わるキャンドルスタンドとか。いつもそれをみて「買おうかなー」と思うのだが、自分で作れるものなので毎度悩んでやっぱやめるというパターンなのだ。
んで、ラミネーターは駄目として他になんかあるかなと考えた際に思い浮かんだのが「透明レジン」。押し花とか貝殻とか封入して飾りにする、クリスタルなあいつ。
そういや、ALTERA の Cyclone 評価基板でレジン封入された奴が無駄に格好良かったなあ。


まずはチップLED。小さすぎてこれ以上の写真が撮れない。
お約束ではあるがパッケージから取り出すときにピンと部屋のどっかへ飛んでいって無くしてしまったりする。
PIC12F509 でもって 5つの LED をぺかぺか光らせるプログラムを適当に組む。5パターンの光り方をプログラムしても 200byte くらいにしかならないあたり。
led_illumination.asm
なんで PIC12F509 なのかというと、こいつはあまりにも低レベルなアーキテクチャで今となっては使いにくい子なので。レジンに封入しても惜しくないやということで。
しかし、509 だと Output が 5本までというのがちと予定外だったけれども。


プログラムが出来たところで、空中配線っぽくハンダ付けしていく。


チップLED にウレタン線をハンダ付けしてさらに空中配線していく。
写真じゃわかりにくいけれども。


一通り配線が終わったところで動作を確認。期待通りの動作をしていたのでレジン漬けにする。

今回はエポキシの透明レジンを使ったので硬化に 1〜3日を要する。
というわけで今回はここまで。
でもなんか失敗しそうだなー。固まらないでどろどろ(orぐにゃぐにゃ)のままというオチになりそうだ。
透明レジンにはポリウレタンレジンとエポキシレジンがあって、エポキシレジンは硬化に時間がかかる上に配合量を間違えると化学合成しきれずに固まらないおそれがあるのですよ。

—–


hatena bookmark

PIC の開発環境といえば Microchip 謹製の MPLAB IDE ですが、実は大分まえから SourceBoost IDE を愛用していたりしまする。
SourceBoost ってのはちょいと前に PicAnt(ピカント)が改題して、新規に IDE と C コンパイラを作り直している会社。
SolitonWave の日本語版「ピカント」がバージョン古くてサポートデバイスも少ないなー、と思って開発元をたどってみたら改題して新版になっていたという次第。

SorceBoost IDE 自体は無料でダウンロード&インストールできて、利用できる環境。コンパイラも一緒にインストールされるけれども制限があり、ライセンスをオンライン購入することでライセンスに応じたグレードに制限が解除されるといった構造。
アセンブラは MPASM を使うのでアセンブラプロジェクトなら無料状態で使い続けることができる。
無料お試しでも 2kb くらいまでコンパイルできるから、小さなプログラムだったらまかなえちゃうかも。今だと BASIC コンパイラがβバージョンということで、フリーに使えるらし。


IDE の画面はこんな感じ。
オプションのプラグインパックを購入すると、デバッグ時に使える LCDエミュレータなんてのも使えたりする。

個人的にはなかなかお気に入りでアセンブラプロジェクトでもこの上でやっちゃってたりする。Cコンパイラは使える状態だけれども、まだアセンブラで楽しんでいるので使ったことなかったり。


hatena bookmark


一通り配線完了。ボードは完成。
テストコードを動かして I/O 周りの配線や動作に問題がないことを確認する。LED の点灯、LCD ユニットへの文字表示、キーマトリクスの読み込み、といった所を動作させる。
EEPROM は後回しなので配線だけで未確認。


キーマトリクス読み込み部分が書き起こしなんでちょっと手間がかかったあたり。しかも、うまく動作しなかったのでプルアップ抵抗を追加してロジックを変更。


回路図はこのように変更。

bfpc_test.zip
一応テストコードも置いておく。
—–


hatena bookmark

ハードウェアの回路図を書いた。


モノはどってことないんだけれども、配線か結構多いので面倒。
まあ、配線が多いから 40ピン の 877 を使うことになったんだけれども。

この図をながめながら、半田付けをしていく。
—–


hatena bookmark

ソフトウエアの構想。


モードは
・プログラムエディット
・プログラム実行
・プログラム保存(予定)
実行は RUN でワークを初期化してから実行、CONT でワークを初期化せずに実行。

部品配置のデザイン。


部品の位置をまず決定。8ピンソケットは EEPROM 。
裏のリードは全然繋いでいない。


LCD表示ユニットが載るとこんな感じになる。

ハードはそんなに複雑にはならないはず。
逆にソフトが大変なのでのんびり進行させよう。
—–


hatena bookmark

今時のマイコンは数百円から数千円で買えて、単体でもそれなりに動作するくらいの周辺デバイスがくっついている。動作周波数も 20MHz とかで、Z80 全盛期のパソコンに比べて早かったりもする。まあ、マイクロコントローラはアーキテクチャがシンプルなのでパソコンと比べられないけれども。
これをコンピューターとしてなんか遊んでみたくなる。
でも、そういった用途で遊ぼうとすると RAM が少なくて難しいんだよな。
しかしま、ファミリーベーシックは RAM 2KB だったし、シンクレア ZX81 は 1KB だし、MAXマシーンの Level1 BASIC は 512Byte だったから実用性を忘れれば何かができそうな気はする。実用性なんか最初から考えていないけれども。
そいや CASIO 最初のポケコン PB-100 は 544step だったし、SHARP の PC-1210 に至っては 400 step で遊んでいたんだよなあ。
む、ポケコン?そうだポケコンのようなものを自分で作れはしまいか?
どうせ実用性が無いんなら徹底的に無くしてしまえ。言語は、そうだ、Brainfuck なんかが良いのではないだろうか。色々な意味で実にプリミティブなプログラミングができるアイテムになるに違いあるまいて。

てなわけで設計開始。
・使用マイコンは PIC16F877A
RAM が 368Byte しかないのが辛いけど人気マイコンなので入手しやすく安い。(秋月で400円)
・Brainfuck インタプリタ内蔵(w
・プログラムエリアは 512Step
256Byte を 4bit ずつ使用、Brainfuck は 8命令しかないのでこれでも 1bit 余るくらい。
・ワークエリアは 32Byte
Brainfuck のポインタが示す範囲
・ワーク 00h はポート出力で LED 駆動
アドレス 00h を特別 I/O として LED を繋いでおく、通常の Hello,world だと動作しながら LED がちかちかするに違いない。
・ワーク 01h はカウントダウンレジスタ
ワーク 01h はタイマーで値が減っていき 0 で停止する特殊レジスタ。Brainfuck では難しいタイムウェイトを実現するための仕組み。
・16文字×2行の LCD 表示ユニット
こいつのおかげで動作電圧が 5V になってしまうがいたしがたあるまい。
・キーは16個
ロウ 4本、カラム 4本のキーマトリクスでタイムスライス読み取り。
・ストレージとして I2C EEPROM を用意
これは予定事項として、後々実装。

取り敢えずこんなところかな。
こういった用途には H8 あたりを使うのが本筋なんだけれども、あえて PIC でこじんまりと作ってみるのが今回の楽しみということで。
—–


hatena bookmark

CPLD/FPGA がうまいこといって上機嫌なのでついでに R8C/Tiny の付録基板も開発できるように持っていこうと書き込み&簡易実験基板をちょちょちょいっと作成。


こんな風に。
ストロベリー・リナックスの USBシリアル変換基板をシリアルポートとして、電源もそこからとろうという作戦。


配線もこんな。割と余裕がある感じに。

んが、上手いことライターが動かなくて苦労する。
んーこうなると何が悪いのか今ひとつわからないなあ。
調べてみるとライターやチップのシリアルコントロール部分が弱そうな噂がある。USBシリアル変換だと上手く動きにくいかもとかいうのはビンゴかも。
それよりも他のシリアルポートを指定しても「ボーレート変更ができません」とか抜かすので、やっぱりライターソフトの方を疑ってしまう次第。

なんか上手くいかないから放り投げる。
ま、そのうちまた気が向いたら調べるということで。
—–


hatena bookmark

トラ技 2006/04 の CPLD、DWM 2003/10 の FPGA と付録だけでロジック工作の学習ができる様になっているわけだが。実際にこれらのデバイスを使おうとすると JTAG ダウンロードケーブルが必要となる。幸い両方とも ALTERA なので 1種類のダウンロードケーブルがあれば両方で使えるわけなのだが、でもそれをどうしようかなーと考える。
パラレル接続のダウンロードケーブルは回路が単純な上に回路図が公開されいるので自作も容易である。うーん、どうしたものか。
トラ技 2006/04 の CPLD 付録基板は基板上に ByteBlaster WV 互換回路が載っているので 25Pin コネクタを付けるだけでコンフィギュレーションができるんだけれども、FPGA はどうしようかな。FPGA の方を考えるとダウンロードケーブルが手元にあった方がよいのだよな……。
……ん?互換回路が載っているって?
ということは CPLD 付録基板を ByteBlaster WV 互換ダウンロードケーブルとして使えば良いんじゃないか?
そう考えるとトラ技 2006/04 にはダウンロードケーブルが付いてくるというのと等価ということで、もの凄くお得に見えてくる。


CPLD 付録基板に必要なパーツをくっつけて組み立て。LED がくっついているのはトラ技でのチュートリアルにそった動作確認をするため。
動作確認と Quartus II のさわりを体験。
次は FPGA 付録基板をコンフィギュレーションするために CPLD 付録基板をダウンロードケーブルと見なす。


こんな感じ。
コンフィギュレーション時はデバイスIDを見て行われるので、ALTERA の異なったデバイスがパラでぶら下がっていてもちゃんと指定してコンフィギュレーションできる。
というわけで、事もなく成功。LED を付けるサンプルも動作。
これで FPGA と CPLD 両方が学習できる様になった。めでたしめでたし。
—–


hatena bookmark

会社で自分の荷物をほじっていたら “Design Wave Magazine” の 2003/10 号が出てきた。Cyclone FPGA ボードと各種開発ツールが付録として付いてくる号である。
もちろん自費で買った私の所有物。いつかはやりたい、ということで押さえておいた物だと思う。ハードやりたい熱がこのあたりからじわじわ上がってきてたという事か。
これのちょっとまえに CPLD 基板が Design Wave のおまけで付くという大暴挙があり、この FPGA は大体 2回目くらい。以後、トラ技の R8H 等々チップと基板と開発環境がセットになったお勉強特集が頻繁に組まれることとなる。
こないだの ARM マイコンボードは設計ミスがあるらしく揉めていたけれども。


ふと気が付くとそんな付録チップがいくつか手元にあるのだわさ。
左が DW 2003/10 の Cyclone FPGA、右がトラ技 2006/04 の MAXII CPLD、真ん中が「電子工作のためのR8C/Tinyスタートアップ」の R8C/1B。
R8C/Tiny は基板付きなんで手習いがてらに狙って買ったものだけど。

昔は基板が付録に付いてきても、その周辺(電源とか)を用意することができなかったので指をくわえているだけだったが、今は違う。
しかも先人がこれら付録基板を使って楽しそうなことをしている記事が WEB 上にいっぱいである。
これなら PLD にも手が出せそうであることよ。
まあ、細々と追加しないとならないのはあるけれども。ひとまず、ダウンロードケーブルどうしよ。

次は今月下旬に発売される Design Wave Magazine に “SH-2” マイコン基板が付いてくるのですよ。コレも買わなきゃですわ。
[訂正]
SH-2 ボードが付いてくるのは Design Wave でなくて Interface でした。
—–