2014年8月2日土曜日

50MHz AM TRX Ver.2

50MHz AM TRXである。2012/12/17公開のTRXバージョンアップ版で、AD9850 DDS VFOを使い、1ボード化した物である。VFOは、7月公開したもので、LCDレス。受信部は、TA7853+LA1600ダブルスーパー。送信部は、TA7358を使い低電力変調し、RD06HVF1により最大キャリア4W(AM変調時 1Wキャリア出力)を得ている。送信部のバッファ段(2SC2053)出力側にT型フィルタを入れているが、スプリアス低減とQRPP対応(ファイナル段スキップ)である。バッファ段の出力は、最大キャリア出力(無変調)200mW~300mWあるので、AM変調時50mW~75mWである。VFOは、6m AMロールコールで使える様、チャンネルスイッチに50.55MHzと50.60MHzを設定した。VFOにLCDが無いが、何ら問題は起きてない。PCBは、数回トリミングした結果、ジャンパーが多いのが唯一不満。 
回路図である。終段RD06HVF1は、TS-590Sバッファ段を参考にし、ID=350mAで調整。NFB回路(470Ω+103)を入れているが、無しでも問題なく動作する筈だ。プロトタイプは、NFBなしで試験した。 
PCBサイズ 103×102。中央下の6φ穴で、7805をケースに固定(放熱)している。    

2014年7月8日火曜日

50MHz AM VFO


 FRQ+10.7MHzの50MHz帯AM用VFO。、公開済みAD9850 50MHz AM VFOのPCBを小型化した物で、製作中 1ボードTRXのVFO部分。LCDレスでも、プロトタイプのテスト、試験用LOとして十分かと思う。






AD9850 DDSモジュールを外した状態。

         
レギュレータ 7805は、裏側に取り付け、ケースに放熱。
回路図。IOポートは、PCBパターン引き回し都合で、変更。













PCB 42 x 67













program

AD9850 50MHz AM VFOのプログラムをLCD関連、RIT関連を削除した。これにより、メモリー機能がない。周波数データは、EEP ROMに保存しているので、メモリー機能の追加は、簡単。

'********************************************************
'AD9850 DDS VFO program ver.1.0
'  50.500Mhz to 50.700Mhz Limitted!
'  Copyright (C)2014.JA2GQP.All rights reserved.
'                                       2014/7/7
'                                           JA2GQP
' BASCOM AVR 2.0.7.5(DEMO version) Compiled
'--------------------------------------------------------
'  Function
'     1.Lower heterodyne
'     2.FRQ + 10.7MHz
'     3. Protection operation at the time of transmission
'     4.Channel ch0(50.60MHz),ch1(50.55MHz)
'********************************************************

$regfile = "m88adef.dat"
$crystal = 1000000                                          '1Mhz clock

'--- config port ---

Config Portb.0 = Output                                     'STEP LED 1k
Config Portb.1 = Input                                      'ENC B
Config Portb.2 = Input                                      'ENC A
Config Portb.3 = Input                                      'ch1
Config Portb.4 = Input                                      'STEP
Config Portb.5 = Input                                      'TX

Config Portd.0 = Output                                     'W_CLK .
Config Portd.1 = Output                                     'FQ_UD
Config Portd.2 = Output                                     'DATA
Config Portd.5 = Output                                     'Frq LED Mid .
Config Portd.6 = Output                                     'Frq LED Low
Config Portd.7 = Output                                     'Frq LED Hi

'--- port pullup ---

Portb = &B00111110                                          'Bit 1-5 pull up

'--- debounce set ---

Config Debounce = 1

'---Frequency Parameter(50.500Mhz to 50.700Mhz Limitted!)

Const If_frq = 10700000                                     'IF frequency
Const Lw_frq = 50500000                                     'Lower limit operation frequency
Const Hi_frq = 50700000                                     'Upper limit operation frequency
Const Def_frq =(lw_frq + Hi_frq) / 2                        'Operation center frequency
Const Def_frq1 = 50550000                                   'ch1=50.55MHz
Const Def_frq2 = 50600000                                   'ch0=50.60MHz

'--- constant data ---

