科学の最近のブログ記事

復活!FX-702P

| コメント(1)

先日復活に失敗したポケコンFX-702Pの修理に再チャレンジした。このポケコンはマイコンブーム初期の1982年に兄が購入したもので、創刊後間もないベーマガのプログラムを打ち込んでよく遊ばせてもらった。一番印象に残っているのが1982年7月号の「ATTACK INVADER」というゲーム。タイトルからはシューティングゲームを思わせるが、グラフィック画面を持たないFX-702Pでまともにシューティングができるはずもなく、実際は「もぐら叩き」風のゲームだった。画面に表示される文字列のパターンに応じてキーを叩くだけであるが、これでも当時は面白いと思ったものだ。

702p_01.jpg

このFX-702P、1983年に兄が海外に留学した際に、暇つぶしにいいだろうと気を利かせて航空便で送ってあげたのだが、それが災いしいてか壊れてしまった。フリーエリア1680ステップ(FX-702Pはメモリの単位がbitやByteではなく「ステップ」)のうち、およそ半分を超えてプログラムを打ち込むと、それまで打ち込んだプログラムが破壊され、メモリーの内容が滅茶苦茶になるという症状だった。輸送時の衝撃で壊れてしまったのだと思われ、持ち主の兄からは「頼んでもいないのに余計なことをするからだ」と怒られてしまった。それ以降は専ら自分が暇つぶしのBASICプログラムを自作するのに使っていたが、うっかり禁断の容量を越えてプログラムを打ち込んでしまい、労力を無駄にすることもしばしばだった。

702p_02.jpg

その後JR-100やMSXに移行したことで使わなくなり、しばらく実家の物置に保管してあったものを一昨年発掘してきた。物理的な衝撃で壊れたのであれば、半田割れが原因ではないかと考え、すべてのフラットパッケージのチップの半田付けをやり直したり、電解コンデンサ、タンタルコンデンサの張替えも行ったのだが、直らなかった。

702p_09.jpg

メイン基板を調べてみたが、独立したCPUやROMが見当たらなかった。これらは4つのLCDコントローラHD4319A02/03に含まれているようだ。基板は両面スルーホールだが、設計が未熟なのか一部のピンがフレキケーブルで結線されている。当然これらの断線も疑ったが、問題は見つからなかった。

702p_03.jpg

こうなるとメモリーチップの不良が疑わしくなってくる。サブ基板に4個載っているNECのμPD444Gという52pのQFPの石がSRAMのようだ。奇妙なことに上下の合計26pだけが基板に半田付けされており、左右の26pは基板にパターンが走っているにも関わらず半田付けされていない。FX-702Pのメモリ空間は、初期状態でフリーエリア1680ステップ+変数領域208ステップなので合計1888ステップ。メモリチップは同じものが4つ使われているので1個につき472ステップの容量があると思われる(ワークエリアのことはこの際考えない)。データシートを探したが、あまりに古いチップのためか発見できなかった。類似型番のμPD444無印のものは発見でき、普通の1024x4bitのSRAMであることは分かったが、ピンの数は違う。とりあえず適当なSRAMに張り替える方向で解析してみることにした。

D444G.PNG

通常のSRAMであれば、アドレス線、データ線が共通ラインとなっており、CPUが8bitならば、8本のデータ線が4本ずつペアのSRAMに振り分けられているので、ピンアサインはある程度推測が可能。他にSRAMには/CS,/OE,/WEの信号もあるが、数本程度であれば試行錯誤で解析することも可能だろう。ということで、μPD444Gのパターンを追いかけてみたのだが、まったく予想とは異っていた。どうもFX-702PのCPUは4bitであり、アドレス線もデータ線もすべての石で共通となっているようだ。その上謎のID設定ピンのようなものもあり、普通のSRAMとは異なる印象だった。ネットで検索してみたところ、同じカシオのPB-100系ポケコンでは、「同期SRAM」というのを使っており、アクセス方法も通常のSRAMとは異なり、置き換えは不可能ということが分かった(参考リンク:Vintage programmable calculators)。おそらくFX-702Pも同期SRAMなのだろう。

702p_08.jpg

こうなったらSRAMを部品取り機から移植するしか道はない。幸いオークションで液晶が割れていると思われるジャンク品を500円で落札できた。動作確認してみたところ、液晶がお漏らしをしているものの、表示は可能で一見動作も問題ない。しかし、プログラムを入力したところ、残り800ステップを切ったあたりでデータが壊れてしまった。あろうことか元々持ってた機体と同じ故障モードではないか!

