Serielle Datenstring vom Computer im Adruino Mega einlesen und aufteilen

EMV

Rechne selbst. Ich habe mehrfach die Berechnung eingefügt.
Da findet sich irgendwas - ganz bestimmt.
Ich würde R2 bei 30V Uin.max irgendwo bis max: 2,7Kohm ansetzen.
Alles, was zwischen 1K und 2,7K handhabbar ist, geht. Dann nur einen passenden R1 finden....

Ne.
Die C's laden und entladen sich auf den PIN.
Du brauchst ein definiertes Potential.
Entweder GND oder VCC.

Ne. Beschalte die Pins komplett mit den Widerständen.
Die analogPins werden bei fehlender Versorgung aus den Fahrbahnen mit dem Pulldown, auf GND gezogen.
Wenn die gebraucht werden, wird der (nachträglich einfügbare) Pullup mit der jeweiligen Spannung beaufschlagt und alles wird gut.

Es wird immer ein definierter Pegel gehalten.

Diese Zeile erscheint mir suspekt, auch wenn Du zum richtigen Ergebnis kommst.

Unbelasteter Spannungsteiler

UIN = Uges • R2 / (R1 + R2) = 55 V • 1 kΩ / (10 kΩ + 1 kΩ) = 5 V

:wink:
Das ist meine Vorgabe. Ich sehe schon, das ich das anders machen muss; da war oben schon mal ein Missverständnis.
Ich hätte schreiben sollen:
Vorgabe:

  • UIN=55V
  • R1=10k
  • R2=1K

Ich versuche das beim nächsten Mal...

Kein Minus, sondern ein Bindestrich, aha!

In Reihe mit Semikolon? UIN=55V; R1=10k; R2=1K;

1 Like

Guten Abend XY Projekt,
Danke für die Info....man(n) lernt ja nie aus....viel Input für Hobbybastler. :wink:
hier mal ein kleiner Zwischenstand... Gestern ist es mir leider zu spät (Früh) geworden um zu antworten.Sorry :woozy_face:

So, wie schon oben geschrieben ist es gestern beim probieren recht früh geworden.
Nun habe ich folgend Voraussetzung geschaffen:

Mit den Widerständen 10KOhm und 1KOhm einem 0,1µF und einer Z-Diode den 55V Spannungsteiler 8 x gebaut, die restlichen Analog-Eingänge gegen GND.

Den Wert maxVoltageDividier = 300; habe ich auf 558 abgeändert, soll wäre ja 550 aber ich denke durch die nicht 100% tige Genauigkeit der der Widerstände kommt hier es zu Abweichungen.
Ermittelt durch Vergleichsmessung mit Multimeter mit und serieller Ausgabe.

Nun ist es durch Dein Programm sehr schön auf den serMo zu sehen wie die Werte reinkommen bzw. gemessen werden. Selbst bei 10 Durchläufe schwanken die Endwerte immer noch zwischen 19,8 V und 20,1V.......selbst bei 40 Durchläufen.

Halt lass Dich davon nicht in die Irre führen.
Ich habe Zwischenstand nicht ohne Grund geschrieben, ich glaube das mein Labornetzteil einen weg hat. Den.....

Ich hatte mich gestern schon gewundert das es im Leerlauf einen Strom von 0,24A angezeigt hat.
Der hat sich über Nacht sogar verdoppelt hat. Die Spannung war zwar mit den Multimeter stabil im Gegensatz zu serMo , aber das mit dem Leerlaufstrom, da kann ja irgendwas nicht stimmen.

Daher habe ich soeben ein schnöden 12 V Steckernetzteil angeschlossen und siehe da ...... kontinuierlich 12,1 V am Multimeter sowie serMo.

Auch die 9V Block zappelt nun nicht mehr. Morgen hole ich mir von einem Bekannten ein anderes Labornetzteil, da bin ich mal gespannt was dann dabei rauskommt.
Wenn das funtzt, werde ich eine 35V Spannungsteiler erstellen(Netzteil liefert 31,9V) dann wird es noch weniger mit dem gezappel, wenn´s den noch da ist.

na dann... ich hoffe das war dann der Fehler!!!

Oder ich muss dem Ardu das Bier wegnehmen..... :grin:

1 Like

Da drücke ich mal die Däumchen :crossed_fingers:

Nur selbst Trinken macht glücklich :beer:

Hat nur bis 15 Volt geholfen..... :smiley:

