Hallo zusammen, ich bin gerade dabei eine kleine Schaltung zu bauen in Relais beschaltet werden sollen (8 Stück). Da ich welche rumliegen hatte habe ich zur Ansteuerung ein NXP BSH108 N-MOSFET verwendet. Ein Relais-Kontakt liegt auf 5V, das MOSFET zwischen dem Anderen Kontakt und Masse (+Freilaufdiode!). Das Gate habe ich direkt an einen IO-Pin von meinem Microcontroller (NXP LPC11C24) geklemmt. An dem Gate ist außerdem noch 10k gegen Masse geschaltet (damit das Relais im RESET nicht schaltet). Einen Vorwiderstand am Gate habe ich mir gespart, da a) die Gate-Kapazität mit 6nC sehr klein ist b) sehr kleine Schaltfrequenzen zu erwarten sind c) der MOSFET direkt am µC positioniert ist d) ich das schon immer so mit dem BSH108 gemacht habe. Leider ist es nun aber so, dass meine IO-Pins nach der Reihe abrauchen (HIGH-Pegel erst 3.3V, dann 0.6V, dann 0.0V). Zunächst habe ich das nur an den Pins beobachtet die auch mit einem AD-Eingang gemultiplext sind, nun ist aber auch ein anderer ausgefallen. Hat jemand eine Idee warum das so ist? Sollte das wirklich schon der Umladestrom vom Mosfet sein der hier meine IO grillt?
Lukas schrieb: > Hat jemand eine Idee warum das so ist? Das Gate ist nicht der mittlere Pin. Das sieht nur im Schaltbild so aus.
Kann der MOSFET auch von Hand durchgeschaltet werden ? Prüfe das mal.
Also, wie man da Ding beschaltet weiß ich. Und das funktioniert auch, wenn ich manuell 3V3 aufs Gate gebe schalten die Dinger 1A durch. Dasselbe gilt für die 5 Kanäle die NICHT mit einem AD-Kanal gemultiplext sind (der eine war ein Fehlalarm - kalte Lötstelle) - hier arbeitet alles wie es soll. Nur die Kanäle die mit nem AD gemultiplexed sind sind hinüber. Hab man einen MOSFET rausfefluppt, da kommen nur noch 0,7V raus.
dann hast du wohl selber bewiesen, dass diese Pins nicht die erforderliche Leistung bringen können!
Lukas schrieb: > Hat jemand eine Idee warum das so ist? Wie kommst du auf die Idee, daß sich ein BSH108 von den 3.3V eines LPC11C24 voll durchsteuern lässt ? Der hat schlechtestensfalls schon 3.2V Threshold-Voltage. Ich denke, der BSH108 brennt durch und nimmt dann den uC-Pin mit. Kontrollieren also ob die BSH108 überhaupt noch funktionieren, und nimm nächstens mal Transistoren, die auch bei 2.9V/2.5V schon durchschalten, wie IRLML2502
Michael B. schrieb: > Lukas schrieb: >> Hat jemand eine Idee warum das so ist? > > Wie kommst du auf die Idee, daß sich ein BSH108 von den 3.3V eines > LPC11C24 voll durchsteuern lässt ? Der hat schlechtestensfalls schon > 3.2V Threshold-Voltage. Ja, im schlechtesten Fall bei -55°C ;-) Bei 25°C sind es im schlechtesten Fall 2V, normal 1,5V die erreiche ich locker. Abgesehen davon wird nur ein Id von 38mA geschaltet. > Kontrollieren also ob die BSH108 überhaupt noch funktionieren Jepp, wie gesagt schaltet der prima wenn ich 3,3V dran halte. > und nimm nächstens mal Transistoren, die auch bei 2.9V/2.5V schon > durchschalten, wie IRLML2502 Liegt es doch an dem Umladestrom, habe ich damit eine schlechtere Wahl getroffen, da die Gate-Kapazität höher ist.
Geiz ist geil, wir sparen wo wir nur können - koste uns das Einsparen der Gatewiderstände auch gleich den ganzen µP ... Mann mann mann, wo lernt man heutzutage so ein Hardwaredesign?
Ralf D. schrieb: > Mann mann mann, wo lernt man heutzutage so ein Hardwaredesign? Das ist es nicht! Es liegt am Denken. Beispiel: Erste Annahme, Wahrscheinlichkeit 0,8 Darauf aufbauend, zweite Annahme, Wahrscheinlichkeit 0,8 Nächste Annahme... gleiches Muster Also: Dreistufige, logische Gedankenkette, Gesamtwahrscheinlichkeit eines Treffers: 50% Schlussfolgerung: Ab 3 Stufen wird das Denken unsinnig. ;-) Sorgfalt und Disziplin können das Problem mildern.
> Geiz ist geil, wir sparen wo wir nur können - koste uns das Einsparen > der Gatewiderstände auch gleich den ganzen µP ... > > Mann mann mann, wo lernt man heutzutage so ein Hardwaredesign? Danke, sowas wollte ich jetzt hören. Mir tut weder der µC noch die Widerstände weh. Auch habe ich keine Schmerzen ne neue Platine zu bestellen. So ist das mit dem Hobby halt. Spaß kost. In diesem Layout hab ich die Widerstände einfach vergessen, vorgesehen war eigentlich ein BC846. Da der Widerstand im Layout aber vergessen gegangen ist, hab ich eben (wie zuvor schon am PWM-Output des LPC1758) einfach den MOSFET versucht - evtl. könnte man sich ja zunächst die Kosten für ein neues Layout sparen. Anscheinend auf diesem Weg keine Gute Idee. > Sorgfalt und Disziplin können das Problem mildern. Da hast du grundsätzlich recht - als Hobbybastler hab ich dafür leider nicht immer Zeit.
Lukas schrieb: > Mir tut weder der µC noch die > Widerstände weh. Auch habe ich keine Schmerzen ne neue Platine zu > bestellen. So ist das mit dem Hobby halt. Spaß kost. Naja -man muß aber nicht mit Macht die Bauelemente kaputtmachen -da stecken Arbeitszeit und Mühe von Leuten (und Automaten) dahinter. Mit ein wenig Überlegung und ohne zu überstürzen geht's besser. Lukas schrieb: > -als Hobbybastler hab ich dafür leider > nicht immer Zeit. Bist Du auf der Flucht oder ist das ein Hobby? ;-) MfG Paul
;-) Ein Hobby. Das Problem ist folgendes: Neben Beruf, Familie und Eigenheim ist nicht viel Luft. Da hab ich alle 6 Monate mal die Gelegenheit mich mit meinem Hobby zu beschäftigen. Da muss man zunächst etwas Zeit investieren zu rekapitulieren wo man das letzte mal aufgehört hat. Wenn man das mit der nötigen Sorgfalt erledigt um eine 100% Erfolgsgarantie zu haben, bleibt ganz schnell keine Zeit mehr um Fortschritt zu erzielen... Mal sehen, vielleicht hab ich im Winder ja etwas mehr Zeit dafür. Aber mal zum Topic: kleine MOSFETs ohne Vorwiderstand an µC zu bauen ist durchaus keine Seltenheit, auch in kommerziell vertriebener Elektronik - ich hab grad das Gefühl ich hätte einen der trivialsten Fehler der Elektrotechnik überhaupt begangen. Das der Gate-Umladestrom gerade bei größeren MOSFETs und vor allem höheren Schaltfrequenzen ein Problem ist weis ich ja. Wie lässt sich beurteilen ob man nun einen Vorwiderstand brauch oder nicht? Wie muss ein Vorwiderstand in meinem Fall für den BSH108 dimensioniert sein? Die Berechnung für einen normalen Tansistor ist ja simpel, für einen MOSFET tu ich mich da etwas schwer... Gefühlt müssten es so 300-500Ohm tun. Kann das jemand mit einer Formel untermauern?
Lukas schrieb: > Aber mal zum Topic: kleine MOSFETs ohne Vorwiderstand an µC zu bauen ist > durchaus keine Seltenheit CMOS ist auch dafür ausgelegt, sonst könnte man CMOS-Ausgänge nicht direkt mit CMOS-Eingängen verbinden. Gate-Widerstand braucht man meistens nur um Schwingungen zu dämpfen/verhindern. Ganz zum Thema zurück: Wie ist das Layout? Lange Leiterbahnschleife Gate->IO-Pin->GND->Source?
Nein, die Leiterbahnen sind zwischen 1 und 6cm lang. Masse ist über eine Plane auf der Rückseite ebenfalls ordentlich. Hab auch mal das Scope drangehalten, schwingen tut da nix. Ich schau mal ob ich morgen auf der Arbeit mal nen Screenshot machen kann.
Lukas schrieb: > das MOSFET zwischen > dem Anderen Kontakt und Masse (+Freilaufdiode!) Das hört sich an, als ob die Freilaufdiode parallel zum FET geschaltet wäre!? Die muss aber parallel zur Relais-Wicklung, also zwischen (+) und dem anderen Kontakt! Und natürlich mit (K) an (+).
Hi Manchmal hilft es, wenn man den Strom vom Gate mal misst. Du sagst ja selbst, das Gate direkt gesteuert schaltet das Relais. aber wie hoch ist dein Gate-Strom? Setz da mal an. Ansonsten können wir ja mal weiter raten. gruß oldmax
Thomas E. schrieb: > Das hört sich an, als ob die Freilaufdiode parallel zum FET geschaltet > wäre!? > Die muss aber parallel zur Relais-Wicklung, also zwischen (+) und dem > anderen Kontakt! Und natürlich mit (K) an (+). Und da ist sie auch. Wollte nur erwähnen das ich eine habe. Die Hälfte der Relais sind sowieso Halbleiter-Relais, da gibts auch keine Diode. oldmax schrieb: > Hi > Manchmal hilft es, wenn man den Strom vom Gate mal misst. Du sagst ja > selbst, das Gate direkt gesteuert schaltet das Relais. aber wie hoch ist > dein Gate-Strom? Setz da mal an. Ansonsten können wir ja mal weiter > raten. Hmmm. Ja. Aber wie soll ich den ohne Vorwiderstand vernünftig messen? Es kann sich ja nur um den Einschaltstrom handeln, nach dem Umschalten ist der Strom beim MOSFET ja 0.
Da hast du recht. Den muss ich aber grad mal etwas anpassen, sonst findet man darauf nichts. Leider hab ich nur die freie Eagle-Version, da passt meine Schaltung nur ganz knapp mit viel drücken rein. Deshalb hab ich auch die Widerstände vergessen, ist einfach nicht mehr übersichtlich genug. Ich hab exemplatisch mal 2 der Relais (1xMechanisch, 1x Halbleiter) herausgezogen deren µC-IOs kaputt gegangen sind.
Lukas schrieb: > Hmmm. Ja. Aber wie soll ich den ohne Vorwiderstand vernünftig messen? Es > kann sich ja nur um den Einschaltstrom handeln, nach dem Umschalten ist > der Strom beim MOSFET ja 0. Aber nur wenn es richtig verschaltet ist. Von nichts gehen deine IO Pins nicht kaputt. Also hilft immer: messen statt vermuten, wissen statt meinen. Kein Schaltplan, kein Bild der Platine von oben/unten, also musst du halt selbst die Ursache suchen.
Da das Halbleiterrelais keine Induktionsspannung erzeugt, der Pin am uC aber auch kaputt ist, sehe ich derzeit nur die 12V als Ursache. Es scheint, als ob die Masseleitung von den Relais oder die Entkopplung der 12V von den 3V3 unglücklich ist. Dazu würde aber auch das Layout gebraucht, um das zu beurteilen. Wäre hilfreich, wenn du das auch einmal postest. Aber bitte nicht nur einen Teil davon, sondern komplett. Die Lagen bitte einmal übereinander und einmal separat (top/bottom). Als PDF wäre wünschenswert.
Gerade, wenn die Gatecharge so klein ist, ist es doch überhaupt kein Problem, da Widerstände reinzuhängen. Damit ist sichergestellt, das weder der MOSFet auf den MC rückwirkt, noch der MC sich am Ladestrom des MOSFet Gate aufhängt. Und wenn da nur Relais geschaltet werden, ist die Schaltzeit auch kein Thema.
Nimm den µC mal weg und hänge dein Messgerät im Messbereich Spannung 20V an Masse und dein (vermeintliches?) Gate. Was misst du für eine Spannung? Ich kenne jetzt die Daten dieses µC nicht, aber die meisten halten sogar einen Kurzschluss am I/O Pin aus. Wenn die abrauchen dann könnten da die 12V der Relaisversorgung anstehen. Wenn du keine Spannung misst, dann stelle das Messgerät auf den Strombereich und Messe was für ein Strom zwischen Gate und Masse bzw 3,3V fliesst. Das nennt sich systematische Fehlersuche statt probieren und vermuten. ;-)
Es könnte auch sein, dass beim Abschalten des MOSFETs über die Kapazität Drain-Gate ein hoher Strom in den IO-Pin fließt. Dann kann natürlich auch eine Spannung bis zu 12V anliegen. Das kann den dann auch killen. Daher fummle da einen Widerstand mit z.B. 10K in SMD rein.
:
Bearbeitet durch User
Felix A. schrieb: > Da das Halbleiterrelais keine Induktionsspannung erzeugt, der Pin > am uC > aber auch kaputt ist, sehe ich derzeit nur die 12V als Ursache. Es > scheint, als ob die Masseleitung von den Relais oder die Entkopplung der > 12V von den 3V3 unglücklich ist. Die 12V sind die Versorgungsspannung, daraus werden über einen LT3973 Schaltregler 5V und von den 5V mit einem ADP2108 3,3V erzeugt. Die Spannungen habe ich schon alle auch beim Umschalten und unter Last nachgemessen, das sieht alles gut aus. > Dazu würde aber auch das Layout gebraucht, um das zu beurteilen. Wäre > hilfreich, wenn du das auch einmal postest. Aber bitte nicht nur einen > Teil davon, sondern komplett. > Die Lagen bitte einmal übereinander und einmal separat (top/bottom). Als > PDF wäre wünschenswert. Muss heut abend mal schauen ob ich dazu Zeit finde.
Meinen Post um 8:34 solltest du beherzigen. Und mal ausprobieren. Schnelle Spannungsänderungen an Kondensatoren führen zu hohen Strömen.
Matthias S. schrieb: > Gerade, wenn die Gatecharge so klein ist, ist es doch überhaupt kein > Problem, da Widerstände reinzuhängen. Ein Widerstand verschleiert nur den Fehler, es muß auch ohne gehen. Erst wenn ich die Platine verlasse, sehe ich Schutzwiderstände vor.
Lukas schrieb: > In diesem Layout hab ich die Widerstände einfach vergessen, vorgesehen > war eigentlich ein BC846. Du hast also den Basiswiderstand für den BC846 vergessen, deshalb dann einen MosFet eingebaut und hast Dich dann gefreut, dass der 10k-Pulldown, der für einen bipolaren Transistor gar nicht notwendig ist (aber sehr wohl für einen MosFet), schon im Layout vorgesehen war? Kannst Du Dir irgendwie vorstellen, dass mir diese Räuberpistole spanisch vorkommt? Jetzt sag nicht, Du hättest den Pulldown nachträglich "luftverdrahtet". Das hättest Du auch mit dem Basiswiderstand am ursprünglich vorgesehenen Transistor machen können.
Man kann das Problem sogar prima simulieren. Im Anhang die Schaltung. Resultat: je nach Mosfet und nach Anstiegs-/Abfallzeit kann der Strom aus dem Controllerpin (V1) größer +-20mA werden. Es könnte die Fähigkeit deines Controllers übersteigen. Ergo: da gehört entweder ein Widerstand rein oder du verlangsamst anders die Anstiegs- und Abfallzeiten. Da ist natürlich ein Fehler im Schaltplan: die SPule wird durch den Mosfet direkt an 12V gelegt, was weder Mosfet noch Spule in Realitas überleben würden (wenn das Netzteil das hergibt).
:
Bearbeitet durch User
Der Andere schrieb: > Nimm den µC mal weg und hänge dein Messgerät im Messbereich > Spannung 20V > an Masse und dein (vermeintliches?) Gate. Was misst du für eine > Spannung? Ich kenne jetzt die Daten dieses µC nicht, aber die meisten > halten sogar einen Kurzschluss am I/O Pin aus. > Wenn die abrauchen dann könnten da die 12V der Relaisversorgung > anstehen. > Wenn du keine Spannung misst, dann stelle das Messgerät auf den > Strombereich und Messe was für ein Strom zwischen Gate und Masse bzw > 3,3V fliesst. > > Das nennt sich systematische Fehlersuche statt probieren und vermuten. > ;-) Ich soll die Gate-Spannung messen, und falls da keine ist (was der Fall ist) den Strom messen?? Ich habe gelernt, dass ein Strom nur fließt wenn auch eine Spannung da ist... Mit einem Multimeter werde ich den Strom hier nicht sehen. Ich denke ich muss mir tatsächlich einen Vorwiderstand einbauen und dann mit dem Scope messen. BTW: Es ist noch kein FET kaputt gegangen. Nur die µC IO. Frank M. schrieb: > Jetzt sag nicht, Du hättest den Pulldown nachträglich "luftverdrahtet". > Das hättest Du auch mit dem Basiswiderstand am ursprünglich vorgesehenen > Transistor machen können. Genau so ist es aber. Einen Widerstand zwischen die Beinchen eines SOT23 zu löten ist sehr viel einfacher als einen zwischen das Pad und das Beinchen. Geht alles, ist aber ein ganz schönes gefriemel. Felix A. schrieb: > Man kann das Problem sogar prima simulieren. > > Im Anhang die Schaltung. Resultat: je nach Mosfet und nach > Anstiegs-/Abfallzeit kann der Strom aus dem Controllerpin (V1) größer > +-20mA werden. Es könnte die Fähigkeit deines Controllers übersteigen. > > Ergo: da gehört entweder ein Widerstand rein oder du verlangsamst anders > die Anstiegs- und Abfallzeiten. Danke für deine Analyse, das wird das Problem sein. > Da ist natürlich ein Fehler im Schaltplan: die SPule wird durch den > Mosfet direkt an 12V gelegt, was weder Mosfet noch Spule in Realitas > überleben würden (wenn das Netzteil das hergibt). Das widerum versteh ich nicht. Die Spule wird auf 12V gelegt, und das soll doch auch genau passieren !? Oder meinst du die Simu?
In der Simu. Die Spule hat bei einer DC-Messung 0 Ohm, also ein Kurzschluss. Dein relais hat einen Spulenwiderstand von 100 ... 500 Ohm? In der Simu funktioniert es, weil die Bauteile nicht kaputt gehen. Ist aber ansich trotzdem falsch. Ändert aber nichts am Strom aus dem/in den Controllerpin. Ich hatte mal den Fall, dass die Spannungsänderung am Drain des Mosfet auf das Gate und dann den Controller durchschlug. Das dachte ich hier auch zuerst, konnte ich in der Simu mit einem dem BSH108 ähnlichen Mosfet aber nicht bestätigen.
Peter D. schrieb: > Ein Widerstand verschleiert nur den Fehler, es muß auch ohne gehen. Was heisst 'verschleiert den Fehler'? Immerhin bleibt mir so der Austausch eines MC erspart. Das der MOSFet hier auf Kante betrieben wird und bei 3,3V nicht voll durchsteuert, ist ja anscheinend die Hauptbaustelle, aber trotzdem muss ich nicht jedesmal einen MC opfern.
der gezeigte Schaltungsschnipsel sieht nicht so verkehrt aus. Im Layout kann allerdings noch was schief gehen, was man dem Schaltplan nicht ansieht. Lukas schrieb: > Leider ist es nun aber so, dass meine IO-Pins nach der Reihe abrauchen > (HIGH-Pegel erst 3.3V, dann 0.6V, dann 0.0V). Zunächst habe ich das nur > an den Pins beobachtet die auch mit einem AD-Eingang gemultiplext sind, > nun ist aber auch ein anderer ausgefallen. Wie tritt der Fehlerfall ein? Beim ersten Schalten des Relais? Oder kommt nach mehrstündigem Betrieb mal der eine mal der andere FET? Sind die FETs nach dem Ausfall ebenfalls defekt oder funktionieren die weiter? Kannst du den FETs im Normalbetrieb anmerken, dass sie sich aufheizen oder bleiben sie völlig kalt? Da die IOs mit ADC als alternate function stärker betroffen sind: nutzt du in deiner Software die ADCs? Kann in der Programmierung irgendwas faul sein? Kannst du mal ein Minimalprogramm ausprobieren das nichts anderes macht, als alle paar Sekunden das Relais umzuschalten und stirbt deine Hardware damit ebenfalls? Lukas schrieb: > Danke für deine Analyse, das wird das Problem sein. glaube ich nicht: das ist ein Simulationseffekt der in der Relität nicht so auftritt. Die Begrenzung des Stromfluss durch den IO-Pin und durch den Widerstand der Relaisspule wurden nicht mitsimuliert. Selbst wenn dieser Ausfall an einem Leistungsrelais vielleicht denkbar wäre, dann kann es an deinem Halbleiterrelais mit 533Ohm Vorwiderstand sicher nicht zum Fehler führen. Welche (elektromechanischen) Relais benutzt du eigentlich? Matthias S. schrieb: > Was heisst 'verschleiert den Fehler'? Irgendwas an deiner Schaltung ist faul (und zwar etwas, was man den bisher gezeigtem Schaltplan nicht ansieht). Mit einem Widerstand veränderst du zwar wahrscheinlich die Fehlerhäufigkeit, aber trotzdem bleibt damit was faul in deiner Schaltung.
Matthias S. schrieb: > Was heisst 'verschleiert den Fehler'? Ups, die Frage kam ja gar nicht vom TO. Ich denke Peter wollte darauf hinweisen, dass der eigentliche Grund für den Ausfall gefunden werden muss.
@Achim Es ist kein Simueffekt, sondern einer, den man selbst mit Oszilloskop und einem kleinen Serienwiderstand messen kann. Es geht auch nicht um den Strom durch das Relais. Der Controller muss den im Bild sichtbaren Strom beim Schalten treiben, und zwar in beide Richtungen. Das kann den schon töten. Und wie geschrieben liegt es an der Anstiegs-/Abfallzeit. Ein Erhöhen des Spulenwiderstandes ändert an dem Pin-Strom nichts.
Erst auf dem Schaltplan habe ich gesehen, dass da ein ARM verwendet wird, kein AVR. Beim AVR hätte ich gesagt: Der steckt das weg. Aber die ARM sind oft viel empfindlicher. Auch die Freilaufdiode... Da könne man vielleicht auch eine schnellere verwenden.
Der Strom beim auf Masse ziehen wird nicht begrenzt. Oftmals auch nicht beim auf 3,3V hochziehen.
Achim S. schrieb: > Irgendwas an deiner Schaltung ist faul (und zwar etwas, was man den > bisher gezeigtem Schaltplan nicht ansieht). Mit einem Widerstand > veränderst du zwar wahrscheinlich die Fehlerhäufigkeit, aber trotzdem > bleibt damit was faul in deiner Schaltung. Da is sicher was am Aufbau falsch, 10-Ohm statt 10k, Diode / Transistor verkehrt eingebaut, ....
Felix A. schrieb: > Im Anhang die Schaltung. Resultat: je nach Mosfet und nach > Anstiegs-/Abfallzeit kann der Strom aus dem Controllerpin (V1) größer > +-20mA werden. Es könnte die Fähigkeit deines Controllers übersteigen. > > Ergo: da gehört entweder ein Widerstand rein oder du verlangsamst anders > die Anstiegs- und Abfallzeiten. Das ist doch Bullshit. Ein µC-Ausgang hat viel mehr als 1R äquivalenten Innenwiderstand, eher so 50R. Der begrenzt den Spitzenstrom schon allein, ganz ohne Serienwiderstand. Und die Ströme die bei max. Ratings stehen, gelten alle für den statischen Fall, nicht für kurze Impulse. Ganz allgemein können CMOS-Ausgänge kapazitive Lasten bis einige 100pF ganz problemlos direkt treiben. Wäre das nicht so, dann dürfte man auch keine CMOS-Eingänge an CMOS-Ausgänge schalten. So lange man kein Trum von Leistungs-MOSFET mit einigen nF Gatekapazität anschließt und/oder mit einigen 10kHz umschaltet, braucht man keinen Gatewiderstand. Also zumindest nicht als Schutz für den µC. Aus EMI-Sicht kann so ein Widerstand natürlich schon sinnvoll sein. Daß der TE seine µC-Ports zerschießt, liegt ziemlich sicher nicht an der Schaltung. Also nicht an der Schaltung die er (im gefühlt 100. Post dann endlich mal) gezeigt hat. Vermutlich hat er etwas ganz anderes gebaut. MOSFET verpolt. Oder statt dessen Bipolartransistoren bestückt. Oder irgendein Fehler im Aufbau. Alles nichts was man per Ferndiagnose finden könnte. Und da der TE zu systematischer Fehlersuche unfähig (oder doch zumindest unwillig) zu sein scheint, wird er es alleine wohl auch nicht rausfinden. PP - persönliches Pech!
Lukas schrieb: > In diesem Layout hab ich die Widerstände einfach vergessen, vorgesehen > war eigentlich ein BC846. Dann baust Du halt einen DTC114 oder PDTC143 oder vergleichbares ein. Diese Informatiker-Transistoren haben die Basisvor- und ableitwiderstände integriert und lassen sich bei moderaten EMV-Anforderungen ohne jegliche externe Beschaltung verwenden.
Lukas schrieb: > Zunächst habe ich das nur > an den Pins beobachtet die auch mit einem AD-Eingang gemultiplext sind, Sind alle VSS, VDD, VSSA, VDDA auch angeschlossen? Wie ist VDDA mit VDD verbunden? Wie ist GND mit den FETs verbunden? Wieviel mA ziehen die Relais an den 12V? Was schalten die Relais (I, U)? Wie gesagt, den fehlenden Gatewiderstand halte ich nicht für die wirkliche Ausfallursache.
Peter D. schrieb: > Lukas schrieb: >> Zunächst habe ich das nur >> an den Pins beobachtet die auch mit einem AD-Eingang gemultiplext sind, > > Sind alle VSS, VDD, VSSA, VDDA auch angeschlossen? > Wie ist VDDA mit VDD verbunden? > Wie ist GND mit den FETs verbunden? > Wieviel mA ziehen die Relais an den 12V? > Was schalten die Relais (I, U)? > > Wie gesagt, den fehlenden Gatewiderstand halte ich nicht für die > wirkliche Ausfallursache. Der µC hat nur VSS, VDD und VCC. Alle VDD sind an 3,3V angeschlossen, VCC an 5V. Das mechanische Relais (Finder 34.51.7.012) zieht 38mA, das elektrische ca 20mA. Die Relais schalten erst mal gar nichts, da ist nur ein Varistor dran. @Achim S.: Die IOs sind direkt hinüber gewesen. Axel S. schrieb: > Und da der TE zu systematischer Fehlersuche unfähig (oder > doch zumindest unwillig) zu sein scheint, wird er es alleine wohl auch > nicht rausfinden. PP - persönliches Pech! Diese Aussage finde ich unfair - hier gibt es 2 mögliche Interpretationen: 1. Du denkst, das Problem ist trivial genug das man kein Posting hier machen muss. In diesem Fall würde ich dich bitten deine Kommentare in Postings zu machen die deinem Fachlichen Anspruch genüge tun. 2. Du hast das Gefühl ich nehme die gegeneben Ratschläge nicht an. Dazu habe ich oben erwähnt, dass ich heute Abend schaue ob ich Zeit dazu habe. Ein paar Dinge habe ich ja schon getestet, den Rest werde ich sicher nachholen. Teo D. schrieb: > Da is sicher was am Aufbau falsch, 10-Ohm statt 10k, Diode / > Transistor verkehrt eingebaut, .... Dagegen spricht, dass die Schaltung an 5 von 8 Pins problemlos läuft und auch die ausgefallenen 3 Relais beim Beschalten der Gates mit 3,3V ordentlich arbeiten. Dabei habe ich zumindest mit dem Multimeter über einen Widerstand gemessen, dass kein Strom ins Gate fließt (0,3V an einem 1K widerstand, das sind 0,3mA die über den 10k Widerstand nach GND abfließen).
Axel S. schrieb: > Das ist doch Bullshit. Ein µC-Ausgang hat viel mehr als 1R äquivalenten > Innenwiderstand, eher so 50R. Der begrenzt den Spitzenstrom schon > allein, ganz ohne Serienwiderstand. Und die Ströme die bei max. Ratings > stehen, gelten alle für den statischen Fall, nicht für kurze Impulse. Ich habe im Datenblatt mal nachgelesen. Es gibt in der Tat kein Maximum für die Ströme, die aus dem oder in den Pin fließen dürfen (außer die 100mA maximaler Supplycurrent, die das begrenzen). Das bedeutet aber auch, dass ein Strommpuls, z. B. beim Einschalten der 12V die maximal erlaubte Spannung am Pin überschreiten und den Latchup auslösen KANN. Angenommen, die 12V werden vom Netzteil genommen, so kann im ersten Augenblick beim Einstecken die 3,3V-Spannung fehlen und über die Mosfet-Kapazitäten ein Strompuls kommen, der den Latchup auslöst. Zum Latchstrom, bei dem der Latchup eintritt, steht hier im DB dazu: -0,5*VDD < Vi < 1,5*VDD max 100mA Da das Layout unbekannt ist, kann natürlich auch eine gewisse Induktivität in Kombination mit der Gatekapazität und der Rise-/Fall-time von 3ns bis 5ns zu einem Schwingen führen, das den Latchup auslöst. Ich persönlich glaube nicht daran, dass ein anderer Teil der Schaltung hier die Ursache sein kann, da es eben immer nur die Pins vom AD-Port betrifft. Ich würde daher vorschlagen, trotzdem einen Serienwiderstand zwischen Pin und Mosfet zu schalten. Stirbt der Pin dann nicht (sofort), lässt sich per Oszilloskop zumindest messen, was am Pin los ist. Man muss ja nicht noch mehr Pins killen und was anderes ist an denen ja nicht angeschlossen.
Felix A. schrieb: > Axel S. schrieb: >> Das ist doch Bullshit. Ein µC-Ausgang hat viel mehr als 1R äquivalenten >> Innenwiderstand, eher so 50R. Der begrenzt den Spitzenstrom schon >> allein, ganz ohne Serienwiderstand. Und die Ströme die bei max. Ratings >> stehen, gelten alle für den statischen Fall, nicht für kurze Impulse. > > Ich habe im Datenblatt mal nachgelesen. Es gibt in der Tat kein Maximum > für die Ströme, die aus dem oder in den Pin fließen dürfen (außer die > 100mA maximaler Supplycurrent, die das begrenzen). Dann musst du nochmal hinschauen. Es ist ein Kurzschlussstrom angegeben 45 mA gegen Masse, 50 mA gegen Vdd. Und das geht dauerhaft solange der Gesamtstrom nicht überschritten wird. D.h. der uC kann beliebige Kapizitäten laden, halt nur langsam. (Zu langsam für Leistungs-MOSFETs). Der Pin kann demnach nur durch einen Überspannungsspike kaputgehen, z.B. kapzitive Kopplung Gate/Drain oder durch ein schlechtes Layout. Es ist durchaus denkbar dass Pins mit Analogfunktion beim LPC einen Tick empfindlicher sind. Felix A. schrieb: > Der Strom beim auf Masse ziehen wird nicht begrenzt. Oftmals auch nicht > beim auf 3,3V hochziehen. Das ist eine Binsenweisheit aus der TTL Steinzeit. Gilt für moderne CMOS ICs schon lange nicht mehr.
Felix A. schrieb: > Das bedeutet aber > auch, dass ein Strommpuls, z. B. beim Einschalten der 12V die maximal > erlaubte Spannung am Pin überschreiten und den Latchup auslösen KANN Nein. Alle CMOS-Ausgänge begrenzen den Strom schon durch die Abschnürcharacteristik der MOSFETs. Es gibt einen garantierten Strom (beim AVR 20mA) den liefern sie auf jeden Fall und einen maximalen Strom (beim AVR 40mA) den liefern die auch bei Kurzschluss nie, weil dazwischen der Abschnürbereich des MOSFETs einsetzt. Beim LPC11C24 sind das wohl 4mA und 100mA, also ein weiter Bereich. Die 100mA kann man nur erreichen, wenn man von aussen eine Spannung anlegt, die höher als VCC bzw. niedriger als GND ist, und DANN gibt, daß man nicht mehr reinschicken darf. Raus kommen so viel sowieso nicht. Der LPC11C24 hat 5V tolerante I/O, also keine Diode vom Ausgang zu VCC; sondern eine UBEreverse-Strecke vom Ausgang nach Masse. Insgesamt sind die normalen I/O recht robust, ESD ist angegeben.
So, hier nun Layouts mit dem gesammten Schaltplan. Ist wie schon erwähnt entwas unübersichtlich, es geht um die Transistoren Q3, Q6 (Top) und Q7 (Bottom, direkt unterhalb von SW2). Im Schaltplan ist hier wie schon beschrieben der BC846B vorgesehen, der Vorwiderstand ist vergessen worden. Der Klemmwiderstand für den BSH108 ist einfach händisch zwischen die Pins am SOT23 gelötet. Ich habe auch versucht zu messen. Habe einen 1 Ohm Widerstand unter das Beinchen gelötet und versucht einen Spannungsabfall zu messen. Dabei habe ich ein Interessantes Phänomen betrachtet: Sobald ich die Masse des Aktiven Tastkopfes an das eine Ende des Widerstands gehalten und dann eingeschaltet habe, hat das Relais bein einschalten diverse male geschaltet. Leider musste ich den Platz wieder räumen, ich hatte auch keine passende Software auf dem Prozessor um die Ausgänge verzögert zu schalten, deshalb kein Bild. Die Spannung am Gate ist aber eher nach einer umgekehrten e-Funktion angestiegen. Ich schau ob ich gleich im Keller noch mal was aufnehmen kann, hab an meinem aber weder aktive Tastköpfe noch ein Interface für Screenshots dran.
Danke, das ist in Summe ziemlich informativ. Wenn man sich anschaut, welchen Weg der Strom nehmen muss, um zu deinen Molex-RJ45-Buchsen zu kommen, dann ist leider schon gut sichtbar, dass deine Masseanbindung für hohe Frequenzen alles andere als niederohmig ist. Und ohne alle Wege verfolgt zu haben, gilt das wohl auch für DC-Ströme. Im Grunde genommen bedeutet diese Anbindung eine recht hohe Induktivität. Kombiniert mit der hohen Schaltgeschwindigkeit (trotz des auf 45mA begrenzten Stromes) könnte es zu Schwingungen beim Ein- und Ausschalten kommen, die so groß sind, dass es den Pin reißt. Genaueres wird aber nur mit einem Oszilloskop zu sehen sein. Ich würde weiterhin vorschlagen, einen Widerstand zwischen Pin und Mosfetgate zu schalten. Es ist ja der einzige Pfad, über den der Pin zerstört werden kann.
Digitaltransistor wurde schon genannt, möchte das nur noch mal betonen.
>Dann baust Du halt einen DTC114 oder PDTC143 oder vergleichbares ein.
viel Erfolg
hauspapa
Das könnte auch gehen. Allerdings wird der ebenfalls schnell durchgeschaltet, was wiederum zu Schwingern führen könnte so das denn die Ursache für die sterbenden Pins ist.
Felix A. schrieb: > Genaueres wird aber nur mit einem Oszilloskop zu sehen sein. Wie genau könnte ich das feststellen? Das Problem mit meinen passiven Tastköfen ist ja, das deren Kapazität schon in der Größenordnung meiner Gate-Kapazität liegt. Wie messe ich da wo am besten um sowas sehen zu können? (Man will ja was dabei lernen...) Ich denke wenn ich nun eh schon Vorwiderstände einbauen muss werde ich die BC846B nehmen, dann spare ich mir den Widerstand nach GND. Ist zwar etwas fummelei, aber das kann ich auf der Arbeit unterm Mikroskop machen. @rheydrich: sowas hat hier nix zu suchen.
Sein Kommentar (und der in nem anderen Thread) wurden schnell gelöscht, alles gut, einfach nicht darauf reagieren. Bezüglich der Tastköpfe wäre das kein Problem. Du hast da vermutlich auch einen 1:10-Teiler-Einsteller dran, oder? Dann Umstellen auf 1:10 und dann vom Tastkopf über einen Vorwiderstand (z.B. 1k) an das Gate. Ich würde aber trotzdem dazu raten, ERST einen Widerstand zwischen Gate und Controllerpin zu schalten und danach erst am Gate (dann ohne Vorwiderstand am Tastkopf) zu messen. Wenn du über einen 1k am Tastkopf misst, flacht sich die Kurve ab, es könnte vielleicht sogar gar nichts zu sehen sein. Aber zumindest belastest du den Pin dann nicht noch extra. Nebenbei bemerkt: wenn da über den Mosfet zu deinem Pin Spannungsspitzen durchdringen, ist der Tastkopf mit seiner Kapazität sogar eine kleine Verbesserung.
Woher Messe ich am sinnvollsten die Masse? Direkt am MOSFET oder am µC?
Ach ja, ich würde am GND dicht beim uC messen, da auf dessen Masse die vermutete "Problemspannung" bezogen wird.
Lukas schrieb: > Aber mal zum Topic: kleine MOSFETs ohne Vorwiderstand an µC zu bauen ist > durchaus keine Seltenheit, auch in kommerziell vertriebener Elektronik - > ich hab grad das Gefühl ich hätte einen der trivialsten Fehler der > Elektrotechnik überhaupt begangen. Ähemm.. ja. Wenn du schon so wenig Zeit für's Hobby hast, dann versuche doch zu allererst, dein Zeugs zu durchdenken. Das hilft. So, nun stell dir vor, du hast dein relais (oder SSR) eingeschaltet und nun schaltest du es aus. Also Pin auf Low. Was passiert? Nun in beiden Fällen schnippt die Spannung am Drain in die Höhe. Beim echten Relais mit konstantem Strom, beim SSR mit dem Strom, der durch den Vorwiderstand geliefert wird. Sagtest du 30..40 mA? OK, über die Gate-Drain-Kapazität landet eben dieser Strom direktemang im µC-Pin - allerdings deutlich gemildert durch den Miller-Effekt. Ich vermute mal ganz stark, daß dieser Strom auf Dauer für den Low-Ausgangstransistor des µC-Pins ein bissel zu viel ist und folglich wird selbiger gebraten. Das war's dann. Bei einem Transistor, der eine deutlich niedrigere Schwellspannung hat als dein BSH108 fällt dieser Effekt geringer aus und die Überlebenschancen für den Pintreiber steigen. Was kann denn so ein Ausgang nach Low ziehen? Ich schätze, mehr als 8 mA sind das nicht, vielleicht 4..6 mA. Bei manchen µC kann man sowas auch noch per SW einstellen. Also solltest du deinen Widerstand zwischen Pin und Gate so dimensionieren, daß im schlimmsten Falle vielleicht 1 mA oder so in's Pin gedrückt wird, meine Schätzung wären 47k oder wenigstens 33k. Also: rechne dir sowas lieber zuvor durch. Ich habe beim Basteln übrigens funktionierende Ergebnisse viel lieber als abgerauchte. W.S.
Also, das Ergebnis sieht schon recht seltsam aus. Aber für mich jetzt nicht sonderlich Problematisch. Sieht das wer anders?
Achso, vergessen: Das ist gemessen zwischen dem Gate von Q1 und dem VSS-Pin 41 am µC. Zwischen dem IO vom µC ist ein 1k Widerstand, außerdem sind 10k vom µC IO nach Masse geklemmt.
W.S. schrieb: > So, nun stell dir vor, du hast dein relais (oder SSR) eingeschaltet und > nun schaltest du es aus. Also Pin auf Low. Was passiert? Nun in beiden > Fällen schnippt die Spannung am Drain in die Höhe. Beim echten Relais > mit konstantem Strom, beim SSR mit dem Strom, der durch den > Vorwiderstand geliefert wird. Sagtest du 30..40 mA? OK, über die > Gate-Drain-Kapazität landet eben dieser Strom direktemang im µC-Pin - > allerdings deutlich gemildert durch den Miller-Effekt. Ähhm. Nein. Zum einen ist der der Drainstrom irrelevant, denn der wird ja von der Freilaufdiode übernommen. Relevant ist der Sprung der Drainspannung von nahezu 0 auf reichlich 12V. Der wird über die Drain-Gate-Kapazität in der Tat auf das Gate zurückgekoppelt. Allerdings ist da auch noch die Gate-Source-Kapazität. Die bildet mit der Millerkapazität (Drain-Gate) einen kapazitiven Spannungsteiler. Es kommen also gar nicht die vollen 12V am Gate an. Konkret hat der BSH108 C_rss=50pF und C_iss=190pF. Teilerfaktor ca. 5. Von den 12V kommen also nur ca. 2.5V am Gate an. OK, ein bisschen mehr, denn das Gate ist noch nicht ganz auf 0 entladen wenn der FET abschaltet. Trotzdem: davon stirbt der LPC nicht.
Lukas schrieb: > sieht schon recht seltsam aus. Nö, normal, http://electronics.stackexchange.com/questions/66660/why-is-the-gate-charge-curve-miller-plateau-of-mosfets-dependent-on-vds das ist die Rückkopplung der steigenden bzw. sinkenden Drain-Spannung über die ca. 1nF des MOSFETs auf die Gate-Ladung. Du hast 1us Umschaltzeit.
Könnte es evtl. sein, dass softwareseitig der IO-Pin nicht (immer) aktiv als Ausgang geschalten wird? Dass der Ausgang dadurch zeitweise als hochohmiger, offener Eingang definiert ist und dadurch zerstört wird. Nur mal so ein Gedanke.
Hallo, ich kenne genügend Leute die Mosfets jeder Art direkt an einen µC bammeln. Auch wenn ich das nicht machen würde. Laut Datenblatt zum NXP LPC11C24, kann dieser nach + und Masse pro Pin satte 100mA liefern. Und der Peakstrom darf ein 25fach höherer sein. Die meisten AVR's können nur 20-40mA maximal. Der fehlende Widerstand kann nicht das Problem sein. Nimm mal den µC raus, bau dir einen Taktgen. den Du mit einen bipolaren an den Mosfet hängst mit kleinen Shuntwiderstand zum Gate, messe den Spannungsabfall am Oszi darüber und damit indirekt den Strom und guckst was da passiert. Wegen allgemeinen Mosfet Gate Vorwiderstand am µC. Das ist ganz einfach. Man muß nur den maximalen Kurzschlussstrom begrenzen. Deine 100mA würde ich nun nicht ansetzen. Sagen wir 20mA lassen wir zu. Dein µC wird mit 3,3V versorgt. Also 3,3V geteilt durch 20mA ergeben 165 Ohm. Nimmste 160 Ohm zwischen µC Pin und Gate. Fertig. Edit: sehe gerade, das von Felix schon eine sinnvolle Antwort kam
@Lukas: deine Oszi-Messungen sehen überhaupt nicht seltsam aus, sondern könnten als Lehrbuchbeispiel genutzt werden, wie ein MOSFET-Gate beim Umschalten aus einer strombegrenzten Quelle umgeladen wird. Mit den Messungen ist nun auch geklärt, dass hohe Spitzenströme aufgrund schneller Umladeprozesse nicht fürs Sterben der IOs verantwortlich sind (denn das Umladen läuft bei dir nicht im 10ns-Bereich ab sondern im 1µs-Bereich). Deshalb nochmal ein paar grundsätzliche Fragen, die auch oben schon gestellt aber (soweit ich gelesen habe) noch nicht beantwortet wurden. Wie tritt der Fehler auf? Immer beim Einschalten der Versorgung (bzw. beim vorherigen Ausschalten)? Oder läuft die Schaltung beim Einschalten erst mal korrekt los aber verabschiedet sich dann während des Betriebs? Oder kannst du den Ausfall an einem bestimmten Betriebsfall festmachen (wenn z.B. 2 Relais fast gleichzeitig umgeschaltet werden)? Kannst du Softwareprobleme völlig ausschließen? Ich habe grade keine richtig gute Idee, wie Softwareprobleme aussehen sollten, die zur Zerstörung der IOs führen, aber um es auszuschließen wäre eine abgespeckte Prüfsoftware nicht schlecht, die stur alle paar Sekunden ein Relais umschaltet. Tritt der Fehler dann auch noch auf? Was für eine Last schalten deine Relais? Kann von dort (trotz der galvanischen Trennung) eine Störung auf die IOs zurückkommen? Wird der µC auch zerstört, wenn du die Last von den Relais abklemmst und nur die Relais selbst umschaltest? Ulrich F. hat (imho zurecht) angemerkt, dass dass bei einigen ARM die IOs empfindlicher sein können als bei diversen althergebrachten 8bittern. Im Datenblatt des LPC11C22 ist z.B. beschrieben, dass der Latchup-Current (der zu einer Zerstörung des IOs führt) mit 100mA gerade mal doppelt so groß wie der Kurzschlussstrom (50mA). Dieser Abstand kann durch nicht optimales Design der Versorgung evtl. noch verkleinert werden. In deinem Design sind die Stützkondensatoren für Vdd nicht wirklich optimal. (Ich habe auch schon schlimmere Layouts gesehen, die zuverlässig funktionierten, aber Fakt ist dass bei dir die µC sterben und dass das eine Ursache haben muss). Beim µC Pinout sind immer ein Pärchen von Vdd und Vss Pins so nebeneinander gelegt, dass gerade ein SMD Keramikkondensator dazwischen passt. Genau so solltest du die Stützkondensatoren auch anschließen. Bei dir ist zwar der Abstand des Stützkondensators zum Vdd-Pin in Ordnung. Der Strom vom anderen Ende des Stützkondensators zum Vss-Pin muss aber einen ziemlich langen Weg über "weit entfernte" vias gehen, ehe er am Vss-Pin ankommt. Die damit verbundene parasitäre Induktivität könnte zu deinem Problem beitragen. Kannst du versuchen, mit einer fliegenden Verdrahtung 100nF Kerkos direkt an die Vdd-Vss Pinpärchen des µC anschließen und schauen, ob das hilft? Für die fliegende Verdrahtung können es bedrahtete Kerkos sein (Anschlussbeine ganz kurz abschneiden und direkt auf die Pins des µC löten.)
Also, leider kann ich dazu keine präzise Aussage machen. Ich habe die Schaltung aufgebaut und die Funktion war beim ersten Nachmessen der Gate-Spannungen am FET nicht mehr gegeben. Meine Software schaltet die Relais (mit kleinem zeitlichen Versatz nacheinander) in der Init-Routine alle ein. Diese sind dann mindestens 20ms eingeschaltet bevor sie wieder ausgeschaltet werden. Leider kann ich nicht sicher sagen, ob ich vor dem Messen noch mal die Spannung weggenommen habe. Ich habe mir am Scope mal die Spannung am Gate beim Ein- und Ausschalten der Spannungsversorgung angesehen. Hin und wieder waren da ein paar kleinere Schwinger beim einschalten zu sehen, aber alle im Bereich < 1V. Ich gehe dabei davon aus, dass das ein Prellen beim einstecken der Kabel war. Eine Zerstörung duch die geschaltete Last kann ich in jedem Fall ausschließen, wie oben erwähnt war und ist da nichts angeschlossen. Software-Probleme wären jetzt fatal - das ist eher mein Fachgebiet. Ich habe aber schon immer beim Initialisieren zusammen mit den Relais auch eine LED an Pin1_4(AD4) eingeschaltet, die arbeitet nach wie vor tadellos. Wüsste jetzt nicht was ich da noch prüfen könnte. Alle weiteren vorgeschlagenen Tests werden definitiv in einem weiteren zerstörten µC enden - das würde ich mir gerade gern sparen, mir gehen die CPUs aus. Und wie lange die Pads den ständigen Wechsel mitmachen weiß ich auch nicht. Ich habe mir nun vorgenommen (wie oben erwähnt), die MOSFETs wieder rauszuwerfen und die ursprünglich eingeplanten BC846B mit reingefriemeltem 10k Vorwiderstand einzubauen. Damit sollte ich Ruhe haben. Oder hast du noch eine andere Idee wie ich mein Problem zerstörungsfrei eingrenzen könnte? Da ich die zerstörenden Spannungen/Ströme noch nicht gefunden habe, kann ich bei einer Veränderung der Schaltung/des Layouts auch nicht sagen ob die Ursache verschwunden ist wenn ich meine Schaltung so präpariere, dass nichts mehr kaputt geht...
Lukas schrieb: > Ich habe mir nun vorgenommen (wie oben erwähnt), die MOSFETs wieder > rauszuwerfen und die ursprünglich eingeplanten BC846B mit > reingefriemeltem 10k Vorwiderstand einzubauen. Damit sollte ich Ruhe > haben. Da der Mechanismus der zur Zerstörung der IO-Pins führt nach wie vor nicht aufgeklärt ist, halte ich das für eine gewagte Annahme. Systematische Fehlersuche sieht anders aus.
Wie wäre es dann mit derselben Messung an einem Nicht-AD-Pin, die nicht kaputt gehen? Da den Tastkopf direkt dran und dann mal Spannung einschalten (durch Einstecken der Kabel, dann Pin toggeln lassen und wieder ausschalten. Selbe Außenbeschaltung, also wenn der Fehler bei den Mosfets liegen sollte, sollte er dort sichtbar sein.
:
Bearbeitet durch User
Lukas schrieb: > Oder hast du noch eine andere Idee wie ich mein Problem zerstörungsfrei > eingrenzen könnte? ich würde mir speziell den Ein- und Ausschaltvorgang noch genauer anschauen (also nicht das Schalten der Relais sondern das Ein/Ausschalten der Versorgung): wie laufen welche Versorgungen hoch, kommt es währenddessen zu seltsamen Spannungen am IO. Den "typischen" Schaltprozess des Relais hast du ja mit dem Oszi angeschaut, und da ist nichts dabei, was ich als gefährlich ansehen würde. Falls es nochmal zu einem Ausfall kommen sollte während du grade dabei bist: bitte die Versorgung anlassen und nachfühlen, ob der µC im Bereich der IO spürbar aufgeheizt wird (würde ich erwarten, wenn ein Latchup bei dem Defekt eine Rolle spielt). Und fürs nächste Design würde ich dem Layouter vorgeben: die Gesamlänge der Leitung zwischen Pufferkondensator und Vss/Vdd Pinpaar darf nicht mehr als 8mm betragen.
Na sicher, solange hier Vorschläge zur Problemfindung sind werde ich mich da natürlich bemühen. Ich habe nun folgende Messung gemach: MOSFET BSH108 an Q1 eingebaut, 10k von Gate nach GND, kein Vorwiderstand. Messung zwischen dem Pin P3_1 und VSS-Pin 41 am µC (direkt angelötet). 1: Spannung einschalten 2: MOSFET eischalten 3: MOSGET ausschalten. Beim Spannung Abschalten ist selbst ein 0,5V Trigger nicht gekommen. Das Einschalten sieht hier erheblich schlechter aus als bei meiner Messung zuhause (mit UND ohne Vorwiderstand). Zu erwähnen ist, dass das Scope natürlich vor dem verdinden der Spannung auch keinen Massebezug hat. Das wird mein Problem sein?
Ein derartiger Puls kann natürlich durch Einstrahlung in die Schleife, gebildet aus Tastkopf und Massekabel + Masseklemme kommen. Daher ist eine Messung, bei der die Masse mit einem Draht von der Masse an der Tastkopfspitze aus ganz kurz verbunden wird, viel besser. Mich wundert etwas die Aussage, dass das Scope vor dem Verbinden der Spannung keinen Massebezug hat. Wie meinst du das genau?
Ich versorge dne Schaltung ja über die RJ45 Buchse mit Stom. Beim Einschalten stecke ich den Stecker da rein. Ich verbinde also nicht nur die 12V, sondern auch die Masse gleichzeitig. Wegen der Schleife beim messen: Das ist sicher richtig. Wenn ich nachher noch mal Zeit hab mess ich das noch mal mit nem aktiven Tastkopf den ich näher mit einer kleineren Schleife platzieren kann.
So, nun noch mal mit ner Massenadel direkt am Tip vom Probe. Hab ca. 25 Einschaltvorgänge gemessen, bei der hälfte ist gar kein Trigger gekommen, häufiger im Bereich ~5V - das hier war absolutes Max.
Ich würde durch Abschätzen sagen, dass die Schwingung etwa 260MHz Frequenz aufweist (ca. 13 Schwinger in 50ns -> 260 Schwinger in 1us). Es wird auch nicht geklippt, weil (wie ich jetzt vermute) die Schutzdioden da vielleicht nicht schnell genug sind oder das Schwingen zwar auf dem Oszilloskop sichtbar ist, aber aus Sicht des Mikrocontrollers vielleicht nicht am Pin anliegt. Dennoch, sollten diese Pulse die IO-Pins tatsächlich treffen, wäre es zumindest vorstellbar, dass die AD-Ports da vielleicht deutlich empfindlicher reagieren und zerstört werden. Eine (vor)letzte Prüfung wäre toll: einen Widerstand (z. B. 1k) zwischen IO-Pin und Gate vom Mosfet und dann mal am IO-Pin dieselbe Messung machen. Wenn dann das Schwingen deutlich kleiner wird, dann ist das ein "reales" Schwingen. Bleibt es in dieser Höhe, dann misst du da wohl einen anderen Effekt am Pin. Eine letzte Idee wäre es, mal den Stromanstieg zu begrenzen, indem du einen Widerstand mit 1..10Ohm (falls der Stromverbrauch der Schaltung klein genug ist) in die +12V-Leitung zum Netzteil schaltest und dann die Spannung anlegst. Die hohen Frequenzen, durch das plötzliche Anlegen der Spannung, werden so etwas bedämpft, da der Strom nun nicht mehr derart hoch werden kann. Daraufhin müssten die Schwingungen weniger/kleiner werden. Vielleicht werden die IO-Pins beim Einschalten zerstört. Abhilfe (wenn auch keine sonderlich gute Lösung) wäre dann ein Softstart (sofern realisierbar).
:
Bearbeitet durch User
So, hatte noch mal die Gelegenheit zu messen. Als erstes habe ich eine Messung mit 13,2 Ohm Widerstand in der 12V Leitung. Damit habe ich keinen Peak mehr über 2V gemessen, meistens gar kein Trigger (0,5V) Danach habe ich den Widerstand aus der 12V Leitung wieder entfernt, und einen 1k Widerstand als Gate-Vorwiderstand eingebaut. Hier waren noch Peaks zu sehen, aber nicht mehr in der Höhe wie ohne Vorwiderstand. (Max. 7 Volt). Mit dem Ergebnis hab ich dann mal versucht die Masseführung meines µC zu verbessern. Ich habe die VSS-Verbindungen direkt vom Pin an den Blockkondensator gelötet um die Wege zu verkürzen. Mit dieser Modifikation habe ich dann noch mal gemessen, nun ohne Gate Vorwiderstände. Die Peaks die ich jetzt messen kann sind fast genau so wie mit dem Gate Vorwiderstand, bei ca. 20 Messungen war kein Peak über 6V dabei.
Ich persönlich denke, dass du damit dann die wahrscheinliche Ursache gefunden hast. In der Folge sollten da zur Sicherheit die Gate-Vorwiderstände (oder Basis-Vorwiderstände, wenn du NPN-Transistoren einsetzen willst) eingebaut werden und beim Einschalten der Spannung eine Form von Softstart implementiert werden. Ferner ist aber auch noch wichtig, vorher die Unterschiede besagter AD-Pins zu den normalen IO-Pins zu klären, da die AD-Pins ja um einiges empfindlicher zu sein scheinen. Allerdings kann ich da kaum helfen, da mir die Zeit für ein ausführliches Datenblattstudium fehlt. Vielleicht gibt es ja noch weitere Ideen/Anregungen, was die Ursache angeht. Insofern erstmal viel Erfolg.
:
Bearbeitet durch User
Hallo, wieso Ursache gefunden? Es hat sich bis jetzt nichts geändert. Er hat die gleichen Peaks wie vorher, schreibt er.
Die Peaks sind mit Strombegrenzung und Gatewiderstand deutlich kleiner geworden. Ursache dürfte somit ein nicht EMV-gerechtes Design sein. Warum die AD-Pins sterben und die normalen nicht, sollte sich aus dem Datenblatt nun ermitteln lassen. Dazu habe ich aber wie geschrieben nunmal nicht die Zeit (obwohl ich das gerne machen würde).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.