Eprom von Denon DJ Laufwerk defekt Winbond 78e52

OP #7977325
Lesenswert?

Hallo zusammen, ich bin neu hier. Mein Denon Plattenspieler hat im laufenden Betrieb den Geist aufgegeben. Da ich noch einen 2ten habe konnte ich den Fehler mit mässigem Aufwand lokalisieren. Der programierbare Chip der Steuerung ist defekt. Da das Gerät 24 Jahre alt ist mache ich mir wenig Hoffnung das Ersatzteil noch zu bekommen. Wäre jemand in der Lage ein funktionierendes Eprom auszulesen und auf ein anderes zu übertragen? Ich habe noch eins von einem anderen Plattenspieler das funktioniert, passt aber nicht zum Denon softwareseitig. Ich weiss aber auch nicht ob dieses Eprom wiederbeschriebbar ist. Wäre für jede Hilfe dankbar. Das andere Eprom ist natürlich auch ein winbond 78w52-24.

Gruß,

Christian

#7977345
Lesenswert?

Sicher, dass das ein EPROM ist? 40-Pin DIP? Oder 44-Pin PLCC? Das dürfte eher ein 8051-kompatibler uC mit integriertem ROM/EPROM/EEPROM sein. Da könnte man einen Wald-und-Wiesen 8051/52-Derivat mit Flash als Ersatz nehmen, so weit kein Problem. Nur, wo bekommt man den Inhalt her? Das Ding hat sicher einen Ausleseschutz, und wenn der aktiviert ist ...

OP #7977975
Lesenswert?

Also bräuchte ich jemand der einen TL 866 Brenner sein eigen nennt laut der Anleitung die oben verlinkt wurde. Oder einen TL 866 Brenner, was jetzt für mich für 1 X brennen keinen Sinn machen würde. Bleibt halt das Risiko dass die MCU einen Leseschutz hat, was ich aber nicht glaube da das Denon Laufwerk in Wirklichkeit ein Hanpin aus Taiwan ist.

: Bearbeitet durch User
#7978116
Lesenswert?

H. H. schrieb:

Der hat 8kx8 Programmspeicher, das ist nicht Feld/Wald/Wiese.

Wenn ich bei Mouser µC in DIP-40 mit mcs51-Kern aufliste, werden mir 23 Modelle angezeigt.

Davon reicht bei 2 der Speicher NICHT für mögliche 8kB Programmcode (1x 0B, 1x 4kB) 2 besitzen exakt 8kB 19 weitere mit mehr Speicher (bis 64k) stehen auch noch zur Verfügung.

Ich würde schon sagen, dass das Feld/Wald/Wiese ist!

Leider wurde mal wieder keine Typenangabe von dem Gerät gemacht, so dass man sich nicht mal die Schaltung ansehen kann, um zu sehen, was das Teil überhaupt macht.

Gruß Jobst

OP #7978194
Lesenswert?

Sorry, es ist ein Denon Dp DJ 101. Hat sich damals nicht so verkauft. Ich habe auch kein Service Manual über dieses Gerät gefunden. Es gibt eins von dem größeren Model dem 151 der hat zusätzlich einen digitalen Pitch. Und die MCU steuert die Laufwerksfunktionen. Tasten und die LEDs. Die sind bei der defeketen MCU aus, die Tasten reagieren nicht und der Motor summt. Ich habe jetzt einen T48 bestellt um zu sehen ob ich die funktionierende MCU auslesen kann.

: Bearbeitet durch User
OP #7978834
Lesenswert?

Es ist eine Anwort von inmusic gekommen, eine Firma die Denon und andere übernommen hat. Das Lauferk wäre Legacy und es gibt keine Ersatzteile mehr dafür. Der T48 Programmierer ist mittlerweile auch da. Ich habe versucht die MCU auszulesen, der w78e52 ist supportet, ich bekomme aber nur ff im Speicher angezeigt. Das der Chip einen Kopierschutz haben soll sehe ich nicht. Ich wäre dann mit meinem Latein am Ende.

Beitrag #7978861 wurde von einem Moderator gelöscht.
OP #7978863
Lesenswert?

Der funktionierende bringt keine Fehlermeldung beim auslesen, es steht aber auch nur ff drin. Ich habe noch den gleichen Chip aus einem Numark Plattenspieler da, der einen Motorschaden hatte. Auslesen auch nur ff. Dann hab ich dies ist ein Test reingeschrieben, programmiert, ausgelesen und mein Text war da.

#7978899
Lesenswert?

Christian schrieb:

ich bekomme aber nur ff im Speicher angezeigt

Ja, so ist das, wenn das/die Lockbit(s) gesetzt sind/ist.

Die Funktion des Prozessors ist nun aber nicht so komplex, dass man das nicht selbst neu schreiben könnte.

Ich habe etwas im Netz gewühlt und die dabei zusammengesammelten Infos lassen erahnen, dass der 101 ein 151 mit reduzierten Features ist: Digitalausgang und Vorverstärker fehlen.

Sollte sich herausstellen, dass die Schaltungen mit den gemeinsamen Funktionen übereinstimmen, sollte sich eigentlich etwas machen lassen.

Magst Du mal Bilder von Deiner Platine machen? (Beide Seiten, chön charf und hohe Auflösung)

Gruß Jobst

OP #7978906
Lesenswert?

Ja, das mache ich morgen gerne. Das wäre der Hammer. Ich hänge an diesem Teil. Da wurden nicht viele davon verkauft und die kosteten soviel wie ein 1210er. Die sind seltener als die LTDs 1210er. Der 101er ist von der Tastenbelegung etwas anders. Über dem Pitchregler sind 2 Tasten. Quarz Lock on links off rechts, der 151 links keylock und rechts quarzlock. Keylock ist das Laufwerk läuft schneller, hält aber die Tonhöhe bei der Wiedergabe. Würde es ein Servicemanual geben wäre es natürlich einfacher. Ich könnte dir aber das SM vom 151er zuschicken.

Gruß,

Christian

#7979037
Lesenswert?

Christian schrieb:

Keylock ist das Laufwerk läuft schneller, hält aber die Tonhöhe bei der Wiedergabe.

Dafür ist dann also der Karaoke-Prozessor in dem 151er - ich habe mich schon gewundert.

Das Service-Manual vom 151er habe ich bereits. Mich interessiert nun, wie weit sich die Geräte unterscheiden. Lt. Denon ist es ja eine Serie. Bei dem einen eben mit der ganzen Audioverarbeitung, bei dem anderen (101) nur Tonabnehmerausgang. Ich habe die Hoffnung, dass man das mittels der Bilder erkennen kann.

Du hattest noch einen 2. Prozessor aus einem anderen Gerät. Welches Gerät ist das? War das ein 151er oder auch ein 101er? Hintergrund ist folgender: In dem Gerät steckt noch ein FPGA, der die Teiler für die PLL zur Verfügung stellt. Dieser wird über (2?) serielle Verbindungen vom µC mit irgendwelchen Daten versorgt. Diese müssen wir abgreifen und evtl. entschlüsseln.

Welche Messgeräte hast Du? Wo kommst Du her?

Gruß Jobst

#7979283
Lesenswert?

Christian schrieb:

Ich komme aus dem Saarland.

Das ist für mich zu weit weg für einen Besuch.

Als Messgerät habe ich nur Multimeter.

Das wird nicht reichen. So ein Saleae-Clon für 10,- wäre schon Minimum, damit man die Datenströme aufzeichnen kann.

Was weißt Du über ESD? Wir sollten unbedingt dafür sorgen, dass der funktionierende Chip auch wenigstens bis alle Daten erfasst sind heile bleibt.

Und nochmal zur Sicherheit: Der defekte Player arbeitet in allen Funktionen korrekt, wenn der Prozessor getauscht wird?

Christian schrieb:

Hier mal die Bilder.

