● 実験テーマ52
「自作オシロ_V6の製作実験記」
(JA1WBYさんのP板を使って、カラー表示の、2現象オシロ(X-Y機能付)を作ってみました。)
※ 161115:
→ モノクロ・オシロに比較して、カラー・オシロの液晶画面のチラツキ感が多いのと、
画面更新間隔が長い(1秒)を、ソフト更新により、改善してみました。
Soft_Ver1.02としました。
詳細は、2016.11.7からの記事を参照してください。
■ 2014.6.8
・前テーマ51で、オシロ_V5aの、カラーQVGA液晶表示版の実験は済んだ。
その実験結果を受け、使える形に、ハードウエアを作り上げることが
今回のテーマの主目的である。
・また今回、私のHPの情報(実験テーマ51のソースと回路図)を参考にされて
2現象オシロのP板(メインP板:PIC-2CH-osiro Ver8+ATT P板:ATT-ADP
V7 2枚)
を製作されたJA1WBYさんから、そのP板を譲って頂けることになったので
そのP板を利用して、カラー表示の2現象オシロを作ってみようと思い立ちました。
・本日そのP板が、JA1WBYさんから届きました。
P板には、TQFP64パッケージのPICが実装済みです。
また、10kのチップ抵抗と、数種類のスモールサイズの金皮抵抗も一緒に
同封されていました。
P板他を譲って頂いた、JA1WBYさんには、心より感謝申し上げます。
■ 2014.6.9〜 2014.6.10
・全体の筐体構造を検討した。
<筐体構造案>
@ 基本的に、オシロ_V5aの構造に準拠する。(前後アクリル+スタッド構成)
A QVGA変換基板(モノクロI/Fを、カラーQVGAI/Fに接続変換する基板)をユニバーサルで
作り、それに、QVGA液晶を実装する。
そして、そのユニットと、メインP板を背中合わせにスタッド止する構造にし、1つのユニット
として扱えるようにする。
B Aのユニットとは別に操作部(ATT基板, SW, VR, BNC類)を、U字型のベースボード
(ユニバーサル基板にて製作)上に実装し、Aのユニット(メインPIC基板+QVGA)と、
多数のケーブルAssyでコネクタ接続する。
■ 2014.6.11〜 2014.6.12
・自分用の回路図を水魚堂で作成した。
■ 2014.6.13〜 2014.6.15
・かなり実装密度の高いP板(メイン+ATT)で、チップ部品も多用している。
ここで、手配すべきパーツリストを検討・作成した。
・パーツ手配済
■ 2014.6.16
・パーツが届くまで、手持ちの部品と、JA1WBYさんの支給部品で、できるところ
の実装を進めることにした。
■ 2014.6.17
・マルツ・秋月手配分のパーツが到着した。
■ 2014.6.18
・欠品が若干あるため、全て実装とはいかないが、一応実装完了。
・テーマ51で作成した、QVGA治具を使って、とりあえず、ロジック部のみの動作チェック
を行った。
@ 電源チェック
・各電源ピンと、GND間が、ショートしていないかチェック→ OK
OK確認後、LTC1144のみ実装
・QVGAを実装する前に、各電源電圧をチェック
5V→ 5.21V
VCC→ 3.29V
AVCC→ 3.26V
-5V→ -5.21V
A HEX焼き(PIC24H_QVGA_TEST.hex)
・PIC認識〜 HEX焼きまでOK
B QVGAを治具に実装し、表示テストを行う
・表示テストOK!!
C 上写真の状態で、電源電圧確認
5V→ 5.14V
VCC→ 3.29V
AVCC→ 3.25V
-5V→ -5.13V
・ロジック部は動いているようである。
次に、モノクロ液晶I/Fを、カラーQVGA液晶I/Fに接続変換する基板を作らないといけない。
これをユニバーサル基板で作って、メイン基板と背中合わせにスタッド接続する構造を
考えている。
今日は、その基板の加工と仮組確認まで済ませた。
■ 2014.6.19
・QVGA変換基板の配線をし、スタッド構造に組立後、再び表示テストを行った。
問題なく動いているようである。
■ 2014.6.20〜 2014.9.22
・メインP板上の多数のコネクタと、ベースボード間の、総合配線のイメージ図を、ラフ書きにて
作成し、ケーブル引き回しのイメージを掴む。
・ベースボード(ユニバーサル基板)の加工図を作成し、加工と部品取付けを行った。
尚、ATT-ADP V7基板の、ベースボードへの取付けは、基板の4隅に開いている
1.5φのスルーホールの内、対角線上の2箇所のスルーを、ドリルで、2.2φのバカ穴
に加工し、M2のナット分の厚み(1.5mm)だけ浮かせ、M2のナベとナットで固定した。
ワイヤの引出しのため、基板下に逃げ穴を加工するのが若干面倒だった。
■ 2014.6.24
・前後アクリル板の加工図を、ラフ書き作成し、加工〜仮組みまで行った。
以下に、仮組した時の写真をアップしました。
尚、この時点では、手抜きで、2CH入力BNC直下に、
補強のための、L=30mmのスタッドを取付けていませんでした。
■ 2014.6.25〜 2014.6.27
・総合配線開始
と言っても、殆どが、ケーブルAssy作りだが・・・
これが結構手間だった。
手持ちの関係で、日圧のXHコネクタを使ったのだが、そのコンタクトの圧着が問題で
(まあ会社勤めの時は、専用の圧着工具を使えたので何の問題もなかったが・・・)
個人で高価な圧着工具を持っているわけもなく、ラジペンによる手圧着と、それだけでは
接触不良の可能性があるので、薄くハンダ付が必要になる。
これが手圧着が弱かったり、ハンダの量が厚めになると、ハウジングにコンタクトを
挿入する時に、きつくて入りずらかったりする。
また無理やり入ったとしても実際、ピンヘッダに挿入する時、とても固く押し込め切れなく
なったりする。
何本かコンタクトを無駄にしてしまい再手配という場面もあったが、何とかケーブルを作り終え、
メイン基板との総合配線を終えた。
以下に総合配線の様子をアップしました。(写真の撮影日は、2014.7.1です。)
・配線は終了したが、本番のソースは未だまとめてなかった。
実験時に作ったソース(オシロV2を使った実験で、ソース名;Scope_V6_TEST)と、
Scope_V5aのソースを元に、本番ソースをまとめ上げた。
早速コンパイルし、HEXまで用意し、書込みまで出来た。
・動作チェック
その前に、総合結線状態での、電源ショートチェックを行ったところ
-5V⇔GND間が、結線状態でショートしていることが判った。
これは、総合配線ミスで、ATT-ADP V7基板の、-5VとGNDがテレコ配線になっていた。
入れ替え修正を行った。
今回は電源電圧測定は先送りして、いきなり動作確認をした。
結果、まあ動いてはいそう。
ノイズの影響も殆ど気にならない。ZERO輝線の表示も綺麗である。
ところが、いじって行く内にイージーミス(プログラム上)発覚が多発。
TRIG, READY LEDが点灯しない等だが、
いずれも、実験時のオシロV2のポートのままになっていることが原因だった。
他の症状(X-Yモード時の座標表示が変わらない等)も、V2の時の記述の
ままになっていただけで、すぐに修正し動作確認は大方済んだ。
DCモードにて、各CHのGAINアジャスト(校正)を行った。→ OK
また今回は、前回問題になった、ACアダプターの違いによるノイズの影響は無かった。
電源ラインにダブルに付けてある、π型LCフィルタが効いているようである。
■ 2014.6.28〜 2014.7.1
・残チェックとして次項目を実施
@ シングルモードの確認→ OK
A 全電圧レンジの確認→ OK
B 全時間軸レンジの確認→ OK
C 稼働時の電源コンディション(各電圧・消費電流)測定→ OK
測定条件:2CH表示(1kHz 3Vp-p入力)
測定結果;消費電流(5V入力)→ 125mA
5V→ 5.13V
-5V→-4.95V
VCC→3.29V
AVCC→3.17V
・全ての機能の動作確認が出来たので、サンプル波形取りを行った。
これについては、本ページトップの見出し写真を参照してください。
---<ここから、追試:「チラツキ感と、表示更新間隔の改善」の記事>-------------------------------------
■ 2016.11.7
・自作カラー・オシロの画面更新時の、チラツキ感が、モノクロより目立つのを何とか改善したい
という思いが、ずっとあった。
・実は、これ以前(140930)に、Scope_V6_Soft_Ver1.02で試している。
この時のドキュメントを見ると、そんなに変わらないということだったが・・・
今回、再度見てみると、少なくとも、1画面分のAD変換データ更新毎に、全画面をクリア
するのではなく、見かけ上、波形のみをクリアしているので、バックグランドの座標線と
計測条件表示は、常に表示しているように見える。
もう少し詳しい動作の流れを説明してみる。
@ 1画面の波形を指定カラーで描画した後、さらに短めの時間後、黒で描画し、波形のみをクリアする。
A そうすると、ドットで表示されている座標線の一部(波形と交差している部分)が消えてしまうので、
座標線は、その後、上書きする。
前よりは、見た目の感じは改善されていると思う。
ただ、この時の実験では、この改善で、HOLD_SWの読込みタイミングを、変えないと
いけないことが判っている。
また、遅いサンプル(時間軸:10mS/D以下)にすると、座標線の欠けが目立ってしまう。
そこを含めて、追加の実験をしてみることにした。
・HOLD_SWの読込みタイミングは、以下のようにして解決した。
メインループで、HOLD_SW ONによるフラグをチェックして、ホールド動作に移行していたのを
Oscillo関数の中で実施し、HOLD_LED点灯/消灯の判断は、AxisDraw関数の中でなく、
CN割込み関数の中で、直に実行するようにした。
・遅いサンプルでの、座標線の欠けが目立つ問題は、以下のようにして解決した。
現在、Oscillo関数の頭で、1回だけ、座標線を描画していたが、波形ラインをクリア直後にも、描画して
リフレッシュするようにした。
これで完全ではないが、遅いサンプルレンジで、波形周期が詰まっている表示状態でも、直ぐリフレッシュ
するので症状は緩和されたと思う。
■ 2016.11.9
・8日までに何とか、全モード(DUAL・X-Y・SINGLE)で、少しは改善が見られたが、
ちょっと気になることあり。
現在、波形線描画前と、描画ホールド後の、波形線クリア後に、座標線と計測条件をリフレッシュ
している。
座標線の下の方にテキストエリアがあるので、その重なった部分のテキストのドットが、一瞬、
座標線に浸食されてチカチカする。
これの対策をしたい。
<対策>
@ 現在の、AxisDraw関数は、座標描画の他、計測条件の読込み表示処理も兼ねている。
計測条件の読込み表示は、メインループの中で、1回だけ実行すれば良いので、
座標描画(専用)関数と、計測条件読込み表示関数の、2つに分けることにした。
A 計測条件読込み表示関数の方は、Oscillo関数の頭で、1回だけ実行するようにした。
⓷ 座標線とテキストエリアを完全に分ける。
Y座標線(時間軸側)のみ、左端のラインを除く、6本のライン長を、テキストと重ならないように
短くした。
※ この対策で、上手く行く。
・この作業をしている時、に、ソース上に無駄な記述があることに気付いた。
どうも、Scope_V6の、基にしたソースが、Scope_V5(モノクロ)だったようで、V5で使っていた
dotLine関数のプロトタイプ宣言と、実際の関数記述が残っていた。
これは、V6では使ってないので削除することにした。
■ 2016.11.10
・表示更新間隔の短縮を試みてみた。
現在は、1秒を0.5秒にしただけで、モノクロと同じになっただけである。
気持ち的には、数10mSにしたいのだが、今のままの配色(1CH:マゼンタ/2CH:GREEN/座標線:ブラウン)
だと、速くはできるが、輝度が極端に薄くなる。
実験的に、1CH:シアン(文字色:シアンからホワイトに変更)に変更してみて、表示更新間隔を、10mS
にしてみた。
う〜む・・・
かなり薄くなるが見えない訳ではない。(もちろんホールドすればいつもの止まった綺麗な波形表示になる。)
・確かに、更新インターバルを、10mSと極端に速くすると、信号追従性は向上するが、一瞬、波形を消しているので
輝度が極端に薄くなる。(たぶん消す時間を、ものすごく速く出来れば残像現象で止まって見えるのかな?)
そこで、インターバルは、輝度が薄くならない程度の、MAXを試行錯誤した結果、50mSとした。
配色は元の方がバランスが良いので、元に戻した。
その結果、輝度も前とさほど変わらず、速くすることが出来た。(前と写真で見た目は変わらないのでサンプルは無しです。)
<最終回路図>
・こちらから、どうぞ→ 「自作オシロ_V6(1/4)」 (デジタル部)
「自作オシロ_V6(2/4)」 (アナログ部)
「自作オシロ_V6(3/4)」 (電源部)
「自作オシロ_V6(4/4)」 (表示部)
<最終ソース及び、ヘッダファイル>
・こちらから、どうぞ→ Scope_V6.c
colorlcd_lib_pic24hj64.c
colorlcd_lib_pic24hj64.h
ASCII12dot.h
※ メイン・ソースを更新しました。161115→ Scope_V6__Soft_Ver1.02.c
← 実験テーマ1に戻る TOP PAGEに戻る 実験テーマ53へ →