Τετάρτη 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

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

http://sv1ixp.blogspot.com/

http://sv1ixp.blogspot.com/

Κυριακή 4 Σεπτεμβρίου 2011

S band update.

Πλέον το tranverter είναι έτοιμο και συντονισμένο και οι πρώτες δοκιμές εκπομπής και λήψης στους 2304,5MHz έγιναν με επιτυχία με την μακρινότερη επαφή να φτάνει την απόσταση του μισού μέτρου.

Η ισχύς εκπομπής ανέρχεται στα 15mW περίπου.






73 de SW1IXP

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

13.888888 εκατοστά είναι αυτά!

Πλέον ταλαντώνουμε στους 2160MHz με +4dBm!!! Εσείς που ...ταλαντώνετε;



73 de SW1IXP