Schade, ich hätte auf etwas mehr Ähnlichkeit bei den Boards gehofft. Ich werde das mal abgleichen.

Klaus & Klaus:

Echt jetzt? Wo ist das Problem? Und von 2h war nicht die Rede.

Gruß Jobst

OP #7979307
Lesenswert?

Ich komme aus dem technischen Service der IT Branche, Leute wie ich werden aber schon lange nicht mehr gebraucht. Daher bin ich auch auf arbeitssuche aber das ist ein anderes Thema. ESD ist mir ein Begriff, Saleae-Clone muss ich mich schlau machen wo man so etwas herbekommen könnte. Der funktionierende Chip bleibt im Laufwerk. Der defekte hat keine Fehler beim Auslesen gemeldet, ich China und Indien gibt es offensichtlich Firmen, die das Lockbit umgehen können. Das ist jetzt aber weit hergeholt. Ich hatte noch Hanpin angeschrieben in der Höffnung die würden mir die benötigte Datei schicken aber da kommt nichts. Wenn es zuviel des Aufwands ist können wir es auch lassen. Das Laufwerk steht da wie neu aber nichts hält ewig, damit muss man sich abfinden.

Gruß,

Christian

Ich habe allerdings bei youtube ein Video gefunden auf dem ein modernerer Vestax auf ein größeres Model umgebaut wird. Da wurde auch der Chip irgendwie ausgelesen. Falls es interessiert: https://www.youtube.com/watch?v=JjtfPExJrIE

: Bearbeitet durch User
#7979324
Lesenswert?

Christian schrieb:

Der defekte hat keine Fehler beim Auslesen gemeldet

Nein, der meldet auch nichts. Der liefert einfach nur "keine" Daten zurück. Die Datenleitungen liegen alle auf H und der Programmer liest damit 0xFF.

Christian schrieb:

Das Laufwerk steht da wie neu aber nichts hält ewig, damit muss man sich abfinden.

Ja, schon. Aber das ist, als würde man ein Auto entsorgen, nur weil die Zündkerzen defekt sind.

Ich habe in der Zwischenzeit mal Deine Bilder mit dem Schaltplan des DPDJ151 verglichen - und das passt! Viel besser noch: Die Beschreibung der Signale am Prozessor (die (unvollständige) Tabelle, die Du weiter oben angehängt hattest), zeigt die Signale für den Prozessor vom DPDJ101! Die zusätzlichen, für den DPDJ151 benötigten Signale (Ph/Li, /CS für den YSS205B sowie eine Freigabe/Reset-Leitung für YSS205B+CXD2917Q) sind dort nur mit NC (not connected) bezeichnet.

Kurios ist die Beschreibung der seriellen Datenleitungen:

Pin Symbol I/O Function 27 P2.6 Input DO: Data output in 28 P2.7 Output DI: Data input out

Christian schrieb:

Da wurde auch der Chip irgendwie ausgelesen.

Ja, anderer Gerätehersteller, anderer Chip und viiiiel Glück gehabt. Bei Dir geht es aber nicht!

Christian schrieb:

Wenn es zuviel des Aufwands ist können wir es auch lassen.

Musst Du wissen!

Gruß Jobst

#7979523
Lesenswert?

Christian schrieb:

Wenn es dir nicht zuviel ist kannst du dich gerne mal daran versuchen.

Hört sich für mich danach an, als wenn Du selbst keine Energie dort hinein investieren möchtest. Du müsstest allerdings komplett alle Informationen über die Abläufe in dem Gerät erfassen.

Christian schrieb:

Es scheint eine generelle Beschreibung zu sein, denn da sind noch andere Funktionen die das Gerät gar nicht hat. Also auch der 151 nicht.

Im 151 sind alle Anschlüsse belegt und werden auch verwendet. Im 101 werden genau die 3 Anschlüsse nicht benutzt, deren Funktionen tatsächlich nicht benötigt werden:

Pin5 (P1.4) PH/LI (Phono/Line) - Eingang um die Schalterstellung auf der Rückseite des Gerätes zu erfassen. Pin10 (P3.0) (Kein Name) - Ausgang um den Karaoke-Prozessor und den Digitalausgang abzuschalten. Pin33 (P0.6) CS (für YSS205B) - Ausgang um den Karaokeprozessor per SPI anzusprechen.

Welche Funktionen sind Deiner Meinung nach unbenutzt?

Klaus R. schrieb:

Bei Riemen oder Nadel ok...

Das ist tanken ...

Wo ist Dein Problem?

Da werden ein paar Tasten und ein ADC abgefragt. Weiterhin gibt es noch ein paar weitere Infos, die den µC erreichen, wie z.B. Drehrichtung oder ob die Sollgeschwindigkeit erreicht ist.

Mit den Informationen wird dem CPLD (XC9572) eine Information über die Sollgeschwindigkeit mitgeteilt. Die Regelung übernimmt der Regelkreis und der µC hat damit nichts weiter zu tun. Dann werden noch ein paar LEDs angesteuert und natürlich auch der Motor ein und ausgeschaltet.

2 Hürden gibt es dort:

  • Es muss die SPI-Kommunikation mit dem CPLD aufgedröselt werden.
  • Bei welchem Zustand werden die beiden "Drive Assist" Signale geschaltet.

Beides ist aber durch Beobachtung der Signale an dem funktionierenden Gerät herauszubekommen.

Außerdem muss die Verarbeitung zwar möglichst schnell sein, ist aber ansonsten völlig zeitunkritisch.

Alles in Allem ist das kein Hexenwerk. Wenn Du Probleme damit hast sowas zu bewerkstelligen - ok. Aber unterstelle anderen nicht, dies nicht bewältigen zu können.

Gruß Jobst

OP #7979540
Lesenswert?

Hi, ich denke die sind alle 3 unbenutzt. Einen internen Phonoverstärker hat der 101 nicht und auch keinen Wandler mit dieser Keylock Funktion. 5 und 10 sind NC und 33 ist nicht aufgefürt. Der Chip heisst ja tatsächtlich Karaokeprozessor. :-) Gruß,

Christian

: Bearbeitet durch User
OP #7979681
Lesenswert?

Was er nicht hat ist rückwärts vorwärts. Pin21 u 22. Aber wie schon beschrieben, diese Laufwerke wurden mit wenig Modifikation an mehrere Firmen geliefert. Omnitronic, gemini, reloop, american audio, jaytec, stanton, Conrad Hausmarke McCrypt, Pioneer u.s.w. Pin 33 hatte ich im Acrobat reader nicht gesehen da ich den Zoom zu groß hatte. Numark hatte soviel ich weis Eigenentwicklung.

Gruß,

Christian

#7979755
Lesenswert?

Christian schrieb:

Was er nicht hat ist rückwärts vorwärts. Pin21 u 22.

Putzig. Denn die Anschlüsse sind mit den dafür zuständigen Schaltungsteilen verbunden.

Kannst Du bitte mal ein Bild von der Bestückungsseite der Motorplatine machen? Wenn Du da nur schwer dran kommst, reicht auch die Lötseite.

Christian schrieb:

diese Laufwerke wurden mit wenig Modifikation an mehrere Firmen geliefert

Dann finde doch mal heraus, welche Typen dies sind. Dann kann man vergleichen.

Gruß Jobst

#7980128
Lesenswert?

Christian schrieb:

IMG_20251214_114525.jpg

Es sind alle Teile, die zum Rückwärtsbetrieb notwendig sind, bestückt!

Ähnliche Kandidaten waren Omnitronic dd 3250 Reloop 5000 mk2

aus dieser Zeit.

Omnitronic dd 3250 -> Große Übereinstimmungen, vermutlich kann der selbe Chip bzw. die selbe Firmware auch im 101er verwendet werden. Es muss eine Brücke gelegt werden und eine andere Leitung durchtrennt werden. Die Brake-Funktion ist dann vermutlich auch nicht mehr vorhanden.

