● 実験テーマ50

「自作オシロ_V5aの実験」
(自作オシロ_V5に、X-Yモードを追加しました。バージョン:V5aとしました。これで、リサージュ図形を表示できるようになりました。)

■ 2014.5.3
  ・まずは、X-Yモード(リサージュ図形表示)実験を行おうと思ったきっかけについて書いてみたい。

   この日に、私のHPの、問合せメールフォーム(「Nobosan_HPに関する連絡の件」)
   経由で、JA1WBYさんから、以下の内容の連絡が届いた。
   オシロ_V5を見てのコメントで、
   その中に、「XY機能があったらいいな〜」という、つぶやきが書かれていた。
   それまで、自分では、XY機能追加など眼中になかったが、このつぶやきに、感化
   され、実現できるか判らないが、とにかく実験を始めてみようと思い立ちました。

   実験ハードには、自作2現象オシロ初号機を使い、実験ソフトを書いて進めようと思います。
   まあ、その前に、X-Y動作の原理を、WEB検索で調べないといけないかな・・・


■ 2014.5.9
  ・X-Y動作(リサージュ図形表示)の原理を、WEB検索で、調べ始めた。
   あるサイトでは、「直交する2つの単振動を合成したものを、リサージュ曲線という」(実に教科書的だが・・)
   と書かれていた。
   この合成という意味がよく理解できなかったが、「木村の数学小ネタ」というサイトに貼ってあった
   「Lissajous curve」という、pdfファイルを見て、目からうろこという感じがした!!

   つまり、振動軸が互いに垂直な
    x= Acos(ω1t + α)
    y= Bsin(ω2t + β)
   を合成すると、(x, y)を座標として、xy軸にプロットした曲線となる。
   ということである。

   これを、自作2現象オシロ初号機で実験するとしたら、今のX方向の座標線(目盛)を細かくする必要
   がある。
   もともと、X-Yモード機能は想定してないので、X軸は時間軸となってるが、X-Yモードの時は
   X軸も、電圧軸(サイトで言う振動軸)になる。
   よって、従来のY軸と同じ、電圧軸分割(1目盛16dot)が必要になる。

   何だか、割と簡単に、XYプロットして、リサージュ図形を表示できそうな気がしてきた。
   まあ、そんなにあまくはないか・・・
   とりあえず、GLCDライブラリの、
lcd_Pixel関数をつかって描画してみることにした。


■ 2014.5.10
  ・リサージュ図形表示実験を、よく解らないままに実施。
   まず、座標表示を、X-Yモード用に変更。
   最初はよく解らなかったので、通常モード(DUALモード)での電圧軸は、Yなので、1CH入力を
   Y入力にし、2CH入力を、X入力に対応させて、X, Yプロットして、リサージュ図形をドット描画
   するように、実験ソフトを考えた。(プロジェクト名:Scope_XY_Lissajous_TEST)
   早速、ソフトを記述し、ターゲットにHEXを書込み動作チェックを行った。
   以下に、その結果を示す。


  ・何とか、リサージュ図形を表示できたものの、いくつかの問題点がある。
   <問題点>
    @ X電圧軸のZEROアジャスト範囲が、MAX中央までしか いかず、画面中央にリサージュを描くこと
       ができない。 (画面左半分にしか描けない)
       ソフトで座標補正をしたりしてみましたが上手く行かなかった。
       終段アンプのハードを変更
しないとダメなのかな?
    A オシロ入力をオープンにした状態では、以下のように座標表示がバラける。

    B 最初から解っていたが、やはりドット表示では、楕円表示のような時に、散布図のようにドット間
       が空いてしまって、ちょっと気になる。
       これは、後で、ライン表示にするなど修正したいと考えている。
       とりあえず、このまま実験は進める。


■ 2014.5.11
  ・昨日確認した問題点の内、A 
オシロ入力をオープンにした状態で、座標表示がバラける症状
   が、どんなきっかけで起こるか探ることにした。

   どうも、バラケル時は、1CHに対して、2CHの同期が取れない時であることが判った。
   この時、細かくTRIGポテンショを回していくと、同期が取れた時は、バラケが止まり正常な画面
   になる。

   考えてみると、今迄X軸を時間軸として使っていた場合(通常モード)では、AUTOトリガなので
   トリガ成立の場合は、成立したポイントからサンプルデータを取り始めるが、トリガ不成立の場合
   は、とにかく最初のポイントから取り始める。
   それでも、0.5秒毎の表示更新で、トリガ成立、不成立に関わらず、X軸:t, Y軸:Vで波形表示
   されていた。

   ただ今回のX-Yモードでは、X軸が電圧軸になる為、トリガ不成立の時に、そのサンプルを
   有効にしてしまうと、位相差を見る座標としては、デタラメな座標になる。

   つまりは、X-Yモードの時は、NORMALトリガにしなければいけないはず。
   なので、トリガ成立時のみデータを取得して表示を繰返せばよいはず。

   ※ この考え通りソフトを直したら、バラケル問題は解決し、さらにセンター表示にできない
      問題も、最初考えた座標変換で基本的に問題ないことが判り解決した。
      (そもそも、同期がずれると、表示がバラケテいたので、正しく動作確認できていなかっただけだ)

    


■ 2014.5.12
  ・ここで気になっている点を、直すことにした。
   まずは、入力CHと、X, Y入力の対応である。
   今は、オシロの、CH1が、Y入力、CH2が、X入力となっているが、これでは対応付が素直でなく
   分かりにくいので、CH1が、X入力、CH2が、Y入力に、ソフトを変更した。

   こうすると、CH1:X入力に信号を入力して、CH2:Y入力をオープン又は、ZERO入力の場合
   現在の座標表示では、中央のX軸が実線になっているので、CH1:X入力のZEROが取れている
   場合、中央のX軸ラインと重なって、X信号の入力レベルが判らなくなる。
   なので、中央のX軸も、ドット表示にした方がベターと考え、このソフト修正も行った。
   ここまでのソフト修正をした後の、サンプルを以下に示します。


■ 2014.5.13
  ・もう一点気になっていた、リサージュ図形の描画方法であるが、ドット表示から
   ライン表示に変更した。
   GLCDライブラリの、lcd_Line関数を使えばよい。
   以下に、ライン表示サンプルを示す。

  ・これで、自作2現象オシロ初号機を使っての、「Scope_XY_Lissajous_TEST」プロジェクト
   は、ほぼ完了したので、自作オシロ_V5にも、X-Yモードを追加してみることにした。
   プロジェクト名は、「Scope_V5a」とした。
   ハード的には、手持ちの、小型スライドSW(秋月)を、ライトアングル実装し、X-Yモード
   と、DUALモードを切替えるようにしたい。
   PIC24HJ64GP206の、RG9(CN11)ポートが空いているので、そこに接続すればよい。


■ 2014.5.14
  ・プログラムの方は、Scope_V5.cに、追加切替SWのリードルーチンを追加して、
   切替状態をチェックし、従来のDUALモードか、X-Yモード処理に分岐するだけでよい。
   尚、X-Yモードで、X軸中央ラインを実線から、ドット表示に変更したのに伴い、
   DUALモードも、同様に変更しました。

   詳細は、最後に添付した、ソースファイルを参照してください。
   実験機で十分チェックしたので、本番は問題なく行きました。
   サンプルは、このページトップの、見出し写真を参照してください。


<最終回路図>
 ・こちらから、どうぞ→ 「自作オシロ_V5a(1/2)」 (デジタル部)
                ※ アナログ部の回路は、「自作オシロ_V5(2/2)」と同じです。

<最終ソース>
 ・こちらから、どうぞ→ Scope_V5a.c


← 実験テーマ1に戻る   TOP PAGEに戻る   実験テーマ51へ →