| ホーム |     私の電子工作作品集

x07. タイマー付き EP-ROM イレーサー

[ 初公開日:2016年7月14日 ]

 「トランジスタ技術」 誌 1980年 6月号 「2716用 P-ROMプログラマの製作」 の中で紹介されていた "消去器" に、NE555 PICによる "タイマー" を組み合わせたものです。


 データが書き込まれている使用済みの EP-ROM に、紫外線を照射してそのデータ内容を消去し、初期の状態に戻す装置です。 デバッグ等で プログラムを更新したときや、まったく新しいプログラムを書き込むときには、既に書き込まれている古い内容を一旦消去して、ROM の内容を初期状態に戻しておく 必要があります。

 EP-ROM の初期の状態というのは、データ内容のすべてのビットが "1" の状態になっていることを言います。 ですから、データを書き込むということは、 ROM ライターによって "0" のビットを作り出して行くということです。

 三十数年も以前に作製した本装置を、今回ネットに公開するきっかけとなったのは、言うまでもなく先に公開した "8080A CPU コンピュータシステム" 、 "2716 専用 手書き EP-ROM ライター" 等とともに一連の製作物であって、どれも切って離すことができないからです。

 はからずも "8080A CPU コンピュータシステム" を、三十数年ぶりにまた稼働、運用できるようにするために、本装置や次に公開予定の "8080A CPU コンピュータシステム" からコントロールする "EP-ROM ライター" ともに、今後しばらくの間は使用することになりそうです。

■ 回路図 (1) ■


タイマー部のプリント基板と ロータリスイッチ廻りの配線

拡大
タイマー部のプリント基板 ロータリスイッチ廻りの配線

| 回路図 (ROM_Eraser.CE3) | ページトップ |

■ ケース外観と内部の様子 ■

ケース外観 (正面側) ケース外観 (背面側)
ケース裏面を正面側から見たところ ケース裏面を背面側から見たところ
裏蓋を外して真上から見たところ 左写真から殺菌灯と仕切り用のアルミ板を外したところ
プリント基板と各スイッチ、LEDの取り付けの様子 奥左からグローランプ、安定器、電源トランス、ヒューズホルダ、ACコード

| ページトップ |

■ プリント基板(1)パターン図 (部品面) ■

| プリント基板(1)パターン図 (部品面) (ROM_EraserPC.CE3) | ページトップ |

■ プリント基板(1)パターン図 (ハンダ面) ■

| プリント基板(1)パターン図 (ハンダ面) (ROM_EraserPC1.CE3) | ページトップ |

■ パネルレイアウト ■

 パネル面は、前作の "2716 専用 手書き EP-ROM ライター" と同様に、穴加工の後インスタントレタリングで文字入れをし、 レトラコートで軽く文字を定着させた後、最後に 2 mm 厚の透明アクリル板を被せて 表面を保護しています。



| パネルレイアウト Excelファイル (ROM_Eraser.xls) | ページトップ |

■ ケース加工図 ■

 使用したケースは、メーカー、型番ともに不明です。 ケースに関しての資料が残っていませんでした。

| ケース加工図 (ROM_EraserCS.CE3) | ページトップ |



■ タイマー部回路の見直し ■

 本機の製作時のことは、35年以上も以前のことなので詳細なことはまったく覚えていないため、本ページをネットに公開するに当たって改めて動作の確認をしてみました。

 ところが、まず本機の電源をオンすると、いきなり、リレーの動作音がして殺菌灯が点灯してしまいます。 ??? まだ、START スイッチは押していません。 本来、START スイッチを押すことによって 初めてタイマーのカウントが始まるとともにリレーが動作するものの筈なんですが・・・。 そして、本機ではリセット(キャンセル)スイッチが設けられていないため、そのときに設定されている タイマー時間を待たなければ平常(タイマーの動作していない状態)には戻りません。

 また、ロータリースイッチでタイマー時間の設定を切り替えて使用するのですが、その設定時間がかなりアバウトなのです。 ロータリースイッチに目盛ってあるタイマー時間(分)別に実際に 数回ずつの測定をしてみました。 その結果が次に示す表とグラフです。 これらから分かるように、各設定値とも実測値には酷い誤差とバラツキがあります。 特に設定値が 12 分以上では タイマーとしては実に酷いもので、実用に供することはとうてい難しいものと思われます。

