ホーム
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表示機に小数点が無い)