2009年7月 9日 (木)

PIC12F509を用いたなんちゃって正弦波発振器の完成

Vvvf

PIC12F509を使って正弦波もどき発振器を作成しようという試み.左のグラフの,正弦波に対して,赤色のパルスを連続発生っせて,そのエンペローブにより「ほぼ正弦波」を発生させようというものだ.きっかけは,PIC16F88を用いた陸上用タイム計測器を自作して5月の晴れた日に陸上競技のトラック内でテストした時の事.この陸上用タイム計測器には「ヨーイ,ドン」の合図として時報(ブッブッブッピーというやつ)を実装したのだが,アナログ発振回路で構成したために昼間の日差しとトラックからの放射熱が重なり温度が上がると発振周波数が異様に高くなり,競技者全員のやる気を吸い取るスタート音に成り下がってしまい悩んでいた.そこに\60のPIC12F509が「ぼくにもできそう」と立候補したというわけだ.

途中経過は一切省いて,完成した回路,ソフトを列挙.ブレッドボードでしか試していないし,オシロも無いので最終的な波形で確認したわけではないけれど,一応それらしき音が発生できたので完成としておこう.

(回路図p.4右下)  「090621Draft.ppt」をダウンロード
(計算書)             「pic509.xls」をダウンロード
(ソフトウエア本体) 「PIC12F509FakeOfSinWave.asm」をダウンロード
(ソフトウエア(ヘッダ))「ms509.inc」をダウンロード (変わっていない)

これでバックアップ良し.

音を聞く限り,確かに矩形派特有のがさつなブザー音という感じではない.きっとそこそこの波形になっているのだろう.一応RCのローパスフィルタを一段だけ入れたが,さりとてNHKの時報のようなきれいな正弦波というわけにはいかず,高調波成分が残っていそう.ま,用途を考えたら合格にしよう.少なくてもクールな体育館でも炎天下の競技場でも,今度はまじめにスタート音を発してくれるだろう.ちなみに単にパッシブなL.P.Fを2段積んでも音量が下がるだけで音質の改善は感じられなかった.

Nec_0363 ところで,動作確認はブレッドボードで実施した.これに先立って,ブレッドボード実験部屋を作ってみた.「部屋」とは言っても,100均のA4プラスティックBOXにブレッドボード実験に必要なものと,良く必要になる部品を収納して左の写真のように開いて使えるようにしたものだ.こういうくだらない道具作りから入り,なかなか本題に取り組まないのも昔からのくせだ.

