Ist diese ADC-Schaltung sicher, wenn mein Pro Micro ausgeschaltet ist?

Ich habe folgende kleine Schaltung:

Geben Sie hier die Bildbeschreibung ein

Dieser Spannungsteiler wird von meinem Pro Micro verwendet , um zu erkennen, wann CB_VCCes mit Strom versorgt wird. CB_SENSEführt zu einem ADC-Pin auf meinem Pro Micro.

Ist diese Schaltung sicher, wenn das Pro Micro ausgeschaltet ist, aber CB_VCCmit Strom versorgt wird? Ich habe es mit 3,3 V zu tun (das versorgt das Pro Micro und CB_VCC). Benötige ich einen Vorwiderstand vor dem ADC-Pin?

Ich habe keine technischen Gründe, um dies zu untermauern, aber aus Erfahrung sollte es in Ordnung sein, solange Sie keine Spannung anlegen, die höher ist als die, die der Chip verarbeiten kann.

Antworten (2)

Es ist keine gute Idee, Spannungen zu haben, die höher als die Versorgungsspannung eines Mikrocontrollers sind. Der Controller hat zwar Klemmdioden, um die Eingänge vor zu hohen und zu niedrigen Spannungen zu schützen, aber es ist eine schlechte Angewohnheit, sie absichtlich zu verwenden. C B S E N S E wird nicht höher als 0,67 V sein und Sie würden denken, dass dies harmlos ist, aber auf Seite 378 des Datenblatts heißt es unter Absolute Maximum Ratings:

"Spannung an jedem Pin außer RESET und VBUS in Bezug auf Masse: -0,5 V bis Vcc + 0,5 V"

Selbst diese niedrigen 0,67 V sind also zu hoch. Ihr Bauchgefühl sagt vielleicht, dass Spannung und Strom so niedrig sind, dass es wahrscheinlich harmlos ist, und ich würde zustimmen, wenn das Datenblatt nichts anderes sagen würde:

„Belastungen, die über die unter „Absolute Höchstwerte“ aufgeführten hinausgehen, können dauerhafte Schäden am Gerät verursachen . Dies ist nur eine Belastungsbewertung, und der funktionelle Betrieb des Geräts unter diesen oder anderen Bedingungen, die über die in den Betriebsabschnitten dieser Spezifikation hinausgehenden Bedingungen hinausgehen, ist nicht impliziert. Die Exposition gegenüber absoluten Höchstleistungsbedingungen über einen längeren Zeitraum kann die Zuverlässigkeit des Geräts beeinträchtigen (Hervorhebung von mir) .

Während Sie also das Risiko für Ihr einmaliges Projekt eingehen möchten, würde ich dies nicht für mein 10k/Jahr-Design tun.

OK danke! Wie würden Sie die Schaltung reparieren, um sie sicher zu machen?
@SimpleCoder - Was ist das CB_VCC? Kannst du es nicht mit der Leistung des Mikrocontrollers ausschalten?
Grundsätzlich ist die Situation wie folgt: Diese Schaltung ist Teil einer größeren Schaltung, die ich in ein Guitar Hero-Drumset eingebettet habe. Das Schlagzeug verfügt über eine Steuerbox, die normalerweise die Schaltkreise des Schlagzeugs mit Strom versorgt. Steuerkastenstrom ist cb_vcc. Das Arduino kann auch die Drumset-Schaltung mit Strom versorgen, aber nicht die Steuerbox. Ich möchte auch nicht, dass die Steuerbox das Arduino mit Strom versorgt, also verwende ich Schottky-Dioden. Ich werde in wenigen Sekunden einen Schaltplan posten.
Hier ist mein Schema. Beachten Sie, dass dies für ein Tutorial und ein DIY-Projekt ist, daher gehe ich davon aus, dass die Steuerbox und Arduino nicht gleichzeitig mit Strom versorgt werden. i.imgur.com/gJsnX.png
@SimpleCoder - Diese Art von Schema ist schwer zu lesen. Ich muss immer alle Teile scannen, um zu sehen, ob das Netz, das ich betrachte, darauf erscheint. Ein häufigeres Schema würde dies deutlicher zeigen. Wie auch immer, wie ich es verstehe, verwenden Sie CB_SENSE nur, um die Spannung zu erkennen, nicht um sie tatsächlich zu messen? Wenn dies der Fall ist, können Sie keinen NPN-Transistor oder MOSFET von CB_VCC aus ansteuern und einen Pullup zu VCC verwenden. Dann bedeutet ein niedriger Pegel am Kollektor des NPN, dass CB_VCC vorhanden ist. Durch das Ausschalten des Pro-Micro wird der Pullup ebenfalls auf Null gehen.
@SimpleCoder - R6 ist auch ein Problem, noch mehr als der Teiler. Sie erhalten den vollen CB_VCC am Eingang des Pro-Micro.
Entschuldigung für den Schaltplan. Sie haben Recht, ich muss CB_VCC nur erkennen, nicht messen. Aber diese Funktion ist für mein Projekt unnötig. Ich denke, ich werde das einfach streichen, um weitere Fehler meinerseits zu vermeiden. Kann ich R6 auf der Arduino-Seite durch einen PNP-Transistor ersetzen? Das einzige, was der Arduino mit dieser Leitung macht, ist, sie auf Masse zu ziehen, um die Puffer zu aktivieren. R6 ist da, um die Puffer zu deaktivieren, indem OE hochgezogen wird, wenn die Steuerbox die Schaltung mit Strom versorgt.
@SimpleCoder - Warum können Sie CB_VCC nicht direkt mit den 74125-Pufferaktivierungseingängen verbinden? Dann werden sie deaktiviert, wenn die Steuerbox mit Strom versorgt wird.
@SimpleCoder - OK, ich verstehe. Andere Idee: Der Pro-Micro kennt den CB_VCC-Zustand durch den CB_SENSE-Eingang, richtig? Können Sie also nicht einen der freien I/Os verwenden, um die Freigaben zu steuern?
Das mache ich derzeit. Wenn der Arduino eingeschaltet ist, zieht er OE niedrig. Da dies ein DIY-Projekt ist, gehe ich davon aus, dass der Benutzer das Arduino nicht eingesteckt hat, während die Steuerbox eingeschaltet ist. Ich denke, ich werde einfach eine aktive High-Version des Chips bekommen und OE mit einem Pulldown auf Masse an Vcc auf dem Arduino binden.
Vielen Dank für all Ihre Hilfe, ich schätze sie wirklich (einschließlich meiner Nebenfragen).

