Ankündigung

Einklappen
Keine Ankündigung bisher.

Blick hinter die Kulissen der B710 Mk3

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Blick hinter die Kulissen der B710 Mk3

    Hallo liebe ReVox Tonband- und Kassetten Freunde

    Schon vor über einem halben Jahr habe ich die MK3 Firmware für die B710 fertig gestellt. Ich nenne sie Mk3, weil es doch ein rechter Schritt nach vorne bedeutet und für beide Geräte, also Mk1 und Mk2 geeignet ist. Wegen fehlender Zeit (Mein M51 DAB+ Projekt beschäftigte mich sehr) konnten ich das nie vorstellen, bzw. es ist halt einfach zurückgestanden. Das möchte ich nun hier nachholen für die Fans von Hintergrundwissen:

    Alles begann eigentlich mit einem Experiment. Ich wollte eigentlich gar keine neue Firmware für die B710 bauen. Ich hatte halt eine B710 mit defektem Prozessor…. Da geht nichts mehr, keine gescheite Funktion, ausser hochdrehen der Motoren bei Stromzufuhr. Und corona-bedingt sehr viel Zeit, die irgendwie genutzt werden musste. Also dachte ich mir, mal die Schaltung analysieren was der Prozessor so macht. Der steuert die Wickel-Motoren, steuert das Display, steuert was an der Signallogik und liest alle Tasten und Hebel ein. Das sah sich sehr interessant an. Die Kapstanmotoren werden lediglich EIN oder AUS geschalten, nicht aber gesteuert bzw. geregelt.

    Hmmm…. Ja. Also. – Das Display reizte mich. Also begann ich das Datenblatt ausgiebig zu studieren und baute einen kleinen Prototyp, der Display und Motoren theoretisch ansteuern und Tasten einlesen könnte. Und nun erstellte ich die Software, um das Display genau nach Datenblatt anzusteuern. Aber da gingt nichts. Auch nach vielen Versuchen, Änderungen am Timing. - NICHTS. Nicht ein einziger Balken zeigte sich auf dem roten 7-Segment Display. Das war sehr enttäuschend. Nach ein paar langen Abenden und Nächten kapitulierte ich. Also nahm ich eine laufende B710 und zeichnete alles ganz genau auf mit dem Logikanalyzer. Analysieren, analysieren und analysieren, bis ich es einigermassen verstand. Das war aber nicht ganz so wie nach Datenblatt….oder verstehe ich das Datenblatt falsch? Aber so scheint es zu funktionieren. Also baute ich das in Software nach, und dann erschienen dann plötzlich die roten Balken. Ihr glaubt gar nicht wie viel Freude diese roten Balken auslösen konnten ;-). Die Lernkurve war wie so üblich exponentiell, schnell konnte ich dann alles mit dem Display machen, was ich wollte. Animationen, Zahlen und die üblichen möglichen Buchstaben. Und ich konnte es nun wirklich zuverlässig ansteuern und hatte keine Fehler bei der Anzeige.


    B710-Display.png



    Als nächstes begann ich, mit den Motoren. Ein Blick in den Schaltplan und schon war klar, 3 Leitungen – 3 Geschwindigkeiten. Logisch. Kurz gemessen, Annahme bestätigt. Software gebaut und siehe da, es dreht sich was, aber gar nicht so wie ich das erwartet habe. Wieder ein bisschen Nachdenken. Etwas genauer hinschauen, sich an altes Wissen erinnern, das ich vor Jahren mal gelernt habe, und dann plötzlich war klar. Die Motoren werden mit einem diskret aufgebauten D/A Wandler angesteuert. Wow. ReVox war der Zeit schon immer ein paar Jahre voraus. Heute ist das absolut normal, aber in der Zeit der B710 war das schon recht innovativ. Das ist eine 3 Bit Ansteuerung, also haben wir 7 Geschwindigkeiten. Und schon konnte ich die Software anpassen und dadurch die Motoren sauber steuern.

    Nächster Schritt. Die beiden Solenoids für den Kopf-Träger und die Kassettenverriegelung. Die waren sehr einfach anzusteuern. Gemacht getan. Und so langsam kam natürlich jetzt die Frage. Wozu mache ich das Ganze eigentlich. Rein zur Freude am Steuern von Dingen? Hmmm. Schaffe ich es, die komplette B710 zu steuern? Viele Wochen sind schon drauf gegangen. Und so langsam reifte die Idee, hier eine neue Firmware zu bauen. Jetzt wo ich die Grundfunktionen steuern konnte, glaubte ich zu wissen, dass ich es schaffen kann. Zu diesem Zeitpunkt wusste ich noch nicht, dass da trotz Allem noch ein paar wirklich sehr grosse Hürden auf mich warteten. Hätte ich die Hürden damals schon gekannt, ich weiss nicht, ob ich da wirklich weitergemacht hätte. Aber ich habe nun begonnen, alles so zu bauen, dass das Gerät läuft. Hier kommt wie so oft die 80/20 Prozent Regel. Nach einiger Zeit (20%) habe ich es geschafft, alles zu steuern. Oder ich glaubte, es sei alles. Also setzte ich mich mal hin und las die Bedienungsanleitung zur Mk1 und zur Mk2 sehr aufmerksam durch und notierte all die versteckten Funktionen, die das Gerät damals schon hatte. Und da kamen doch ein paar Features hervor, das ich trotz jahrelangem Besitz der B710 bis dazumal nicht kannte. (Kassette bis ganz an den Anfang spulen. Aufnahme mit den beiden setzbaren Grenzen. etc.) Wenn ich dann schon eine Mk3 Firmware machen will, dann muss die zumindest alles, was es heute schon kann, auch unterstützen. Und eigentlich noch mehr, oder? Wenn die neue Firmware nicht "mehr" kann als die alte, dann hätte ich auch einfach einen neuen Prozessor kaufen können. Also dachte ich mir, was wäre denn cool, was die Maschine sonst noch so können sollte.
    • Bei der B215 haben wir die Echtzeitanzeige in Minuten und Sekunden. Warum nicht auch bei der B710?
    • Die B215 kann sogar die Position erkennen wenn eine Kassette eingelegt wird. Kann das die B710 auch?
    • Wäre es möglich, Funktionen wie Endlosbetrieb oder Sonderfunktionen dazu zu bauen? Also zB eine Kassette einfach immer wiederholen?
    • Die interne Uhr ist oft sehr ungenau. Geht das besser?
    • Wäre eine Synchronisation der Uhr übers Internet machbar?
    • Wäre eine Fernsteuerung übers Internet oder mit den PC/Handy machbar?
    • Kann ich noch mehr aus dem Display rauslocken?
    • Warum nicht konfigurativ in der Software 12- oder 24h Anzeige?
    • Schlechte Kassetten werden oft nur sehr langsam oder gar nicht mehr umgespult vom Gerät. Geht das allenfalls besser/kräftiger?
    • Ein- und ausschalten der Maschine via Browser, wie mit der IR Fernbedienung

    Ich kann’s hier vorweg nehmen. All dies habe ich dann auch mühevoll und in langen Nächten umgesetzt und auch ein paar Dinge mehr. Aber einfach war es nicht. Es erschien mir das einfachste zu sein, das Umspulen von Kassetten. Und am Schluss des ganzen Projektes muss ich sagen. Das Umspulen war mit riesigem Abstand das aller schwierigste am ganzen Vorhaen. Man kann nicht einfach Strom auf die Motoren geben und gut ist. Es soll doch noch einigermassen gleichmässig sein. Und das ist es absolut nicht, wenn man einfach nur Strom anlegt. Also musste ich irgendwie die Geschwindigkeit ermitteln können. Das gibt es Pulse, die kann man zählen oder deren Länge messen. Aber das ist ein gemeinsamer Impuls für beide Wickelmotoren. Also habe ich nach einer Lösung gesucht, um das von jedem Motor einzeln zu bekommen. Und mit einem kleinen Zwischenstecker, war das dann auch möglich. Jetzt wo ich beide Impulse einzeln hatte, konnte ich diese messen und so die Motoren regeln.

    Motoren regeln – ist keine einfache Sache. Da gibt’s einen Moment wo die Motoren hochfahren und die Massenträgheit überwunden werden muss. Also braucht es etwas mehr Power. Wenn aber der Wickel leer ist, dann ist das ganz anders als wenn der Wickel ganz voll ist. Und dann gibt es noch verschieden schwergängige Kassetten. Und dann die Geschwindigkeit einigermassen konstant zu halten…. Gibt man mehr Spannung, beschleunigt der Motor, dann ist man rasch zu schnell, also Spannung wieder runter, dann wird der Motor zu langsam. Und schon beginnt das Ganze zu schwingen, zu langsam, zu schnell, zu langsam, zu schnell. Worauf habe ich mich da bloss eingelassen… Jetzt musste ich mich mit Regelschleifen und Hysteres auseinandersetzen. Nach wirklich vielen Wochen habe ich es geschafft. Die Motoren werden vollständig Geschwindigkeitsabhängig gesteuert, das heisst nun auch, dass ich das volle Potential der möglichen Kräfte der Motoren ausnutzen kann. ReVox hat beim Umspulen nur hart und fix beschleunigt und dann in 2 Geschwindigkeiten geregelt. Das hört man übrigens, wenn eine schwergängige Kassette umgespult wird. Diese Klacken sind die Schläge auf’s Band beim Beschleunigen. Schnell war ich dann aber mit den 7 Stufen nicht mehr glücklich und suchte nach einer Lösung. PWM wäre hier die Lösung, aber das geht nicht einfach so, ohne die ganze Ansteuerung umzubauen, und das wollte ich nicht tun. Und so habe ich begonnen, ein PWM Signal zu erzeugen. Aber halt nicht so wie man das kennt mit voller Motorenleistung, sondern ich habe ein Mischsignal. Also PWM, aber in den 7 Abstufungen des originalen diskreten D/A Wandlers. Das ergibt 56 Abstufungen der Ansteuerung. Softwaretechnisch ist das nicht ganz so einfach, weil solche PWM ist nicht das Übliche. Aber es funktionierte und spult nun die Kassetten bei Bedarf kräftiger und ruhiger als original. Und ganz ohne diese Schläge auf’s Band. Für die Motorensteuerung gingen viele viele Wochen drauf…

    Bei dieser Motorensteuerung musste wie gesagt ein genaues Signal her, wie schnell ein Motor dreht. Das gewinne ich, indem ich die Pulslängen der Impulse der Lichtschranken messe, und das von jedem Motor einzeln. Und dies gelang mir sehr präzise. So präzise, dass ich diese Daten gerade verwenden konnte, um daraus mit etwas Rechnen die Position der Kassette zu bestimmen. Anhand von einem Wert für leere Spule und dem Wert für volle Spule und der Beachtung, dass sich das nicht ganz linear verhält, kann ich so die Position des Bandes recht genau bestimmen. Wenn diese beiden Eckwerte, welche pro Kassettengrösse individuell und konfigurativ veränderbar sind, auch noch gut stimmen, ist die Positionsbestimmung sehr genau und erstaunlicherweise viel schneller berechnet als bei der B215. Aber genau bei dieser Berechnung ist der Microcontroller doch sehr belastet, Multiplikation und Division ist nicht gerade die Stärke dieser 8-Bit Microcontroller.

    Und nun fast ein Jahr später, also erst nach vielen Monaten Erfahrung auch mit Problemgeräten, gab es hier auch noch ein Update. Eine Lösung für das bekannte Problem des Flatterns oder seitlich wegrutschen des Bandes auf der linken Seite vor der linken Andruckrolle. Das tritt bei PLAY oder RECORD auf und endet oft in zerknitterten Bändern. ReVox hat dies gelöst, indem sie einen höheren Gegenzug auf dem linken Wickelmotor angelegt haben. Da ich das alles softwaremassig mache, kann ich das nun auch einfach softwaremässig einstellen. Die Firmware ist nun konfigurierbar, so dass man den Gegenzug am linken Wickelmotor konfigurativ in 5 Stufen verändern/erhöhen kann, wenn man Probleme damit hat. Und das Problem wird dadurch wirklich gelöst, das hat sich schon bei mehreren Geräten gezeigt. So kann ich nun einfach mit etwas Software Dinge nachrüsten, die früher eine Zwischenplatine benötigt haben.

    Auch die „BackTension“ Platine, die bei STOP immer einen feinen Zug mit den Motoren aufbaut, konnte ich per Software lösen. Aber ich fand es nicht so optimal, einfach immer einen Zug auf den beiden Motoren zu haben, das nutzt doch die Kontaktflächen am Motor je nach Stellung ab oder verbraucht unnötig Strom. Also macht meine „BackTension“-Variante immer beim Erreichen des STOP Zustandes nach etwa einer halben Sekunde einen Zug auf’s Band und lässt danach die Motoren wieder ruhen ohne Strom. So ist das Band immer angezogen und die Motoren werden geschont. Kann selbstverständlich parallel zur hardwaremässigen BackTension verwendet werden, wenn man das will.

    B710-Platine2.png



    Der grosse Microcontroller ist ein ATmega32 und übernimmt sämtliche Laufwerksaufgaben, Display, Tasten, Schalter, etc ... Einfach alles was man an der B710 steuern muss. Der kleine blaue Print mit der der WLAN Antenne (schwarzes Kabel) übernimmt alle Aufgaben des Webinterface und WLAN Anbindung und basiert auf einem ESP8266. Die stehende blaue Platine ist eine Echtzeit-Uhr und entlastet den Microcontroller, so dass sich der nicht um die Zeit kümmern muss. Diese RTC ist Batterie gestützt und sehr präzise. So ist immer die aktuelle Zeit verfügbar. Die ganze Platine wird einfach anstelle des originalen Microcontrollers in einen neu eingelöteten Sockel gesteckt, ein Zwischenstecker in eine Verbindung gesteckt und ein Kabel an einer Buchse angesteckt. Die WLAN Antenne wird durch eine Bohrung rausgeführt und schon läuft das Ganze als Mk3.

    B710-Platine3.png



    Das ganze Vorhaben hat etwa 9 Monate Arbeit gekostet, was geschätzte 400 Stunden Arbeit bedeutet und den Speicher des Microcontrollers zu 100.0% gefüllt hat. Wenn ich jetzt noch mehr will, muss ich den Chip wohl wechseln… In der ganzen Zeit habe ich glaub 5 verschedene Prototypen gebaut bis es zum endgültigen Produkt gereift war.

    Ein grosser Vorteil ist sicher die viel höhere Leistung der heutigen Microcontroller gegenüber dem damals verbauten. Man sieht beim B215, dort wurden 3 Prozessoren verbaut, um all die Leistung auch des Einmesscomputers zu erbringen.
    Um das Ganze nun auch käuflich anbieten zu können, gab es auch ausgiebige Testphasen zwischendurch mit Testprotokollen, festgelegten Testabläufen, verschiedene Varianten der B710 mussten her und überall musste sich die Steuerung bewähren.

    Ich nutze nun meine B710 wieder sehr oft und erfreue mich der neuen Funktionen. Sehr angetan hat es mir dieser Echtzeitzähler der bei einer neu eingelegten Kassette die Position selbständig ermitteln kann. Auch sehr cool ist es, wenn ich mit dem Handy die Funktionen der Maschine fernsteuern kann.
    Hier habe ich ein YouTube Video gemacht mit ein paar dieser Funktionen: https://www.youtube.com/watch?v=TkscT26wPwQ

    Und eine genaue Anleitung zur Bedienung aber auch zum Einbau ist hier auf meiner Homepage zu finden: http://www.revox.name/sell/b710mk3/
    So, das wäre so der Blick hinter die Kulissen…..
    Grüsse
    Stephan

    #2
    Ich ziehe meinen Hut ... Respekt!

    Kommentar


      #3
      Hallo Stephan,
      selbst bin ich nicht mehr im Besitz von Tonband- und Kassetten Gerät, aber da haste wirklich tolle Arbeit geleistet.
      Da kommt wieder die Überlegung, soll ich......nicht doch nochmal....

      Gruß Rolf
      ReVox ...von hier gibt es keinen Weg mehr zurück!

      Kommentar


        #4
        Unglaublich .... allerhöchsten Respekt !!!!

        Klaus

        Kommentar


          #5
          Tief beeindruckt von Deiner Leistung fehlen mir fast die Worte. Machst du beruflich Datenverarbeitung oder Ähnliches?
          gruß
          Walter

          Kommentar


            #6
            Hallo Stephan

            Überwältigend was Du alles machst!!
            Vielen Dank dafür was Du da geleistet hast!!

            Grus
            Markus

            Kommentar

            Lädt...
            X