Nun hab ich am We so einiges ausprobiert....mittlerweile 3 Netzteile wobei meins warum auch immer jetzt 0,95 A im Leerlauf anzeigt. Die anderen beiden zeigen ein ruhiges verhalten bis 15 Volt. Hin und wieder mal 0,1 V rauf oder runter.

Hier ein kleiner Nachteil von @my_xy_projekt 's Sketch Werte sammeln, habe ich konstant 12,0 Volt und es kommt bei den 10 Durchläufen zu einem 11,9 Volt Wert, so wird das Ergebnis 11,9 Volt

Bei größeren Spannungen bis 20 Volt schwanken die Werte selbst beim Werte sammeln wieder zwischen 19,7 und 20,3 Volt. Auch habe ich versucht die Widerstand's werte in allen Richtungen zu verändern.

UIN=30V bis 100V in 10 Volt Schritten, weil ich dachte UIN 30 = 12-15V ruhige Werte
UIN höher wäre 15 - 20 V auch ruhig.....Trugschluss. Es liegt wohl an den den Netzteilen selbst das sie bei höheren Spannungen mehr schwanken.

Daher nun in 0,5 V Schritten zur Anzeige, hierzu habe ich mich an Deine Werte sammeln angelehnt wobei ich hier nur 3 Werte aufnehme. (Der Sender freut sich) Das Auf bzw. Abrunden erfolgt im Empfänger da ich denke der Sender hat schon genug zu tun. :wink:
Und da wir zuletzt den Turm in Bearbeitung hatten, habe ich dort die Spannungen zur Anzeige gebracht. Anbei mal ein Foto und natürlich die Sender/Empfänger Sketche.

Leider verstehe ich es nicht warum die Werte für die Spannung nach und nach angezeigt wird.
Bei Runden oder den Zeiten geht es wesentlich schneller.
Aber vermutlich liegt es hier dran...

if (millis() - lastVoltageSend > 1000)

So, nun noch ein Feierabend-Bier .... weil es glücklich macht. :wink:

Aber wisst Ihr was mich glücklich macht......? Ihr alle.....
Ich möchte hier keinen in den Vordergrund stellen, weil jeder einzelne Super Hilfestellung gegeben hat. Der eine mehr der andere weniger, aber alle haben zu dem Ergebnis beigetragen.

Ein großes Lob an das Forum und deren Mitglieder.

Turm_Empfaenger_V70.7DCA.ino (48.4 KB)
Sender_V32DCA.ino (25.4 KB)

47A314F6-82F4-4E5B-9683-62354A76DB38

Ich hab so Schmerzen...
Also: Wenn Du den Bereich erweiterst, dann wird auch die Auflösung geringer.
Nehmen wir an, wir suchen von 0-24 und haben 1023 Werte zur Verfügung.
Dann bildet jeder Wert 1/(24/1023) ab. Also so ca. 0,023 V
Bei 30V sind es 0,029 V und bei einem map auf 100V: 0,09V die jeder Wert ausgibt. (0,09*1023=92,07)

Irgendwas stimmt mit Deinen Spannungsteilern oder mir der Verkabelung nicht.

Das ist wie bei den Fahrern.
Da kommt ja auch nur einer im Umlauf.
Ich schau morgen drauf.

Ich muß gestehen ich habe nicht die ganze Diskussion im Kopf und möchte sie auch nicht nochmal durchlesen.

Über 15V wird die Messung instabil.
Dazu fällt mir ein daß Du den Spannungsteiler sicher an die höhere Spannung anpassen mußt und dieser dann hochohmiger ist.
Ich weiß dann nicht ob Du einen 0,1µF Kondensator zwishen Analogpin und Masse geschaltet hast (wäre besser) und ob Du nur ein Analoeingang mißt oder mehrere (mehrere wäre schlechter).
Grüße Uwe

Vermutlich benötigst Du in sendeBahn ein Feld mit den Elementen lastFahrerSend[spur], also eine Zeit des letzten Sendens für jede Spur separat.

Nur so als Anregung :slightly_smiling_face:

Auf der Bahn würde ich nicht fahren wollen, wahrscheinlich ist das die Gästespur :shushing_face:

Ein altes Netzteil vermutlich aus DDR Produktion schaltet bei ca. 15 V mit einem leisen Klacken den Bereich um. Das hat bei meinem Netzteil keine merklichen Auswirkungen (ein Lob an die Konstrukteure und Erbauer!), bringt mich aber auf die Idee, dies könnte bei Dir auch so sein, nur eben mit merklichen Folgen.

Den Automotoren dürfte die Qualität der Gleichrichtung relativ egal sein, Deiner Meßschaltung aber nicht. Miß doch mal die Restwelligkeit, in dem Du Dein Meßinstrument auf Wechselspannung stellst.

