Reinhard Weiß - Bauprojekte
USB-Umschalter für 2 Geräte (NAS/PC) an APC-UPS (Proj. 01/2010, 02/2011)

Die Unterbrechungsfreie Stromversorgung (USV) APC Back-UPS CS ist mit einer USB-Schnittstelle ausgerüstet, über die das Gerät administriert werden kann, und über die andere Geräte (PC, NAS) kommunizieren können, um vom Netzausfall rechtzeitig zu erfahren. Je nach Konfiguration können die Geräte ihre Daten vorher noch sichern, Programme abschließen und dann geordnet herunter fahren. Die in der USV eingebaute Batterie puffert die Netzspannung noch einige Minuten.

Sehr einfach ist das etwa bei dem Network Attached Storage (NAS, Netzwerkspeicher) ReadyNas Duo von Netgear, der nur entsprechend konfiguriert werden muss. Der NAS kann dann sogar noch einen zweiten NAS mit der Information versorgen, und zwar über das Netzwerk (LAN). Hierfür ist keinerlei zusätzliche Software nötig. Die Geräte fahren dann innerhalb weniger Sekunden sicher herunter.

Beim PC ist das ähnlich. Bei Windows 2000/XP gibt es eine eingebaute Funktion zur Kommunikation mit einer APC-USV über eine USB-Verbindung. Wer es komfortabler möchte, kann die von APC kostenlos gelieferte Software, etwa Power Chute PE, installieren. Man kann wählen, ob man den PC richtig herunter fahren will, oder doch besser den Ruhezustand verwendet. Der hat den Vorteil, dass beim späteren Hochfahren noch alle Daten und Programmzustände wieder hergestellt werden, wie vor dem Netzausfall, außerdem geht das um einiges schneller. Je schneller der PC ausgeschaltet ist, desto weniger wird die Batterie belastet, was ihre Lebensdauer erhöht. Dazu kann man sogar über den PC einen Abschaltbefehl an die USV geben lassen (wird dort verzögert wirksam), so dass diese am Schluss ausschaltet und die Batterie damit schont.

Die Back-UPS CS-Serie hat aber tatsächlich nur 1 USB-Schnittstelle. Wie soll man da 2 oder mehr Geräte herunter fahren lassen? Für dieses Problem gibt es Softwarelösungen zur Steuerung der Geräte über das LAN, aber das ist schon recht komplex. Im Handel gibt es auch keine simplen USB-Umschalter, die hierfür geeignet wären. Allerdings gibt es Umschalter für Drucker, um etwa von 2 PC aus mit 1 Drucker arbeiten zu können (USB Sharing Switch). Die lassen sich zwar mit der mitgelieferten Software bedienen, sind da aber viel zu unflexibel und kaum automatisierbar. Noch dazu haben die ein intelligentes Eigenleben, das etwa eine Umschaltung verhindert, wenn noch Daten ausgetauscht werden (das passiert bei der Kommunikation mit der USV aber ständig). Ansonsten bliebe nur noch die "einfache Signalisierung" mit RS232-Signalen. Es geht aber auch eleganter.

Ich habe eine praktikable Lösung gefunden für einen einfachen automatischen Umschalter. An ihn können 2 Geräte über USB angeschlossen werden, etwa ein Konfigurations-PC (Haupt-PC) und ein NAS (oder 2. PC), sowie zusätzlich ein weiterer PC über RS232 (nur Signale, keine Kommunikation). Die Funktion erläutere ich an den folgenden beiden Bildern. Beim Netzausfall (Batteriebetrieb) sind 2 Betriebsarten möglich, gemäß Bild 1 und Bild 2:

Bild 1: Standardbetrieb (PC hat Vorrang)

USB-Umschalter Block (1)



Bild 2: Sequenzbetrieb (NAS hat Vorrang bei Batteriebetrieb)

USB-Umschalter Block (2)

zusätzliche Option:

In der Betriebsart 1 (nach Bild 1) sollte der PC an USB2 nicht sehr lange zum Herunterfahren benötigen, damit der NAS (bzw. 2. PC, an USB1) anschließend noch genügend Energie aus der Batterie bekommt zum Herunterfahren. Wenn die Batterie (noch) nicht voll aufgeladen oder schon schwach ist, kann das aber riskant sein. Da das Herunterfahren eines NAS hingegen normalerweise sehr schnell geht, ist es möglicherweise sinnvoller, zuerst diesen herunter fahren zu lassen und erst anschließend die restliche Betriebszeit voll dem PC zur Verfügung zu stellen. Dies wird mit Betriebsart 2 (Bild 2) erreicht, oder mit Einschränkung bei Betriebsart 1, wenn man NAS an USB1 und PC an USB2 anschließt (PC-Verbindung geht dann nur ohne NAS bzw. bei herunter gefahrenem NAS).

