エントリー

カテゴリー「make:」の検索結果は以下のとおりです。

TDS3054BのRTCの電池を交換するためにAVRで治具を作る

 TDS3054Bというテクトロの古いオシロスコープは,私の持つオシロスコープでは最高のものです。4ch,500MHz,5GS/sと,今でも立派に通用するスペックですし,なんと言っても当時のベストセラー機であり,その測定結果はどこに出しても信用されるといって過言ではありません。

 ひょんなことから我が家にやってきたTDS3054Bですが,2年ほど前に内蔵の電池が切れてしまい,電源を切っている間は時計が進まなくなってしまいました。

 不便なのは測定前に時計を合わせることくらいなので別に困っていないのですが,やはりちょっと気持ちが悪いもので,このオシロスコープを使う作業が一区切り付いたら対策をしようと思っていました。

 TDS3054BなどのTDS3000シリーズは,リアルタイムクロック(RTC)として,DALLASのDS1742Wを使っています。このIC,コイン電池とRTCとSRAMをエポキシでパッケージしたもので,外からは16kbitのSRAMそのものに見えるのですが,電源を切っても中身が消えないという便利さから当時はずいぶん流行りました。

 しかし一次電池ですのでいつか電池切れになります。そうするとRTCもSRAMもバックアップ出来なくなるので,ある時急に「あれっ」となるわけです。

 今はフラッシュメモリやらEEPROMやらがあるのでこんなものを使うことはないのですが,ある時期の電子機器にはこういう特徴的なデバイスが多く使われ,その時は(ほぼ)永遠だと勘違いされた5年や10年がリアルに経過した時,様々な問題を引き起こしているんです。迷惑な話です,

 TDS3000シリーズは幸いなことに,SRAMでバックアップされる内容に重要なものはなく,完全に放電してデータが失われても使用を続けることが出来ますが,先程書いたように時刻を毎回合わせる必要があったり,セットアップが保存できなくなったりするので,やっぱり正常な状態に戻したいところです。

 戻すには2つの方法があり,1つは新しいDS1742Wに交換すること。しかしこのICは随分前に製造終了していて,入手はほぼ不可能です。よく中国の業者が売りに出していますが,あれはほぼ偽物です。

 ならばともう1つの方法ですが,これはパッケージを分解し,電池を交換することです。そんなに難しい作業ではありませんが,破損のリスクはあります。

 とはいえ,現実には後者しか選択肢がないわけで,私も電池交換で検討を始めました。

 まず,通電しながらだと電池の交換を行ってもデータは消えません。しかし,不慮の事故で消えてしまうと二度ととり戻せないので,なんとかバックアップを取っておきたいところです。

 先人達の知恵を借りれば,なにやらDS1742Wの読み書きも可能な安価なROMライタがあるそうです。ただこれ,かつては4000円ほどで買えたものが,今は8000円以上するようです。それでも十分安いとは思いますが,4000円が8000円ですからね,バカらしいです。

 そこで自作することにしました。DS1742Wのデータシートを見ていると,本当に普通の非同期SRAMです。ならば,使い慣れているAVRをつかってさっとでっち上げてしまいましょう。

 ピン数の関係で,ATmega88Vを使うことにします。まず8ビットのデータバスと11ビットのアドレスバス,これにコントロール信号を確保します。

 それから,16kbitのデータを保存するメモリがいりますが,これは電源を切っても残っている不揮発メモリであって欲しいのですが,あいにく内蔵のEEPROMでは全然たりません。なので外部にI2CのEEPROMを用意します。I2CはATmega88VではTWIで簡単に実現出来るので,ついでにI2CのLCDも取り付けて便利にしましょう。

 しかしこの段階で端子が1つ足りません。ならAVRのリセット端子をGPIOに切り替えればいいよと手を打ったのですが,これをヒューズビットで設定してしまうと,もう普通のプログラマでは書き込めないことを忘れていました。

 そこで,SRAMのCSとOEを常時Lowに落として読み書きすることにしました。SRAMからEEPROMへ転送,EEPROMからSRAMに書き戻し,そしてベリファイと機能を実装し,普通のSRAMでテストして完成!

 早速TDS3054Bを分解しDS1742Wを取り出し,自作のリーダーにセットします。そしてEEPROMにデータを保存します。EEPROMを専用のリーダーでPCに読み出してダンプすると,なんかおかしなデータっぽいのですが,正解がわかりませんのでこれまでのテスト結果を信じ,先に進めます。

 TDS3054Bにはソケットをハンダ付け,取り外したDS1742Wは慎重に削って電池を露出させます。すでに電圧は0.6Vになっていて,もう動かないも同然です。

 新しい電池はCR2032を外部に電池ケース使って用意します。古い電池と並列に繋いで直ちに古い電池をカットして作業は終了です。作業は上手くいったのでデータは消えていないと思っていたのですが,TDS3054Bに組み込むと,やっぱり時刻も狂っていますし,連続稼働時間も無茶苦茶になっていました。セットアップも初期化されています。

 ならばとすでに保存してあるデータをEEPROMから書き戻します。しかし,やっぱりデータは化けたままです。ああ,正常にデータを保存できていなかったのです。

 もう消えてしまったのですから,今さらどうすることも出来ません。あきらめてSRAMの内容を初期化しました。連続稼働時間も0時間にリセットです。

 しかし,何が悪かったのか気になるじゃないですか。そこでもう一度自作のリーダーのコードを見直し,さらに波形も確認すると,SRAMからのリードにバグがありました。実は,念のためにいれた一行を,結果が同じだからとコメントアウトしたんです。しかし,波形を見ると必要なコードであることがわかりました。

 AVRは,ポートに出力する時にデータを設定するレジスタが,入力時には内蔵プルアップを指定するレジスタとして機能します。SRAMをリードしてその結果を読み込んだあと,単に出力に切り替えただけだとプルアップの端子がデータによって毎回変わるようで,入力ポートにする時には同時にプルアップの設定もやり直す必要があるのでした。

 ここを修正して改めてDS1742Wをリードすると,今度はそれっぽいデータが読み込めています。これを書き戻してTDS3054Bにセットすると,元の状態で起動することも確認出来ました。しかし時既に遅し。DS1742Wは初期化されています。

 ならばと,連続稼働時間を復活させようと,メモっておいた時間を所定のアドレスに書き込んでやりました。すると連続稼働時間だけは元に戻せました。やれやれ・・・

 しかし,電源投入回数だけは戻せないのです。これは,電源投入回数はSRAMではない別のメモリに書き込まれているからだそうで,ここを初期化してゼロにすると,もう復活させる方法はないということでした。

 完全に元の状態に戻すことは出来ませんでしたが,バッテリは復活してデータの保存は出来るようになりましたし,時刻も毎回合わせずに済むようになりました。連続稼働時間は戻せましたが電源投入回数は失われてしまいました。その他に支障はなく,残念ながら今の私に出来る事はこれ以上ありません。

 加えて,私がAVRで作ったリーダーは正常に動作し,SRAMの読み書き,EEPROMの読み書きも問題なく出来ることが確認出来ました。つくづく惜しいのは,本番に行く前にちゃんと波形を見ておけばバグに気が付いただろうなあということです。波形確認は大事ですよ,本当に。

 そして,リセットをGPIOにしてしまった書き込み出来ないATmega88Vですが,これはリセッタを自作して復活させました。久々にAVRで遊んだわけですが,もう少し慎重にやらないといけません。

 ということで,久しぶりに仕組みを考え,ハードを設計して組み立て,ソフトを書いてバグを取って,という一連のパズルを楽しみました。目的がないとやる気が起きない不精者のホビーストですが,やっぱりモノづくりは楽しいものです。

 

