まごころせいじつ堂

浜町庄金 研究開発 最近はArduinoとセンサ類ばっかだなあ。マイコン楽しいよマイコン

ピコソフトの4bitマイコンエミュレータORANGE-4

 ピコソフトから発表されたマイコン演習キット、ORANGE-4が先行販売されたので組み立ててみた。
なお先行販売分なので仕様は変わる可能性があります。ファームがPICKit3などで書き換えられる環境のある人向け。

ORANGE-4(picosoft)
ピコソフト、教育用4bitマイコンボードを開発(ICT教育ニュース)
機械語プログラミングを学習できる——教育用4ビットマイコンボード「ORANGE-4」(fabcross)

学研大人の科学No.24付録の4bitマイコンGMC-4と互換で、さらにさかのぼるとGMC-4は電子ブロックFXのマイコンR-165が元になっているそうだ。GMC-4が出たときに作られたプログラム例がネット上にあるので遊べますね。

 キット内容。
2017O4-1

 コンデンサが多めにはいってた。PIC32のMX120F032Bが使われている。
2017O4-2

 背の低い部品からハンダ付けが基本なのだけど、LED7個を先に片足ずつハンダ付けして位置を調整したほうが見栄えがよいです。
2017O4-3

 主役のタクトスイッチ20個は対角の足をハンダ付けしてから目視できちんと並んでいるかどうか確認して修正。実際はパチンとはまるのでそこまで気にしなくてよい。
2017O4-4

 ここまでで動作確認。7セグLEDに"F"が表示され、キースイッチを押して音が出ればまずOK。
このあと添付のTK-80を思わせるキートップを印刷している紙から丁寧に切り取ってキーキャップ内側に付けていきます。
2017O4-5

 学研GMC-4と。
2017O4-6

 電流は無操作状態で0.02Aでした。
2017O4-8

 ショートを防ぐためのハンダ面に取り付ける板が普通のプリント板だったのにはなるほど、と。アクリルなど別に手配するよりも同じ基板製造で同時に入手できる、と思いました。
 現在、非互換部分や拡張機能などについてはfacebookのグループで先行して公開されています。facebookで"picosoft ORANGE-4"と検索すれば出てきます。

 キースイッチのおかげか存在感のあるボードです。遊びましょう。


で、現状シリアルポートが見えないんだよなあ。半田不良がないか確認中。
microUSBのD+、D-は無接続で電源供給のみ。シリアル通信は右側にある拡張端子を使用。


RGB21→HDMI変換でFM77AVの表示

 サンコーレアモノショップからRGB21-HDMI変換アダプタが出た。これは専用ディスプレイが壊れてしまったFM77AVで使えるのではないかと早速入手し試してみた。

 で、うーん映らん。RGB21ケーブルが純正ではなくストレート結線なのでこのせいみたい。
使ったのは千石電商にて購入したカモン 21P-18 SCARTケーブル1.8m、これをクロス仕様に改造する。
片側のコネクタハウジングを分解し、コネクタの中央、端子を押さえている部品を外すと簡単に端子が外せる。入れ替える端子は2-1、4-3、6-5、8-7、10-9の5ペア。端子番号はWikipedia RGB21ピンを参照。ハンダ付け不要。
2017RGB21-2

 で、元通りに組み立て直してFM77AVに接続。
2017RGB21-1

 うまくいきました。
2017RGB21-3

  ついでに同じRGB21端子を持つMSX MATSUSHITA CF-3000もうまく表示できました。



RGB21-HDMI変換アダプタ RGBHDADP ※日本語マニュアル付き  サンコーレアモノショップRGB21-HDMI変換アダプタ RGBHDADP ※日本語マニュアル付き  サンコーレアモノショップ

サンコー
売り上げランキング : 189

Amazonで詳しく見る
by G-Tools

TRS-80 model1 ノイズ源を探して

 さて、あとはどこを調べようか。

 キャラクタやセミグラフィックスのデータはZ10,Z11のLS166でSHIFTクロック信号によりドット単位で出力される。このSHIFTクロック信号はZ9(LS04)で駆動される。元はZ43の出力で原発振の10.6445MHz(横64文字)またはその半分(横32文字)。
