まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

2017年08月

TRS-80 model1 ビデオ出力の修理

 電源ができたのでビデオ接続して動作確認してみよう。ビデオケーブルは回路図を参考に作った。
こちらも参考になります:
旧世界の遺産を守れ!「TRS-80 model1」 タンディ・ラジオシャック(1977) (しおんパパのひみつきち)

54

 で、ブラウン管ディスプレイに映してみると水平方向に広がるような感じのノイズ画面。TRS-80本体側面にある半固定抵抗をいじってみると、垂直方向は動かせるが左右は無反応。どうやら水平同期がおかしいみたい。
 この故障はよくあるみたいで、YouTubeにも修理動画があった。
How to fix video sync issues on the TRS-80 Model I


 では回路図を元に追っていく。
57

 上の方の74C04(Z6)は水平同期信号のバッファ。下の方の74C04(Z57)は垂直同期のバッファ。それぞれ半固定抵抗が挿入されておりアナログ的に遅らせることで表示位置の調整を行っている。74C00(Z5)はXORを構成しており、水平同期と垂直同期をミックスしている。これらはCMOSの汎用ロジックで特性は4000シリーズと類似。74C04の方はパッケージに4069とも書いてあった。
 さてR20を調整しても水平方向の調整ができないのでこのあたりが怪しい。Z6のpin13には水平同期信号が来ていた。で、Z6のpin12を観測すると
2017hsyncNG
 0-5Vスイングしてない。Z6故障と判断。

 では、このZ6を外してICソケット化することに。pin4-pin14間に0.0033表記のコンデンサがあるけど回路図にはない。あとから足されたものだと思われる。

2017-z6

 取り外しには表面実装部品取り外しキットを使った。基板側の穴が大きめなので割と簡単に外せる。

サンハヤト SMD-21 ハンダ関連用品 ハンダゴテ1本で簡単に表面実装パーツが取り外しできます。サンハヤト SMD-21 ハンダ関連用品 ハンダゴテ1本で簡単に表面実装パーツが取り外しできます。

サンハヤト
売り上げランキング : 1130946

Amazonで詳しく見る
by G-Tools


 これを74HC04に交換したら水平同期も調整できるようになった。

 高速(15KHz)なスイッチングに耐えられなかったのだろうと、ついでに74C00(Z5)もソケット化して74HC00に交換してみたら、水平方向にノイズが見られるようになった。この状態で先程のZ6を74HC00から74HCU00に交換したら安定した。

 だがしかし。キャラクタ単位でノイズが入っているような画面である。キャラクタらしきものは見えるしキー入力で文字が入っているようなのだが。つづく。
2017TRS80noise


TRS-80 model1用電源の製作

 前回のTRS-80 model1を入手した - 電源の検討で考えた電源回路の部品がそろったのでつくってみた。

 秋月電子のC基板に実装することにする。ACアダプタだが、DCプラグが2.1mmでよく使われているものを選択し、ハードオフから19V品を入手。これを手持ちのDCDCコンバータ、HPH12002Mで+7Vを生成する。12V2A出力なので余裕。
18
回路はほぼこのまま。250kΩ可変抵抗の部分を10kΩ1/2W+10kΩ半固定抵抗に変更し、5-6ピン間に接続した。GNDには接続しない。これはデータシートより計算し約18.5kΩとなったのでこの構成にした。
この抵抗を配線しない状態で入力19.22V、出力12.03V。

 次に負電圧をLTC1144CN8で生成する部分。これは以下のとおり。
2017LTC1144

最終的に以下のような実装になった。各所にあるLEDは動作確認用で、4.7kΩを直列につないでいる。
2Pのコネクタは手持ちの都合。写真の上から-7V/+7V、+19V/GND。
2017TRS80powF

 配線はこんなかんじ。片面でいける。(パイロットランプまわりは省略)
TRS80powhaisen

 TRS-80本体へと接続するDIN5pin電源コネクタの配線は以下を参考に。FRONT VIEWというのはDINレセプタクル側から見たという意味なので、TRS-80本体の背面から眺めるとこのように並んでいるという感じです。1,3はAC(+7V,-7V。入れ替わってもよい)、2は+19V、4はGND。

00



2017TRS80pow


 TRS-80 model1に接続後、正しい電圧が供給されているかどうかはDRAMの電源ピンで確認するとよい。電源回路がめんどくさかったのはこいつのせいです。
2017TRS80DRAM

pin16 - Vss (GND)
pin9 - Vcc (+5V)
pin8 - Vdd (+12V)
pin1 - Vbb (-5V)

 測定したら12.19V/±4.92VでOK。

 ディスプレイを繋がなくてもTRS-80の[英数/カナ]キーを押すことでキーボード上のLEDが赤/青とトグルするので動作していることが確認できる。これで本体無改造で電源を作ることができた。

 だがしかし、ディスプレイに繋いでみるとビデオ出力の同期が流れてしまう問題があった。これは本体の故障らしい。次回につづく。

メモ:ICL8038キット

 ICL8038を使ったファンクションジェネレータのキットが300円と安かったので買ってみた。再度見たら272円になってる。どういうことだ。昔秋月電子のキットは一桁ぐらいちがったはずだぞ。

HiLetgo ICL8038 関数 機能信号発生器モジュール DIYキット 正弦波 三角波 [並行輸入品]HiLetgo ICL8038 関数 機能信号発生器モジュール DIYキット 正弦波 三角波 [並行輸入品]

HiLetgo
売り上げランキング : 690

Amazonで詳しく見る
by G-Tools
データシート:
https://www.intersil.com/content/dam/Intersil/documents/icl8/icl8038.pdf

 キットに説明書はなし。基板のシルク印刷をたよりにハンダ付け。14pinのICソケットは別に用意した。
スライドスイッチは発振周波数のレンジ切り替え。
104の半固定抵抗は正弦波の歪み調整、203の半固定抵抗はデューティ比の調整。
右側のツマミでおおまかな周波数の調整、中ほどにある青いポテンショメータで精密な調整。
2017-8038-1

 電源+12Vでの観測。矩形波は0V〜12Vのフルスイング。
2017-8038-2

2017-8038-3

 8038を使ったファンクションジェネレータの作例はネット上にあるので真似して作ってみよう。

ArduinoでGPSから時刻データを取得する

 Amazonで安いGPSモジュールがあったのでArduinoに接続して時刻データを読んでみた。

Rasbee GY-NEO6MV2 Flight コントローラー NEO-6M APM 2.5 GPSモジュール Arduino用 1個 [並行輸入品]Rasbee GY-NEO6MV2 Flight コントローラー NEO-6M APM 2.5 GPSモジュール Arduino用 1個 [並行輸入品]

Rasbee
売り上げランキング : 1072653

Amazonで詳しく見る
by G-Tools

 このGPSモジュール、基板上にはGY-GPS6MV2と書いてある。主要なモジュールはblox NEO-6M、コイン電池とEEPROM、GPSアンテナ用コネクタが付いている。電源は3.3V、シリアル9600bpsで通信。衛星からの電波を安定して受信しているときは青色LEDが点滅する。

データシート:
NEO-6 u-blox 6 GPS Modules(PDF)
Hardware Inegration Manual(PDF)
u-blox 6 Receiver Description Including Protocol Specification(PDF)

 NEO-6Mはシリアル接続の他にUSBでパソコンに直結できるらしいのだがこのモジュールにはそれらしき引き出しパターンなどはない。時刻取得程度だと特に設定もなく、モジュールのRXとマイコンのTXは接続しなくてもよさそう。

2017GPS1


作例:
GY-GPS6MV2 – NEO6MV2 (Neo 6M) GPS Module with Arduino / USB TTL
(WEBSITE AND BLOG OF AYOMA WIJETHUNGA)
GY-GPS6MV2をArduinoでテスト(woosan900rrの日記)

 マイコンはArduino Leonardo互換のSeeeduino Liteを使用した。5V/3.3Vの切り替えができて便利。モジュールとの接続は電源を3.3V、GND、モジュールのTXとArduinoのRX(D0)を接続する。

 さて、GPSからのデータはNMEAフォーマットというカンマで区切られたテキストデータで取得できる。
NMEA 0183 フォーマット
このうち、GGAメッセージ(第1フィールドが$GPGGA)の行の第2フィールドが時刻データ(UTC)である。第14フィールドは補正時間らしいのだが今回は無視した。チエックサムも無視している。

スケッチはこちら:
https://gist.github.com/houmei/8fbc1e223611258204b071745722b071


 ちょっとがんばってSerial.readStringUntil('\n')を使ってみた。一文字ずつ受信して処理するのは大変なのでStringクラスで全部やった。ついでに今後のためにString.toInt()で整数に変換して時刻もJSTに補正した。
こちらが参考になった:【prog】Arduino・シリアルで文字列受信するには(ゆうがたの特にコレと言って)

 今後は座標やその他の情報が取得できるようカンマ区切りでデータを読み取るようにしたい。以下はそのためのメモ。
文字列を区切り文字で分割するsplit()関数 for Arduino(山形大学工学部ロボタスティクス)
Arduinoにつないだセンサからの値をパソコンで記録する(6)(Ukkari blog)


Seeeduino LiteSeeeduino Lite

Seeed Studio
売り上げランキング :

Amazonで詳しく見る
by G-Tools

夏休みの工作 無線LANルータ用冷却ファン

 TP-LINKの無線LANルータ AC1200を使っているのだがどうも調子が悪い時間帯がある。昼から夕方にかけてなのだがWiFiが途切れる。これが毎日だんだん不通時間が伸びてきてある日気付いた。これ熱だ。
本来置くべきではない外気がはいる通路にしか置けないのでルータが悪いわけではなくどうしようもない。そこでサーキュレーターを回して終日風を当てて解決したのだけれどもあまりスマートとも言えないので冷却ファンを作ることにした。


TP-LINK AC1200 Wi-Fi Ethernet LAN Dual-band BlackTP-LINK AC1200 Wi-Fi Ethernet LAN Dual-band Black

TP-LINK USA
売り上げランキング :

Amazonで詳しく見る
by G-Tools

 USB扇風機をルータのUSBポートにつなぐというのも考えたが風量が足らなさそうだし、ということで8cmのPCケースファンを利用、電源をTP-LINK AC1200のACアダプタから12Vを拝借することにする。DCジャックとプラグは2.1mmのArduinoなど電子工作でよく使うものが利用できる。ついでにファンガードもつけた。

10

 これを100円ショップで探したなるべく穴のあるブックエンドに園芸用の針金で固定。これでサーキュレーターに代わり安定運用できますね。
52


 配線等は宿題とします。

めしにしましょう(1) (イブニングコミックス)めしにしましょう(1) (イブニングコミックス)
小林銅蟲

講談社 2016-11-22
売り上げランキング : 1172

Amazonで詳しく見る
by G-Tools

記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