【収納物】
・ブレッドボード
・各種配線(市販のもの,自作の配線数々)
・電源(機種変更して不要になった
  携帯充電器を改造した電源(+5V)
・ピンセット,ドライバ
・ミニテスタ,ロジックプローブ
・部品(PIC,OP-AMP,Tr,アンプ(LM386),抵抗各種,コンデンサ各種)

休みを使った実験が終わり,日常モードに戻るときはふたを閉じ,壁に貼り付けて収納する.奥行き3cmの壁収納システム.電子部品はこまごまと散らかるので,このサイズの収納でも結構整理になる.化粧ベニヤと角材で超薄のタナを作り壁に張り付け,そのタナに9つのA4プラスティックケースをマジックテープで貼り付け固定している.片付け,取り出しも簡単.材料費\2,000.

Nec_0364Nec_0365

続きを読む "PIC12F509を用いたなんちゃって正弦波発振器の完成" »

2009年6月21日 (日)

PIC12F509を用いたなんちゃって正弦波発振器の構想

まず結論から.

Photo こんな回路を作れば,できそうな感じになってきた.PIC12F509の動作は,正弦波に程近い(とはいっても高々8倍の周波数だが)VVVFの指令パルスを出す.これを受けて実際のVVの部分の実現をどうするか,だ.当初より変更してトランジスタはPNPタイプのものにしたが比較的簡単な回路でできそう.抵抗値は現物あわせで決めた.計算すりゃいいんだけれどね.計算してもどうせ確認するし,実際には手持ちの抵抗で実現できる値を選ぶんだろうから,ということであとはPICが正確なパルス指令を出してやれば良い.

本当はPICから出た指令パルスの波形をオシロでとりたいのだが,家にそんなものは無い.LEDを点灯して貧乏なデバッグを実施する.なんとなく,できてそう.試しに,PICの指令パスル出力をそのまま圧電スピーカにつないでみた.圧電スピーカは直流分が入っていてもいいし,電力もいらないので簡単に確認ができる.

完全ではないが,それらしき周期でパルスを発生している.GP3はプの音,440Hzの低音側っぽい音だ.また,GP5はピの音,880Hzを意図した発振をするはず.この2つのI/Oを順番にOnさせると,オクターブになるはず.....うーん.微妙に音痴.ちょっと高い音が低めだ

これは,例の発振周波数×8倍の周波数で時間待ちをしているところの,定数違いだろう.やっぱり計算はビール抜きのときにやらなきゃね.

ただし,おおまかにはあっているので,つまらないところで命令数を数え間違えているなどの原因だろうから,今のところは気にしない.いざとなったら高々2音のオクターブ関係なんだから,ホビーの王道現合という手だってある.

ところで,PIC12F509でもやってしまった.もう片付いた話だが,新しいPICの種類を使う度に,再三こうした目に遭うので今後の戒めの意味で書き記そう.

GP2のコントロールが効かないのだ.今回,TRISの設定値は0x28,GP0,GP1,GP2,GP4が出力だ.GP0,1,4は正確にソフトウエア通りにON/OFFしているようだが,GP2だけうんともすんともいわない.LEDをつけても,ロジックプローブを当てても,まったく無反応.まるで入力に設定されているようなのだ.

ここでマニュアルを読む.GP2がアサインされているのは,T0CKI,TMR0の外部クロック入力と兼用のピンだ.うーん,こいつとあたっているのか.

確かにマニュアルには,OPTIONビットの中にTMR0のクロックソースを指定するビットがある.TMR0の外部クロックを有効にすると,このピンは入力に設定される.(TRISをオーバーライトする,とある)しかも,パワーリセット時のデフォルト値は,外部入力なのだ.

ヤラレタ.

だけどPICの気持ちがわかれば,直すのも簡単.OPTION命令でTMR0のクロックソースをIntに切り替えて,無事GP3は出力として使えるようになりました.

「PIC12F509FakeOfSinWave.asm」をダウンロード

2009年6月20日 (土)

PIC12F509ちっさいけれど,ピリリ

PIC16F88+SC1602S*Bを使った陸上タイム計測器の時報(スタート音)に使う正弦波発信器モドキをPIC12F509で作ってみよか,と思いつき,考えてみた.Excelで試算した内容を冷静にも一度見てみた.
プリスケーラを2とか1に設定すれば,TMR0を使って何とか1KHz前後までは何とか発生できる見込み.でもPIC12F509って,割り込みが無いんだよな.すると,ソフトウエアでTMR0の計数値を見張り,例えばFF→00になった瞬間をSTATUS-Zフラグで検出すれば出来るのだけれど,これにはbtfs?命令とGOTOディレクティブでループを構成しなければならない.でも待てよ?プリスケーラが1ということは,TMR0のカウントクロックとCPUの動作するインストラクションクロックが全く同一ってコトだな.そうすると,TMR0のオーバフローを検出するループが仮に3マシンサイクル(btfs?(=1サイクル)+goto(2サイクル))になってしまうので,タイミングが0~3サイクルは狂ってしまうことになる.うーん,残念だけれどTMR0は使わないほうが良いね.このクラスのPICで組まれる一般的な方法として,nopやLoopで時間待ちをしたほうが良さそうだ. nopやloopで時間待ちをする場合,ソフトウエアの正確なコードが決まらないとどんな時間待ちをどのような定数でやれば良いかも決まらない.卵鶏状態でなにも決まらない.
そこで,コードを書き始めることにする.

Vvvf何ちゃって正弦波発信器は,PIC12F509のGPIOをVVVF(Variable Voltage & Variable Frequency))っぽく制御すれば制限波っぽい波形を生成できるんじゃないか,という幼稚な発想で始めた遊びだ.発生させたい正弦波の8倍の周波数で,VVVF的パルスを生成する為の指令(1ビット)を出力する.これをトランジスタで受け,オープンコレクタ出力にして指令に対応した電圧が生成されるように負荷抵抗をセットしてやれば良い.オープンコレクタにするのは,複数の指令パルスを受けた電圧をワイヤードORで結線することでして連続波形にする為だ.(ほんとうはOPアンプの加算回路で合成するべきなのかもしれないが,遊びだから面倒くさいことはなるべくやりたくないのだ.後は交流カップリングとアッテネータを介してで386(1WオーディオアンプIC)へ送れば良いんじゃないか.

さてと,ソフトを作るには...MPLAB のIDEの環境を整えて,っと.MicroChipのサンプルソースを変更してソフトを書けば良いね.サンプルソフトを見てみた.すると,

ORG     0x3FF             ; processor reset vector

; Internal RC calibration value is placed at location 0x3FF by Microchip
; as a movlw k, where the k is a literal value.

ORG     0x000             ; coding begins here
movwf   OSCCAL            ; update register with factory cal value

とある.え?リセット割り込みベクタが03ffH??? しかも何のソースコードも書いていないし.その後すぐにorg000Hがあるし.

データシートを斜め読みしてみると,12F509はPricisionな内蔵RC発振器を有しており,かつそのキャリブレーション値が工場出荷時に書かれているというのだ.上記のサンプルソースと併せて解釈すると,キャリブレーション値はプログラムメモリの03ffHにmovlw kの形式で保持されているという.(kがキャリブレーション値)なおかつ,03ffHはリセットベクタだというから,電源リセット時にはここからCPUは動作を始める.PIC12F509の場合,03ffHのこの命令の次にPC(プログラムカウンタ)が向かうところはオ-バーフローして000Hだ.ここにはmovwf OSCCAL命令があり,Wレジスタに保持された,工場で書き込まれた内蔵RCオシレータのキャリブレーション値がキャリブレーションレジスタに目出たく書かれ,とてもリーズナブルな仕組みで4MHz(誤差1%)のPricisionなCPU動作クロックが供給されるということになる.こんな仕組みが60円のCPUに入っているなんて,にくいねぇ.4MHzの発振器から供給されたクロックは,4分周されてTMR0のカウントアップ用クロックソースとして供給される.だからこの場合,カウントクロックは1MHzだ.また,CPUのマシンサイクルは4クロックで供給されるので,1マシンサイクルは1MHzとなる.かくして,ユーザはTMR0で1μSecで刻むなり,1命令で1μSecを消費するなりということで,単純だが精度の良く計算のしやすいクロックを用いてアプリケーションを作成することができる.

さて,PIC12F509は8pinのIC.内蔵クロックで駆動するとなると,電源+,Gndに2pinを消費するが,残りの6品は全てI/Oとして使える.但し,GPIO3だけは入力としてしか使えないそうだ.ちょっと不満.何でbit3なんだ.MCLR*との関係なんだろうけれど...ま,こういう割り切りがPICの魅力でもあるんだけれどね.
かくして,趣味で.
Bit0(出力)角度 -1π/16~3π/16, 5π/16~7π/16の時の出力指令
Bit1(出力)角度 3π/16~5π/16, 15π/16~17π/16の時の出力指令
Bit2(出力)角度 7π/16~9π/16,13π/16~15π/16の時の出力指令
Bit3(入力)低音:ブッ(440Hz)の発振指令
Bit4(出力)角度 11π/16~13π/16の時の出力指令
Bit5(入力)高音:ピー(880Hz)の発振指令
というピンアサインとした.
入力のビットパターンが変わらない限りは,所定のサイクルで上記Bit0,1,2,4をサイクリックにON/OFFさせれば良い.
一つのパルスを発生させるソフトはおおよそ次のようになるだろう
ModeL_1_8_PI  ; 1/8PI Out PitPatern=0x04
     movf GPIO,W      ←1Clock
     andlw CommandMaskBitPattern  ←1Clock
     xorwf mode,W      ←1Clock
     btfsc STATUS,Z     ←1Clock
     goto setMode

  ;;; Wait xxx Instruction Clock
     movlw LowToneWaitFactor    <<<- ここまで
     call wait_8_Plus_4_by_n_Clocks     LowToneWaitFactor×4+8 ->>>
     nop         ←(補正)1Clock
     nop         ←(補正)1Clock

  ;;; Out Signal to GPIO
      movlw 0x04      ←1Clock
     movwf GPIO      ←1Clock
     goto ModeL_3_8_PI    ←2Clock

ここで,共通の時間待ちサブルーチンを以下とした
wait_8_Plus_4_by_n_Clocks
wait_8P4n000  movwf wait_8P4nCounter0
wait_8P4n001  decf wait_8P4nCounter0,F
     btfsc STATUS,Z
     return
     goto wait_8P4n001

この条件で消費クロックを数え,excelから時間待ちFactorと調整用のNOPを入れて正しく440Hz,または880Hzの正弦波っぽくなるように調整した.

「pic509.xls」をダウンロード

コンパイルは通ったぞ.とりあえず.

「PIC12F509FakeOfSinWave.asm」をダウンロード
「P12C509.INC」をダウンロード
「ms509.inc」をダウンロード

大きな勘違いは無いと思うけれど.ビールの見ながらExcelシートと作ったし.計算間違ってなければいいなあ.取り合えず,今度の休みにでも動作確認してみよう.

それにしても,60円のPIC12F509もやるもんだ.がんばっているなぁ.

2009年6月12日 (金)

恐るべし,陸上競技場

完成した!,と思った自作光電管式陸上競技タイム計測器をとある陸上競技場へ持ち込んで最終確認...のつもりが,5月の晴天下の陸上競技場は只者ではなかった.

 体育館内でのテスト,自宅前の市道上でのトライアルにはほぼ満足できる性能,使い勝手だった.本当に実際の計測環境での最終確認のつもりで,まずはPM1:30.陸上競技場のトラック内部の中央部に陣取って練習の邪魔にならぬよう意気揚々とくみ上げた....が,レーザ光の光軸がずれているにも関わらず,光電管スイッチがONしてしまう.ははぁ,5月の晴天下,周囲にさえぎるモノの無い陸上競技場だから,照り返しが外乱光になっているのだな,と思い,レーザ発光側,センサ側ともその場にあるもので覆ってみたが,変わらず.近距離でなら,ON,OFFを認識してくれるが,発光側と受光側を30cmも離すともうONしっぱなし.
 壊れたのかな,と思い,ベンチ内の日陰で再びトライアルしてみると,今まで通りほぼ完全に振舞ってくれる.再び日なたへ出すと,もうダメ.そうすると,温度そのものの影響じゃないな.
 それを確かめるべく,夕方5:30に再びトライアル.昼間に比べると立っている時の上半身近辺の気温はかなり涼しくなっている.しかしこれでも現象はそう変わらない.ここで思い当たるのは熱を蓄えた陸上競技場の地面から上がってくる温度.赤外線カメラで見てみたら,かなり真っ赤になっていることなんだろうな.例によって測定器なんて全く持っていないから,想像の域を超えないけれど.
後日,フォトトランジスタPTS610,PTS615の特性を見てみると,なんと感度のピークは800nmではないか.赤色レーザ光の波長は650nm.細かい数値は覚えていないが,赤外線って確か800nmくらいの波長だったように思う.むしろ,赤外線の方を強く拾うんだね.きっと.
 というわけで,ここは電子回路上で対策するしかないことになる.今はフォトトランジスタの入光・遮光時の電圧変化に対して,単純に74HC14のスレッショルドにあわせてバイアスをかけているだけ.従って外乱信号が74HC14のスレッショルドよりも高い位置に来てしまえば,常時ONになってしまい,光電管センサとしては使い物にならないのだと考えるとつじつまが合う.
 やっぱ,フツウにコンパレータで取ろう.その前段でOff時の外乱光をキャンセルできるレベルシフトを行えるようにすれば良いかな.LM324あたりの単電源OPアンプでなんとかできたら良いな.だめならこの方式での自作はあきらめかな.

実はもう一つ我慢なら無いことがあった.
非常に気に入っていた,スタートの時報音だったが,完全なアナログ発信回路を用いた為,どうも温度変化に弱い.高温になればなるほど,高い音にシフトするばかりか,ブッブッブッピーのプの音(440Hz=Aを想定)とピーの音(880Hz=オクターブ上のAを想定)のオクターブ関係がずれて,スタートダッシュのモチベーションを根こそぎ取り去るようなマヌケな音になる.
Drums担当だとは言え,若かりし頃はアマチュアミュージシャンの端くれだったプライドが我慢の限界を超えた.
Vvvf ようし.ここもデジタル化するぞ!どうせいつかはやろうと思っていたんだ.とはいえ,PICだけで可聴音域の完全な正弦波を発生させることは難しい.考えたのは,VVVF方式.正弦波っぽく電圧可変,周波数可変のパルスを生成するのだ.
本当は正弦波を発生したいが,デジタル制御で赤の信号を作り,なんとなく正弦波っぽく聞こえる発振器を作る.何ちゃって正弦波だ.デジタル制御によるパルス列だから,周波数は温度に拠らず,また,オクターブの関係に至っては正確無比にKeepできるというものだ.
これをPIC12F509あたりでできたらオモシロイ.D/Aの機能が無いので周辺ICの力は借りることにはなるが,8ピン・割り込み無し・\60円のPICであえてチャレンジしてみる.PIC12F509にもTMR0は実装されている.こいつを使って.やるとすると,どうなるか...

「pic509.xls」をダウンロード

今回は440Hz.12F509内臓の4MHzクロックでPICをドライブすると,TMR0の計数クロックは1MHzとなる.前出のグラフのように,発生させたい正弦波周波数の8倍でスイッチON/OFFをするための動作タイミングを1MHzの計数クロックでTMR0を使った場合の設定を算出してみると...
 440Hz  プリスケーラ=2,TMR0のカウント値=142
 880Hz  プリスケーラ=1,TMR0のカウント値=142
と,この場合でゆけばプリスケーラ値を1,2と切り替えれば良いことになる.4MHzでPIC12F509を動作させた時のインストラクションクロックは1MHzなので,TMR0のカウントクロックと同じだ.だから,厳しいほうの880Hzで見ても,142インストラクションに1回の割合でパルス発生をしてやれば良いことになる.パルス発生とはいっても,PIC12F509から見ればGPIOを切り替えるだけだ.うーんこれなら,割り込み無くても何とかなるんじゃないかな~.あるとおもいます.
と,言うわけで,Mesure88プロジェクトは最後の(最後にしたい)山場を迎える.

2009年4月23日 (木)

PIC16F88を使った電飾。次のテーマ

PIC16F88を使った電飾。次のテーマ
妻と娘たちから、やんわりと言われているテーマ、舞台用衣装の電飾。「エレクトリカルパレードみたいなやつ!」って言われてもねー。先日開催された青森での大会にこそ是非と言われた。大会まで一週間。エレクトリカルパレードまで豪勢でなくても良い、4歳児一人分と言うのが条件で、小手調べに重い腰を上げてみた。
本当はPIC16F88でプログラムしたかったが、ここはぐっとがまんして、トランジスタ2つを組み合わせた発信機の信号を74HC14で整形し、丁度クリスマスツリーのイルミネーションの様に久雨後に点滅させてみる。ちょっと出力が大きいトランジスタで16個×2系統のLEDsをドライブする。万一先端でのショートがあっても火傷しないように、電流の調整用の抵抗を基板側に持ってゆき、肌に触れる電線には、大電流が流れないようにする。
とりあえずできたが、はたしてこれは舞台で見えるかな?
まぁ初めてなんだから、光ればいいや。次はPICで光らせよう。

2009年3月23日 (月)

久々,ソフトウエアのアップデート

PIC16F88を応用した自作光電管の陸上競技用タイム測定器,今週今まで気になっていた箇所のソフト修正を一気に修正した.

第一に,LED点灯条件の見直し.スタート前の,「プップップップップッピー」の時報に合わせてLEDを移動させる.LED4つを使って時報に合わせ,一つ筒LEDの点灯が移動する表示に直した.
第二に,スタート前の光電管スイッチの状況を確認し,光電管スイッチの光軸ずれがある場合には,スタートを取りやめてエラー表示することとした.
また,設定モードで釦を長押しするとキーリピート(高速インクリメントやデクリメント)とする仕様を実現するためにTMR2を使ったが,測定中にTMR2を生かすと本来の,32.767KHzで駆動されるTMR1の割り込み応答遅れにより精度が落ちるので,測定スタート時にTMR2の割り込みを殺し,設定モードに入ったときに,TMR2を生かすこととした.このソフト修正後,一晩経過させて例の100均で購入した月差実績15秒の時計と比較して,確かに誤差が縮まって測定の精度を上げられることを確認した.
更に,入力SWの二度読みを廃止した.この機能は,設定モードにおける押し釦のチャタリングをキャンセルするために設けていたものだが,これも1/1000秒制度の測定の邪魔になる.確かに設定モードの時の押し釦のチャタリングを拾ってしまうようだが,所詮,設定モードだからね.がまんしよう.(設定モード時だけ入力の2度読みをする手はある)

一応,バックアップ目的でアップデート.

あとは,RS-232Cへのアップロードだ.ついでにやってしまえるくらいのボリュームだったが,10進ASCII変換などが面倒くさいので,後回し.来週の楽しみにしておこう.

「measure88090321.inc」をダウンロード

「mesure88090321.asm」をダウンロード

「ms88.inc」をダウンロード  (これは変わっていない)

続きを読む "久々,ソフトウエアのアップデート" »

苦手な板金加工&光電管スイッチの固定法

Nec_0331_2この”年度末”という時期,会社勤めの人間にはなにやら落ち着かない時期だ.加えて,杉花粉がもたらす毒霧がモチベーション低下を加速する.全く進まない.ただでさえ苦手な板金加工なのに,外に出て毒霧を吸入して正常に作業できるのは2Hが限界.しかも天候や時間は選ばなければならない.前回は,苦手な上に設計図も書かないでいきなり板金との勝負に出たために,LEDの取付穴を一つ少なく配置してしまったり,気が付いたら液晶が当初と左右反対に取り付けることになってしまったり(表裏を間違えて加工穴を開けてしまったことによる)と散々だった.今回はちゃんとか構図も書いて,一応2式製作.電子回路は既に手作りプリント基板が動いているのであとはスイッチ,ランプ,コネクタの取り付けと最終チェックで完了だ.

ところで,先日の実機トライアルでわかったこと.光電管の固定方法と軸あわせである.きちんとした三脚を取り付けるなどの手を講じなければ.そんなことをぼやっと考えていると,秋葉原でこんなものに出会い,即購入した.Nec_0340Nec_0341左のように,自立式折りたたみ三脚なのだが,クランプ付いていて,フェンスやポールなどに取り付けて使うこともできる.これで,500円強だし,なかなか良さげ. これで光電管を安定して取り付けられるセットを作ろう.

2009年2月21日 (土)

PIC16F88)陸上タイム計測器(時報付き) 量産してみようか

