ホーム

2009/07/24
TRIO DM6 を持っているのですが、自作の研究をしてみました。


HAMジャーナル79のデップメーターの全て に解説されているものを作ってみました。

回路図です。




記事では1-100MHzとなっていますが、200MHz位まで使えそうです。
1コイルで4倍の周波数まで使えます。
200-50,50-12,12-3,3-0.8 4個のコイルで全バンド 200MHz以上は別回路で作成

TRは手持ちを使っています。
周波数表示はカウンターを組み込むことにしました。



使用した7セグが4桁パラ接続のため普通の接続方式にしました。
発信回路が9V動作のため7805を使って電圧9-5Vに変更


JWCADで基板設計


30o*34oの大きさです。



PICでは60MHz までしか使えませんからプリスケーラーを付けてみました。
ヤオフクで入手したBG3013です。
上は450MHzをカウント中です。ところがこのIC感度が低いです。規格では0.2Vですが、入力100オームで終端してSG出力1Vでカウントしています。


問題発生 低いほうは60MHzが限界です。低域は何が制限しているのでしょうか?等価回路が無いので??
IC内部にコンデンサーは無いと思うのですが!


基板裏のプリスケーラーBG3013です。
1MHzから200MHzまで切替なしでカウントする方法を考えなくては
1-200MHzまで使える分周IC無いかな!!設計変更です。

74ASL4040 200NHzまで使えるようなので分周してみようかと!

;4桁 A_LED 09/6/16 JA0BAS FCOUNT 4MHZ ASM LIST by JA0BAS
;CALLは2スタック,512ワード,リセットベクタ1FF
;T0IF,SUBLWが無い  バンク切替不要  TRISのアドレスなし
;PORTがINの場合は変更できない
;1/128 プリスケーラー用
    LIST        P=16F54
    INCLUDE        "P16F5X.INC"
    __CONFIG _CP_OFF & _WDT_OFF & _HS_OSC
    ERRORLEVEL  -220    ; SUPPRESS MESSAGE 302 FROM LIST FILE

TIMA    EQU    07H    ;*256
TIM0    EQU    08H    ;PSAノ値LO(TIM)。
TIM1    EQU    09H    ;TMR0ノ値
TIM2    EQU    0AH    ;TOIFニヨリINCシタ値
TIM3     EQU    0BH     ;TIM(2)ノOVERフローニヨリINCシタ値
TIM_M    EQU    0CH    ; 一時余リ格納場所(SUBルーチンデ使用)
D    EQU    0DH
COUNT    EQU    0EH
OVERF    EQU    0FH
DEC0    EQU    10H    ;1GHZ
DEC1    EQU    11H    ;100MHZ    ;9桁7SEG データ
DEC2    EQU    12H     ;10MHZ
DEC3    EQU    13H     ;1MHZ
DEC4    EQU    14H     ;100KHZ
DEC5    EQU    15H     ;10KHZ
DEC6    EQU    16H     ;1KHZ
DEC7    EQU    17H     ;100HZ
DEC8    EQU    18H     ;10HZ
DEC9    EQU    19H     ;1HZ
DEC    EQU    1AH    
WAIT_A    EQU    1BH
WAIT_B    EQU    1CH
WAIT_C    EQU    1DH
K_POS    EQU    1EH    ;桁位置
CN    EQU    1FH

       ORG        1FFH
    GOTO    INIT_
    ORG    0H

TABLE  ;PCL+W=JMP,データヲ持ッテRETスル
     ANDLW    B'00001111'    ;下位4ビット有効
    ADDWF     PCL,F
    ;       ADBECGF
    RETLW     B'10000010'     ;0   
    RETLW     B'11101011'    ;1   
    RETLW     B'10000101'    ;2   
    RETLW     B'10001001'    ;3         A
    RETLW     B'11101000'    ;4        F B
    RETLW     B'10011000'    ;5         G
    RETLW     B'10010000'    ;6        E C
     RETLW     B'10101011'    ;7         D
    RETLW     B'10000000'    ;8   
    RETLW     B'10001000'    ;9   
    RETLW    B'10100000'    ;A
    RETLW    B'11010000'    ;B
    RETLW    B'10010110'    ;C
    RETLW    B'11000001'    ;D
    RETLW    B'10010100'    ;E
    RETLW    B'10110100'    ;F
INIT_       
    MOVLW    B'00100111'    ;PRESCALER 1/256 SET;立上カウント
    OPTION
    MOVLW    B'11110111'
    MOVWF    PORTA
    MOVLW    B'11111111'
    MOVWF    PORTB
    MOVLW    B'00000000'
    TRIS    PORTB