Const Lw_vfo = Lw_frq - If_frq                              'VFO lower limit(RX)
Const Hi_vfo = Hi_frq - If_frq                              'VFO upper limit(RX)
Const Def_vfo = Def_frq - If_frq                            'VFO ch0
Const Def_vfo1 = Def_frq1 - If_frq                          'VFO ch1
Const Scal = 34.35973837                                    '2^32/125.000Mhz
Const Dds_cmd = &B00000000                                  'DDS command

'--- define subrutine ---

Declare Sub Enc_sub                                         'Encorder
Declare Sub Dds_sub                                         'DDS
Declare Sub Stp_sub                                         'STEP
Declare Sub Rx_sub                                          'RX
Declare Sub Tx_sub                                          'TX
Declare Sub Chsw_sub                                        'Channel SW check
Declare Sub Eep_rd_sub                                      'EEP read

'--- define memory ---

Dim Vfo_dat As Long                                         'VFO freqency data
Dim Dds_dat As Long                                         'DDS frequency data
Dim Sng_wrk As Single                                       'main channel
Dim Lng_wrk As Long                                         'Long work1
Dim Enc_stp As Integer                                      'Encorder step
Dim Flg_tx As Byte                                          'TX flag
Dim Frq_eep0 As Eram Long                                   'EEP frequency ch0
Dim Frq_eep1 As Eram Long                                   '              ch1
Dim Stp_eep0 As Eram Integer                                'EEP STEP ch0
Dim Stp_eep1 As Eram Integer                                '         ch1
Dim Flg_enc As Byte                                         'Encorder dir flag
Dim Byt_cmd As Byte                                         'DDS command
Dim Byt_wrk As Byte                                         'Byte work
Dim Byt_chn As Byte                                         'Channel

'--------------
'Main roution
'--------------

Main:
   Flg_tx = 0                                               'TX flag reset

   Call Chsw_sub                                            'Channel SW check
   Byt_wrk = Byt_chn
   Call Eep_rd_sub                                          'EEP initial

   Do
      If Flg_tx = 0 Then
         Debounce Pinb.2 , 0 , Enc_sub , Sub                'Encorder
         Debounce Pinb.4 , 0 , Stp_sub , Sub                'Step
         Call Chsw_sub                                      'Channel SW check

         If Byt_wrk <> Byt_chn Then
            Byt_wrk = Byt_chn
            Call Eep_rd_sub                                 'EEP load
            End If

         If Vfo_dat =< Lw_vfo Then                          'VFO lower limit check
            Vfo_dat = Lw_vfo
            Portd.6 = 1                                     'Frq LED Low on
            Else
               Portd.6 = 0
               End If

         If Vfo_dat = Def_vfo Then                          'VFO Def Frq check
            Portd.5 = 1                                     'Frq LED Mid on
            Else
               Portd.5 = 0
               End If

         If Vfo_dat >= Hi_vfo Then                          'VFO upper limit check
            Vfo_dat = Hi_vfo
            Portd.7 = 1                                     'Frq LED Hi on
            Else
               Portd.7 = 0
               End If

         If Enc_stp = 1000 Then                             'STEP LED 1k check
            Portb.0 = 1                                     'LED on
            Else
               Portb.0 = 0
               End If

         End If

      Debounce Pinb.5 , 1 , Rx_sub , Sub                    'RX
      Debounce Pinb.5 , 0 , Tx_sub , Sub                    'TX

      Dds_dat = Vfo_dat
      Call Dds_sub
   Loop
End

'-----------------------------
'Encoder check,Create DDS data
'-----------------------------

Sub Enc_sub
   If Pinb.1 = 1 Then
      Vfo_dat = Vfo_dat + Enc_stp
      Else
         Vfo_dat = Vfo_dat - Enc_stp
         End If

   If Vfo_dat =< Lw_vfo Then                                'VFO lower limit check
      Vfo_dat = Lw_vfo
      End If

   If Vfo_dat >= Hi_vfo Then                                'VFO upper limit check
      Vfo_dat = Hi_vfo
      End If
End Sub

'-----------------------------
'AD9850(DDS) Data write
'-----------------------------

Sub Dds_sub
   Sng_wrk = Dds_dat
   Lng_wrk = Sng_wrk * Scal
   Byt_cmd = Dds_cmd                                        'DDS command

   Reset Portd.1
   Shiftout Portd.2 , Portd.0 , Lng_wrk , 3
   Shiftout Portd.2 , Portd.0 , Byt_cmd , 3
   Set Portd.1
