Das Einschalten des HV-DC-Relais stürzt den Mikrocontroller ab

Also habe ich eine Platine für eine Vor-/Entladeschaltung für ein 400-V-DC-System entworfen, das von einem STM32-Mikrocontroller gesteuert wird. Beim Einschalten wartet das Programm 1s und beginnt dann mit dem Schalten des (Vorlade-)Relais auf der Leiterplatte und eines der Akkumulator-Isolationsrelais (AIR), damit Strom durch einen 1k-Widerstand in die Kondensatoren des Systems fließen kann. Nach einer berechneten Zeit schließt der zweite AIR und vervollständigt einen Stromkreis ohne den Widerstand.

Beim Testen der Schaltung ohne angeschlossene Last funktioniert alles einwandfrei, aber mit dem Akku auf der einen Seite und der Last auf der anderen Seite bleibt der Mikrocontroller anscheinend in einer Art Schleife hängen, in der das erste Relais geschaltet, dann zurückgesetzt und das Relais freigegeben wird, und bald.

Unten ist das grundlegende Schema, wie die Stromversorgung gehandhabt wird und die Schaltung verwendet wird, um alle Relais zu schalten.

Wie kann ich verhindern, dass die Relais klappern? Was verursacht das in meiner Schaltung?

Schaltungsübersicht Geben Sie hier die Bildbeschreibung ein

Layout:

Geben Sie hier die Bildbeschreibung ein

Wie viel Trennung haben Sie zwischen den 400-V-Leitungen und dem Rest der Schaltung, und sind diese Erdungen vollständig getrennt?
Wenn Sie die HV-Leiterbahnen meinen, die das Vorladerelais mit den Anschlüssen auf der Platine verbinden, sind sie> = 15 mm von anderen Leiterbahnen entfernt. Die Erdungen sind separat und werden von einem Isolationsmessgerät überwacht.
Ich gehe davon aus, dass der 400-V-Schalter irgendwie zurückkoppelt. Sie müssten es untersuchen, um es zu sehen.
Ja das ist was passiert.
Trotz Ihrer ausgezeichneten und gut geschriebenen Frage versuche ich langsam, Teile davon zu extrahieren :-) Wollen Sie damit sagen: Wenn Ihr Relais öffnet / schließt, schaltet es 400 VDC und Ihre MCU reagiert zuerst nicht mehr und setzt sich dann selbst zurück? Öffnet das Relais und unterbricht den 400-VDC-Stromkreis? Oder wenn es schließt und den 400-VDC-Stromkreis herstellt?
Öffnet das Relais und unterbricht den 400-VDC-Stromkreis? Oder wenn es schließt und den 400-VDC-Stromkreis herstellt?
Anordnung anzeigen. Bodenebenen anzeigen.
Hier ist das Layout, da ich es nicht zum Beitrag hinzufügen konnte. link Bitte beachten Sie, dass in der ersten Version die Masseebenen fehlten.
@TonyM Wenn das Relais im ersten Schritt den 400-VDC-Stromkreis schließt
Grundplatte fehlt! Aber wenn Sie auf Tony hören und es möglich ist, die Flanke deutlich zu verlangsamen, schaffen Sie es vielleicht noch.
Klingt nach Formula Student Safety Circuit lol
Uns ist das gleiche passiert und sogar der gesamte CAN-Bus funktioniert nicht mehr, wenn das Zugsystem unter Spannung steht. Kann die Lösung immer noch nicht finden. Wie hast du es gelöst?

Antworten (2)

Ich würde vorschlagen, dass das Relais beim Schließen / Öffnen und Herstellen / Unterbrechen der 400 VDC möglicherweise eine EM-Welle erzeugt, die Ihre MCU zum Absturz bringt oder anhält.

Ich würde diese Möglichkeit prüfen.

Sie können versuchen, Snubber über Ihre Relaiskontakte hinzuzufügen. Dabei handelt es sich traditionell um ein RC-Netzwerk, das die Energie absorbiert, die andernfalls über die Kontakte schlagen würde. Möglicherweise gibt es andere, modernere Kontaktunterdrücker, die Sie ausprobieren können.

Es mag nicht der gleiche Grund sein, aber fürs Protokoll...

Ich hatte vor vielen Jahren ein großes Problem mit einem Design, bei dem ein mechanisches Relais das Netz auf einen Wechselstrommotor umschaltete. Als das Relais öffnete, fror unser Mikroprozessor (MPU) vollständig ein. Es gab keine Busaktivität und nur das Durchschalten der Stromversorgung ließ die MPU sich erholen. Dies war ein wiederholbarer Fehler und trat auf sechs Testmaschinen auf. Ich brauchte zwei Tage Jagd, um die Ursache zu finden. Als ich es mit ausgeschaltetem Licht versuchte, bemerkte ich den Funken über den Relaiskontakten. Das Relais begann tatsächlich zu schalten, als das Netz auf etwa 80 VAC gefallen war, nicht bei der vollen 340-V-Spitze des 240-V-Netzes.

Beachten Sie, dass sich die Mikroprozessorplatine auf einer Seite einer hervorragend geerdeten, großen (vielleicht 800 x 600 mm) 4 mm dicken Stahlplatte befand. Das Relais befand sich auf der anderen Seite der Platte, etwa einen Fuß tiefer und zwischen mehr geerdetem Stahl. Das ganze geerdete Metall hat das Problem nicht behoben.

Wir benötigten die vollständige Trennung eines mechanischen Relais aus anderen Gründen, also entwarf ich eine Platine, um ein SSR in Reihe mit dem Relais und damit mit dem Netz zum Motor zu schalten. Die Platine steuerte die zeitliche Abfolge der Relais (EIN war: Relais an, 10 ms Kontaktweg warten, SSR an; AUS war: SSR aus, 20 ms für das Netz, um den nächsten halben Zyklus mit Marge zu kreuzen, Relais aus). Dies löste es und wir haben mindestens 20.000 Einheiten dieser Maschine ohne weitere Probleme hergestellt.

Monate später sahen wir ein weiteres Einfrieren des Mikroprozessors, als ein isoliertes Metallteil eine große statische Ladung aufnahm und später die geerdete Stahlkonstruktion berührte. Die Funkenbildung/Berührung und Entladung in die Erde hat den Mikroprozessor jedes Mal umgeworfen. Bis dahin haben wir danach Ausschau gehalten und das Metallteil geerdet, den Ladevorgang gestoppt und das Problem behoben. Wir haben eine statische Entladungspistole verwendet, um alles zu beweisen, indem wir unsere Erdungsstreifenfixierung entfernt und wieder angebracht haben und beobachtet haben, wie das Problem zurückkam und verschwand.

Viele Informationen fehlen, aber hier sind einige Dinge zu beachten:

  1. Platzieren Sie Mikrocontroller-Entkopplungskondensatoren in der Nähe der Versorgungsstifte
  2. Fügen Sie einen stärkeren Pull-Up am Reset-Pin hinzu
  3. Kondensator zum Reset-Pin hinzufügen
  4. Fügen Sie eine Masseebene in der Nähe von sensiblen Bereichen hinzu
  5. verbreitern Sie die Gleise und versuchen Sie Schleifen auf der Hochspannungsseite zu erlassen