JA1WBY
4)PIC18F4525-TEST-そのA(もろもろ備忘録)
10Hz〜10MHzの周波数特性 の測定について。
(AD9835でF-拡張)ソフトVer2が完成しました。
周波数特性の測定範囲が選べる統合ソフトVer3が完成しました。

  • C 言語の解らない70過ぎのおっさんの備忘録です。

    参考文献
    1)「LCD活用の素」他。後閑 哲也著
    2)「電子工作の実験室」WEB
    3)「PICで遊ぶ電子工作」WEB
    4)「マイコンで遊ぼう」 WEB

    環境は、「MPLAB IDEv8.60」と「PICC Lite編」コンパイラ(無料版)とPickit-2

    1)2012-0205
     まずは別項で一応のPIC18F4525のアプリケーションが(2本、周波数特性装置Ver1)完成致しました。
    だが、あの液晶ドライブ方法では私の次に作成したいアプリが出来ません、Hi。
    ではどうするか、ここはやはり後閑氏の方法を試す(いや挑戦)しかありません。 これが中々大変そうです。完成しないかも解りません、がやはりやるしかありません、Hi。
     方法とFONTは(PIC24HJ12GP202のオシロの製作)の移植です。

    2)2012-0206
    Config部分を残して取りあえづ、ちょっと移植してみたら・・・あらら・・・・動かない。
    ERRだらけになった・・・・・ん、〜ん、削除削除いや"//"をいれまくりました。
    ビルドできるようになったがLCDに何も表示してくれない・・・・?。
    "Font.h"がうまく読み込めない、のか?ビルドerr・・・・が。
    "Font.h"の最初の文を少し替えてみた。 const rom char Font[192][5] = constの後ろにromを追加したらビルド 出来た。C18Fでは"rom"が必要なのか?、必須なのか?。(必ず必要みないです。2012-0222追記)
    Fontのソースがどうしてもうまく読み込めない、どうやら根本的にPIC18とPIC24では違うののだろうな?。 違うものに転換が必要になるのだろうな〜・・・・。
    これを読んでも中々ピンとこな〜い。Fontデータをどう読み込むのだろう?。やはり読込む関数?がきもかな?
    WEBで検索したら16F876でもこの液晶をドライブしているサイトがあったが・・・・・・どうなんだろう、情報が少なくて 詳細は解らづ・・・・・。

    3)2012-0220
    なかなか進まないが・・・久しぶりにビルドしてみました。・・・あらら・・今日も・・動かない。
    で今日は何がまずいのか現象の把握としよう。
    1)まづ「ビルド出来ない」----abs---でERRが出ます。下の画面



    2)----abs---をマスクしてビルドしたらERRは出なくてビルドができました。



    3)上記でビルドしたらLCDに画面が出た、が配列と文字がおかしい。
    位置と文字がうまく表示できていない。


    4)さてさてと、ABSとは何ぞや・・・・・・・何処にあるのだろう???。
    5)Fontはどうやって配列が決まるのだろうな〜?。また〜・・・・悩みます・・・・。

    4)2012-0227
    なかなか進まないが・・暫らく気分転換のあと心機一転?・ソースを手直しいたしまして久しぶりにビルド。
    ・・・あらら・・今日もまだ・・動かない。
    が一部分で画面が出るようになりました。
    何か勘違いしているのかな〜・・・・一番使いたい文字列・lcd_Str()関数の表示がはちゃめちゃ・・・・・・・。
    で、メモ用に動く関数だけでの画面をキャプチャしておきました。

    Line表示・・・・・OK
    ドット表示・・・・・OK
    1文字表示・・・・・OK
    サークル表示・・・・・OK
    文字列表示・・・・・NG・・・・?

    ま〜、使うのは英数字だけなのでこのままでも作れないことは無いと思うが・・・・・・?

    4)2012-0229
    前回に英数字だけが表示できるようになったのでちょっとグラフ表示にしてみました。
    ・・・・あらら・蜂の巣・・・何ぬ・・・直線(Line)飛びが出ている・・・・なぜだ〜・・・・。
    初めての現象なので、とにかく原因は解らないが・・・・・。画面写真をUP。

    Line表示・・・Dot抜けが発生・・・・NG
    短いLine表示・・・4dot Lineでも・・NG
    ドット表示・・・・・OK
    1文字表示・・・・・OK
    文字列表示・・・・・NG・・・・?

    1)Line関数が悪いのかな〜・・・・・?
    2)Clokの差なのかな〜・・どちらもPLL使用で・32MHzと40MHz・の違い?。
    3)それともLcdの表示関数?の違いなのかな〜・・・。
    4)それとも・・・何か他に〜・・・・?


    5)2012-0301
    昨日の
    >1)Line関数が悪いのかな〜・・・・・?
     どこもおかしい処は無いみたい、どだい早い話、見ても解らん・・・が正しいかな?。
    >2)Clokの差なのかな〜・・どちらもPLL使用で・32MHzと40MHz・の違い?。
    ここが一番あやしい・・・でOSCを10MHzでPLLx4を外してみた。・・遅いが正しく表示できた。
    ではと、OSCを8MHzxPLLx4に交換してみた、案の上簡単に直った。
     それではまたメモに写真をUP。
     ん〜、なかなかいいみたいと1人ごと。やはり見慣れたこちらが良さそうだね。


    OSC10MHz x PLL4倍からOSC8MHz x PLL4倍に変更しようかな、 遅くなっても弊害は無いだろう、まあ〜実験だからな・・・・。
     それではあとで使えるように手直し使用かな〜・・・・・・・?
    それにこれには点線が引けない?な〜で後で〜・・・とどういうことになるか?。


    6)2012-0305
    前回の
    >1)Line関数が悪いのかな〜・・・・・?
    点線のライン表示は関数を改造(追加)してある程度の「めど」が付きました。
    だが、まだ解らないことが多々あります。
    1)液晶表示器を変えると文字(画面)が出ず真っ白になります。
     表示OKなのは「SG12864A2 青い画面」。
     表示NGなのは「TG12864B-02 白い反転表示画面」。
      前のバージョンのソフトでは両方共OKなので?
    今回はデレイを入れてもNGで・・・・・・・?????のまま。
    2)IF文の切り換えがうまくいかない・・・・・????
     (なぜだ〜・・・・・まだ、原因不明中・・・・・????)
    SW入力の勉強しなくては・・・・・?。もともと何も解かっていないもので〜・・・?。

    取りあえず出来るものだけで画面表示を作って診ました。




     3)
       手元にDDS-ICのAD9835があったのでテスト機を作成
     PT基板のパターンはIC互換なのでGood、
     (元はと言えば互換性のあるICを選択しておいたのでした。)




    4)
     PGA-2311のATTを通した時の写真です(0db)。
     ATTは大体 〜2MHzですね。
     やはり 10Hz〜1MHzはいい選択範囲ですね。
    (オーディオなのでもともと1MHzで充分と思っています。個人的に)
     このドット表示は太くて見やすくていいと思います。
     この表示の為に小さい文字パターンも作製してみました。
     なかなかいい雰囲気が出ていますね。
     だがdbmの方はチョットつぶれぎみ?かな。






    5)
     同じくATTを通した時の写真です。(-20db)
     こちらの方がすこしばかり良いように見えます。






    6)
     ATTを通さない時の写真です。OSC出力から 直に入れました。
     やはり 10Hz〜10MHzはまあ〜ま〜使えるかなと思います。
    (今回はドット表示にしてみました。)







    7)
     前と同じようにベクトル表示です。
     何とも3種3様と言いますか、後は好き嫌いの問題かな?。
     (もっとも前回のソフトではこの方式しか表示出来なかったのだから仕方がないね。)



    7)2012-0308
    前回に続いてグラフの方は出来たのだが電源ONの時の切り換えがどうもできない。
    前のソフトと端子類は互換にしてあるので、今回、何故うまく切り換えが出来ないのかが 理解できない、簡単に言えば、まだ知識が無いと言うことに尽きるのだが?不思議です。 何か?どこかで勘違いしているのだろう・・・・・?
    で、「IN-OUT」は基本的には変わらないので変更した「周波数特性」だけのHEXソフトをここに 備忘録としてUPしておこう。


    8)2012-0309 ソフトVer2-2が完成
    ちょっとクーリングダウンしたら見事に勘違いが見つかりました。
    無理に難しい「LAT」でやろうとしていたのでした。簡単にポートでやれば良かっただけ。あ〜しんど。
    で、以下の様な2画面が「バージョン1のハードの1部改造(PICのOSC変更10M--->8MHzに)で
     「HEXファイル」を差換えるだけで実現できます。

    1)注意)
     a)グラフとしてはこんな感じでいいかなと思います。
     b)PICのOSCを10MHZから8MHzに変更致します。
     c)ミドのLCD(SG12864A2)専用です。
     d)10Hz〜10MHz の写真です。(-20db)(AD9835使用時)
     e)(AD9832でも10MHzの信号は出ますが、どちらも
     オシロが故障中なので10MHzの波形観測はしていません。)
     f)自己責任で・・・・
     g)実験用,IN-OUT測定&周波数特性(10MHz)のソフト。(Ver2-2)



    9)2012-0310 ソフトVer2-1が完成
    ソフトVer2-1として「10Hz〜1MHzのF-TOKUとIN-OUT SOKUTEI」をUPします。

    1)注意)
     a)これはPT基板の動作確認用のソフトです。
     b)PICのOSCを10MHZから8MHzに変更致します。
     c)自己責任で・・好きな方をご使用下さい。
     d)実験用,IN-OUT測定&周波数特性(1MHz)のソフト。(Ver2-1)



    2012-0311
     「実験用,IN-OUT測定&周波数特性(1MHz)のソフト。(Ver2-1)」の変更と誤記訂正を致しました。


    いや〜付け焼刃ではだめだな〜・・・・ちょっと大きな壁。
    C言語が操れるようになったらVer1の置換えにUPすることにしよう。
    ちょっと「LATEの使い方」の勉強を? or 暫らく?休憩とするかな?・・・・・・・つづく


    2012-0312
     「周波数測定範囲が選べる統合ソフト。(Ver3)」が完成。

    試行錯誤の結果、ソフトの開発?がうまくいきました。
    これで最初の目論み通りの周波数範囲が選択できるようになりました
    ソフトでの端子のPllupをしなかったので少しばかりの回路の追加が有りますが一応想定範囲内です。
    改造の回路図など詳しいことは今回はPDFファイルに致しました。
    (注意。SD-CARDへのアクセスは今回は見送りです。)

    かなりの大きなファイルになりました。


    2012-0312版 測定風景写真
    追加のSWについて
    1)今回はSW20の静止状態での周波数モードの選択をおこないますので簡単に言えば何でもOKです。
     (ON-OFF-ONの物)
    2)SW30もLowになった瞬間(と判断された)に動作開始するので何でもOKです。
     (プッシュON(短絡)する物)



    2012-0312版 HEXソフトVer3
    「周波数特性範囲が選べる統合HEXソフト。(Ver3)」が完成。

    2012-0319版 HEXソフトVer3b
    測定中にLED1が点滅するようにしたソフト。R17=10KΩのこと。
    「周波数特性範囲が選べる統合HEXソフト。(Ver3b)」が完成。

    2012-0415版 HEXソフトVer3c
    10〜100KHzのグラフを変更致しました。(見てくれが少し良くなった気がするが。)
    「周波数特性範囲が選べる統合HEXソフト。(Ver3c)」が完成。

    2012-0312版 PDFファイル(改造資料等)
    「周波数特性装置(Ver3)」が完成。2012-0714 更新


     -----No.4 end --------


    もどり

    All right Reserved, Copyright(C)JA1WBY 2012