End Sub

'-----------------------------
'Step
'-----------------------------

Sub Stp_sub
   Select Case Enc_stp
      Case 10000:
         Enc_stp = 1000                                     '1k
      Case 1000:
         Enc_stp = 10000                                    '10k
         Vfo_dat = Vfo_dat + 5000                           'round 10k
         Vfo_dat = Vfo_dat \ 10000
         Vfo_dat = Vfo_dat * 10000
      Case Else:
         Enc_stp = 10000                                    '10k(initial)
         End Select
End Sub

'-----------------------------
'RX
'-----------------------------

Sub Rx_sub
   If Flg_tx = 1 Then
      Flg_tx = 0                                            'TX flag rest
      End If
End Sub

'-----------------------------
'TX
'-----------------------------

Sub Tx_sub
   If Flg_tx = 0 Then
      Flg_tx = 1                                            'TX flag set
      End If
End Sub

'-----------------------------
'Channel SW check
'-----------------------------

Sub Chsw_sub
   If Pinb.3 = 0 Then
      Byt_chn = 1
      Else
         Byt_chn = 0
         End If
End Sub

'-----------------------------
'EEP set
'-----------------------------

Sub Eep_rd_sub
   If Frq_eep0 =< 0 Then                                    'EEP VFO data check
      Vfo_dat = Def_vfo                                     'Initialize VFO data
      Frq_eep0 = Def_vfo
      Frq_eep1 = Def_vfo1
      Else                                                  'Restore VFO data
        Select Case Byt_chn
            Case 1:
               Vfo_dat = Frq_eep1
            Case Else:
               Vfo_dat = Frq_eep0
               End Select
            End If

   If Stp_eep0 =< 0 Then                                    'EEP STEP data check
      Enc_stp = 10000
      Stp_eep0 = Enc_stp                                    'Initialize STEP data
      Stp_eep1 = Enc_stp
      Else                                                  'Restore STEP data
        Select Case Byt_chn
            Case 1:
               Enc_stp = Stp_eep1
            Case Else:
               Enc_stp = Stp_eep0
               End Select
            End If

End Sub











                                                                                                                                                                                                                                                                                                                                                                                                                     

2014年6月15日日曜日

AD9850 50MHz AM VFO

50MHz AM用(Frq + 10.7MHzプリミックス)AD9850 DDS VFOである。マンマシーンI/Fを見直した為、LCDレス構成も可能。写真は、全てのデバイスで構成。特徴は、チャンネル切替とVFOを組合わせた方式。LCDレス構成でも問題なく操作できる様、VFO中心周波数とLower Limit、Upper Limitの表示用LEDを追加。STEP 10kHZ/1kHZ(LED表示あり)で10kHZとした時、VFO周波数を10kHZ台で丸めた。この事により、10kHzチャンネル切替式の様に操作出来る。お薦めは、メモリー機能が無いが、LCDとRITなしの構成。 
回路図である。全てのデバイスが含まれているので、必要に応じ、構成すれば良い。 

PCB寸法 54 x 55。既に公開の物と同じ。  



















Program
AD9850 DDS VFO Ver1.1aをベースとしたが、チャンネル切替スイッチのメインメモリー(ch0)保持機能は、BASCOMのメモリー制限により、割愛した。ch1 50.55MHz、ch2 50.60MHzで初期化した。

'********************************************************
'AD9850 DDS VFO program ver.1.0
'  50.500Mhz to 50.700Mhz Limitted!
'  Copyright (C)2014.JA2GQP.All rights reserved.
'                                       2014/6/15
'                                           JA2GQP
' BASCOM AVR 2.0.7.5(DEMO version) Compiled
'--------------------------------------------------------
'  Function
'     1.Lower heterodyne
'     2.RIT operation(-10khz to +10khz)
'     3.STEP(1k,10k)
'     4.Memory operation is push RIT
'       (Frequency and Step)
'     5. Protection operation at the time of transmission
'     6.Channel memory ch0(main channel),ch1,ch2
'********************************************************

$regfile = "m88adef.dat"
$crystal = 800000                                           '0.8Mhz clock

'--- config port ---

Config Portb.0 = Input                                      'TX
Config Portb.1 = Output                                     'STEP LED 1k
Config Portb.2 = Input                                      'STEP
Config Portb.3 = Input                                      'RIT
Config Portb.4 = Input                                      'ENC A
Config Portb.5 = Input                                      'ENC B

Config Portc.0 = Output                                     'DATA
Config Portc.1 = Output                                     'FU_UD
Config Portc.2 = Output                                     'W_CLK
Config Portc.3 = Input                                      'ch1
Config Portc.4 = Input                                      'ch2
Config Portc.5 = Input                                      'none

Config Portd.1 = Output                                     'Frq LED Mid .
Config Portd.3 = Output                                     'Frq LED Low
Config Portd.4 = Output                                     'Frq LED Hi

'--- port pullup ---

Portb = &B00111101                                          'Bit 0,Bit 1-4 pull up
Portc = &B00111000                                          'Bit 3-5 pull up


'--- debounce set ---

Config Debounce = 1

'---LCD port assign ---

Config Lcdpin = Pin , Db7 = Portd.6 , Db6 = Portd.5
Config Lcdpin = Pin , Db5 = Portb.7 , Db4 = Portb.6
Config Lcdpin = Pin , E = Portd.2 , Rs = Portd.0
Config Lcd = 16 * 2

'---Frequency Parameter(50.500Mhz to 50.700Mhz Limitted!)

Const If_frq = 10700000                                     'IF frequency
Const Lw_frq = 50500000                                     'Lower limit operation frequency
Const Hi_frq = 50700000                                     'Upper limit operation frequency
Const Def_frq =(lw_frq + Hi_frq) / 2                        'Operation center frequency
Const Def_frq1 = 50550000                                   'ch1=50.55MHz
Const Def_frq2 = 50600000                                   'ch2=50.60MHz

'--- constant data ---

Const Lw_vfo = Lw_frq - If_frq                              'VFO lower limit(RX)
Const Hi_vfo = Hi_frq - If_frq                              'VFO upper limit(RX)
Const Def_vfo = Def_frq - If_frq                            'VFO ch0
Const Def_vfo1 = Def_frq1 - If_frq                          'VFO ch1
Const Def_vfo2 = Def_frq2 - If_frq                          'VFO ch2
Const Lw_rit = -10000                                       'RIT lower limit
Const Hi_rit = 10000                                        'RIT upper limit
Const Scal = 34.35973837                                    '2^32/125.000Mhz
Const Dds_cmd = &B00000000                                  'DDS command

'--- define subrutine ---

Declare Sub Enc_sub                                         'Encorder
Declare Sub Dds_sub                                         'DDS
Declare Sub Lcd_sub                                         'LCD
Declare Sub Stp_sub                                         'STEP
Declare Sub Rit_sub                                         'RIT
Declare Sub Rx_sub                                          'RX
Declare Sub Tx_sub                                          'TX
Declare Sub Chsw_sub                                        'Channel SW check
Declare Sub Eep_rd_sub                                      'EEP read

'--- define memory ---

Dim Vfo_dat As Long                                         'VFO freqency data
Dim Dds_dat As Long                                         'DDS frequency data
Dim Str_frq As String * 10                                  'String frequency
Dim Dsp_frq As String * 10                                  'Display frequency
Dim Sng_wrk As Single                                       'main channel
Dim Lng_wk1 As Long                                         'Long work1
Dim Lng_wk2 As Long                                         'Long work2
Dim Wrd_wk1 As Word                                         'Word work1
Dim Wrd_wk2 As Word                                         'Word work2
Dim Wrd_wk3 As Word                                         'Word work3
Dim Enc_stp As Integer                                      'Encorder step
Dim Rit_dat As Integer                                      'RIT data
Dim Rit_datb As Integer                                     'RIT data old
Dim Int_wrk As Integer                                      'Integer work
Dim Flg_rit As Byte                                         'RIT flag
Dim Flg_ritb As Byte                                        'RIT flag old
Dim Flg_tx As Byte                                          'TX flag
Dim Frq_eep0 As Eram Long                                   'EEP frequency ch0
Dim Frq_eep1 As Eram Long                                   '              ch1
Dim Frq_eep2 As Eram Long                                   '              ch2
Dim Stp_eep0 As Eram Integer                                'EEP STEP ch0
Dim Stp_eep1 As Eram Integer                                '         ch1
Dim Stp_eep2 As Eram Integer                                '         ch2
Dim Flg_enc As Byte                                         'Encorder dir flag
Dim Byt_cmd As Byte                                         'DDS command
Dim Byt_wrk As Byte                                         'Byte work
Dim Byt_chn As Byte                                         'Channel