Zum Reloop-Teil habe ich nichts gefunden.

Weitere Player? Also alle die Du finden kannst ...

Gruß Jobst

OP #7980221
Lesenswert?

Gemini PT 1000ii, Numark TT100. Um die 2000 Wende waren Plattenspieler kaum noch gefragt und bei DJ Laufwerken dominierte der Technics. Aber auch in diesem Segment war ein stetiger Wandel in Sachen Aufbau und Elektronik. Die aktuellen Laufwerke mit diesen Eigenschaften sind anders aufgebaut. Von daher habe ich keine aktuellen Geräte hinzugefügt.

Gruß,

Christian

OP #7980656
Lesenswert?

Vom omnitronic dd 3250 gibt s nur die schematics. Und er hat die gleiche MCU. Gibt es bei elektrotanya oder der Vinylengine. Ich hab in der Zwischenzeit ein paar Servicewerkstätten in USA und UK angeschrieben, sieht aber mau aus. 2 haben schon geantwortet, die haben nichts.

Gruß,

Christian

#7980742
Lesenswert?

Christian schrieb:

Vom omnitronic dd 3250 gibt s nur die schematics. Und er hat die gleiche MCU.

Den habe ich ja auch schon durch. Hast Du gelesen, was ich dazu geschrieben habe?

Die anderen 3 von Dir genannten Modell habe ich nichts interessantes zu gefunden. Was ist mit den ganzen anderen von Dir genannten Namen?

Und dann muss man die Teile (oder die Firmware) ja auch erstmal bekommen.

Ansonsten bleibt eben nur die Möglichkeit selbst tätig zu werden.

Dann brauchst Du ihn hier: https://www.az-delivery.de/products/saleae-logic-analyzer

Gruß Jobst

OP #7980940
Lesenswert?

Die anderen von mir genannten Hersteller sind erst später mit Laufwerken auf den Markt gekommen. Von denen gibt es gar keine Unterlagen. Ich habe Reloop und Omnitronic mit meinem Problem angeschrieben und nach einem imagefile gefragt. Ich kann dieses Jahr keine weiteren Einkäufe mehr tätigen da mit die finaziellen Mittel fehlen. Ich weiß, 14€ ist erbärmlich, so sehe ich das aber auch. Ich war mal gesunde Mittelschicht, Betonung liegt auf war. Wenn das alles nichts wird mit den Herstellern müssen wir bis Januar warten.

Gruß,

Christian

OP #7981924
Lesenswert?

Hier noch die Bilder von dem anderen Laufwerk dass sich auslesen lies. Es gibt noch identische, Reloop rtx 4.5, Jaytec 4.0, aber kein SM. Das war eher die Günstigsparte ein paar Jahre später. Da ist dann die Technologie gelandet.

Angehängte Dateien:
: Bearbeitet durch User
Beitrag #7981956 wurde vom Autor gelöscht.
#7982082
Lesenswert?

Der Code im obigen Dump ist halbwegs überschaubar, um die 50 Funktionen sowie einige Datentabellen. Auf den ersten Blick sieht es so aus als ob nicht alle Funktionen verwendet werden, es könnte sein dass diese Funktionen für andere Gerätevarianten sind.

Allerdings braucht man einen Schaltplan bzw. die genaue Beschreibung was an den Portpins des Mikrocontrollers angeschlossen ist.

Die Frage ist inwieweit ein Verständnis dieser Firmware hilfreich für den Denon DJ mit defektem Mikrocontroller ist.

#7982839
Lesenswert?

Harald K. schrieb:

PLCC-Sockel gibt es, auch in einer Ausführung, die in eine Lochrasterplatine passt.

Ich habe die Befürchtung, dass es dann nicht mehr in das Gerät passt. Bevor ich einen Adapter bauen würde, würde ich einen neuen µC besorgen. Weniger Arbeit und vermutlich sogar günstiger.

Christian schrieb:

Unglaublich. JB Systems hat mir das SM zugemailt.

Sehr gut! Der Aufbau ist ähnlich im Vergleich zum Denon, aber nicht identisch. Viele Pins sowohl am Prozessor, als auch am CPLD sind an anderer Position. Sicherlich wird man viele Funktionen aus der Software nutzen können, wird aber auch mächtig ändern müssen. Ob der CPLD mit identischem Format angesprochen wird, werden wir herausfinden müssen.

Christian schrieb:

Ich habe im microsoft store einen diassembler für 8051 gefunden.

Der hat zwar einiges auseinandergepopelt, aber ausgereift scheint mir der nicht zu sein. Handarbeit ist aber immer notwendig.

In den nächsten Tagen ist relativ wenig Zeit. Danach schaue ich mal.

Gruß Jobst

#7982883
Lesenswert?

Die Ansteuerung des CPLD unterscheidet sich deutlich: beim T-3 parallel (11 Bit, für die 8 MSBs wird P0 des Mikrocontrollers verwendet), beim DJ150/151 wird der CPLD wohl seriell angesteuert (P0 des Mikrocontrollers wird für diverse Dinge verwendet). Unter der Annahme dass der CPLD des DJ101 vom TO ähnlich wie beim DJ150/151 funktioniert müsste man sich also erst mal genauer ansehen wie dort die CPLD Ansteuerung abläuft (z.B. per Logic Analyzer an einem funktionierenden Gerät).

Außerdem hat der CPLD beim T-3 neben der Motorsteuerung noch die Funktion einer Porterweiterung z.B. für die LEDs.

Ein Großteil des unbenutzten Code in obigem Dump ist übrigens sehr wahrscheinlich für die Initialisierung und Ansteuerung des DSP (YSS205B), den hat der DJ101 wohl nicht und ist daher weniger interessant.

: Bearbeitet durch User
#7983020
Lesenswert?

Die Firmware aus dem obigen Dump des T-3 ist nicht sehr kompliziert, im Prinzip viel "User Interface" (u.a. Tasten abfragen, LEDs ansteuern, Pitch Regler per ADC abfragen, Geschwindigkeit berechnen und an den CPLD schicken). Um die Geschwindigkeit kümmert sich dann der CPLD, das wird beim DJ101 vermutlich genauso sein.

Die Ansteuerung des CPLD ist aber wie schon geschrieben anders und die Details dazu braucht man wenn man die Funktion des Mikrocontrollers irgendwie nachbilden will. Der einfachste Weg wäre ein Mitschnitt mit einem Logic Analyzer bei einem funktionierenden Gerät für die verschiedenen Szenarien (u.a. 33/45/78 RPM oder Pitch ändern).

OP #7983240
Lesenswert?

Ich habe leider keine Ahnung von der Sache, höchstens ein wenig aus der IT Service Branche und was ich mir so selbst beigebracht habe. Soviel ich weiß ist auf dem Motorboard ein Motortreiber der den steuert. Wenn ich jetzt sagen wir mal von 33 auf 45 umschalten möchte muss ich doch an Pin 3 das Signal abfragen, wenn dieses Signal auf high schaltet durch tastendruck setzt die mcu pin 36 auf low, pin 37 auf high und pin 24 auf high. Motor start Taste pin 1 geht auf high, Software setzt Pin 23 auf high. Motor sollte anlaufen. Was ich nicht verstanden habe ist was macht dieser CPLD?

#7983342
Lesenswert?

Klaus F. schrieb:

Christian schrieb:

was macht dieser CPLD?

GOOGLE KI fragen: wie wird ein BLDC motor angesteuert phasen

Der BLDC Treiber sitzt auf der Motorplatine inkl. der Hallsensoren.

Und der CPLD ist vermutlich der "Controller" für den Motor, weil das dieser ollen Prozessor alleine nicht schafft.

Der CPLD ist der einstellbare Frequenzteiler für den Referenztakt des Motortreibers.

Die Sache ist einiges komplexer als Laien denken.

