電源が入らなくなった
FM TOWNS II HR の電源を入れようとしたら、一瞬ONするけど起動まで行かない状態になりました。経年劣化でしょう。
電源周りの修理はさすがに手を出しづらく、すぐ再発することも考えられます。
そこで、現行品で入手しやすい SFX 規格の電源ユニット、Corsair SF450 を流用することにしました。
参考にしたのはこちらの記事です。※本記事も何があっても責任は負えません。自己責任で。
SF450 をそのまま使う問題点
SF450 の配線自体は、ATX 信号を TOWNS HR の 16 ピンコネクタへ対応させるだけです。 SF450 のスイッチを ON にすれば TOWNS は起動します。
ただ、この状態では SF450 のスイッチでしか ON/OFF できません。 TOWNS HR 本体の電源スイッチが何もしない状態になってしまいます。 TOWNS HR 本体の電源スイッチで操作できるようにするには、PS_ON# 信号を制御する回路が別途必要です。
筐体改造
SF450 を TOWNS HR に搭載するにあたり、筐体の加工が必要でした。
上蓋のリブを削る
TOWNS HR の筐体内部、上蓋の内側にはリブ(補強用の突起)があります。 SF450 を置いた状態だとリブに干渉して上蓋が閉まりませんでした。 該当箇所のリブをプラカッターや彫刻刀で切り取りました。 また、おそらく必須ではないですが、電源ユニット向けの下側のストッパーを切り取りました。

SF450の上にあるリブの高さが他より高いため干渉しています。

他のリブと同程度の高さに切り取りました。

SF450の下にあったストッパーはここで切り取りました。
バックパネルの穴を広げる
SF450 には電源スイッチと電源ケーブルのコネクタがあります。 TOWNS HR のバックパネルにはちょうど電源ユニットがはまる位置に穴がありますが、 SF450 のスイッチ位置と合わないため、穴をプラカッターや彫刻刀で広げました。

電源ケーブル上のスイッチが隠れるので

