Manfreds BasteleckePlatine

 

Übersicht:

Bereich Bosch-Funkgerät

- Um was geht es hier und der Aufbau
- Download Bosch Firmware für Atmega 8
- grafisches Windows Bosch-Terminal zur Steuerung des Mikrocontroller Atmega 8
- Download Windows Bosch Terminal
- Programm zur Berechnung der Diodenmatrix einer Bosch KFE-165 / KF-453 und ähnlichen
-
Ergänzung um eine LCD - Frequenzsteuerung
- Download Hexfile Bosch LCD


Um was geht es hier?

Es gibt von Bosch sogenannte “Betriebsfunkgeräte” die sich leicht auf das Amateurfunkband abgleichen lassen (z. B. das
KFE-165 (2m Band) oder KF-453 (70cm Band). In diesen Geräten steckt ein sogenannten Eprom mit dessen Funktion sich die gewünschte Frequenz festlegen läßt. Man kann das Eprom gegen eine “Diodenmatrix” austauschen und somit die Frequenz auf seine Bedürfnisse anpassen, hierzu gibt es genügend Informationen im Internet.
Hier stelle ich Ihnen ein Projekt vor, mit dessen Hilfe sich die sogenannte “Diodenmatrix” durch einen Mikrocontroller ersetzen läßt und per Software und internen Speicher im Mikrocontroller die Frequenz in einem bestimmten Bereich für das Bosch Funkgerät gesetzt werden kann.

Achtung: Der Eingriff bzw. die Modifikation von Funkgeräten ist nur entsprechendem Fachpersonal oder Funkamateuren (diese haben eine Prüfung bei der Bundesnetzagentur absolviert) erlaubt! Anderen Personen ist die Modifikation dieser Geräte untersagt! Dieses Projekt ist experimenteller Natur und erhebt keinen Anspruch auf Funktionsfähigkeit. Ich übernehme keine Haftung für Schäden! Nutzung auf eigene Gefahr! Kommerzielle Nutzung ohne schriftliche Genehmigung verboten!

Was kann der Mikrocontroller:

- Einstellen der jeweiligen Frequenz für den Betrieb
- Nutzung des Frequenzbereiches im 12,5 und 20 kHz Raster
- Kommunikation per serielle Datenübertragung mit 9600 Baud im TTL Pegel (zur Nutzung
 am PC muss ein Pegelwandler, z. B. Max232, verwendet werden
- Speicherung von bis zu 10 Frequenzen im EEprom
- automatische Relais Ablage (-600 Hz für 2m, -7,6 kHz für 70cm)
- 1750 Hz Tonruf bei kurz hintereinander folgender PTT-Tastung (2 mal Tasten)
- Scannen durch die 10 Speicherplätze
- Anzeige des aktuellen Speicherplatzes bzw. der aktiven Frequenz durch eine LED
- am PC abrufbarer Hilfetext zur Steuerung / Einstellung des Mikrocontrollers

Serielle Datenübertragung mit dem PC:
Um den Mikrocontroller mit dem PC zu verbinden ist unbedingt ein Pegelwandler (z. B. ein MAX232) dazwischen zu schalten der die Spannungspegel zwischen dem TTL-Pegel (5V) und der RS232 Schnittstelle (+/- 12V) anpasst. Wird der Mikrocontroller direkt angeschlossen so wird dieser und ggf. die PC-Schnittstelle zerstört! Der Pegelwandler wurde nicht im Schaltplan mit aufgenommen, weil die Steuerung auch mit anderen Geräten, wie z. B. ein weiterer Mikrocontroller zur Steuerung mit 4 Tastern und einem Display, vorgesehen ist und dann der Pegelwandler überflüssig ist. Wie man z. B. den Max232 beschaltet ist in diversen Beispielen im Internet sowie im Datenblatt des IC’s beschrieben.

Einstellungen des COM-Ports am PC:

    Baudrate: 9600
    Datenbits: 8
    Parität:   keine
    Stoppbits: 1
    Protokoll: kein

Die Steuerung / Konfiguration kann man mit einem einfachen Terminalprogramm wie z. B. Hyperterminal durchführen. Alternativ biete ich ein Windows Boschterminal, das ich speziell für die Kommunikation mit dem Mikrocontroller entwickelt habe.

Zur Verfügung stehende Befehle:

Jeder Befehl wird mit <Enter> abgeschlossen und es erfolgt eine Rückmeldung vom Mikrocontroller, OK = Befehl akzeptiert, ERROR = Befehl nicht akzeptiert.

Fmmm.kkkk (F = Frequenz)
 die aktuelle Frequenz einstellen, die Frequenz muss ins 20 oder 12,5 KHz Raster passen   
 ansonsten wird der Befehl nicht angenommen.
 Beispiel der Eingabe für 2m: F144.6200

H (H = Hilfe)
 Zeigt die Hilfe in Kurzfassung an.

I (I = Info)
 Zeigt die aktuelle Info (die aktuellen Einstellungen im Gerät) an.

L ( L = List)
 Listet die Belegung der 10 internen Speicher auf.

Rn (R = Read)
 Frequenz aus Speicherplatz (n entspricht dem Speicherplatz = 1 bis 10) abrufen und setzen.
 Ist der ausgewählte Speicherplatz nicht belegt dann erfolgt eine Meldung “ERROR”, der
 bisherige Zustand bleibt erhalten.
 Beispiel: R1

S (S = Scan ein / aus)
 Memoryscan ein- bzw. ausschalten, der Scan kann auch durch betätigen der PTT Taste
 beendet werden. Der Scandurchlauf erfolgt nur über belegte Speicherplätze. Sind noch keine
 Speicherplätze belegt worden funktioniert der Scanmodus nicht.

Wn (W = Write)
 Speichert die gerade aktuelle Frequenz im angegebenen Speicherplatz (n entspricht dem
 Speicherplatz = 1 bis 10). Hinweis: die aktuelle Frequenz wird mit dem Befehl F eingestellt.
 Beispiel: W1

$ Bandwechsel je nach Boschgerät zwischen 2m und 70cm Betrieb umschaltbar. Beim
  Umschalten werden alle Speicherplätze gelöscht!. Defaulteinstellung ist 2m.

Funktionen die während des Betriebes an der Bosch zur Verfügung stehen:

An der Bosch (und bei mir auch am Mikrofon) befindet sich eine Grüne Taste. Mit dieser Taste kann der Speicher weitergeschaltet, der aktuelle Speicherplatz / die aktuelle Frequenz optisch angezeigt und der Scanmodus aktiviert / deaktiviert werden.
Zur optischen Anzeige wird die vorhandene grüne LED verwendet. Leider muss der Anschluss der Anode (+ Pol der LED) etwas umgebaut werden. Die Bosch nutzt intern eine Spannung von ca. 8 Volt, der Mikrocontroller wird allerdings mit 5V betrieben. Die LED wird gegen Masse geschaltet, d. h. liegt die Kathode auf Masse leuchtet die LED, wird hingegen der PIN nicht durchgeschaltet leuchtet die LED nicht. Weil hier aber unterschiedlichen Spannungs- potentiale vorhanden sind, würde ohne Umbau die LED dauerhaft leuchten. Die Anode der LED ist von der Betriebsspannung zu trennen und mit den 5V vom Spannungsregler für den Mikrocontroller zu verbinden (den Vorwiderstand für die LED beachten, wenn dieser an die Anode der LED liegt, dann ist natürlich der Pin vom Widerstand auf die 5V zu legen, bzw. muss ein entsprechender Vorwiderstand für 5V in Reihe zur LED angebracht sein!
In einigen Geräten sind Blink-LEDs eingebaut, in diesem Fall muss die LED gegen eine andere ausgetauscht werden.

Grüne Taste einmal kurz drücken: springt weiter auf den nächsten belegten Speicherplatz,
 aktueller Speicherplatz wird über die grüne LED angezeigt.
Grüne Taste zweimal schnell drücken: die aktuell eingestellte Frequenz wird über die grüne
 LED angezeigt.
Grüne Taste länger als 2 Sekunden festhalten: aktiviert / deaktiviert den Scanmodus, der
 jeweils aktuelle Speicherplatz wird über die grüne LED angezeigt. Es wird nach wenigen
 Sekunden automatisch zum nächsten Speicherplatz gewechselt bis der Scanmodus wieder
 deaktiviert wird.
Rote PTT-Taste schnell zweimal drücken und dann halten: 1750Hz Ton wird erzeugt solange
 wie die PTT-Taste festgehalten wird. Durch dauerhaftes leuchten der grünen LED wird dies
 auch optisch angezeigt.


Funktion der grünen LED:

Kanalanzeige:
1x blinken -> Kanal 1
2x blinken -> Kanal 2
3x blinken...

Frequenzanzeige, Beispiel für die Frequenz von 144,800:
1 = 1x blinken - > pause
4 = 4x blinken - > pause
4 = 4x blinken - > pause
8 = 0x blinken - > pause
0 = kurz aufblitzen - > pause
0 = kurz aufblitzen - > pause

1750 Hz Ton wird gesendet:
dauerhaftes leuchten bis PTT-Taste wieder losgelassen wird.


Mit ein wenig Übung kann man recht gut die Frequenz oder den Kanal ablesen.

Der Schaltplan, das Platinenlayout sowie der compilierte Programmcode für den Mikrocontroller ist im Download enthalten. Als Mikrocontroller wird ein Atmega 8 von Atmel eingesetzt. Die Programmierung erfolgte mit dem Basic Compiler
BASCOM AVR. Es folgen zwei Bilder von der Steuerungsplatine in einer Bosch KFE-165:

Platine_bestückt

Bild 1: links: Adapter für Kodiersockel, Mitte unten: serieller Anschluss, drüber der Atmega 8 und Oben der Steueranschluss

Platine_eingebaut

Bild 2: Platine im eingebautem Zustand. Der rote Anschluss mit dem Flachbandkabel ist der Programmieranschluss vom Mikrocontroller, dieser kann entfallen wenn man den Mikrocontroller außerhalb der Schaltung programmiert. Der graue Draht im Vordergrund, der von rechts nach links geht, ist die weiter oben besprochen 5 Volt Zuleitung für die grüne Leuchtdiode.

Programmierung des Atmega 8 Mikrocontrollers:

Jeder Mikrocontroller muss wissen was er tun soll, dafür benötigt er ein Programm. Das Programm steht im Download als HEX-File zur Verfügung. Das Programm muss über einen entsprechenden Programmieradapter in den Mikrocontroller geflasht werden. Wie das geht kann man im Internet nachlesen. Eine entsprechende Seite zur Beschreibung von AVR-Mikrocontrollern ist unter www.rowalt.de zu finden, oder Hinweise sind auch auf der bisherigen Seite von DO9BK zu finden. Zusatzlich zum Programm müssen im Mikrocontroller auch noch entsprechende Fusebits gesetzt werden, wie diese zu setzen sind zeigt folgender Screenshot vom kostenlosen AVR-Studio von Atmel:

Fusebits__M8_Bosch_AVRStudio4

Die wichtigsten Einstellungen sind: Interner Oszillator auf 8 Mhz, Bodenlevel auf 4 Volt und Boden aktivieren. Bodenlevel bedeutet, das das Programm im Mikrocontroller erst startet wenn er eine konstante Spannung von mindestens 4 Volt hat. Beim einschalten des Gerätes kommt es im ersten Moment zu Spannungsschwankungen, diese würden ohne diese Einstellung den Mikrocontroller nicht sauber starten und es kann zu Fehlfunktionen kommen! Hat man den falschen internen Takt gewählt dann funktioniert die serielle Datenübertragung nicht! Auf keinen Fall etwas anderes beim Qszillator einstellen weil sonst der Mikrocontroller ohne weitere Hilfsmittel nicht mehr ansprechbar ist! Also größte Vorsicht beim Einstellen der Fusebits!

Zurück zur Übersicht

Schaltplan und Platinenbestückung:

Schaltplan
Bestückung_KFE165
Download Bosch_Atmega8 Umbau
 

 

Versionshistorie:

Vers. 1.025
14.03.09: interne Fehlerkorrektur bzgl. des registrierten Calls

Vers. 1.024
10.03.08: Integration 70cm Frequenzbereich und Relaisablage
     Die Firmware kann per Terminal und Befehl "$" zwischen 2m und 70cm Betrieb
     umgeschaltet werden! Dabei werden alle Speicher automatisch gelöscht. Default beim
     ersten einspielen der Firmware ist das 2m Band. GGf. wird es 2 Hex-Files geben mit
     unterschiedlichem Default-Wert. Wer ein Upgrade von einer vorherigen Version auf
     Version 1.024 vornimmt muß beachten, das auch in diesem Fall die Speicher gelöscht
     werden und neu einzugeben sind.
     Der Hilfetext wurde massiv gekürzt weil die Neuerungen sonst nicht mehr in den
     Programmspeicher passen.

Vers. 1.023
25.02.08 Korrektur der Rastereinstellung beim lesen aus dem Speicher. Hier wurde versehentlich
     ein falsche Bit ausgewertet.
     (Anmerkung: heute entstand die V1.0 für die 70cm Variante.)

Vers. 1.022
18.02.08: Korrektur der max. zulässigen Befehlslänge von 9 auf 10 Stellen (inkl. LF/CR),
     war notwendig für das neue Windows-Terminal-Programm.
     Entstehung des Bosch-Windows-Terminal Version Alpha 1.

Vers. 1.021
17.02.08: Korrektur der Kanalanzeige (M:) beim Befehl "I", hier wurde eine Speichernummer
     angezeigt, auch wenn man über den F-Befehl eine andere Frequenz eingestellt hat
     und somit der zuletzt genutzte Speicher garnicht mehr aktiv war.
     Wird jetzt mit "F" eine Frequenz vorgegeben, dann wird keine Speichernummer mehr
     angezeigt.

Vers. 1.020
03.02.08: Erste Veröffentlichung der Bosch-Firmware

Jan. 08: Erste Überlegungen eine Bosch KFE-165 mit einem Mikrocontroller auszurüsten. Erste
     Versuche die Matrix per µC (Atmel Atmega 8) zu steuern. Nach und nach erfolgte der
     weitere Ausbau und Entstehung der Firmware V 1.020.

Zurück zur Übersicht


grafisches Windows Bosch-Terminal zur Steuerung des Mikrocontroller Atmega 8:

Mit Hilfe dieses kleinen Steuerungsprogramm kann die lästige Eingabe über ein ASCII-Terminal wie z.B. Hyperterminal entfallen. Hier kann der verwendete COM-Port zur Steuerung eingestellt werden und alle notwendigen Einstellungen an der Bosch vorgenommen werden, wie:

- Frequenzraster auswählen
- aktuelle Frequenz einstellen
- Speicherplätze belegen
- Speicherplätze abrufen und aktivieren

In Planung ist noch eine softwareseitige Favoritenliste von Einzelfrequenzen um die hardwaretechnische Anzahl von Speicherplätzen von max. 10 Plätzen zu umgehen.

Screenshot des Bosch Terminal Programmes:

Boschterminal

 

Neue Version 2.1.1, Fehlerbereinigungen und neue Einstellungsmöglichkeit ob beim Starten der Anwendung automatisch eine Verbindung zur Bosch aufgebaut werden soll. Bitte Testen, falls es nicht funktioniert bitte eine Email an mich, danke.

Download Windows Bosch Terminal V 2.1.1

Zurück zur Übersicht

 

Programm zur Berechnung der Diodenmatrix einer Bosch KFE-165 / KF 453 und ähnlichen (jetzt auch für 4m):

mit diesem Programm kann man für das 2m und 70cm Amateurfunkband sich zu einer gewünschten Frequenz die entsprechende Beschaltung mit einer Diodenmatrix berechnen bzw. anzeigen lassen.

BoschDiodenmatrix

06.08.2010: ich habe nun noch eine Ansicht zur Diodenverdrahtung eingefügt.

05.08.2010: aus gegebenen aktuellen Anlass habe ich nun eine Sicherung integriert, damit nicht jeder gleich drauf los lötet und sich wundert das die Matrix evtl. nicht funktioniert!

Passt das eingestellte Raster nicht zur eingestellten Frequenz, dann wurde zwar ein Fehlertext angezeigt aber dann leider auch eine falsch berechnete Matrix angezeigt. Da der Fehlertext scheinbar übersehen wurde, zeigt die Grafik des Sockels nun auch keine sinnlose Beschaltung mehr an. Somit sollte in Zukunft eine fehlerhafte Programmeinstellung leichter bemerkt werden.

Download Boschmatrix Version 1.6.0.0

Zurück zur Übersicht

 

LCD - Frequenzsteuerung

Wer die Bosch lieber ohne PC bedienen möchte bzw. nicht auf den Komfort verzichten will auch Frequenzen außerhalb der zur Verfügung stehenden Speicherplätze zu nutzen, der kann die hier vorgestellte LCD-Erweiterung nutzen. Die Erweiterung macht nichts anderes als die Kommunikation über die serielle Schnittstelle zu übernehmen. Es wird beim Einschalten der aktuelle Status der Bosch abgefragt und im Display angezeigt. Über die vier Taster kann nun die Steuerung durchgeführt werden.
Über die vier Taster kann die Frequenz eingestellt, zur Bosch gesendet und die Speicherplätze belegt oder ausgelesen werden.

Bosch_LCD_Schaltplan

Vorgehensweise:
Im Display sind 2 Zeilen zu sehen, in der oberen Zeile wird die aktuelle Frequenz angezeigt und kann hier verändert werden. In der unteren Zeile steht der aktuell verwendete Speicherplatz (kann hier auch umgestellt werden). Mit den Tasten “Up” und “Down” kann die jeweilige Ziffer erhöht oder verringert werden, mit dem Taster “Next” wird zur nächsten Stelle gesprungen. Die Taste “Enter” bestätigt die aktuelle Eingabe, d.h. steht man mit dem Cursor in der oberen Zeile wird die aktuell angezeigte Frequenz an die Bosch geschickt. Ist die Frequenz gültig, dann wird kurz ein “OK” eingeblendet und die aktuelle Frequenz wird weiterhin im Display angezeigt. War die Eingabe ungültig, so erscheint kurz “ERROR” und die ursprüngliche Frequenz wird wieder angezeigt (bzw. die aktuelle Frequenz wird erneut ausgelesen). Steht man hingegen mit dem Cursor in der unteren Zeile, so wird mit “Enter” der gewählte Speicherplatz abgerufen. Ist dieser belegt werden die aktuellen Daten angezeigt, ansonsten wird wieder der ursprüngliche Zustand angezeigt. Anders gesagt: nach jedem Enter werden die Daten zur Bosch gesendet und anschließend wird vom Display der aktuelle Zustand der Bosch wieder abgefragt.
Wie kann ich eine Frequenz im Speicher ablegen? 1. Cursor in die obere Zeile positionieren und die gewünschte Frequenz einstellen und mit der “Enter” Taste aktivieren, d. h. die Bosch wird auf die gewünschte Frequenz eingestellt. Danach positioniert man die Cursor in die untere Zeile und stellt die Nummer des gewünschten Speicherplatzes ein und dann GLEICHZEIT die “Up” UND die “Down” Taste drücken (NICHT “Enter” drücken). Hat alles geklappt erfolgt wieder eine “OK” Meldung. Falls es nicht geklappt hat, dann hat man die Ziffer verstellt und muss die Ziffer wieder richtig stellen und erneut versuchen die “Up” und “Down” Taste gleichzeitig zu drücken. Da man die Speicherplätze nicht täglich überschreibt sollte es zu verschmerzen sein, wenn man den Vorgang evtl. wiederholen muss weil man es nicht geschafft hat diese Tasten gleichzeitig zu betätigen.

Das Display wird direkt ohne Pegelwandler (so wie er beim PC benutzt werden muss!) an die Steuerplatine angeschlossen. Das Display wurde noch nicht ausführlich getestet (bei mir Funktioniert es soweit, bei anderen störte z.B. ein eingeschalteter Lötkolben den Datentransfer). Ganz Wichtig: die Zuleitung zwischen LCD und Steuerplatine so kurz wie möglich halten! Eventuell liegt das Problem aber auch an der Erzeugung der seriellen Baudrate. Beide Mikrocontroller werden ohne präzisen Quarz aufgebaut. Sollte es hier Probleme geben, so kann man versuchen einen 8 Mhz Quarz an den AtTiny2313 anschliessen. Hierzu müssen dann die entsprechenden Fusebits des Mikrocontrollers umgestellt werden!
Bitte mir die Erfahrungen mit dem Display per Email zukommen lassen um bei größeren Problemen hier darauf eingehen zu können, Danke.

PICT0004
Fusebits_LCD_AVRStudio4

Oben im Bild ist ein laufender Versuchsaufbau zu sehen.

Links im Bild sind die einzustellenden Fusebits zu sehen (Screenshot vom kostenlosen AVRStudio von Atmel).

Hier noch ein Screenshot zu den Fusebits aus Ponyprog von Uwe DC3AA:

LCD_Fusebits_Ponyprog
Download Bosch LCD Hexfile für AtTiny2313

Zurück zur Übersicht

 
[Home] [Amateurfunk] [Bosch] [Elektronik] [Software] [Modellbau] [Kontakt] [Impressum][Datenschutzerklärung]