TRS80_shift

 そこでZ9-pin9をピン上げして10.6445MHzのオシレータを直結した。SHIFTクロック信号が揺らいでいればこの構成で非同期ながら画像は安定するはず。

 結果。
P_Oct14_210248

 キャラクタ表示が一部抜けるのは非同期だから問題ないがノイズ源はここではなさそう。SHIFTクロック信号を元に戻す。


 さて次はどこを見るか。アドレス線を疑ってみよう。ビデオ回路はLS93カウンタが生成する周期的なアドレスとZ80からのアドレスをLS157で切り替えてVRAMに送っている。
こんな感じ:Z80のアドレス→LS367→LS157

(1)LS157のZ80アドレスを受けている箇所のピン上げ→変わらず
(2)Z80のアドレス信号をピン上げ→変わらず
(3)LS367をすべて外すのはたいへんなのでZ22(A3,A2,*IN,*OUT,*WR*,RD*)のみ。pin1を上げてdisableに→変わらず。

う~ん、と基板になんとなく触れたら画面が揺らぎリレーがジジジジと動いた。何?
P_Oct15_204736

 触れたのはカードエッジコネクタのpin12でOUT*。これは先ほどのZ22の出力で、これは基板内ではZ25のpin9(LS32入力)にしか行っていない。確認のためピンセットでカードエッジpin12、Z25-pin9に触れても同様。リレーが暴れたのはアドレス線をピン上げしていたせいでリレーのアドレスデコーダが有効になっていたせい。
 基板内では一対一で繋がってるOUT*信号。ここなのだろうか。

つづく。


TRS-80 model1 クロック周り若干の改善

 ビデオタイミングを生成している4個のLS93(Z65,Z50,Z12,Z32)だが最後に交換したZ65でこれまで気になっていた箇所が改善した。

 これまではZ80のリセットを解除してバスを動かすとこのようにランダムなVRAMの表示に左下から右上に向かって斜めの線みたいなのが表示されている。
P_Sep22_054749

 リセットをかけた状態だとこのようになる。斜め線はみられない。
P_Sep22_054744

 Z65のLS93はタイミング生成の上流にある。これを交換したら斜め線は表示されなくなった。
なんで上流から交換して確認しなかったのかは反省だ。基板での配置上やりやすいところから交換していったせいだ。あとはLS93のうち14分周(Z50)、12分周(Z12)、11分周(Z32)をやらせている3入力ANDのZ66(LS11)を交換してみたが変わらなかった。
 後日確認したらまた斜め線が出ることがあった。原発振のオシレータをHCU04によるもともとの水晶による発振に戻したりと組み合わせにより出たりでなかったりする。現在はHCU04とLS93、LS11をそれぞれHC93、HC11に交換している。

 ついでに確認のためZ53(LS132)をソケット化する。DBIN*、DBOUT*をピン上げしてデータバスを殺す。動作確認の結果、アドレスバスが動いていると画像表示に影響がでることがわかった。これはある程度予想はできていて、Z80が暴走状態だとほぼフェッチ動作のみでメモリライトのようなよそに影響を及ぼすようなアクセスはほとんどないだろうということ。

 ではアドレスの影響はどこで受けているか?図面から見るとビデオタイミングで生成しているVRAMへのアドレスとZ80からのアクセスを切り替えている3個のLS157(Z64,Z49,Z31)が怪しいが、これらを交換しても現象はかわらず、電源ON時に画面が乱れる。

 というわけでまだ完全な解決には至っていない。

 つづく。

TRS-80 model1 VRAMの交換

 さてVRAMだけど出力波形がおかしいものがいくつかある。VRAMに使われているのは1Kx1bitの2102。DinとDoutは分離されている。このDoutと行先のZ27(LS175)、Z28(LS174)の受けを観測。

2017TRS80VRAM-NG

 こんな風に3Vスイングするところを時々半分しか上がってない箇所がある。Z46とZ48の2つがおかしかったのでこれらを交換。2102または21L02はebay経由で取り寄せた。



TRS80VRAM


 これらを交換しても電源ON時に画面がおかしくなる現象は変わらなかった。

つづく。