Im Gegenteil. Das Teil ist sogar ziemlich einfach:

Am TC9242 sitzt ein Quarz. Dessen Frequenz wird in dem Baustein geteilt und am Pin CPOUT ausgegeben. Dieser Takt wird im CPLD weiter geteilt in den 4046 (PLL) gegeben und mit der ebenfalls vom CPLD geteilten VCO-Frequenz verglichen. Das Ergebnis, eine digital variable Frequenz, wird zurück zum TC9242 gegeben, der diese Frequenz (nach weiterem teilen) mit dem Frequenzgenerator des Motors vergleicht und daraus eine Regelspannung für den BLDC-Treiber TA7259 erzeugt. That's it. Der Prozessor muss nur Knöppe und den ADC abfragen, sowie die LEDs schalten. Aus den Werten des ADC wird der Teilfaktor berechnet, welcher zum CPLD geschickt wird. Dafür hat der Prozessor alle Zeit der Welt, solange für den Benutzer keine Verzögerung bemerkbar ist. Passiert dies 100 mal in der Sekunde, dürfte das wohl ausreichen. Selbst der olle Prozessor wird sich dabei langweilen.

Weshalb die Hersteller nicht auf einen fertigen PLL-Baustein mit integrierten Teilern zurückgegriffen haben, wird wohl ihr Geheimnis bleiben. (z.B. LM7001 oder MC14515x) Heute würde ich ehr einen DDS Baustein verbauen.

Am Denon sitzen 2 Quarze. Einer davon ist für 78rpm zuständig.

Gruß Jobst

Gast #7991507
Lesenswert?

Christian schrieb:

Mal etwas anderes, die winbond mcu ist ja von 1998.

Die MCS-51 sind aber noch 20 Jahre älter.

Ich habe jetzt etwas gefunden, kann mich dort aber nicht anmelden. https://www.edaboard.com/threads/how-to-unlock-the-8051-lock-bits-without-interrupting-the-code.79732/

Und von den uralten MCS-51 ist da die Rede.

und dann gibt es noch einen avrdude. (software)

Die kann nicht zaubern.

#7991545
Lesenswert?

Hallo Christian,

ein 8052 ist nicht gleich ein 8052. Vor allem was die Programmierung des Speichers angeht, kocht jeder Hersteller sein eigenes Süppchen. Was also mit einem Atmel 8052 geht, muss mit dem Winbond 8052 noch lange nicht gehen und umgekehrt. Außerdem halte ich es für keine gute Idee, mit dem einzigen noch verfügbaren Exemplar solche Experimente zu machen.

Hast Du Dich schon mit dem Logic Analyzer vertraut gemacht?

Leider bin ich im Moment zeitlich sehr gebunden. Sobald wieder Zeit ist, melde ich mich direkt bei Dir. Das wird wohl Anfang Februar werden.

Was wir dann brauchen, sind die Daten, die vom Contoller zum CPLD gesendet werden. Für jede Geschwindigkeit (33,45,78) bei den Potistellungen -10%, 0% und +10%. Und ob (und welche) Daten beim einschalten übertragen werden. Und außerdem müssen wir herausbekommen, wann die beiden "Drive assist" Pins aktiv werden.

Gruß Jobst

(Firma: L-E-A) #8030659
Lesenswert?

Christian schrieb:

Mit welcher Software kann ich das erstellte File kompilieren?

Ist das ein Aprilscherz? Wer kommt auf die Idee Programmcode nicht als reinen Text zu speichern?

Keil C für 8051 compilert das Zeug. SDCC sollte auch funktioniern, beschwert sich bei mir aber mit der merkwürdigen Fehlermeldung: "denonmcuv3.c:1: warning 190: ISO C forbids an empty source file".

Vielleicht ist meine Version etwas zu alt... SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8 3.4.3 #9237 (May 19 2015) (Linux)

Grüßle, Volker

P.S.: Warum fragst Du eigentlich nicht die allwissende KI, für welchen Compiler sie den Code erzeugt hat?

: Bearbeitet durch User
OP #8030813
Lesenswert?

Sorry, war schon n bisschen spät gestern. Nein es ist kein Aprilscherz. chatgpt meinte Keil, die Software habe ich aber nicht. Ich hatte zuerst alle Anschlüsse vom w78e52 eingegeben und dass er mit einem TC9242P verbunden ist eingegeben. Später habe ich es nochmal probiert, diesmal habe ich 3 Bilder hochgeladen, dann gab mir die ki (ist ja nur ein Versuch) zuerst eine minimale Version aus um zu testen ob beim Einschalten des Gerätes der Motor anläuft und wollte dann weitermachen. Wer es mal probieren möchte diese 3 Bilder waren es.

Gruß,

Christian

Angehängte Dateien:
(Firma: L-E-A) #8030847
Lesenswert?

Christian schrieb:

chatgpt meinte Keil, die Software habe ich aber nicht.

Und was spricht dagegen, eine Suchmaschine zu bemühen? Z.B. mit dem "Prompt" keil c compiler for 8051 free download

Für die Gen-Z findet die Datenkrake sogar drei YT-Videos :-)

Die freie Alternative habe ich Dir ja auch schon genannt: SDCC. Ein Minimum an Eigeninitiative musst Du aber schon zeigen.

Grüßle, Volker

(Firma: L-E-A) #8030894
Lesenswert?

Christian schrieb:

SDCC habe ich probiert, da bekomme ich auch diese Fehlermeldung. Sorry, ich kenne mich mit dieser Materie Null aus und gehe auf die 60 zu.

Auch mit knapp 60 kann man durch aus noch noch etwas neues lernen...

Warum fragst Du Deine nette KI nicht ganz lieb, ob sie Dir bitte C-Code für SDCC erzeugen könnte?

Eine NI könnte auch eine Suchmaschine nach den Unterschieden der beiden C-Compiler befragen und dann selber den Code von Keil auf SDCC portieren.

Wie gesagt: Eigeninitiative!

Meine NI kann Dir leider nicht weiterhelfen, denn sie hat das letzte Mal vor über 25 Jahren mit Keil-C oder SDCC gearbeitet und kann sich leider nicht mehr erinnern, bzw. ist's ihr nicht so langweilig, dass sich sich erneut in das Zeug einarbeitet...

Und dann noch ein kleiner Tipp für die Zukunft: Bitte teile Deine gesamten Informationen mit dem Forum! Dass der Code für Keil-C ist und sich nicht mit SDCC übersetzen lässt, wäre eine sehr hilfreiche Information gewesen, dann hätte ich mir die Arbeit sparen können!

Mit säuerlichen Grüßen, Volker

(Firma: L-E-A) #8030921
Lesenswert?

Christian schrieb:

Dieser Code ist durchgelaufen.

Wunderbar!

Werde dann mal die MCU einbauen und schauen was geht /nicht geht

Vorsicht! Du solltest prüfen ob die Steuerbits wirklich alle high-active sind, also die Funktion aktiv ist, wenn das Portbit eine '1' ausgibt bzw. wenn eine '1' am Portbit anliegt. In der Hardware werden Schalter und LEDs gerne auf Masse geschaltet und sind dann low-active.

ud sorry, ich wupte nicht dass Keil und sdcc andere codes benötigen. Laut der Ki sollte es auf beiden laufen.

Erste Lehrstunde der KI-Nutzung: KI halluzinieren gerne einmal (und klingen dabei sehr überzeugend). Also stets eine zweite oder besser: dritte Meinung einholen...

Grüße, Volker

(Firma: L-E-A) #8030959
Lesenswert?

Bernd N. schrieb:

Christian schrieb:

Danke für die Info. Der Code taugt natürlich nichts.

So ist es. Viel Spass damit.