Beim Plazieren der Wagen vor dem Rennen macht das Sinn, aber ist das Messen der Spannung auch während des Rennens von Nutzen?

Ich brauch ja nur nicht so lange warten bis zur nächsten Übertragung. Die ist ja künstlich zurückgestellt um ggfls. auf die Spuren zu reagieren.

In zwei Stunden kann ich mich damit auseinandersetzen....

Fühle Dich bitte durch mich in keiner Weise unter Druck gesetzt :slightly_smiling_face:

Ich hoffe nur bezogen auf meine Spannungsteiler....

Das habe ich bei meinen unzähligen versuchen auch festgestellt. Nun habe ich einen Weg gefunden der mich und so hoffe ich auch die anderen Fahrer zufrieden stellt.

Ihr müsst wissen, das die großen Jungs die kleine Autos im Kreis fahren lassen sehr empfindlich sind was die Spannungsanzeigen an der Bahn angeht..... Sie meinen das auch bei der kleinsten Spannungsabweichung des Nachbarn-Fahrers das Auto nee halbe Sekunde schneller fährt.

Daher die unbedingte "ruhige anzeige" der Spannung, was Sie nicht sehen bzw. wahrnehmen können....stört sie nicht :wink:

Mit der jetzigen Lösung Auf-Abrunden auf 0,5V können, ist die Anzeige ruhig....und die Fahrer auch. Denke da sollten wir keine weiteren Gedanken mehr dran verschwenden.

Hallo uwefed,
ja, ist in letzter Zeit einiges zusammengekommen....könnte glatt für ein Kurzroman reichen.
Ich habe den Spannungsteiler nun wie folgt aufgebaut.

UIN =35V //wegen der Spannung von ca. 32 Volt vom Labornetzteil.
R1 = 10 KOhm

R2 = 1,5 KOhm

0,1 µF Analog gegen GND und Z-Diode

Und ja, es können später bis zu 8 Analogeingänge werden z.Zeit sind es 4....

Mit diesen Werten habe ich, wenn ich nicht runde bei 20 Volt(was max. ist) eine +/- Abweichung von 0,2 Volt. Und diesen kleinen Betrug an die Fahrer, gönn ich mir :grinning_face_with_smiling_eyes:

Vielen Dank Uwe für Deine Unterstützung

Mein reden...früher war alles besser :rofl:
Da haben die Netzteile noch richtig Gewicht gehabt, da hat man was für's Geld bekommen :wink:

Frau ruft zum Essen.....gleich wieder da

Hab ich gerade mal gemacht, gegen GND 0,000V
Nur Pluspol, ohne GND 0,167 V
Nur Pluspol und Finger an GND Multim. 0,687V

:joy: Die Fahrer fürchten Betrug, der Vater von Fahrer 2 macht die Rennleitung und gibt seinen Sohn mehr Spannung......Schlimmer wie in der Formel Eins.

nee, die bekommt 19,8V und meine 20,2Volt Vorteil Insider :shushing_face:

Alles Gut XY Projekt....wir sind bei über 1 Jahr Erarbeitung des Projektes, keine Hasst auf den letzten Metern.

nimm aus der 1000 eine 0 weg.

        if (millis() - lastVoltageSend > 1000)

Macht jede 100ms eine Übertragung.
Bei 9 Bahnen 900ms für alles.
(Ach ja - darum habe ich in der Gesamtroutine auf das mit dem modulo verzichtet und rechne selbst - @combie hat das gut erklärt: [Bericht] Der (Millis) Ueberlauf im Test)

Hallo Xy Projekt,
Hab Dank, die Übertragung ist nu flotter..... mit dem modulo
Nu merke ich schon wieder das mir so einiges noch fehlt....Wenn das Projekt läuft, ist erst mal lesen und lernen angesagt. Mir fehlen noch viele Grundkenntnisse...und vielleicht auch das Verständnis wie was funktioniert, und warum.

Nu sag ich erstmal euch allen ein Gut Nächtle
Bleibt alle Gesund und habt Spaß bei dem was Ihr auch immer macht :wink:

Pfff!
Darum gehts doch gar nicht.

Mein "spektakuläres" Wissen ist ganz gewiss hier begründet :wink:

