Hallo zusammen, Siehe Beispielschaltung im Anhang. Wenn ich mit einem Mikrocontroller einen kleinen N-Kanal-MOSFET schalten will, schalte ich immer einen Widerstand (R1) zwischen µC-Pin und dem Gate des Mosfets. Außerdem vom µC-Pin nach GND auch noch einen hochohmigen Widerstand (R2). R1 begrenzt die Belastung des µC-Pins durch die Gate-Kapazität. R2 sorgt dafür, dass der Mosfet defintiv aus ist, wenn der µC im Reset-Zustand ist und deshalb seine Pins hochohmig sind. Jetzt meine Frage: Ich habe es schon extrem oft gesehen, dass die Gates von Kleinleistungsmosfets direkt mit uC-Pins geschaltet werden. Nicht nur in Bastelprojekten, sondern auch in Produkten, die in Großserie millionenfach gebaut werden. Ich finde das aber alles andere als elegant, wenn es wegen der hohen Flankensteilheit des Ausgangssignals des uCs bei jedem Schalten eine nadelförmige Stromspitze gibt. Wenn genau in dem Moment der ADC im µC aktiv ist, könnte der Wert etwas daneben liegen, weil VDD bzw. VSS des uCs verschoben ist. Dass z.B. beim Flashen des Mirkocontrollers die Mosfets zufällige Schaltzustände haben, kann ja je nach Anwendung egal sein. Sollen doch ein paar LED's flackern. Das sehe ich ein, dass zur Kosteneinsparung R2 weggelassen werden könnte. Was meint ihr dazu? Grüße, Third Eye
Third E. schrieb: > Jetzt meine Frage: Ich habe es schon extrem oft gesehen, dass die Gates > von Kleinleistungsmosfets direkt mit uC-Pins geschaltet werden. Nicht > nur in Bastelprojekten, sondern auch in Produkten, die in Großserie > millionenfach gebaut werden. Ja, vollkommen normal. > Ich finde das aber alles andere als elegant Weil du halt keine Ahnung hast. Kommt auf das konkrete Problem an. Ein generelle "Eleganz" gibt es hier nicht und auch eigentlich nirgendwo in der Elektronik. Die ist immer ein Kompromiss. Man muss einfach rechnen, dann kann man entscheiden, ob ein Widerstand nötig oder kontraproduktiv ist und (falls nötig) wie groß der sein muss. That's all. RECHNEN, nicht dummlabern.
Third E. schrieb: > Ich finde das aber alles andere als elegant, wenn es wegen der hohen > Flankensteilheit des Ausgangssignals des uCs bei jedem Schalten eine > nadelförmige Stromspitze gibt. Das stört den µC nicht, und geht auch nicht kaputt, solange man nicht mit hoher Freuqnez schaltet (also viel Umschaltleistung umgesetzt wird). > Wenn genau in dem Moment der ADC im µC aktiv ist, könnte der Wert etwas > daneben liegen, weil VDD bzw. VSS des uCs verschoben ist. Da könnte was dran sein, aber das Problem haste auch, wenn auch in geringerem Maße, auch mit Gate-R. Und da heutzutage die µCs vorwiegend aus CMOS bestehen, die bei jedem internen Umschaltvorgang Querstromspitzen erzeugen (also MHz-weise), ist das Problem der Mosfet-Ansteuerung eigentlich kein extra Problem mehr. Zumal man die Auswirkungen der Laststromspitzen auf die Eingänge durch elegantes Leiterplattendesign wieder ziemlich gut eliminieren kann ...
Third E. schrieb: > Ich habe es schon extrem oft gesehen, dass die Gates > von Kleinleistungsmosfets direkt mit uC-Pins geschaltet werden. ... > Ich finde das aber alles andere als elegant, wenn es wegen der hohen > Flankensteilheit des Ausgangssignals des uCs bei jedem Schalten eine > nadelförmige Stromspitze gibt. Die gibt es bei jedem angeschlossenen CMOS-Gatter. Was meinst du was die Eingänge von Gattern sind? Auch bei internen Verbindungen. Ja, sogar offene Pins haben eine Kapazität gegen GND. Außerdem wirkt schon der Bahnwiderstand des (internen) MOSFET am Ausgang strombegrenzend. Bei 30..50Ω ist die Stromspitze überschaubar. Und bei einem kleinen MOSFET wie BSS138 oder 2N7002 sind das ca. 25pF. Da ist die Stromspitze auch nicht lang. > Wenn genau in dem Moment der ADC im µC aktiv ist, könnte der Wert etwas > daneben liegen, weil VDD bzw. VSS des uCs verschoben ist. Dagegen helfen Abblockkondensatoren. Die intern umzuladenden Kapazitäten machen viel größere Rippleströme. Bei CMOS-Logik ist oftmals eine interne Kapazität angegeben, zur Berechnung der dynamischen Stromaufnahme. Die liegt zwar für Logik nur im pF Bereich. Aber ein µC ist auch wesentlich komplexer. Und wenn ganz besonders wenig Störungen auf dem ADC sein sollen, legt man den µC während der Wandlung eben schlafen. Da schaltet dann auch nix. OK, außer wenn die Hardware schaltet, z.B. ein Timer. Aber dann kann man die Wandlung auch so einplanen, daß da nichts gerade schaltet.
Na Tatsache ist ganz ohne Gate-Widerstand wird der µC im Umschaltmoment außerhalb seiner SOA betrieben. Ob er das aushält oder nicht mal dahingestellt, schön finde ich es nicht, schon gar nicht wenn man eine PWM mit ein paar kHz vom µC am FET sehen möchte. Die Datenblätter vom ATTiny24 und ATMega1284 sagen z.B. 40mA pro I/O Pin als absolute Maximalgrenze, darüber kann der µC Schaden nehmen. Das bedeutet, daß man an 5V nicht unter 125 Ohm gehen sollte, sonst wird dieser Strom im Umschaltmoment überschritten.
Ben B. schrieb: > Na Tatsache ist ganz ohne Gate-Widerstand wird der µC im Umschaltmoment > außerhalb seiner SOA betrieben. Das ist ganz und garnicht "Tatsache". Es kann natürlich so sein, muss es aber nicht. > Die Datenblätter vom ATTiny24 und ATMega1284 sagen z.B. 40mA pro I/O Pin > als absolute Maximalgrenze, darüber kann der µC Schaden nehmen. Das > bedeutet, daß man an 5V nicht unter 125 Ohm gehen sollte, sonst wird > dieser Strom im Umschaltmoment überschritten. Du kannst nicht "dynamisch" denken... Wo die Stromflanken extrem steil werden, werden auch die Induktivitäten der Leiter immer relevanter, die selbige dämpfen. Mit deiner ohmschen Gleichung aus Physik Klasse 5 oder so kommmst du bei solchen Betrachtungen nicht sehr weit...
> aus Physik Klasse 5
Immerhin habe ich's im Vergleich zu anderen Leuten bis dahin geschafft,
die trotz großer Mühen seitens des Kindergartens nicht mal größer oder
kleiner gelernt haben.
Ein Argument wird nicht dadurch besser, daß man so herumpoltert.
Merk Dir das mal!
Ben B. schrieb: > Ein Argument wird nicht dadurch besser, daß man so herumpoltert. Das solltest vor allem du dir merken. Man stellt keine unzulässig verallgemeinerten Behauptungen auf (und hält die auch noch für ein Argument im Bezug auf ein konkretes Problem). Das kann und wird Gegenwind auslösen. Und das ist auch gut so.
Third E. schrieb: > Siehe Beispielschaltung im Anhang. Mit dem R2 tust du dir bestimmt keinen Gefallen, wenn mehr als eine 20mA LED-Funzel dranhängt.
Ben B. schrieb: > Na Tatsache ist ganz ohne Gate-Widerstand wird der µC im Umschaltmoment > außerhalb seiner SOA betrieben. Man sollte dabei natürlich in Betracht ziehen, dass die Flanke am Pin nicht in 0ps ansteigt. Und wenn man da von realistischen 5-10ns ausgeht, dann ist es ein Leichtes, die besagten 25pF Gatekapazität ohne jegliche Überlastung des Ausgangstransistors umzuladen. > außerhalb seiner SOA betrieben. Und eben diese SOA ist ein Diagramm für dauerhafte Betriebszustände. Man kann auch bei "normalen" Transistoren die SOA kurzzeitig im Umschaltvorgang verlassen. Für solche kurze Überlastpulse gibt es dann andere Diagramme.
:
Bearbeitet durch Moderator
Da sind schon Bugs im Schaltbild. Der Widerstand R1 müßte am Gate liegen. In seinem Fall mit der kleinen Last und niedrigen prozessorgleichen Spannung von 5V, so dass keine großen Stromspitzen durch die parasitäre Gate-Drain-Kapazität zu erwarten sind, könnte man den Widerstand ausnahmsweise weglassen.
Dieter schrieb: > Da sind schon Bugs im Schaltbild. Der Widerstand R1 müßte am Gate > liegen. Begründung? Die Position von R1 ist völlig wursch. R1 hat sowieso nur eine Bedeutung, solange der Pin den Pegel nicht aktiv irgendwohin zieht. Gegenüber R2 ist R1 so groß, dass die Position für die Ableitung der Gateladung egal ist. Einzig die Dimensionierung von R2 ist Murks.
Axel S. schrieb: > Bei 30..50Ω ist die Stromspitze überschaubar. Nicht unbedingt (R2). Hatte letztens in einem AVR Design mit FDS4935 Mosfet 90 Ohm verwendet und bei einem angesteuerten 8x8 RGB Punktmatrix Display störende Blitzer die ich auf kurzzeitige Überlastung der AVR Ausgänge + dadurch ausgelöste Störungen zurückführen würde. Mit 180 Ohm war das Problem behoben. Der R1 ist hier bei den zeitlich minimal uninitialisierten Pinpegeln komplett überflüssig.
Jan V. schrieb: > Hatte letztens in einem AVR Design mit FDS4935 Mosfet 90 Ohm verwendet > und bei einem angesteuerten 8x8 RGB Punktmatrix Display störende Blitzer > die ich auf kurzzeitige Überlastung der AVR Ausgänge + dadurch > ausgelöste Störungen zurückführen würde. Mit 180 Ohm war das Problem > behoben. Klingt für mich eher nach einem Softwarefehler. Deine Widerstände bilden zusammen mit den Eingangs-Kapazitäten der Transistoren Tiefpässe, was sie träger macht. Kurze Impulse (die dein Programm erzeugt) werden jetzt schlicht ignoriert. Ist nur eine Vermutung.
Steve van de Grens schrieb: > Klingt für mich eher nach einem Softwarefehler. Lass es theoretisch klingen wie es will, das Problem war praktisch mit den größeren Widerständen und ohne jegliche Softwareänderung behoben.
Jan V. schrieb: > das Problem war praktisch ... behoben. Das glaube ich dir. Ich wollte nur anregen, die eigentliche Problemursache zumindest zu untersuchen, wenn du dafür Zeit hast.
Steve van de Grens schrieb: > wenn du dafür Zeit hast Daran mangelt es in der Tat. Nachdem aber alle Impulse mit Bedacht erzeugt werden und sicher funktionell nötig sind würde für mich ein Softwareproblem ausscheiden.
Jan V. schrieb: > das Problem war praktisch mit den größeren Widerständen und ohne > jegliche Softwareänderung behoben. Nö, das war nur ein Würg-Around, hat aber nicht die Ursache behoben. Ich hatte auch mal auf dem STK500 2 Befehle in der falschen Reihenfolge. Bei 8MHz waren das 125ns Leuchtdauer, im Dunkeln gut zu sehen. Nach Korrektur der Software blieb die LED aus. Befehle werden nicht in 0ns ausgeführt, sondern brauchen Zeit. Ghosting beim Multiplexen hat fast immer Softwarefehler als Ursache.
Third E. schrieb: > Wenn ich mit einem Mikrocontroller einen kleinen N-Kanal-MOSFET schalten > will, schalte ich immer einen Widerstand (R1) zwischen µC-Pin und dem > Gate des Mosfets. Falsch, das ist bei dir R2 und der ist mit 10k viel zu groß. Man braucht ihn nicht. Beitrag "Re: Transistor, 1A, 4MHz Schaltfrequenz" > Außerdem vom µC-Pin nach GND auch noch einen hochohmigen Widerstand > (R2). Das ist R1. > R1 begrenzt die Belastung des µC-Pins durch die Gate-Kapazität. Braucht man nicht. > R2 sorgt dafür, dass der Mosfet defintiv aus ist, wenn der µC im > Reset-Zustand ist und deshalb seine Pins hochohmig sind. Ja. > Jetzt meine Frage: Ich habe es schon extrem oft gesehen, dass die Gates > von Kleinleistungsmosfets direkt mit uC-Pins geschaltet werden. Nicht > nur in Bastelprojekten, sondern auch in Produkten, die in Großserie > millionenfach gebaut werden. Weil das normal ist. > Ich finde das aber alles andere als elegant, wenn es wegen der hohen > Flankensteilheit des Ausgangssignals des uCs bei jedem Schalten eine > nadelförmige Stromspitze gibt. So what! Es funktioniert. Jeder MOSFET-Treiber arbeitet so! > Wenn genau in dem Moment der ADC im µC aktiv ist, könnte der Wert etwas > daneben liegen, weil VDD bzw. VSS des uCs verschoben ist. Könnte. Ist es in den allermeisten Fällen aber nicht. Erstens, weil kein ADC verwendet wird, zweitens, weil zu dem Zeitpunkt kein ADC mißt und drittens weil der Koppelmechanismus meistens auch eher schwach ist. > Dass z.B. beim Flashen des Mirkocontrollers die Mosfets zufällige > Schaltzustände haben, kann ja je nach Anwendung egal sein. Sollen doch > ein paar LED's flackern. Nö. Denn der MOSFET kann auch in einen Zwischenzustand kommen, wo er nur halb eingeschaltet ist und damit viel Verlustleistung erzeugt und im Zweifelsfall abbrennen kann. Und wenn am MOSFET anderes Dinge als nur bischen Blinki-Blinki hängt, will man mal sicher KEINE undefinierten Schalthandlungen! > Das sehe ich ein, dass zur Kosteneinsparung R2 > weggelassen werden könnte. Schlechte Idee. So teuer waren Widerstände nie und sind es im SMD-Zeitalter, wo so ein Ding kaum mehr als 1 Cent kostet, erst recht nicht. Ergo. Die schnellste und PREISWERTESTE Art etwas zu tun, ist es gleich richtig zu tun.
Einen schlappen BSS138 habe ich noch nie mit Gatewiderstand gesehen, Das ist nur was für Leute, die Gürtel und Hosenträger gleichzeitig tragen. Ein Gatewidestand kommt bei mir nur rein, wenn der FET getaktet wird (PWM) und ordentlich Bums (>1A) steuern soll.
Ich erinnere mich an eine LTspice Simulation die am Gate 1,5A zeigte. Vielleicht simuliert mal jemand die oben gezeigte Schaltung. Ich habe hier momentan kein Spice Zugriff.
Ben B. schrieb: > Na Tatsache ist ganz ohne Gate-Widerstand wird der µC im Umschaltmoment > außerhalb seiner SOA betrieben. Ob er das aushält oder nicht mal > dahingestellt, schön finde ich es nicht, schon gar nicht wenn man eine > PWM mit ein paar kHz vom µC am FET sehen möchte. > > Die Datenblätter vom ATTiny24 und ATMega1284 sagen z.B. 40mA pro I/O Pin > als absolute Maximalgrenze, Gleichstrom! > bedeutet, daß man an 5V nicht unter 125 Ohm gehen sollte, sonst wird > dieser Strom im Umschaltmoment überschritten. Der wird auch überschritten, wenn man an einem IO-Pin 10 CMOS-Eingänge mit je 10pF und diversen anderen Streukapazitäten angeschlossen hat. Die Frage ist schlicht, wie lange die Be/Überlastung besteht. Denn die IOs begrenzen ihren Kurzschlußstrom selber. Die meisten Leute überschätzen die Belastung durch die Gatekapazität. Rechne mal aus, wie hoch die Treiberleistung des IO-Pins bei 10kHz und einem mittleren, LL MOSFET ist. Du wirst staunen.
Meine analogen Zeiten sind schon etwas länger vorbei, aber: Third E. schrieb: > R1 begrenzt die Belastung des µC-Pins durch die Gate-Kapazität. > R2 sorgt dafür, dass der Mosfet defintiv aus ist, wenn der µC im > Reset-Zustand ist und deshalb seine Pins hochohmig sind. R1 ist der Pulldown, R2 der Längswiderstand. Also gerade andersrum hätte ich gesagt. Third E. schrieb: > Wenn ich mit einem Mikrocontroller einen kleinen N-Kanal-MOSFET schalten > will, schalte ich immer einen Widerstand (R1) zwischen µC-Pin und dem > Gate des Mosfets. Wenn ich mir das so anschaue liegt doch bei Reset des uC um die 2,5V am Gate des MOSFET (wenn ich von 100k Pullup ausgehe, bei kleinerem Ruc dementsprechend mehr). Zwar in ersten Moment begrenzt durch den Längswiderstand, aber im DB reden sie bei den VGS Werten von 1,7 Ohm RDSon bzw 0,4A IDS.
Lothar M. schrieb: >> außerhalb seiner SOA betrieben. > Und eben diese SOA ist ein Diagramm für dauerhafte Betriebszustände. Nö. Schau dir mal die SOA von Transistoren an. Und Überraschung, Logik-ICs haben Transistoren in den Ausgangsstufen! Da sollte man schon zwischen Gleichstrom und kurzen Pulsen unterscheiden. > Man > kann auch bei "normalen" Transistoren die SOA kurzzeitig im > Umschaltvorgang verlassen. Jain. Man kann, sollte aber eher nicht. > Für solche kurze Überlastpulse gibt es dann > andere Diagramme. Eben, die SOA! ;-) https://www.mikrocontroller.net/articles/FET#SOA_Diagramm
Steve van de Grens schrieb: >> das Problem war praktisch ... behoben. > > Das glaube ich dir. Ich wollte nur anregen, die eigentliche > Problemursache zumindest zu untersuchen, wenn du dafür Zeit hast. In der Tat. denn nur allzu oft werden Fehler durch solche Änderungen nur verdeckt, nicht aber behoben. Wenn dann daraus noch allgemeine Aussagen getroffen werden, die einfach falsch sind, wird's endgültig Mist.
Peter D. schrieb: > Einen schlappen BSS138 habe ich noch nie mit Gatewiderstand gesehen, Das > ist nur was für Leute, die Gürtel und Hosenträger gleichzeitig tragen. > > Ein Gatewidestand kommt bei mir nur rein, wenn der FET getaktet wird > (PWM) und ordentlich Bums (>1A) steuern soll. Auch dann ist der nicht zwingend. Rechne nach. https://www.mikrocontroller.net/articles/Treiber#Treiberleistung
Mosfet schrieb: > Ich erinnere mich an eine LTspice Simulation die am Gate 1,5A zeigte. Wenn deine Quelle 1,5A liefern kann. Das kann außer kräftigen MOSFET-Treibern aber niemand, erst recht keine Logikausgänge. > Vielleicht simuliert mal jemand die oben gezeigte Schaltung. Ich habe > hier momentan kein Spice Zugriff. Wozu? Das hier sagt mehr und ist real gemessen. https://www.mikrocontroller.net/topic/goto_post/2519459
Jan V. schrieb: > Der R1 ist hier bei den zeitlich minimal uninitialisierten > Pinpegeln komplett überflüssig. Zu beachten ist aber, daß beim Programmieren die Zeit deutlich länger ist, als beim Einschaltreset. Eh so ein ATmega2560 geflasht ist, kann das dauern. Man muß also nachrechnen, ob der FET im Analogbetrieb überlastet werden kann. Beim Multiplexen reicht es, wenn nur eine Seite Gateableitwiderstände bekommt, die andere darf ruhig floaten.
Third E. schrieb: > Wenn genau in dem Moment der ADC im µC aktiv ist, könnte der Wert etwas > daneben liegen, weil VDD bzw. VSS des uCs verschoben ist. Dann fehlt die Entkopplung von AVDD und du hast ein Problem mit deinem Massekonzept.
Beitrag "Re: AVR -> IRLML6401 mit wieviel PWM Frequenz ohne Treiber möglich?" Ein im Vergleich RIESIGER IRLZ34N hat ebenfalls ca. 15nC (typisch) bzw. 25nC (max) bei 5V!
Peter D. schrieb: > Ghosting beim Multiplexen hat fast immer Softwarefehler als Ursache. Mit den höheren Widerständen war noch ein zweites Problem behoben nachdem die Anzeige in regelmäßigen Abständen aus ging (BLANK Anschluß des LED Driver CAT4016 mit wechselndem Pegel, obwohl durch den AVR eigentlich konstant auf Masse gezogen). Also hier deutet wirklich alles auf ein Hardware-Problem.
Falk B. schrieb: > Wozu? Das hier sagt mehr und ist real gemessen. > > https://www.mikrocontroller.net/topic/goto_post/2519459 Die Diskussion war doch, ob mit oder ohne. Hast du auch vergleichende Messungen mit einem Gatevorwiderstand von z.B. 50Ω. Was sagt das Klingeln beim Abschalten dazu.
Falk B. schrieb: > Auch dann ist der nicht zwingend. Das meinte ich auch nicht. Nur, daß ich darunter nichtmal darüber nachdenke. Neben Laststrom ist auch die Lastspannung, PWM-Frequenz, sowie die Lastform (ohmsch, induktiv, kapazitiv) mit einzubeziehen. Auch kann es bei hohen Leistungen eh sinnvoll sein, den MC-Stromkreis vom FET zu entkoppeln. Z.B. den Strom des 400V Zwischenkreises möcht ich nicht mit über den GND des MC fließen lassen.
Wolfgang schrieb: > Hast du auch vergleichende Messungen mit einem Gatevorwiderstand von > z.B. 50Ω. Der Vorwiderstand von rund 50 - 60 Ohm ist schon im ATtiny bzw. ..mega eingebaut.
Jan V. schrieb: > Axel S. schrieb: >> Bei 30..50Ω ist die Stromspitze überschaubar. > > Nicht unbedingt (R2). Keine Ahnung was du damit sagen willst. Ich meinte: die MOSFETs die die Ausgangsstufe des Pins am AVR bilden, haben einen erheblichen R_ds_on. Ca. 30..50Ω, abhängig von der Betriebsspannung. Bei 5V weniger als bei 3.3V [1]. Und dieser Widerstand wird beim Auf- oder Entladen der Gate-Kapazität wirksam. Rechnen wir mit 40Ω und 25pF (da wird es gerade rund) dann kommen wir auf eine Zeitkonstante von ungefähr 1ns. Der Mosfet wird je nach Thresholdspannung nach ca. 1.5 bis 2ns leiten. Spätestens nach 3ns kann man den Umladevorgang als abgeschlossen betrachten. So lange dauert also die "Stromspitze". Und ihr Spitzenwert ist Vcc/40Ω. Bei 5V also 125mA. Eine solche Stromspitze hat man immer. Sogar bei einem offenen Pin, bei dem nur eine Streukapazität von vielleicht 1pF wirksam ist. > Hatte letztens in einem AVR Design mit FDS4935 Mosfet 90 Ohm verwendet > und bei einem angesteuerten 8x8 RGB Punktmatrix Display störende Blitzer > die ich auf kurzzeitige Überlastung der AVR Ausgänge + dadurch > ausgelöste Störungen zurückführen würde. Mit 180 Ohm war das Problem > behoben. Wie bereits gesagt wurde, ist das eine Fehldiagnose. Ghosting ist praktisch immer ein Softwareproblem. Deine "Lösung" verdeckt den Fehler nur, statt ihn zu beheben. [1] man kann den Wert gut abschätzen, indem man die Steigung der Kurve im Datenblatt für U_OH vs. I_OH bzw. U_OL vs. I_OL betrachtet. Der jeweilige Wert gilt für den oberen bzw. unteren Transistor der Ausgangsstufe. Die müssen nicht gleich sein, bei einem AVR sind sie es aber.
:
Bearbeitet durch User
Beitrag #7233303 wurde vom Autor gelöscht.
Axel S. schrieb: > ist das eine Fehldiagnose. Ghosting ist praktisch immer ein > Softwareproblem. Deine "Lösung" verdeckt den Fehler nur, statt ihn zu > beheben. Was für eine kühne Behauptung ohne je die Software gesehen zu haben. Daß eine Schaltung durch unzulässige Stromspitzen gestört werden könnte scheint Dir und manch anderem wohl nicht in den Sinn zu kommen. Im übrigen sprach ich nicht von Ghosting sondern recht unspezifisch von Lichtblitzern sowie einem handfesten Problem auf der BLANK Leitung. In Kenntnis meiner Software (und sooo schwierig ist die Steuerung einer 8x8 Punktmatrix ganz sicher nicht) bleibe ich beim Hardware-Fehler und unterdimensionierten Widerständen.
Jan V. schrieb: > recht unspezifisch von > Lichtblitzern sowie einem handfesten Problem auf der BLANK Leitung. Dann zeig dochmal den konkreten Schaltplan. Bisher weiß keiner, wo Du Widerstände eingebaut hast und was sonst so drauf ist, außer einem CAT4016. Es können aber auch Layoutfehler sein. Z.B. sollte man keine hohen Ströme über die GND-Plane unter dem MC führen. Ich benutze daher verschiedene GND-Planes, die an einer definierten Stelle verbunden sind. In Altium gibt es dafür Net-Ties. Ein Gatewiderstand bewirkt vorrangig ein Verschleifen des Drainstromes. Es ist daher naheliegender, daß die Spitzen des Laststromes reduziert werden, als daß der Gateumladestrom den MC stört. Besonders störend ist bei steilen Schaltflanken die interne Sourceinduktivität des FET. Bei manchen FETs wird daher ein 2. Sourceanschluß für den Steuerstrom herausgeführt (Kelvin Source). https://www.elektroniknet.de/halbleiter/leistungshalbleiter/neues-gehaeuse-fuer-leistungs-mosfets-verringert-schaltverluste.119664.html
Jan V. schrieb: > Also hier deutet wirklich alles auf ein Hardware-Problem. In solchen Fällen nehme ich dann immer ein Oszilloskop, dann hat die Raterei und "Symptomdeuterei" ein Ende. Zuallerst muss das physikalische Signal am IC-Pin passen -> Oszi. Dann muss das Protokoll passen -> LA. Und wenn das alles passt, dann ist es die Software. Axel S. schrieb: > Eine solche Stromspitze hat man immer. Sogar bei einem offenen Pin, bei > dem nur eine Streukapazität von vielleicht 1pF wirksam ist. Und es wäre sehr überraschend, wenn ein µC-Ausgang allein durch Umschalten zwischen high und low kaputt ginge, wenn z.B. 25cm offene Leitung am Pin hängen. Die hat nämlich je nach Verlegung und Lagenaufbau durchaus auch mal einige pF. > Eine solche Stromspitze hat man immer. Sie ist aber zum Glück nur ein paar ns lang. Und wenn ein BUZ11, der mit 30A spezifizert ist, für kurze Zeit das vierfache aushält, dann wird wohl ein Ausgangstreiber im µC für 1000mal kürzere Zeit auch mal ein wenig mehr als die 40mA aushalten, die er sogar im Dauerbetrieb aushalten würde.
Hallo, beim PIC16F684 z.B. sind die dynamischen Kennwerte bei einer kapazitiven Belastung mit 50 pF beschrieben. Das wird bei anderen µC nicht viel anders sein. Soviel hält der µC also ohne Wiedersand schon mal aus, sonst würde es der Hersteller nicht so angeben. Bernd
Bernd schrieb: > beim PIC16F684 z.B. sind die dynamischen Kennwerte bei einer kapazitiven > Belastung mit 50 pF beschrieben. Nice. > Das wird bei anderen µC nicht viel anders sein. Beim ATmega48/88/328 ist für einen simplen Ausgangspin ausser der statischen Belastbarkeit Vol und Voh gar nichts beschrieben, keine Schaltzeiten, keine dynamische Belastbarkeit. Lediglich tertiäre Informationen in der TWI-Beschreibung deuten an, dass 400pF bei 400kHz den Pin wohl nicht kaputt machen: "The number of devices that can be connected to the bus is only limited by the bus capacitance limit of 400 pF" Damit müssen diese Pins wenigstens für 20ns mehr als 40mA aushalten. Und ehrlich gesagt: ich habe mit einem testweisen "Kurzschluss" mit ca. 100mA Dauerstrom auch nach über 12 Wochen so einen IO-Pin nicht kaputt bekommen. Der hatte hinterher unverändert seine Schalt- und Ausgangspegel.
:
Bearbeitet durch Moderator
Wolfgang schrieb: > Begründung? Baut man so nur ein bei Open-Collector-Ausgangen mit internem pnp-Ausgangstransistor. Ansonsten 470k-1M Zwischen Gate und Source/Masse. Aber weglassen nur zur Kosteneinsparung bringt oft mehr Problem ein nach Murphy's Laws. Setzt aber auch voraus, dass die Ausgänge des µC Kurzschlussfest sind sowohl auf Masse, wie auch auf Vss. Es sind schon deshalb LiAkku mit der Elektronik abgefackelt.
Jan V. schrieb: > Peter D. schrieb: >> Ghosting beim Multiplexen hat fast immer Softwarefehler als Ursache. > > Mit den höheren Widerständen war noch ein zweites Problem behoben > nachdem die Anzeige in regelmäßigen Abständen aus ging (BLANK Anschluß > des LED Driver CAT4016 mit wechselndem Pegel, obwohl durch den AVR > eigentlich konstant auf Masse gezogen). Also hier deutet wirklich alles > auf ein Hardware-Problem. Ja, auf schlechte Masseführung, fehlende Abblock-Cs - halt das übliche ...
Dieter schrieb: > Wolfgang schrieb: >> Begründung? > > Baut man so nur ein bei Open-Collector-Ausgangen mit internem > pnp-Ausgangstransistor. Ansonsten 470k-1M Zwischen Gate und > Source/Masse. Das ist keine Begründung ...
Mosfet schrieb: > Ich erinnere mich an eine LTspice Simulation die am Gate 1,5A zeigte. Dann war die Simulation falsch, so viel Strom liefert der Mikrocontroller never ever. Es sind wohl eher ca. 50mA.
Jens G. schrieb: > Ja, auf schlechte Masseführung, fehlende Abblock-Cs - halt das übliche > ... Besser passende Widerstände ersetzen weder das eine noch das andere. Nachdem das Projekt längst funktioniert wie es soll fehlt mir jetzt die Motivation weiteren Aufwand zur Diskussion desselben zu treiben. Lothar M. schrieb: > In solchen Fällen nehme ich dann immer ein Oszilloskop, dann hat die > Raterei und "Symptomdeuterei" ein Ende. wäre sicher noch eine letzte Option gewesen, ich bevorzuge als Praktiker aber erstmal das Spiel mit verschiedenen Bauteil-Werten. Und siehe da, Treffer.
Jan V. schrieb: > ich bevorzuge als Praktiker > aber erstmal das Spiel mit verschiedenen Bauteil-Werten. Und siehe da, > Treffer. Blindes Huhn.
Lothar M. schrieb: > Und ehrlich gesagt: ich habe mit einem testweisen "Kurzschluss" mit ca. > 100mA Dauerstrom auch nach über 12 Wochen so einen IO-Pin nicht kaputt > bekommen Das ist ja tröstlich zu wissen und unterstreicht das allgemeine Image der AVRs, recht robuste Teile zu sein. Dennoch gelingt es, so einen Ausgang ordentlich zu stören und bei eigentlich softwaremäßig Low-Pegel dennoch auf High zu bringen. Ich konnte bei dem beschriebenen Fehler meines BLANK Signals nur nicht herausfinden ob das letztlich irgendwie extern erzwungen war oder die Input/Output Logik im AVR "aus dem Takt" geriet. Ein interessantes Phänomen daß ich so noch nie hatte. H. H. schrieb: > Blindes Huhn. Ja etwas blind schon, aber mit begründetem Verdacht 😉
:
Bearbeitet durch User
Dieter schrieb: > Wolfgang schrieb: >> Begründung? > > Baut man so nur ein bei Open-Collector-Ausgangen mit internem > pnp-Ausgangstransistor. Ansonsten 470k-1M Zwischen Gate und > Source/Masse. Die Frage war nicht, was man tut, sondern warum man den Ableitwiderstand deiner Meinung nach nicht genauso gut am Steuereingang anschließen kann?
Jan V. schrieb: > Dennoch gelingt es, so einen Ausgang ordentlich zu stören und bei > eigentlich softwaremäßig Low-Pegel dennoch auf High zu bringen. Ja das ist einfach, du musst nur mit ausreichend viel Strom einen Highpegel an den Pin bringen. Wenn das aber passiert, dann ist irgendwo ein Designfehler in der Hardware drin. > oder die Input/Output Logik im AVR "aus dem Takt" geriet. Schließ das einfach mal aus, wenn das Drumrum stimmt (Layout Considerations, Blockkondensatoren, usw). Immerhin wurden sicher ein paar Milliarden dieser uC verbaut. Und so ein trivialer Fehler hätte sich schon lange in einem Errata wiedergefunden. > Ein interessantes Phänomen daß ich so noch nie hatte. Ein Oszi ist eigentlich unabdingbar zur Inbetriebnahme eines seriellen Busses. Hast du eines? Wenn nein: bald ist Weihnachten.
Lothar M. schrieb: > Wenn das aber passiert, dann ist irgendwo ein Designfehler in der > Hardware drin. Es findet sich keiner. Bis auf geänderte Widerstände. Lothar M. schrieb: > Ein Oszi ist eigentlich unabdingbar zur Inbetriebnahme eines seriellen > Busses. Wär schon vorhanden aber der Informations-Inhalt zu den drei gekoppelten CAT4016, SPI angesteuerten LED-Kathodentreibern (die letztlich 2 Stück 8x8 Displays ansteuern) kann entweder nur passen (was der Fall sein muß weil alle LEDs definiert ansteuerbar sind) oder eben nicht (was dann nicht so wäre). Bloße Anzeigestörungen müssen andere Ursachen haben und die könnten bei Überlastungen aller Art durchaus recht komplexer Natur sein. Das unregelmäßige, zeilenweise Nachblitzen kann nur von der Mosfet-gesteuerten Seite herrühren. Die erste Platine (professionell gefertigtes PCB) mit 90 Ohm Mosfet Vorwiderständen und den beschriebenen Fehlerphänomenen stünde zu Untersuchungen noch zur Verfügung. Der fehlerfreie Nachfolger unterscheidet sich nur durch einen anderen AVR Controller (TINY3216>AVR128DB28), ein paar weniger Drahtbrücken und wiegesagt die Widerstands-Werte zu den LED-Anoden Mosfets.
:
Bearbeitet durch User
Jens G. schrieb: > Das ist keine Begründung ... Wenn sich mal der niederohmige Widerstand verabschiedet, dann liegt das Gate auf unbestimmten Potential. Zum Beispiel Kontaktfehler, Überlastung, sei hier zu erwähnen.
Dieter schrieb: > Wenn sich mal der niederohmige Widerstand verabschiedet, dann liegt das > Gate auf unbestimmten Potential. Wenn sich mal der Ableitwiderstand verabschiedet, tut es das genauso - in beiden Fällen.
Jan V. schrieb: > Lothar M. schrieb: >> Wenn das aber passiert, dann ist irgendwo ein Designfehler in der >> Hardware drin. > Es findet sich keiner. Nett. Ein Spruch meines Arztes: "Niemand ist gesund! Bestenfalls wurde da nicht gründlich genug untersucht." Genauso ist es bei elektronischen Schaltungen, die auf wundersame Weise nach zufälliger Änderung eines Bauteils auf einmal laufen. > aber der Informations-Inhalt zu den drei gekoppelten CAT4016, SPI > angesteuerten LED-Kathodentreibern (die letztlich 2 Stück 8x8 Displays > ansteuern) kann entweder nur passen (was der Fall sein muß weil alle > LEDs definiert ansteuerbar sind) oder eben nicht (was dann nicht so > wäre). Digitaltechnik ist zuallererst analog. Sie wurde nur der Einfachheit halber auf 2 definierte Pegel zurechtgebogen. Und zur Kontrolle ob deren Spezifikationen eingehalten sind, nimmt man ein Oszilloskop. Wir hatten da schonmal so einen Fall, wo es einer im Blindflug geschafft hat, seine LED-Anzeige hinzufrickeln: Beitrag "Re: WS2812b flackern / 3600 LED Matrix"
Dieter schrieb: > Jens G. schrieb: >> Das ist keine Begründung ... > > Wenn sich mal der niederohmige Widerstand verabschiedet, dann liegt das > Gate auf unbestimmten Potential. Zum Beispiel Kontaktfehler, > Überlastung, sei hier zu erwähnen. Ziemlich an den Haaren herbeigezogen. Gut, die Wahrscheinlichkeit dafür, daß das Gate wegen einem der beiden Rs floated, hast Du damit halbiert, bei einer so gut wie nicht vorhandenen Wahrscheinlichkeit. Überlastung wäre übrigens ein Zeichen von Konstruktionsfehler - sollte also grundsätzlich nicht passieren.
Jens G. schrieb: > Überlastung wäre übrigens ein Zeichen von Konstruktionsfehler ... Oder von sehr sorgfältiger Konstruktion. Mußt das Bauteil gar nicht überhitzen. Es reicht, wenn Du die Zahl der Temperaturzyklen des Widerstandes durch An- und Abschalten der PWM zum Mosfet maximierst.
Lothar M. schrieb: > Ein Spruch meines Arztes: "Niemand ist gesund! Bestenfalls wurde da > nicht gründlich genug untersucht." In der Medizin sagt man aber auch: "Wer heilt hat Recht". Der Praktiker steht jeder Wahrheit viel näher als es ein Theoretiker jemals sein könnte :)
Jan V. schrieb: > In der Medizin sagt man aber auch: "Wer heilt hat Recht" Das könnte einfach eine falsche Übersetzung sein: https://zengamed.de/wer-heilt-hat-recht-hippokrates-kongressbericht/ Und ganz interessant dazu auch die Betrachtung unter Punkt 4 dort: https://kritisch-denken.ch/wer-heilt-hat-recht/ Ich hab es aber nicht so mit "Alternative Heilungsmethoden in der Elektronik", da ist mir eine konkrete evidenzbasierte Analyse allemal lieber. Aber das kommt wohl daher, dass jeden Tag ein paar zehntausend von mir entwickelte Steuerungen wieder korrekt starten und den ganzen Tag fehlerfrei laufen müssen und mir wohler ist, wenn ich weiß, warum sie das tun... ;-)
Jan V. schrieb: > Dennoch gelingt es, so einen Ausgang ordentlich zu stören und bei > eigentlich softwaremäßig Low-Pegel dennoch auf High zu bringen. Bei den PIC war das möglich, wenn man einen Port-Pin modifiziert hat. Bei AVR und 8051 wird dagegen bei Read-Modify-Write immer das Ausgangslatch rückgelesen. Du kannst zwar mit genügend Strom einen anderen Pegel aufzwingen und auf Port-Pins schreiben, nach Wegnahme geht alle Pins des Ports jedoch wieder auf den Pegel, den man per Befehl gesetzt hat. Und die Sonderfunktionen (PWM) benutzen separate Ausgangslatches. Um beim AVR den Pegel von außen zu ändern, muß man das Read-Modify-Write austricksen und explizit die Inputs einlesen. Ein Kollege hat auch mal einen Defekt im MC vermutet und einen neuen einlöten lassen. Dann hat er aber doch noch den Fehler im Programm gefunden.
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.