'--------------
'Main roution
'--------------

Main:
   Flg_tx = 0                                               'TX flag reset
   Flg_rit = 0                                              'RIT flag reset

   Cursor Off
   Cls

   Call Chsw_sub                                            'Channel SW check
   Byt_wrk = Byt_chn
   Call Eep_rd_sub                                          'EEP initial

   Call Lcd_sub

   Do
      If Flg_tx = 0 Then
         Debounce Pinb.4 , 0 , Enc_sub , Sub                'Encorder
         Debounce Pinb.2 , 0 , Stp_sub , Sub                'Step
         Debounce Pinb.3 , 0 , Rit_sub , Sub                'RIT
         Call Chsw_sub                                      'Channel SW check

         If Byt_wrk <> Byt_chn Then
            Byt_wrk = Byt_chn
            Call Eep_rd_sub                                 'EEP load
            End If

         If Vfo_dat =< Lw_vfo Then                          'VFO lower limit check
            Vfo_dat = Lw_vfo
            Portd.3 = 1                                     'Frq LED Low on
            Else
               Portd.3 = 0
               End If

         If Vfo_dat = Def_vfo Then                          'VFO Def Frq check
            Portd.1 = 1                                     'Frq LED Mid on
            Else
               Portd.1 = 0
               End If

         If Vfo_dat >= Hi_vfo Then                          'VFO upper limit check
            Vfo_dat = Hi_vfo
            Portd.4 = 1                                     'Frq LED Hi on
            Else
               Portd.4 = 0
               End If

         If Enc_stp = 1000 Then                             'STEP LED 1k check
            Portb.1 = 1                                     'LED on
            Else
               Portb.1 = 0
               End If

         End If

      Debounce Pinb.0 , 1 , Rx_sub , Sub                    'RX
      Debounce Pinb.0 , 0 , Tx_sub , Sub                    'TX

      If Flg_rit = 1 Then
         Dds_dat = Vfo_dat + Rit_dat
         Else
            Dds_dat = Vfo_dat
            End If

      If Flg_tx = 1 Then
         Dds_dat = Vfo_dat
         End If


      Call Dds_sub
   Loop
End

'-----------------------------
'Encoder check,Create DDS data
'-----------------------------

Sub Enc_sub
   If Pinb.5 = 1 Then
      Flg_enc = 0                                           'Up
      Else
         Flg_enc = 1                                        'down
         End If

   If Flg_enc = 0 Then
      Lng_wk1 = Vfo_dat + Enc_stp                           'Up
      Lng_wk2 = Rit_dat + Enc_stp
      Else
         Lng_wk1 = Vfo_dat - Enc_stp                        'down
         Lng_wk2 = Rit_dat - Enc_stp
         End If

   If Flg_rit = 1 Then
      Rit_dat = Lng_wk2
      Else
         Vfo_dat = Lng_wk1
         Rit_dat = 0
         End If

   If Vfo_dat < Lw_vfo Then                                 'VFO lower limit check
      Vfo_dat = Lw_vfo
      End If

   If Vfo_dat > Hi_vfo Then                                 'VFO upper limit check
      Vfo_dat = Hi_vfo
      End If

   If Rit_dat < Lw_rit Then                                 'RIT lower limit check
      Rit_dat = Lw_rit
      End If

   If Rit_dat > Hi_rit Then                                 'RIT upper limit check
      Rit_dat = Hi_rit
      End If

   Call Lcd_sub
End Sub

'-----------------------------
'AD9850(DDS) Data write
'-----------------------------

Sub Dds_sub
   Sng_wrk = Dds_dat
   Lng_wk1 = Sng_wrk * Scal
   Byt_cmd = Dds_cmd                                        'DDS command

   Reset Portc.1
   Shiftout Portc.0 , Portc.2 , Lng_wk1 , 3
   Shiftout Portc.0 , Portc.2 , Byt_cmd , 3
   Set Portc.1