しかし、よくよく検証すると2台の故障は少し症状が異なることが分かった。元々持っていた方(1号機)は、プログラムが壊れる際、パスワードロックがかかってLIST命令を受け付けなくなる。以後は他のP1~P9のプログラムエリアに入力した場合もその都度パスワードロックがかかる。ジャンク機(2号機)のほうは、メモリ化けが発生するもののパスワードロックはかからない。この違いを利用して原因の切り分けを行うことにした。

702p_07.jpg

FX-702Pでは、メイン基板とSRAM基板は別になっている。どちらに原因があるのか明らかにしておくために基板をスワップしてみたところ、SRAM基板に依存した症状が再現された。よって故障の原因はSRAM基板側にあると確定。前半800余ステップは問題なく動作するので後半800ステップを記憶しているSRAMが壊れていると思われた。SRAMには基板にシルク印刷でABCDと名前が振ってある。おそらく下位アドレスから順番にABCDと名づけるだろうと考え、死んでいるSRAMは1号機、2号機ともにCだろうと推測した。逆に上位アドレスからABCDだとするとBが死んでいる可能性も考えられたため、2号機のBを1号機のCへ移植することにした。予想が外れても、1号機Cを2号機Bに移植することで簡単に再検証が可能だからだ。

702p_04.jpg

SRAMの取り外しにはパターンを痛めないようにサンハヤトの表面装部品取り外しキット(低融点半田)を使った。この取り外しキットは定価4,967円と高額なのが難点だが、使い終わった半田を画像のような極細ピッチのICの足に吸い取って保存しておけば10回くらいはリサイクルが可能だ。使い回して普通の半田が混ざると徐々に融点が上がってやりにくくなるのでそうなったら新しい半田に替えれば良い。ちなみに鉄道模型のホワイトメタル接合用に低融点半田が出回っており、これもIC取り外しに使えるという話を聴いたことがある。こっちのほうが安価なのでいずれ試してみたいと思う。

702p_06.jpg

メモリチップ移植の結果は一発でビンゴ!すべてのメモリを使い切るまでプログラムを入力してもデータ化けが発生しなくなった。

702p_05.jpg

ちなみにAとDのみSRAMが載った状態で2号機を動かしたところ、起動直後のフリーエリア表示は1680ステップのままだったが、プログラムを400ステップ余り入力した時点でおかしくなった。次にAとBのみにSRAMを載せて検証してみたところ、800ステップ余りを入力したあたりでおかしくなった(パスワードロックもかかった)。やはりメモリチップはABCDの順で埋まるようだ。

勢いで、もう一台FX-702Pのジャンク(3号機)を入手してしまったのだが、こちらは筐体が黄ばんで傷ついていたものの動作は完全だった。比較的綺麗だった2号機のガワに3号機の中身を移植して、最終的には完全動作の美品を2台でっち上げることに成功した。SRAMを剥ぎ取った2号機は使い物にならないが、まだ2枚のSRAMチップは生きているので、今後の部品取りとして保管しておこう。

結局故障の原因は2台ともメモリ不良だったわけだが、物理的な衝撃でこのような壊れ方をするとは考えにくい。おそらくメモリチップの品質にバラつきがあり、一部のメモリに時限爆弾が仕掛けられていたようなものだったのだろう。その炸裂のタイミングがたまたま海外に送付した時と重なっただけで。ということで26年来の濡れ衣を晴らすことができたので、事の顛末を兄に報告したところ、本人はまったく未練も無い様子で一言。「大切に使ってくれ」。

北海道も紅葉のシーズンになり、徐々に夜間の冷え込みが強くなってきた。こういう季節の変わり目には人間のみならずペットも体調を崩しやすいようで、我が家の金魚も一時期体表面にカビのようなものが生えたりした個体がいたが、鷹の爪療法と水換えと市販のバクテリア投入でなんとか乗り越えた。なお、先日のお祭りで増えた1匹の和金は来て7日目に急に動きが悪くなりそのまま★になってしまった。外見上の変化はなく、何が原因かははっきりしないが、環境の変化に耐えられなかったのかも知れない。

ちなみに魚類は水温の変化には結構敏感らしく、水温に応じて体の組成を代えて代謝を維持するのだそうだ。よって数日単位の緩やかな水温の変化であれば許容できるそうだが、急激な変化には対応しきれず体調を崩す原因になるらしい。北海道では屋内とはいえ、日中と夜間(暖房OFF)とでは相当な温度差がある。これではいくら丈夫な金魚でもかわいそうなので、ヒーターを使って保温することにした。