Naja, als erster Einstieg ist dieses Vorgehen vielleicht nicht ganz falsch. Ein winziges, aber weitgehend funktionierendes Codefragment ist schnell ergänzt. Konkret: Wenn der Motor erst einmal ein- und ausgeschaltet werden kann, dann sind Entprellung, Sanftanlauf, logische Verriegelungen der Funktionen bzw. Schutz- und Überwachungsroutinen auch kein Hexenwerk mehr.

Vielleicht ist das wirklich ein Nutzen der KI: Sie nimmt dem Programmierer die "Angst vor dem leeren Blatt".

Grüßle, Volker

OP #8031116
Lesenswert?

Ich habe jetzt die MCU aus dem Laufwerk das noch funktioniert umgebaut um zu testen ob die KI Firmware nichts gehimmelt hat. Mit der KI Firmware lief der Motor zu schnell bzw falsch herum. Eigentlich bei Hanpin Laufwerken ein Hinweis auf einen defekten Motortreiber. Zum Glück hat sich mein Verdacht nicht bestätigt. Mit der original MCU funktioniert das Gerät wie es soll. Ich denke mir bleibt nur ein Schlachtgerät übrig. Das Problem ist nur dieses Laufwerk war ein Riesenflop. Es wurden vielleicht 1000 Stk davon verkauft. Also ist es seltener als ein 1210 GLD. Denon ist damals damit in den DJ Markt eingestiegen. Was ich nicht verstehe ist das es nichts geben soll um dieses lockbit auszuhebeln.

https://www.edaboard.com/threads/how-to-unlock-the-8051-lock-bits-without-interrupting-the-code.79732/

Leider kann ich mich dort nicht registrieren um mich dort auszutauschen.

Gruß,

Christian

(Firma: L-E-A) #8031223
Lesenswert?

Christian schrieb:

Mit der KI Firmware lief der Motor zu schnell bzw falsch herum.

Äh, wundert Dich das wirklich? Bei dieser merkwürdigen zusammenhalluzinierten Software? Ich hätte jetzt erwartet, dass Du nun nach und nach sämtliche Steuersignale aus Deinen Tabellen in der Firmware implementierst. Aber ich befürchte, Dir ist nicht zu helfen!

Was ich nicht verstehe ist das es nichts geben soll um dieses lockbit auszuhebeln.

Das ist eine lustige Einstellung, ibs. in Verbidung mit Deiner Erwartungshaltung, die Lösungen all Deiner Wünsche sogleich auf dem Silbertablett präsentiert zu bekommen.

Viel Erfolg, ich bin 'raus! Volker

#8031229
Lesenswert?

Hallo Christian,

ich muss mich bei Dir entschuldigen! Du bist bei mir total untergegangen.

Den Code könnte man zumindest schon mal als Basis hernehmen. Aber der fragt ja nur die Taster ab und schaltet LEDs und den Moter ein und aus. Von Drehrichtung und davon wie die Geschwindigkeit eingestellt wird, steht in dem Code nichts. Auch der ADC wird nicht abgefragt und es findet keine Kommunikation mit dem CPLD statt. Wie auch, der CPLD beinhaltet ebenfalls eine Programmierung, von der die KI nichts weiß. Da musst Du auf jeden Fall nochmal nachmessen, um zu sehen, was dort passiert - dazu wird der Logic-Analyzer benötigt. Da gebe ich Dir noch eine Anleitung, was Du machen musst.

Du hast eine Möglichkeit den Prozessor zu beschreiben, entnehme ich dem Text. Gut, dann sollte das auch hinzubekommen sein.

Ich melde mich bis spätestens morgen bei Dir. Solltest Du nicht von mir hören, schick mir gerne eine Nachricht!

Gruß Jobst

OP #8031555
Lesenswert?

a volker, Äh, wundert Dich das wirklich? Bei dieser merkwürdigen zusammenhalluzinierten Software? Ich hätte jetzt erwartet, dass Du nun nach und nach sämtliche Steuersignale aus Deinen Tabellen in der Firmware implementierst. Aber ich befürchte, Dir ist nicht zu helfen!

Das ist eine lustige Einstellung, ibs. in Verbidung mit Deiner Erwartungshaltung, die Lösungen all Deiner Wünsche sogleich auf dem Silbertablett präsentiert zu bekommen.

Viel Erfolg, ich bin 'raus! Volker

THX, ich weiß nicht was für eine Erwartungshaltung sie haben, ich war füher It Techniker bei einer Firma die den Pc erfunden hat. Ich habe von meinen Kunden nie erwartet dass sie verstehen was ich da tue, aber ich wußte was ich tue. Und ich habe sie deswegen nie verurteilt, die machten ihren Job, ich machte meinen. Und das hatte nicht soviel mit Software zu tun geschweige denn von programmieren. Es kann nicht jeder alles können. Und das ist nicht schlimm, bzw normal. Deshalb gibt es eine Vielzahl von Persönlichkeiten die in ihrer Branche, in ihrem Leben genahu richtig sind. Ich bin nicht sie und und sie sind nicht ich und das ist ok. Ich könnte jetzt noch weiter ausholen aber ich will sie nicht unnötig verletzen, das überlasse ich ihnen. Kapiesche?

: Bearbeitet durch User
#8031736
Lesenswert?

Okay, legen wir los ...

Hast Du genug Platz im Gehäuse, um auf der Platine auf diesem Bild

Christian schrieb:

IMG_20251212_092727.jpg

von dieser Seite Stiftleisten an den Prozessor zu löten?

Hast Du ein USB-zu-RS232 Kabel?

Wenn Du folgendes in Dein KI-Programm einfügst, wird sich der Teller vorwärts drehen - aber noch immer zu schnell:

1
Zeile 10 einfügen:
2
__sbit __at (0xA1) MOTOR_FRS;    // P2.1 FRS
3

4
main hinter // Default
5
MOTOR_FRS = 0;

Insgesamt ist der Code aber tatsächlich Käse, da der gesamte Programmablauf steht, wenn Du eine Taste gerückt hältst.

Gruß Jobst

#8031853
Lesenswert?

Kannst Du den Spieler nicht unten offen betreiben? :-/ Nagut, egal.

Zuerst müssen wir an folgende Pins vom Controller: 24, 26, 27, 28, 32, 34, 35 und GND vom LA an 20

Einen haben wir noch frei. Wenn Du es hinbekommst, kannst Du noch Pin 5 vom ADC0832 dazu packen. Im Prinzip ist klar, was dort passiert, könnte aber bei der Aufdröselung der Daten hilfreich sein.

Die Reihenfolge, wie Du die Pins mit dem LA verbindest, ist egal. Wichtig ist nur zu wissen, welches Signal welcher Pin ist.

In dem Plattenspieler muss sich der funktionierende Controller befinden.

Wenn der LA läuft, dann den Plattenspieler erst einschalten. (Ich will wissen, ob da irgendeine Initialisierung abläuft)

Dann Start drücken und bei jeder der 3 Geschwindigkeiten einmal Poti auf 0%, auf 5%, 10%, -5% und -10% stellen.

Stoptaste am Plattenspieler drücken.

LA stoppen und das Ganze speichern. Wenn die Datei nicht all zu groß ist, hier einstellen, ansonsten sende ich Dir einen Link für den Upload zu mir.

Einstellungen für den LA: Wenn der LA problemlos mit 24MS/s läuft, gerne so lassen. Ansonsten die Abtastrate verkleinern. 2MS/s sollten zwar auch gerade noch reichen, mehr zeitliche Auflösung wäre aber dennoch schön. Abtastrate kann im Menu am rechten Rand, oberster Button eingestellt werden. Der LA wird mit dem "Play" Zeichen oben gestartet und an selber Stelle auch gestoppt.

Lass die Verbindungen danach noch dran, falls noch Fragen auftauchen.

Gruß Jobst

: Bearbeitet durch User
OP #8032604
Lesenswert?

so, Messung ist durch, D0 Pin 24 D1 Pin 26 D2 Pin 27 D3 Pin 28 D4 Pin 32 D5 Pin 34 D6 Pin 35 D7 ADC0832 Pin 5