Ich denke Michael hat recht. Hier sind einige Argumente, um dies zu untermauern.

Wenn CB_VCC = 3,3 V ist, ist die mit dem ADC-Pin verbundene Thevenin-Ersatzschaltung eine 0,67-V-Quelle in Reihe mit 7,96 k Ω . Der maximale Strom, den diese Schaltung dem ADC-Pin liefern könnte, beträgt dann etwa 85 μ A .

Er hat nicht wirklich gesagt, was CB_VCC anregen würde. Darf nicht 3,3 V sein.
Es ist 3,3 V, vorletzte Zeile meiner Frage.
@Alfred Centauri: das klingt gut, danke für die Antwort. Ich habe gehört, dass, wenn ein Pin etwa 0,5 V größer ist als die Stromversorgung des Chips, die Verpolungsschutzdioden auf dem Pin Strom in den Chip leiten und ihn mit Strom versorgen. Da der Strom, den die Schaltung liefern kann, so niedrig ist, tritt dies deshalb nicht auf?
Wenn ich einen 10k-Widerstand habe, der einen digitalen Pin hochzieht, während das Pro-Mikro ausgeschaltet ist, führt das zu Problemen?
@SimpleCoder - der Grund, warum der Controller auf diese Weise nicht mit Strom versorgt wird, ist, dass die Spannung zu niedrig ist. Sie haben 0,67 V und verlieren 0,5 V davon in der Schutzdiode, also bleiben 0,17 V übrig. Wenn Sie daraus Strom ziehen möchten, würde er sogar auf 0 V bei 21,8 uA sinken.
@SimpleCoder, wie hoch ist die Spannung am ADC-Pin, wenn das Pro Micro ausgeschaltet ist und CB_VCC = 3,3 V?
Ich bin mir nicht sicher. Der Stift wird durch einen 10k auf 3,3 V hochgezogen.
Messen Sie dann die Pin-Spannungen, die hochgezogen werden, wenn das Mikro nicht mit Strom versorgt wird. Wenn die Pin-Spannungen innerhalb der maximalen Nennwerte liegen, sollten Sie für ein einmaliges Projekt in Ordnung sein. Wie Stevenh zu Recht betont, ist dies keine gute Praxis. Wenn Sie also beabsichtigen, dieses Design zu produzieren oder zu veröffentlichen, sollten Sie es sich zweimal überlegen.
Das einzige, was der Stift tut, ist, die Leitung auf Masse zu ziehen, wenn der Arduino eingeschaltet ist. Wäre dies besser mit einem PNP-Transistor zu implementieren?
OK, das Ziel hat sich bewegt, nicht wahr? Die ursprüngliche Frage war "ist das sicher". Meine Antwort ist, dass, da der Strom sehr niedrig ist, die Pin-Spannungen wahrscheinlich nicht die maximale Nennleistung überschreiten, die Sie überprüfen können, wenn Sie einfach die verdammten Pins messen, wenn das Mikro nicht mit Strom versorgt wird . Jetzt fragen Sie, wie Sie es anders machen können, also nehme ich an, dass Sie die ursprüngliche Frage aufgeben?
Ja, ich habe Nebenfragen gestellt. Wenn du sie nicht beantworten willst, dann verstehe ich das.
Es ist nicht so, dass ich nicht daran interessiert wäre, sie zu beantworten, es ist so, dass, wenn sich die Frage geändert hat, einen neuen Fragen-Thread starten und uns dort darum kümmern.
Du hast recht, tut mir leid. Ich hätte eine neue Frage erstellen sollen. Ich glaube aber, ich habe alles im Griff.