水層の保温のためにはサーモスタット(温度調節器)が必要だ。昔実家で熱帯魚を飼っていた頃は、バイメタル式のサーモスタットを使ったことがあったが、これはバイメタルが固着してヒーターが入りっぱなしになる事故を起こし、多くの犠牲を出した忌まわしき記憶がある。今回市販のサーモスタットを調べてみたが、今時のものは全て電子化されておりバイメタル式のものはもう売ってないようだ。温度固定のサーモスタット内蔵ヒーターなんてのもあり、値段も安価で普通に使うならそれで充分にも思える。

ただ不満なのは、ヒーター+クーラーの両方に対応しているサーモスタットが売ってないという点。夏場は家を閉めきれば北海道でもかなりの高温になる。そんなときに自動でファンを回して空冷する機能も欲しい。そこで、加温冷却両対応のサーモスタットを自作することにした。製作には温度アラーム(上限&下限)付きの電子温度計が必要。下限アラーム側にリレーを接続し、市販のAC100Vの水層用ヒーターで保温。上限側には適当なトランジスタを介してDCファンを接続し、気流を水面に当てて気化熱で冷却を図るという設計。今回も十川氏の協力を仰ぎ、温度計のプログラム済みPICを譲って頂くことにした。温度計キットの現行品は16F886使用の2センサー式のものだが、手持ちの温度センサー(S8100B:既に販売終了)を有効活用するために敢えて旧仕様の16F88使用のものを作製して頂いた。

samos01.jpg

とりあえず組み上がったのがこれ。温度計回路のために+9Vの電源が必要だが、これは小型のスイッチング式ACアダプタを分解してケースに同居させた。ケースから出ているのはAC100V電源とヒーター電源出力、温度センサーの3つ。さらに夏場にはDCファンを繋いで対応する。

samos02.jpg

温度センサーはS8100Bを使ったが、これは以前に秋月電子のpHメーターを作ったときに付いてきたもの。このセンサー、現在は流通していないらしく、メンテナンス性に問題はありそうだが、資源の有効活用ということで...。2芯のシールド線を半田付けした上にエポキシ接着剤で固めて防水処理とした。その上から熱収縮チューブでさらにカバーしている。

samos03.jpg

回路図通りに組み立てて、下限アラーム出力に赤LEDと秋月のソリッドステートリレー回路を繋げた。上限アラーム側には緑LEDと適当なスイッチングトランジスタを介してファン電源回路を作製し、後でDCファンが繋げられるようにしている。ファンは+9Vで回す仕様だが、適当なPC用の12Vファンでも充分実用出来る。+5V用のレギュレータ78M05はジャンク基板から部品取りして半田面に載せた。

samos04.jpg

バケツの水で動作確認しているところ。温度計と比較しながら検証したが、大きな誤差もなく、実用できそうであった。なお、ヒーターは150Wのものを使用しているが、連続で稼働させているとトライアックに若干の発熱があるようだ。実際の運用ではヒーターが点けっぱなしになることは無いので問題なさそうではあったが念のために2mm厚のアルミ板でヒートシンクを付けておいた。

samos05.jpg

例によって、デカール製作、塗装を行うわけだが、我が家で使用しているデカール専用マシンのALPS MD-5000がこれ。既に時代遅れの熱転写プリンタであり、解像度、色再現性はインクジェットに遠く及ばないが、白色や金、銀色のデカールは熱転写プリンタでないと作れないのでデカール作りには重宝している。

samos06.jpg

照明タイマーの時と同様に、デカールを裏張りした上でクリアブラックを裏側からエアブラシで厚塗りし、最終的にこうなった。温度リアルタイム表示や、ヒーター&クーラー両対応という高性能で制作費は2,500円程度と市販のサーモスタットと同程度に納まった。なお、温度設定などのパラメータはPICのフラッシュメモリに記憶され、電源を落としても保持されるので、一時的な停電があっても問題はない。

先日のフェバリットのミニダイナソーペイントコンテストの賞品「1/20 ティラノサウルス スケルトンモデル」が届いた。本当はもっと前に届いていたんだが、いろいろあってちょっとおサボり。

rex01.jpg

全長65センチなだけあって箱のサイズは結構なもの。上に乗っているのが前回の賞品のトリケラトプスの箱。ご丁寧に段ボールの上からエアキャップに包まれて配送されてきた。中には一回り小さい発砲スチロールの箱がさらにクッションによって段ボールに納められていた。

