Hallo zusammen. Ich habe - wie in der Abbildung zu sehen - einen IRLU024N am µC Ausgang. Dieser schaltete LEDs. Der µC-Ausgang wird in der SW abgeschaltet. Wenn ich nun den Controller flashe oder starte, leuchten die LEDs kurz auf, bevor der Ausgang in der SW abgeschaltet wird. Das der Pin beim Start einen undefinierten Zustand hat ist mir klar. Allerdings dachte ich, dass durch die Verbindung des Pins mit GND über die Widerstände, der Pin definiert auf GND liegt!? Wo ist mein Denkfehler?
Wie lautet denn der Name des Ports, an dem diese Konstellation hängt?
Eine Möglichkeit: Beim Einschalten der Versorgungsspannung geht sie von 0 auf Nennspannung in endlicher Zeit. Im Bereich von 0 bis zu einem nicht näher bekannten Wert ist alles im µC noch undefiniert (der Reset kann dann noch nicht wirken). D.h.: in diesem Bereich kann ein Ausgang auch aktiv-High sein. Je nachdem wie lange diese Zeit ist, könnte das die Ursache sein. Mess doch mal - die Anstiegszeit der Versorgungsspannung - den Ausgang beim Einschalten Gruß Dietrich
Rolf Magnus schrieb: > Wie lautet denn der Name des Ports, an dem diese Konstellation hängt? PB5, dass ist der PWM Ausgang OC1A. Dietrich L. schrieb: > D.h.: in diesem Bereich kann ein Ausgang auch aktiv-High sein. > Je nachdem wie lange diese Zeit ist, könnte das die Ursache sein. Ich gehe davon aus, dass das die Ursache ist. Messen kann ich es gerade nicht. Was macht man dagegen?
ein Widerstand von 3..5K Ohm vom Pin nach Gnd hilft. Nach Reset wirkt der interne PullUp von 20..50 K Ohm. Obiger Widerstand verhindert das die Spannung groß genug wird um den Fet aufzumachen.
Okay, das werde ich mal ausprobieren. Dachte, dass der bereits existierende R nach GND ausreicht. Aber 100K sind wohl zu groß!?
Lord Ziu schrieb: > Ich gehe davon aus, dass das die Ursache ist. Messen kann ich es gerade > nicht. Was macht man dagegen? Fuses für Brownout-Detector auf passenden Minimalpegel programmieren. Allerdings spricht dagegen, dass es bei dir bei jeder Programmierung geschieht, nicht nur beim Einschalten der Versorgungsspannung.
tom schrieb: > Nach Reset wirkt der interne PullUp von 20..50 K Ohm. Das sollte eigentlich nicht sein. Das Datenblatt meint in 2.3.4: The Port B pins are tri-stated when a reset condition becomes active, even if the clock is not running.
Hallo, ich habe ein ähnliches Problem, weshalb ich nochmals in diesen Beitrag poste. Bei mir findet ein PIC 16F913 Verwendung, mit dem ich einen P-Kanal Mosfet ansteuere (IRLML6401, siehe Schaltung im Anhang). In der Software wird der Port (RA1) sowie das Tristate-Register (TRISA) korrekt initialisiert. (Der PIC-Pin ist beim Initialisieren zuerst Tristate und wird dann als digital output auf High gesetzt. Sollte eigentlich auch funktionieren. Die Umschaltung von analogem Eingang auf Digital I/O macht der Compiler selber.) Sobald die Versorgungsspannung eingeschaltet wird, steuert der MOSFET kurz durch und die Last (High-Power LED) blitzt kurz auf. Bei erneutem Einschalten ist der Effekt weg. Erst wenn längere Zeit ausgeschalten wird und alle Kapazitäten entladen sind, tritt das Problem wieder auf. Ich habe einen Test gemacht und den Vorwiderstand entfernt. Sobald ich mit einer Messspitze auf das Gate komme steuert der MOSFET wieder kurz durch (Schaltung war vorher wieder länger aus). Also habe ich vermutet, dass der Pull-up Widerstand zu hochohmig ist, und ich mit meinen Streukapazitäten das Gate kurzzeitig runterziehe und den MOSFET kurzzeitig einschalte. Aber auch mit einem 10k Widerstand ist das Problem immer noch vorhanden. Was könnte es sonst noch sein? Besten Dank
Ok, ich habs inzwischen selbst gelöst. Rvor = 1k und C=100nF parallel zum Pull-up Widerstand.
Jetzt musst du zusätzlich zur Gate-Kapaztät auch noch den Kondensator umladen. Solange du nur mal Ein- und Ausschaltest spielt das keine große Rolle, PWM ist damit aber nicht möglich. Ist der PIC-Pin wenn er auf Ausgang geschaltet wird erst auf low?
Ja, die Kapazität muss mit umgeladen werden, aber für meine Anwendung funktionierts und eine andere Lösung habe ich noch nicht gefunden. Mit dem MOSFET wird die Versorgungsspannung für den LED-Treiber geschaltet. Durch den grösseren Vorwiderstand von 1k wird der Strom, der aus dem Gate in den Pic fliesst reduziert. Ohne diesen Kondensator müsste ich den Vorwiderstand Faktor 5..10 grösser machen um den gleichen Effekt zu erreichen, dass die LED nicht aufblitzt, aber dann steuert der MOSFET nicht mehr richtig durch --> was gar nicht geht Ich hab noch folgende Kombinationen getestet: Rvor=1k und Rpull-up=10k == LED blitzt kurz auf --> zusätzl. C=100nF =ok Rvor=1k und Rpull-up=100k == gleiches Ergebnis --> zusätzl. C=100nF =ok Rvor=10k!! und Rpull-up=4.7k == Blitzen ist weg, aber MOSFET steuert auch nicht mehr richtig durch, da die Gatespannung nicht mehr negativ genug ist Der Pin (RA1) ist beim Startvorgang des PIC zunächst ein Analogeingang. Wird dann auf Digital Input umgeschaltet (den Code dafür generiert der CCS-Compiler selbst, die Umschaltung passiert beim Einsprung in main()). Innerhalb von main() wird der Pin als Ausgang initialisiert und auf High gesetzt, um den MOSFET zu sperren. In der Zeit bis zur Initialisierung ist der Pin hochohmig (Tristate-Register auf High). D.h. der Pin hat in diesem Moment den Spannungspegel von der Source des MOSFET eingeprägt. Der ungewünschte Spike (LED-Blitz) entsteht nach ca 20..40us nach Einschalten und dauert so 20..60us. Ich vermute, dies liegt daran, das eine gewisse Ladungsmenge in den Pin des PIC fliesst evtl. in dem Moment, wenn dieser noch kurzzeitig auf Analogeingang gesetzt ist (was ich nicht beeinflussen kann). Der Analogeingang ist ja eine Sample&Hold-Stufe. Je nachdem ob der Switch geschlossen ist oder nicht wirkt die Eingangskapazität am Pin (5pF) und die Holdkapazität (10pF)+1k Ric (siehe Bild Anhang) in welche die Ladung aus dem Gat fliessen könnte. An einem anderen Pin habe ich ebenfalls einen MOSFET (N-Channel). Dieser wird mit PWM angesteuert (1kHz). Der Serienwiderstand ist hier 100R und der Pull-down Widerstand zwischen Gate und Source ist 100k. Funktioniert bestens. Klar bei höheren PWM-Frequenzen würde ich wahrscheinlich Probleme mit den Kapazitäten am Gate bekommen.
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.