Roth PPS 25/2 — RS-232 command set & repair

Reverse-engineered documentation for the Roth PPS 25/2 (PPS-25/2) lab power supply with PPS24 RS-232 interface — remote command set, firmware, hardware notes and repair.

View the Project on GitHub feiglein74/pps-25-2

PPS 25/2 — Offene Punkte

Stand 2026-05-03 (Hardware-Schaden + Reparatur)

Schaden

ESD-Spike beim Hot-Plug eines RS232-Adapters (BP6 oder W&T) hat den oberen 74LS373 (Tasten-Eingangs-Latch, NICHT der Adress-Demux-Latch) zerschossen. Konkret war Pin 14 (D6 input) intern mit Pin 10 (GND) kurzgeschlossen.

Symptom-Bild

Diagnose-Pfad (was funktioniert hat)

  1. Differential-Test mit IDN-Befehl über TTL-Direkt → MCU + SCI + EPROM OK
  2. Y-Selbsttest → Display und LED-Treiber-Pfad OK
  3. *VSET050 + Multimeter → DAC + Output-Stage komplett OK
  4. Continuity mit abgestecktem Memory-2-Switch → Pin am Pfostenstecker zeigt Verbindung zu GND und mehreren Chip-Pins. Da der Switch physisch getrennt war, muss der Short auf der Platine sein
  5. Pin-Trace zur Latch-Hardware → Memory-2-Eingangsleitung führte zu 74LS373 Pin 14 (D6). Auf demselben Chip Pin 10 = GND. → Chip ist intern shorted

Reparatur

Restarbeit

Finale Bonus-Reparatur

Methodik-Lessons

W&T-Setup (für künftige Sessions)

Adapter-Test (offen)

Es gibt mehrere RS232-Adapter im Setup. Einer davon “mag uns nicht” — funktioniert nicht zuverlässig. In künftiger Session systematisch durchprobieren welcher welche Eigenschaften hat (1:1 vs Crossover, DTE/DCE-Pinning, ggf. RTS/CTS-Handling).

Stand 2026-05-03 (ZIEL ERREICHT)

Vollständige Remote-Control funktioniert — Sequenz:

  1. Erst *ISET255\r (Strom-Limit auf Maximum öffnen)
  2. Dann *VSET<n>\r mit n=0..255 → linear 0..25,5 V (0,1 V/Schritt)

Erkenntnis: Der vorher beobachtete “Bruch bei n=24..32” war kein DAC- oder Firmware-Limit, sondern interne Strom-Limitierung. Default-Stromsetpoint nach Reset ist niedrig → Voltage-Loop begrenzt → Spannung capped bei ~2,2 V. Mit *ISET255 zuerst kommt die volle Range.

Verifiziert (am Multimeter):

Befehlsskala:

Offen

Bruchpunkt n=25..32 genau lokalisieren

1er-Schritte sweepen (n=20..40 mit ~1s Pause), sehen wo genau der Übergang ist. Vermutung: harte Schwelle (z.B. n=25 oder n=31) statt graduell.

Bruch verstehen

Strategie: vor jedem Test 1er-Schritt-Sweep aus 0 hoch — wenn Bruch immer beim gleichen n → Hardware oder fixer Schwellwert. Wenn variabel → Slew-Rate / Sequenz-Effekt.

Volle Range trotz Bruch erreichen?

Mögliche Ansätze:

*ISET genauso verifizieren

Analoger Test mit Strombefehl. Bisher angenommen aber nicht gemessen.

*VOUT? ist NICHT die Output-Messung

Korrektur zur SUMMARY: *VOUT? liest $B8 (Setpoint-Echo), durch BCD-Konvertierung in $F63C. Echte Messung kommt aus MV (liest $91 = ADC-Wert). SUMMARY entsprechend korrigieren.

Mapping DAC-Wert → Volt

Bei n=17 ergibt es ~1,7 V. Linear extrapoliert: n=255 → ~25,5 V. Passt zu Vollausschlag, also ist DAC vermutlich linear über die ganze Range. Aber: muss bei höheren Werten noch verifiziert werden.

*VOUT?-Konvertierung in $F63C

Einfache Binary-to-BCD (Double-Dabble) — formatiert Setpoint als 4-Digit BCD. Kein Scaling, also *VOUT? antwortet eigentlich exakt was *VSET setzte (mit kleiner Abweichung wegen Skalierungs-Code davor). Niedrige Priorität.

Logic Analyzer Setup

Für tieferes Debug (Adress-Bus + Daten-Bus + Read/Write) wäre nützlich, ist aber jetzt nicht mehr blockierend, weil Remote-Control funktioniert.

Code-Pfad sauber durcharbeiten

Mit dem neuen Wissen (*VSET wirkt!) ist die Hauptschleife $F037-$F068 neu zu interpretieren. Vermutlich:

Methodik-Hinweis: ADC vs. Oszi

ADC-Messungen via MV/MC/MA zeigen die echte Dynamik NICHT. Die Sample-Rate plus die Mess-Latenz sind zu langsam für schnelle Übergänge (CC-Trigger, Last-Schaltvorgänge etc.). Was im ADC als “Sanftabschalt” oder “graduelles Ansteigen” aussieht ist meistens:

Konsequenz: Für jede Aussage über transientes Verhalten am Ausgang Oszi nutzen, nicht ADC. ADC nur für stabile Werte mit reproduzierbar erreichten Endzuständen.

Vergangene Bewertungen neu prüfen mit Methodik-Wissen

Mit der “ADC zu langsam”-Erkenntnis sind diese Befunde aus dieser und früheren Sessions zu hinterfragen:

Hardware katalogisieren und verfolgen

Bisher haben wir das Gerät nur aus der RS232/Software-Sicht analysiert. Jetzt:

Aufräumen

RS232 wieder regulär aufbauen (morgen, 2026-05-04)