2007年04月08日

ディップメータ 続々

この土日をつぶしての出張だったため、何も進んでいませんが、とりあえず、
回路図とプログラムをアップしました。
プログラムは、オートレンジのところがまだ冗長性があり、不満ですが、
とりあえず動いているので、当面このまま使用することになるでしょう。

?f?B?b?v???[?^?[070304.GIF
回路図

dipmeter070318.bas
プログラム(BASCOM−AVR)
posted by ja6irk at 22:32| Comment(13) | TrackBack(0) | QRP-HomeBrew
この記事へのコメント
今日は、初めてお目にかかります。
私もカウンター付きのディップメーターを作りたいのですが、カウンターがLCDのものが有りません。貴局の制作したものはキットですか。既製品?それともフル自作?ですか。
かっては秋月のキットで何台か作りましたが皆LEDです、今はカウンターLCDがありません。ディップメーターには不都合ですね電源の都合でHI、、、。
なにかFBアドバイスがあったら
お願いします。
Posted by 伊藤幸三津 at 2008年06月21日 09:58
こんにちは。
いつも拝見させてもらってます。

このディップメーターの回路図には、バリコンが無いのですが?
あるとすればポリバリコンですか?

伊藤様
こちらのページに"PSoC"を使った周波数カウンタがあります。
http://homepage2.nifty.com/y-daisan/html/B61231-1.html
参考までにどうぞ

Posted by matty at 2008年06月23日 11:35
伊藤さん、mattyさん、おはようございます。
レスが遅くなって申し訳ありません。
先週からWの方に出張しておりました。
ご質問への回答ですが、このディップメーターの周波数カウンタはマイコンのプログラムを含めフル自作です。
このサイトからURLが消えてしまっているのですが、下記URLをご参照ください。
LEDは秋葉原の秋月で販売されている3桁の7SegLEDを使用しています。
ダイナミックスキャンにしていますので、ディップメータでの使用でしたら、電池でも何とか使えてます。

http://jn3xby-avr.sblo.jp/category/228019-1.html

この周波数カウンタは、DC受信機用として作って組み込んでいただいたOMさんもいらっしゃいます。(再現性あり :-) )

LCDのものは入力アンプが若干違いますが、

http://jn3xby-avr.sblo.jp/category/111302-1.html

にもあります。(ご参考まで)

回路図にバリコンが無い?!
本当ですね! 申し訳ありません。
長い間気づいていませんでした。
実機では、コイルと並列に2連ポりバリを使用しています。

ご指摘大変ありがとうございます。
近い内に修正しておきます (^^;
Posted by jn3xby@岩永 at 2008年06月25日 08:50
はじめまして 仙台の阿部と申します
いつも拝見させてもらってます。
3桁の表示機ですが秋月の型番で
C-533SRでしょうか通販コードI-00649
教えていただけると助かります
もう一点
AC393の12番ピンはオープンにしておくので
しょうか?
GNDに接続する必要は?
宜しくお願いいたします
阿部
Posted by 阿部秀夫 /JA7LGC at 2009年01月27日 17:24
JA7LGC 阿部さん、こんばんは。
ご訪問いただきありがとうございます。
ご質問のLEDですが、C-533SRです。
秋月で購入したものです。
AC393の12番端子ですが、ご指摘の通りですね!
回路図と自分が作った基板は、GND接続を忘れています。
実機のディップメータを確認したら、基板で忘れていたところを半田でGNDに接続していました。
ご指摘ありがとうございます。
Posted by jn3xby@岩永 at 2009年01月27日 19:56
XBY岩永さまこんばんは
やっぱりオシロで見ていたら
分周回路の出力出なかったもので
LEDはジャンクBoxにあるものを使ったら
表示がおかしかったのでひょっとしたら
コモンが違うのかなーと思っていました
また製作記事参考にさせていただいて
いろいろ勉強させていただいたく
思っています
AVRとAD9834の通信ですが
秋月のDDSと同じ要領でいいのでしょうか?
宜しくお願いいたします
Posted by JA7LGC 阿部 at 2009年01月27日 21:33
JA7LGC 阿部さん、こんばんは。

AD9834の制御ですが、データを送る方法論は秋月のDDSと同じ考え方ですが、実際の制御は違います。
従って、秋月のDDSと同じS/Wでは全く動作しません。
AD9834のデータシートを見られれば、違うことがわかると思います。
ちょっと長いですが、参考にしてもらうソースを添付します。
随分前に作った物でわかりにくくする余分なものを省いたのでこのままで動く保証はありません。
しかし、参考にはなると思います。

マイコンは、ATTiny26(2313でもポートを変えればOKです)。ロータリーエンコーダーは秋月のもの、LCDも同様です。
割り込みでエンコーダーの回転を読み取って、回転パルスを変化分を数えて、周波数の変化をデータとして送っています。
'***************************************************
'* AVR TEST BOARD ATTiny26
'* TimerInt LCD RotaryEncoder DDS(AD9834)
'* '05/04/06 by JN3XBY ex.JA6IRK
'***************************************************

'***************************************************
'* TEST START
'***************************************************
Cls
Lcd "DDS Test AD9834"
Lowerline
Lcd "05/04/06 JN3XBY"

'***************************************************
'* PORT INIT
'* Pa7,6=In Pa5,4,3,2,1,0=Out
'* Pa7,6:Pullup
'* Pb7,6,5,2,1=In Pb4,3,0=Out
'* Pb2,1:Pullup
'***************************************************
Ddra = &B00111111
Porta = &B11000000
Ddrb = &B00011001
Portb = &B00000111

'***************************************************
'* VARIABLE DECLARATION
'***************************************************
Dim Tcntus As Integer
Dim Tcntms As Integer
Dim Tcnts As Integer
Dim Ddscmd As Byte
Dim Freqdata As Long
Dim Freqdds As Long
Dim Freqdlt As Long
Dim Freqstep As Long
Dim Freqdisp As Long
Dim Difenc As Long
Dim Enc As Byte
Dim Encold As Byte
Dim Enccnt As Integer
Dim Enccntold As Integer
Dim S As Integer
Dim Rit As Integer

'***************************************************
'* INIT VARIABLE DATA
'***************************************************
Tcntus = 0
Tcntms = 0
Tcnts = 0
Enccnt = 0
Enccntold = 0
Encold = 0
Freqdlt = 0
Freqstep = 10
Ddscmd = 0
Freqdata = 7000000 '7MHz

Freqdisp = Freqdata
Lcd Freqdisp
'***************************************************
'***************************************************
'* TIMER INT INIT & START
'***************************************************
Config Timer0 = Timer , Prescale = 8 '1.024mS at 8MHz
On Ovf0 Tim0_isr
Enable Ovf0
Enable Interrupts

'***************************************************
'* MAIN ROUTINE
'***************************************************
Main:

If Enccnt = Enccntold Then Goto Main

Freqstep = 10
Freqdlt = Enccnt * Freqstep
Enccnt = 0
Enccntold = 0
Freqdata = Freqdata + Freqdlt

Gosub Freqsub

Lcd Freqdata

Goto Main

'***************************************************
'* DDS DATA TRANSFER SUBROUTINE for AD9834 DDS
'***************************************************
Freqsub:
Ddscmd = 0
Freqdds = &B1000000000000000
Gosub Freqsub2
Freqdds = Freqdata * 4
Ddscmd = &B01000000
Rotate Freqdds , Left , 4
Gosub Freqsub2
Rotate Freqdds , Left , 14
Gosub Freqsub2
Return
Freqsub2:
Reset Portb.0 'FSYNC
Waitus 1
Shiftout Porta.4 , Porta.5 , Ddscmd , 0 , 2
Shiftout Porta.4 , Porta.5 , Freqdds , 0 , 14 'Data-Port,Clk-Port,DATA,MSBFirst
Waitus 1
Set Portb.0
Return

'***************************************************
'* TIMER INT COUTER SUBROUTINE
'***************************************************
Tim0_isr:
Tcntus = Tcntus + 1
If Tcntus = 4 Then Goto Tcntl1
Goto Tcntl2
Tcntl1:
Tcntus = 0
Tcntms = Tcntms + 1
If Tcntms = 5 Then Goto Tcntl3
Goto Tcntl2
Tcntl3:
Tcntms = 0
Gosub Encsub
Tcntl2:
Return
'***************************************************
Encsub:
Enc = Pina
Enc = Enc And &HC0
If Enc = Encold Then Goto Encerr
If Encold = &HC0 Then Goto Encl1
If Encold = &H80 Then Goto Encl2
If Encold = &H40 Then Goto Encl3
If Encold = &H00 Then Goto Encl4
Encl1:
If Enc = &H80 Then Goto Encl5
If Enc = &H40 Then Goto Encl6
Goto Encerr
Encl2:
If Enc = &H00 Then Goto Encl5
If Enc = &HC0 Then Goto Encl6
Goto Encerr
Encl3:
If Enc = &HC0 Then Goto Encl5
If Enc = &H00 Then Goto Encl6
Goto Encerr
Encl4:
If Enc = &H40 Then Goto Encl5
If Enc = &H80 Then Goto Encl6
Goto Encerr
Encl5:
Decr Enccnt
Goto Encend
Encl6:
Incr Enccnt
Encend:
Encerr:
Encold = Enc
Return
Posted by jn3xby@岩永 at 2009年01月29日 20:38
おはようございます
早速部品購入して 組み立てて
やってみます
3桁カウンタ無事動作して
自作ディップメータ用カウンタとして
活用いたします
ありがとうございました
阿部
Posted by JA7LGC/阿部 at 2009年01月30日 08:02
3桁カウンタ動きました。
100MHzまでカウントできたので、
色々応用ができそうです。
74AC393だとプリスケーラの入手が楽なので
いいですね。
手持ちの水晶の関係で12.288MHZにしましたが、
BASCOMだとクロックの変更も楽ですね。
Posted by JJ1WKN at 2009年09月09日 23:46
JJ1WKNさん、こんばんは。
コメントありがとうございます。
また、3桁カウンタをお作りなられたようでありがとうございます。
このカウンタは、作られた方が何人かいらっしゃって、ご連絡をいただいております。
WKNさんは、何に搭載される予定でしょうか?
是非、BLOGのほうでご紹介ください。
WKNさんのBLOGのほうは、時々覗かせていただいております。
すごいスピードで色々実験されている様子、楽しく拝見させてもらっています。
Posted by jn3xby@岩永 at 2009年09月10日 19:48
岩永さん、こんばんは。
ブログに掲載しました。

トランシーバへの組み込み用に色々な周波数
カウンタを作ってみましたが、カスタマイズ
も簡単ですし、プリスケーラも入手しやすい
ので、このカウンタで決まりですね。
ありがとうございました。

PLLトランシーバが先になりそうなので、
SWRアナライザでも作ろうと思っています。
広帯域なOSCに苦戦しています。
Posted by JJ1WKN at 2009年09月11日 21:28
3桁周波数カウンターが動作しました。

1.表示桁がおかしいので、c1とc3を入れ替えました。
2.表示の数字がおかしいので、7seg DISP DATAを入れ替えて調整しました。
3.自動桁表示がすばらしいです。
4.BASCOMプログラムからHIDaspx経由でATTINY2313に書き込み、おかしな数字も楽に調整できました。
5.配線の間違いかも知れませんが、FBに動作しています。
6.ありがとうございました。

Posted by ja1uff武井 at 2010年01月01日 23:21
ja1uff武井さん、おはようございます。
当局のブログを訪問いただいてありがとうございます。
また、周波数カウンタ無事に動作したとのこと、良かったです。
表示桁と表示数字がおかしかったとのこと、まだ回路図とプログラムに齟齬があるのかもしれませんね!
申し訳ありません。
でも、プログラムもBASICで簡単に変えれますし、配線も回路がシンプルですから変更も楽ですね!
この周波数カウンタは多くの方が作られ愛用いただいているようです。
また、一人増えたようで、ご愛用の皆さんに感謝いたします。
Posted by jn3xby@岩永 at 2010年01月02日 10:46
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/3694989

この記事へのトラックバック