出てくるように切り取りました。
制御回路の設計方針
必要な動作
TOWNS HR の電源 ON/OFF に必要な動作は以下の通りです。
| 操作 | 動作 |
|---|---|
| ON-OFF SW を押す | 電源 ON ↔ OFF をトグル(D-FF で実現) |
| OFF SW を押す | 一定時間後に電源 OFF(チャタリング除去を兼ねてタイマーで実現) |
| 電源投入時 | PWR_OK が立ち上がるまで D-FF をリセット状態に保つ |
IC の選定
| IC | 役割 |
|---|---|
| NE555 | OFF SW のチャタリング除去タイマー(単安定、約 2.4 秒) |
| 74HC74 | ON-OFF SW のトグル制御(D フリップフロップ) |
| 74HC132 | /CLR1 制御・CLK1 デバウンス・PWR_OK 監視(シュミットトリガー NAND) |
74HC132 の選定経緯については後述します。
基板構成の方針
電源ライン(GND / +5V / +12V / -12V)は基板を経由させず、SF450 の 18+10 ピンモジュラーコネクタに接続する専用ケーブルを新規製作し、TOWNS の 16 ピンコネクタへ直接圧着接続します。 基板上は制御信号(+5VSB / PWR_OK / PS_ON# / SW 信号)のみとすることで、基板サイズを小型化できます。
ブレッドボードで試作
NE555、74HC74、74HC00 をブレッドボードに組んで動作確認しました。 電源 ON/OFF は TOWNS HR 本体の電源スイッチで制御できるようになりましたが、ON-OFF SW を押したときに複数回トグルしてしまうことが頻発しました。
チャタリングの問題
機械式スイッチの接点バウンス(チャタリング)が原因で、D-FF の CLK1 に複数エッジが入ってしまいます。 RC フィルタ(R3: 10kΩ + C6: コンデンサ)でチャタリングを除去しようとしました。
| 試した C6 の値 | τ | 結果 |
|---|---|---|
| 0.1µF | 1ms | チャタリング残り、効果なし |
| 10µF | 100ms | まだ発振することがある |
| 22µF、100µF | — | 改善しない。根本的な問題があると判断 |
調べると、74HC00 の入力にはヒステリシスがなく、RC の緩やかな立ち上がり波形が LOW/HIGH しきい値付近をゆっくり通過する間に出力が発振することがわかりました。
74HC132 への変更
74HC00 とピン互換で、シュミットトリガー入力を持つ 74HC132 に交換しました。 74HC132 は約 1.25V のヒステリシスがあるため(5V 動作時)、入力電圧が不安定な帯域を通過する間も出力が安定します。
交換後、C6 = 10µF(積層セラミック)で安定して動作するようになりました。
パワーオンリセット回路
74HC74(D-FF)は電源投入時の状態が不定なため、/CLR1 でリセットする回路が必要です。 R6(10kΩ)+ C5 で RC 回路を組みました。
| C5 の値 | τ | 結果 |
|---|---|---|
| 0.1µF | 1ms | リセットが不安定 |
| 10µF | 100ms | 改善したが不安定なケースが残る |
| 22µF | 220ms | 安定してリセットできるようになった |
HR本体と組み合わせて試作
PCB 化
ブレッドボードでの動作確認が取れたため、KiCad で回路図を作成し PCB 化します。
回路図・配線の詳細は GitHub のドキュメントを参照してください。
https://github.com/neko32k/towns-adapter
回路図とPCB
必要な部品
| 部品 | 型番など | 数量 | 入手先例 |
|---|---|---|---|
| SFX 電源ユニット | Corsair SF450 | 1 | Amazon |
| タイマー IC | NE555DE4(または NE555P) | 1 | 秋月電子通商 |
| D フリップフロップ | 74HC74 | 1 | 秋月電子通商 |
| NAND(シュミットトリガー) | 74HC132(TC74HC132AP) | 1 | 秋月電子通商 |
| IC ソケット 8ピン | DIP8 | 1 | 秋月電子通商 |
| IC ソケット 14ピン | DIP14 | 2 | 秋月電子通商 |
| 電解または積層セラミックコンデンサ | 22µF(C5) | 1 | 秋月電子通商 |
| 積層セラミックコンデンサ | 10µF(C6) | 1 | 秋月電子通商 |
| 積層セラミックコンデンサ | 0.1µF(C1/C3/C4) | 3 | 秋月電子通商 |
| 抵抗 | 10kΩ(R1/R3/R5/R6) | 4 | 秋月電子通商 |
| 抵抗 | 1MΩ(R2) | 1 | 秋月電子通商 |
| 抵抗 | 1kΩ(R_LED1/R_LED2) | 2 | 秋月電子通商 |
| LED | (赤・黄など) | 1 | 秋月電子通商 |
| LED | (緑・青など) | 1 | 秋月電子通商 |
| SF450 18ピンコネクタ | PC用電源コネクタ 18Pin レセプタクル(Molex 5556/5557互換) | 1 | Amazon |
| SF450 10ピンコネクタ | PC用電源コネクタ 10Pin レセプタクル(Molex 5556/5557互換) | 1 | Amazon |
| MOLEX 5566-06A または 5569-06A | 6ピンヘッダ(PCB側) | 1 | Amazon |
| MOLEX 5557-06R | 6ピンハウジング(ケーブル側) | 1 | Amazon |
| MOLEX 5557-16R | 16ピンハウジング(TOWNS HR側) | 1 | Amazon |
| MOLEX 5556 圧着端子 | – | 必要量 | Amazon |
| AWG18〜20 カラー線、電源ライン用(黒・青・黄・赤) | – | 必要量 | 秋月電子通商 |
| AWG22 カラー線、制御信号用(紫・黒・白・緑・黄・赤) | = | 必要量 | 秋月電子通商 |
その他今回購入した工具
結果
SF450の電源を入れるとHRが起動するのは、電源修理前と同等の動作なので良しとします。その後ちゃんとHR本体の電源スイッチでON/OFF操作できるようになりました。
ケーブル結線やPCB設計関連のkicadデータをgithubに格納しています。












コメントを残す