3 Schaltungen und Funktionen

3.1 Spannungseingang und Verpolschutz

Die Spannungsversorgung kann über ein Barrel Jack oder ein Schraubterminal erfolgen. Da auch bei einem Barrel Jack die Spannungsausgabe auch vom Netzteil verpolt sein kann, ist ein Verpolschutz sinnvoll. Der Verpolschutz wird über einen N-MOSFET bewerkstelligt. Dieser schaltet erst durch wenn am Gate eine positive Spannung anliegt. Da das Gate nur für Spannungen bis 20 Volt ausgelegt ist, muss für höhere Spannungen eine Spannungsbegrenzung erfolgen. Diese Aufgabe übernimmt die Zenerdiode. Eine Strombegrenzung für die Zenerdiode erfolgt durch den 100k Ohm Widerstand.

 

Direkt nach dem Eingangsspannungsanschlüssen befindet sich ein Schraubterminal. Dieses ermöglicht den Anschluss eines Sicherungshalters und eines Einschalters. Dieses Anschlussterminal unterbricht den Stromkreis, was einen Anschluss an dieses Terminal erforderlich macht. Am Ausgang des hier gezeigten Schaltkreises befindet sich ein Elko. Dieser übernimmt die Aufgabe die Spannung zu Stabilisieren.

 

3.2 10V Zwischenspannungsstufe

Um die MOSFETS sicher zu treiben, ist eine gewisse Durchschaltspannung am Gate bereitzustellen. Übliche Größen sind 10 bis 12 Volt. Wie hoch die Durchschaltspannung mindestens sein muss, hängt von den entsprechenden MOSFET ab. Die Zwischenstufe wird des Weiteren zur Spannungsversorgung des Arduinos genutzt. Dieser besitzt einen 5V LDO (Low Drop Out). Um den Spannungshub für den 5 Volt Arduino LDO gering zu halten, wurde sich für die 10 Volt Variante entschieden.

 

Zur Erzeugung der 10 V aus der Eingangsspannung, wird ein 10 Volt LDO (L7810) verwendet. Bei LDOs ist die Verlustleistung entscheidend für den maximalen Ausgangsstrom. Die Angabe von 1,5 Ampere im Datenblatt ist hier mit Vorsicht zu genießen. Die Verlustleistung kann aus der Differenz der Eingangsspannung zur Ausgangsspannung und dem fließendem Strom Abgeschätzt werden.

Die Angabe der maximalen Verlustleistung muss abgeschätzt werden, da im Datenblatt nur „Internally Limited“ angegeben ist. Die maximale Verlustleistung ist des weiteren abhängig von der Umgebungstemperatur. Bei der Angabe des thermischen Widerstandes von 50°C/W und einer maximalen Betriebstemperatur von 150°C und angenommener Umgebungstemperatur von 25°C ergibt sich die maximale Verlustleistung von.

Somit ergibt sich für eine Eingangsspannung von 20V ein maximal möglicher Strom von 250mA für die Versorgung des Arduinos, des LCDs und der Mosfet-Gates. Diese Grenze sollte nur mit extra Kühlkörpern am LDO ausgereizt werden.

 

Die Kapazitäten C6 und C7 dienen zur Stabilisierung der Spannungen. Sie sollten möglichst nahe am LDO platziert werden. Laut Datenblatt sind 0,33uF und 100nF Empfohlen. Da ich nur einen 0,47uF Kondensator als naheliegendsten Kondensator hatte, wurde dieser eingeplant. Bei manchen Kondensatortypen und LDO Kombinationen kann es vorkommen, dass der LDO anfängt zu Schwingen. Bei den hier verwendeten LDOs konnte ich ein solches Verhalten bis jetzt noch nicht beobachten.

 

3.3 Encoder Anschluss und Entprellung

Ein Inkrementalencoder besitzt zwei Kanäle um eine Drehbewegung und ihre Richtung zu ermitteln. Bei dem verwendeten Encodermodul KY-40 handelt es sich um einen mechanischen Encoder. Diese weisen ein Prellverhalten auf. Das bedeutet, dass bei einem wechseln des Schaltzustandes mehrere Signalflanken auftreten. Solche Signalflanken wurden in der nachfolgenden Abbildung mittels eines Oszilloskop ermittelt.