das rot/schwarze Kabel geht an einen Fernstarter. (Klinkenbuchse)

Aufzeichnung ist: Gerät ein, start 33rpm (pitch 0%), pitch -50%,-100%, 0,+50, +100, 0, stop Umschaltung 45 rpm, dann nach start wie oben, Umschaltung 78 rpm, dann nach start wie oben.

Frohe Ostern.

Angehängte Dateien:
: Bearbeitet durch User
#8032655
Lesenswert?

Christian schrieb:

so, Messung ist durch,

Wunderbar, ich schaue es mir an! (Datei ist ja kleiner als gedacht ...)

Christian schrieb:

das rot/schwarze Kabel geht an einen Fernstarter. (Klinkenbuchse)

Ohne weiteren Schutz? Die Leitung geht direkt an den Controller und bietet damit das Potential diesen zu zerstören.

Christian schrieb:

Frohe Ostern.

Ebenso!

Gruß Jobst

: Bearbeitet durch User
#8032837
Lesenswert?

So, ich habe die Daten soweit dekodiert und weiß was dort passiert. (s.u.)

Weitere Fragen sind nun aufgetaucht:

  1. Was passiert, wenn Du bei rotierendem Teller diesen rückwärts drehst? Dreht er dann weiter rückwärts?

  2. Ich bräuchte nochmal den Einsatz mit dem LA, so wie er im Moment angeschlossen ist. Auf z.B. 5% Pitch eingestellt, Geschwindigkeit egal, Start und dann wechselweise die Tasten Pitch on, Pitch off und Brake gedrückt. Am besten mehrfach (3x) reihum.

  3. Geht das Strobolicht eigentlich aus, wenn der Motor steht oder Pitch off ist?

Und dann kommen wir zu dem zweiten Satz an Signalen, die mit dem LA aufgezeichnet werden müssen: Pins: 13, 14, 16, 17, 21, 22, 23, 25 GND bleibt an 20

LA Starten Spieler einschalten Brake aus Teller von Hand drehen - vorwärts und rückwärts. Brake ein Teller von Hand drehen - vorwärts und rückwärts. Teller starten Teller stoppen Brake aus Teller starten Teller stoppen Pitch auf 10% (+ oder - ist egal) stellen, Geschwindigkeit 33 Teller starten Pitch ein und aus schalten 3x Geschwindigkeit 45 Pitch ein und aus schalten 3x Geschwindigkeit 78 Pitch ein und aus schalten 3x Bei drehendem Teller diesen mit der Hand leicht beschleunigen und abbremsen. Teller stoppen Fertig.

Ich möchte noch mitteilen, welche Erkenntnisse es bereits gibt:

Der Daten- und Clockeingang des ADCs sind direkt mit dem CPLD verbunden. an den beiden Pins liegt jedoch das selbe Signal an, welches aus Pin 28 und 32 des Controllers herauskommt. (Warum die das genau so gemacht haben erschießt sich mir nicht.) Damit obliegt die Ansteuerung des ADCs dem Controller. Das Poti ist in zwei Bereiche aufgeteilt: positiver Pitch und negativer Pitch. Beides wird mit jeweils einem Kanal des ADCs gewandelt. Zunächst wird beim Original der ADC-Kanal abgefragt, welcher für den positiven Pitch zuständig ist. Nur wenn dieser 0 ist, wird auch der Kanal für den negativen Pitch abgefragt. CS vom ADC ist während der Kommunikation mit diesem L. Für die Kommunikation mit dem CPLD wird P0.4 des Controllers auf H gesetzt. Es folgen 10 Bit (MSB first) die alle mit der Geschwindigkeit zu tun haben. Danach wird P0.4 wieder auf L gesetzt. Auf CLK befinden sich für jedes Bit kurze Pulse, so dass nicht klar ist, welche Flanke für die Übertragung zuständig ist. Das ist aber egal. Bevor P0.4 auf H geht, kommt IMMER noch ein CLK-Puls. Die Übertragung zum CPLD findet immer 3x mit den selben Daten direkt hintereinander statt. Die vom ADC gelesenen Werte bewegen sich für jeden Kanal von 0-255, so dass ein maximaler Bereich von -255 bis +255 vorliegt. (Das deckt sich auch mit meinen Erwartungen.) Der jeweilige Messwert wird gefiltert und auf einen Wertebereich von -240 bis +240 umgerechnet. Dies wird zu 975 hinzuaddiert und dann zum CPLD übertragen. Dabei fällt auf, dass mit den 10 Bit zum CPLD nur maximal 1023 übertragen werden können, die Summe von 975+240 aber größer ist. Das scheint intern im CPLD berücksichtigt zu werden, dass ein Bit fehlt. 00 tritt sonst nämlich nicht auf. Merkwürdig sind dabei die Zahlen 975 und 240 - ich habe keine Idee, wie man darauf gekommen ist. Sollte die Messung mit dem ADC ergeben, dass sich nichts verändert hat bzw. nur bitkippeln vorliegt, wird der CPLD nicht mit neuen Daten versorgt. Die ADC-Messungen finden im Raster von ca. 2,4ms statt.

Es gibt noch 2 Bildchen für je Kommunikation mit CPLD und ADC.

Gruß Jobst

Angehängte Dateien:
OP #8032966
Lesenswert?

Hallo, bevor ich anfange, die break taste ist eine slow breack slow start Funktion. Diese ist bei Einschalten aus. Das Laufwerk stoppt bzw startet auch nicht wenn man diese Taste drückt, es geht die break LED an und die Start Stop Taste verhält sich so: Break ist on: Start/Stop Taste Laufwerk startet, benötigt ca 6 sec bis zur vollen Drehzahl, Start/Stop Taste, Laufwerk stoppt, braucht ca 6 sec bis stillstand. 10 % ? Wenn ich vollen Pitch darauf gebe sind es 12%. Meinst du das? Einen rotierenden Teller dreht man nicht rückwärts. Dazu ist die Slipmat (Filzunterlage) da, dieses Laufwerk dreht nie rückwärts. Diese Funktion bei diesem Laufwerk nicht vorhanden. Das Strobelicht ist immer an, auch bei der defekten MCU. Mit der Start/ Stop Taste wird ja das Laufwerk gestartet und gestoppt, bei der Stop Funktion wird er Motor gebremst, damit er so schnell wie möglich stehen bleibt und die Platte gewechselt werden kann.

Gruß,

Christian

#8032986
Lesenswert?

Christian schrieb:

Break ist on: Start/Stop Taste Laufwerk startet, benötigt ca 6 sec bis zur vollen Drehzahl, Start/Stop Taste, Laufwerk stoppt, braucht ca 6 sec bis stillstand.

Ja, ich weiß. Ich will sehen, was der LA aufzeichnet.

Christian schrieb:

10 % ? Wenn ich vollen Pitch darauf gebe sind es 12%. Meinst du das?

Ja, ist aber eigentlich auch egal, ob 10% oder 12%. Du kannst auch 11% einstellen :-) Es geht mir nur um das Verhalten der Drehzahländerung bei Pitch an und wieder aus.

Christian schrieb:

Einen rotierenden Teller dreht man nicht rückwärts. Dazu ist die Slipmat (Filzunterlage) da, dieses Laufwerk dreht nie rückwärts.

Ich weiß, ich habe selber als Discjockey in einer Disco aufgelegt. Das Laufwerk hat aber alles dazu um rückwärts drehen zu können. Es würde mich wundern, wenn es das nicht kann. Wenn Du das nicht ausprobieren möchtest, dann lässt Du diesen Test einfach weg.

Wir müssen uns dann nur die Frage stellen, ob das implementiert werden soll und wenn ja, wie.

Christian schrieb:

bevor ich jetzt umlöte, reicht das oder benötigst du noch etwas?