CMAIN
    MOVLW    B'11111000'
    TRIS    PORTA        ;PORTA3ヲINPUT MODE=HIGH IMPEDANCE/TMR0ノ開始
    CLRWDT            ;250 MS カウントノ始点  ++++++++++++++++++++++
    CLRF    TMR0        ;カウンタTMR0ヲクリア

    MOVLW    D'13'        ;時間調整3
    MOVWF     WAIT_A        ;
C1    DECFSZ    WAIT_A,F
    GOTO    C1
    MOVLW     D'79'        ;時間調整1
    MOVWF    WAIT_B
DISPLAY   
   
    MOVLW    13H        ;
    MOVWF    FSR        ;アドレスヲセット

    MOVF    INDF,W        ;FSR番地カラ表示DATA取得
     CALL       TABLE        ;7SEG DATA ニ変換
    MOVWF    PORTB        ;7SEG DATA ニ出力
    BSF    PORTB,7
    BCF    PORTA,0
    CALL    DELAY

    DECF    FSR,F
    MOVF    INDF,W        ;FSR番地カラ表示DATA取得
     CALL       TABLE        ;7SEG DATA ニ変換
    MOVWF    PORTB        ;7SEG DATA ニ出力
    BSF    PORTA,0
    BCF    PORTA,1
    CALL    DELAY

    DECF    FSR,F
    MOVF    INDF,W        ;FSR番地カラ表示DATA取得
     CALL       TABLE        ;7SEG DATA ニ変換
    MOVWF    PORTB        ;7SEG DATA ニ出力
    BSF    PORTA,1
    BCF    PORTA,2
    CALL    DELAY

    DECF    FSR,F
    MOVF    INDF,W        ;FSR番地カラ表示DATA取得
     CALL       TABLE        ;7SEG DATA ニ変換
    MOVWF    PORTB        ;7SEG DATA ニ出力
    BSF    PORTA,2
    BCF    PORTB,7
    CALL    DELAY

    DECFSZ    WAIT_B,F
    GOTO    DISPLAY

    MOVLW    B'11110000'
    TRIS    PORTA        ;PORTA.3ヲOUT TMR0ノ停止 250MSカウントノ終点 ++++++++
    NOP            ;WAIT
    NOP
    MOVF    TMR0,W   
    MOVWF    TIM1
TOGGLE    ;GOTO    X4
    BSF    PORTA,3        ;PORT PORTA4ノトグル    プリスケーラノ読出
    NOP
    BCF    PORTA,3
    NOP
    DECF    TIM0,F
    MOVF    TMR0,W
    SUBWF    TIM1,W        ;TIM1-TMR0=0デアレバ Z=1
    BTFSC    STATUS,Z
    GOTO    TOGGLE
X4
    BCF    STATUS,C    ;*2 250MS 計測値ヲ2倍スル
    RLF    TIM0,F
    RLF    TIM1,F
    RLF    TIM2,F
    RLF    TIM3,F
   
HD_C            ;16進->10進変換
    MOVLW    H'19'    ;格納場所開始アドレス
    MOVWF    FSR    ;格納場所初期値
    MOVLW   D'10'   ;回数SET 10回繰返
       MOVWF   COUNT    
DEVIDE            ;÷10サブルーチン
    MOVLW    D'40'   
    MOVWF    CN    ;40ビットクリ返シ
    CLRF    TIM_M
DEVIDE0
    BCF    STATUS,C
    RLF    TIMA,F
    RLF    TIM0,F
    RLF    TIM1,F
    RLF    TIM2,F
    RLF    TIM3,F
    RLF    TIM_M,F
    MOVLW    B'11110110'    ;246
    ADDWF    TIM_M,0
    BTFSC    STATUS,C
    MOVWF    TIM_M
    BTFSC    STATUS,C
    INCF    TIMA,F
    DECFSZ    CN,F
    GOTO    DEVIDE0
    DECF    FSR,F
    MOVF    TIM_M,W   
    MOVWF    INDF    ; 余リ
       DECFSZ    COUNT,F     
       GOTO    DEVIDE

    CLRF    TIMA    ;変数クリヤ    終了処理
    CLRF    TIM0
    CLRF    TIM1
    CLRF    TIM2
    CLRF    TIM3           
    GOTO    CMAIN    ;NEXT COUNT
DELAY            ;STEP数を揃える事
    MOVLW    D'253'    ;時間調整2
    MOVWF     WAIT_C    ;
D1    DECFSZ    WAIT_C,F
    GOTO    D1

    BTFSC    OVERF,1    ;前回の状態確認0スキップ
    GOTO    D2    ;前回1JANP
    BTFSC    TMR0,7    ;TMRは1?0スキップ
    BSF    OVERF,1    ;オーバーしない
    NOP        ;STEP 調整
    NOP        ;STEP 調整
    GOTO    D3    ;オーバーJAMP
D2    BTFSC    TMR0,7    ;0になったか
    GOTO    D4    ;STEP 調整
    BCF    OVERF,1    ;フラグSET
    BSF    OVERF,2    ;TOIFオーバーフラグSET
    NOP        ;STEP 調整
D3    BCF    STATUS,C    ;キャリークリヤ
    BTFSC    OVERF,2    ;TOIFオーバーフローチェック
    INCF    TIM2,F    ;TIM1 オーバーフロー
    BTFSC    STATUS,C
    INCF    TIM3,F    ;TIM2 オーバーフロー
    BCF    OVERF,2    ;TOIFフラグクリヤ
    RETLW    0
D4    GOTO    D3     ;STEP 調整

        END


自動レンジ切替とか、0非表示とか色々出来ますが、省略

09/08/10
近くのパーツ屋さんで 74VHC4040 が手に入ったので プリスケーラーで使ってみました。
当初規格を勘違いしていました。
入力Hレベルが 0.7V と思ったのですが、組み立てると動作がおかしく良く規格表を眺めたところ VCC * 0.7 でした。
つまり 5 * 0.7 =3.5Vです。
Lは VCC * 0.3=1.5V ですので1.5Vから3.5Vまで振ってやる必要があります。






規格では210MHzでしたが、私のSSG最高出力の240MHzでもきちんとカウントしています。
低い周波数では10mV でカウントします。 高くなるにしたがって感度悪くなり240MHzで1V
これで100KHzから240MHzまで切替なしで表示するデップメーター用のカウンターが、出来ました。



パターン面  30o*34oの大きさです。


基板上面 いつものとおり部品はなるべく省略 5V入力すれば7805も不要です。


PIC16F54  アノードコモン7セグLED クロック4MHz アセンブラーリストです。

下はUHF用のデップメーターです。
コイルはU字形です。真ん中はRFCです。300から500MHz位まで発信しています。

結構発信出力は強く100メーター位離れてもハンディトランシーバーで受信できます。

★ 御注意 ★
当サイトの回路図等は一部省略して記載してありますので実際作る場合はご注意ください。
1 電源回路にノイズ防止用のコンデンサーを入れる必要があります。
  例えば5Vとグランド間に10μF以上の電解コンデンサーを入れる。
  特にCNCコントロールの場合は各IC・各電源ごとに1000μF以上入れてください。
  PICの5V−GND間に0.2μF位のコンデンサーを入れる。
  7805等の定電圧ICの場合は足のそばに入れてください。
2 PIC−7SEG の接続ですが、回路図ではほとんどの場合RB0-A,RB1-B........としてあります。
  しかしアセンブラーリストを見て頂くと分かるように基板パターンの関係で入れ替えてあります。
        ;          ADBECGF
    RETLW     B'10000010'     ;0   
    RETLW     B'11101011'    ;1   
    RETLW     B'10000101'    ;2   
    以下省略

  本来では"_GFEDCBA"でないと回路図と合いません。数字の表示が崩れてしまいます。
    回路図とあわせる為には下の10000010等と合わせリストの修正をお願いします。
  又は回路をリストに合わせてください。
3 RISET ピンの取り扱いはRISET必須のPICの場合は電源に繋いでください。
4 クロックが3本足セラロックの場合は真ん中のピンはGNDに落としてください。
  クリスタルの場合は各端子から15PFのCでGNDに落としてください。
5 規格をOVERして使っている場合もあります。各自の責任でお願いします。
6 私は使うよりも作ること自体が趣味で作品を使い込んでありません。
  バグ等が残っている場合があります。
  ご連絡いただければ出来る限り修正します。
7 リストを営利目的で使うことはお断りします。
8 不具合や損害が発生しても責任は負いかねます。
9 皆で電子工作を楽しみましょう!!!

2009/10/2
アルミ板を折り曲げて自作ケースに組み込みました。
40*50*100mm です。手にすっぽり入ります。

2ターンのコイルを付けて最高周波数156.1MHz 発信中
デジタル表示のデップメーターはダイヤルメモリも不要で使いやすいです。
コイルは適当に巻いてセットするだけです。


同じコイルで30.42Mhz発信、表示です。5倍くらいのカバー率です。
3から4個のコイルで全バンド使えます。
自動バンド表示切換えもうまくいって桁が切り替わっています。

内部の様子 これ以上小さくはならないと思います。
電源は9V100mA
発信周波数によって発信レベルが結構変動します。
ボリュームの調整が必要です。
自動レンジ切替ASMアセンブラーリスト PIC16F54 4桁 ダイナミック表示 一番左の桁が 100MHz、10MHz、1MHz と 自動で切り替わります。
現在の表示バンドの状況はコイル等より自分で判断してください。
小数点の表示は省略してあります。(LED表示機に小数点が無い)