今度こそ,これが最後のテスターだ

 amazonがブラックフライデーのセールをやっていたのですが,コロナをいいことに引き籠もっていた私も,買い物による散財を堪能させて頂きました。

 その1つ,念願の日置のテスターを買った話です。

 買ったのは,日置の最高級モデルであるDT4282です。直販サイトで6万円という,ハンドヘルド型としては最高級機種になると言って良いでしょう。

 スペックは60000カウントの5桁表示(つまり4.5桁というやつですね),その上更新周期が0.2秒と高速で,直流電圧の精度が±0.025%と,ベンチ型に匹敵する性能です。

 交流は真の実効値で測定可能,周波数帯域は20Hzから100kHzまでOKなので,音声信号も扱えます。そして630Hzのローパスフィルタも設定出来るので,高調波が問題になるような用途にも対応出来ます。すごい。

 電流は10Aまで測定出来るということで,今どきの安全性を重視した(規制されたとも言う)テスタとしては破格の性能で,これ一台でなんでも測定出来ます。

 登場は2012年11月,登場時の値段は56700円だったと言いますから結構値上げされていますが,登場から10年を経ても最高水準というのはさすがです。

 2013年に発行された日置技報によると,内部は16bitのマイコンと24bitのADコンバータを組み合わせたものということで,汎用のワンチップLSIを使ったものでもありませんし,下位機種で採用された専用カスタムICでもありません。性能を追求した設計になっているようです。

 amazonのセールでは,これが38400円になっていました。ここからさらにポイントが戻ってくるので,実質35000円くらいになるでしょう。このスペックのテスターがここまで安い,しかもテスターを真面目に作り続けている日置のテスターですから,これは買うしかありません。

 おそらく人生最後のテスターを,日置のモデルに出来た事を,うれしく思います。

 さて,そのDT4282ですが,一言で言うと一昔前のベンチ型マルチメータの性能をハンドヘルドにした物,と言っていいでしょう。精度もそうですが,レスポンスや機能についても,ベンチ型に負けてはいません。

 とはいえ,そこは部品のサイズや安定度に制限が緩いベンチ型で,私のDl2050という古い中級機でも120000カウントと倍のカウント数ですし,精度もDT4282が0.025%±2カウントなのに対して,DL2050は0.012%+5カウントとこれもなかなかの精度を誇ります。

 拮抗しているのは更新周期くらいで,DT4282が60000カウントで5回/秒,DL2050が40000カウントで4.8回/秒です。(ちなみにDL2050は120000カウントでは2.2回/秒です)

 テスターって,初心者向けの本はよく見るのですが,それだとどのテスターを買っても同じに見えてしまいます。しかし,DT4282のような高級機から1000円ほどの安いものまで千差万別なのも,またテスターの世界です。

 何が違うのかは,メーカーのホームページを見てもよく分からなかったりします。もちろん精度など細かい数字を比べて一喜一憂するのもよいのですが,先に紹介した日置技法に掲載されたDT4282の記事を見てみますと,設計者のこだわりが熱く語られています。いいですね,こういうの。

 丸写しするわけにはいかないので,かいつまんで紹介します。肝心なことは,カタログデータを実現するためにどんな工夫をしたのか,という点を含む,カタログスペックに出てこないような技術が,どんな風に盛り込まれたのかという点です。