Die Betriebsart 2 (nach Bild 2) ist immer dann sinnvoll, wenn der Haupt-PC möglicherweise zu lange brauchen könnte, bis er ausschaltet oder er gar nicht abgeschaltet werden soll/kann, oder aber der USB-Port auch bei abgeschaltetem PC Spannung abgibt, oder wenn der NAS einfach bevorzugt bedient werden soll, wenn die Spannung ausfällt.

Diese logisch etwas verzwickt scheinende Aufgabe lässt sich tatsächlich sehr einfach und ohne intelligente Hardware oder Software umsetzen. Dabei wird folgender Trick benutzt: Um den Umschalter steuern zu können, wird eine Information benötigt, die erkennen lässt, ob das Gerät (PC/NAS) noch in Betrieb ist oder schon herunter gefahren ist. Dies liefert die Spannung des USB-Ports. Wenn das Gerät in Betrieb ist, stehen 5 V an, wenn es aus ist, ist auch die Spannung weg. Allerdings muss man beachten, dass manche Geräte nach dem Herunterfahren noch den Port versorgen, etwa Laptops. Da funktioniert die Schaltung nicht bzw. das Gerät kann nur an USB1 angeschlossen werden.

Schaltungstechnische Lösung: Universeller Umschalter

Das folgende Bild zeigt einen Ausschnitt aus dem Stromlauf eines universellen Umschalters, den ich in verschiedenen Varianten gebaut habe. Wenn Sie auf das Bild klicken, wird es vergrößert dargestellt. Die Auskopplung der Schaltsignale für PC3 ist dahinter im Bild 4 dargestellt. Den gesamten Stromlauf sehen Sie im pdf. Das Relais K1 schaltet die USB-Datensignale (D+/D-) um und wird einerseits von der USB-Spannung an USB2 gespeist, andererseits über das Signal OnBattery der USV (an Bu4/RJ50-10) mit dem Transistor T1 geschaltet. Damit der Relais-Kontakt auf USB2 umschaltet, müssen also die Spannung an USB2 und das Signal OnBattery vorhanden sein, d.h. ein aktives Gerät stecken und Netzausfall vorliegen. In allen anderen Fällen ist USB1 an die USV geschaltet. Dies ist die Funktion in Betriebsart 2. Als USV verwende ich hier die Back-UPS CS 650.

USB-Umschalter: Klicken zum Vergrößern

Bild 3: USB-Umschalter für Betriebsart 1 + 2 (Ausschnitt)

Über die Brücke W6 (im Bild 4 zu sehen) kann der Transistor überbrückt werden (Kollektor an Masse), so dass die Funktion unabhängig vom Signal OnBattery bzw. dem Netzzustand wird, d.h. sobald ein aktives Gerät an USB2 angesteckt ist, zieht das Relais an und schaltet dieses Gerät auf die USV. Dies ist die Betriebsart 1.

Die LED zeigt den Zustand des angezogenen Relais an, also, wenn USB2 an die USV geschaltet ist.

Die Auskopplung der Schaltsignale ist im folgenden Bild dargestellt (beim Klick auf das Bild wird es vergrößert dargestellt), Fortsetzung von Bild 3:

USB-Umschalter RS232: Klick zum Vergrößern

Bild 4: Auskopplung der Schaltsignale der USV (RS232), Ausschnitt

Eigentlich müssen nur die USV-Signale OnBattery (Netzausfall), LowBattery (kritischer Batteriezustand, fast leer) und der Eingang ShutDown (für die USV) an die SubD9-Buchse geschaltet werden. Um hier möglichst flexibel zu bleiben, habe ich die Signale jedoch auf Brücken gelegt, womit ich einige spezielle Funktionen ermöglichen kann. Die Standard-Einstellung ist wie die rechte Darstellung von X1 (also mit W1, W2, W3).

Mit W3 kann man die ShutDown-Aufforderung vom PC unterbinden, falls das notwendig sein sollte (in manchen Fällen wird der COM-Port vom Betriebssystem getestet, so dass da unerwünschte Signale entstehen könnten), ansonsten kann die Funktion in den Energieoptionen ausgewählt bzw. deaktiviert werden.

Die Brücke W6 (unten beim Brückenfeld X1) ist für die Überbrückung des Transistors in Betriebsart 1.

Die Standard-Beschaltung ist so gewählt, dass man den PC (mit Windows2000/XP) direkt mit einem 1:1 SubD-9-Kabel (Buchse-Stecker) an der COM-Schnittstelle betreiben kann. Eine mögliche Konfiguration habe ich schon hier gezeigt. Variieren kann man, ob der PC sofort bei Netzausfall zum Herunterfahren gebracht werden soll (Signal OnBattery), oder erst, wenn die Batterie schon recht leer ist, um maximale Betriebszeit zu erreichen (Signal LowBattery). Die entsprechende Einstellung kann man in den Energieoptionen von Windows vornehmen und/oder mit den Brücken.

Die nachfolgende Tabelle fasst einige Einstellmöglichkeiten zusammen:

Signalisierungsoptionen
Windows Option Variante 1) niedr. Batt. 2) Batt. an 3) Batt. an 4) Batt. an 5) niedr. Batt. 6) niedr. Batt.
  Verdrahtung 2 Ltg. 1 Ltg. 1 Ltg. 1 Ltg. 1 Ltg. 1 Ltg.
Stromausfall/Batterie an, Signal CTS (Pin 8) Ausw.-Lage positiv positiv positiv negativ negativ positiv
  Brücke W1/W8 W1 W1 W1 (keine) (keine) W8
  USV-Signal OnBattery OnBattery OnBattery offen/akt. offen/akt. LowBattery
Niedriger Batteriestand, Signal DCD (Pin 1) Ausw.-Lage positiv negativ deaktiv. positiv positiv deaktiv.
  Brücke W2/W7 W2 (keine) (egal) W7 W2 (egal)
  USV-Signal LowBattery offen/akt. (keins) OnBattery LowBattery (keins)

Erläuterung zur Tabelle:

Die Verbindung zwischen USV und Umschalter über die RJ50-Buchse sollte mit einem möglichst kurzen Kabel erfolgen (etwa 50 cm lang), vorzugsweise geschirmt, oder notfalls als Flachkabel (siehe Hinweise), das aber keine Abschirmung bietet.

Wer seine Back-UPS nicht schonen will, kann die Schaltung auch leicht in die USV selber einbauen. Man entfernt dazu die wahrscheinlich sowieso nicht benötigte Telefonbuchsen-Platine und ersetzt sie durch eine mit den USB-Buchsen USB1+2, und lötet die Leitungen direkt an die RJ50-Buchse innen an. Falls man die Schalt-Signale auch noch benötigt, kann man sich mit einem 8-poligen Telefon-Flachkabel und einem RJ48-8-Stecker (ISDN/LAN, 8P8C) einfach einen passenden Adapter für die RJ50-10-Buchse machen. Verdrahtung siehe meine Belegungstabelle. Falls man die ShutDown-Funktion ohnehin nicht benötigt, reicht auch ein 4-poliges Telefonkabel.

Damit der NAS möglichst schnell herunter fährt, sollte man die Kapazitätsschwelle in der NAS Konfiguration auf den Maximalwert (bei ReadyNAS Duo 90 %) einstellen. Wählt man einen niedrigeren Wert, dauert es unnötig lange, bis die Batterie soweit entladen ist und das Herunterfahren des NAS eingeleitet wird. Beim PC habe ich in PowerChute die Option "Den Computer solange wie möglich in Betrieb lassen (5 Min)" gewählt, um bei einem Netzausfall noch genügend Zeit zur Verfügung zu haben, um manuell einzugreifen.

Praktische Realisierungen

Ich habe den Umschalter nach Bild 3 & 4 in verschiedenen weiteren Variationen realisiert:

  1. Projekt 01/2010a: Universelle Lösung mit USB und RS232, ähnlich zu Bild 3 & 4, mit der Umschaltung über Signal OnBattery (Betriebsart 1 und 2) und USV-Anschaltung über RJ50 (10P10C). Die Musterplatine 01/2010 ist in Bild 5 links dargestellt, wobei nur der linke (hier teilbestückte) Teil der Platine benutzt wird. Platinenmaße ca. 109x51 mm, passend für Strapubox 2001. Stromlauf hierzu.
  2. Projekt 01/2010b: Einfache Lösung mit nur USB, d.h. ohne Signal OnBattery (nur Betriebsart 1) und USV-Anschaltung über USB-A-Buchse (passend zum APC-Kabel). Diese Variante ist auf derselben Platine 01/2010 aufgebaut, im Bild 5 links, auf der hier nicht bestückten rechten Platinenseite. Die beiden Platinenhälften könnten auch getrennt werden. Stromlauf hierzu.
  3. Projekt 02/2011-2: Kompakte Lösung ohne RS232, wahlweise mit USB-Umschaltung über Signal OnBattery, für Betriebsart 1 und 2. Die USV-Anschaltung erfolgt entweder über RJ50 (10P10C; Betriebsart 1 und 2) oder über USB-A-Buchse (APC-Kabel; nur Betriebsart 1). Die bestückte Musterplatine 02/2011 ist in Bild 5 rechts dargestellt (hier noch in der Version ohne zusätzliche USB-Buchse). Platinenmaße ca. 62x34 mm, passend für Gehäuse Strapubox 2744. Stromlauf hierzu.

01/2010 02/2011