結構つかいものになりそうなので,自分達のクラブ以外に試しに使ってもらえそうなクラブに渡して使ってもらい,あくだしをしよう.

ハードウエアの仕様はこれでいったんFix.製作ネックになるのは,やはり本体のプリント基板だ.これも過去の記事にあるように露光器を自作し,極力手作りで実施してきたが,実は結構失敗もしている.失敗を繰り返してわかったことは,以下の3つのポイント.
 ①露光時間は,8分30秒がBest
 ②エッチングの際の,温度管理
 ③エッチング液の量
 ④エッチング時間(引き上げのタイミング)

露光~感光までは,①の露光時間を守れば,ほぼ失敗は無い.エッチングは,例によってジップロック(小)に基板とエッチング液を入れて湯煎する.この時,袋が破れそうだからと言って袋を2重にすると,温度管理は困難になってしまうので,ジップロックは必ず新品を大事に使うようにすれば,周囲湯温度を43度に維持すれば,エッチング液温は40~42度に保てる.

苦労したのが,③と④だ.いろいろな文献をを読むと,今回使っているサンハヤトの片面感光ポジ基板10K程度だったら,塩化第二鉄200CCで2枚くらいエッチングできる,と読める文献が多かったので,200cc程度で実施していた.すると,温度を適温に保っても,なかなか細部のエッチングが進まない.常識的なエッチング時間,15分~20分程度実施してもまだパターン間に銅箔が残る.こちらもそう暇でないので,やけになってほったらかし,パターン間の銅箔が完全に消えた段階で引き上げると,細いパターンは既にエッチング液の中に溶け込んでいて消えている,という状態だ.