Das sollte reichen, Du kannst umlöten.

Gruß Jobst

OP #8033012
Lesenswert?

D0 Pin 13 D1 Pin 14 D2 Pin 16 D3 Pin 17 D4 Pin 21 D5 Pin 22 D6 Pin 23 D7 Pin 25

Wie gewünscht: LA Starten Spieler einschalten Brake aus Teller von Hand drehen - vorwärts und rückwärts. Brake ein Teller von Hand drehen - vorwärts und rückwärts. Teller starten Teller stoppen Brake aus Teller starten Teller stoppen Pitch auf 10% (+ oder - ist egal) stellen, Geschwindigkeit 33 Teller starten Pitch ein und aus schalten 3x Geschwindigkeit 45 Pitch ein und aus schalten 3x Geschwindigkeit 78 Pitch ein und aus schalten 3x Bei drehendem Teller diesen mit der Hand leicht beschleunigen und abbremsen. Teller stoppen

Gruß,

Christian

Angehängte Dateien:
#8033100
Lesenswert?

Zu la2.sal:

Hieraus nehme ich die Erkenntnis mit, dass für mich an dieser Stelle kein weiterer Handlungsbedarf entsteht. Die durchgeführten Aktionen führen zu keiner Reaktion des Prozessors in Bezug auf die Geschwindigkeitsregelung. Sehr gut.

Zu logic3.sal:

FG (Pin 14, LA Ch1) Frequenzgenerator. Gibt bei Drehung (auch per Hand) ein Drehzahlabhängiges Signal aus.

ROT (Pin 21, LA Ch4) Gibt bei Drehung (auch per Hand) ein Drehrichtungsabhängiges Signal aus. 1= vorwärts

FRS (Pin 22, LA Ch5) Legt fest, in welche Richtung der Motor Kraft ausüben soll. 1= vorwärts Wird zum starken bremsen bei voller Kraft auf rückwärts gestellt, bis der Teller steht.

MOT (Pin 23, LA Ch6) Schaltet den Motor an und aus. 1= aus

Drive assist 74k (Pin 13, LA Ch0) Drive assist 36k (Pin 25, LA Ch7) Beide Signale erzeugen zusätzliche Motorkraft (0= normal, 1=erhöhter Kraftaufwand). Allerdings werden beide Signale bis auf wenige Ausnahmen, nur gemeinsam geschaltet. Welche Ursache die Ausnahmen haben, ist mir noch nicht klar, bzw. es ist nichts besonderes in den Signalen auszumachen. Weiter werden die beiden Signale vor allem gepulst eingesetzt.

LD (Pin 16, LA Ch2) Lock detect. Geht auf 1, wenn vorgegebene Drehzahl erreicht wurde. Geht auch auf 0, wenn man den Teller abbremst oder beschleunigt, bei Drehzahländerung ebenso.

AFC (Pin 17, LA Ch3) Ist eigentlich ein analoger Ausgang des TC9242. Derzeit gehe ich davon aus, dass hier keine weiteren Informationen gewonnen werden können. Ist weitestgehend invertiert zu LD.

Etwas Kopfzerbrechen bereitet mir die Tatsache, dass die Beschleunigung kurz vor erreichen der Sollgeschwindigkeit abgeschaltet wird. Hellseherei oder so ... Da muss ich nochmal grübeln.

Ansonsten bekommst Du kurzfristig von mir eine kleine Software, die Du auf den freien Chip brennst und damit mal ein paar Tests (mit dem anderen Laufwerk) machst.

Gruß Jobst

OP #8033134
Lesenswert?

Wow, Danke. Also dient der rückwärtslauf der Bremswirkung. Kann ich die Kabel wieder ablöten und den funktionierenden zusammenbauen? Könnte es sein dass das erhöhte schwächere Motoransteuern etwas mit dem Gleichlauf zu tun hat? wow / flutter? Kann ich auch einen w78e52b statt des wb78e52 ohne Buchstaben einsetzen? Ich habe 2 neue mit B aus China und den gebrauchten der aber noch funktioniert.

Gruß,

Christian

: Bearbeitet durch User
#8033177
Lesenswert?

Christian schrieb:

Wow, Danke. Also dient der rückwärtslauf der Bremswirkung.

Ja, soweit. Was nicht heißt. dass man es dabei belassen muss.

Kann ich die Kabel wieder ablöten und den funktionierenden zusammenbauen?

Zur Sicherheit wäre mir noch eine Messung lieb: Pin 39 PBLED Pin 11 PONLED - als Referenz Pin 20 immer noch GND Ich bin davon ausgegangen, dass es hierbei um die StroboLED geht, aber Du sagst ja, dass die immer an ist. Daher besser noch eine Messung und dann kannst Du das Ding auch zu machen. Wir haben dann alle Daten, die man zur Erstellung der SW benötigt.

Ach ja - Durchzuführende Aktionen dabei sind:

LA Starten Player an Teller starten Pitch on / off / on / off / on Teller stop LA stoppen

Könnte es sein dass das erhöhte schwächere Motoransteuern etwas mit dem Gleichlauf zu tun hat? wow / flutter?

Das hat vor allem etwas mit beschleunigen und bremsen zu tun. Die Drehzahlregelung übernimmt die Regelung im TC9242 - obwohl es dort möglicherweise einen Einfluss gibt. Du wirst schon bald damit spielen können ... müssen! :-)

Kann ich auch einen w78e52b statt des wb78e52 ohne Buchstaben einsetzen? Ich habe 2 neue mit B aus China und den gebrauchten der aber noch funktioniert.

Den W78E52B kannst Du in jedem Fall benutzen, so wie jeden anderen 8052 den Du mit Deinem Programmer programmieren kannst auch. Zum Problem könnte nur werden, dass er aus China kommt und vielleicht ein umgelabelter 6845 oder Videotextdecoder ist. Das wird aber spätestens beim verifizieren auffliegen.

Ich teste hier mit AT89S52.

Gruß Jobst

#8033210
Lesenswert?

Okay, ich nehme an, dass durch den Strom der LED der Pin nicht weit genug herunter kommt, um vom LA als L erfasst zu werden.

Ansonsten Funktion wie vermutet. Also zusammenbauen.

Das ist ein kleines Manko der std. 8051er, LEDs nur sehr eingeschränkt treiben zu können. Wobei das mit modernen LEDs eigentlich gar kein Thema mehr ist, damals aber schon.

Gruß Jobst

#8034760
Lesenswert?

Zum spielen (und testen) habe ich mal eine Version gebaut. Damit man mal was sehen kann und damit es nicht so aussieht, als wenn nun nichts mehr passiert.

Eins der beiden .hex-files in einen Chip brennen und diesen dann in den Player stecken, bei dem dieser fehlt. Dann:

Einschalten. LEDs blinken 1x durch. Je nach Variante leuchtet entweder

  • PITCH_ON (bei PBLED_CLR) -oder-
  • PITCH_OFF (bei PBLED_SET) 33 leuchtet. Bei Betätigung von Start sollte der Teller recht zügig anfangen zu drehen. Weitere Tasten werden noch nicht abgefragt. Der Teller ist nicht zu stoppen. Der Player muss dafür derzeit noch abgeschaltet werden. Die Drehzahl ist fest auf 33.

Bei genau einer der beiden Varianten sollte sich die Geschwindigkeit (Pitch) einstellen lassen. Bitte testen, mit welcher der beiden Varianten das geht und dann eine kurze Mitteilung, welche das ist. (Lässt sich auch anhand der Pitch ON bzw. OFF LEDs unterscheiden)

Außerdem ausprobieren, ob Pitch in jeder Position plausibel ist. (Gerne mit einer LP ausprobieren ob das sauber funktioniert.)

Gruß Jobst

Angehängte Dateien:
OP #8034863
Lesenswert?

Danke,

