Universalsinusnetzteil – Einplatinenversion für 220V Motoren mit Regelung

Auf Grund der wiederholten Nachfrage nach einem Bausatz des Universalsinusnetzteils hat der Autor eine Einplatinenlösung entwickelt, die die komplexe Steuerung und Regelung von 220V Motoren oder Niedervolt Snychronmotoren in Plattenspielern übernehmen kann.
Getestet wurde das Netzteil bisher an Thorens TD124, Garrard 301 und 401, Braun PS500 und LencoL78.
Geplant ist eventuell eine externe Fertigung der Platine des Universalsinusnetzteils und das Angebot der fertig bestückten Platine – aber noch ist es Zukunftsmusik!!!

In lockerer Reihenfolge wird die Entwicklung, Testung und der Aufbau des Netzteils geschildert.
Bezüglich des technischen Hintergrundes verweise ich auf die bisherigen Artikel.

Pflichtenheft des Universalsinusnetzteils

Regelung von Spannung und Frequenz (Optimierung Laufverhalten)
Messung der Drehzahl des Plattentellers (magnetisch/optisch)
Regelung der Drehzahl bei Bedarf automatisiert
– Speicherung von 5 setups bei Verwendung an verschiedenen Spielern
Steuerung über Display und Drehencoder
– möglichst geringer Verdrahtungsaufwand
– kompakte flache Bauweise (1 – 2 Höheneinheiten)
– Verwendung im Niederspannungsgereich an Synchronmotoren
– elektrisch sicherer Aufbau
– Bausatz

Planung und Umsetzung

Auf der Basis des letzten Sinusnetzteils ist zur Vermeidung unnötiger Verdrahtung und zur Erweiterung von Funktionen ein Einplatinenmodell in den Maßen 200mm x 160mm entstanden.

Der Entwurf erfolgte mit KiCad© auf dem Mac, der Portierung der Gerberdaten in flatcam© (virtuelle Win7 Maschine auf dem Mac), und das Fräsen auf der  Fräse PF750 von BZT© als Prototyp.

Die Bestückung erfolgte mit diskreten Standardbauteilen, einem Arduino nano und einem AD9850 Baustein. Details sind hier beschrieben.
Einen Engpass stellt derzeit die Lieferung von LM 3886 Bausteinen und CNY70 Reflexlichtschranken dar. (24.4.2022).

Der Gehäusebau erfolgt zunächst als Brettaufbau, später als Alugehäuse mit aussen liegenden Kühlkörpern.

Die Hauptplatine

Das Bild zeigt die wesentlichen Bauteilgruppen:

– violett: Netzteil mit +/-27V
– rot: Leistungsverstärkergruppe mit max. Ausgang 2 x 17V AC
– grün: AD9850 und Arduino Nano als digitales Zentrum
– gelb: Digitalpotentiometer 256bit zur Spannungseinstellung
– rosa: Komparator für optische oder magnetische Drehzahlmessung
– blau: MCP23S17 und ULNA2803 als Erweiterungs-/Anzeigemodule

Die Kommunikation erfolgt sowohl über SPI als auch I2C Bus, der Komparator läuft Interrupt-gesteuert.

An die Platine angeschlossen werden über Steckkontakte:

– Netztrafo 2x18V, 1.3A
– Ausgangstrafo 2 x 12V 2A
– 9 poliges Sub-D Kabel zur Kommunikation mit dem Plattenspieler
– I2C-Verbindung zum Display

Die Drehencoder sind auf der Platine verbaut und mit Tastern ausgestattet.

Auf der Platine kann die Versorgungsspannung gebrückt werden, um einen Testbetrieb zu realisieren, der onboard Komparator ist zuschaltbar, die Symmetrierung der Ausgangsspannung kann mittels Trimmern leicht abgeglichen werden, ebenso die Empfindlichkeit des Komparators.

Universalsinusnetzteils
…die komplett bestückte Platine

Die Besückung der Platine dauert ca. 5 – 6 Stunden, der Bauteileaufwand insgesamt ohne Gehäuse incl. Display liegt bei ca. 250 €.

Software

Hier wurde als Basis die stabil laufende Version des kompakten Sinusnetzteils verwendet.
Die Erweiterung betrifft im Wesentlichen die Drehzahlmessung und die Drehzahlregelung.
Details sind auch wieder hier nachzulesen.

Drehzahlmessung (1. Variante)
Universalsinusnetzteils Magnet ABTASTUNG
mit doppelseitigen Klebeband “provisorisch” montierte Neodymmagneten

Über den Digitaleingang D2 des arduino nano können digitale Signale elegant interrupgesteuert “im Hintergrund” gelesen werden.
Dazu bekommt der Plattenteller wahlweise 1 – 12 helle Markierungen (oder Magnete) auf dem Innenteil des Aussenrandes.

Eine Reflexlichtschranke oder ein Hallsensor – der auf einer höhenjustierbaren – Platine sitzt, tasten die weisse Markierung oder den senkrecht stehenden winzigen Neodymmagnete ab.
Das Mess-Signal wird über einen Komparator auf den D2 Eingang geschaltet, und dort an der steigenden Flanke ausgewertet.

…auf dem testboard gesteckter winziger TLE4905 als Hallsensor, daneben der “Testmagnet”

Mittels simpler Gleichungen ist so die Drehzahl auf 2 Stellen hinter dem Komma zu errechnen und erfolgt als Ausgabe auf das Display.
Stellt man nun mit dem rechten Drehencoder die Frequenz nach, ist ein exakter Lauf mit 33,33 oder 45,00 U/Min möglich und wird nach der eingestellten Messdauer angezeigt.

Die Anzahl der Magnete/Markierungen kann der Nutzer selber festlegen und stellt es in der Software ein.

In gleicher Weise kann das Messintervall zur Ermittlung der Drehzahl interaktiv zwischen 10 – 60 Sekunden eingestellt werden.

Drehzahlregelung

Eigentlich bemötigen die Motoren der genannten Laufwerke keine Korrektur der Drehzahl, da sie mit einer erstaunlichen Konstanz laufen.
Aber:

– Tellerlager
– Tellermatten
– gestackte Teller
– Reibradlager
– ungewollte feine Verschiebung des Reibrades am Lenco
– Öl oder Fettreste im Teller

können die Drehzahl verändern.
Oder man hört Musik und hat den Eindruck, dass mit “der Geschwindigkeit etwas nicht stimmt”.

Ein Blick auf das Display, dann die Automatik zuschalten, und das Netzteil regelt den Motor über sanftes langsames Nachregeln der Frequenz auf Nenndrehzahl, die weiterhin kontinuierlich im Hintergrund gemessen wird.
Der Korrekturalgorhythmus verhindert plötzliche Geschwindigkeitsveränderungen, sondern korrigiert sehr langsam – quasi unhörbar.

….1 U/Minute würde eine Korrektur auf 98.5Hz erfordern, um auf 33.33U/Minute Drehzahl zu kommen, wenn 6 Messpunkte montiert sind und alle 20 Sekunden gessen wird
Der Drehzahlsensor (2.Variante)

Nach den ersten Versuchen bin ich in der Schaltung auf ein Problem gestossen, dass nun behoben ist.
Die Resetleitungen der Bausteine Arduino nano, AD9850 und des MCP23017  müssen einzeln geführt werden, bzw. “high” gelegt werden, um einen ungewollten Reset zu verhindern…..
Als Folge funktioniert nun die lichtgesteuerte Reflexschranke mit einem CNY70 tadellos und wird über den D2 Port des Arduino eingelesen.

Prinzip:
der Teller wird in dem Bereich, wo das Reibrad KEINEN Kontakt zum Teller hat (Aussenbereich) schwarz lackiert, und dann mit 16 schmalen weissen Streifen versehen.

Durch die Drehung des Tellers liest die Reflexlichtschranke 16 Mal pro Umdrehung den Reflex (steigende und fallende Flanke) aus, was in einer Minute 533 Impulsen entspricht.
Eine andere Möglichkeit, wäre das Zeitintervall zwischen steigender und fallender Flanke des Interruptsignals zu bestimmen.

Durch Montage der Lichtschranke 5mm unter dem Teller wird eine sehr genaue Messung der Drehzahl möglich.

CNY70 Lichtschranke Drehzahlregelung
CNY70 Lichtschranke in vorhandener Bohrung mit M3 Schraube montiert
Drehzahlanzeige

Die Front des Netzteils ist so konzipert, dass neben der Displayanzeige eine LED gesteuerte Kontrolle der Drehzahl erfolgt.
Dazu dienen 7 LED’s auf der rechten Seite der Frontplatte.

Links wird die gewählte Drehzahl als grüne LED (33 /45 /78 1/Min) angezeigt, und bei Erreichen der Solldrehzahl schaltet die Software die rechte rote LED zu.
Der Toleranzbereich ist auf 0,03 U/Minte festgelegt.
Sollte sich der Teller ausserhalb des Toleranzbereiches drehen, erlischt die rote LED und blinkt nach Ablauf des frei einstellbaren Messintervalls 2x kurz rot auf.
Dann muss der Benutzer die Frequenz händisch nachregeln.

Drehzahlautomatik
….noch die alte Frontplatte, inzwischen revidiert, rechts die Anzeige der Automatik

In der Mitte der 7 LED Anzeige befindet sich eine blaue LED, die den “Automatikbetrieb” zeigt.

Über das Menü ist die Funktion wählbar und löst folgende Logik aus:
– die Drehzahl wird wie beschrieben gemessen
– über Drücken des rechten Drehencoders wird zwischen 33,3, 45, und 78 U/Minute die Solldrehzahl vorgewählt
– unter- oder überschreitet die Drehzahl den Sollbereich, erfolgt ein sanftes Nachregeln der Frequenz und alles passt.

Der Algorhythmus der Regelung erfolgt interruptgesteuert und für den Benutzer “unsichtbar und unhörbar”.

Logischweise ist der manuelle Eingriff in die Frequenzregelung deaktiviert.

Gehäusebau

Auf hifi2000 findet sich tatsächlich in 2HE ein Gehäuse, in das alles perfekt passt.

Die Rückfront und der Deckel werden aus 3mm Naturaluminium gefräst.

Die Rückfront trägt lediglich den 230V Eingang mit Zentralsicherung, den Spannungsausgang als Schukobuchse, einen USB Port und eine 9polige Sub-D Buchse als Signalverbindung zum entsprechenden Plattenspielerlaufwerk.

Elektrischer Aufbau und Sicherheit
….saubere Kabelführung – Schaltnetzteil für die Niederspannungsversorgung (12V mit nachgeschalteter 5V Stabilisierung) – 2 Ringkerntrafos für Betreibsspannung (links) und Auftransformierung (rechts).

Da es hier um gesundheitsgefährdende Spannungen geht, ist der Aufbau unbedingt VDE konform durchzuführen.
Alle Kabelverbindungen sind gesteckt, sämtliche Bedienelemente niederspannungsversorgt (max. 5V), und eine durchgehende Schutzleiterverkabelung selbstredend. Alle metallischen Gehäuseteile liegen auf Schutzleiter!!! Ausserdem ist ein Berührungsschutz konsequent umgesetzt.

Wichtig ist ein Zobelelement zwischen den Verstärkerausgängen und den Spannungsausgängen des “Endstufentransformators”, um ein Schwingen der Verstärkerschaltung zu verhindern.
Ausserdem muss der Trafo am Ausgang aus gleichen Gründen ausgephast werden.

Fazit

Es lässt sich auf einer 200 x 160mm grossen Platine diese recht komplex gewordene Projekt realisieren.
Ausgesprochen praktisch ist die Prüfung der Drehzahl “auf einen Blick”.
Ein Stroboskop oder ähnliches ist nicht mehr erforderlich.

Beeindruckend finde ich die Drehzahlkonstanz der Lencokonstruktion:
einmal eingestellt dreht der Motor vollkommen konstant, und scheint keinen betreibswarmen oder -kalten Zustand zu kennen.

Das ist ein wesentliches Unterscheidungsmerkmal gegenüber Garrard oder Thorenskonstruktionen, die warmlaufen müssen.

Da das Netzteil universell ausgelegt ist, können die Betriebsparameter anderer Spieler gespeichert und mit einem Knopfdruck abgerufen werden.
Das ist im Hörraum ausgesprochen praktisch, wenn z.B. mehrere Spieler über eine Steckdosenleiste an das Netzteil angeschlossen sind.
Laufen darf aber immer nur ein Spieler, um das Netzteil nicht zu überlasten.

Programmiertechnisch durfte ich eine Menge Neuland erobern und bin vor allem von der Interruptprogrammierung begeistert.

Visited 129 times, 1 visit(s) today