Die Signalflanken können zu fehlerhaften zählen der Encoderimpulse führen. Die Encodersignale benötigen demnach eine Entprellung. Eine softwareseitige Entprellung führt zu Verzögerungen im Mikrocontrollerprogramm. Die Rechenkapazitäten sollen möglichst für die Regelung frei gehalten werden. Eine Hardware Lösung benötigt nur geringfügig mehr Bauteile.

 

Zum filtern der Signale kann hier ein Tiefpass erster Ordnung eingesetzt werden. Dieser lässt sich mithilfe eines Widerstandes und eines Kondensators aufbauen. Die benötigte Zeitkonstante wurde in diesem Beispiel experimentell bestimmt. Die Zeitkonstante bei dem das Signalprellen nicht mehr auftrat, betrug 500us. Die Zeitkonstante des Filters lässt sich wie folgt berechnen.

Da die notwendige Zeitkonstante bekannt ist, ist die notwendige Widerstands Kondensator Kombination zu berechnen. Eine mögliche Kombinationsvariante besteht aus einem 3,3nF Kondensator und einem 150kΩ Widerstand. Andere Kombinationen sind möglich. Zu beachten ist, dass das Encodermodul einen Pullup Widerstand von 10kΩ gegen 5Volt besitzt. Die Einschaltverzögerung fällt dementsprechend höher aus als die Ausschaltverzögerung. Alle Signalleitungen des Encoders sind mit dem Tiefpass zu versehen. Die entprellten Encodersignale sind in der folgenden Abbildung zu sehen.

3.4 Spannungsmessungen

Die Eingangs- und Aussgangsspannungsmessungen gleichen sich. Die Spannungen des Netzteiles sind nicht direkt vom Arduino messbar, da diese die 5V des des Mikrocontrollers deutlich überschreiten. Eine Möglichkeit besteht hier die Spannung über einen Spannungsteiler zu messen. Bei dem hier dargestellten Spannungsteiler sind Spannungen zwischen 0 und 55 Volt möglich ohne die 5 Volt am Analogeingang des Arduinos zu überschreiten. Die 4,7 Volt Zenerdiode, dient als Überspannungsschutz des Analogen Pins.

 

3.5 Display Anschluss

Das Display kann aus konstruktiven Gründen nicht direkt an die Platine angeschlossen werden. Um einen vernünftigen Anschluss zu haben, wurde eine 10 polige IDC Buchse auf der Platine verbaut. Der 560 Ohm Widerstand begrenzt die Stromaufnahme der Displaybeleuchtung. Hier kann auch ein anderer Wert zwischen 330 und 1000 Ohm verwendet werden.

 

3.6 Der DIY Gatetreiber

Ein Gatetreiber ist ein Bauelement um das Gate eines Mosfets auf ein bestimmtes Spannungspotential zu bringen und somit den Mosfet durchzuschalten oder zu sperren. Hierfür gibt es fertige ICs die diese Aufgabe sicher übernehmen. Es spricht viel dafür einen solchen fertigen IC zu verwenden. Im Vergleich zum hier vorgestellten DIY Gatetreiber, haben solche ICs die Vorteile von höheren Schaltströmen, schnelleren Schaltzeiten, besseren Verriegelungsmechanismen, Platzersparnis, eventuelle Totzeiten zwischen den Signalflanken für Halbbrücken und mehr als nur 20 Volt sind für die Halbbrücke möglich. Der DIY Gatetreiber kann nur 20 Volt da das Gate des oberen Mosfets gegen GND gezogen wird, das Gate verträgt nur 20 Volt Unterschied . Der Grund sich seinen eigenen Gatetreiber zu bauen ist ein besseres Schaltungsverständnis.

 

3.6.1 Bootstrapping

N-MOSFETs benötigen zum durchschalten eine um die Threshold Voltage höhere Spannung am Gate als am Source Pin. Am unteren MOSFET ist dies kein Problem, da Source gegen Masse geschallten ist. Am oberen MOSFET liegt der Sourceanschluss am Verbraucher an. Über diesen fällt der Hauptteil der Spannung ab. Das Spannungspotential an Source ist demnach ungefähr die Eingangsspannung der Halbbrücke V+. Die Gatespannung des oberen N-MOSFETs muss demnach höher liegen als die Versorgungsspannung.

 

