bin neu hier und habe leider bislang im Forum (welches ich vorher wirklich gründlich durchforstet habe) keine wirklich hilfreiche Lösung gefunden.
Folgende Problemstellung:
Der Arduino (DUO o. MEGA) wird per Netzteil mit Strom versorgt. Zudem ist er über USB mit einem PC verbunden. Soweit, so normal. Die Problemstellung ist, festzustellen, ob die Stromversorgung über Steckernetzteil ausgefallen ist. Das wäre z.B. bei einem generellen Stromausfall der Fall. Der PC hängt an einer USV, ist also versorgt und könnte den Arduino über USB weiter mit Strom versorgen. Der Arduino soll nun aber dem PC mitteilen, dass seine Spannungsversorgung jetzt über USB erfolgt, welcher daraufhin (also der PC) weitere Aktionen einleitet. Und das genau ist die Frage: Wie kann der Arduino die Änderung der Spannungsversorgung erkennen bzw. kann er das überhaupt?
Hört sich vermutlich etwas wirr an (und ist es vielleicht auch), aber das ist der Plan.
Die Möglichkeit, dass der PC selbst feststellt, dass er jetzt über USV versorgt wird (nach Stromausfall), soll bei dieser Fragestellung mal außen vor bleiben.
Vielleicht hat hier im Forum jemand eine Idee, oder noch besser, einen Lösungsvorschlag.
Depending on the board but on mine the USB is protected from back feed by a diode. This powers the circuit at about 4.5 volts. The The Vin has a 5V regulator that feeds the 5V bus and the 5V pin. The higher voltage will supply the current. This can be done with MOSFETS etc but this is the easiest to explain.
Abhängig von der Platine, aber bei mir ist der USB durch eine Diode vor Rückspeisung geschützt. Dadurch wird der Stromkreis mit etwa 4,5 Volt versorgt. Der The Vin verfügt über einen 5-V-Regler, der den 5-V-Bus und den 5-V-Pin speist. Die höhere Spannung liefert den Strom. Dies kann mit MOSFETs usw. erfolgen, ist aber am einfachsten zu erklären.
erst einmal herzlichen Dank für die schnelle Rückmeldung!
Wie schon befürchtet, stiftet meine Idee wieder mal nur Verwirrung. Ein Schaltplan z.B. würde an dieser Stelle m.E. wenig nutzen, eher ein Blockschaltbild (was nicht so einfach möglich ist, wenn man keine geeignete Software zur Verfügung hat).
Tatsächlich möchte ich nur wissen, ob man den Arduino dahingehend programmieren kann, dass durch kontinuierliche Abfrage seiner Versorgungsspannung, ein Unterschied feststellbar ist, über welchen Einspeisepunkt die Betriebsspannung erzeugt wird, ob über den USB-Port oder über die 9V Hohlstecker Spannungsversorgung.
Soweit ich das verstanden habe, liegen alle Pins des Arduino, analog und digital hinter dem Spannungswandler. D.h. es liegen immer 5V an, egal aus welcher Spannungsquelle der Arduino versorgt wird.
Im Zweifel muss ich wahrscheinlich wirklich direkt an den Stecker der 9V Spannungsversorgung gehen und dann durch eine Hilfsschaltung (mit Spannungsteiler ) Pins des Arduino versorgen und deren Potential messen.
Ich hoffe, mich jetzt etwas verständlicher ausgedrückt zu haben. Solltest Du noch eine andere Idee, gerne her damit.
ich antworte mal auf deutsch. Zunächst Danke für Deine schnelle Rückmeldung!
Ich habe paulpaulson bereits auf seine Rückfrage geantwortet. Dort habe ich versucht mein Vorhaben etwas deutlicher zu erklären. Darauf möchte ich Dich ganz gerne verweisen, sonst würde ich Dir auch nur nochmal dasselbe schreiben können.
Denn aus Deiner Antwort geht nämlich auch hervor, dass ich mein Vorhaben, oder besser meine Idee, nicht richtig beschrieben habe. Sorry!
Wie gesagt, ist ne Idee und vielleicht geht's ja auch nicht umzusetzen, zumindest nicht so wie ich es mir vorgestellt habe.
Vielleicht hast Du ja noch irgendwas im Köcher, was mir weiter helfen könnte.
Kleiner Nachtrag: Deine Antwort scheint ja doch meine Fragestellung zu behandeln. Da beschreibst ja, dass durch die Beschaltung des USB-Ports mit der Diode nur 4,5V Betriebsspannung anliegen. Und ansonsten 5V wenn die Spannungsversorgung über Vin erfolgt. Die Differenz von 0,5V sollte ja reichen, hier einen Unterschied ausmachen zu können.
Hier meine Lösung:
An Vin liegt ja die Spannung vom Steckernetzeil an (abzüglich der Spannung für die Power-LED).
Hinter dem Spannungsteiler gehe ich mit der Spannung an A0 (INPUT). So kann ich messen, ob die höhere Spannung des Steckernetzteils anliegt oder die ca. halb so große Spannung vom USB-Port.
Das Mess-Ergebnis kann ich dann für weitere Aktionen auswerten.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
mfg ein Moderator.
Nein die Arduinos haben keine Möglichkeit zu erkennen ob sie über USB, dem 5V Pin (MEGA) bzw 3,3V Pin (DUE) oder über Vin oder die Netzteilbuchse versorgt werden.
Die einfachste Möglichkeit ist es mittels Spannungsteiler auf der Versorgungsspannung 5 bzw 3,3V machen und das mittels eines Digitalen Pins zu messen.
Wenn der UPS so ein 15 Minuten Ding ist, hat dieser normalerweise einen Ausgang (füher RS232 heute USB) um den PC geregelt herunterfahren zu lassen.
Vielen Dank für Deine Rückmeldung und Deinen Vorschlag!
Weiß auch nicht wie ich auf DUO gekommen bin. Meine natürlich den UNO.
Was mich aber wundert, dass ich weiter oben genau das alles schon als Lösung von mir beschrieben habe, sogar mit dem von 'paulpaulson' erbetenen Schaltplan. Allerdings bin ich auf Pin Vin gegangen. An dem liegen bei Stromversorgung mit Steckernetzteil netto ca. 8V an und wenn die Versorgung über den USB-Port erfolgt ca. 4,3V. Diese Werte gebe ich über einen Spannungsteiler an A0 zurück und werte das für weitere Aktionen aus. Digital-Pin hat nicht funktioniert, da der Pegel immer HIGH war, weil ja immer ne Spannung anliegt.
Insofern habe ich Deinen Vorschlag defacto ja umgesetzt.
Jetzt kämpfe ich gerade damit, auf der PC-Seite die Nachrichten vom Arduino über die COM-Schnittstelle auszuwerten. Aber das kriegen wir auch noch hin.
Vielen Dank nochmal und dann bis zur nächsten Frage
I would seriously considering measuring the current on the external feed. You should be able to calculate or figure out the minimum current your board requires. Then taking a current measurement you should know if it is external or internal. Let us know how this works.
Ich würde ernsthaft darüber nachdenken, den Strom an der externen Einspeisung zu messen. Sie sollten in der Lage sein, den Mindeststrom zu berechnen oder herauszufinden, den Ihr Board benötigt. Wenn Sie dann eine Strommessung durchführen, sollten Sie wissen, ob es sich um einen externen oder internen Strom handelt. Lassen Sie uns wissen, wie das funktioniert.
Thank you, but I am a little puzzled by your feedback. Your suggestion is exactly the solution I described in my post on 30 October. Nevertheless, many thanks. I hope my answer is okay for you.
( It seems that I don't exactly understand the rules of this forum )
Then you must have a good answer. Your post has not shown up here so I do not know what you posted. It is actually 20:50 on the 29th of 2023. I probably read about 50 or so posts a day, and cannot remember them all but yours is different enough I wold remember it.
As I see it, the rules are not that formal which encourages many people to try and help. Not all answers are correct but most are good. We have some where this there first electronic project to some who have retired from the industry with a wide variety of backgrounds in many countries. I have found that most problems have several possible good solutions even though there not the same solution as mine.
Good luck and if it is solved mark it so, if not we will keep trying.
Dann müssen Sie eine gute Antwort haben. Ihr Beitrag wurde hier nicht angezeigt, daher weiß ich nicht, was Sie gepostet haben. Es ist tatsächlich 20:50 Uhr am 29. des Jahres 2023. Ich lese wahrscheinlich ungefähr 50 Beiträge pro Tag und kann mich nicht an alle erinnern, aber Ihrer ist anders genug, dass ich mich daran erinnern kann.
Meiner Meinung nach sind die Regeln nicht so formell, was viele Menschen dazu ermutigt, zu versuchen, zu helfen. Nicht alle Antworten sind richtig, aber die meisten sind gut. Wir haben einige, bei denen es sich um das erste elektronische Projekt handelte, andere, die sich aus der Branche zurückgezogen haben, mit unterschiedlichsten Hintergründen in vielen Ländern. Ich habe festgestellt, dass es für die meisten Probleme mehrere mögliche gute Lösungen gibt, obwohl es nicht die gleiche Lösung wie meine gibt.
Viel Glück und wenn es gelöst ist, markieren Sie es, sonst versuchen wir es weiter.