End Sub

'-----------------------------
'LCD Data write
'-----------------------------

Sub Lcd_sub
   Locate 1 , 1
   Lng_wk1 = Vfo_dat + If_frq
   Str_frq = Str(lng_wk1)
   Str_frq = Format(str_frq , "00.000000")
   Dsp_frq = Left(str_frq , 3) + Mid(str_frq , 4 , 3) + "." + Mid(str_frq , 7 , 3)
   Lcd Byt_chn ; ":" ; Dsp_frq ; "MHz"
   Locate 2 , 1
   Lcd "S:     "
   Locate 2 , 3
   Int_wrk = Enc_stp / 1000
   Lcd Int_wrk ; "k"

   If Flg_rit = 1 Then
      Locate 2 , 8
      Lcd "R:       "
      Str_frq = Str(rit_dat)
      Str_frq = Format(str_frq , "00.000")
      Locate 2 , 10
      Lcd Str_frq
      Else
         Locate 2 , 8
         Lcd "   JA2GQP"
         End If
End Sub

'-----------------------------
'Step
'-----------------------------

Sub Stp_sub
   Select Case Enc_stp
      Case 10000:
         Enc_stp = 1000                                     '1k
      Case 1000:
         Enc_stp = 10000                                    '10k
         Vfo_dat = Vfo_dat + 5000                           'round 10k
         Vfo_dat = Vfo_dat \ 10000
         Vfo_dat = Vfo_dat * 10000
      Case Else:
         Enc_stp = 10000                                    '10k(initial)
         End Select

   Call Lcd_sub
End Sub

'-----------------------------
'RIT
'-----------------------------

Sub Rit_sub
   If Flg_rit = 0 Then
      Rit_dat = 0
      Flg_rit = 1

      Select Case Byt_chn
         Case 1:
            Frq_eep1 = Vfo_dat                              'Save VFO1 data
            Stp_eep1 = Enc_stp                              'Save STEP1 data
         Case 2:
            Frq_eep2 = Vfo_dat                              'Save VFO2 data
            Stp_eep2 = Enc_stp                              'Save STEP2 data
         Case Else:
            Frq_eep0 = Vfo_dat                              'Save VFO0 data
            Stp_eep0 = Enc_stp                              'Save STEP0 data
            End Select
      Else
         Flg_rit = 0
         End If

   Call Lcd_sub
End Sub

'-----------------------------
'RX
'-----------------------------

Sub Rx_sub
   If Flg_tx = 1 Then
      Flg_tx = 0                                            'TX flag rest
      Locate 1 , 1
      Lcd Byt_chn
      End If
End Sub

'-----------------------------
'TX
'-----------------------------

Sub Tx_sub
   If Flg_tx = 0 Then
      Flg_tx = 1                                            'TX flag set
      Locate 1 , 1
      Lcd "T"
      End If
End Sub

'-----------------------------
'Channel SW check
'-----------------------------

Sub Chsw_sub
   If Pinc.3 = 0 Then
      Byt_chn = 1
      Elseif Pinc.4 = 0 Then
         Byt_chn = 2
         Else
            Byt_chn = 0
            End If

   Locate 1 , 1
   Lcd Byt_chn
End Sub

'-----------------------------
'EEP set
'-----------------------------

Sub Eep_rd_sub
   If Frq_eep0 =< 0 Then                                    'EEP VFO data check
      Vfo_dat = Def_vfo                                     'Initialize VFO data
      Frq_eep0 = Def_vfo
      Frq_eep1 = Def_vfo1
      Frq_eep2 = Def_vfo2
      Else                                                  'Restore VFO data
        Select Case Byt_chn
            Case 1:
               Vfo_dat = Frq_eep1
            Case 2:
               Vfo_dat = Frq_eep2
            Case Else:
               Vfo_dat = Frq_eep0
               End Select
            End If

   If Stp_eep0 =< 0 Then                                    'EEP STEP data check
      Enc_stp = 10000
      Stp_eep0 = Enc_stp                                    'Initialize STEP data
      Stp_eep1 = Enc_stp
      Stp_eep2 = Enc_stp
      Else                                                  'Restore STEP data
        Select Case Byt_chn
            Case 1:
               Enc_stp = Stp_eep1
            Case 2:
               Enc_stp = Stp_eep2
            Case Else:
               Enc_stp = Stp_eep0
               End Select
            End If

   Call Lcd_sub
