Hi *, ich habe hier etwas, das macht mich gerade voellig maff: An einen PIC 18f14k50 habe ich einen IRF 640N angeschlossen. (Direkt ohne Gate-Widerstand oder sonstwas) Der Mosfet schaltet eine 12Volt-Heizung und ein Thermistor liefert dem PIC die Temperatur, die er dann regelt. Mit einem Optokoppler vor dem Mosfet laeuft das prima. Der Koppler schien mir aber ueberfluessig (das ganze wird mit ca. 2HZ getaktet - sollte also kein Problem fuer Mosfet oder PIC darstellen) und ich habe Koppler entfernt. Und nun resettet der PIC nach kurzer Zeit, wenn ich die Heizung aktiviere. Aber nur dann, wenn genau diese Heizung angeschlossen ist. Schalte ich eine Gluehbirne dazwischen, dann geht es. Schalte ich diese Gluehbirne in Reihe mit der Heizung, dann resettet der PIC. (schon geprueft: Heizung hat keinen Kriechstrom oder so - auch schon den Thermistor abgeklemmt) Die Signale und die Spannungen sind sauber - und rechteckig, die Spannungen getrennt 5V/12V, haben gemeinsame Masse, BOR und Interrupts sind ausgeschaltet. Ich vermutete schon einen EMV-Impuls auf einem offenen PIC-Eingang - aber wie sollte der einen Reset ausloesen? 2A bei 12V sind ja nun auch nicht gerade der Riesenstrom... Und wenn doch: wie koennte man das verhindern? Bildet der Mosfet mit der Heizung irgendwie einen Schwingkreis oder sowas ? Was kann das sein? Irgendjemand noch eine Idee? Munter bleiben Wicki
wicki schrieb: > An einen PIC 18f14k50 habe ich einen IRF 640N angeschlossen. > (Direkt ohne Gate-Widerstand oder sonstwas) Das ist keine gute Idee. Erstens ist der IRF640 kein Logiklevel MOSFet und ist bei 5V noch gar nicht richtig durchgeschaltet, und zweitens wirkt evtl. seine Millerkapazität auf den PIC zurück. Schau dir im Datenblatt mal Fig. 3 an (Gate-Source Voltage) und die dazugehörigen Stromtragfähigkeiten. Du siehst, das bei 5V etwa 1,5A übertragen werden (bei 50Vds). https://de.wikipedia.org/wiki/Millereffekt Den Einfluss der Miller Kapazität kannst du durch einen Gatewiderstand verkleinern, aber bei 5Vgs wird der MOSFet nicht besser reagieren, als er es jetzt tut. Mein Tip wäre ein IRLZ44 o.ä. Logiklevel MOSFet, den man auch mal über ein paar hundert Ohm aus dem PIC speisen kann und der trotzdem zuverlässig durchschaltet.
:
Bearbeitet durch User
Hallo Matthias, danke fuer die Rueckmeldung. Nachgedacht habe ich darueber natuerlich auch schon. Aber: Den Millereffekt kann man bei 2Hz m.E. vernachlaessigen. Mit der Spannung hast Du natuerlich Recht. Daher wird er auch etwas warm... Ich werde mal einen anderen Mosfet rein setzen. Diesen seltsamen Reset-Effekt erklaert das aber nicht. Vor allem nicht, da das Ding jetzt seit 2h mit einer Glühbirne mit ca. 1.3 A laeuft und der Reset passiert, wenn ich die Heizung in_Reihe damit schalte. Munter bleiben Wicki
Was für eine Heizung ist das denn? Hat die vielleicht eine große Kapazität (nicht die Wärmekapazität ;-) ) oder Induktivität? Beides kann zu Pulsströmen über das Gate führen und den Controller aus dem Takt oder in den Reset bringen. Daher geht es mit Optokoppler, aber nicht direkt mit dem µC.
HI
>(Direkt ohne Gate-Widerstand oder sonstwas)
Warum kein Widerstand?
MfG Spess
Nunja, die Heizung ist eine ganz winzige ohmsche Last. Die ist weder induktiv noch kapazitiv. Und warum kein Widerstand? Naja, warum sollte einer da hin? Strom in den PIC kann nicht fliessen und aus dem PIC raus sollte eigentlich auf keiner fliessen - und die Spannung vom Gate von 5V wieder auf 0 zu ziehen, das sollte bei einem 2Hz-Takt auch kein Thema sein. Munter bleiben Wicki
Was soll dieses: 'Munter bleiben' ? Deine Heizung hat wahrscheinlich eine erheblich höhere Induktivität als die Glühlampe. Beim Abschalten schwingt die Spannung am Drain stark und koppelt über die Miller Cap in den IO Pin ein. Der IO ist über die parasitären Body Dioden der Endstufen Fets mit VCC und GND verbunden. Entweder ist die VCC Cap. zu klein und löst dadurch den Brown Out Reset aus oder der Kram koppelt direkt in das Chip Substrat ein und macht intern quatsch. Du könntest auch den Restet grund bei Neustart auslesen oder mal ein paar belastbare Messungen machen.
wicki schrieb: > Die ist weder induktiv noch kapazitiv. Das gibt es garnicht. Es gibt kein reales Bauteil ohne RCL Anteil.
Michael K. schrieb: > Was soll dieses: 'Munter bleiben' ? Kommt aus dem Plattdeutschem. Munter = Wach, Lebendig, Freudig... Er wünscht ein "Gesundes und freudiges Leben".
Michael K. schrieb: > Was soll dieses: 'Munter bleiben' ? Es soll beleidigen. Er hält uns Alle einfach nur für Penner!
Route 6. schrieb: > Es soll beleidigen. > Er hält uns Alle einfach nur für Penner! Unterstelle ich dem TE jetzt mal nicht. Ich unterstelle ihm aber eine gewisse Lernresistenz. @TE: Bau provisorisch mal den Gatewiderstand ein, wie schon in meiner ersten Antwort vorgeschlagen. Da der IRF640 auch ein alter MOSFet ist, hat der durchaus höhere interne Kapazitäten als modernere. Die Millerkapazität ist völlig unabhängig von der Frequenz, sondern ist immer da. > Den Millereffekt kann man bei 2Hz m.E. vernachlaessigen. Dein Erachten spielt hierbei nur eine untergeordnete Rolle, da der MOSFet davon ja nichts weiss und da mindestens so lernresistent ist wie du :-P. Fakt ist, das die Schaltung nicht so läuft, wie du willst. Und Fakt ist auch, das ich hier mit einem Tiny85 und 1k Gatewiderstand einen IRLZ44 locker mit 4 kHz takte und 2A schalte, ohne das der kleine Kerl abschmiert oder der MOSFet auch nur warm wird.
Route 6. schrieb: > Es soll beleidigen. > Er hält uns Alle einfach nur für Penner! Och.... Bleib mal locker....
wicki schrieb: > Der Mosfet schaltet eine 12Volt-Heizung und ein Thermistor > liefert dem PIC die Temperatur, die er dann regelt. Was für eine Heizung? > Mit einem Optokoppler vor dem Mosfet laeuft das prima. Der > Koppler schien mir aber ueberfluessig (das ganze wird mit > ca. 2HZ getaktet - sollte also kein Problem fuer Mosfet oder > PIC darstellen) Never change a running system. Weder die Schaltfrequenz noch der Mosfet müssen das Problem sein. Es gibt Störstrahungen, Gegen-EMK, Masseschleifen u.v.a.m. Das dein Mosfet für die direkte Ansteuerung auch nicht geeignet ist wurde schon gesagt. Route 6. schrieb: > Es soll .... > Er hält uns Alle einfach nur für .... Woher willst du wissen was gemeint ist? Abgesehen von Hellsehern ist wohl keiner in der Lage per Ferndiagnose festzustellen wie dieser eine Satz so bedeuten könnte. Hellseher halten sich aber zurück weil Sie ja sehen können was aus dem eigentlichen Diskussionsthema wird ;-).
Wenn jemand während einer Fachdiskussion die Anderen ständig auffordert: "Munter bleiben", und nicht einzuschlafen - dann wirkt das schon sehr beleidigend!
Route 6. schrieb: > Wenn jemand während einer Fachdiskussion die Anderen ständig auffordert: > "Munter bleiben", und nicht einzuschlafen - dann wirkt das schon sehr > beleidigend! Das mag ja sein und wirken wie es will (auf mich zum Beispiel eher unerfahren denn vorsätzlich, kann aber falsch sein). Nicht mal ignorieren" hilft m.E. am besten (auch gegen Missverständnisse).
Route 6. schrieb: > Wenn jemand während einer Fachdiskussion die Anderen ständig > auffordert: > "Munter bleiben", und nicht einzuschlafen - dann wirkt das schon sehr > beleidigend! Folgendes passiert: Man liest einen Satz/Bemerkung Man vergleicht sie automatisch mit allem was man gelernt hat. Und empfindet dem entsprechend. Deine (Beleidigt) Reaktion erfolgt also nicht auf die Bemerkung selber, sondern auf ehemals gemachten Erfahrungen. Du darfst den TE nicht für deine alten Erfahrungen verantwortlich machen. Das ist nicht gerecht.
Also nun tut es - bis jetzt. Ohne Vorwiderstand (wozu auch?) Und trotz Millereffekt, den ich - auch wenn es einigen hier nicht behagen mag - fuer unbedeutend halte. Ich habe den IRF 6040 durch einen IRLU 024N ersetzt. (da hatte ich mich wohl von der imposanteren Erscheinung verleiten lassen - statt in die Datenblaetter zu schauen) Das kleine Bengelchen im TO-251AA wird nichtmal warm. Der Hinweis auf den schlecht gewaehlten Mosfet-Typ war - gut. Vielen Dank. Und "munter bleiben" ist ein ferundlicher, Norddeutscher Gruss. Nix weiter..... Dennoch kann ich mir nicht erklaeren, was den Reset ausloesen konnte. Falsche Typen hin oder her - Mosfet bleibt Mosfet und sollte hochohmig sein. Vermutlich irgendein EMV-Effekt..... Munter bleiben Wicki
wicki schrieb: > Ohne Vorwiderstand (wozu auch?) > Und trotz Millereffekt, den ich - auch wenn es einigen hier > nicht behagen mag - fuer unbedeutend halte. Einen Vorwiderstand: Um die Umladeströme zu begrenzen. Damit der Millereffekt keine Wirkung auf den µC hat. Um Funkstörungen zu dämpfen. Da du keine hohen Schaltfrequenzen hast, tut der nicht weh. > Dennoch kann ich mir nicht erklaeren, was den Reset > ausloesen konnte. > Also nun tut es - bis jetzt. Anderer FET, andere Kapazitäten. ;-) aber der Millereffekt kanns nicht sein! ;-)
wicki schrieb: > Ohne Vorwiderstand (wozu auch?) Ich sach noch - der ist lernresistent. Wir wissen ja, das ein PIC recht hohe Ströme zu liefern vermag, aber trotdem ist das kein Grund, ihn jedesmal mit dem vollen Ladestrom der Gatekapazität oder dem Entladestrom zu belatschern. Es ist ja nicht so, das die Profis den Gate-R aus Jux und Tollerei einbauen (wobei ich mich nicht als ein solcher bezeichne), denn bei denen kostet jedes Bauteil Geld. Aber es hat einen Sinn, auch wenn du den im Moment nicht einsehen willst. Das es mit dem IRLU024 jetzt geht, hängt neben seiner besseren Logiklevelfähigkeiten auch davon ab, das er eine viel geringere Gate Charge hat. Dein PIC muss diese in küzester Zeit voll laden und entladen - je höher die Charge ist, umso mehr Strom braucht er dafür. https://en.wikipedia.org/wiki/Coulomb
Ulrich F. schrieb: >> Also nun tut es - bis jetzt. > Anderer FET, andere Kapazitäten. > ;-) aber der Millereffekt kanns nicht sein! ;-) Es mag eine theoretische Moeglichkeit geben - aber der Pin des PIC ist als Ausgang definiert. Ausserdem habe ich mir die Pegel am Pin/Mosfet mit dem Oszi. angesehen. Eine Spitze oder Schwingung waere mir aufgefallen (denke ich). Das sah alles schoen aus. Wie so ein sauberes Rechteck aussehen muss. Und es muesste ja schon eine ordentliche Spitze oder Schwingung sein, um den PIC via Ausgangspin zu resetten. Normal kann ich da Masse oder 5 Volt draufgeben, ohne dass er kollabiert. Das freut ihn zwar nicht, aber er resettet nicht. Waere mir jedenfalls neu. Oder sehe ich das falsch? Und den Brown-out-Status abzufragen ist sinnfrei, wenn Brown-out inaktiv ist. - oder ?
wicki schrieb: > Normal kann ich da Masse oder 5 Volt draufgeben, ohne dass er > kollabiert. Mit welcher Betriebsspannung versorgst du denn den PIC?
Matthias S. schrieb: > wicki schrieb: >> Ohne Vorwiderstand (wozu auch?) > > Ich sach noch - der ist lernresistent. also sind das alles Deppen, die das hier vor 5 Jahren geschrieben haben, ja? Beitrag "MOSFET Schaltfrequenz<0,1Hz=Vorwiderstand?" munter bleiben wicki ps: ich freu mich, dass es jetzt klappt und wenn ich viel Zeit habe, dann mache ich nochmal einen Versuchsaufbau mit dem 640N und versuche das Problem zu reproduzieren. Interessant ists auf jeden Fall. Denn wenn der PIC beim 640N 10mA liefert, dann sind bei dessen Gate-Kapzitaet in 0.001 ms 5V erreicht. Das sollte der PIC locker packen - denn meine Taktung liegt bei etwa 2Hz. pps: die 5V fuer den PIC kommen vom USB-Bus
wicki schrieb: > Normal kann ich da Masse oder 5 Volt draufgeben, ohne dass er > kollabiert. Wenn ich mich nicht täusche, spricht das Datenblatt von max. 25mA Offenbar betreibst du deinen PIC außerhalb der Spezifikation. Das kann zu undefiniertem Verhalten führen. Meines bescheidenen Erachtens nach sollte man sich im "sichern" Bereich bewegen, um nicht in genau solche Probleme zu stolpern.
wicki schrieb: > also sind das alles Deppen, die das hier vor 5 Jahren > geschrieben haben, ja? > > Beitrag "MOSFET Schaltfrequenz<0,1Hz=Vorwiderstand?" Du hast ja raffinierterweise yalus letzten Satz auch ignoriert: yalu schrieb: > Wenn du die Schaltung verkaufen möchtest, baust du den Widerstand ein, > für Hobbyzwecke kannst du ihn auch weglassen. wicki schrieb: > pps: die 5V fuer den PIC kommen vom USB-Bus USB ist bekannt für schlechte Versorgung, da schwirrt oft alles mögliche drauf rum. Hast du den PIC gründlich abgeblockt? Teste die Schaltung mal an einem gespeisten USB Hub and dann wieder direkt am Rechner.
Nein, ich moechte "die Schaltung" nicht verkaufen - ich moechte nur eine kleine Heizung damit regeln. Und wenn das nicht klappt oder mal ein PIC oder Mosfet gehimmelt wird, dann waere das nicht schlimm gewesen. Mich ueberraschte nur die Beharrlichkeit, mit der der PIC immer wieder resettet hat. Das hatte ich bei viel uebleren "out-of-specs"-Aufbauten noch nie erlebt.
wicki schrieb: > Und den Brown-out-Status abzufragen ist sinnfrei, wenn > Brown-out inaktiv ist. - oder ? Es wurde nicht über den Brown-Out-Status geredet, sondern über den Reset-Grund. Meines Erachtens - und ich mache viel mit PICs - ein sehr wertvoller Tip. Besonders, wenn es Dir um den Erkenntnisgewinn geht. Wenn ...
Jötze schrieb: > Es wurde nicht über den Brown-Out-Status geredet, sondern über den > Reset-Grund. > Meines Erachtens - und ich mache viel mit PICs - ein sehr wertvoller > Tip. Ich dachte, den kann man nur sinnvoll abfragen, wenn Brown-Out aktiv ist. Bislang hatte ich das noch nie, dass ein PIC ungewollt einen Reset machte. Daher habe ich mich auch noch nie damit befasst. Wird dann wohl mal Zeit.
Leider hast Du uns den genauen Aufbau Deines Projekts (Hard- und Software) nicht mitgeteilt. Ebenso gehst Du bei der Suche nach der Ursache, dem Wirkzusammenhang, sehr chaotisch und unwissenschaftlich vor. Du machst Annahmen - dies aber nicht, um sie zu validieren, sondern um sie per se als wahr anzusehen. Meines Erachtens gab es genügend Hinweise aus dem Forum, denen Du nachgehen hättest sollen. Aber: "... glaube ich nicht ...", "... kann nicht sein ..." etc. Bei den Resetgründen kannst Du alles, was im RCON-Register steht auswerten. Ich weiss ja nicht, ob Du den Watchdog eingeschaltet hast, was genau an Deinem MCLR-Pin hängt, warum BOR ausgeschaltet ist. Ich weiss aber, dass Du nur mit diesen Tips unglaublich gut nach dem Resetgrund forschen kannst. Und btw.: GENAU Dein Fehlerbild hatte ich mit einem PIC16F84A vor bestimmt 15 Jahren bei einer ähnlichen Anwendung im Kfz. Ich bin den Ursachen bis zur letzten Unklarheit nachgegangen und habe auf diesem Weg eine Menge gelernt. Wie willst Du denn sonst Erfahrungen sammeln, auf die es doch ankommt, wie soll Expertise wachsen? "Die Schaltung läuft jetzt. Warum weiss ich nicht. Egal." höre ich so oft - und bin jedesmal wieder echt betroffen.
Matthias S. schrieb: > je höher die Charge ist, umso mehr Strom braucht er dafür. Nein, das ist nicht so. Ein leerer Kondensator, egal welcher Größe, hat immer einen Anfangswiderstand von 0 Ohm. Damit wäre der Strom immer unendlich. In Wirklichkeit wird aber der Strom nur vom Innenwiderstand der Quelle bestimmt. Ist der Kondensator größer, die notwendige Ladung also höher, desto länger fließt der durch den Quellwiderstand und die Kondensatorformel gegebene Strom. Jetzt aber mal von der Theorie zur Realität. Der oben gezeigte Auschnitt stammt zwar aus dem Datenblatt eines anderen PIC, zeigt aber was wirklich vor sich geht. Im typischen Fall (grüne Kurve) ist bei einem Strom von ca. 26mA die Augangsspannung auf 0V gesunken. Das ergibt einen Quellwiderstand von rund 190 Ohm. Wenn man den Ausgang nicht ganz so stark belastet, ist der Widerstand geringer, beträgt aber immer noch rund 100 Ohm. Dieser Wert bestimmt den Strom in den Kondensator bzw. das Gate des FETs und nicht die Größe des Kondensators. MfG Klaus
Jötze schrieb: > Meines Erachtens gab es genügend Hinweise aus dem Forum, denen Du > nachgehen hättest sollen. Ich bin_ dem _ersten Hinweis nachgegangen und der hat Problem beseitigt. Hab mich auch artig dafuer bedankt. Und die Idee, den Mosfet ohne Vorwiderstand direkt am PIC zu betreiben stammt genau von hier - auch wenn sie schon 5 Jahre alt ist. Und dem RCON koennte ich wohl auch nicht viel entnehmen: BOR ist aus, Watchdog gibts keinen und ein "reset" gibt es nur 1x im Code. Zunaechst ging es darum, das Ding wieder zum Laufen zu bringen. Das tut es nun - Die Ursache (und Reproduzierbarkeit) dieses Effekts ist interessant und was fuer lange Winterabende. Aber nichts fuer "mal eben zwischendurch". Schoenen Dank fuer alle konstruktiven Tips - aber nun ist Feierabend fuer heute. Wenn ich das mal nachvollzogen habe, was die Ursache ist, dann stell ich das hier rein. Munter bleiben Wicki
wicki schrieb: > BOR ist aus, Watchdog gibts keinen und ein "reset" gibt > es nur 1x im Code. Ja dann enable BOR halt mal vorübergehend! Du wüsstest sofort, ob ein Brown-Out das Problem ist. Ebenso der Watchdog: vorübergehend enabled könntest Du am gesetzten Reset-Flag sofort erkennen, ob es ein von außen getriggertes Problem im Programmablauf gibt (z.B. Verlust von Rücksprungadressen). Und den reset-Befehl würde ich vorübergehend deaktivieren, damit er nicht durch wildlaufenden Code angesprungen werden kann. Ob der MCLR-Reset aktiviert ist hältst Du ja weiterhin genauso geheim wie die Beschaltung des entsprechenden Pins.
Klaus schrieb: > Ist der Kondensator größer, die notwendige Ladung also höher, > desto länger fließt der durch den Quellwiderstand und die > Kondensatorformel gegebene Strom. Aha, also doch. Vllt. bist du dann mit der Aussage 'der mittlere Strom ist bei einer höheren Gate Charge höher' zufrieden. Ansonsten halte ich das aber eher für Haarspalterei. Natürlich brauche ich bei gleicher Aufladezeit und mehr Ladung mehr Strom, deswegen habe ich oben den Link auf Coulomb gepostet. Und es ist sicher nicht besonders betriebssicher auf lange Sicht, sich lediglich auf den Innenwiderstand eines MC Ausganges zu verlassen. Eine externe Begrenzung kostet so gut wie nichts. Es handelt sich um einen einzigen Widerstand, keine Raketenbaugruppe.
:
Bearbeitet durch User
Matthias S. schrieb: > Natürlich brauche ich bei gleicher Aufladezeit und mehr Ladung mehr > Strom, deswegen habe ich oben den Link auf Coulomb gepostet Nicht mehr Strom, man braucht länger Strom. Und die Aufladezeit bestimmst nicht du (da magst du dir wünschen, was immer du willst), sondern die Kondensatorformel gerechnet mit dem Innenwiderstand der Quelle. Du solltest an deiner Vorstellung von einem RC-Glied noch etwas arbeiten. MfG Klaus
wicki schrieb: > Hallo Matthias, > > danke fuer die Rueckmeldung. > > Nachgedacht habe ich darueber natuerlich auch schon. > Aber: > Den Millereffekt kann man bei 2Hz m.E. vernachlaessigen. Der Unterrschied zwischen Flankensteilheit und Frequenz ist dir bewusst? Ist ja kein Sinus, sondern ein Rechteck mit scharfen Flanken. Genauer: Egal ob du 1x oder mit 100kHz schaltest, die Flanken sind gleich! Und damit ist der Ladestrom in einen leeren Kondensator immer gleich. Das gilt übrigens auch für Taktleitungen usw: Langsamer Takt ist nicht unkritischer, wenn die Slew Rate gleich ist!
KühneThese schrieb: > Der Unterrschied zwischen Flankensteilheit und Frequenz ist dir bewusst? Anscheinend hat Klaus es immer noch nicht verstanden. Ich verweise nochmal auf https://en.wikipedia.org/wiki/Coulomb Und da gleich auf die erste Formel: C = I * t | C ist die Ladung, I der Strom und t die Ladezeit. Stellen wir mal nach I um: I = C / t t ist die Anstiegszeit bzw. reziproke Flankensteilheit. Sofort wird klar, das bei grösseren C auch der Strom steigt, denn ich möchte ja innerhalb der Anstiegszeit die Ladung des Gate komplett machen. Dabei ist es, wie KühneThese schon schreibt, völlig wurscht, ob das mit 2Hz oder 100kHz läuft, entscheidend ist die Anstiegszeit bzw. Flankensteilheit des Steuersignals. Ich kann den Strom verringern durch eine Verlängerung der Anstiegszeit - sprich, indem ich einen RC Tiefpass mit Gatevorwiderstand und Gatekapazität bilde.
Matthias S. schrieb: > Ich kann den Strom verringern durch eine Verlängerung der Anstiegszeit - > sprich, indem ich einen RC Tiefpass mit Gatevorwiderstand und > Gatekapazität bilde. Richtig. Verringern kann man ihn, aber man bekommt ihn nicht höher, als das R es zuläßt. Und du übersiehst, daß das R aus der Hintereinanderschaltung des externen Widerstandes und des Innenwiderstand des µC besteht. Selbst wenn du den externen zu 0 machst, bleibt der Innenwiderstand. Und bei dem von mir gezeigten Bild für den PIC16F1825 kann man ersehen, daß er je nach Strom zwischen 100 und 200 Ohm liegt. Das wird bei anderen Chips ähnlich sein, sie sind ja auch nur aus Silizium mit vergleichbaren Strukturen. Das wiederum bedeutet, daß selbst bei dem kleineren Wert von 100 Ohm und 5V nie mehr als 50mA fließen können. Und nie heißt zu keinem Zeitpunkt, egal wie klein der externe Widerstand ist. Und es bedeutet auch, daß man die Ansteuerung nicht schneller machen kann, als es die 100 Ohm zulassen. Nicht umsonst gibt es FET Treiber mit einem wesentlich niedrigeren Innenwiderstand. MfG Klaus
Ich sag mal auch, stelle den Resetgrund fest, erst dann kann man weiter sehen. Sehr oft gibt es keinen, d.h. die SW macht den Fehler und läuft über die Reset-Adresse. Z.B. ein offener Eingang, der die SW in einen nicht bedachten Zustand bringt, kann ein HW-Fehler vortäuschen. An VCC nehme ich mindestens noch nen 100µF Elko zur Pufferung. Es gibt zwar hier ne starke Fraktion, die 100nF Pille am MC reicht, aber davon halte ich nichts. Bei schlappen 12V lache ich nur über die Gate-Kapazität und schließe den FET immer direkt an. Die wird erst in Schaltnetzteilen bei 400V ein Problem, der Umladestrom steigt mit U² an. Was aber wichtig ist, ist der Pulldown am Gate, um den FET ausgeschaltet zu lassen, solange der MC noch nicht das Programm gestartet hat. USB vom PC nehme ich grundsätzlich nicht zum Basteln, da kann man wunderschöne Erdschleifen basteln und sich nicht nur die Schaltung zerschießen, sondern auch das Motherboard. Wenn, dann nehme ich ein USB-Steckernetzteil. Für Schaltungen, die eine USB-Verbindung benötigen, nehme ich den USB-Isolator.
wicki schrieb: > Oder sehe ich das falsch? Ja. Ich habe sogar den Eindruck, daß du die Sache überhaupt nicht überblickst. Die allermeisten PIC's haben im Gegensaz zu vielen anderen µC recht leistungsstarke Pintreiber, die in beiden Richtungen (hi und lo) ganz ordentlich Strom ziehen/liefern können. Wenn ich mich recht erinnere, war da 25 mA garantiert, realiter ist es drastisch mehr (genau so wie die 50 MHz am Counter0-Prescaler, realiter bis 140 MHz). So - und nun denk mal nach. Bei so einem FET hat es ja nicht nur die berüchtigte Miller-Kapazität, sondern ebenso die ganz simple Kapazität zwischen Gate und Source - und die ist typabhängig im Bereich um und bei 1..5 nF oder so. Was also passiert, wenn diese Kapazität entlsden ist und du einen Kurzschluß zwischen ihr und Vcc machst (indem du das Pin auf hi setzt)? Jaja, Vcc wird einbrechen, und zwar umso mehr, je weicher die Abblockung von Vcc gegen GND ist und/oder die Leitungsführung ungünstig ist. Was passiert dann? Nun, je nach Typ und Fuses kommt der Brownout-Detektor zum Einsatz und fabriziert...... einen Reset. Bingo. Mit dem Wechsel des FET's hast du also nur zufällig am Symptom herumgedoktert, aber nicht die Ursache behandelt. Für zweimaliges Einschalten des FET's pro Sekunde braucht er nicht binnen 10 ns umgeschaltet zu werden, also schleife in die Gate-Leitung einen Schutzwiderstand ein, 470 Ohm sollten ausreichen und mit 2k2 tut er es auch noch. W.S.
W.S. schrieb: > Die allermeisten PIC's haben im Gegensaz zu vielen anderen µC recht > leistungsstarke Pintreiber, die in beiden Richtungen (hi und lo) ganz > ordentlich Strom ziehen/liefern können. Wenn ich mich recht erinnere, > war da 25 mA garantiert, Es wird aber nicht garantiert, daß bei 25mA noch ein gültiges High raus kommt. Aus dem von mir gezeigten Bild aus dem Datenblatt geht sogar hervor, daß bei 25mA nur noch 1V rauskommen. 4V bleiben also am Innenwiderstand des Chips liegen (der sich also zu 160 Ohm ergibt). Trotzdem steht auf Seite 1 des Datenbattes > - High current sink/source 25 mA/25 mA Beim PIC18f14k50 steht im Datenblatt, daß bei einem Strom von 3,5mA die Ausgangsspannung bis zu 0,7V einbricht. Daraus kann man einen Innenwiderstand von rund 200 Ohm errechnen. Auch da wird ein Strom von 25mA garantiert. W.S. schrieb: > Was also passiert, wenn diese Kapazität entlsden ist und du einen > Kurzschluß zwischen ihr und Vcc machst (indem du das Pin auf hi setzt)? Dieser "Kurzschluß" ist also in Wirklichkeit ein Widerstand im Bereich 100 bis 200 Ohm. Damit können zwar 25mA fließen, aber auch nicht wesentlich mehr. Man schaltet also ein paar nF über 100 plus Ohm an den Blockkondensator von einigen 100 nF, der genau dafür da ist. Wenn da etwas einbricht, stimmt der Block-C nicht. Dieses Rumreiten auf den Gatewiderständen (nicht nur in diesem Thread) hat mit den wirklichen Problemen nichts zu. Manchmal rettet das langsamer machen eines FETs durch diese Widerstände eine ansonsten schlechte Schaltung. Aber jedes Gewerk hat so seine kleinen schmuddeligen Tricks, sei es Bauschaum, Silikon oder eine Tüte delay(). Hinterher kann man das dem unkritischen Publikum immernoch als notwendig verkaufen. MfG Klaus
Das Problem ist mit Sicherheit schlechte Masse- bzw. 5V-Führung und Filterung auf der Leiterplatte - die Gateströme gehen vermutlich seltsame Wege, und gaukeln dem PIC falsche Eingangssignale vor.
Ich habe jetzt nochmal die gleiche Hardware neu geloetet. Aber diesmal dem Mosfet eine Fassung verpasst. Und es war tatsaechlich so, dass der PIC-Reset reproduzierbar war, wenn ich einen IRF 640N reingesteckt habe. Er kommt dann aber genauso mit einem "1C" im RCON zurueck, als wenn ich die Spannung abschalte. Das ganze haengt mit der Stromentnahme ueber den 640N zusammen. Wenn der Strom unter 1A bleibt, ist alles schoen. Ist er groesser, wird ein Reset ausgeloest. Aber ich sehe keine Spannungseinbrueche und ueber den jetzt mal eingebauten IRFI 540N laufen sogar 3 Ampere ohne Probleme. Klar, der 640N ist die falsche Wahl - aber wieso es zu einem PIC-Reset kommt, dass will mir immer noch nicht einleuchten. Nun habe ich aber die Heizung fest montiert (andere Kabelfuehrung) und nun kann ich den beschriebenen Reset-Effekt nicht mehr ausloesen. Egal mit welchem Mosfet. Scheinbar ergab sich aus aus Heizung, Gate-Kapzitaet, Kabellaenge- und -fuehrung irgendein omminoeser Schwingkreis, der dem PIC eins auf den Deckel gehauen hat. Dann habe ich munter weiter probiert, andere Mosfets getestet und ploetzlich war nicht nur ein Fehler wieder da (der PIC resettete allerdings nicht)- der Ausgangspin der PIC war aber offenbar gehimmelt. Der Mosfet (egal welcher) wurde durchgeschaltet und blieb es auch. Zumindest konnte er offensichtlich die Ladung des Gate nicht mehr abfuehren. Nun habe ich die Vorstellung vom Mosfet direkt am PIC endgueltig verworfen. Den Optokoppler wieder eingebaut und nun laeuft es und wird es wohl wieder weiter laufen wie vorher. Von jetzt an werde ich keine Mosfets mehr an PICs anschliessen, ohne einen Optokoppler dazwischen zu schalten. merk ! Munter bleiben Wicki
wicki schrieb: > der Ausgangspin der PIC war aber offenbar gehimmelt. Das hätte ein Widerstand am Gate vermutlich wirkungsvoll verhindert, auch ohne Optokoppler, der hier meiner Meinung nach völlig Overkill ist. Gruß
DomeG schrieb: > Das hätte ein Widerstand am Gate vermutlich wirkungsvoll verhindert, moeglich - oder auch nicht.... Eine Menge zu dem Effekt haben vermutlich auch die gemeinsamen Massen der beiden Stromversorgungen beigetragen. Die ja dann auch zugleich USB-Masse ist. Wenn das eine Extrem (gar kein Bauteil zwischen PIC und Mosfet) nicht sicher funktioniert, dann nehme ein eben das andere Extrem. Und mit dem Optokoppler habe ich auch noch ein breiteres Spektrum an Mosfets zur Auswahl. Munter bleiben Wicki
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.