Ist es sicher, die Pins dieses AVR-Chips zu treiben, während er nicht mit Strom versorgt wird?
Wenn ich zum Beispiel einen Motortreiber so teilen würde, dass er von zwei Mikrocontrollern angesteuert werden kann, würde dann einer der Mikrocontroller beschädigt werden, während der andere nicht mit Strom versorgt wird, aber die Signalspannungen an seinen Pins vom anderen Mikrocontroller sieht?
BEARBEITEN: Da dies als Duplikat markiert wurde, hier eine Klarstellung. Die hier angegebene MCU ist eine andere von einem anderen Hersteller. Obwohl ich mir nicht sicher bin, würden sich ihre Funktionsweise und Grenzen mit Sicherheit unterscheiden. Bei dieser Frage ging es nicht darum, ob es die MCU „schwächen“ wird, sondern darum, ob dies überhaupt sicher ist. IMO schwächen würde bedeuten, dass es möglich ist, aber im Laufe der Zeit wird es die Leistung der MCU beeinträchtigen.
Vielleicht interessiert Sie das Video von EEVBlog über die Stromversorgung einer MCU ohne Anschluss der Stromanschlüsse . Wenn Sie die E/A-Pins auf der MCU ansteuern, kann es sein, dass Sie die MCU über ihre Schutzdioden einschalten.
Wenn Ihr VCC nach dem Diodenabfall unter oder über der Mindestspannung liegt, die zum Ansteuern Ihrer MCU erforderlich ist (oder mehr Strom zieht, als die internen Dioden verarbeiten können), funktioniert sie nicht ordnungsgemäß. Dies setzt natürlich voraus, dass Ihr VCC offen ist und nicht mit Masse (oder Null Volt) kurzgeschlossen ist.
Hier ist ein Diagramm der Ersatzschaltung für Ihren Atmega328p:
Beachten Sie die Dioden von Masse zu VCC.
Wie auch immer , das Datenblatt gibt nicht explizit das genaue Verhalten der Ansteuerung des Atmega328p von einem I/O-Pin an.
Es heißt jedoch, dass die absolute Höchstspannung, die Sie an einen (nicht-nRESET) E / A-Pin anlegen können, Vcc + 0,5 V beträgt. Wie mbrig in den Kommentaren betonte, wird der Diodenabfall sehr wahrscheinlich dazu führen, dass die Spannung am E / A-Pin größer als Vcc + 0,5 V ist, wenn Sie den Chip mit Phantomspeisung versorgen.
Das Datenblatt besagt, dass der Betrieb des ATmega328p außerhalb seiner absoluten Maximalwerte dauerhafte Schäden verursachen kann, daher würde ich davon abraten.
Aus dem Datenblatt:
Die maximale Spannung an einem anderen Pin als _RESET wird als "Vcc + 0,5 V" angegeben. Wenn der Chip nicht mit Strom versorgt wird, ist Vcc 0, also nein - Sie können keine Spannung über 0,5 V sicher anlegen.
Wenn Sie einen I/O zwischen zwei Teilen teilen möchten, von denen einer möglicherweise nicht mit Strom versorgt wird, benötigen Sie eine Art Schalter.
NEIN.
Am Eingang der meisten Pins auf einem Gerät wie dem AVR ATmega328 befinden sich Dioden, um den Chip vor elektrostatischer Entladung (ESD) zu schützen. Diese Dioden sind mit der Versorgungsschiene des Geräts verbunden.
Wenn Sie ein Logiksignal in einen Pin treiben, wenn das Gerät nicht mit Strom versorgt wird, versucht es, über die Diode mit Strom zu versorgen. Dies kann keinen Schaden verursachen, wirkt sich jedoch häufig auf die Power-On-Reset-Schaltung aus, sodass das Gerät nicht ordnungsgemäß hochfährt, wenn Strom verfügbar ist. Dies ist häufig eine Ursache für unerwarteten Stromverbrauch in batteriebetriebenen Schaltungen.
Sie müssen einen Multiplexer einbauen, um auszuwählen, welche MCU Ihren Motortreiber ansteuert, oder dafür sorgen, dass beide MCUs mit Strom versorgt werden, aber diejenige, die nicht für den Betrieb des Motors vorgesehen ist, hält ihre E / A-Ports in einem hochohmigen Zustand (z Eingang).
Unsicher für AVR und die andere MCU. Der AVR versucht , sich einzuschalten, wenn die andere MCU ihren E / A-Pin auf "hoch" treibt. Nicht gut für AVR - es soll über seinen dedizierten Versorgungsstift eingeschaltet werden. Sonst können schlimme Dinge passieren. Da der Hersteller ausdrücklich sagt „tu das nicht“, ist der Hersteller nicht verpflichtet zu sagen, auf welche „schlechten Dinge“ du stoßen könntest. Meine Erfahrung ist, dass "schlecht" von sehr seltsam bis Rauch reicht .
Da der AVR wie ein Kurzschluss gegen Masse aussehen kann, würde die andere MCU (die versucht, ihren Ausgangspin hochzuziehen) einer starken Last ausgesetzt sein. Es kann möglicherweise nicht so hoch ziehen, wie es sollte, und zu viel Strom fließen lassen (was es gefährdet).
Gefährdet ist auch Ihr Motortreiber, insbesondere wenn es sich um PWM handelt. Wenn Sie nicht wissen, ob es "hoch" oder "niedrig" sein soll (irgendwo dazwischen), kann es überhitzen.
Sie riskieren also alles .
Gemäß der Spezifikation V ih = V CC + 0,5 V, also allein schon deshalb nein.
Wenn V CC jedoch wirklich "offen" ist, wird durch das Speisen der E / A-Pins ein Phantom-V CC an das Gerät angelegt, sodass es nicht wirklich ausgeschaltet ist. Dadurch wird das obige Problem zwar negiert, es wird jedoch ein ganz neues eröffnet Dose Würmer.
Selbst wenn die oben genannten Probleme kein Problem darstellen, gibt es keine Garantie dafür, dass Sie tatsächlich in der Lage sein werden, einen I/O-Pin auf High zu treiben, wenn das Gerät ausgeschaltet ist. Möglicherweise stellen Sie fest, dass der Ausgang extrem niederohmig gegen Erde ist.
Letzteres gilt übrigens auch für Eingangspins . Unter der Annahme, dass die VCC des Chips auf Masse abgeklungen ist, stellt der Eingang bei jedem Signal, das Sie mit dem anderen Gerät zu messen versuchen, eine Diode zu einem Kondensator zur Masse dar.
Grundsätzlich ... tun Sie es nicht.
Obwohl es nicht im Datenblatt steht, gilt als Faustregel, dass die internen ESD-Schutzdioden bei einem 8-Bit-AVR-Chip 1mA haben können. Die Dioden lassen mehr Strom zu, aber 1mA ist das empfohlene Maximum.
Wenn ein Spannungsteiler mit zwei Widerständen hergestellt wird, kann dieser 1mA verwendet werden, um die maximal zulässige Spannung für den Spannungsteiler zu berechnen.
Der Atmel Application Note AVR182 erwähnt die 1mA.
Ein positiver Strom in einen Pin fließt zu VCC und könnte den AVR-Chip und/oder die Schaltung mit Strom versorgen. Dies könnte zu unvorhersehbarem Verhalten führen, wenn der AVR-Chip nahe seiner unteren Spannungsgrenze läuft.
Mit genügend Spannung und Strom könnte die Spannung sogar weit über 5,5 V ansteigen und den AVR-Chip zerstören. Vor allem, wenn der AVR-Chip im Ruhemodus ist. Es ist daher gefährlich zu verwenden, aber es kann getan werden.
Seien Sie immer vorsichtig, wenn Sie Spannungen an einen Pin anlegen. Verwenden Sie einen Schutzwiderstand, um den Strom zu begrenzen. Das ist auch sicherer für den Normalbetrieb. Das bedeutet, wenn zwei AVR 5V-Chips miteinander verbunden sind, sollten 4k7-Widerstände dazwischen sein, um den Strom auf etwa 1mA zu begrenzen, wenn ein AVR-Chip keinen Strom hat. Je nach Schaltung kann das 4k7 die Signale beeinflussen.
Es könnte noch mehr Konsequenzen geben, ich bin mir nicht sicher, ob ich sie alle erwähnt habe.
Ist es sicher, die Pins dieses AVR-Chips zu treiben, während er nicht mit Strom versorgt wird?
was sicher ist oder nicht, ist relativ.
Die Phantomspeisung eines Geräts kann praktisch sein -> Stromversorgung bei Bedarf im Grunde. Beispielsweise können Sie eine Konfiguration haben, in der die Slaves phantomgespeist und normalerweise ausgeschaltet sind. Der Master kann ein paar Impulse auf die Übertragungsleitung senden, um ihn aufzuwecken, und sobald die Übertragung beendet ist, geht das Gerät von selbst aus.
Aber wie alles im Leben birgt es seine eigenen Risiken, die es zu erkennen und angemessen zu managen gilt.
Daher ist es falsch, kategorisch zu sagen, dass Phantomspeisung eine gute oder schlechte Praxis ist.
Andi aka
Tangr
SamGibson