mit der CLR Version: LEDs laufen einmal schnell durch. 33 rpm LED ist an, Pitch on LED ist an. Motor lässt sich starten aber kein Pitch möglich.

mit der SET Version: LED laufen einmal schnell durch, 33 rpm LED ist an, Pitch off LED ist an. Motor lässt sich starten, Pitch funktioniert, aber nicht wie er soll. Egal ob ich + oder - Pitch darauf gebe der Teller wird in beiden Richtungen langsamer, Pitch läuft aber sauber.

Das ganze habe ich mit den neuen w78e52-B MCUs getestet. Glück gehabt, keine Fake ICs.

Gruß,

Christian

: Bearbeitet durch User
#8035085
Lesenswert?

Okay, die SET-Version ...

Christian schrieb:

Egal ob ich + oder - Pitch darauf gebe der Teller wird in beiden Richtungen langsamer

Sieht in meinen Versuchen immer gut aus - allerdings fehlt mir auch die Hardware. Ich sehe auch im Code diesbezüglich noch keinen Fehler.

Kannst Du bei diesem Gerät auch mal den LA dran hängen? Pin 20 wie immer GND LA-Eingänge an Pins: 35, 34, 32, 28, 27, 21, 16, 14

Pitch auf -12% stellen LA starten Gerät einschalten Start drücken 3s laufen lassen Pitch gleichmäßig innerhalb von ca. 3s von -12% auf +12% schieben. LA stoppen

Mal schauen, ob alles wie gedacht abläuft.

Gruß Jobst

OP #8035248
Lesenswert?

Bevor ich jetzt anfange, wenn ich auf 33 rpm starte bei -12% Pitch und mich dann auf +12 % Pitch gehe läuft das Laufwerk langsamer wie es soll bis 0%, geht es in den + Pitch wird es wieder langsamer. Ist der Pitch aktiv und ich drücke erneut die Start/Stop Taste dreht das Laufwerk extrem hoch. Sowohl bei + und + Pitch. Es ist aber immer etwas unterschiedlich wann es reagiert, als würde die Start Taste prellen.

Gruß, Christian

: Bearbeitet durch User
OP #8035295
Lesenswert?

Ich habe jetzt mal einen original w78e52 eingebaut. Kein Unterschied. Was ich noch bemerkt habe das Laufwerk tut sich bei 33rpm schwer die Geschwindigkeit sauber zu halten. Es hält sie zwar aber es gibt immer einen kleinen Ausreisser nach oben und unten. Ersichtlich am Strobe.

Gruß,

Christian

: Bearbeitet durch User
#8035380
Lesenswert?

Christian schrieb:

Bevor ich jetzt anfange, wenn ich auf 33 rpm starte bei -12% Pitch und mich dann auf +12 % Pitch gehe läuft das Laufwerk langsamer wie es soll bis 0%, geht es in den + Pitch wird es wieder langsamer.

Ja, das soll aufgezeichnet werden.

Ist der Pitch aktiv und ich drücke erneut die Start/Stop Taste dreht das Laufwerk extrem hoch. Sowohl bei + und + Pitch. Es ist aber immer etwas unterschiedlich wann es reagiert, als würde die Start Taste prellen.

Derzeit ist noch kein Stop implementiert. Die Version dient ja auch nur zum Test. Bei nochmaliger Betätigung wird erneut versucht den Motor zu starten. Fängt sich die Drehzahl denn wieder, wenn Du die Taste los lässt?

Kannst Du gerne auch mit aufzeichnen!

Christian schrieb:

Ich habe jetzt mal einen original w78e52 eingebaut. Kein Unterschied.

Das würde mich auch wundern. Denn dann wäre einer der beiden nicht 8052 kompatibel. - Mit dem sollte dann aber auch der Rest nicht laufen.

Was ich noch bemerkt habe das Laufwerk tut sich bei 33rpm schwer die Geschwindigkeit sauber zu halten. Es hält sie zwar aber es gibt immer einen kleinen Ausreisser nach oben und unten. Ersichtlich am Strobe.

Bitte auch aufzeichnen! Allerdings habe ich sowas auch schon erwartet, da die Werte vom ADC noch nicht gefiltert werden. Aber ich würde gerne drauf schauen was dort tatsächlich passiert.

Du kannst von den verschiedenen Schritten auch gerne einzelne Dateien machen. Oder alles in eine - wie es besser passt.

Gruß Jobst

OP #8035406
Lesenswert?

Wenn ich nach dem Start nochmal auf start drücke, halte ich die Taste nur kurz als würde ich stop drücken und lasse los, das Laufwerk dreht dann hoch. Es ist auch nicht immer der Fall, ich konnte aber einen einfangen. la33rpm ist 1 X start Pitch 0 mit den Gleichlaufschwankungen. lapitch-12vs ist pitch auf -12 % und dann start, extremer hochlauf lapitch-12normal ist pitch auf -12 % dann start, normaler lauf von -12 auf +12%. la2start ist Pitch 0%, start, nochmal start extremer hochlauf.

Das mit dem schnellen Hochlauf geschieht nicht immer wie man am 12VS und 12normal sehen kann. (startet ja mit gleicher Einstellung) Manchmal kann ich mehrfach auf start drücken und es passiert keine Geschwindigkeitsänderung.

Ch0 14 Ch1 16 Ch2 21 Ch3 27 Ch4 28 Ch5 32 Ch6 34 Ch7 35

Gruß,

Christian

Angehängte Dateien:
: Bearbeitet durch User
#8035526
Lesenswert?

Ich habe gerade noch kurz reingeschaut - nur soviel:

Wenn der Teller hochdreht, gerät alles aus den Fugen. Zuerst gibt es keine Antworten mehr vom DAC (5.713s), dann setzt die gesamte Kommunikation aus und wird kurz darauf durch ein Pulsmeer ersetzt welches mit einem Binärteiler moduliert zu sein scheint. (bei 5.760s) (Datei la2start0pitch.sal - glaube ich)

Ich habe keine Ahnung was dort passiert, aber Du solltest das vermeiden!

Und ich werde dafür sorgen, dass der Prozessor dies erkennt und den Motor dann abschaltet.

Gruß Jobst

OP #8038706
Lesenswert?

Ich kann nich sagen ob der Flash seine Daten verloren hat. Ich denke eher der Prozessor hat einen Kurzschluss. Denn mit der defekten MCU flackert das Strobe was nichts mit der MCU zu tun hat, der Motor summt und der Stromverbrauch ist auf ca 17Watt. Beim funktionierenden Gerät ist der Verbrauch im Stand bei knapp 8 Watt. Im Lauf bei ca 11.

#8038762
Lesenswert?

Steffen K. schrieb:

Interessant dass das Flash des winbond chips schon nach 24 Jahren vergesslich wird. Bei EPROMs war immer von 40 Jahren die Rede, wenn die Daten korrupt werden.

EPROM ist deutlich langlebiger als FlashROM. Aber auch die halten mittlerweile länger als 20 Jahre.

Embedded Flash aus der Zeit um 1995-2000 fällt schonmal häufiger aus. Neu beschreiben reicht dann aber meistens aus.

#8038895
Lesenswert?

Steffen K. schrieb:

Wenn man es neu beschreiben kann. Ein Gerät mit Bootloader ist dann ein Problem, weil man den Bootloader selbst nicht neu flashen kann.

Wenn der Bootloader vom Anwender geschrieben wurde (wie beim Arduino), dann schreibt man ihn über die HW-Programmierschnittstelle (JTAG, SWD) neu.

Wenn der Bootloader aber bereits beim Hersteller ins Flash kam (wie z.B. der Code im ATmega328, der im RESET aktiv ist und über die SPI mit dem Programmiergerät redet), dann wird die Luft in der Tat dünn. Das gleiche gilt für Konfigurationsbits (Fuse-Bits), die z.B. Speicherblöcke oder CPU-Cores aktivieren oder sperren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren