DIY – Frequenzgenerator (PWM)

Vorgeschichte

Meine Leidenschaft für die „Bastelei“ mit Micro-Controllern hat mittlerweile auch in meiner beruflichen Tätigkeit als Prüfstandstechniker Einzug gehalten. So ist innerhalb der letzten Jahre das eine oder andere „Helferlein“ für die Erleichterung unserer täglichen Arbeit und das Meistern von speziellen Mess- und Prüfaufgaben entstanden. Der Anstoß für die Entwicklung eines neuen Gerätes war dabei meist der einfache Fakt, dass für die Umsetzung der benötigten Messungen keine Hardware verfügbar, oder die verfügbare Hardware für die Aufgabe nicht genau passend war. Da dieser Umstand beim Testen von Einzelkomponenten oder Teilgruppen relativ häufig vorkommt, fand ich immer wieder neue Herausforderungen und konnte somit auch Dinge realisieren, welche ich so in dieser Art vorher noch nicht umgesetzt hatte. So war zum Beispiel meine erste CAN-Bus Anwendung eines dieser Bastelprojekte.

Ein weiterer großer Vorteil dieser „Eigenanfertigungen“ ist, dass ich die zum Betrieb benötigten Ein- und Ausgaben direkt an die von unseren Prüfständen zur Verfügung gestellten Eingangs- und Ausgangsschnittstellen anpassen kann. So wurde bei den meisten meiner „schwarzen Kästchen“ die Steuerung per analogem Eingangssignal im Bereich von 0V – 10V realisiert, während die Rückgabe der Einstell- und Messwerte meist per CAN-Bus erfolgte. Dies ist dem Umstand geschuldet, dass der Treiber des verwendeten Messsystems nur auf dem CAN-Eingang des Prüfstandes lesen, aber nicht senden kann.

 

Anforderung universell einsetzbarer Frequenzgenerator

