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.
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.
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.
Michael K. schrieb:> Was soll dieses: 'Munter bleiben' ?
Kommt aus dem Plattdeutschem.
Munter = Wach, Lebendig, Freudig...
Er wünscht ein "Gesundes und freudiges Leben".
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.
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 ?
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.
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