当初は温度管理だと思ったので,少し温度を高めにエッチングしてみたが,これでもうまくいかなかった.ふとエッチングの進行速度から見て,温度と言うよりもエッチング液を増やすほうが効くかな,と思い,250cc程度に増やしてみたら,エッチング時間も18分程度と適正になり,パターンもパターン間も健全になった.

090215_1_2090215_2 

ところで,エッチング液を多めに使えばうまくいくことはわかったが,数を作ろうとすると今度はコストが気になるところ.サンハヤトのエッチング液は,1,000ccで2,410円だった.一枚の基板に250cc使うとすると,380の感光ポジ基板一枚あたり500円のエッチング液が必要になることになる.納得いかない.30年位前は,近所の薬屋さんで購入した.塩化第二鉄溶液は,”普通薬”なので,手軽に購入できたのだ.今近所にこうした薬屋さんは無いが,WEB販売という強い味方がいる.早速検索し,注文することに.今回は,画材通販の"画材販売.jp"から入手した.ここから,”腐食液”で検索すると,500ml入りで350円とある.4本頼んで郵送してもらっても2000以下なので,大変お得.廃液の処理剤は,別途入手する必要はあるが.

090215_9 こちらは次の難関,穴あけの模様.パターン面から日曜大工用のミニ電動ドリルドライバ+100均で売っているホビー用0.8mmドリル刃により穴を空けると,部品面には左の写真のごとく,バリが多数出る.

そこで,今度はこれまたダイソーさんで購入したホビールータに,1.0mmのドリル刃を取り付けて部品面から面取りをしてやる.穴もくっきり開き,これで部品挿入もやりやすくなる.(見栄えはあまりよろしくないが)

090215_10

090215_11これが完成した様子.

体育館デビュー

Nec_0300量産試作機はこんな感じに仕上がった. 表示灯も,結局は5mmの高輝度LEDを用いることにした.

アルミのケースに入れたのにLEDを裸でとりつけるのも何なので,LEDカバーを購入した.秋葉原の千石さんの2階で,10セット700円パックのもの.レンズ付きなので,ちょっとしたランプに見える.

ただ,惜しむらくは自らの勘違いにより,盤面に7個しか穴を開けなかったことだ.LEDは8個あるのに...仕方が無いので,右側面に1個セットしてある...押し釦も同じ千石さんの2階にあった,おそらくゲーム機に使われるようなカラフルなプラスティック筐体のもの.1っこ\240えんくらいだったかな.設定用の押し釦は目立つ必要は無いので,省スペースの8mmタイプの白を選択した.基板はスピーカの下辺りにセットされている.カラフル押し釦の奥行きが結構深く,基板の高い部分(電解コンデンサや放熱器等と干渉してしまうので.やっぱりポッキーの空き箱じゃ入らなかったな.

Trial88_090211_2いざ,体育館へ.電源は,手元にあった12Vのバッテリーにした.実用のスタイルも,屋外を考えるとバッテリーは有効手段だ.秋葉原の秋月さんで購入した,メンテナンスフリータイプのもの.容量は4.5AH.既に,フル充電すると,このシステムを1日以上動かせることは事前に確認してある.時報音などはあまり出力していないので,頻繁にStartStopを繰り返したら,動作可能時間多少短くなるのかもしれないが,実用上これくらいのバッテリーで十分だろう.

設置は次の写真の様に.写真右側の光電管スイッチセットがStart位置で,競技者は体育館を一周した後に左側のGoal位置光電管スイッチを切って計測を完了する.じつはこれ,陸上競技用のタイム計測器と言って来たが,主たる計測対象は,実は一輪車である.だから,光電管の位置を低くしている.(おおよそ地上高100mm)

今回のトライアルの主たる目的は,100mm程度に設置したこの光電管システムが,一輪車の全力疾走時にもその通過を確実に検出できるかどうかだ.

Trial88_090211_1まず,光電管の軸を合わせる.事前に家の前の道路で実施したときに比べると,難しい.体育館なので,子供たちが周りで騒ぐと床が揺れてしまうのである.何とか光軸をセットし,計測開始.子供たちは怖がっている.得体の知れない機械が入ってきて,「レーザ光だから直接光を見ちゃだめ,注意して,」などと言われるものだから,近寄ろうともしない.

しかし,最初の勇気ある選手がチャレンジしてくれた.

5カウントの時報は結構受けた."24秒556",拍手,お母さん方からの歓声.二人目"19.xxx秒","おぉー,記録更新"歓声が徐々に大きくなってきて,次々に挑戦者が続く.

だが,ゴール時に勢いあまって落車すると,床が振動して光軸がずれてしまう.やはりここは問題だ.サランラップの芯を遮光筒に使った手作り光電管,安くて結構満足していたが軽すぎて使いにくい.おまけに屋外での計測の場合は風も問題になる.まずこれを安定させないと,実用にならないな.

一方,結構受けたのが時報とフライング検出.フライングを検出すると,”ぴぴぴぴぴぴっ”とダメ出しを食う.2回も連続すると,周囲からは笑いの声が.選手もリズムを取りながら,慎重なスタートを試みる.これは結構練習になるなぁ.

そのうち,スタート釦を押して計測結果を読み上げる役目も子供たちがやり始めた.はじめは”得体の知れない機械”だったが,やっと”練習相手”として認めてくれた.

一人が,「走って計ってもいい?」と言い出した.光電管の位置が低いので,子供とは言え光軸を飛び越えてしまうので,「スタートラインとゴールラインの光軸位置に貼ったガムテープを必ず踏めば,計れるよ」と教えたら,次々に何メートルなのかもわからない体育館をただただ走り回りタイムを計測して盛り上がりはじめた.本機も,もう遊び道具だ.

2009年2月 8日 (日)

箱入り!

箱入りである.長年,バラックで活躍してきた基板もついに,箱に納まる.

Nec_0300 当初はポッキーの箱を考えていた.紙の箱でも,エポキシ樹脂(接着剤)等で補強すれば,機能的にも十分だ.また,ガッキーが嫌いなわけではない.むしろ家族中でファンでもある.CPU基板やソフトはそこそこ考えて作ったという自負はあるが,であるから,いやだからこそ,見た目はチープにしたい.そんなひねくれ根性が幼いころからの自分流になっている.しかし,妻から,安心して簡単に使いたいという強い希望があり.あっさりポリシーを変えてアルミのBOXを買うことにした.かくしてこのアルミのBOXが,本システムの中で一番高い部品となる.液晶SC1602S*Bはあっさりと最高額部品席を譲ってくれた.でも,1,500円はしないけれど.

この穴あけに手間取る.ステップドリル,ニブラ等の新兵器をいろいろと駆使したが,けっきょく,小径ドリルでプロファイルにそったこあなを開けて,ヤスリやリーマで仕上げる,という,30数年年前からの方法で仕上げた.

確かに部品代はいろいろと安く上げたけれど,工数を入れたらはたしていくらなんだ?会社でのレシオだったら,数十万円の基板になっていることだろう.

LED周りの回路図(抵抗値)をFixし,実際に組み立ててやり図ら買った箇所などを振り返り,パターン図も修正した.

「measure88V2.pcb」をダウンロード

「16F88IOMEASURE.pdf」をダウンロード

とまれ,見栄えもこれで完了!

«なんとか立ち上がった.プリント基板,完成間近

2009年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

保存版WEBページ