In der Vergangenheit gab es immer wieder die Anforderung Magnetventile, Motoren oder andere elektrische Komponenten mit einer vorzugebenden Frequenz – Tastverhältniseinstellung, also per Pulsweitenmodulation* / PWM* (https://www.elektronik-kompendium.de/sites/kom/0401111.htm), betreiben zu können.

Da die Digitalausgänge unser Prüfstandshardware keine hohen Schaltströme zulassen, wurde für die Ansteuerung von elektrischen Bauteilen meist eine Kombination aus vorgeschaltetem Reed-Relais und nachgeschalteten Kfz-Last-Relais verwendet. Leider ließen sich mit dieser Kombination keine hohen Schaltfrequenzen realisieren (max. ca. 30Hz bis 50Hz), was dazu führte, dass für Schaltanforderungen mit höheren Frequenzen meist Fahrzeugsteuergeräte und Kabelbäume aufgebaut, und die Ansteuerung kompliziert über deren Software realisiert werden musste.

Meine erste Idee war, den Relaisverbund durch ein Metall-Oxid-Halbleiter-Feldeffekttransistor* (kurz: MOSFET) zu ersetzen, womit sich die Schaltfrequenz um ein vielfaches erhöhen lässt und einer direkten Ansteuerung nichts mehr im Weg steht. Da ich bereits für andere Schaltaufgaben MOSFETs verwendet hatte, passte ich eine dieser Schaltungen an die neuen Anforderungen an. Als wir diese Schaltung am Prüfstand testeten, stellten wir jedoch fest, dass mit den digitalen Ausgängen der Messkarten keine stabilen Frequenzsignale erzeugt werden konnten. Hierbei liegt das Problem jedoch weniger an der Hardware selbst, sondern eher an dem in der Prüfsoftware eingestellten Software-Takt, welcher bei höherer CPU-Auslastung ab und an ins Stocken geriet. Dies war bei der Ansteuerung eines Magnetventils hörbar und auch in den aufgezeichneten Messdaten sichtbar.

Da man hiermit keine vernünftigen Messergebnisse erzeugen konnte, kam ich auf die Idee, die Ansteuerung von Frequenz und Tastverhältnis über einen Micro-Controller zu realisieren. Dieser sollte auf Grund seiner internen Timer und der hardwarenahen Programmierung problemlos ein stabiles PWM-Signal erzeugen können.

 

Umsetzung

Da sowohl die Frequenz, als auch das Tastverhältnis über den Prüfstand einstellbar sein sollten, habe ich von Anfang an die Möglichkeit einer „Fernsteuerung“ der beiden Vorgabewerte eingeplant. Die einfachste Art der Umsetzung hierfür war, die analogen Ausgänge der Prüfstandshardware, welche eine Spannung im Bereich von 0V bis 10V ausgeben können, als Eingangssignale für die Vorgabewerte zu nutzen. Für diese Aufgabe stehen am Micro-Controller Analogeingänge zur Verfügung, welche allerdings nur für einen maximalen Spannungspegel von 5V ausgelegt sind. Um die im Prüfstandsbereich üblichen Spannungen zwischen 0V und 10V nutzen zu können, „skalierte“ ich mittels eines einfachen, aus 2 Widerständen bestehenden, Spannungsteilers die maximale Ausgangsspannung der Hardware (10V) auf die maximale Eingangsspannung des Micro-Controllers (5V).

Somit kann die Ansteuerung von Frequenz und Tastverhältnis für jeden Anwender relativ einfach in die Prüfstandssoftware integriert werden. Die Skalierung von Vorgabespannung (0v – 10V) zur maximalen Frequenz (0Hz – 500Hz [durch ändern der µC-Parametrierung änderbar]), respektive zum maximalen Tastverhältnis (0% – 100%) ist hierbei linear, was den Einsatz einer einfachen 2-Punkt-Skalierung ermöglicht. 

Skalierung der Vorgabewerte auf die 5V des Analogeingangs

 

 

Wie man an der Grafik gut erkennen kann, hat diese Methode leider einen Nachteil. Mit steigender Höhe des Wertebereiches, sinkt auch die Auflösung der einzelnen Einstellwerte, womit es zunehmend schwieriger wird jeden einzelnen Einstellwert genau anzufahren. Hat man beim Tastverhältnis noch 50mV (5V / 100Werte = 0,05V = 50mV) pro ganzzahligem Einstellwert zur Verfügung, so sind es bei der Frequenz von 500Hz nur noch 10mV (5V / 500Werte = 0,01V = 10mV). Dies in Verbindung mit der Skalierung führt unter Umständen dazu, dass nicht mehr alle Einzelwerte genau angefahren werden können. Da die Prüfstandssoftware, wie bereits erwähnt, aber leider keine andere Kommunikationsmöglichkeit zur Verfügung stellt, musste ich vorerst mit dieser Einschränkung leben.

Um Ungenauigkeiten bei den Messungen vermeiden und reproduzierbare Messergebnisse erzeugen zu können, verbaute ich für die Rückgabe der tatsächlich eingestellten Vorgabewerte ein CAN-Bus Modul. Dies hat zum einen den Vorteil, dass für mehrere Messwerte nur 1 Kanal des Messsystems belegt werden muss und zum anderen können durch diese Übertragungsmethode die Rückgabewerte nicht verfälscht werden, da keine Skalierung des Signals erfolgt. Außerdem ist somit ein Umbau auf Änderung der Vorgabewerte via CAN-Bus, falls dies irgendwann durch die Prüfstandssoftware / Treiber unterstützt werden sollte, durch einfache Anpassung der µC-Software möglich.

 

elektronischer Aufbau

Der Umfang des elektronischen Aufbaus der Schaltung war somit festgelegt. Um auch höhere Ströme problemlos schalten zu können, verwendete ich als MOSFET ein (IRL3803)*, welches Ströme bis 140A schalten kann, was für den Anwendungsbereich mehr als ausreichend sein sollte. Da es sich beim verwendeten Typ um ein n-Channel-MOSFET handelt, muss die zu schaltende Last vor diesem auf der Plus-Seite der Schaltung platziert werden. Man spricht hierbei auch von einem Low-Side-Switch.

Um den Anschluss am Prüfstand zu erleichtern, brachte ich am Gehäuse des Frequenzgenerators 4 Laborbuchsen (Bananenbuchsen) an. Jeweils 2 Stück auf der rechten und 2 Stück auf der linken Seite des Gehäuses. Die Buchsen auf der linken Seite dienen hierbei sowohl als Versorgungspannungseingang für den Vorgabegenerator, als auch für die Spannungsversorgung des anzuschließenden Verbrauchers. Da der Micro-Controller nur mit einer maximalen Versorgungsspannung von 5V betrieben werden darf, die anzuschließenden Verbraucher jedoch mit im Kraftfahrzeug üblichen 12V – 14V, oder teilweise sogar 24V versorgt werden müssen, verbaute ich vor dem Versorgungseingang des Micro-Controller einen Step-Down-Converter, welcher die Versorgungsspannung auf die benötigten 5V einregelt.

Der Plusausgang zum Verbraucher, welcher sich auf der rechten Seite des Gehäuses befindet, ist somit lediglich eine Verbindung zwischen (+)Ein- und (+)Ausgangsseite, während sich im minus oder Ground-Anschluss der Ausgangsseite das MOSFET befindet. Dies bietet den Vorteil, dass zum Betrieb von Micro-Controller und angeschlossenen Verbraucher nur eine Spannungsquelle (Labornetztteil) benötigt wird und beide Verbraucherleitungen einfach an die Box angeschlossen werden können. Dies erleichtert die Handhabung, da die Reihenschaltung (+ –> Verbraucher –> MOSFET –> -) in der Box erfolgt und nicht durch den Anwender realisiert werden muss.         

 

Schaltplan Vorgabegenerator inkl. Ein- und Ausgänge

 

Nachträglich umgesetzte Bedienmöglichkeit ohne Prüfstandsanbindung 

Da es durchaus des Öfteren vorgekommen ist, dass wir (in den meisten Fällen ich selbst) den Frequenzgenerator zum Testen von Bauteilen auch ohne Prüfstandsaufbau betreiben wollten, kam mir die Idee, diesen um ein Touch-Display zu erweitern, auf welchem zum einen alle Einstellwerte angezeigt, und zum anderen der aktuelle Betriebsmodus (Prüfstand / manueller Modus) und, falls auf manuellen Modus eingestellt, die Einstellwerte verändert, respektive angepasst werden können. Um den verwendeten Micro-Controller nicht unnötig mit der Grafikberechnung zu belasten, setzte ich hierbei auf ein bereits häufiger von mir eingesetztes Nextion-Display*, da dieses einen eigenen Grafik-Controller besitzt. Die komplette Kommunikation zwischen Display und Micro-Controller erfolgt über die serielle Schnittstelle beider Komponenten, womit für den Micro-Controller keine Performancenachteile entstanden sind. So war es nachträglich und ohne großen Aufwand möglich, den Vorgabegenerator zu einem eigenständigen Hilfsmittel für den Prüfstandsbedarf „upzugraden“.

 

Bedienanzeige (Nextion-Display) für die Vorgabeeinstellung ohne bestehende Prüfstandsverbindung

 

Test der Genauigkeit

Ein für mich sehr wichtiger Teil war der Test der Genauigkeit meines Frequenzgenerators. Hierfür verwendete ich ein geeichtes Frequenzmessgerät und zeichnete außerdem hochabgetastete Testmessungen bei verschiedenen Frequenz – Tastverhältniskombinationen auf, welche ich anschließend am PC auswertete. Dabei beschränkte ich mich auf einen Bereich von 5Hz bis 2kHz, da hier die meisten Anwendungsbeispiele auftreten sollten. Außeneinflüsse wie schwankende Temperatur lies ich bei meinen Tests außer Acht, da diese im Anwendungsbereich immer annähernd einer normalen Umgebung entsprechen. 

Die Ergebnisse waren durchweg positiv und alle eingestellten Werte wurden durch den Micro-Controller hervorragend eingesetzt, womit ich diese „Bastelei“ auch guten Gewissens auf die „Menschheit“ loslassen konnte. 

 

Signalprüfung bei 5Hz und 50% Tastverhältnis

 

 

Signalprüfung bei 100Hz und 25% Tastverhältnis

 

 

Signalprüfung bei 200Hz und 50% Tastverhältnis

 

Materialkosten und Dauer von der Idee bis Fertigstellung      

Für die Umsetzung aller Aufgaben, inkl. Anfertigung der Platine, Anpassung des Gehäuses, der Programmierung des Micro-Controllers und den Tests der Genauigkeit habe ich ca. 80 – 100 Arbeitsstunden benötigt. Die Materialkosten belaufen sich hierbei auf ca. 50€, wobei circa die Hälfte davon bereits auf das Nextion-Display* entfällt.  

 

 

Anmerkung

Die technische Umsetzung des Frequenzgenerators war keine Auftragsarbeit meines Arbeitgebers! Vielmehr handelt es sich hierbei um eine freiwillige Leistung, welche außerhalb meiner vereinbarten beruflichen Aufgaben und Qualifikationen liegt. Die verwendeten Bauteile stammen, bis auf das verwendete Kunststoffgehäuse, alle samt aus meinem privaten Besitz und wurden von mir als Privatperson käuflich erworben. Da weder der genaue Einsatzbereich, noch andere meine berufliche Tätigkeit betreffende Informationen in diesem Beitrag genannt wurden, veröffentliche ich diesen mit dem besten Gewissen, keine meiner arbeitsvertraglichen Pflichten als Arbeitnehmer verletzt zu haben.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert