Πέμπτη 8 Δεκεμβρίου 2011

Προσεχώς... transverter 3cm ενδιαμέσου συχνότητας 70 εκατοστών.



Οι μεγαλύτεροι ιδιοκατασκευαστές transverter σε όλο τον κόσμο υπογραφούν με μαρκαδόρο τις κατασκευές τους. Να φανταστείτε ακόμα και ο μαρκαδόρος ειναι homebrew! Δεχόμαστε συγχαρητήρια εντός.

73 de SV1IXP

Κυριακή 27 Νοεμβρίου 2011

Signal Ratiometer

 
Μια πολύ χρήσιμη συσκευή για ραδιοερασιτέχνη χρήση είναι ένας μετρητής λογού ισχύος/φάσης δυο σημάτων (περισσότερες λεπτομέρειες στο http://www.w1ghz.org/small_proj/hna.zip ). Η παρούσα κατασκευή συγκρίνει δυο σήματα από 50MHz μέχρι 2.7GHz ισχύoς από -50dBm μέχρι 0dBm. Το RF κομμάτι παράδοξος είναι απλοϊκό και αποτελείται ουσιαστικά από δυο ολοκληρωμένα, τα AD8302 και LT5534 μέσα σε ένα θωρακισμένο κουτάκι. To AD8302 (έχει χαρακτηριστεί ως VNA-in-a-chip :-) κάνει την σύγκριση των δυο σημάτων. Το LT5534 μετράει την απόλυτη ισχύ του σήματος στην μια από τις δυο εισόδους. Ο λόγος της ύπαρξης του είναι για να φέρνουμε τις στάθμες των προς σύγκριση σημάτων γύρω από τα -30dBm όπου το AD8302 εμφανίζει την μεγαλύτερη ακρίβεια.
Ένας μΕ Atmega 16 διαβάζει τις αναλογικές τάσεις εξόδου των ολοκληρωμένων και κάνει τους υπολογισμούς τα αποτελέσματα των οποίων εμφανίζονται σε μια οθόνη χαρακτήρων 2Χ16. Επίσης στέλνει σειραϊκά τα δεδομένα σε μια έξοδο για data logging. Η κατασκευή τροφοδοτείται από δυο μπαταρίες λιθίου-πολυμερούς 400mAh σε σειρά.

73 de SV1IXP

Δευτέρα 21 Νοεμβρίου 2011



IC1=ATMEGA16
IC2-IC2=LM78L05 / LM2950CZ-5.0
R1=4.7K
JP1-JP8=PIN HEADER
C1-C2-C3=1μF

Οι κονέκτορες JP5-JP6 χρησιμεύουν για την σύνδεση των μπαταριών και ο JP7 για την φόρτιση τους. Στον JP4 συνδέεται το GPS module (+5V,GND και DATA). O JP8 είναι για την σύνδεση του ISP. Στο JP2 συνδέεται ο διακοπτης ON-OFF. To μπουτόν χρησιμεύει για την πλοήγηση στις ανάμεσα στις διαφορετικές οθόνες.

73 de SV1IXP

Πέμπτη 17 Νοεμβρίου 2011

GPS grid square finder πηγαίος κώδικας.

'gps
$regfile = "m16def.dat"
$crystal = 1000000
$baud = 4800
Config Porta = Input
Config Portd.2 = Input
Config Porta.0 = Output
Config Portb = Output
'Config Adc = Single , Prescaler = Auto , Reference = Internal
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.1 , Db6 = Portb.0 , Db7 = Porta.0 , E = Portb.3 , Rs = Portb.4
Config Lcd = 16 * 2
Dim A As String * 1
Dim I As Byte
Dim K As Byte
Dim J As Byte
Dim Screen As Byte
Dim L As String * 1
Dim Packet(100) As String * 1
Dim Gps_time(10) As String * 1
Dim Status(1) As String * 1
Dim Lat(9) As String * 1
Dim Lat_num(9) As Integer
Dim Lat_dir(1) As String * 1
Dim Lon(10) As String * 1
Dim Lon_num(9) As Integer
Dim Lon_dir(1) As String * 1
Dim Speed(6) As String * 1
Dim Z As String * 3
Dim Track(10) As String * 1
Dim Day(6) As String * 1
Dim Mag(5) As String * 1
Dim Temp As Single
Dim Temp2 As Single
Dim Temp3 As Integer
Dim Temp4 As Integer
Dim Temp5 As Single
Dim Height(6) As String * 1
Dim Pre(3) As String * 1
Dim Sat(3) As String * 1
Config Int0 = Rising
Declare Sub Coordinate_print
Declare Sub Letter(x As Integer)
Declare Sub Get_info
Declare Sub Get_info2
Declare Sub Lat_conversion
Declare Sub Lon_conversion
Declare Sub Grid
Declare Sub Square
Declare Sub Subsquare
Declare Sub Date_gps
Declare Sub Time_gps
On Int0 Button

Cursor Off                                                  'main program
Cls
Lcd "GPS GRID SQUARE"
Locate 2 , 1
Lcd "   BY SV1IXP"
Wait 3
I = 0
Screen = 1
Cls
Enable Int0
Enable Interrupts
   Do
   Call Get_info2
   Call Get_info
   Select Case Screen
   Case 2:
   Locate 1 , 1
   Lcd "LAT:"
   Locate 2 , 1
   Lcd "LON:"
   Call Lat_conversion
   Call Lon_conversion
   Call Coordinate_print
   Waitms 250
   Enable Interrupts
   Enable Int0
   Case 1 :
   Cls
   Locate 1 , 1
   Lcd "UTC: "
   Locate 2 , 1
   Lcd "GRID:"
   Locate 2 , 1
   Call Lat_conversion
   Call Lon_conversion
   Call Grid
   Call Square
   Call Subsquare
   Call Time_gps
   Waitms 250
   Enable Interrupts
   Enable Int0
   Case 3:
    Cls
    Locate 1 , 1
    Lcd "DATE: "
    Locate 2 , 1
    Lcd "HEIGHT: "
    Locate 2 , 9
    I = 1
    Do
    If Height(i) <> "," Then
    Lcd Height(i)
    End If
    I = I + 1
    Loop Until I = 7
    Lcd "m"
    Call Date_gps
    Waitms 250
    Enable Interrupts
   Enable Int0
   Case 4:
    Cls
    Lcd "SATS IN VIEW:"
    I = 2
    Do
    If Sat(i) <> "," Then
    Lcd Sat(i)
    End If
    I = I + 1
    Loop Until I = 4
    Locate 2 , 1
    Lcd "PRE:"
    I = 1
    Do
    Lcd Pre(i)
    I = I + 1
    Loop Until I = 4
    Waitms 250
     Enable Interrupts
   Enable Int0
   Case Else:
   Cls
   Lcd 55555
   Waitms 250
   Enable Interrupts
   Enable Int0
   End Select
   Loop
End



Sub Grid
        Temp2 = Lon_num(1) * 100
        Temp = Lon_num(2) * 10
        Temp = Temp + Lon_num(3)
        Temp = Temp + Temp2
        Lon_dir(1) = Packet(43)
          If Lon_dir(1) = "E" Then
          Temp = Temp + 180
          Else
          Temp = 180 - Temp
          End If
        Temp2 = Temp / 20
        Temp3 = Int(temp2)
        Call Letter(temp3)
        Locate 2 , 7
        Lcd L
        Temp2 = Lat_num(1) * 10
        Temp = Lat_num(2) * 1
        Temp = Temp + Temp2
          If Lat_dir(1) = "N" Then
          Temp = Temp + 90
          Else
          Temp = 90 - Temp
          End If
        Temp2 = Temp / 10
        Temp3 = Int(temp2)
        Call Letter(temp3)
        Lcd L
End Sub

Sub Square

        Temp2 = Lon_num(1) * 100
        Temp = Lon_num(2) * 10
        Temp = Temp + Lon_num(3)
        Temp = Temp + Temp2
        Lon_dir(1) = Packet(43)                             'prepei na allaksei
        If Lon_dir(1) = "E" Then
        Temp = Temp + 180
        Else
        Temp = 180 - Temp
        End If
        Temp2 = Temp / 20
        Temp2 = Int(temp2)
        Temp3 = Temp2
        Temp3 = Temp3 * 20
        Temp4 = Temp
        Temp4 = Temp4 - Temp3
        Temp = Temp4 / 2
        Temp = Int(temp)
        Temp4 = Temp
        Locate 2 , 9
        Lcd Temp4
        Temp2 = Lat_num(1) * 10
        Temp = Lat_num(2) * 1
        Temp = Temp + Temp2
        If Lat_dir(1) = "N" Then
        Temp = Temp + 90
        Else
        Temp = 90 - Temp
        End If
        Temp2 = Temp / 10
        Temp2 = Int(temp2)
        Temp3 = Temp2
        Temp3 = Temp3 * 10
        Temp4 = Temp
        Temp4 = Temp4 - Temp3
        Temp = Temp4 / 1
        Temp = Int(temp)
        Temp4 = Temp
        Lcd Temp4
End Sub

Sub Coordinate_print
K = 1
Locate 1 , 5
        Do
        Lcd Lat(k)
        K = K + 1
        Loop Until K = 10
        Lcd Lat_dir(1)
        K = 1
        Locate 2 , 5
         Do
        Lcd Lon(k)
        K = K + 1
        Loop Until K = 11
        Lcd Packet(43)
        End Sub

Sub Subsquare

Temp = Lon_num(1) * 100
Temp2 = Lon_num(2) * 10
Temp = Temp + Temp2
Temp2 = Lon_num(3) * 1
Temp = Temp + Temp2
Temp2 = Temp / 20
Temp2 = Int(temp2)
Temp2 = 20 * Temp2
Temp = Temp - Temp2
Temp2 = Temp / 2
Temp2 = Int(temp2)
Temp2 = 2 * Temp2
Temp = Temp - Temp2
Temp = Int(temp)
Temp = Temp * 60
Temp2 = Lon_num(4) * 10
Temp5 = Lon_num(5) * 1
Temp2 = Temp2 + Temp5
Temp5 = Lon_num(7) * 0.1
Temp2 = Temp2 + Temp5
Temp2 = Temp2 + Temp
Temp = Temp2 / 5
Temp = Int(temp)
Temp3 = Temp
Call Letter(temp3)
Locate 2 , 11
Lcd L

Temp = Lat_num(3) * 10
Temp2 = Lat_num(4)
Temp = Temp + Temp2
Temp2 = Lat_num(6) * 0.1
Temp = Temp + Temp2
Temp2 = Lat_num(7) * 0.001
Temp = Temp + Temp2
Temp = Temp / 2.5
Temp = Int(temp)
Temp3 = Temp
Call Letter(temp3)
Locate 2 , 12
Lcd L

End Sub

Sub Get_info
     Begin:
     Do
     A = Waitkey()
     Loop Until A = "$"
   I = 0
     Do
     A = Waitkey()
     I = I + 1
     Packet(i) = A
     Loop Until I = 80 Or A = "*"
     If Packet(5) = "C" And Packet(3) = "R" And Packet(4) = "M" Then       'check packet if ok
     I = 7
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       Gps_time(j) = A
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       Status(j) = A
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       Lat(j) = A
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       Lat_dir(j) = A
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       Lon(j) = A
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       Lon_dir(j) = A
       J = J + 1
       Loop Until A = ","
     J = 1
       Do                                                   'void
       A = Packet(i)
       I = I + 1
       Speed(j) = A
       J = J + 1
       Loop Until A = ","
     J = 1
                                             'void
       Do
       A = Packet(i)
       I = I + 1
       Track(j) = A
       J = J + 1
       Loop Until A = ","
    J = 1
       Do
       A = Packet(i)
       I = I + 1
       Day(j) = A
       J = J + 1
       Loop Until A = ","
    J = 1
       Do                                                   'void
       A = Packet(i)
       I = I + 1
       Mag(j) = A
       J = J + 1
       Loop Until A = ","
       Else
       Goto Begin:
       End If
       End Sub

Sub Get_info2
     Begin2:
     Do
     A = Waitkey()
     Loop Until A = "$"
   I = 0
     Do
     A = Waitkey()
     I = I + 1
     Packet(i) = A
     Loop Until I = 80 Or A = "*"
     If Packet(5) = "A" And Packet(3) = "G" And Packet(4) = "G" Then       'check packet if ok
     I = 7
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       J = J + 1
       Loop Until A = ","
     J = 1
       Do
       A = Packet(i)
       I = I + 1
       J = J + 1
       Loop Until A = ","
     J = 1
       Do                                                   'void
       A = Packet(i)
       I = I + 1
       Sat(j) = A
       J = J + 1
       Loop Until A = ","
     J = 1
                                             'void
       Do
       A = Packet(i)
       I = I + 1
       Pre(j) = A
       J = J + 1
       Loop Until A = ","
    J = 1
       Do
       A = Packet(i)
       I = I + 1
       Height(j) = A
       J = J + 1
       Loop Until A = ","
    J = 1
       Do                                                   'void
       A = Packet(i)
       I = I + 1
       J = J + 1
       Loop Until A = ","
       Else
       Goto Begin2:
       End If
       End Sub

Sub Lat_conversion
K = 0
        Do
        K = K + 1
        Lat_num(k) = Val(lat(k))
        Loop Until K = 9
End Sub

Sub Lon_conversion
K = 0
        Do
        K = K + 1
        Lon_num(k) = Val(lon(k))
        Loop Until K = 10
End Sub

Sub Time_gps
Locate 1 , 6
        K = 1
        Do
        Lcd Gps_time(k)
        K = K + 1
        Loop Until K = 3
        Lcd ":"
        Do
        Lcd Gps_time(k)
        K = K + 1
        Loop Until K = 5
        Lcd ":"
        Do
        Lcd Gps_time(k)
        K = K + 1
        Loop Until K = 7
End Sub

Sub Date_gps
Locate 1 , 7
        K = 1
        Do
        Lcd Day(k)
         K = K + 1
        Loop Until K = 3
        Lcd "/"
        Do
        Lcd Day(k)
        K = K + 1
        Loop Until K = 5
        Lcd "/"
        Do
        Lcd Day(k)
        K = K + 1
        Loop Until K = 7
End Sub

Sub Letter(x As Integer)

    Select Case Temp3
    Case 0 : L = "A"
    Case 1 : L = "B"
    Case 2 : L = "C"
    Case 3 : L = "D"
    Case 4 : L = "E"
    Case 5 : L = "F"
    Case 6 : L = "G"
    Case 7 : L = "H"
    Case 8 : L = "I"
    Case 9 : L = "J"
    Case 10 : L = "K"
    Case 11 : L = "L"
    Case 12 : L = "M"
    Case 13 : L = "N"
    Case 14 : L = "O"
    Case 15 : L = "P"
    Case 16 : L = "Q"
    Case 17 : L = "R"
    Case 18 : L = "S"
    Case 19 : L = "T"
    Case 20 : L = "U"
    Case 21 : L = "V"
    Case 22 : L = "W"
    Case 23 : L = "X"
    Case 24 : L = "Y"
    Case 25 : L = "Z"
    Case Else L = "*"
    End Select
End Sub

Button:
Disable Interrupts
Disable Int0
Screen = Screen + 1

      If Screen = 5 Then
      Screen = 1
      End If
Waitms 100
      While Pind.2 = 1
      Wend
      Waitms 200
      Cls
Return

Κυριακή 13 Νοεμβρίου 2011

GPS locator finder



Ένα ραδιοερασιτεχνικό πρόβλημα στις /p επαφές  είναι ο ακριβής προσδιορισμός του grid locator. Οι περισσότερες φορητές συσκευές GPS δίνουν το στίγμα μόνο σε κλασική μορφή γεωγραφικού μήκους/πλάτους  και οι πράξεις στο χαρτί για να υπολογιστεί το locator από το lat/lon δεν είναι και οι πιο εύκολες να γίνουν στο πόδι χωρίς λάθη...  Συσκευή που να  δίνει το loc δεν είχα. Είχα όμως ένα GPS μάους που καθόταν! Βέβαια είχε USB συνδεσιμότητα αλλά για καλή τύχη στο εσωτερικό του είχε ένα Prolific PL-2303HX. Στο Pin Νο5 είναι η είσοδος για τα σειραϊκά δεδομένα που έρχονται από το SiRFstarII ! Οπότε η σύνδεση του με έναν μικροελενκτή είναι παιχνιδάκι.
Ένας Atmega16 διαβάζει τα ΝΜΕΑ πακέτα που στέλνει το GPS και υπολογίζει το grid locator αυτόματα. Η προβολή γίνεται σε μια κλασική οθόνη χαρακτήρων 2Χ16 . Η τροφοδοσία προέρχεται από δυο lipo μπαταρίες 400mAh σε σειρά. Ακολουθούν σε νέα ανάρτηση το σχηματικό και ο πηγαίος κώδικας που τρέχει ο μΕ.
Πληροφορίες για το grid locator system :
Πληροφορίες για το NMEA:
http://aprs.gids.nl/nmea/

73 de SV1IXP

Παρασκευή 28 Οκτωβρίου 2011

10 GHz transverter

Έτοιμες και οι δυο κύριες βαθμίδες του transverter για τα 3 εκατοστά. Ας είναι καλά ο VK3XDK για αυτό το kit.



 73 de SV1IXP

Τρίτη 25 Οκτωβρίου 2011

Αυτόματο τρύπημα πλακετών. (Final)

Παρατίθενται ως αναφορά τα τελευταία σχεδία της κατασκευής. Η τάση εξόδου του 317 πρέπει να είναι στα 7V. Σε περίπτωση που χρησιμοποιηθεί 5V servo θα πρέπει να υπολογιστεί η R3 για 5V και να παραληφθούν οι δίοδοι D1,D2 και D3.

R1=500
R2=240
R3=***
R4=500
R5=500
R6=10K
R7=10K
R8=4.7K
R9=10K
R10=10K
R11=10K
C1=2000μf
C2=1μf
T1=BC547
K1=RT424005
IC1=ATMEGA16
IC2=LM317
D1=1N4004***
D2=1N4004***
D3=1N4004***




 



73 de SV1IXP

Τετάρτη 19 Οκτωβρίου 2011

Κώδικας για αυτόματο τρύπημα πλακετών.


Παρατίθεται ο κώδικας σε Bascom που τρέχει ο μΕ ATMEGA16 για το αυτόματο τρύπημα πλακετών.


'servo
$regfile = "m16def.dat"
$crystal = 8000000
Config Porta.0 = Output
Config Porta.1 = Output
Config Porta.2 = Output
Config Portd.6 = Output
Config Portd.7 = Output
Config Porta.3 = Input
Config Porta.4 = Input
Config Porta.5 = Input
Config Portd.0 = Input
Config Portd.2 = Input
Dim I As Integer
Dim Neutral_position As Integer
Dim Drill_start As Integer
Dim Drill_end As Integer
Dim Drill_speed As Integer
Dim Drill_speed_temp As Single
Dim Temp1 As Single
Dim Temp As Integer
Dim Drill_start_rom As Eram Integer At 14 , Drill_end_rom As Eram Integer At 16 , Drill_speed_rom As Eram Integer At 18
On Int0 Neutral
Config Int0 = Falling
Portd.7 = 1
Waitms 200
Neutral_position = 250
Drill_start = Drill_start_rom
Drill_end = Drill_end_rom
Drill_speed = Drill_speed_rom
Enable Interrupts
Enable Int0
Portd.6 = 0
Porta.0 = 1
Porta.1 = 1
Porta.2 = 1
Waitms 500
Porta.0 = 0
Porta.1 = 0
Porta.2 = 0
Wait 500
Porta.0 = 1
Porta.1 = 1
Porta.2 = 1
Wait 500
Porta.0 = 0
Porta.1 = 0
Porta.2 = 0
Wait 500



   If Pina.5 = 1 Then
   Porta.0 = 1
   Wait 1
   While Pina.5 = 0
      If Pina.4 = 1 Then
      Drill_start = Drill_start + 1
      End If
      If Pina.3 = 1 Then
      Drill_start = Drill_start - 1
      End If

      If Drill_start < 375 Then
      Drill_start = 375
      End If

      If Drill_start > 500 Then
      Drill_start = 500
      End If

   Pulseout Portd , 6 , Drill_start
   Waitms 18
   Wend

   Drill_start_rom = Drill_start
   Porta.0 = 0
   Wait 1
   End If
   If Pina.5 = 1 Then
   Porta.1 = 1
   Wait 1
   While Pina.5 = 0
      If Pina.4 = 1 Then
      Drill_end = Drill_end + 1
      End If
      If Pina.3 = 1 Then
      Drill_end = Drill_end - 1
      End If


      If Drill_end < 380 Then
      Drill_end = 380
      End If
      If Drill_end > 510 Then
      Drill_end = 510
      End If




   Pulseout Portd , 6 , Drill_end
   Waitms 18
   Wend
   Drill_end_rom = Drill_end
   Porta.1 = 0
   Wait 1
   End If
   If Pina.5 = 1 Then
   Porta.2 = 1
   Wait 1
   Temp1 = Drill_start
   While Pina.5 = 0
      If Pina.4 = 1 Then
      Drill_speed = Drill_speed + 1
      End If
      If Pina.3 = 1 Then
      Drill_speed = Drill_speed - 1
      End If
      If Drill_speed < 1 Then
      Drill_speed = 0
      End If
      If Drill_speed > 100 Then
      Drill_speed = 100
      End If
      Drill_speed_temp = Drill_speed / 40
      Temp1 = Temp1 + Drill_speed_temp
      Temp = Round(temp1)
   Pulseout Portd , 6 , Temp
      If Temp > Drill_end Then
      Temp = Drill_start
      Temp1 = Temp
      End If
   Waitms 18
   Wend
   Drill_speed_rom = Drill_speed
   Wait 1
   Porta.2 = 0
   End If

Begin:
Do
Portd.6 = 0
While Pind.0 = 0
Pulseout Portd , 6 , Drill_start
Waitms 18
Wend
Temp1 = Drill_start
Portd.6 = 0
   Do
   Drill_speed_temp = Drill_speed / 40
      Temp1 = Temp1 + Drill_speed_temp
      Temp = Round(temp1)
   Pulseout Portd , 6 , Temp
   Waitms 17
   Loop Until Temp > Drill_end
Loop
   End


Neutral:
Disable Interrupts
Disable Int0
Portd.6 = 0
I = 0
Do
Pulseout Portd , 6 , Neutral_position
Waitms 18
I = I + 1
Loop Until I = 50
Portd.7 = 0
Wait 5

Return



Η pulseout εντολή δημιουργεί τους παλμούς που οδηγούν το servo. Η υπορουτίνα neutral είναι υπεύθυνη για την απομάκρυνση του τρυπανιού από την επιφάνεια όταν μετακινηθεί ο διακόπτης σε θέση Off.

73 de SV1IXP

Πέμπτη 13 Οκτωβρίου 2011

Αυτόματο τρύπημα πλακετών


Μετά από αρκετή αναμονή πλέον είναι έτοιμο και το σύστημα τρυπήματος πλακετών με χρήση μοντελιστικού σερβομηχανισμού και μικροελενκτη.
Το σύστημα βασίζεται στην βάση MB140/S και τον ταχυτροχο IB/E της PROXXON.
H λογική λειτουργίας είναι απλή και βασίζεται σε έναν μικροελεγκτή ΑTMEGA16 ο οποίος δημιουργεί το απαιτούμενο PWM (pulse width modulation) σήμα που χρειάζεται το servo για τον έλεγχο της θέσης του. Ρυθμιζόμενες παράμετροι μέσω διακοπτών είναι η αρχή και το τέλος της διαδρομής καθώς και η ταχύτητα διάτρησης. Οι παράμετροι αποθηκεύονται στην ανεξίτηλη μνήμη του μικροελεγκτή για ανάκληση κάθε φορά που ενεργοποιείται το σύστημα. Για τη ρύθμιση κρατάμε πατημένο το κουμπί SETUP κατά την ενεργοποίηση της τροφοδοσίας μέχρι να ανάψει το πρώτο led το οποίο μας ενημερώνει ότι ρυθμίζουμε την αντίστοιχη παράμετρο μέσω των κουμπιών  UP/DOWN. Για τη ρύθμιση των υπολοίπων παραμέτρων κρατάμε πατημένο το SETUP μέχρι να ανάσσει το επόμενο led ή το πατάμε στιγμιαία για να βγούμε από την διαδικασία του setup.
Μια extra λειτουργία/ευκολία είναι η απομάκρυνση του τρυπανιού από την επιφάνεια μας (πάνω στην οποία τρυπάμε) με την απενεργοποίηση του διακόπτη της τροφοδοσίας, η οποία υλοποιείται με την βοήθεια του relay όπως φαίνεται στο σχέδιο.
Με την πίεση ενός ποδοδιακοπτη ξεκινάει η διάτρηση.  
Ακολουθεί  ο κώδικας/σχηματικό/πλακέτα σε νέα δημοσίευση.


   73 de SW1IXP






Παρασκευή 16 Σεπτεμβρίου 2011

GPSDO

Ήρθε και το GPS disciplined oscillator της Trimble! Πλέον θα έχουμε σταθερότατη αναφορά 10MHz για το Silabs Si4133 που αναμένεται.

Σάββατο 10 Σεπτεμβρίου 2011

STEP ATTENUATOR

Ο ρυθμιζόμενος εξασθενητής είναι σχεδιασμένος με βάση το ARRL HANDBOOK (19.52 A SWITCHED ATTENUATOR) και έχει 1,2,4,8,10 και δυο 20dB τιμές εξασθένισης δίνοντας επιλογές εξασθένησης ανά 1dB μέχρι 65dB θεωρητικά (βλέπε διάγραμμα παρακάτω). Οι αντιστάσεις είναι 1% metal film και οι διακόπτες απλοί toggle switches. Το κέλυφος είναι κατασκευασμένο από χαλκό πάχους 1mm. Οι κοννέκτορες είναι BNC θηλυκοί. Η μέγιστη τιμή ισχύος που αντέχει είναι 300mW και μπορεί να χρησιμοποιηθεί για μετρήσεις με τυπική ακρίβεια +-1dB για συχνότητες μέχρι 150MHz περίπου.





Με μπλε το πραγματικό μέρος και με κόκκινο το φανταστικό.









Η μέγιστη εξασθένηση που μετρήθηκε ήταν 47dB περίπου. Ο θόρυβος με την μορφή spikes στην καμπύλη υποδηλώνει παρεμβολή από ισχυρά σήματα (πιθανότατα ραδιοφονικά) και περιορίζει την ευαισθησία του Minivna (Ίσως πρέπει να μετακομίσω σε καμιά σπηλιά για να κάνω την μέτρηση)







Τα στάσιμα είναι κάτω από 3:1 για συχνότητες <160MHz Άρα για συχνότητες κάτω από 160MHz η απώλεια λόγο κακής προσαρμογής ειναι μικρότερη από 1dB.








Η ελάχιστη εξασθένηση είναι 1dB περίπου (έχοντας επιλέξει μηδενική εξασθένηση!).








73 de SV1IXP