rex02.jpg

発泡スチロールの箱を開けたところ。スポンジのクッションに守られてビニール袋に入っ ており、かなり厳重に梱包されている。

rex03.jpg

取り出して横から見た。当然ながら尻尾を持ち上げている今時のスタイルで、片足を上げて歩行しているようなイメージになっている。ちなみにほとんどの博物館で展示されている骨格模型は既にこのようなスタイルに改められているが、未だに尻尾を引きずった格好で展示しているところもある。滝川市美術自然史館ではもう割り切っていて「昔はこんなふうに尻尾を引きずって歩いていたと思われていたんだよー」というノリで展示している。

rex04.jpg

顔の造型。眼窩や副鼻腔(?)内側のゴツゴツした構造もキチンと作り込まれているようだ。

rex05.jpg

ティラノサウルスの歯は折れたり抜けたりして生え替わるようになっているそうで、模型の歯も実際の化石と同様に不揃いになっている。

rex06.jpg

頚肋骨はまとめて頸椎と一体成型となっており、実際の化石標本より骨太な印象。ここが繊細に作り込まれていればスケール感もアップすると思われるが、そうすると破損のリスクが格段に高まるので完成品モデルとしては致し方ないところか。

rex07.jpg

人間で言えば肩甲骨から鎖骨、胸骨にあたる部分。模型では上肢の骨格は完全に体幹から離れて浮いている構造になっている。人体では鎖骨と胸骨、肋軟骨を介して体幹と繋がっているが、恐竜に肋軟骨は無かったのだろうか?

rex08.jpg

尻尾は思いの外長く、ピンと伸びていてスマートな印象。ティラノサウルスってこんなに尻尾が長いのかと再発見した次第。

rex09.jpg

結局コレクションキャビネットには収まらないため、階段踊り場の本棚の上にトリケラトプスと並べて置いてみることにした。子供の手が届かないところなので壊される心配はないが、剥き出しなのでホコリが被る問題はある。ガラスケースを作って入れても良いが、光の反射で見づらくなるし、博物館の展示も基本剥き出しなのでこれでいことにした。夜間に見ると、シルエットが浮き上がって雰囲気満点であり、ちょっとした博物館気分を味わえる。

こんなにスゴい骨格模型を頂いてしまい、フェバリットさんありがとうございました。せっかくなので肉付き模型のデスクトップモデルと並べてみたくなったのですが、塗装は自分でやりたいので未塗装ホワイトモデルを再販してくれないかな...等と要望を出してみたりします。

timer05.jpg

先日製作した金魚の水槽用照明だが、実際使ってみると点けたり消したりするのは意外と面倒であり、消し忘れて深夜まで点灯していることもあった。毎日バラバラの時間に点灯していると生体のリズムも狂うし、消し忘れはコケの発生にも繋がるらしいので当初より構想していた24時間タイマーによる自動化改造をすることにした。

24時間タイマーの回路はPIC関連のサイトを検索してこちらを利用させて頂いた。7セグLED4桁による24時間表示の時計に5つのon/offタイマーが付いているものだ。このタイマー回路の出力は1chでon/offのみ。ここにリレーを接続して直接電源のon/off制御しても良いのだが、先日製作したLED調光回路は設定1から3のボタンを電源ボタン代わりに使うことができるのでこれを利用することにした。こうすると電源offの時間帯に好みの点灯パターンを設定することも可能になる。

このタイマーの出力信号は、onでHレベル、offでLレベルになる仕様。これをLED調光回路に繋げるためには、on/offが切り替わる瞬間を検出して一瞬のパルスを発生させればよい。このための専用ICとしてTC4538(74HC4538でも同じ)を利用した。

TC4538は入出力が2系統ある。片方にタイマー出力がLからHレベルになった瞬間に10msのパルスを発生させるようにして、負論理出力をLED回路の設定1ボタンに接続、もう片方はLレベルになった瞬間にパルス発生させるようにして同様にLED回路の設定2ボタンに接続した。これでon時間帯は設定1のパターンで点灯、off時間帯は設定2のパターンで点灯(消灯)となる。

とりあえず出来上がったのがこれ。タイマーもLED調光回路も1枚の基板(ICB293G)にまとめている。操作性と見た目の美しさも考えてなるべくシンメトリックに部品を配列した。上半分がタイマー回路で下半分がLED調光回路になっている。ケースは共立エレショップで扱っている汎用の透明プラケース。

ちなみに、前回製作時はLEDのスイッチングにトランジスタアレイを使ったが、結構発熱するようなのでFET(2SK2232)に付け替えた。2mm厚のアルミ板を切り出してヒートシンクとし、FET3つをネジ止めしている。電流もMAX150mA流せるように電流制限抵抗の値も見直した。

timer02.jpg

タイマー回路のアップ。タクトスイッチは例によってリベットを介して押せるようにしている。
なお、製作当初4MHzのクリスタルが手に入らなかったのでセラロックを使ってみたのだが、毎日時計が5分以上進んでしまってダメダメであった。1週間に30分も進んでしまっていてはとても実用にならない。適当にジャンク基板を漁ってみたところ、運よく故ディレクTVチューナー基板に載っていたのを発見したのでチップコンデンサとともに発掘して差し替えている。これでほとんど狂うことがなくなった。

timer03.jpg

半田面はこんな感じ。1枚の基板に全部収めるために密度はそれなりに濃くなってしまい、電源ライン以外はほとんどジュンフロン線による空中配線。7セグLEDは秋月電子の特売品を使ったが、ダイナミック点灯用を使えば少しは配線がラクになる。

一応モデラーの端くれなので操作ボタンが分かるように水転写デカールを作成して塗装も行った。デカールはモデラー御用達のALPSのマイクロドライプリンタMD-5000を使って特色ホワイトでプリントしている。最近はインクジェットプリンタでデカールを作るキットもあるようだが、白文字のデカールはこのマイクロドライプリンタでしか作れない(はず)。文字は左右反転して印字して裏張りしている。塗装はガイアカラーのクリアブラックを裏からエアブラシで塗った。クリアブラックは結構厚塗りしたつもりだが、元が薄い塗料なのでこの程度の透明度はある。塗装したことで落ち着いた雰囲気になり、ありがちな自作品ぽさが少し薄まった感じがする。

現在実用しているが、誤動作することはなく毎日確実に決まった時間に点灯してくれている。製作はちょっと面倒ではあったが、見た目も性能も満足の行くレベルに仕上がった。いずれは自動給餌システムにも応用したいと考えている。なお、LEDは性能限界の各色150mAで常用するとそれなりに発熱するが、アルミ板のヒートシンクのおかげで触れる程度で済んでいる。しかし、FETがかなり発熱するようで、ヒートシンクが触れないくらい熱くなる。FETの耐熱限界が150℃なので余裕はあるだろうが、精神衛生上好ましくないので通常は70~80%程度で運用することにした。

timer06.jpg

肝心の水層の中身といえば、先日縁日の金魚すくいの和金が1匹増えて、現在4匹体制となっている。水草の育成も研究中で、液肥として微粉ハイポネックス100倍希釈液+メネデール投与を試行している。

余談だが、24時間のタイマーコンセントは電気屋に行けばデジタル表示付きのものが2000円代で売っているし、機械式のものなら1000円くらいで買えるので、普通の人は普通にタイマーコンセントを買うべきだと思う。

前回話題にしたFavorite主催の恐竜ペイントコンテストの賞品が届いた。

torikera01.jpg

届いた箱がものすごくデカい。このダンボールが専用箱になっており、実際届いたときにはこれが厚手のビニールのエアキャップで包まれていてもっとデカかった。だんだん置き場が心配になってきたぞう...。

torikera02.jpg

梱包を解くと、発泡スチロールの立方体の中に厳重に収まっていた。首がもげないようにスポンジでマフラーがしてある。応募作品のティラノ君と比べるとやはりデカい。

torikera03.jpg

無印良品の化石発掘キットと並べてみた。博物館の展示品の一つとして置かれていても違和感のないクオリティだ。こんなすごいの貰っちゃっていいのかしら。

torikera04.jpg

頭のアップ。ヒビの入り方も化石のソレっぽいし、歯のディテールもイイ感じ。

torikera05.jpg

見えづらいところもちゃんと作りこまれているし、彩色も博物館で見るような化石っぽいと思う。

torikera06.jpg

幸い我が家のコレクションキャビネットにギリギリ収まる幅だったので、化石コーナーを新設して無印良品のキットや化石のカプセルトイを一緒に収蔵することにした。めでたしめでたし。

にがHP(母屋)

このアーカイブについて

このページには、過去に書かれたブログ記事のうち科学カテゴリに属しているものが含まれています。

前のカテゴリは模型です。

次のカテゴリは音楽です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.04