設定値 測定-1 測定-2 測定-3
01:00.00 00:57.57 00:57.15 00:56.03
02:00.00 01:54.98 01:54.77 01:53.91
03:00.00 02:53.81 02:55.17 02:55.58
04:00.00 03:54.28 03:55.79 03:56.52
05:00.00 04:58.24 04:57.00 04:57.82
06:00.00 06:01.74 06:07.89 06:01.17
07:00.00 07:03.14 07:10.65 07:02.18
08:00.00 08:07.79 08:05.59 08:14.51
10:00.00 10:27.09 10:38.70 10:19.83
12:00.00 14:25.13 14:19.88 13:56.85
14:00.00 18:02.66 15:46.70 17:16.92
16:00.00 23:23.57 22:53.84 25:28.84

左表の実測値データを Excel にてグラフに変換して表示

 本機では、回路図(1)、プリント基板(1)パターン図、ケース外観写真などから分かるように、タイマー用IC "NE555" を使用して、CR時定数の内、 Rの値を変更することでそのタイマー時間の変更をしています。 あまり定かではないのですが、回路的にはおそらく 参考書籍 -文献2の製作記事を参考にして 作製をしたものと思われます。

 文献2の製作記事によれば、時定数を決める抵抗Rに誤差5%のものの使用時で、「1分から12分(最大レンジ)までの誤差は約3〜5秒ぐらい」と明記されていますが、私の製作物の実測値と 比較するとまったく信じられません。 最も私の製作物と製作記事とは回路的に同一ではありませんが ・・・ (基本的には同じです)  また、製作記事では START スイッチと電源スイッチを兼用しているため、これについては問題はないのでしょう。

 ちなみに、上表のタイマーの時間測定には、私のホームページ中の他のページで紹介をしている "長時間ストップウオッチ/タイマー" を使用して、次の 写真のようにして測定をしました。 ただ、EP-ROM イレーサー側のタイマー出力の電圧レベルと、ストップウオッチ側で必要とする受け入れ電圧レベルが異なっているため、下の写真と図に示すような インターフェースを挟んで接続をしました。


タイマーの時間測定をしている全体の様子 インターフェース
定電圧安定化電源 & 12Vシールドバッテリー用充電器 長時間ストップウオッチ/タイマー

 本機におけるタイマーの精度としては、本機の性質上あまりシビアなものを求めている訳ではないのですが、それでも上述のように、現在の本機ではあまりにも酷過ぎてお粗末としか 言いようがありません。 そこで、何とかもう少し精度を上げたいと思って昔の製作記事などを調べていたら、タイマー用IC "NE555" を使用した同様なタイマーがもう1件見つかりました。 それが、参考書籍 -文献3の製作記事でした。

 さっそく期待を込めて、次項以降の 回路図(2)、プリント基板(2)パターン図に示すように回路構成を変更してみました。 そして、変更前と同様にしてタイマー時間を測定した結果が 次に示す表とグラフです。

設定値 測定-1 測定-2 測定-3
01:00.00 00:57.52 00:57.40 00:57.16
02:00.00 01:57.92 01:56.18 01:56.78
03:00.00 03:00.20 02:59.57 02:59.23
04:00.00 04:06.22 04:03.55 04:03.22
05:00.00 05:08.80 05:12.44 05:07.06
06:00.00 06:13.89 06:18.49 06:15.95
07:00.00 07:25.85 07:21.35 07:15.18
08:00.00 08:34.99 08:32.31 08:35.93
10:00.00 10:59.69 11:07.92 10:58.99
12:00.00 14:14.15 14:00.10 12:31.62
14:00.00 17:07.04 18:18.56 15:53.50
16:00.00 20:58.75 22:10.67 22:30.94

左表の実測値データを Excel にてグラフに変換して表示

 ご覧のようにその結果は、変更前のものとほとんど同じで精度の改善はまったく見られませんでした。 回路構成を変更したことでの期待度が大きかっただけに残念でなりません。 CR時定数のRを誤差1%の金属皮膜のものに交換したらという考えもあったのですが、どうもそれだけの原因ではなさそうな気がしてやめにしました。

 CR時定数を決めるときの注意として、0.001μF < C < 100μF、1KΩ < R < 10MΩ の範囲で選択し、1.1 x C x R でタイマー時間を決めます。(この条件はクリアしている)

 タイマー精度の改善はみられなかったものの、回路構成を変更したことで機能が改善された点がありました。 上述したように、電源をオンするといきなりリレーが動作をする、ということは無くなりました。 START スイッチを押すことによってスムースにタイマー機能がスタートするという点と、動作中のタイマーを途中でキャンセルができるようになった点です。 しかし、このタイマーを途中でキャンセルが可能な、 下の回路図 (2)の中の Safety / Stand-by スイッチを、パネル面に実装するスペースがありません。

 結局、一番の目的のタイマー精度の改善を図ることができなかったため、回路図(2)、プリント基板(2)パターン図に示すような回路構成を変更するという試みは失敗でした。

| ページトップ |

■ 回路図 (2) ■

| 回路図 (ROM_Eraser2.CE3) | ページトップ |

■ プリント基板(2)パターン図 (部品面) ■

 回路構成を変更するに当たって新たなプリント基板を作製するのではなく、プリント基板(1)を改造して使用しました。 次のパターン図に示すように、回路変更で不要となった部分の 既存のパターンをカットしたり、追加部品の実装のために新たな穴開けをしたりして対応をしました。 また、ついでに電源の電解コンデンサ等を 新しいものと交換 しておきました。

| プリント基板(2)パターン図 (部品面) (ROM_EraserPCb.CE3) | ページトップ |

■ プリント基板(2)パターン図 (ハンダ面) ■

| プリント基板(2)パターン図 (ハンダ面) (ROM_EraserPC1b.CE3) | ページトップ |

■ 使用部品表 ■

(主要部品: IC, トランジスタ等)

(データシート)
タイマーIC .................... NE555V
三端子レギュレータ .................... 78L08
トランジスタ .................... 2SC1096
ダイオード .................... 10D1
ブリッジダイオード .................... W005M

 本機での主要部品は、実は上の半導体ではなく 本当は次の写真のような部品たちです。 殺菌灯、安定器、グローランプを入手しなければ、 イレーサーを作製することはできません。 大昔、ショップ名までは忘れましたが秋葉原のどこかの店で、三点セット(蛍光ランプ用ソケットも入れて四点セットだったかもしれない) として売られていたのを購入したことは記憶に残っています。

グローランプと安定器 FG-7P 安定器の定格
殺菌灯: GL-4

コンデンサの比較

 回路変更で配線替えを行ったのを機に、電解コンデンサ等を新しいものに交換しました。 左側4個が三十数年も前の古いもので、右側4個が比較的最近のものです。 左側の古いものはそのサイズのデカさに驚かされます。 セラミックコンデンサも積層のものに交換をしました。

| 部品表 | Excel ファイル (ROM_Eraser_parts.xls) | ページトップ |

■ 参考書籍 ■

文献1.  雑誌 「トランジスタ技術」 1980年 6月号 P.389-390 「2716用 P-ROMプログラマの製作」 富崎新氏
文献2.  雑誌 「ラジオの製作」 19??年 4月号 P.96-100 「"555"ICを使った 正確なエレクトロニクス・タイマ」 橋本悟氏
文献3.  雑誌 「初歩のラジオ」 19??年 ??月号 P.79-85 「0.1秒から10分までダイアルでセットできる 写真引きのばし用タイマーの作り方」 松本悟氏



■ デジタルタイマーと交換 ■

 上述のように、タイマー用IC "NE555" を使用したアナログタイマーでは、期待をした成果を得ることができませんでした。 上方でも述べていますが、本機の性質上あまり シビアなタイマー精度を求めている訳ではないのですが、それでももう少し精度が良くなくては実用面からも信頼性に欠けてしまいます。


 そこで、この失敗作のタイマーの使用はスパっと諦めて、新たにPICでデジタルタイマーを作製することにしました。 それが、上の写真、および 次項以降の 回路図(3)、プログラム、プリント基板(3)パターン図に示したもので、このデジタルタイマーについても同様にしてタイマー時間を測定してみました。 結果は次に示す表とグラフの通りです。

設定値 測定-1 測定-2 測定-3
01:00.00 01:00.03 01:00.02 01:00.02
02:00.00 02:00.03 02:00.03 02:00.02
03:00.00 03:00.03 03:00.02 03:00.01
04:00.00 04:00.02 04:00.03 04:00.02
05:00.00 05:00.04 05:00.02 05:00.02
06:00.00 06:00.03 06:00.04 06:00.01
07:00.00 07:00.05 07:00.02 07:00.03
08:00.00 08:00.08 08:00.06 08:00.04
10:00.00 10:00.08 10:00.06 10:00.05
12:00.00 12:00.08 12:00.09 12:00.08
14:00.00 14:00.06 14:00.07 14:00.08
16:00.00 16:00.09 16:00.17 16:00.19

左表の実測値データを Excel にてグラフに変換して表示

 さすがPICによるデジタルタイマー、完璧過ぎて出る言葉もありません・・・。 何度も言うようですが、本機の性質上ここまでの精度を求めていた訳ではなかったのですが、 PICを使用するとこういう結果になりました。 本機を始めに作製した三十数年も以前には、当然ながらPICの存在はなかったのですから、この精度はとても考えられなかったことです。

 タイマー時間としては、トランジスタ 2SC1096 がオンになっている間の時間を測定していますが、実際には、リレーが動作し グローランプが点灯して なおかつ、殺菌灯が点灯した結果、 紫外線が照射されるまでには数秒が掛かりますので、その分を差し引かなければなりませんが、いずれにしろ、実用面では何の問題も起こらないでしょう。

| ページトップ |

■ 回路図 (3) ■

| 回路図 (ROM_Eraser3.CE3) | ページトップ |

■ プログラム ■

 PICでデジタルタイマーを作製するに当たって私が拘ったことは、プリント基板上でのスペース的な問題もあり、前出のアナログタイマー用IC "NE555" と同様な、 8ピンのPICを使用することでした。 8ピンPICにも数種類のものがありますが、ここでは Yahoo!オークションで入手して大量に手持ちの "PIC12F635" を使用することにしました。

 そして、使用できる I/O数を増やすために、システムクロックには内部オシレータを使用しています。 I/Oの割り付けは 上に示す回路図のように、GP0 〜 GP3 をタイマーの時間設定入力に、 GP4 をタイマー出力に、GP5 を START スイッチと CANCEL スイッチを兼ねた入力に割り当てました。 時間のカウント動作前に ON すると START スイッチとして機能し、カウント動作中に ON すると CANCEL スイッチとして機能します。

基準時間の発生と調整

 本機では、タイマーカウントをするための基準時間の発生には、PIC の TMR0: タイマー0割り込みを使用して、基準となる1秒を作り出しています。

 PIC のクロックパルス = 内部 8MHz、プリスケーラは使用しない、TMR0 は8ビットカウンタで カウント値 = 200、 とすることで、これらの条件から
	(4 / 発振周波数) x ハードタイマーカウント値 = (4 / 8MHz) x 200 = 100μS
でハード的にタイマー0割り込みを起こさせ、それをソフトタイマーカウント値 = 10000 をカウントすることにより
	割り込み周期 x ソフトタイマーカウント値 = 100μS x 10000 = 1,000,000μS = 1 Sec
が得られます。 しかしこれは計算上の話で、実際に時間を測定してみると、次の表のように(補正値 = 0 の場合)1秒からは かなりかけ離れており、大きく補正をする必要がありました。 これは実際にはクロックパルスが正確に 8MHz で発振していないのが主な要因と考えられます。
	tm0_h_val	equ	256 - 200		;ハードタイマー0カウント値 (4 / 8MHz * 200 = 100μS)
	xx		equ	-689			;補正値
	tm0_s_val_h	equ	high (10000 + xx)	;ソフトタイマー0の high カウント値
	tm0_s_val_l	equ	low  (10000 + xx)	;ソフトタイマー0の low  カウント値
 次表は本機のタイマー値を設定最大値の 16 分に設定し、前出の "長時間ストップウオッチ/タイマー" で、実際のタイマー時間を 測定してみたものです。 表からも分かるように、補正値 = -689 または -690 としたときが、実時間に近くなることが分かりました。

設定時間 補正値 測定時間 誤差
1 16 分 0 17:11.33 + 01:11.33
2 16 分 0 17:11.37 + 01:11.37
3 16 分 0 17:11.30 + 01:11.30
1 16 分 -687 16:00.41 + 00:00.41
2 16 分 -687 16:00.53 + 00:00.53
3 16 分 -687 16:00.41 + 00:00.41
1 16 分 -689 16:00.09 + 00:00.09
2 16 分 -689 16:00.17 + 00:00.17
3 16 分 -689 16:00.19 + 00:00.19
1 16 分 -690 16:00.11 + 00:00.11
2 16 分 -690 16:00.09 + 00:00.09
3 16 分 -690 16:00.01 + 00:00.01
1 16 分 -691 15:59.74 - 00:00.26
2 16 分 -691 15:59.71 - 00:00.29
3 16 分 -691 15:59.67 - 00:00.33

 上表だけを見ると、補正値 = -690 としたときの方が良さそうに見えますが、これらは同じ条件下で測定をした訳ではありません。 具体的には、測定日(実際には2日間に渡って測定)とか、 そのときの温度などの環境が異なっています。 そして、補正値 = -689 としたときが最終の測定であったため、それをそのまま使用することにしました。

 余談ですが、このタイマーを本機以外で使用する場合には、システムクロックに内部オシレータの使用を止めてクリスタルによる外部オシレータに変更すれば、より正確で安定した動作が望めます。 ただし、 その場合には I/O数が2個減ってしまうので8ピンのPICでは無理ですが・・・。

現在の最新バージョン: Ver. 1.00

| ページトップ |

■ ユニバーサルプリント基板の加工 ■

 本機では、ケース外観と内部の様子 で示した写真からも分かるように、限られたケース空間に回路を組み込む必要があるため、プリント基板としては 既にプリント基板(1)で示したようにずいぶんと横に細長い形状となります。 しかし、このように専用のプリント基板を作製するのであれば話は別ですが、最近の私はユニバーサル基板の使用ばかりに 慣れてしまって、専用のプリント基板を作製することにはひどく消極的になってしまいました。

 そこで、今回もユニバーサル基板の使用となるのですが、このように横に細長い目的に合ったサイズ形状のものなどは見つかりません。 したがって、一般的なユニバーサル基板を次に示す方法で切り出し、 加工をして必要サイズの基板を作り上げました。

使用したプリント基板は、"秋月電子通商" の "Bタイプ(95x72mm)" (通販コード P-00518 ) ガラスエポキシ片面ユニバーサル基板です。

まず、左図のように 縦 …… で示した、縦列の1列、35列で基板の切断をします。

次に、同様に 横 …… で示した、横行のE行、C行、A行で順に切断をします。

結果、これらの切断によって、左図のように6枚の小さな基板に分割されます。 このうち、小基板−1、2,3以外のものは、とりあえず本機では使用をしません。

また、各小基板の切断面は鋭くなっていますので、安全のためやすり等で滑らかにしておくと良いでしょう。

そして次に、小基板−1の切断面Xと小基板−2の切断面Yが接するように横長に接続をします。 具体的な接続方法は、次項のパターン図や写真のように、Φ0.5 の錫メッキ線を巻き付けて ハンダで固定をしています。

小基板−3については、ロータリスイッチとプリント基板(3)を接続 するためのコネクタとケーブルの固定用に使用するため、この後さらに、必要サイズに加工をします。

| 基板加工図 (ROM_Eraser3PCx.CE3) | ページトップ |

■ プリント基板(3)パターン図 (部品面) ■

| プリント基板(3)パターン図 (部品面) (ROM_Eraser3PC.CE3) | ページトップ |

■ プリント基板(3)パターン図 (ハンダ面) ■

| プリント基板(3)パターン図 (ハンダ面) (ROM_Eraser3PC1.CE3) | ページトップ |

■ ロータリスイッチの配線とケース内部の様子 ■

 ロータリスイッチとプリント基板(3)との接続には、次の写真のようにフラットケーブルとコネクタ(メス)を使用しました。

 最後に、PICによるデジタルタイマーと交換後のケース内部の様子をお見せしましよう。

プリント基板(3)と各スイッチ、LEDの取り付けの様子 裏蓋を外して真上から見たところ

| ページトップ |

■ 使用部品表 (3) ■

(主要部品: IC, トランジスタ等)

(データシート)
PICマイコン .................... PIC12F635
三端子レギュレータ .................... 78L05
トランジスタ .................... 2SC1096
ダイオード .................... 10D1
ブリッジダイオード .................... W005M

 これらの主要部品の他、使用リレーについては、旧作品のリレーの形状が少々大きいため小型の新しいものに取り換えたかったのですが、9V用のものの手持ちがなかったため、 仕方なく旧作品のものを流用しました。

| 部品表 | Excel ファイル (ROM_Eraser_parts.xls) | ページトップ |

■ あとがき ■

 今回のこの "タイマー付き EP-ROM イレーサー" のページでは、当初、過去の製作物として簡単に紹介して終わらせるつもりでいました。 ところが、実際に三十数年ぶりに動作の確認をしてみると、 現状ではそのまま見過ごすことができないようなタイマーの状態だったため、その改善対策についついのめり込んでしまいました。 そして、その試みも一度は失敗したりして思いもよらず手間取ってしまいました。

 冒頭でも述べましたが、"8080A CPU コンピュータシステム" を、三十数年ぶりにまた稼働、運用できるようにするのが最終目的で、 そのためには "EP-ROM ライター" とともに、本機も軽快に使用できることが望ましいことと思います。 時間は少々かかりましたが、このタイマーの問題が解決できてホッとしています。 (ただし、ここでは切り捨ててしまったタイマー用 IC NE555 の問題については依然残ったままですが…)

 このように、ここ十数日間というもの毎日悪戦苦闘をしていたために、その結果、当初の予定より2週間ほど遅れてこのページの公開となりました。

| ページトップ | ホーム |


Copyright (C) 2006-2023 やまもとみのる
初版:2006年12月10日、初公開:2016年7月14日、最終更新:2023年11月5日