Bild 5: Die beiden Varianten 01/2010 (links, teilbestückt) und 02/2011 (rechts)

Zu den Projekten 01/2010 und 02/2011-2 kann ich Bauunterlagen bereit stellen (Layout mit SprintLayout). Für die Kompaktversion 02/2011-2 kann ich evtl. auch eine professionelle Platine und/oder einen Teilesatz zur Verfügung stellen.

02/2011 USB Umschalter02/2011Leiterplatte und Stromlauf für 02/2011-2

Kompatibilität

Der Umschalter funktioniert an meiner Back-UPS CS650 (Bj. 2009) zusammen mit dem Netgear ReadyNAS Duo in beiden Betriebsarten. Beim Test mit den CS350 und CS500 älterer Bauart (2006 bzw. 2003) ist mir aufgefallen, dass deren für die Betriebsart 2 notwendige OnBattery-Signal nicht geeignet ist. Wenn bei denen nämlich am USB-Port die USB-Spannung (+5V) ansteht, wird das Signal abgeschaltet bzw. entsteht gar nicht erst. Dann "flattert" die LED auf dem Umschalter, wenn ein Gerät an USB2 steckt (auch bei ausgeschalteter USV). Es sieht so aus, als ob das Signal bei USB-Kommunikation intern anderweitig genutzt wird (vielleicht derselbe Port wie der USB-Kanal?). Da das bei der neueren CS650 nicht der Fall ist, liegt es möglicherweise an einer älteren Schaltung.

Die Projekte 01/2010 (mit RS232) bzw. 02/2011-2 (kompakt) arbeiten nach demselben Prinzip. Entscheidend ist (sofern Betriebsart 2 genutzt werden soll), dass das Signal OnBattery ("auf Batterie umgeschaltet") ein Signal ist, das ca. 9-12 V (aktiviert) bzw. 0 V (deaktiviert) liefert und auch zur Verfügung steht, wenn die USB-Verbindung besteht. Das scheint bei den USV-Geräten von APC nicht immer der Fall zu sein. Die Umschaltung kann zwischen 2 PC oder zwischen einem PC und einem NAS erfolgen. Bedingung für den NAS ist, dass er mit der USV direkt kommunizieren kann (um herunter fahren zu können). Bei den ReadyNAS Duo von Netgear ist laut Hersteller eine Kompatibilität zu mehreren APC-USV gegeben (siehe Netgear Kompatibilitätsliste).

Um den Umschalter einsetzen zu können, muss natürlich die Daten-Schnittstelle mit dem RJ50-Stecker zur Verfügung stehen. Es ist nicht immer gleich klar, bei welchen APC-Geräten das der Fall ist, weil die Signale ja nur für die "serielle" bzw. RS232-Schnittstelle vorgesehen sind, die mittlerweile als veraltet gilt und sicher nur noch aus Kompatibilitätsgründen mitgeführt wird. In den Beschreibungen wird sie fast nie erwähnt. Wenn nur die Betriebsart 1 benötigt wird (also ohne OnBattery), kann beim Projekt 01/2010b (rechter Platinenbereich im Bild 5 links) und beim 02/2011-2 (Kompaktversion) auch das APC-USB-Kabel statt dem RJ50 angesteckt werden.

Funktionierende Geräte/Konfigurationen (Betriebsart 1 & 2)

Eingeschränkte Funktionalität für Geräte/Konfigurationen (nur Betriebsart 1)

Nicht funktionierende Geräte/Konfigurationen

(ich nehme hier gerne weitere Konfigurationsbeispiele auf, wenn sie mir berichtet werden)

Bauteilebeschaffung

Zur Beschaffung von Steckern und Kabeln siehe meine Hinweise unter Bezugsquellen. Bei den Bezeichnungen für die Western-Stecker und -Buchsen geht es leider ziemlich durcheinander. Die 8-poligen mit 8 Kontakten (8P8C) heißen eigentlich RJ48 oder RJ49, die 10-poligen (10P10C) RJ50. Leider findet man für alle Varianten unterschiedliche Bezeichnungen, meist sogar "RJ45". Einzig die Bezeichnung "10P10C" ist zuverlässig zur Unterscheidung geeignet, für die benötigte Variante zum Anschluss an die USV. Nachzulesen etwa im Wiki.

Hinweise zur Hardware-Dimensionierung

Weitere Hinweise

(Entwicklungsstand: 6/2011, zuletzt geändert 10.10.2021)

[ Übersicht | SiteMap | Verkäufe Akt. | Verkäufe Hist. | EURACOM | GPS Navigation | M4650CR | M9803R | Back-UPS | Oki C5400 | GS9000 | WebLog | Bauprojekte | Impressum & Kontakt ]

nach oben Menü Home

© Reinhard Weiß 2021 - letzte Änderung: 12.10.2021 19:44 / 5