・使用温度範囲
 DT4282では-15℃~55℃と広く,フィールドワークにもへこたれません。ベンチ型では0℃~50℃程度なので,特に低温での動作がありがたいでしょう。もちろん,精度がこの温度範囲で保証されるようなことはなく,そのあたりはベンチ型の方が有利だったりします。


・警告表示
 DT4282はバックライトが白色で見やすいのですが,電圧や電流の過大入力があった場合には,バックライトが赤になります。導通テストやダイオードテストでも赤になるのですが,命がかかっている強電の世界では,危険なことを自分と周囲に知らせる機能というのはとても大事で,このあたりさすがにプロの道具だなと思います。まいったかフルーク!


・フィルタ機能
 高級なテスタには搭載されることが増えたフィルタは,DT4282にも搭載されています。カットオフは630Hzです。これ,近年のインバータを使った設備の点検には必要となるもので,ノイズをカットし正確な測定を行う為には必須だと思います。

・表示更新速度の切り替え
 DT4282は表示を0.2秒で更新する高速性が売りですが,値が揺らいでいるときなどゆっくり変化した方がいい場合もあります。DT4282でも低速モードに出来るのですが,問題はどうやって低速にしているかです。
 取説によると,5回の平均を行って更新を行うそうです。こういうことがちゃんと書かれているテスターは珍しいかもしれないですよ。

・導通チェック
 導通チェックって,抵抗レンジの流用だと思っている方が多いと思いますし,私もそう信じていたのですが,DT4282ではわざわざサンプリング周期を早めて,レスポンスを高速化する工夫を行っているそうです。芸が細かい。

・抵抗測定
 抵抗はオームの法則で簡単に測定出来るので,古来からテスターで測定出来るものとして備わっているものです。しかし精度の高い抵抗測定は案外面倒なもので,DT4282は4端子法こそ使えませんが,高安定な定電流回路で作った定電流で抵抗を測定します。こういう安いテスタは抵抗だけの定電流回路だったりしますので,ここは信頼出来ます。


・静電容量測定
 アナログテスタ時代には,大容量の電解コンデンサに限って,直流を印加してその最大の振れ幅で容量を測定するという恐ろしいものが備わっていたりしましたが,DT4282では高精度な基準抵抗と被測定コンデンサで構成されたCR発振回路の周波数を測定することで,結果を得ます。


・電源
 単三4本で動く,と言う話はごく普通なのですが,ちょっとすごいと思ったのは,電池が消耗していても測定値が表示されている限り,その測定値の確度を保証する仕様になっていることです。他の製品だと,電池電圧が低下したという警告が出ているときは,動作はするけど確度は保証しないというものがおおいのですが,DT4282は違います。


・ADコンバータのサンプリング周期
 ADコンバータのサンプリング周期を公開しているというだけでも感心しますが,その周期は100msということです。これは,商用電源の周波数である50Hzや60Hzのノイズを上手く除去できる周波数になっています。
 まあ,ベンチ型のマルチメータでは良く行われている工夫ですが,これがハンドヘルド型でも利用されているというのは興味深いと思います。


・端子シャッタ
 そう,これです,これ。日置のテスターの売りは,このロータリースイッチに連動した端子シャッタがあることです。

 例えば,電圧端子にテスタリードが刺さっていれば,シャッタが引っかかってロータリースイッチが電流レンジに切り替わらないようになっています。また,電流レンジに切り替えてしまえば,電圧端子はシャッタが閉まって,テスタリードを差し込むことが出来なくなります。

 電流と電圧の測定を1つの機器で行うものは,誤操作によって火災や感電と言った事故が起きます。私も何度か怖い思いをしましたが,気を付けていたもうっかりしてしまうもので,こうやって安全装置が無理なく働くようになっていると,とてもありがたいです。

・応答時間
 なかなかスペックを見ても実感がわかないのですが,確かにレスポンスは良いです。実際に入力を印加してから,真値±5カウントになるまでの時間が日置技報に書かれていますが,直流電圧では0.8秒程度,交流電圧では2秒ちょっと,抵抗では1秒程度となっています。これ,他社の似たような製品ではそれぞれ1.2秒,8秒,2.4秒となっていて,結構待たされます。

 数をこなすプロの現場で,値が落ち着くまで8秒かかるか2秒でいいかは大きな違いで,こういうところにプロの道具としてこだわった日置の良心が見え隠れします。


 とまあ,まるで日置の中の人のように書いていますが,自分が選んだテスターを褒めちぎりたいのは人情というもの。ではその実力を実際にみてみたいと思います。

 
 評価には,いつものように基準で圧発生器を使います。

 製造元による実測値は,

2.50165V
5.00302V
7.50454V
10.00533V

 です。

 これがそのまま維持されている可能性は低いので,うちの基準器であるHP34401Aで測定した結果が以下です。

2.5017V
5.0035V
7.5054V
10.0065V

 うーん。基準器がズレたのか,34401Aがズレたのか,実際には両方がズレた結果なんだと思いますが,実はこの測定値,2019年4月の値と同じです。2年以上経過しても測定値が変わらないって,すごくないですか?

 ただ,製造元による実測値からズレているのは確かなので,このくらいのズレがあることを前提にして,DT4282の実測値です。

2.5015V -0.2mV -0.00799%
5.0031V -0.4mV -0.00799%
7.505V -0.4mV -0.00533%
10.006V -0.5mV -0.00500%

 34401Aに比べて,少しだけ低めに出ているのがわかりますが,どの値もさすがです。桁数が多いことが精度を高めるのにまさに貢献している感じです。しかし,そこは60000カウントの制限で,7.5Vでは桁数が少ないことが目立ってしまいます。

 基準器は狂っておらず,34401Aが狂ったものと考えて,基準器の出荷時の実測値と比べて見ましょう。

2.5015V 0.15mV 0.00600%
5.0031V 0.08mV 0.00160%
7.505V 0.5mV 0.00666%
10.006V 0.67mV 0.00670%

 うーん,この結果を見ると,34401Aの方が狂っていると言った方が良さそうな気がします。いずれにせよ,34401もDT4282も,うちではダントツの精度を持っていると言うことがわかりました。

 うちは,一応34401Aに合わせることにしています。34401Aが一番カウント数が多く,かつ精度も高いと思われるからなのですが,DT4282はわずかな差があるとは言え,ほんの僅かですので,この2つは同一の測定結果を出すものとして,扱う事にしましょう。

 ちなみに,なんやかんやで出番の多いFLUKEの101を測定し直してみました。そういえばこれ,自分で校正したんですよね。

2.500V -1.7mV -0.0680%
5.002V -1.5mV -0.0300%
7.49V -15.4mV -0.2052%
9.99V -16.5mV -0.1649%

 2018年11月に校正したときの数値と比較すると,実はそんなに変化していません。いやはや大したものです。ちょっと不安だったのですが,これで一安心ですね。

 これを見ていると,やっぱり6000カウントでは7.5Vの測定が厳しい事がわかります。

 そして,amazonで1700円で買った中国製の101っぽいテスター,ZT109です。これも自分で校正しました。

2.501V -0.7mV -0.0280%
5.002V -1.5mV -0.0280%
7.504V -1.4mV -0.0187%
10.00V -6.5mV -0.0650%

 おお,いいですね。101よりも好成績です。これも2019年の11月に校正した結果と比べて見ると,ほとんど変わっていません。

 このテスタが優れているのは,4桁ですが10000カウントなんです。だから7.5Vでもちゃんと小数点以下3桁が出ています。そしてその値は結構信用出来るんですね。すでにこの段階で101に勝っています。参ったかフルーク!


 ということで,実際に何度か使ってみましたが,実に快適です。大きすぎる,重すぎるということで使いにくいかと思いましたが,立てて使うと言うことを今回初めて試して見たところ思いのほか快適,適度な重さは安定感を生み,リードが引っ張られて動いたりすることもありませんし,ロータリースイッチを回すときに片手を本体に添える必要もなく,使い勝手は素晴らしいの一言です。

 液晶も見やすく,特にバックライト点灯時の文字のコントラストが高いので,明るいところでも常用したいくらいです。測定対象にリードを当ててから視線を動かしているうちに値が安定するレスポンスの良さ,値の更新周期が早いことで電圧が安定しているのかそうでないのかもわかる情報量の多さも助かります

 地味に使い心地を向上させているのが,テスタリードの使いやすさです。フルークはごっつくて取り回しが大変,サンワは華奢すぎて使いにくく,日置のものはケーブルのしなりもリードの長さもプローブの太さも,そしてグリップが手に馴染む感覚も,これまで使ったテスタリードで最高の使い心地です。

 私がこれまで標準的に使い続けていたKEYSIGHTのものよりもずっといいと思います。(ただKEYSIGHTのものは先端にクリップを取り付けられるオプションも付属している割には安いので,便利なんですよ)

 テスタはあくまで道具です。しかし,DT4282は使うことが目的になってしまうような快適なテスタでした。いいものを買ったと思います。

 私は割とテスタをコロコロ買い換えていますが,本来は長く使えるものですし,手に馴染む一台を持つことがベテランの証でもあります。とすれば,最初に良いものを奮発し,手足のように自然に使いこなすようになることが理想なのかも知れません。

 

レトロマシンのメンテ~その2

 実家から持ち帰ってきたものをチェックするシリーズ,今回はソードのM5jrです。

 このM5jr,大好きなマシンなのでもとより手放す気などないのですが,実は借り物ですので勝手に捨てる訳にもいきません。その割には粗末に扱っていたことがわかって,もっと大事にすべきだったと後悔しています。

 最初に残念なのは,改造されていることでした。それもくだらない改造です。もともとM5シリーズの映像出力はなんとRF出力のみという割り切った仕様になっていて,コンポジットビデオ出力さえもありません。

 20年前までなら,いかなるテレビでも接続可能だったM5ですが,今となっては接続可能なテレビが皆無です。一部で需要のあるRGB接続などとは違い,もうまったく需要のない接続方法ですので,お金を出せば解決するという甘いものでもありません。

 30年前,当時の私が考えたこともこれに近く,M5jrにコンポジットビデオ出力端子を増設したのでした。今見てみるとなかなか真面目に作ってあり,トランジスタ1つを使ってビデオアンプを用意してありました。

 ところがこれにも穴があり,音声をどうするかという問題が残ります。当時の私はオーディ出力端子を設けることをせず,PC-6001と同じく本体にスピーカーを搭載するという荒技に出ました。

 これが結構手抜きで,LM386のアンプをちゃっちゃと組み立てて内蔵し,カートリッジスロットの右側に6mm程の穴を9つ開けてスピーカーを裏側から貼り付けるという,まさに電子工作レベルの改造です。あげく,音量調整用のリュームは,トランジスタラジオによく見られたスイッチ付きのボリュームのジャンク品を流用,スイッチ部を壊して無効化し,筐体の手前に細い角穴を開けて,ここに瞬間接着剤で固定するというやっつけ仕事で逃げています。

 ボリュームは接着が外れてグラグラ,スピーカーの穴は右に左に曲がっているという体たらくで,これは見るのも辛いです,まずはこれから解決です。

 とはいうものの,開いた穴を塞ぐのは上手くいかないので,スピーカーについては45mmほどの大穴をあけ,表側からスピーカーを接着してしまいます。スピーカーには黒いネットを貼り付ければ,とりあえず素人臭さはなくなります。

 ボリュームは他にいい方法がなかったので接着方法を見直して再固定。これでなんとか形になりました。

 さて,次はソフトですね。手持ちのカートリッジはBASIC-Gのみしかありませんので出来る事は限られます。テープ版のソフトは5本ほどあるんですが・・・

 最初にBASIC-Gのマニュアルを見ようとしたのですが,どこにもありません。それもそのはず,実家で見た記憶もないのです。これはまさかの紛失です。

 すでにスキャンし廃棄している可能性も考えましたが,肝心のPDFが見当たりませんので,結局BASIC-Gのマニュアルを見つけることは出来ませんでした。トホホ・・・

 ここでもう心折れて片付けても良かったのですが,ふと思いついたのはBASIC-GのRAM不足の問題です。M5は本体にRAMをほとんど持たず,ユーザーエリアはカートリッジに持つ事になっています。BASIC-Gも他例に漏れず,わずか4kBのRAMがカートリッジに内蔵されています。

 いかに良く出来たBASIC,いかに整数型BASICとはいえ,4kBではあまりに少なく,80年代前半の低価格マシンがRAMを削ることで成り立っていたことをここでも痛感するわけですが,一応純正でRAMを32kBまで増設出来るので,改造によってメモリを不足すことは可能です。

 メモリマップを確認すると,さすがにシンプルで定評のあるM5で,RAMは8000HからFFFFHまでの32kBが割り当てられています。A15を反転するだけで256kBiteのSRAMのCSを作る事が出来そうです。

 カートリッジ内部を見てみると,16kbitのSRAMが2個入っています。ピン数が違うとは言え,このパターンを上手く活用すれば256kbitのSRAMに置き換えることが簡単にできそうです。

 そうなると今度はROMです。BASIC-Gは2764が2個搭載されていて,2000Hから3FFFHまでと,4000Hから5FFFHまでにそれぞれ割り当てられています。それぞれのCSは本体側のカスタムICが作っているのでカートリッジ側はただ繋がっているだけです。

 なら,このCSをORして27128や27256のCSに突っ込んでやればBASIC-Gを1つのEP-ROMに格納できそうですよね。しかも,空いたスペースにゲームなりBASIC-Iなりを詰め込んでおけば,便利カートリッジも実現しそうです。

 いやいや,BASIC-Fもこの際だから搭載しよう,M5が実数型BASICで動くなんて面白いじゃないかと欲張ってみたのですが,結論から言うと失敗しました。

 まず,BASIC-Fは20kBの容量があり,上記のROMエリアに続いて6000Hから6FFFHまでROMをマッピングしないといけないのです。このエリアのCSもカスタムICで作られていて,カートリッジスロットまでは来ているのですが,悪いことにカートリッジ基盤にはパターンがなく,信号を利用出来ません。

 ならば真面目のデコーダを組むかと考えてみたのですが,どうしても規模が大きくなりすぎ,これも面倒くさくなってやめました。だって,2000Hから6FFFHまでイメージなしのフルデコードですよ,面倒くさいですやん。

 そこでBASIC-Gをとりあえず1つのROMに格納する実験を繰り返したのですが,どうも配線ミスが解決しないみたいで,なかなかきちんと起動しません。実はROMをソケットにした時点でカートリッジのフタが閉まらなくなってしまうので,無理にこの改造を行うモチベーションもなくなってしまっていたのですが,このままでは基板も壊すかもと勇気ある撤退を決断,もとの2764を2つ,直にハンダ付けする元の状態に戻しました。

 ROMに手を入れる前にRAMを32kBに改造して動作確認まで終わっていたのですが,ROMの改造に手こずってしまったことで,RAMの動作も怪しくなってしまっては本末転倒です。とりあえず1つ戻って2764で動かして見ると問題ないので一安心です。

 これでフタがきちんと閉まる32kBのRAMを持つBASIC-Gになったのでこれでよしとしたのですが,ちょっとゲームで遊んで見たくなったので,SRAMの空きパターンにソケットをくっつけ,ここにもう1つ8kBのROMを搭載出来るようにしておきました。

 ゲームで遊ぶときにはいちいち殻割りし,ROMを焼いてここに差し込み,スイッチを切り替えて裸の基板で遊ぶことになりますが,ハンダ付けもいらないレベルですので,ここまでやっておけばいろいろ試せるでしょう。

 一応数本のゲームと,BASIC-Iまでは正常に起動し切り替える事がでできることを確認できて,ここでM5jrは終了です。

 今回いろいろ触って見て,M5っていいマシンだなあと思いました。シンプルで「あたりまえ」のハードウェア,モード2割り込みの実装とBASICからの利用で同時並行で処理を記述出来る利便性,整数型BASICによる軽快な動き,小さくかわいらしい筐体に意外に使いやすいキーボードと,復刻して欲しいくらいです。

 MSXがこのコンセプトでどこかのメーカーから作られていれば,それはそれでヒットしたんじゃないかと思うのですが,家電メーカーや重電メーカーのマシンはごっつく,力関係上それが販売の主流だった当時は,MSXに軽快さを求めるのは難しかったように思います。

 そういえば,カシオあたりがかわいらしいMSXを作っていましたが,やはり搭載RAMの小ささで躓いてしまいました。これはデザインや小ささで買ってもらえる製品を目指したというより,安いことを真っ先にした結果でしょう。

 さて,あとは出来上がったM5jrでカセット版のゲームを遊んでおしまいです。残念ながらマニュアルが見当たらないのでBASIC-Gを詳しく使ってみることはしません。


デジットの味をご家庭で

 大阪日本橋の電子パーツのお店,デジットが6月で閉店することになりました。

 閉店と言っても入居していたビルが老朽化のため取り壊しになり,移転することになったということなので心配することはないのですが,1980年代から変わらずあの場所で営業していた老舗ですし,私もよく通い,日本橋の巡回ルートに入っていたことはもちろん,あげくアルバイトまですることになったほどですから,感慨もひとしおです。

 昔話は程ほどにしておきますが,当時は新品の部品などほとんどなく,訳ありのジャンク品が所狭しと並んでいて,まあ次に買うわと店を出たら最後,同じ物には二度と出会えないという,非常にスリリングで面白いお店でした。

 折も折,ちょうど消費税が導入された時期ですが,同じ商品がシリコンハウスで買うと消費税がかかるのに,デジットで買えばかからないということで,消費税分だけ安く買うことの出来るというノウハウは,当時のマニアの間ではよく知られたことでした。

 リースの終わった汎用機やオフコンからCRTやFDDを外してきて,これを安価に販売する貴重なお店でもありましたが,とにかく当時の店長さんがその道に詳しく,1つ1つの商品に技術的な根拠を持って売っていたことが思い出されます。

 彼とは,それはもうたくさんのエピソードがあって,それぞれが10代だった当時の私の人間形成に大きな影響を与えていると思うのですが,秋葉原に行ったことがなく,もっぱら秋月電子で通販をすることを楽しみにしていた私に,昔の秋月はこんなもんじゃなかった,いつかうち(デジットですね)もあれくらいになれたらな,といっていたこともありました。

 果たしてデジットは全国区の電子部品店となりました。

 そんな私の知るデジットもこの6月でとうとうお別れです。そう,シリコンハウスも大きなお店になっていますが,私の知るシリコンハウスは東海電子の2階と3階であって,そこから移転してしまった現在のシリコンハウスは,私にとって新しく出来たお店に近いのです。

 おそらく,新しいデジットはもっと大きくもっと小綺麗になるでしょう。それはそれでとても良いことですし,私も愉しみなのですが,私の「デジット」が永遠に消えてなくなることには,やはりさみしい気持ちが大きいです。ああ,歳は取りたくないですね。

 とまあ,そんなデジットがファイナルセールを3月からやっています。いよいよ6月になり,セールも最終段階に入っているのですが,これまでもジャンク屋らしく,入っている数が多いかわりに,1つあたりは無茶苦茶安いものばかりが並んで,私もめぼしいものがあったときにはメモを取っていました。

 そして先日,いつか出るだろうと思ってずっと待っていた商品が登録されます。そう,「デジットセレクション ランダム部品箱」です。

 これぞジャンク屋の真骨頂。お値段は500円で,一人2個までの限定です。

 まず,ジャンク屋というのは,精機の部品屋さんと違って,仕入れのルートが多彩です。正規ルートなら注文できないような部品も入荷したりします。

 それから,訳あって廃棄されたものが流れてくることがあります。カスタム品などが大量に入ってきます。部品に限らず基板や完成品も流れてきます。

 再生品や廃棄物からも,使えそうなものが商品になりますが,いずれも共通するのは,正規品よりも極端に安いと言うことです。

 そんなお店の福袋ですからね,面白くないわけがありません。

 他に欲しいもの,例えば500個入りのLED(500円)を3袋とか一緒に買って,今日その「デジットセレクション ランダム部品箱」が2箱届きました。

 中身を細かく公開するのはルール違反なのでやめておきますが,少しだけ入っていたICやLSIについては,ちょっとここと紹介してもいいかなと思います。なかなか面白いものが入っていましたよ。

HD637B01X0P
 日立の8ビットワンチップマイコンです。SDIPの64ピンで,多ピンのマイコンとしてはよく使われた68系のCPUです。ただしマスクROM品なので,自分でプログラムを書いて使うのは絶望的,残念ですがゴミです。

Z8 BASIC Z0867108PEC
 これはあたりかも。Z8671,Z8 BASICです。Z8はザイログの8ビットCPUなのですが,ワンチップマイコンとしての印象が強いせいで私には馴染みがありません。そんな中でも異色なのはこのZ8 BASICで,内蔵ROMにBASICインタプリタを書き込んであり,RAMを繋げばBASICが動くそうです。

TC5054
 東芝のTC5000シリーズのCMOSで,4桁の10進カウンタ/7セグデコーダ/ドライバです。東芝はRCAのCD4000シリーズが出た当時,独自のCMOSプロセスにC2MOSという名称を与え,大々的に展開をしていました。モトローラがMC14500シリーズというオリジナルを開発したのと同じように,東芝はTC5000シリーズをオリジナルとして開発していました。TC5000シリーズはCMOSらしく大規模なLSIを揃えていたのですが,TC5054もその1つ。10進のカウンタを4桁,ダイナミックスキャンの7セグメントLEDのデコーダとドライバを内蔵し,ワンチップで4桁のカウンタを作る事が出来たLSIです。

TMP47P440AN
 東芝の4ビットワンチップマイコンです。正確なことは調べていませんが,型番からおそらくワンタイムPROMを内蔵したものだと思います。類似品種を調べると32kbitのROMらしく,2764と同じ方法で書き込みが出来るとあります。

HM62256LP-12
 言わずと知れた,日立のCMOS SRAMです。256kbitですので,1980年代中頃にはとにかく目にすることの多かったSRAMです。

TC8801N-0903
 東芝のASSPで,なんと音声合成LSIだそうです。内蔵のマスクROMに書き込まれた音声データを再生するものなのですが,名前の「-0903」が示すとおり,どこかの製品用に音声データを書き込んだ訳あり品です。音の出し方はわかったので再生してみても面白いかも知れません。

LH52256N-90LL
 これも256kbitのCMOS SRAMです。シャープ製のSRAMも当時はよく見ました。これはフラットパッケージのものなので,同社製のポケコンでもおなじみです。

TC9217
 東芝のラジオ用のICで,データシートにはPLLとあります。おそらく海外のデジタルラジオ用じゃないかと思うのですが,よく分かりません。

T3605
 東芝の時計用のLSIです。デジットではかつて,専用のVFDとセットにして販売していたことがあるようです。自動車用の時計に採用された定番品らしいです。たくさん入っていたのですがVFDがないので,使うには一工夫が必要でしょう。ただ,この手の時計用ICは絶滅していますし,7セグメントのスタティックドライブが出来るものは特に貴重です。

MB74LS30
SN74LS32
HD74LS145
SN74LS74
HD74121
DM7414
 TTLですね。特に注目するようなものはありませんが,ナショナルセミコンダクタのDM7414が懐かしいパッケージで出てきたのが,個人的には興味をそそりました。

TC35300
 DTMFレシーバです。プッシュホンのデコーダも1980年代に流行って,電子工作の定番だったものですが,今どき若者はDTMFの音など聞いたこともないでしょう。

MB88331
 富士通のNTSCシンクジェネレータです。かつて秋月電子の定番キットの1つ,ブルーバックジェネレータにも使われていたので知名度もあると思います。しかし,アナログテレビが絶滅し,NTSCの信号もほぼ消えた現在,このICにどれほどの意味があるのか疑問です。

TC74ACT02
 東芝の汎用ロジックで,ACシリーズです。まあ,ACとはいえ汎用のCMOSロジックですので,なにかに使えるでしょう。

TL497
 TIのスイッチングレギュレータICで,定番中の定番です。これは5つ手に入りました。

S2924
 メーカーは不明ですが,シリアルEEPROMです。おそらく128ビットでしょう。

PC725V
 シャープのフォトカプラです。通信用ではなく,スイッチングレギュレータに使うような絶縁用のようです。

PIC12C509
 PIC12シリーズです。名前の通りワンタイムROMです。20年ほど前はホビーストの間でもよく使われた8ピンのPICですが,今はもう全然見ませんね。私もPICは16F84ばかりでしたので,PIC12は使った事がないのですが,そもそもこのPIC12C509,書き込み済みだったらただのゴミです。


 というわけで,とても楽しく部品の仕分けをした結果,IC/LSIは以上のものが入っていました。もちろん,これ以外の部品もたくさん入っていましたし,値打ちのあるものはむしろそれ以外だったりしたのですが,見た目では判断出来ない半導体は意外なお宝だったりするかもしれないというワクワク感が楽しくて,これを肴に飲み会をやったら盛り上がるだろうなと思いながら,仕分けをしていました。

 使ってみようと思ったのはZ8 BASICとT3605,そしてTC5054くらいで,強いて言うならどんな音が入っているのかを確かめるためにTC8801を一度動かす位のものでしょうか。

 でも,この感じがデジットです。あのデジットの味をご家庭で,なのです。いやはや,満腹になりました。

 

DCCデコーダを手作りする

20210820101739.JPG

 安価な製品の入手が現実的に難しい中,実質的に倍近い値段になってしまったDCCデコーダをなんとかしないといけないと,意を決してDCCデコーダの自作をやってみることにしました。

 かつて,海外のサイトで自作デコーダの回路とファームウェアが掲載されていて,私もこれを作ってみたことがありました。PIC16F84Aという懐かしのマイコンにディスクリートのフルブリッジを組み合わせてあります。

 PICは面実装品が手に入ったのですが,三端子レギュレータはTO-92の78L05でしたし,Hブリッジは配線ミスで火を噴いてしまい,面倒になってパワーオペアンプを使うことにしたせいで小型化できませんでした。

 動いたとはいえ,PWMの周波数が低かったらしく滑らかさな動作が出来ませんでしたし,結局高く付いたこともあって,1つ作っておしまいにしました。

 あれから15年,えらいもんですね,日本の方が実用になる小型のデコーダをちゃんと継続的に作ってらっしゃいます。多くのフォロワーがいて,実績もたくさんありそうです。

 私もこの回路とファームウェアを,そのまま利用させて頂く事にしました。

 こういう場合問題になるのは基板で,この方は親切に専用の基板を頒布なさっています。それでも部品代の合計が500円程度に収まるというのですから素晴らしいのですが,私の場合万能基板で手配線することが楽しく,それこそ電子工作の醍醐味と思っている変わり者なので,秋月電子で面実装用の万能基板も合わせて購入しました。

 20セットくらい作る事が出来ればと思ったので,ざっと10000円ほどの部品代を支払って待つこと数日,届いた部品を早速確認して,組み立てを始めます。

 基板を細長く切り出し,ここに4つの主要ICを並べていきます。ブリッジダイオードと三端子レギュレータが上手く配置できずに悩んだのですが,ブリッジダイオードを裏返してハンダ付けという禁じ手でしのぎました。

 基板を起こさず,万能基板で作るというのは手間がかかって大変ですし,ミスもしがちです。ですが,好きな大きさと形で作ることが出来るので,いわば車両ごとにカスタムメイドできます。

 ということで,部品を一列に並べた細長いものをまず1枚。少し小さく作って7枚,基板の切れ端を使って両面貼り合わせで超小型を2つ,正方形に近いものを3つ,合計13個を作ってみました。

 万能基板を使うと,パターンの面積を考えずに済みますので,場合によってはかなり小さく作る事も出来ます。写真にある超小型のものは電源で1枚,マイコンとHブリッジで1枚の基板を貼り合わせて作ったもので,これってDZ123よりも小さいです。

 長細いものでも片面ですので,DZ123の半分以下の分厚さです。Nゲージはスペースが厳しいのですが,特に隙間がないので,小さい事も大事ですが薄いことも大事です。

 注意しないといけないのは,ランドを一部剥がしておかないといけないことです。三端子レギュレータは背面のフィンと2番ピンが繋がっているので,背面にハンダが回ると予期しないところが繋がってしまいます。

 同じ事はHブリッジにも当てはまります。Hブリッジの底面には放熱のために金属が露出しています。ここはどの端子にも繋がっていないので放熱も考えてそのままにしていたのですが,2,3,6,7番ピンのランドにかかってしまい,ショートするという問題が発生して困ったことがありました。

 こういうICは放熱しないと性能を発揮しませんので悩んだのですが,上手くショートの方が深刻だと考えてランドを剥がすことにしました。

 で,電気的な性能ですが,Hブリッジにしっかりした保護回路があるので,ミスによって焼損することが今まで起きていません。これは助かります。

 小さいですが駆動能力も大きく,発熱も小さいです。LEDなら直接駆動出来るファンクション機能もあるそうです(私は使っていません)

 欠点は,まず加速率と減速率が設定出来ないこと。DZ123を含む多くのデコーダは,加速率と減速率を設定出来ます。私もこれをすべての車両で設定しているのですが,この自作デコーダは設定出来ないです。

 あと,BEMFが使えません。これはDZ123にもないので仕方がないのですが,EM13には搭載されている機能で,しかも効果絶大ですので,ぜひ欲しい機能です。

 そうそう,ちょっと気になる事があります。グリーンマックスの旧型の動力ユニットなんですが,どうもガクガク動いてしまうのです。3つある同じ製品のうち,1つは問題なし,1つは注油で改善,しかしもう1つはどうしても改善出来ませんでした。

 集電不良かと思って何度も磨いたりしたのですが,デコーダに直接電源を入れてもギクシャクします。

 モーターを直流電源に繋いでみればスムーズに回転するのでモーターの問題ではないでしょうし,DZ123にすれば綺麗に動くのできっとデコーダの性能なんだろうと思っていました。

 しかし,スムーズに動く動力ユニットもあるので,これはおかしいと考えて調べたところ,直流では上手く回るモーターも,PWMではギクシャクするものがあるとわかりました。

 試しにユニクリーンオイルをブラシに注油すると,ウソのようにスムーズに回り出します。モーターが汚れていて,高速回転では上手くPWMについて行けないのかも知れません。

 しかし,トミックスの旧製品のモーターで試すと,今度はユニクリーンオイルでもダメ。正常に回転する回転数がどんどん低下しています。

 そこで,パーツクリーナでモーターを洗浄してみたところ,かなり改善されました。PWMでは上手く回らないこともあるんですね・・・

 それと,やっぱりモーターに注油は御法度みたいです。綺麗に洗浄した方がずっと上手く回ります。モーターといえばミニ四駆で,あちらの世界では注油は普通に行われているようなのですが,おそらく数年もすると上手く回らなくなるんじゃないのかなあと思います。

 まあ,文句があるなら自分で設計せんかい,という話で,加速率も自分でソースをいじって書き換えようかと思ったのですが,ROMサイズに収めるのが大変そうでしたし,面倒だったのでやめました。

 ということで,DCCデコーダが500円で出来ました。DZ123である必要も,EM13である必要もない車両はこれに置き換えていこうと思います。これでデコーダの入手と価格の問題は,とりあえず解決です。

 

ユーティリティ

2026年01月

- - - - 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

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

過去ログ

Feed