Der Spannungsteiler ist etwas zu hochohmig aber der Kondensator bügelt das aus.
Anererseits beginnen Z-Dioden bereits einiges unter der Z-Spannung zu leiten. Bei Strömen, von denen wir hier sprechen (35V / 10kOhm = ca 0,3mA. 0,3 mA fließen bei einer 4,7 bzw 5,1V Zener bereits ca 1V unter der Nennspannung also ca 4V. Das verbiegt die Verhältnisse des Spannungsteilers ganz.

zB Diagramm 7 Seite 5 von: https://www.vishay.com/docs/85607/bzx85.pdf
Welche z-Diode verwendest Du?

Als Schutz wäre besser eine Skotky-Diode zwischen Analogeingang und Versorgungsspannung, Kathode gegen Versorgungsspannung.

Nur die erste Messung ist eine sinnvolle Messung.

Grüße Uwe

Hallo Xy Projekt,

darum bin ich auch hier....weil ich von Euch lernen möchte.

Und wollte ja nur damit gesagt haben das ich nicht der schnellste bin und alles sofort verstehe. Muss vieles 3, 4, 5 x lesen. Das Projekt was ich mir ausgesucht habe, ist zum einsteigen in die Arduino-Welt so glaube ich , nicht gerade von Vorteil.....aber ich wollte es ja so. :wink:

Und für die Unterstützung und Tipps wo ich was lesen sollte, bin ich auch sehr dankbar und lobe Euch wo ich nur kann. Bei der Menge von Input's muss ich aber aufpassen das ich kein Hirnfresser bekomme.( Abgeleitet von Kolbenfresser) .... :hocho::brain:

Alles neben den Job der auch noch so einige Hirnwicklungen am Tag verbraucht....nicht einfach :woozy_face:
Aber meine mühe es zu verstehen ist doch hoffentlich erkennbar?

Hallo Uwe,
ich verwende eine 1N5917B die hatte ich noch in meiner Krabbelkiste...

So richtig verstehe ich es jetzt nicht, weil ich bekomme doch annähernd die Werte. :man_facepalming:

Guten Abend Männer´s,

nach denn letzten turbulenten Wochen zwischen Himmelhoch jubelnd und zutiefst betrübt habe ich doch noch ein wenig an meinem Turm machen können. Es viel mir echt schwer mich zu konzentrieren.....

Auf der einen Seite bin ich überglücklich das meine Frau ihren Brustkrebs überstanden hat und nun so hoffe ich auch Krebsfrei bleibt. Zum anderen wurde unser benachbarter Freund mit Hirnblutung ins Krankenhaus eingeliefert.

Schei....Es hat keiner bei meiner Geburt gesagt das, dass Leben so gemein seinen kann.
So, genug der Gefühlsduselei...schließlich geht es hier um ernste Dinge....
Die künstliche Intelligenz :thinking: :wink:

Und Sorry, falls ich beim letzten Besuch einen auf die Füße getreten haben sollte. Es war wohl nicht nett von mir zu sagen das es egal sei, Ihr gebt alles mir zu helfen (@my_xy_projekt noch viel mehr) das ich richtige Werte bekomme.....Schuldig :worried:

So, nun endlich zum Projekt: Turm.....
Er steht nun kurz vor der Vollendung wenn da nicht diese fiesen kleinen Probleme wären.
Ich habe den Menüpunkt Extern und seine Anzeige komplett umgeschrieben und frage diese über Digital-Pins kontinuierlich ab.

Es funktioniert auch soweit, bis auf die Chaos-Abfrage der blinkenden LED's. Nach dem ausschalten leuchten die drei Etagen einmal kurz auf bevor alle LED's ausgehen. @agmue magst Du bitte mal drüber schauen.

Für den zweiten kleinen Fehler kommt eigentlich nur @my_xy_projekt in frage....den er kennt das Projekt in und auswendig......er hat es ja auch ausgearbeitet. LOB LOB LOB

Im case R beim einlesen der Renndaten habe ich versucht einen, na ich habe ihn Tageszähler genannt zu programmieren. Mein Problem hierbei liegt das manche Runden nicht gezählt werden, oder das beim Start schon unterschiedliche Runden angezeigt werden.

Ich verstehe nicht warum, weil Runden-Anzeige habe ich immer die Richtigen Werte.
Wäre super nett von Dir wenn Du da mal ein Blick drauf werfen könntest.
Ich finde es zum verrecken nicht raus warum Runden richtig und Tagesrunden falsch?

Und wie eh und je.....
Vielen Tausend Dank für Eure Hilfe....ist echt G... geworden das Teil.

Gruß aus den Tal, wo die Züge die Räder auf dem Dach haben :wink:Turm_Empfaenger_V73.0.ino (60.8 KB)