Posts by dl4jal

    Hallo Wolf,
    das ist ja prima, dass das Programm auch unter Debian laeuft. Viel Spass damit. Ich kann leider nur unter Suse 10.0 testen. Die Programmentwicklung mache ich vollstaendig unter Linux mit dem VI-Editor (GVIM). Ich kompiliere nur zusaetzlich unter XP, weil die meisten Windowsnutzer sind.


    73 DL4JAL

    Hallo Karl,
    ich bin fuer den AD831. Ich habe die schon in meherern Geraeten im Einsatz. Wenn Du den Bias beschaltest zieht das Ding etwa 60mA (Das IP3 wird etwa um 3dB schlechter, das merkt kein Mensch HI). Die Oszillatorleistung braucht nur -10dBm betragen( wenig Oberwellen durch Sinusansteuerung). Der ZF-ausgang ist optimal angepasst und Du brauchst keinen Diplexer. Du kannst die Ausgangsverstaerkung auf +6db einstellen und hast dadurch keinen Mischerverlust. Und dann kommt noch als letzter positiver Punkt, dass keine Ringkerne oder sonstige Induktivitaeten gebraucht werden. Ich finde den Mischer gut.
    Bei meinem TRX "Rosi"(Einfachsuper ZF 4,915MHz) komme ich auf +17dBm IP3.
    Bei meinem Doppelsuper (1.ZF 72 MHz 2.ZF 200kHz 2x AD831) komme ich auf +9dBm IP3.
    Was will ich mehr.
    73 Andreas

    Hallo, das ist ganz einfach:
    1. Mit TXCO werden 20MHz Takt in den DDS eingespeisst. Im DDS wird mit einer internen PLL der Takt mit 20 multipliziert = 400MHz Takt mit den der DDS arbeitet.
    Vorteil: externe Takterzeugung ist einfach und Problemlos.
    Nachteil: im Taktsignal sind durch die PLL mehr Nebenwellen und FM-Moduladion, was dazu fuehrt, dass das DDS-Ausgangssignal etwas mehr rauscht.
    2. Die benoetigten 400MHz werden direkt erzeugt und in den DDS eingespeisst.
    Vorteil: das Ausgangssignal ist sauberer (etwas weniger Nebenwellen). Das Rauschen des Ausgangssignales ist etwa 30dB besser (das ist fuer die Wobbelei uniteressant).
    Nachteil: der Aufwand fuer die externe Signalerzeugung ist hoeher.
    Also arbeitet der DDS in beiden Varianten mit 400MHz Takt. Die Frequenzgenauigkeit laesst sich auch mit der Variante 2 erziehlen, wenn genau Kalibriert wird.
    Ich hoffe jetzt Licht ins Dunkel gebracht zu haben.


    73 Andreas DL4JAL

    Hallo, wenn es nur darum geht den Punktspeicher + Strichspeicher abzuschalten kann ich das mal pruefen, ob es mit geringem Aufwand machbar ist. Die Keyersoftware ist an keinem zertifizierten Mode angelehnt. Ich habe nur meine Erfahrungen einfliessen lassen und so die SW entstanden. Also das ist sozusagen auf meinem "eigenen Mist" gewachsen HI.
    73 Andreas DL4JAL

    Hallo, wie Uwe schon beschrieben hat ist der der Abgleich des DDS-Taktes die erste Pflicht, wenn man es ganz genau haben moechte. Befindest Du Dich im Setupmenue der DDS-Konstande wird am DDS-Ausgang die Frequenz 6075000 Hz (Deutsche Welle) ausgegeben. Hoert man mit einem Kurzwellenempfaenger diese Frequenz ab, ueberlagert sich der Traeger des DDS und der Traeger der "Deutschen Welle" und man braucht nur auf Schwebungsnull einzustellen: Fertig ist der DDS-Taktabgleich!


    73 Andreas DL4JAL

    Danke für die Lorbeeren. In der meiner Galerie habe ich mal ein paar Bilder hochgeladen. Da sieht man unter anderen die 80m Option auf Lochraster. Peter will da 2 kleine Leiterpaltten machen lassen, damit das ganz ordentlich wird.
    73 Andreas DL4JAL

    Hallo OMs, die SW-Version V1.13 ist fertig. Hier ein Auszug, was sich geaendert hat seit V1.11.
    Ich habe zusaetzlich meinen BCR zu einem StationsTRX umgebaut. Die Bilder koennt Ihr Euch aus dem Internet laden.


    ###############################################################################


    V1.11 -> V1.12
    --------------
    Behobene Fehler:
    1. Aktivierung der Anzeige Batteriespannung + S-Meter noch einmal ueberarbeitet
    Aus manchen Menues heraus manchmal keine Anzeige.
    2. Entprellung bei "SPOT" und "TUNE" mit Aktivierung durch Keyer. Dadurch keine
    Fehlfunktion mehr.
    3. Bei "xit" wurde auch die RX-Frequenz zur TX-Frequenz. Fehler behoben.
    4. Speicherung falscher Frequenz bei Bandwechsel. Ursache: Interruptaktivitaeten
    waehrend des Speicherns im Eeprom. Ich habe den Ablauf neu Programmiert und
    der Fehler ist nicht wieder aufgetreten.
    5. Kein versehendliches Auslesen von Frequenzen aus "mem read" wenn Zellen mit "FF"
    beschrieben sind.
    Softwareaenderung:
    1. Die Anzeige des S-Meters wurde in eine echte Softwarehaengereglung umgewandelt.
    a: Anzeige des Spitzenwertes fuer eine Sekunde.
    b: Langsames Absinken des S-Wertes nach 1 Sekunde und zwar alle 500 mSek 1 S-Wert.
    Die Anzeige erscheint dadurch sehr ruhig.


    ###############################################################################


    V1.12 -> V1.13
    --------------
    Behobene Fehler:
    1. Der Menuepunkt "rx->tex delay" wurde entfernt. Der war nur fuer die HW-Optimierung
    in der Entwicklungsphase noetig.
    Softwareaenderung:
    1. Im SETUP gibt es einen neuen Punkt "encoder 100" on/off. Dieser Punkt ist fuer den
    Einsatz eines optischen Drehgebers gedacht. Damit das Menue bedienbar bleibt, werden
    die Impulse durch 8 geteilt, wenn man sich in den Menues bewegt.
    2. Im Menue befindet sich jetzt vor dem "Band 1" noch das "Band 0". Band 0 ist mit dem
    80m-Band belegt. Dazu ist eine HW-Option noetig, die vom PIC angesteuert wird. Durch
    die Verwendung von 2 bistabilen Relais wird der Stromverbrauch nicht erhoeht.


    ###############################################################################


    Bilder:
    http://www.dl4jal.de/BCR_SW/umbau.zip
    v1.13 hex:
    http://www.dl4jal.de/BCR_SW/mc_v1_13_dos.hex
    history der SW:
    http://www.dl4jal.de/BCR_SW/version.pdf


    73 Andreas

    Hallo BCR'ler,
    ich glaube der Fehler mit dem sporatischen falschen gespeicherten Frequenzen ist gefunden. Der Fehler ist schwierig reproduzierbar und deshalb auch schwer zu lokalisieren.
    Fuer die ganz ungeduldigen Selbstprogrammierer habe ich die SW ins Internet gestellt, allerdings noch nicht verlinkt. Ihr muesst also die komplette URL eingeben. Ich bin ein ganz "fauler" Internetprogrammierer. Ich programmiere lieber PIC's HI.


    neue Version:
    http://www.dl4jal.de/BCR_SW/mc_v1_12_dos.hex


    neue Version Quelltext als PDF:
    http://www.dl4jal.de/BCR_SW/mc_v1_12.pic.pdf


    aktuelle Version:
    http://www.dl4jal.de/BCR_SW/mc_v1_11_dos.hex


    SW History:
    http://www.dl4jal.de/BCR_SW/version.pdf


    Ich bin gerade dabei eine Zusatzoption fuer das 80m-Band zu testen. Soviel schon mal gesagt: Der Empfaenger funktioniert schon wunderbar (Bauteileaufwand 3 Kondensatoren + 1 bistabiles Relais und etwas Schaltdraht + neue Software). Ich bin dabei jetzt noch den Sendetiefpass zu integrieren. Der muss sein, da das Sendespektrum zu viele Oberwellen hat.
    Ich stehe mit Peter in staendigen Kontakt und Peter wird Euch auch ueber die 80m-Option informieren, wenn ich meine Tests abgeschlossen habe.
    Es lohnt sich also auf die SW-Version 1.13 zu warten, die die 80m-Option enthaelt.


    yv 73 Andreas DL4JAL

    Hallo,
    ja ich lese mit, wenn es meine knappe Freizeit erlaubt. Ich hatte diesen SW-Ausrutscher auch schon einmal und habe daraufhin versucht das zu Reproduzieren und es ist mir nicht gelungen.
    Erst einmal grundsaetzliches zur Funktionsweise. Der BCR war am Anfang fuer verschieden Bandbelegungen gedacht. Es war auch das 80m-Band mit im Gespraech. Da habe ich die Bandbelegung softwaremaessig frei konfigurierbar gestaltet um fuer alle Faelle gewappnet zu sein. Das funktinoniert so. Jedem Menuepunkt der der Bandauswahl ist ein Byte im Ram (und im Eeprom) zugeordnet. Steht in diesem Byte ein 0 ist auf der Bandauswahl "Band 1" das 80m-Band und es werden alle Einstellungen fuer das 80m-Band geladen. Die Zuordnung ist:
    0 = 80m
    1 = 40m
    2 = 30m
    4 = 20m
    5 = 17m
    6 = GEN / Radio
    Ich kann also jeden Menuepunkt der Bandumschaltung mit jeden beliebigen Band belegen. Allerdings nur im Quelltext und nicht im SETUP (noch nicht).
    Ich bin dabei den Bug zu suchen. Es bleibt mir aber nur das Wochenende, da das QRL mich voll "im Griff" hat. Ich bin im Service taetig und da rutscht der Feierabend oft in die Abendstunden.
    Ich bin schon auf der richtigen Faehrte. Es haengt hoestwarscheinlich mit dem "Speichern" und wieder "Lesen" aus den 20 Memoryzellen zusammen.
    Ihr hoert von mir
    73 Andreas DL4JAL 8)

    Hallo OMs,
    ja ich habe vergessen in der Beschreibung zu erwaehnen, das man beim Abspeichern im Setup nur durch rechts herum drehen zum Erfolg kommt HI. Das ist seit den ersten Versionen so. Ich dachte man hat im SETUP nicht so oft zu tun, da kann die Editfunktion ein bischen vereinfacht werden. Solche Programmteile sind meistens sehr Speicherintensiv (durch Diplayanzeige, Mehrfachnutzung, HEX-BCD Wandlung und umgekehrt). Es sind ja noch ein paar Romzellen frei im Pic, da werde ich dass mit einarbeiten.
    Nun zur S-Meteranzeige. Die Reglung des BCR ist sehr flink. Das hatte zur Folge, dass man ausser S0 nur manchmal einen S-Meterausschlag gesehen hat. Ich habe deshalb die Anzeige in eine Spitzenwertanzeige umprogrammiert mit einer Haengezeit von genau 1 Sekunde. Das bedeutet folgenden Ablauf, einfach dargestellt:


    SCHLEIFE
    agc messen
    IF neuer Wert > alter Wert THEN BEGIN
    timer1sek neu starten
    alter Wert = neuer Wert
    END
    IF neuer Wert < alter Wert THEN BEGIN
    IF timer1sek abgelaufen THEN BEGIN
    alter Wert = neuer Wert
    END
    END
    # neu in Version 1.11 #
    IF alter Wert ungleich display Wert THEN BEGIN
    display neu anzeigen
    END
    ENDE SCLEIFE


    auch die Schleife ist vereinfacht dargestellt. Wird bei der AGC-Messung kein hoeherer Wert gemessen als der vorherige, laeuft der Timer_1Sek ab und dann beginnt das Spiel von vorn. Eine Mittelwertanzeige wuerde hier nichts bringen. Es muesste eine Art Haengereglung in der SW implementiert werden die langsam zurueckgeht. Das ist aber zu aufwaendig.
    73 Andreas

    Hallo, das QRL hat mich heute doch schon etwas eher entlassen HI.


    Ich habe ein Verstaendnisproblem.
    Bei meinem BCR gehen ich in das SETUP, anschliessend kann ich mit dem Drehgeber das ganze SETUP-Menue durchgehen. Bin ich beim Punkt "pitch" angelangt sehe ich rechts in der 1. Zeile meine alte Einstellung egal wie mein Keyerpoti steht. Es ertoent noch kein Ton. Erst wenn ich einmal den Taster druecke, wird ein neuer Wert von Keyerpoti uebernommen, der dann mit dem Keyerpoti verstellt werden kann und der Mithoerton geht an. Der alte Wert ist immer noch sichtbar. Erst wenn der Taster wieder gedrueckt wird, ertoent kein Mithoerton mehr und der Wert wird abgespeichert. Diese Einstellung mache ich einmal und dann nicht wieder, es sei denn ich moechte andere Tonhoehen testen. Dann muss ich aber doch mal zwischendurch meine alte Einstellung notieren, sonst muss ja die ZF auch wieder neu abgeglichen werden.
    Nur beim Anfahren des "pitch" aendert sich bei mir die Einstellung nicht. Habe ich doch den Taster gedrueckt und will die Tonhoehe veraendern, kann nur durch das Ausschalten des BCR ein Speichern verhindert werden.


    73 Andreas DL4JAL

    Hallo, ich habe alles mitgelesen. Ich werde mal sehen was sich machen laesst. Fuer mich war die einfachste Loesung die eingestellte Spannung am Poti abzulesen. Vielleicht kann man doch den Drehgeber verwenden. Manchmal sind aber "kleine Aenderungen" in der SW doch mit "grossen Quelltextaenderungen" verbunden. Ich schau mir das heute Abend mal an, wenn es QRL-maessig klappt. Ansonsten wird es erst am Wochenende.
    73 Andreas DL4JAL ?(

    Hallo OMs,
    ich lese gerade von diesem Softrock-Radio. Das ist ja interessant. Es ist kein Problem einen DDS dafuer zu entwickeln der mit 2 DDS arbeitet und 2 HF-Signale mit 90 Grad Verschiebung erzeugt. Die neuen DDS die ich im BCR und Moskita eingesetzt habe verbrauchen ja kaum Strom. Im Moment habe ich viel QRL, aber dafuer bleibt immer Zeit. Ich schaue mir mal heute abend die Schaltung des RX genau an.
    73 Andreas DL4JAL

    Hallo Karl, ich habe in dieser Richtung schon viel programmiert und habe da meine eigene Lösung mit dem Punkt und Strichspeicher. Ich programmiere meistens mit PIC, aber das ist ja egal. das Prinzip ist das gleiche. Du brauchst nur 2 zusaetzliche Merkbits. Ich schreibe mal den Ablauf im folgenden auf. Ich hoffe Du verstehst wie ich das meine. Dadurch das Du die Paddel in der Zeitschleife abfragst speicherst Du jeweils einen Punkt oder einen Strich. Das heisst er geht Dir nicht verloren. Zum Beispiel beim "c".
    73 Andreas DL4JAL


    BIT "Punkt_gedrueckt"
    BIT "Strich_gedrueckt"


    SCHLEIFE(1)
    ? Punktpaddel gedrueckt
    1 Bit setzen "Punkt_gedrueckt"
    ? Strichpaddel gedrueckt
    1 Bit setzen "Strich_gedrueckt"
    ? Bit Punkt_gedrueckt gesetzt
    1 Sender ein
    Call Pause_1_punkt
    Sender aus
    Call Pause_1_punkt
    Bit loeschen Punkt_gedrueckt ;erst am Ende des Punktes Bit loeschen
    ? Bit Strich_gedrueckt gesetzt
    1 Sender ein
    Call Pause_1_punkt
    Call Pause_1_punkt
    Call Pause_1_punkt
    Sender aus
    Call Pause_1_punkt
    Bit loeschen Strich_gedrueckt ;erst am Ende des Striches Bit loeschen
    .
    .
    weitere Programmteile
    ENDE(1)


    ;Unterprogramm Pause_1_punkt
    Pause_1_punkt
    SCHLEIFE(2) Zeitscheife
    ? Punktpaddel gedrueckt
    1 Bit setzen "Punkt_gedrueckt"
    ? Strichpaddel gedrueckt
    1 Bit setzen "Strich_gedrueckt"
    .
    1 mSek verstreichen lassen
    .
    ENDE(2) wenn Zeit einer Punktlaenge verstrichen ist
    RETURN