Solf 60m

  • Ja, das hab ich


    2015

    Unterdessen wurde schon X-Mal rumgedoktert, ich hätte Bücher schreiben müssen!

    Nein, da ist nichts mehr brauchbares...


    Oh, ist grad ein Update gekommen 3-4-1, ich spiel das mal auf und werde schauen, ob zumindest das vorher gemachte wieder brauchbar ist.

    SOLF-Owner Group #005 Vy 72 / 73 de Fred :thumbup:

  • Bei der 3-4-1 scheint das Haken des Tune-Knopfes noch wesentlich stärker zu sein.

    Der Crash ist jetzt blöder, wenn ich logger32 zum 2.Mal starte, fängt der Solf an, alle Werte zu speichern. (z.T mit Unfug) Nach dem Neustart ist das Filter z.B. auf 11571 gestellt und die Uhrzeit ist 78:68.


    Sehr seltsam, dass Du die Probleme nicht hast!

  • Ja Alexander das ist wirklich mehr als verwunderlich. Welche Version lief denn bei dir ohne große Probleme?

    vy73 Jürgen

  • Ich hatte keinen Bootloader hier im Forum gefunden und war deshalb Deinem Hinweis gefolgt und habe auf myluna.de geschaut.

    Der Bootloader stammt von https://avr.myluna.de/doku.php…ionsweise_luna-bootloader

    (Der Quelltext direkt aus dem Archiv war zu alt, der ließ sich nicht compilieren.)


    Meine Fuse-Bits sind

    Code
    SPIEN
    BOOTRST
    BODLEVEL 111
    BOOTSZ 10  (->1024 words, Start fc00h, fc00*2=1f800, 2 kbytes before end)
    CKSEL 1111
    SUT 10               


    Im Quelltext habe ich folgende Anpassungen vorgenommen:

    Code
    avr.device = atmega1284p 
    avr.clock = 20000000 auf 16000000
    uart.baud = 19200 auf 38400

    Außerdem in der IDE

    • Projekt->Konstanten und Register

    Atmega1284p sollte ausgewählt sein. Den Wert

    Code
    NRWW_START_ADDR von 0xf000 auf 0xfc00 

    Dann habe ich noch alle Vorkommen von SLED und WLED auskommentiert. Sonst flackert beim Einschalten das Display.

    Der Bootloader funktioniert. Wenn ich mir die seltsamen Abstürze überlege, könnte es ein Stacküberlauf sein... Im Quelltext ist avr.stack = 64 gesetzt, was sicher nicht viel ist. Was hast Du dort eingetragen?

    Andererseits sollte die Solf-Firmware den Stackpointer doch selbst initialisieren? Oder verlässt sie sich auf die reset-Defaultwerte?


    Hier der von mir geänderte Quelltext:

  • Wenn ich mir die seltsamen Abstürze überlege, könnte es ein Stacküberlauf sein... Im Quelltext ist avr.stack = 64 gesetzt, was sicher nicht viel ist. Was hast Du dort eingetragen?

    Andererseits sollte die Solf-Firmware den Stackpointer doch selbst initialisieren? Oder verlässt sie sich auf die reset-Defaultwerte?

    Hallo,


    nein Die Firmware kann im laufenden Betrieb keine Stackobergrenze verändern.


    Hier kann man die Speicheraufteilung SRAM der AVR im Prinzip sehen.

    # https://avr.myluna.de/doku.php?id=de:speicherverwaltung&s[]=stack


    Im dynamischen Speicherbereich werden dynamische Varibale erzeugt und auch frei gegeben im Programmlauf.


    Das können Daten vom Type "string" sein.


    Der Entwickler muss eine max. Abschätzung für seine Programm machen, wie groß der Speicherbedarf im Stackbereich werden kann.


    Auf dem Stack, liegen z.B. Rücksprungadressen, u.a. auch aus Interrupt-Ereignissen die Rücksprungadressen, AVR-Register Sicherungen, AVR-Flag Sicherung, lokale (temporäre) Variable aus Funktionen und Daten aus Call-By-Value Aufrufen (Parameterübergaben) von Funktionen.


    Das lässt sich aus meiner Erfahrung sehr gut abschätzen.


    Was man noch beachten muss als Programmierer, sind Fehler im Zugriff (Bereichsgrenze) von linear adressiertem Speicher im Stackbereich. Das können z.B. Arrays oder C- bzw. P-Strings sein.


    Ein Datum zu viel oder zu wenig ausgewählt, kann Rücksprungadressen zerstören.

    73 de Uwe
    DC5PI

  • Hallo,

    auch ich kann nichts verdächtiges entdecken. Natürlich ist der Stack angepasst. Wie gesagt bei mir klappt es.

    Aber ich schaue noch einmal intensiver nach was ich noch verändern kann.

    vy73 Jürgen

  • Ich bin mir nun sicher, das mein (unser) Ruckeln am Drehgeber mit dem IF-Gain zu tun hat.

    1/3 Umdrehung vom IF-Gain Poti zurück und mein Drehgeber funktioniert wieder Tadellos, und dies auf jedem Band.


    Aber ich denke das man die Behandlung weiterer Probleme und Verbesserungen der Firmware wieder in einem eigenen Solf- Fred führen sollte.

    Das hat ja nichts mit dem 60m Band zu tun und deshalb den Falschen Fred-Titel?


    Fred

    SOLF-Owner Group #005 Vy 72 / 73 de Fred :thumbup:

  • Hallo Fred,


    Deine letzte Info zu dem Einfluss des If-Gain Stellers bringt mich zu einer Vermutung. Ich würde noch einmal alle relevanten Masselötungen, die zwischen Forntplatte, Masterplatine und etwaigen Potenziometern sind, kritisch prüfen. Aus eigenen Erfahrungen verstecken sich dort manchmal tückische Phänomene, die man erst mal nicht der Masseführung zuschreibt.


    Vielleicht hilft es ja..


    Viel Erfolg

    vy 73

    Andy

    DK3JI

    AK

  • Nope...


    Der Fehler ist erkannt, denn Alexander wird sicherlich nicht dieselben Lötfehler machen den ich gemacht hab ;)

    Unterdessen wurde ein weiterer Solf (#006) mit demselben Fehler/Ursache/Lösung identifiziert.


    73 Fred

    SOLF-Owner Group #005 Vy 72 / 73 de Fred :thumbup:

  • Danke für die neue Version!

    -> Daumen hoch, das Abstimmknopf-Hakeln scheint weg zu sein!! Sehr schön!


    Was hast Du denn noch korrigiert? (Weil Du schreibst "Alles ?vieles beseitigt")


    "Meinen Bluetooth-" Crash gibt es jedenfalls noch, nur dass er jetzt nicht mehr alle Einstellungen überschreibt ;-), aber darum wolltest Du Dich ja anschließend kümmern. An der der Stelle kann es ja eigentlich nur sein, dass auf der seriellen Schnittstelle zunächst "Müll" ankommt, der dann dazu führt, dass entweder im Solf der Empfnagspuffer überläuft oder ein ungültiges/unbehandeltes Kommando erkannt wird, was dann nicht korrekt ignoriert wird und deshalb die Software aus dem Tritt bringt?


    73 Alexander

  • Hallo Alexander,

    Kleinigkeiten im Menuablauf und einige Tippfehler. Das mit der Schnittstelle dauert noch ein wenig. Du hast ja eine Zwischenlösung gefunden.

    73 Jürgen

    vy73 Jürgen

  • Jürgen

    Wo soll der Presektor eigentlich aufgebaut werden, oben oder unten auf der Platine? Oder ist das eigentlich egal?


    73 Alexander

  • Hallo Alexander,

    wenn du 160m durch 60m ersetzen willst dann unten. Ansonsten an der Stelle wo das Band ist was du austauschen willst.

    vy73 Jürgen

  • Hallo,

    hier mal mein aktueller Stand. VCO, Preselector und Tiefpass sind aufgebaut und probeweise statt des 160m Bandes im Solf eingebaut. Es funktioniert.


    Beginnen wir mir dem VCO.

    Das Einstellen des Ferritkerns ist eine kritische Angelegenheit. Ich konnte mich gar nicht mehr erinern, dass das so kritisch war. Einen Kern habe ich beim Hereinschrauben zerbröselt. Beim zweiten Versuch habe ich dann 2 Windungen mehr auf die Spule gewickelt, damit ich den Kern nicht ganz so weit reindrehen muss und außerdem mit Silikonön gearbeitet. Damit ging es dann.

    Bei etwa 2,1V habe ich die untere Frequenz von 14,3515MHz. (5,3515 MHz + 9 MHz) OK.

    Bei etwa 2,2V habe ich die oberer Bandgrenze von 14,3665MHz. (5,3665 MHz + 9 MHz) Ist das ein Bisschen wenig Spannung?

    4V 14,7838 MHz

    6V 15,1545 MHz


    Ist der Bereich OK oder ist 2,1 ...2,2V zu gering? Sollte man C2 verkleinern, um den Einfluss der C-Diode zu verringern oder kann das so bleiben? Ich möchte hier nicht planlos experimentieren, da der Spulenkern so empfindlich ist...


    Weiter mit dem Preselector.


    Hier sind die Durchlasskurve (grün) und die Reflexionsdämpfung (rot) dargestellt. Das erste Bild zeigt 4 ... 7MHz. Eigentlich könnte das Filter viel enger sein. Das 60m Band ist blau gekennzeichnet.

    Jürgen

    Hast Du das Filter für 60m berechnet oder einfach zwischen 80 und 40m interpoliert?

    Womit berechnet man so ein Filter? Mit "Elsie"? Ich weiß nicht, wie ich mit den beiden Trafos L2 und L4 umgehen soll. Für welche Impedanz sollte das Filter berechnet werden? Durch die Trafos sind das ja wohl keine 50 Ohm mehr, oder?

    Zur Reflexionsdämpfung: Ist die für uns wichtig? Ist so ein Höcker in der Mitte OK oder sollte das ein einzelner tiefer Bogen nach unten sein?

    Das zweite Bild zeigt das Filter von 5 ... 24MHz. Bei 23,35MHz sollte die Spiegelfrequenz sein. Der Preselector unterdrückt die Spiegelfrequenz schon mal mit 46 dB.



    Jetzt noch das Tiefpassfilter:


    Auch hier die Frage nach der roten Kurve. Sollte das Minimum genau im Band liegen oder ist das nicht so kritisch? Das rechte Bild zeigt wieder den Bereich 5...24 MHz. Die Spiegelfrequenz wird also vom Tiefpass nochmals um 64 dB gedämpft. Die Spiegelfrequenz wird also um insgesamt 110dB gedämpft!? Das klingt doch gut!


    Noch ein Hinweis: Ich habe den Tiefpoass mit den von Jürgen angegebenen T50-2 Ringkernen aufgebaut. Jürgen hat damit ja das 160m Filter ersetzt. Ich wollte einen anderen Bereich ersetzen. Durch die großen Ringkerne passt das Filter mechanisch aber nur an der ersten (160m) Position. Auf den anderen Positionen ist der Platinenabstand zu gering. Ich muss die Kerne also nochmal durch die kleineren T37-2 ersetzen und mit dem Mini Ringkern Rechner die Windungszahl ändern...

  • Hallo Alexander,

    ich habe die Werte einfach interpoliert. Bei mir passt es. Leider habe ich im Moment keine Zeit den Solf auseinander zu bauen. Aber wenn du ein wenig wartest, dann mache ich das und dann vergleichen wir die Werte.

    Welchen Bereich willst du denn bei dir ersetzen?

    vy73 Jürgen

  • >ich habe die Werte einfach interpoliert

    OK. Die Werte passen ja auch gut. Deine Kurven werden dann sicherlich sehr ähnlich aussehen.

    Im Moment stecken die Platinen auf der 160m Position und ein erstes CW-QSO mit Italien gab es auch schon. Ich wollte eigentlich 10/12m oder vielleicht auch 15/17m ersetzen. Dazu sind, wie gesagt, die Ringkerne zu groß. Aber das sollte nun wirklich kein unlösbares Problem mehr darstellen ;)


    73 Alexander

  • So, nach dem Winterurlaub ging es weiter. Der Tiefpass hat nun die kleineren T37-2 Ringkerne bekommen, die auch die anderen Tiefpässe (außer 160m) haben. Damit passt er jetzt mechanisch an jede Position. Ich habe ihn jetzt wie geplant auf die 10/12m Position gesteckt. Die Software bietet ja freie Auswahl für die 60m Ersetzung. Funktioniert alles.


    Ich hatte im Vorfeld auch noch aus Interesse mit Elsie gespielt und damit etwas andere Werte bekommen. Der Tiefpass hat bei mir jetzt


    C3=C5 998pF (1nF)

    C1//C2 und C7//C8 447pf (je 2x 220)

    L1=L3=2uH -> 23 Wdg 0,5mm auf T37-2 (klein, rot) 32cm Draht incl. Anschlüsse

    L2=2,357uH -> 24 Wdg 0,5mm auf T37-2 (klein, rot) 35cm Draht incl. Anschlüsse


    Hier nocheinmal die aktuellen Bilder



    Jetzt gibt es nur noch das serielle Problem zu beheben.


    73 Alexander, DM3AF