Dieses Problem lässt sich durch die Verwendung eines P-MOSFETs umgehen. P-MOSFETS besitzen höhere Schaltwiderstände und somit höhere Verlustleistungen, weswegen häufig nur N-MOSFETs in der Leistungselektronik verwendet werden. Um die höhere Spannung für den oberen N-MOSFET zu erzeugen, wird eine Technik mit der Bezeichnung „Bootstrapping“ verwendet.

 

Beim Bootstrapping wird eine Kapazität geladen, wenn der untere MOSFET leitend ist. Wird der untere MOSFET nun gesperrt und der obere MOSFET leitend, liegen an der Kapazität nun am negativen Anschluss die Versorgungsspannung V+ an. Da durch die Diode keine Ladungsträger in Richtung 10 Volt Spannungsquelle abgebaut werden können, kommt dieser Zustand einer Reihenschaltung von zwei Spannungsquellen gleich.

Die Diode verursacht einen Spannungsabfall. Diese Spannung fehlt an der Gatespannung und sollte demnach möglichst klein ausfallen. Alternativ kann der Spannungsabfall mit einer ausreichenden Reserve zur Mindestdurchschaltspannung des Mosfets beachtet werden. Die Anforderungen an die Diode sind:

  • möglichst kleiner Spannungsabfall
  • die Schaltfrequenz der Diode ist ausreichend hoch

  • die Diode ist für die Versorgungsspannung ausgelegt

Die Höhe der minimalen Bootstrapp-Kapazität berechnet sich wie folgt.

Quelle:

International Rectifier Application Note AN-978 HV Floating MOS-Gate Driver ICs 

HV Floating MOS-gate Driver ICs (infineon.com) (zugriff am 22.12.2022 )

 

Für die Berechnung wurde für die verwendeten Bauteile folgenden Werte verwendet:

  • Qg = 48 nC (Datenblatt Mosfet Total Gate Charge)
  • f = 20 kHz (Schaltfrequenz)
  • Icbs ca. 0A (bei Keramik Kondensatoren)
  • iqbs ca. 5uA (normalerweise im Datenblatt vom Treiber, hier npn-Transistor)

  • Vcc = 10V (Versorgungsspannung des Gatetreibers)

  • Vf = 0,9V (Spannungsabfall Diode)

  • VLS = 0,1V (bei 5A und Rdson 0,0185 Ohm)

  • Vmin = 5V (max. Threshold Voltage)

 

Bei den Angegebenen Werten ergibt sich eine minimale Bootstrapp-Kapazität von 50 nF.

 

Bei höherer Kapazität, kann die maximale PWM-Aussteuerung für kurze Zeit erhöht werden. Prinzipiell sollte die Schaltung nicht auf die minimale Kapazität ausgelegt werden. Ein Nachteil von Bootstrapping ist, dass die PWM nicht mehr zu maximal 100% ausgesteuert werden kann. Die Kapazität benötigt eine Zeit zum Laden, bei der der Lowside Mosfet geschalten ist. Mit der DIY Variante ist ein Wert von 87,5% möglich (experimentell bestimmt).

Als Kapazität ist es üblich einen Keramik Kondensator zu verwenden. Elkos besitzen einen höheren Leckage Strom.

 

3.6.2 Die Transistorschaltung

Für den Gatetreiber kommen hier zwei npn – Transistoren vom Typ BC547B zum Einsatz. Andere npn Transistoren sind denkbar. Sie müssen die folgenden Mindestanforderungen erfüllen:

  • Schaltfrequenz von 20 kHz sicher schalten
  • Für den Spannungsbereich der Bootstrappschaltung ausgelegt sein 
  • Eine Strombelastbarkeit von mindestens 100mA
  • Der Stromverstärkungsfaktor sollte mindestens 200 betragen