TRS-80 model1 原発振の交換

 画面がおかしいのは原発振のクロック10.6445MHzのジッタのせいではなかろうかと疑ったのでここを汎用ロジックによる水晶発振器の回路ではなくオシレータに交換してみることにした。ただし10.6445MHzといった半端な周波数の発振器はない。色々探したら三共社という所がプログラマブル発振器の書き込みサービスをやっており、個人向けもOKだったのでお願いしてみた。だいたい一週間くらいで着荷。あらかじめ変換基板を用意しておいたのでこれをTRS-80基板上のZ42と差し替える。
2017TRS80clk

 さてこれで直ったかな〜と思ったら現象変わらず。ということは原発振のジッタは元々なかったということになる。ではどこだろうか。

つづく。

TRS-80 model1 日本向けモデルのキーボード結線

メモ:TRS-80のロジック基板とキーボード基板を接続するビニール線が切れてしまった。そんなこともあろうかと写真は撮っておいたのでもし間違えて切ってしまった方は参考にしてください。

TRS80haisen2

TRS80haisen1

TRS80haisen3

接続先は以下のとおり。

赤:+5V
黒:GND
灰:Z37-1(LS02) *SYSRES
黄:Z38-11(LS367) A14
紫:Z38-7(LS367) A13
青:Z21-10(LS156)
緑:Z73-6(LS32)

たったこれだけ?いえ他のアドレスとデータはROMソケット経由で接続してあるのです。これらは上位アドレスのデコード情報です。

TRS-80 model1 状況整理

 これまでの修理と調査の整理。
(1) ビデオ画面が出ない → VSYNC/HSYNCを混合する終段のCMOS IC故障。交換OK
(2) ビデオ画面の空白文字であるところに何か表示される → おそらくVRAM不良。あとで交換
(3) ビデオ画面が乱れる。VSYNC/HSYNCの調整は可能。 → 目下調査中。

 もともとTRS-80 model1はVRAMへのアクセスはCPU優先で画面にノイズがでるらしい。しかし常に出ているのはおかしい。CPUのVRAMアクセス時にはVID*信号がアサートされる。これの大元はZ80の*MREQである。ROMを抜いた状態でもVID*は定期的には発生するが、これはCPUが暴走しているせいかもしれない。確実にVID*を出さないためにZ80の*MREQをピン上げする。DRAMは挿したまま。

電源を投入すると以下の画面になる。
P_Sep22_052909

 Z80の*RESET端子を"L"にすると以下の画面になる。

P_Sep22_054744

 *RESETを解除すると画面の乱れはなくなる。しかしよく見るとキャラクタ表示がずれている。
P_Sep22_054749

 これから考えると、電源投入時になんらかの影響で画面に関わる部分(特に水平方向)がおかしくなっている。リセットにより影響元と思われるZ80が停止すると画面は安定する。リセット解除でZ80が動き出すとVRAMの読み出し→CGROMまたはセミグラフィックスのデータ取得部分でずれが生じている。Z80の動作で外部に影響があるのはアドレスとデータがぱたぱた暴れている部分。DRAMは特に影響を与えていない。

 さて、クロック生成部分を見てみる。(印がある部分はソケット化してあるところ)
TRS-80clock

 原発振は10.6445MHz。これをインバータ1個で分配している。きつそう。
Z43-1はMODESEL信号の受けで、画面横方向の表示64文字(H)/32文字(L)を切り替えている。
Z24-3はLATCH信号のクロック出力で、VRAMからのデータをいったん受けるための指示。
Z43-4はSHIFT信号のクロック出力で、LATCH信号で保持したキャラクタ番号に基づいて水平方向に画面に表示するデータをシフトする。

 ここで64文字のモードだと原発振の周期をそのままビデオクロック周りに出している。もしこの発振回路にジッタがあれば、画面の乱れとなって観測されるはず。しかしジッタを測定できるような環境にない。
 Z42をソケット化したのでここを色々差し替えて実験したところ、電源ON時に時々画面が乱れないこともあったので影響はあるようだ。ということで10.6445MHzの発振器を注文してみた。つづく。



 これがあれば……

KKmoon 信号発生器 DDS信号発生器 DDSファンクション信号発生器 デジタルデュアルチャンネル 任意波形周波数メーター 0〜80KHz 電力信号帯域幅 200MSa / s 25MHzKKmoon 信号発生器 DDS信号発生器 DDSファンクション信号発生器 デジタルデュアルチャンネル 任意波形周波数メーター 0〜80KHz 電力信号帯域幅 200MSa / s 25MHz

KKmoon
売り上げランキング : 1470562

Amazonで詳しく見る
by G-Tools

TRS-80 model1 Z80の影響について

 Z80のリセットをアサートしたままにすると画面にノイズは出なくなる。ではどの部分が影響しているのか。結論から言うと*MREQ,*WR,*RD,*IORQをピン上げしても現象が変わらなかった。アドレス線かデータ線がパタパタ動いているのが影響しているような感じ。

 さて、その結論に至るまでの調査。
 VID*という信号はVRAMのアドレスをタイミングジェネレータかZ80のアドレスかの切り替えに使われる。

VID*="H"の時:
{V0〜V5,VWR*,VRD*,A6〜A9}は{C1,C2,C4,C8,C16,C32,'1','1',R1,R2,R4,R8}
VID*="L"の時:
{V0〜V5,VWR*,VRD*,A6〜A9}はZ80の{A0〜A5,WR*,RD*,A6〜A9}
この切り替えはZ64,Z49,Z31(LS157×3)で行われる。

VID*は遡るとRAS*信号から来ておりRAS*信号はZ72(LS367)を通った*MREQそのもの。

Z21

 Z21(LS156)がアドレスデコーダでpin12(出力3)がVID*/KYBD*に関わっている。そこで近辺を観測してみる。上段がZ36-6、下段がZ21-12。

Z21-G

 Z21の出力が上まで届いていない。これについては教えていただいた。なおZ21(LS156)はオープンコレクターで下記のOD(オープンドレイン)と同じ構造。

 プルアップは4.7kで図面と同じく問題なし。タイミングはこれでいいらしい。
ここの懸念をクリアするためにZ80の*MREQをピン上げして確認した。動作は変わらず。ついでに他の制御線もプルアップしてみたが動作は変わらなかった。

つづく。

TRS-80 model1 日本向けモデルはVRAMを追加している

 修理中に気付いた閑話休題的な話。

 TRS-80 model1のVRAMは2102(1k×1)を7個使っている。bit0〜bit5までがキャラクタの番号で、bit7がグラフィック/キャラクタの切り替え。しかしZ61(bit4担当)の上に重ねて2102がもう一個ある。最初修理の跡かと思ったがこれはbit6相当で追加されていた。



 このカットも当初不明だった。これはZ30-13(LS02)からZ27-3(LS175)、Z60-4(LS267)の間をカットしてある。
2017-Z27


 元々はVRAMのbit6相当は!bit7 & !bit5だった。ここをカットして追加したSRAMのDoutを接続している。Z60-5(LS367)出力はDinに接続している。
Z30-13

 これは日本語化にあたりカナを追加するためにキャラクタ番号を0〜63から0〜127にしている。キャラクタジェネレータのROMもカナ対応のものになっているはず。

以下の記事で気付いた。

TRS-80 Model 1 L2 – Lowercase characters Hardware mod(CREW NIGHTFALL)

あと、回路図などはこちらがより新しい。トラブルシューティングの方法も載っている。
Radio Shack TRS-80 Micro Computer Technical Reference Handbook 2nd.zip
TRS-80 Model I Documentation

太陽フレアによるGPSの誤差を見てみたい

 2017年9月6日に大規模な太陽フレアが発生し、その影響で9月8日に電離層が乱れGPSの誤差が発生するらしい。
【電子版】大規模な太陽フレア発生 地球への影響は8日午後-情通機構が発表 (日刊工業新聞)
宇宙天気情報センター(NICT)

 で、実際に発生したようだ。
太陽フレアでGPSの誤差増大 国土地理院が報告(ITmedia)
9月6日に発生した太陽フレアのGPS測位への影響(速報)(国土地理院)
11年ぶり大規模な太陽フレア-GNSS測位に影響(速報)(測位技術振興会)

 この前実験した手持ちのGPSモジュールがあるのでこれで観測できないかと考え終日ログを取ってみた。Windows上でTeraTermのログ機能を利用する。時刻情報はGPSのデータ内にあるのでタイムスタンプは付けない。GPSモジュールからは毎秒データが送られてくる。

 採取したログはDropBox経由でMacOSに持っていきawkで加工。そしてWindowsに戻してExcelでグラフを描かせる。
https://gist.github.com/houmei/b9c9dc6d120f7243fffd5ad400c3d69d

加工したのは$GPSRMCからの緯度経度情報のみで誤差情報などは見ていない。



GPS20180908

 時刻はUTCなので+9時間してください。8日13時〜9日5時までの緯度経度について、基準点からのズレを表示。飛んでいる箇所はGPSから座標が取得できなかった時間。22時くらいに跳ねているのがわかる。

GPS20180909


 比較のため9日の9時〜12時くらいまでのデータをみるとそんなに跳ねていない。

 適当にやってみたけどこんな感じ。次回はより厳密に、部屋から出して衛星を常に捕捉できる状態にしてみるかな。


TRS-80 model1 ビデオ出力乱れの調査

 さて、画面に文字らしきものは見えてキー入力にも応答しているっぽいのだが非常に乱れている。以降はビデオキャプチャの画像。
P_Sep05_231038

 先に電源部分の電解コンデンサの容量抜けを疑ったが問題なかった。
 CPUをソケットから抜いてみた。VRAMは初期化されないのでランダムなキャラクターを表示する。乱れはない。
P_Sep04_221238

 ということはCPUが動作することによりビデオ回路に悪影響を与えているように思える。
CPUを元に戻し、リセットスイッチを付けてみた。C42の電解コンデンサの両端から線を引き出してトグルスイッチをハンダ付け。RESETをかけっぱなしにすることによりCPUはバスからフローティング状態になる。DRAMのリフレッシュもやらない。

P_Sep04_221300

 これは何度か[ENTER]キーを叩いた後でリセットをかけっぱなしにした画像。プロンプトらしきものが見える。空白であるべき部分がカンマになっているが、これはどうやらVRAMのデータの特定bitが故障しているようだ。いまは画面の乱れの調査に都合がよいのでこのままにしておく。

 さて、ノイズ源となり得るものにはDRAMも考えられるのでこれをソケットから抜く。CPUは挿したまま。
P_Sep07_200026

 リセットをかけると画面は安定。この後、リセットを解除したりかけたりしてもこの表示のまま。電源を再投入すると乱れた画面になる。
P_Sep07_200058

 CPUあり、DRAMなしの構成でリセットの前後で変化する部分を探すことにする。画面の乱れに悪影響を与えるのはCPU/DRAM、受けるのはビデオ回路のタイミング生成回路と主に水平部分。

 Z42(LS04)はクロック発振とVRAMのキャラクタ/グラフィック切り替えに使われている。ここをソケット化しパスコン追加、HCU04に変更。現象は変わらず。VRAMのキャラクタ/グラフィック切り替えのゲート部分をピン上げしてキャラクタ表示のみ/グラフィック表示のみにしてみたが現象かわらず。つまりキャラクタ表示/グラフィック表示個別の問題ではない。

つづく。

MINGCHANG EasierCap USB 2.0 dc60テレビDVD VHSビデオ S端子 キャプチャアダプタUSBビデオキャプチャ レコーディングアダプタAVI/JPG/BMPMINGCHANG EasierCap USB 2.0 dc60テレビDVD VHSビデオ S端子 キャプチャアダプタUSBビデオキャプチャ レコーディングアダプタAVI/JPG/BMP

MINGCHANG
売り上げランキング : 8484

Amazonで詳しく見る
by G-Tools

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

TRS-80 model1を入手した - 電源の検討

 何かの引きが強かったのか、TRS-80 モデル1を入手した。

  あまり使われた感じがないきれいな本体だが、電源などの周辺はないためなんとか用意しないといけない。TRS-80 Technical Manualには回路図があるので検討する。
 電源はACアダプタ経由、DIN 5ピンコネクタで接続。内部で+5V,+12V,-5Vが生成される。このうち+12V,-5VはDRAM用。
ACアダプタのDC +19.8V 350mA → +12V 350mA
ACアダプタのAC 14V 1A → +5V 1.2A, -5V 1mA

TRS80PWR

電源入力:DIN 5ピン
1 AC14Vin
2 DC19.8Vin
3 AC14Vin
4 GND
5 NC

 さて、できれば本体は無改造でやりたい。pin2のDC19.8Vinは現代の19V出力ACアダプタでよさそう。pin1,3のAC14Vinだが別にブリッジダイオードに直流を入れても問題ない。19VからDC-DCコンバータで降圧しようとするとGNDが共通なので+7Vにし、pin1に供給する。
DC-DCコンバーター 12V3A HRD12003 5~24V可変(秋月電子)

 -5V側はLTC1144でDCDCコンバータの出力+7Vを反転してpin3に供給する。
LTC1144 スイッチト・キャパシタ広入力範囲 シャットダウン機能付き 電圧コンバータ(PDF)
スイッチトキャパシタ広入力範囲シャットダウン機能付電圧コンバータ[RoHS] LTC1144CN8(共立エレショップ)
電圧コンバータ LTC1144CN8(秋月電子)
作例:LTC1144CN8でマイナスの電源をつくる(SingleEnded.com)

アナログ入力1本でマトリックスキーを扱う

 アナログ入力によるロータリーエンコーダの読み出しとちょっと関係あり。今回はマトリックスキーを扱ってみた。

 12Key マトリクスキーボード JK-42-2(共立エレショップ) のような3×4のテンキー、中はマトリックス配線になっている。スイッチが個別に扱えれば抵抗分圧式で可能だが、解体して配線し直すわけにもいかない。
抵抗分圧式の例:I/Oピン一つで読み取れるキーパッドの製作(しなぷすのハード製作記)

 ではどうしようか。横方向で分圧したあと、縦方向でさらにその範囲内で分圧すればよさそうだ。

ankey_2017-04-11 00_37_52

 実際はこんな感じで配線。
ankey_2017-04-11 00_39_34

 Arduinoのスケッチはこんな感じ。雑なコードですまん。
https://gist.github.com/houmei/7c42c60a56e6f63c08467aaa3296722b

 同時押しすると別のキーになってしまうことがある。(追記:ADC入力値の範囲を絞ることで若干改善)うまく抵抗値を選ばないといけないかも。計算したExcelのシートをどっかになくしてしまった。

2017ankey1

2017ankey2

2017ankey3

Digispark互換ボード2種

 Digisparkつづき。

 Amazon経由で入手できるDigispark互換ボードはdigiStump.comのものと同じUSBポートに直接差し込めるもの(1)とマイクロUSBコネクタを搭載した独自のもの(2)がある。(1)のUSB-HID動作が不安定だったため(2)でも確認した。結論から言うと(1)をUSB延長ケーブル経由で使うと不安定、(2)はマイクロUSBケーブル経由で使うとOK、その先に同じUSB延長ケーブルを経由して使うと不安定だった。どうもUSBケーブルに左右されるようだ。

 (1)と(2)の違いは以下のとおり。
Digispark

(1)がオリジナルと同じ。(2)はOLIMEX製の互換ボードと同じ。このあたりはDigisparkが採用しているV-USBを見るとよい。
V-USB Hardware Considerations

D-,D+の直列抵抗について。ただしATMega32U4は専用のドライバ、ATTiny85はGPIO使用。
Topic: Why USB Data Series Resistors? (EEVblog Electronics Community Forum)

Digispark互換機の作り方:
Digispark DIY: The smallest USB Arduino(instructables)

実験用にチャイムのボタンとFRISK120%BOOSTERを使ってケース付きにしてみた。まだ色々入れることができるよ。
2017digispark2

2017digispark1

Rasbee CJMCU ミニ モジュール ATTINY85 ミニチュア USB マイクロコントローラ開発ボード Arduino 1個 [並行輸入品]
Rasbee CJMCU ミニ モジュール ATTINY85 ミニチュア USB マイクロコントローラ開発ボード Arduino 1個 [並行輸入品]
Rasbee
売り上げランキング : 77355


Amazonで詳しく見る
by G-Tools


記事検索
電子部品通販リストなど
竹下世界塔の計算機よもやま話
竹下世界搭のソフトウェア
zigsow (houmei)
ーーーーーー
ーーーーーー
livedoor プロフィール
QRコード
QRコード
  • ライブドアブログ