● 実験テーマ73
「PIC24F_GCシリーズによる、高速オシロの実験_2」
(前テーマの基板に部品を追加(電圧レンジ切替追加等)して、今迄の自作オシロのように使える形にまとめてみました。)
以下、この実験の顛末記です。
■ 2015.12.21
・前テーマの時から、最終的には、今迄の自作オシロのように機能を追加し、使える形に
しようと思い、ある程度は、追加部品を想定して、部品配置を決めていましたし、空きエリアも確保
していました。
それでも、かなりの追加になるので、特にアナログ部は、キツキツの実装になってしまいそうです。
さてどうなることやら・・・
・次の2つのステップで実験を進めようと思います。
Step1: ロータリ・エンコーダ(RE)によるトリガ調整機能の追加実験+HOLD SW 追加実験
Step2: アナログ回路全面改造(AC/DC切替・電圧レンジ切替追加)
シングル・トリガ・モードの追加
・まずは、水魚堂で、上Step1,2の追加機能を全て網羅した回路図の作成から開始しつつ、
REによるトリガレベル調整の仕様を検討することにした。
REによるトリガレベル調整機能は、モノクロGLCDを使ったオシロ(実験テーマ62)で採用してますが、
カラーQVGAオシロでは、初めてです。
アップダウンSWを使った例は、QVGAオシロV4の時にあるが、トリガレベル・マーカー表示の位置は、
目安程度のものでした。
今回は、出来るだけ正確な位置に、マーカーを表示したいと思います。
■ 2015.12.22
・REによるトリガレベル調整機能仕様を考える。
Y方向解像度:240dotの制限から、マーカー描画が、近似的な位置(かなり近いが・・)になって
しまうが、たぶん視覚的には違和感は、そんなに無いと思うので、そのまま進めてみる。
Y方向の解像度が、256dotあれば、1dot当たり、AD変換値で、1024/256=4になるので、
0〜3Vまでのトリガ電圧を扱え、マーカーも正確な位置に表示できるが、
240dotの内、Y座標線を、233dot分使ってフルスケールとしているので、1dot当たりのAD変換値は
4.395と割切れない。
なのでレベル分割は、1024を、256分割とし、マーカー表示は、233dot分しかできないので
その分の表示のみとした。
よって、中央レベルを、1.5V(512)として、−側は、約0.1〜 +側は、約2.9Vの、トリガレベル範囲
となる。
以下に、トリガ仕様をまとめました。
<トリガ仕様>
・初期値=512(センター:1.5V相当)、1STEP
±4(約12mV相当)
・センター:512を中心に、±116テップになる。
・117ステップ目は、+側は、Y座標の上限232をオーバー(233)するので、
POT=976(116ステップ目の、トリガ値)とし、−側も、117ステップ目に、Y座標の上限0をオーバー
するので、 POT=48(116ステップ目の、トリガ値)とする。
・水魚堂による回路図作成完了。
また、追加部品のリストを作成した。
■ 2015.12.23
・追加部品の手配を済ませる。
■ 2015.12.24
・Step1の内容以外で、追加しようと思っていたことがあったので、それをやることにする。
それは、サンプル周期の低い方のレンジを、いくつか追加することである。
最初の実験では、高速オシロということで低い方は、省いていたのだが、それでは実用的では
ないので追加することにした。
ハード的には、切替SWに使っている、10進のロータリ・ディップSWを、16進のものに
変更が必要である。
そして現在割付けられている、0〜9以外の、10〜15に、その低いレンジを割付けることになる。
低い方の割付けは以下のように、決めた。
10:20mS/D(SMP= 500u)
11:50mS/D(SMP= 1250u)
12:100mS/D(SMP=2500u)
13:200mS/D(SMP=5000u)
14:250mS/D(SMP=6250u)
15:500mS/D(SMP=12500u)
これを基に、T2の、PR2と、PS2の設定値を決めて行けばよい。
■ 2015.12.25
・REによるトリガルーチンの書き方は、自作Scope V2のソースにならって進めればよい。(メインループ処理)
他のSW割込み記述(CN割込み)の記述は、今迄のPIC24F系と同じと考えて良さそう。
・部品は全て今日届いたが、計画通り、まずは、REトリガ+SLOPE切替+HOLD
SWのところまでの
プログラムを用意(TEST_2)してから、その部分の改造を行い、チェックを行うことにする。
■ 2015.12.26
・Step1までのソース書き上げる。
コンパイルOK、HEXまで準備できる。
■ 2015.12.27
・Step1までの基板改造が完了した。
・HEXを書込んで、チェックに入る。
まずは駄目。トリガレベル・マーカー表示と、実際のトリガレベルのプラス側が大幅に合わない。
これはイージーミスで、プラス側のステップが、4でなく16になっていた。
これを直しても、未だおかしい。
自分の思い違いのせいであった。
何故か、液晶のY方向:240dotを全て座標軸に使っていると勘違いしてしまった。
233dot分を座標軸として使っているのであった。(最初の説明の通りである。)
なのでこの範囲で、レベルと表示を合わせるよう修正してOKになる。
SLOPE切替と、HOLD SWの機能は問題なかった。
これで、Step1までの動作はOKとなる。
■ 2015.12.28
・Step1までのサンプル取りを行った。
■ 2015.12.29〜 2015.12/31
・Step2の準備に入った。
面倒な、追加改造を行う。
初めから懸念はあったが、少ないスペースの中に、追加改造分を押し込んだ。
基板エッジ側にも、リード挿入穴が無いと、とても実装できないので、そこは購入しておいた
ピンバイスで、0.8φの穴を開けた。
今回おおちゃくして、ギリギリ穴のあるところでカットしなかったのがいけなかった。
なんとか、12/31 15:00頃、改造完了となった。
・Step2までのソフトを書き上げた。
コンパイルOK〜 HEXまで準備できた。
・まずHEXを書込み、追加ICを実装して、デバッグに入った。
いろいろ不具合が出た。
■ 2016.1.1
・不具合を抱えたまま、新年を迎えた。(去年もそうだったような・・・)
・結果的には、ノイズ問題を除いては、大方OKになった。
以下に、発生した不具合点と、対処事項について整理し、列記してみた。
<発生した不具合点と、対処事項>
(1) アナログ部
@ 入力ZEROにて、OFFSET VRで、センターレベルに出来ない?
→ 配線ミスだった。
内蔵初段OPアンプの、−ピンが、AGNDとブリッジしていた。今回の改造の時ブリッジ
してしまったようだ。
これを直してOKになる。
(2) デジタル部
@ 電圧レンジを切替えても、"50mV/D"表示のまま変化しない。
また、AC/DC切替スライドSWの読込みがNGで、切替えても、DCキャラクタ表示のままになる。
→ 当該ポート(RD)がデフォルトのアナログピン設定になっていた。
ANSD= 0;設定追加でデジタルピンにしたらOKになる。
A AUTO/SINGLE切替スライドSW(RF3)は読込んでいるようであるが、SINGLEにして、
READY SWを押しても、READY LEDが点灯しない。
→ READY SWと、AUTO/SINGLE切替スライドSWは正しく動作していることを確認した。
よってLEDの動作がおかしい。
結局、使っていたLEDのカソード面のカットがはっきりしていなくて、向きを間違えて実装
していた。修正でOKになる。
■ 2016.1.2
・残りのノイズ問題を調査し対策を打った。
毎回、苦労していることであるが、今回はだいじょうぶだろうと、+5VラインのLCフィルタは省いていた。
@ いろいろやったが、結局、ノイズ源は、+5V(ACアダプタ出力)の電源ノイズ(オシロで見ると0.1Vmax位)
であった。
ここにいつもの、LCπ型フィルタを追加した。
A ただこれだけでは駄目で、このノイズが一番影響している、4051のアナログSWと、後段の
電圧バッファアンプのパスコンの容量変更と追加を行った。
・4051の+5Vパスコン→ 0.1uを10uに変更しさらにパラに10uを追加。
・電圧バッファアンプの+5Vパスコン→ 0.1uとパラに、10uを追加。
尚、チャージポンプ出力(-5V)のノイズの影響は殆どないようなので、今回ここにはLCフィルタを追加してない。
ただ、最初から大き目のコンデンサ100uを実装しておいた。
※ @、Aの改造で良くなった。
以下にその様子をアップしました。
(尚基板を改造している時に誤って、液晶のガラス面(右側)にヒビを入れてしまったため、その補修のために
黒ビニールテープで補修したのが写真にも写っていますが、ご了承のほどを。→ 後日交換しました。)
ただ、ちょっと気になる点あり。
ハイレンジ(20uS/D, 10uS/D)で、時間軸を、いっぱい使って1周期を表示した場合、多少だが、
波形が歪んで表示される感じがする。
■ 2016.1.3
・昨日のハイレンジの波形表示が、若干歪む現象だが、結局は、初段のアナログSW(4051)
を、もう一つ余分に購入しておいたものに交換したら、嘘のように? 綺麗な波形表示になった。
この歪の原因は、はっきりしないが、入力のAC誘導成分のような気もする。
ともかくこれで良くなったのでOKとした。
・未だ矩形波入力の波形確認をしてなかったので、やってみました。
以下に、矩形波入力時のサンプルをアップします。
・DCレンジにて、電池から直流電圧を与え、各電圧レンジの確度を確認した。→ OK
・OFFSET調VRが、クリティカル過ぎて、ZERO点が合わせずらい。
これは最初から分かっていたことなのだが、おおちゃくして改造項目にいれずそのままにしていた。
いつものように、VRの両端に、20kを追加した。これでほどよい感じになった。
■ 2016.1.4
・遅れたが、この時点の電源コンディションを確認した。
+5V:5.18V
-5V:-4.96V
VCC:3.29V
AVCC:3.26V
+5V入力電流:0.14A
・最後に、SINGLEトリガ・モードをチェックした。
AUTO/SINGLEの切替え、READY SWの動きはよさそうなのだが、READY
LEDの動きがおかしい。
SINGLEモードにして、READY SWを押し、トリガ待ち(READY
LED ON)にした状態で、信号入力
せず、AUTOに切替えた時、READY LEDが消灯しない?
これはイージーミスであった。
AUTOモード処理の最初に、LED OFFと、READYフラグ類のリセットが抜けていた。
これを追加して、SINGLEモードも、OKになる。
※ これで全ての機能がOKになった。
今回ケーシングは特にしてないが、底板だけは付けて、ハンダ面を保護すると同時に、そこに
タカチ電機工業の、「TI型チルトスタンド
TI-70S」を取付けて、斜め置き可能にし、操作性を
よくしました。
■ 2016.1.6
・最終的な、外観と波形サンプルを取りました。
このページトップの写真を参照してください。
<最終回路図>
・こちらから、どうぞ→ 「PIC24F_GC_高速オシロ実験回路_2(1/2)」 : デジタル部+アナログ部2
「PIC24F_GC
高速オシロ実験回路_2(2/2)」 : アナログ部1
<最終ソース>
・こちらから、どうぞ→ High_Speed_Oscillo_Test_2.c
※ この他に、QVGA液晶ライブラリと、フォントデータ(ヘッダファイル)が必要ですが、
それは、前テーマ72のと同様なので、そちらを参照してください。
← 実験テーマ1に戻る TOP PAGEに戻る 実験テーマ74へ →