Die Gatespannung ist über einen 1 kΩ Widerstand gegen 10V oder die Bootstrapspannung geschallten. Wird einer der Transistoren geschallten, wird das jeweilige Gate Potential gegen GND gezogen. Der 43 Ω Widerstand begrenzt hierbei den fließenden Strom für den Transistor. Bei der vorgestellten Schaltung entsteht eine Begrenzung von 20V Versorgungsspannung für die Halbbrücke! Die Begrenzung resultiert dadurch, dass das obere Gate gegen GND gezogen und nicht gegen die Sourcespannung des oberen Mosfet geschaltet ist. Die Differenz zwischen Gate und Source darf 20V nicht überschreiten. Der Schaltungsaufbau wurde als Minimaldesign gewählt. Für höhere Spannungen, muss die Schaltung angepasst werden.

 

Dieser Gatetreiber verursacht einen Kurzschluss zwischen den beiden Mosfets, wenn kein Schaltzustand definiert ist. Um dies zu vermeiden wird ein 47kΩ Widerstand zur Verriegelung verwendet.

 

Besitzt der untere Mosfet am Gate ein 10V Signal, wird dieses auf die Basis des High-Side Transistors zurück gekoppelt. Über den 47 kΩ  Widerstand fließen jetzt im besten Fall etwa 200uA. Durch die Stromverstärkung des Transistors ergibt das schon etwa 40 mA . Das Gate des oberen Mosfets, wird demnach auf GND gezogen, solange der untere Mosfet am Gate ein 10V Signal besitzt. Die Verriegelung ist zu langsam für den Betriebsfall. Sie ist für statische Zustände gedacht. Eine Totzeit zwischen den Signalflanken ist bei der Programmierung zu berücksichtigen.

 

Im Schaltplan ist eine Diode B49? zu sehen. Bei Simulationen traten negative Schaltzustände durch die Induktivität an der Basis der Transistoren auf. Um diese zu vermeiden, wurde zur Sicherheit eine Schotkydiode mit einem Spannungsabfall von 0,3V eingebaut. Die Bezeichnung der Diode ist unbekannt. Es Handelt sich um eine Diode aus meiner Bastelkiste die ich nicht mehr eindeutig zu identifizieren ist. Die Diode besitzt die Aufschrift B49 und hat die Bauform SOD-123 und einen Spannungsabfall von 0,3 Volt.

 

Zum Mikrocontroller sind die Signale über einen 10 kΩ Widerstand verbunden. Bei 5 Volt Logikspannung und einer Verstärkung der Transistoren von 200, ergibt sich ein Treiberstrom von 100 mA. Bei der Ansteuerung ist die Invertierende Logik des Treibers zu berücksichtigen. Ein High Signal bei der Logik, bedeutet einen Abgeschalteten Mosfet. Die Steuersignale sind in der folgenden Abbildung zusehen:

 

resultierende Gatespannungen:

Bei der Abbildung sind 3us Einschaltverzögerung des unteren Mosfets zu erkennen. Dieses Verhalten ist auf parasitäre Kapazitäten des Schaltungsaufbaus zurückzuführen. In der folgenden Abbildung sind die Signalspannungen an der Basis des Transistors zu sehen.

3.7 Buck Konverter und Strommessung 

Zur Spannungswandlung wird eine Buck Konverter Schaltung verwendet. Die Verwendung von N‑Mosfets macht es erforderlich, dass eine Komplette Halbbrücke aufgebaut werden muss (laden der Bootstrapkapazität). Mit einem P-Mosfet und einer Leistungsdiode kann eine ähnliche Schaltungsfunktion erreicht werden.

 

Bei einen Spannungswandler, wird eine höhere Eingangsspannung durch Ein- und Ausschalten, auf eine geringere Spannung transformiert. Die Induktivität verzögert den Strom, die Kapazitäten stabilisieren die Ausgangsspannung. Die Verwendung von zwei Kapazitäten ermöglicht höhere Ströme.

Zur Messung der Ausgangsströme wird ein ACS Modul für 20 Ampere verwendet. Der Pinheader und der Terminalblock sind vorher abgelötet und das verbleibende Modul auf die Platine angelötet.

 

3.8 Arduino Beschaltung

Die noch freien Pins A2 bis A5 sind auf einen Reserve Pin-Header geführt.