End Sub   

2014年5月24日土曜日

7.195MHz AM TRX

既に公開済みの7.195MHz AM受信部、送信部、Front-end filterをまとめたTRXである。固定周波数のため、ボリューム、Filter on/offスイッチしか無く、シンプル。Front-end filterは、挿入損失が5dB~6dB有るため、損失を補う目的でプリアンプ(MAR6)を追加。MAR6は、約20dBのゲインがあり、ゲイン過多となっている。10dBのアンプにすべきである。 
ケースは、ジャンクを加工して再利用したが、タカチ YM-180相当。 
回路図である。送信部、受信部、フィルター部をまとめて書き直した。   

2014年5月11日日曜日

7MHz front-end X'tal filter

7.2MHz水晶発振子を使ったフロントエンドX'talフィルタである。このフィルタは、JA9CDE栃谷OMがシュミレーションし、設計したものである。中心周波数 7.195MHzでAM運用に特化しており、近傍のノイズに有効である。FRMSを見ながらインダクタを調整し、63.5uHで中心周波数7.195MHzに合わせる事が出来た。主要部品は、aitendoからIFTコア(4個100円)と水晶発振子7.2MHz(10本100円)を入手した。全パーツで数百円である。

 
FRMSの測定結果である。
 中心周波数 7.195MHz
 帯域 7.2kHZ 
















                      
回路図である。
可変インダクタ63.5uHと無差別に選んだ7.2MHz水晶発振子で2台作り、問題なく特性が得られた。
LA1600 3pin水晶発振方式の回路と組合せ試験を行った。その結果、フロントエンド フィルタが有効に動作している様だが、親機のフィルタが甘い(帯域15kHZ)ため、効果があるものの、十分とまでの結果には至らなかった。
親機フィルタを6kHz帯域にすべきであろう。






 

基板寸法 24x72  

2014年5月2日金曜日

7.195MHz AM Transmitter

7.195MHz AM送信機である。回路は、一部定数が異なるものの、RNRさんと同じ。変調部は、CB機ジャンクからIC、コンデンサ、ヒートシンク、変調トランスを流用した。この為、送信部のみ基板設計した。キャリア出力は、使用部品を考慮し、4Wに調整(QRP機)した。 
ユニバーサルボードで組んだ変調基板である。変調トランスの詳細不明であった為、実測すると8Ω:16Ωであった。5Wクラスのトランスを入手する場合の参考になれば幸いだ。  
2段のLPFである。2次高調波(14MHz)があまい。   
RNRさんの改造している部分を含めたシュミレーション結果だ。ただ、コイルと並列のコンデンサは、120pFがベターであろ。(採用した定数)  
VXOコイルは、固定インダクターを意識し68uHに調整して動作確認済だが、60uH位がベター。出力調整用抵抗150Ωは、0Ω(ジャンパ接続時) RF Out 5Wとなった。QRP機を目指すのであれば、部品の個体差を考慮し、3W~4W位に調整するのが良いと思う。  
基板寸法 49x72            

2014年4月7日月曜日

LA1600 7.195MHz AM Receiver

3月公開のLA1600 3pin水晶発振方式を応用したAM受信機で、RF(2SK241)+LA1600回路構成である。HC-49(HC-18uと同形)と22uを組み合わせて、7.65MHzの水晶を誤差裕度内で発振(7.65058MHz)させる事が出来た。
2m位の室内ビニール線アンテナで受信確認できた。15kHZ帯域フィルターを使ったが、AMに適した帯域の物を使うべきであろう。 
回路図である。LA1600 3pin水晶発振実験と何ら変わる事はないが、インダクターを10uから22uに変更した位である。AM 1波専用なので、水晶発振周波数が、フィルター中心周波数誤差裕度内であれば、何ら問題ない。  
基板サイズ 47x66。Download siteにpcbeファイルとBMPファイルをuploadしてあるので、必要であれば使ってください。