Gesteuert wird er durch die bei fast allen ICOM-Geräten identische CI-V Schnittstelle [1], [2]. Es handelt sich hierbei um eine serielle Schnittstelle für die Kommunikation der Geräte untereinander, mit einem PC oder anderer Peripherie. Die Übertragung in beide Richtungen erfolgt über eine 2-polige Leitung. Man kann darüber fast alle Geräteparameter fernsteuern oder abfragen. Die Schaltung fragt die CI-V Schnittstelle 5 x pro Sekunde ab, und wertet die Frequenzdaten, die der Transceiver sendet aus. Abgefragt wird hier die Frequenz, und abhängig von letzterer werden 13 Bänder geschaltet. Auf Transceiverseite muß man "CI-V Transceive" auf on setzen, Baud Rate auf Auto, die Adresse braucht nicht verändert zu werden. Zur Schaltung: Das Serielle Signal wird mit T1 verstärkt und dann wieder mit T2 invertiert. Man darf hier keinesfalls Pegelwandler wie z.B Max232 in der Übertragungsstrecke haben, da diese das Signal erneut invertieren, und man bekommt seltsame Daten über die Schnittstelle. Die Befehle werden direkt von der IS über R4 an den TRX über die selbe Leitung gesendet. Die Ausgänge gehen bei folgenden Frequenzen auf high: MHz Pin (Atmega8) 1-2 C0 3-4 C1 7-8 C2 10-11 C3 14-15 C4 18-19 C5 20-22 D3 24-25 D4 26-30 D5 50-55 D6 70-71 D7 140-150 B6 420-450 B7 Über die 13 Schaltausgänge kann man durch Verknüpfung der Bänder mit den Antennenrelais mehrere Antennen Schalten, in meiner Schaltung sind es 4 Relais, ich hab 10A-Typen verwendet. Man kann dann beispielsweise Relais 1 (3-Element 3-Bander) auf 14,21 und 28MHz legen 144 und 430MHz auf eine 2-Band VHF/UHF |
|
Antenne und
3,5/7/10/18/24MHz auf die Windom usw. Nicht geschaltete Antennenausgänge liegen automatisch auf Masse. Möchte man die Schaltausgänge unabhängig von der Transceiver-Frequenz schalten, erfolgt das durch einen längeren Druck (> 0,5s) auf S1, (die Auswertung der Dauer erfolgt erst beim loslassen des Tasters) man befindet sich dann im manuellen Modus und kann durch kurzes Drücken auf S1 die Bänder weiterschalten. Erneutes langes Drücken beendet den manuellen Modus und es gelten wieder die am Transceiver eingestellten Frequenzen. Für VHF/UHF sollte man Koax-Relais nehmen und die Leiterbahnen "UKW-tauglich" ausführen. Die Schaltung inclusive Frequenzanzeige hab ich in einem nur 168 x 103 x 56 mm kleinen Gehäuse untergebracht (PROMA 1030). Die Stromversorgung erfolgt mit 12V (8-20V) |
Basic-Programm (Bascom-AVR)
'Fuses:
'SUT_CKSEL: INTROSC_8MHZ_6CK_64MS
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
Dim I As Byte
Dim S(17) As Byte
Dim X As Byte
Dim Band As Byte
Dim Mhz As String * 2
Dim Mhz1 As String * 1
Dim Mhz2 As String * 2
Dim Khz As String * 2
Dim Khz1 As String * 1
Dim Khz2 As String * 1
Dim Fr As Single
Dim Fr1 As Single
Dim Tdauer As Byte
Dim Address As Byte
Const Anfang =&HFE
Const Extaddr = &HE0
Const Getfrq = &H03
Const Ende = &HFD
I = 1
Taster1 Alias Pind.2
Config Taster1 = Input
Taster1 = 1
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.4 = Output
Config Portc.5 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Config Portd.7 = Output
Config Portb.6 = Output
Config Portb.7 = Output
On Int0 Taster_ein
Config Int0 = Rising
Enable Int0
Config Com1 = Dummy , Synchrone = 0 , Parity = Disabled , Stopbits = 1, Databits = 8 , Clockpol = 0
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5
Config Lcd = 16 * 2
Cursor Off
Cls
Cursor Off
Upperline
Lcd "DL2IAO Antenn- "
Lowerline
Lcd "umschalter 5.0 "
Wait 1
Cls
On Urxc Onrxd
Enable Urxc
Enable Interrupts
Address = &H00
'---------------------------CAT-Befehl senden
Do
Print Chr(anfang);
Print Chr(anfang);
Print Chr(address);
Print Chr(extaddr);
Print Chr(getfrq);
Print Chr(ende);
Waitms 200
Locate 1 , 10
Lcd "CI-V "
Gosub Relais
Loop
'---------------------------18 Bit vom RTX empfangen
Onrxd:
X = Udr
Incr I
If I < 18 Then
S(i) = X
Else
I = 18
End If
Return
'---------------------------Wenn Taster gedrückt
Taster_ein:
Gosub Tastdauer
If Tdauer > 50
Then
'Wenn Taster lange
Disable Urxc
Gosub Machwas
Else
Enable Urxc
End If
Return
'---------------------------Wenn Taster >0,5s gedrückt, manuell
Machwas:
Locate 1 , 10
' für manuell
Lcd "manuell"
Do
' Bänder können mit Taster weitergeschaltet werden,
Disable
Int0
' unabhängig vo TRX-Frequenz, erneut lange drücken,
Locate 1 , 3
' für normale Funktion
Waitms 10
If Taster1 = 1 Then
'Taster gedrückt
Gosub Tastdauer
If Tdauer > 50
Then
'Wenn Taster >0,5s verlasse Schleife
Enable Int0
Enable Urxc : Return
Else
Band = Band + 1
If Band = 14 Then Band = 1
Gosub Relais
End If
End If
Enable Int0
Enable Urxc
Loop
Return
'---------------------------Relais schalten + LCD Anzeige
Relais:
Mhz = Hex(s(17)) + Hex(s(16))
Fr = Val(mhz)
'---------------------------Frequenzen Bänder zuordnen
Select Case Fr
Case 1 To 2
Band = 1
Case 3 To 4
Band = 2
Case 7 To 8
Band = 3
Case 10 To 11
Band = 4
Case 14 To 15
Band = 5
Case 18 To 19
Band = 6
Case 20 To 22
Band = 7
Case 24 To 25
Band = 8
Case 26 To 30
Band = 9
Case 50 To 55
Band = 10
Case 70 To 71
Band = 11
Case 140 To 150
Band = 12
Case 420 To 450
Band = 13
End Select
'--------Ausgänge schalten Port B, C und D für Relais
Select Case Band
Case 1
Portc = &B00000001 : Portd = &B00000000 : Portb = &B00000000 'C0
Case 2
Portc = &B00000010 : Portd = &B00000000 : Portb = &B00000000 'C1
Case 3
Portc = &B00000100 : Portd = &B00000000 : Portb = &B00000000 'C2
Case 4
Portc = &B00001000 : Portd = &B00000000 : Portb = &B00000000 'C3
Case 5
Portc = &B00010000 : Portd = &B00000000 : Portb = &B00000000 'C4
Case 6
Portc = &B00100000 : Portd = &B00000000 : Portb = &B00000000 'C5
Case 7
Portd = &B00001000 : Portc = &B00000000 : Portb = &B00000000 'D3
Case 8
Portd = &B00010000 : Portc = &B00000000 : Portb = &B00000000 'D4
Case 9
Portd = &B00100000 : Portc = &B00000000 : Portb = &B00000000 'D5
Case 10
Portd = &B01000000 : Portc = &B00000000 : Portb = &B00000000 'D6
Case 11
Portd = &B10000000 : Portc = &B00000000 : Portb = &B00000000 'D7
Case 12
Portb = &B01000000 : Portc = &B00000000 : Portd = &B00000000 'B6
Case 13
Portb = &B10000000 : Portc = &B00000000 : Portd = &B00000000 'B7
End Select
'---------------------------LCD-Ausgabe
Khz = Hex(s(14))
Khz1 = Left(khz , 1)
Khz2 = Right(khz , 1)
Locate 1 , 1
Lcd "Band " ; Band ; " "
If S(17) > 0
Then
'Führende "0" in Leerz. umw.
Mhz1 = Str(s(17))
Else
Mhz1 = " "
End If
Mhz2 = Hex(s(16))
If Left(mhz2 , 1) = "0" Then
'Führende "0" in Leerz. umw.
Mhz2 = " " + Right(mhz2 , 1)
Else
End If
Locate 2 , 1
Lcd Mhz1 ; Mhz2 ; "." ; Hex(s(15)) ; Khz1 ; "." ; Khz2 ; Hex(s(13)) ; " MHz "
I = 1
Return
'--------------------------- Zeit Taster geschlossen ermitteln
Tastdauer:
Tdauer = 0
Do
Incr Tdauer
Waitms 10
Loop Until Taster1 = 0
Return
Besucher: 1984
An den Seitenanfang | E-Mail an den Autor | Homepage |