Forum: Mikrocontroller und Digitale Elektronik Induktiver Positionssensor - Fragen dazu


von Enrico E. (pussy_brauser)


Angehängte Dateien:

Lesenswert?

Frank O. schrieb:
> So wie du die das handschriftlich geändert hast. Außer C1, der hat 22nF.
> Die Transistoren sind 2xBC327 und BC547.


Die Schaltung erzeugt zwar ein klares Rechteck, aber dafür ist der 
Oszillator mit einem 4k7 nicht Frequenzstabil (das haben wir doch 
gemeinsam in den vorherigen Beiträgen herausgefunden). Ein 
Festspannungsregler sorgt zwar für Frequenzstabilität, behebt aber nicht 
die unstabile Grundneigung des Oszillators.

Deshalb wurde der Peda-Oszillator jetzt statt mit einem 4k7, mit einen 
100k für R2 ausgestattet.

Da musst du nochmal ran!

von Frank O. (frank_o)


Lesenswert?

Enrico E. schrieb:
> Deshalb wurde der Peda-Oszillator jetzt statt mit einem 4k7, mit einen
> 100k für R2 ausgestattet.
>
> Da musst du nochmal ran!

Soll ich ein Film drehen?
Nix instabil und auch kein Rechteck. Schöner Sinus und geht hin und her 
wie eine Ziehharmonika, wenn ich den Bohrer im Sensor bewege.
Andreas hatte schon gemeint, dass das evtl. 47k gewesen sein. Sind es 
nicht. Ich kann ja noch mal 100k für die Widerstände nehmen.

von Frank O. (frank_o)


Lesenswert?

So, irgendwie kam gar nichts mehr mit 100k.
Der Sinus war noch ein wenig verbogen, was für mich überhaupt nicht 
schlimm war, denn ich brauche ja nur den Unterschied.
Jetzt habe ich 100K für R1 und 47k für R2 genommen.
Das Verhältnis 2:1 sorgt für einen fast perfekten Sinus.
Die Spitzen sind minimal etwas "gebügelt".
Ich muss auch kein Strom sparen. Da mir 640Ah zur Verfügung stehen.
Also war das was du an Werten anfangs eingetragen hast, für meinen 
Sensor optimal.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> So, irgendwie kam gar nichts mehr mit 100k.
> Der Sinus war noch ein wenig verbogen, was für mich überhaupt nicht
> schlimm war, denn ich brauche ja nur den Unterschied.
> Jetzt habe ich 100K für R1 und 47k für R2 genommen.

Hmmm - erst hast Du R2=4,7k genommen und hattest einen perfekten Sinus 
(am Schwingkreis gemessen?) und dann hast Du R2=47k genommen und 
abermals einen perfekten Sinus am Schwingkreise gemessen?

Das passt weder zu Enricos Erfahrungen noch zu meinen Simulationen.
Du musst irgendetwas anderes als im Schaltplan abgebildet gebaut haben.
Spendier uns evtl. einmal ein paar scharfe Fotos.

> Das Verhältnis 2:1 sorgt für einen fast perfekten Sinus.

R1 hat nix mit dem Oszillator zu tun.
Den kannst Du quasi verändern wie Du willst - das wird nichts ändern.

Viele Grüße

Igel1

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas, das kann ich machen. Aber es ändert nichts an dem, was ich dort 
messe.
Die Daten habe ich ja schon angegeben und die Fehler, die ich zuvor 
gemacht hatte, sind weg. Lediglich die Werte der beiden Widerstände habe 
ich geändert.
Aber ehrlich gesagt, ich mache gern die Fotos, für mich ist das so in 
Ordnung.
Wie ich auch schon schrieb, will ich das noch in SMD aufbauen. Wird 
sicher eine fummelige Aktion. Mal sehen, vielleicht mache ich das gleich 
noch.

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Hier die Bilder.
Einzig die Led und die Diode (Falschpolschutz) habe ich dazu gebaut.

: Bearbeitet durch User
von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Frank O. schrieb:
> Andreas, das kann ich machen. Aber es ändert nichts an dem, was ich dort
> messe.

Es passt halt nur so gar nicht zu Enricos und meinen Ergebnissen.
Danach müsste die Schwingung eher rechteckig sein - halt eben so,
wie in der angehängten Simulation - mit all den diskutierten
Nachteilen, die das mit sich bringt.

Wo genau misst Du?  Am Schwingkreis?
Benutzt Du den Tastkopf vom Oszilloskop?
Wenn nein - so miss nochmals mit dem Tastkopf.
Entsprechen Deine Bauteile und Deine Werte genau denen im angehängten 
Bild?

> Aber ehrlich gesagt, ich mache gern die Fotos

Au ja.

Viele Grüße

Igel1

PS:  (edit) - upps, jetzt haben sich unsere Beiträge überschnitten ...

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Da fehlt noch der dritte Transistor.

Enrico E. schrieb:
> 20240323_142231.png
>
>             20 KB

Da wo "OUT" draufsteht.
Bei auch steht immer "7mH". Mit dem Transistortester hat der Senor 5.2mH
Bei mir sieht das besser aus.

von Frank O. (frank_o)


Lesenswert?

Frank O. schrieb:
> Andreas, das kann ich machen. Aber es ändert nichts an dem, was ich dort
> messe.

Kann ein Moderator vielleicht mal die Bilder löschen. Bei mir wurde 
leider nicht angezeigt, dass die Bilder hochgeladen wurden.

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

So sieht das nicht am Oszi aus.
Aber funktioniert gut.
Selbst wenn es etwas verzerrt wäre, würde das für meinen Zweck keinen 
Unterschied machen.

Komisch, nachdem ich das jetzt gesendet habe und hier nochmal 
runtergeladen habe und das laufen lasse, dann sieht es aus wie bei mir 
auf dem Oszi.
Hab jetzt noch ein Bild dran gehängt.
Ich würde meinen, dass das wie ein Sinus aussieht.

: Bearbeitet durch User
von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Frank O. schrieb:
> So sieht das nicht am Oszi aus.
> Aber funktioniert gut.
> Selbst wenn es etwas verzerrt wäre, würde das für meinen Zweck keinen
> Unterschied machen.

Für Dich am Oszilloskop vielleicht nicht, aber für Dein Auswerteprogramm 
aber vielleicht doch.

Denn Dein Programm benötigt eine klare Frequenz, ab der es entscheidet,
ob er Stößel nun draußen oder drinnen ist.

Und genau diese Frequenzschwelle kann gut schwanken, wenn Du eine 
Kippschaltung statt einen Oszillator betreibst.

> Komisch, nachdem ich das jetzt gesendet habe und hier nochmal
> runtergeladen habe und das laufen lasse, dann sieht es aus wie bei mir
> auf dem Oszi.

Ich bin langsam echt weichgekocht, denn wieder einmal passt so gar 
nichts zusammen:

* Ich sehe in Deiner Schaltung R2=47k und in Deiner Simulation sehe ich 
R2=1,5k.

* Weiterhin wolltest Du die Schaltung mit 5V betreiben und die 
Simulation läuft mit 1V (!) Betriebsspannung.

* Außerdem hattest Du von einem 22nF Kondensator geschrieben und Deine 
Simulation hat einen 100nF Kondensator.

* Und auf den Bildern der Streifenrasterplatine ist zwar Deine 
Gummimatte scharf, aber Die Platinenunterseite unscharf.

* Und so einfache aber wichtige Fragen, wo und wie Du mit dem Oszi 
misst, bleiben unbeantwortet.

* Dafür sehe ich auf Deinem Oszi 3,88V in der Spitze - das kann 
ebenfalls nicht sein (oder hast Du noch einen Offset am Oszi 
eingestellt?)

Ich gebe zu: so macht das für mich aktuell wenig Spaß.

Viele Grüße

Igel1


PS: anbei die Schaltung, so wie ich Dich verstanden hatte (Ergänzung L1 
hat intern 30 Ohm Widerstand - sieht man nur im Modell)

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> * Ich sehe in Deiner Schaltung R2=47k und in Deiner Simulation sehe ich
> R2=1,5k.

Sorry, falsche Datei.
Da habe ich alles das so drin, wie aufgebaut.
Sieht aber anders aus.

Andreas S. schrieb:
> * Weiterhin wolltest Du die Schaltung mit 5V betreiben und die
> Simulation läuft mit 1V (!) Betriebsspannung.

Versorgungsspannung ist 5V minus der Diode. Und ich habe auch immer von 
der Versorgungsspannung geschrieben. Die haben wir auch vor einer Weile 
auf 5 Volt (weil der Arduino die bekommt und ich nicht noch eine 
Spannung haben wollte) festgelegt.

Andreas S. schrieb:
> * Und so einfache aber wichtige Fragen, wo und wie Du mit dem Oszi
> misst, bleiben unbeantwortet.

Hab ich doch geschrieben. So wie das von Anfang an als Ausgang 
gekennzeichnet war.  Zwischen R1 und Kollektor von Q3.

Andreas S. schrieb:
> Für Dich am Oszilloskop vielleicht nicht, aber für Dein Auswerteprogramm

Die Frequenz ist so glasklar, wie sie nur sein kann. Fast das Doppelte, 
wenn der Stößel draußen ist. Außerdem (hatte ich auch schon ziemlich im 
Anfang geschrieben), dass ich nur die Pulse messe und das auch schon 
ausprobiert habe. Das klappt. Da kippt auch nichts. Vpp bleibt gleich, 
lediglich die Frequenz ändert sich.

Andreas S. schrieb:
> * Und auf den Bildern der Streifenrasterplatine ist zwar Deine
> Gummimatte scharf, aber Die Platinenunterseite unscharf.
Das ist mit dem Mobiltelefon fotografiert. Aber ist doch auch völlig 
wuppe, denn die Schaltung funktioniert, seit alle Fehler weg sind und 
die Werte habe ich angegeben.
PNP sind BC327-40, der NPN ist ein BC547-40. Die Widerstände sind 
aktuell 100k für den R1 und 47k für den R2. Beide nicht nur aus der 
Kiste genommen, sondern auch gemessen. C1 ist 22nF (223). Der Sensor hat 
5.2mH (mit dem Transistortester gemessen.

Andreas, auch wenn sich das nicht in der Simulation darstellen lässt 
(ich habe ja aktuell auch den Serienwiderstand zum Sensor weggelassen 
und natürlich weiß ich, dass ihr den eingebaut habt, um den ohmschen 
Widerstand des Sensors mit einzuberechnen), hier funktioniert es.
Der Unterschied zur Simulation, ich habe einen realen Sensor hier und 
mit dem funktioniert es wunderbar.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas, so rührend deine Bemühungen auch sind und der Ärger, dass sich 
das hier anders darstellt für Unverständnis sorgt. Aber ist es denn 
nicht grundsätzlich schön und viel wichtiger, dass es hier funktioniert?

Im Anfang habe ich mich sicher etwas blöd angestellt. Jetzt bin ich 
wieder ganz gut im Thema. Sowohl beim Löten als auch beim Messen. 
Obwohl, das darf ich ruhig so sagen, messen kann ich und das gehört mit 
zu den täglichen Aufgaben im Beruf. Wenn auch da kein Oszi benötigt 
wird. Widerstand, Durchgang (und Kurzschluss), Spannung und Strom kann 
ich definitiv messen.
Und das Oszi kann ich auch bedienen. Auch wenn ich nicht alle Funktionen 
nutze.
Dass du, nach den anfänglichen Problemen ein gesundes Misstrauen 
gegenüber dem Aufbau der Schaltung und meinen Fähigkeiten hast, kann ich 
gut verstehen. Aber es ist nun auch bei mir (auch wenn ich ein kleiner, 
doofer Monteur bin) ein gewisser Lerneffekt eingetreten, über den 
gesamten Thread hinweg.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas, so rührend deine Bemühungen auch sind und der Ärger, dass sich
> das hier anders darstellt für Unverständnis sorgt. Aber ist es denn
> nicht grundsätzlich schön und viel wichtiger, dass es hier funktioniert?

Funktionieren tut eine Schaltung m.M.n erst wirklich, wenn sie in allen 
angenommenen Lebenslagen das tut, was sie soll, und das nicht nur auf 
dem Labortisch. Und dafür ist es wichtig, dass du das Dingen im 
Oszillator- und nicht im Kippmodus betreibst.

> Im Anfang habe ich mich sicher etwas blöd angestellt. Jetzt bin ich
> wieder ganz gut im Thema. Sowohl beim Löten als auch beim Messen.
> Obwohl, das darf ich ruhig so sagen, messen kann ich und das gehört mit
> zu den täglichen Aufgaben im Beruf. Wenn auch da kein Oszi benötigt
> wird. Widerstand, Durchgang (und Kurzschluss), Spannung und Strom kann
> ich definitiv messen.
> Und das Oszi kann ich auch bedienen. Auch wenn ich nicht alle Funktionen
> nutze.

Alles gut. Nur wundert mich jetzt, da ich weiß, dass Du am Kollektor von 
T3 mit dem Oszi gemessen hast, dass Du dort einen Sinus misst.
Genau dort sollte nämlich eigentlich ein Rechteck rauskommen.
Hast Du die Masse vom Oszilloskop mit dem Emitter von T3 verbunden 
gehabt?
Hast Du einen Oszilloskop-Tastkopf verwendet oder nur ein Kabel?

> Dass du, nach den anfänglichen Problemen ein gesundes Misstrauen
> gegenüber dem Aufbau der Schaltung und meinen Fähigkeiten hast, kann ich
> gut verstehen. Aber es ist nun auch bei mir (auch wenn ich ein kleiner,
> doofer Monteur bin) ein gewisser Lerneffekt eingetreten, über den
> gesamten Thread hinweg.

Alles gut - bei mir ja auch.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Nur ganz kurz, ich muss gleich los.

Tastkopf und mit Masse  verbunden.

Ich kann den Sensor zur Not komplett raus lassen.
Wenn ich will, kann ich den auch raus drehen und mit dem Finger fühlen, 
wo der Schieber steht.
Im Wesentlichen muss ich die beiden Magnete ansteuern und das kurz 
nacheinander.
Der Sensor wird nur zweimal im Programm aufgerufen werden.
Andreas, mal abgesehen von meiner eingeschränkten Lebenszeit, ich bin 
spätestens in vier Jahren in Rente.
Ob ich, außer um das gebaute Gerät zu testen, nochmal überhaupt in die 
Situation gerate, dass ich diese Bremse wegen eines Ausfalls testen 
muss, ist fraglich.
Den Schaden, den ich jetzt hatte, wird es so nicht mehr geben, denn da 
hat man schon nachgebessert. Und selbst der ist erst nach vier Jahren 
aufgetreten. Es ist also kein Gerät, welches täglich zum Einsatz kommen 
wird.
Aktuell bin ich dabei mir Gedanken über den Aufbau zu machen und das 
zusammen zu bauen.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Nur ganz kurz, ich muss gleich los.
>
> Tastkopf und mit Masse  verbunden.
>
> Ich kann den Sensor zur Not komplett raus lassen.
> Wenn ich will, kann ich den auch raus drehen und mit dem Finger fühlen,
> wo der Schieber steht.

Ist mir schon klar, dass die gesamte Sensor-Messung für Dich nur "nice 
to have" bzw. "Schmuck am Nachthemd" ist.

Mir ist halt nur nicht klar, warum sich Deine Schaltung so anders 
verhält, als ich es erwartet hätte.

Und dabei ist es mir nicht so wichtig, welchen Stellenwert die Schaltung 
im Gesamtaufbau hat, denn es geht mir tatsächlich mehr um die 
Funktionsweise der Schaltung als solches (während es Dir vermutlich eher 
um das Ziel geht, das Du mit der Schaltung erreichen möchtest).

Wie dem auch sei - mir bleibt da wohl nichts anderes übrig, als den 
PeDa-Oszillator selber einmal aufzubauen und dann meine Ergebnisse mit 
Deinen zu vergleichen.

Hab' noch einen schönen Sonntag

Igel1

von Frank E. (ffje)


Lesenswert?

Ab "Peter D. (peda)  19.02.2024 09:14" mit:
https://www.mikrocontroller.net/attachment/625266/100k_5V.BMP
ist die Aufgabe "Sensorauswertung" verbindlich, unumstößlich
erledigt ! ! !
Das ist 5 Wochen her ! ! !
Warum man dann hier heute noch hemmungslosen Blödsinn baut...
Bei solcher:
https://www.mikrocontroller.net/attachment/628850/1711230293806.jpg
(B)lö[d/t]braterei auch noch von SMD zu fantasieren...
gewagt, gewagt.
Was ist das für eine unbeholfene Bildchen-Laderei?
Frank O. (frank_o)  23.03.2024 22:02
Dann geht was..., und dann geht was wieder nicht...???
Anschlüsse vertauscht ?  Top-View, Bottom-View,
besteht das Verständnis, dass das von Bedeutung sein könnte?
Frank O. (frank_o)  23.03.2024 16:42
"Soll ich ein Film drehen?"
Wenn denn schon gesollt werden soll... ??? Wie alt bist Du?
Korrektur: "...EINEN Film drehen"
Aber nicht µC-net- Server mit so 'nem Müll belegen, auf YT bitte ! ! !
Infantilismus: "...Polo hat jetzt 256PS..."
Der Sohn tot, im Zusammenhang mit Autos, manche kapieren's NIE!
Die Dinger sind i.m.O. Gebrauchsgegenstand, nothing else!
Kackenhauerei, Großkotzigkeit: "...Messer...einige 100 €..."
aber NICHTS gebacken bekommen... 5 ! Wochen lang
AMEN (Übersetzt: So sei es)
mfG  fE

von Enrico E. (pussy_brauser)


Lesenswert?

Frank E. schrieb:
> Der Sohn tot

...und nicht nur der Sohn, auch der Vater! Natürlich besteht da 
Gesprächsbedarf. Das steckt man nicht so einfach weg.

Andreas S. schrieb:
> Mir ist halt nur nicht klar, warum sich Deine Schaltung so anders
> verhält, als ich es erwartet hätte.

Wahrscheinlich hat Frank O. von Anfang an richtiger Weise einen 47k für 
R2 eingesetzt und geglaubt, durch den roten Ring bei den Nullen sind es 
nur 4k7. Er hat es nur nie gemerkt.

47k haben bei Metallfilmwiderständen keinen orangefarbenen Ring!

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

So, von hinten angefangen.

Nicht nur Sohn und Vater, ich selbst bin auch todkrank.
Aber das ist jetzt weniger wichtig.

Man, man, man! Hätte ich doch bloß nicht noch mal mit dem blöden Sensor 
angefangen.
Nein Enrico, vorher war R1=10K und R2=4k7.
Mir ist es eigentlich zu blöd die Bilder anzuhängen, denn messen kann 
ich.

Frank, wo du recht hast hast du recht. SMD auf diese Platine, das ist 
Selbstquälerei.
In den 5 Wochen habe ich eine ganze Menge hinbekommen.
Meinem Sohn wurde die Vorfahrt genommen. Der Unfallgegner stand zunächst 
am Stoppschild und ist losgefahren, als mein Sohn auf seiner Höhe war. 
Mein Sohn fuhr höchstens 80Kmh, bei erlaubten 100kmh.
Dass ich mir jetzt ein schnelles Auto gekauft habe und es noch ein wenig 
schneller machen lassen habe, da war der Ausgang das Getriebe. Dies 
wollte ich optimieren lassen. Original ist es nicht so schön abgestimmt. 
Nun ja, die Leistungssteigerung bot sich einfach an.
Mit den Messern, du schriebst von einem Erbstück, da wollte ich dir 
wieder eine Brücke bauen, weil es zuletzt doch etwas unfreundlich wurde. 
Aber ich sehe, dass das nicht möglich ist. Du bist frustriert, neidisch 
und insgesamt wohl sehr unzufrieden.
Wenn es dir Erleichterung verschafft, dann kannst du dich ruhig an mir 
auslassen, aber die anderen lass bitte in Ruhe!

Andreas, klar verstehe ich dich. Sogar zu 100%. Aber ich kann leider 
nichts dafür, dass das so bei mir aussieht, wie es aussieht. Die einzige 
Variable, die nur ich habe, ist der Sensor. Ich denke, dass das die 
Komponente ist, die hier einfach anders auf den Schwingkreis wirkt.
Deshalb würde ich immer, trotz aller Simulation, alles testen.
Natürlich will ich hier voran kommen. Heute musste ich erstmal meine 
Mutter im Heim besuchen und mir selbst einen Eindruck verschaffen. Zum 
Glück hat das alle meine Erwartungen, im Positiven, übertroffen.
Da ich erst jetzt wieder zu Hause bin, wird das heute auch nichts mehr. 
Muss gleich noch ein wenig Wäsche machen.

von Enrico E. (pussy_brauser)


Lesenswert?

Frank O. schrieb:
> Mir ist es eigentlich zu blöd die Bilder anzuhängen, denn messen kann
> ich.

Das Anhängen der Bilder hättest du dir getrost sparen können. Man hat 
auf den Fotos vom 23.03.2024 (22:02 Uhr) an den Farbringen schon 
gesehen, dass es sich bei den beiden Widerständen um 47k und 100k 
handelt.

Frank O. schrieb:
> vorher war R1=10K und R2=4k7.

Das ist die entscheidende Aussage! Das erklärt alles.

von Spess53 .. (hardygroeger)


Lesenswert?

Hi

>denn messen kann ich.

Das mag bei solchen primitiven Schaltungen funktionieren. Wenn es 
kompliezerter wird dann nicht. Dann hilft nur einseitig ablöten.

MfG Spess

von Frank O. (frank_o)


Lesenswert?

Hallo spess53!
Schön dass es dich hier noch gibt!
Ja, ich weiß, dass das nicht unbedingt immer klappt und von der 
Schaltung abhängig ist, so in der Schaltung zu messen.
Auch wenn ich hier manchmal ein bisschen deppert rüber kommen mag, bin 
ich nicht. Manchmal liegt es an der Brille, die ich dann gerade nicht 
auf habe, ganz oft habe ich den Kopf mit vielen Sachen gleichzeitig voll 
und leider bin ich auch nicht immer in der besten Verfassung.
Ja und ab und zu, denke ich vorher nicht genug nach. Das fällt dann 
tatsächlich unter deppert.

von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Mir ist halt nur nicht klar, warum sich Deine Schaltung so anders
> verhält, als ich es erwartet hätte.

[...]

> Wie dem auch sei - mir bleibt da wohl nichts anderes übrig, als den
> PeDa-Oszillator selber einmal aufzubauen und dann meine Ergebnisse mit
> Deinen zu vergleichen.

So - gesagt, getan.
Ich habe die Schaltung mit R2=4,7k und R1=10k nachgebaut.

Bauteile und Werte entnehmt ihr bitte dem Schaltplan im Anhang: ich 
hatte auf die Schnelle keinen BC327-40 und habe daher einen BC560C 
genommen. Ebenso wurde aus dem BC547C ein BC549C. Die 
Spulen-Parallelschaltung mit Serienwiderstand hat 5.2mH und 30 Ohm. 
Dummerweise habe ich mit 5V Versorgungsspannung statt mit 4,3V (wie bei 
Frank O.) getestet. Aber all diese kleinen Abweichungen sollten den Kohl 
nicht fett machen und die Ergebnisse sollten mit denen von Frank O.'s 
Schaltung weitestgehend übereinstimmen.

Zum Oszilloskopbild:

- gelb:    Vpeda_out    (also Spannung am Kollektor von Q3)
- rot:     V_p_lcr      (also Spannung am Schwingkreis)

Fazit:

1.) Die Oszillatorspannung weicht bei R2=4,7k recht deutlich von einem 
Sinus ab (nicht so krass, wie in der Simulation, aber trotzdem 
deutlich).

2.) Die Ausgangspannung Vpeda_out (also am Kollektor von Q3) ist ganz 
klar ein Rechteck.  (Frank O. hatte dort lt. eigenen Angaben einen Sinus 
gemessen)

Mein Fazit lautet daher: Frank O. hat entweder im Schaltungsaufbau eine 
Abweichung oder er hat an anderer Stelle gemessen oder er hat bei der 
Messung etwas verdreht (sorry Frank ...).

Viele Grüße

Igel1

: Bearbeitet durch User
von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Mir ist halt nur nicht klar, warum sich Deine Schaltung so anders
> verhält, als ich es erwartet hätte.

[...]

> Wie dem auch sei - mir bleibt da wohl nichts anderes übrig, als den
> PeDa-Oszillator selber einmal aufzubauen und dann meine Ergebnisse mit
> Deinen zu vergleichen.

So - gesagt, getan.
Nein - das ist kein Dejavue und kein Doppelpost, denn
ich habe die Schaltung aus dem letzten Post leicht modifiziert und mit 
R2=47k und R1=100k nochmals getestet.

Bauteile und Werte entnehmt ihr bitte dem (angepassten) Schaltplan im 
Anhang: ich hatte auf die Schnelle keinen BC327-40 und habe daher einen 
BC560C genommen. Ebenso wurde aus dem BC547C ein BC549C. Die 
Spulen-Parallelschaltung mit Serienwiderstand hat 5.2mH und 30 Ohm. 
Dummerweise habe ich mit 5V Versorgungsspannung statt mit 4,3V (wie bei 
Frank O.) getestet. Aber all diese kleinen Abweichungen sollten den Kohl 
nicht fett machen und die Ergebnisse sollten mit denen von Frank O.'s 
Schaltung weitestgehend übereinstimmen.

Zum Oszilloskopbild:

- gelb:    Vpeda_out    (also Spannung am Kollektor von Q3)
- rot:     V_p_lcr      (also Spannung am Schwingkreis)

Fazit:

1.) Die Oszillatorspannung sieht bei R2=47k wie ein passabler Sinus aus.
    Also genau das, was die Simulation vorausgesagt hatte.

2.) Die Ausgangspannung Vpeda_out (also am Kollektor von Q3) ist
    nach wie vor ein Rechteck - auch wenn die steigende Flanke leicht
    gebogen ist - das liegt vermutlich am viel zu hohen Kollektor-
    Widerstand von Q3 zusammen mit dem 1M Eingang meines Oszilloskops
    samt dessen Eingangskapazität und fehlendem Messkopf.
    (Frank O. hatte dort lt. eigenen Angaben einen Sinus gemessen)

Mein Fazit lautet daher: Frank O. hat entweder im Schaltungsaufbau eine 
Abweichung oder er hat an anderer Stelle gemessen oder er hat bei der 
Messung etwas verdreht (sorry Frank ...).

Viele Grüße

Igel1


PS: man achte auch auf die Frequenzunterschiede bei Frank O.'s und 
meinem Schaltungsaufbau:  knapp 9kHz bei Frank gegenüber ca. 16kHz bei 
mir.

: Bearbeitet durch User
von Enrico E. (pussy_brauser)


Lesenswert?

Gut dass du die Schaltung aufgebaut hast! Ganz große Klasse

👍

Jetzt kannst du alle Tests selber durchführen:

Versorgungsspannungsänderung mit Grad der Frequenzänderung beobachten.

Induktivitätsänderung durch rein- und rausschieben des Kerns und dabei 
die Frequenz beobachten.

R2 durch ein Poti ersetzen und schauen was passiert. R1 kann 10k 
bleiben. 100k für R1 ergibt keinen Sinn.

Du hast die Bezeichnungen R1 mit R2 im Schaltplan vertauscht. Wir reden 
hier die ganze Zeit von R2. Dein R2 sitzt aber versehentlich am Ausgang!

Lass die Schaltung auf jeden Fall aufgebaut, damit ggf. zukünftige 
weitere Unklarheiten beseitigt werden können!

von Andreas S. (igel1)


Lesenswert?

Enrico E. schrieb:
>
> Du hast die Bezeichnungen R1 mit R2 im Schaltplan vertauscht. Wir reden
> hier die ganze Zeit von R2. Dein R2 sitzt aber versehentlich am Ausgang!
>

Oh Mist - Du hast völlig recht: ich habe die Bezeichnungen für R1 und R2 
im Schaltplan versehentlich vertauscht. Oh weh - das bringt jetzt Chaos 
in die weiteren Diskussionen.

Viele Grüße

Igel1

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> (sorry Frank ...).

Du weißt schon wie du mich kriegst?!

Nein, im Ernst, ich musste es noch einmal aufbauen, da das die Platine 
werden soll, wo alles drauf kommt.
Jetzt bekomme ich die gleichen (etwas verzerrten) Werte, wie in der 
Simulation.
Bin aber wieder auf 4k7 und 10k gegangen. Frequenz ist jetzt knapp 
7-13kHz.

Warum das vorher anders war, keine Ahnung. Vielleicht ist ein Bauteil 
etwas "ranzig" gewesen?
Will ich aber auch nicht länger drüber nachdenken.

: Bearbeitet durch User
von Frank E. (ffje)


Lesenswert?

Gemäß „peda_m2_igelv2R3T_47k.png“
machen, und fertig ist. Falls am
Schwingkreis kein vernünftiger
Sinus, dann R1 etwas vergrößern.
(ich hatte vor 35 Jahren E12-
Sortiment bis 1MOhm 5% gekauft)
Was redets/schreibts hier von
1MOhm Osci-Eingang? Man verwendet
IMMER 1/10-Tastkopf!, oder ist hier
50Herz-Strippenzieher-Area?
47k mit 4k7 verwechseln? Habt‘s
kein Arbeitslicht? Sollte ca.
4000K haben. Es war zu lesen von
„Auskennen auf der Welt“; in TH,
KH, VN, IT, ES gibt es Leuchtmittel
aller möglicher Kelvins, hier beim
Michel nur Warmton zum Absenilen...
frank_o, ich bin durchs Ansehen von
Stümperkrams nicht frustriert, bei
Deinen Glanzleistungen in ET hast
Du noch Baustellen genug vor Dir;
sich nun zusätzlich noch der
Psychologie widmen zu wollen, halte
ich für eine zu große Belastung.
mfG  fE

von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Na da kannst'e mal sehen: da gibt es selbst im 423. Beitrag noch 
Überraschungen, denn dort hatte ich etwas lax geschrieben:

"[...] das liegt vermutlich am viel zu hohen Kollektor-Widerstand von Q3 
[...]".

... und dachte bei mir: "den drehst Du schnell auf 10k runter und gut 
ist" - aber weit gefehlt. Den scheint Frank O. mit Bedacht so groß 
gewählt zu haben, denn darunter geht's nicht.

Die Simulation sagt: die Emitterspannung an Q1 bzw. Q2 hat zu wenig 
"Wumms", um Q3 voll durchzusteuern - zumindest dann, wenn dieser statt 
der 100k einen 10k Kollektorwiderstand treiben muss.

Jetzt könnte man die Basisspannung von Q3 mit einem Spannungsteiler 
hochsetzen und mit einem Kondensator die Steuerspannung dort einkoppeln 
- ich meine das im Verlauf des Threads hier auch schon gesehen zu haben, 
aber das sind nun schon wieder 3 Bauteile mehr (oh weh, oh weh :-) .

Da ist mir die abgebildete Lösung eingefallen, die mit lediglich einem 
zusätzlichen Widerstand auskommt. Funktioniert in der Simulation 
ziemlich gut - in der echten Schaltung werde ich das erst morgen 
ausprobieren können.

Bis dahin: gute Nacht liebe Mitstreiter

Igel1


PS: ach ja - ich habe diesmal die Widerstände wieder umbenannt, damit R2 
wieder dort liegt, wo er immer lag. Außerdem habe ich die 
Verpolschutzdiode von Frank O. ebenfalls berücksichtigt.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Weißt du Frank, du kannst so vernünftig schreiben. Sogar so, dass man 
das lesen und(!) verstehen kann.
Ich habe überhaupt nichts gegen Kritik, auch nicht, wenn sie negativ 
ist, solange sie berechtig ist.
Natürlich habe ich mich hier im Anfang blöd angestellt und das lässt den 
Schluss zu, dass ich tatsächlich ein blutiger Anfänger bin.
Deshalb habe ich auch da gar nichts gegen gehabt, dass ab und zu etwas 
"unterdimensioniert" behandelt wurde.
Bei dir ist das Problem, es ist eigentlich gar kein richtiges Problem, 
dass du ab und an andere Meinungen überhaupt nicht anerkennen kannst.
Zum Beispiel, als ich hier schrieb, dass ich aus Gründen des 
Betriebsgeheimnisses nicht so ganz offen schreiben kann.
Und zwischendurch pöbelst du auch einfach nur hier rum.

Ich glaube wirklich, dass du überragende Fähigkeiten in der Elektronik 
hast.
Dass dich dann manchmal das "rumeiern" stört, verstehe ich auch. Aber du 
musst doch nicht, meistens zum Wochenende hin, dann hier alles in den 
Dreck ziehen.
Vielleicht sollte man grundsätzlich persönliche Sachen aus dem Netz raus 
halten. Ich bin ein total ehrlicher und offener Mensch und ich weiß, 
dass das Angriffspunkte bietet.
Weißt du, leben und leben lassen, das ist mein Motto. Vielleicht 
schaffst du das auch noch.
Ich kenne dein Leben nicht und du kannst dir sicher nicht im Ansatz 
vorstellen, wie mein Leben verlaufen ist. Jeder hat so sein Päckchen mit 
sich zu schleppen und das prägt. Aber es ist eigentlich ganz einfach, 
man muss nur ein wenig Respekt für andere Menschen haben, dann bekommt 
man diesen Respekt auch erwidert. Und nur so funktioniert es 
reibungslos.
Hier im Forum sind so viele Maulhelden (dich meine ich ausdrücklich 
nicht damit), wenn die in der richtigen Welt, auf die Welt meiner Jugend 
getroffen wären, würden sie entweder ganz handzahm, für den Rest ihres 
Lebens geworden sein oder sie hätten das schlichtweg nicht überlebt.
Wenn du den Leuten doof kommst, hauen die dir den Kopf zwischen den 
Ohren weg.
Ich habe so viele verschiedene Charaktere und Menschen jeden Standes und 
unterschiedlicher Intelligenz kennen gelernt.
Jeder, absolut jeder hat etwas Besonderes, wofür er Respekt verdient 
hat.
Da waren wirklich richtig dumme Menschen dabei, aber die hatten ein 
riesiges Herz.
Und nochmal Frank, hier muss keiner schreiben. Aber wenn, dann bitte 
mit Anstand und Benehmen!

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Da ist mir die abgebildete Lösung eingefallen, die mit lediglich einem
> zusätzlichen Widerstand auskommt. Funktioniert in der Simulation
> ziemlich gut - in der echten Schaltung werde ich das erst morgen
> ausprobieren können.

Das sieht wirklich gut aus.
Wenn die Platine, so wie ich sie jetzt aufbaue, so bleibt, dann ändere 
ich nichts mehr daran.
Allerdings muss ich morgen früh sofort erstmal den kleinen Magneten 
anschauen. Evtl. muss ich da eine H-Brücke bauen. Dann passt das alles 
sowieso nicht mehr auf eine Platine. und dann kann ich das vielleicht 
noch ändern. Aber das sieht sehr gut aus.

P.S. Neben dem neuen Aufbau habe ich erstmal Transistoren entgurtet. 
Gefühlt waren das ein paar hunderttausend. Eigentlich völlig bescheuert 
gleich immer 100 Stück zu bestellen, nur weil sie ein paar Cent kosten.

Schlaf gut!

: Bearbeitet durch User
von Frank E. (ffje)


Angehängte Dateien:

Lesenswert?

Andreas S. (igel1)  26.03.2024 00:20
Was machst Du denn da? : "peda_m2_igelv3R3T.asc"
Das Ding ist wahrscheinlich nicht temperaturstabil,
0°C bis 50°C ist Industrie-Standard, das hat man zu schaffen.
Zu Q3 mit Kondensator ! einkoppeln!
Ich habe meinen PRIMITIVST-Verstärker jetzt zu einem
DC-gegengekoppelten/stabilisierten Primitiv-Verstärker updated.
peda_m3.zip läuft von 3V bis 7V Versorg.Spg.
Den theoretischen Background gibt es auf youtube
(bei den Kids von heute mit YT abgekürzt) unter (anderem):
EzanqOFnCx4
wg0OqrUXDjI
wah516ZoPtQ
Es bietet sich noch Verbesserungspotential.
ABER, wie's aussieht vertüttelt Ihr euch jetzt mit den Rs ???
Nicht so viel saufen im Dienst, in Michel-country ein sehr
verbreitetes Phänomen, 40% kritischer Alk-Konsum...
Ab Oster-Mo ist Erlösung in Sicht. Kiffen, aber auch nur
nach dem Dienst und NIE vor'm Autofahren, da arbeite ich noch
an der Gesetzgebung mit. Wenn endlich eingetütet, helfe ich
den Weibern in Sachen Selbstbestimmung bei §218, §219.
Wat iss'n los frank_o? Sensor kaputt? Hast Du ihn mit 60V
gebraten? Persönliches raushalten? Du hast angefangen, jetzt ich:
 Ich habe mit 5 Jahren weite Rad-Touren zu irgendwelchen anderen
 Stadtteilen unseres Kaffs unternommen, Spielplätze entdeckt...
 Ich habe mir auf 'nem Zettel nachgemalt, was auf den Str.Schildern
 stand. Das Interesse kam auf, was soll/ist das; so habe ich den
 Eltern Löcher in den Bauch gefragt, bis daraus sich das Lesenkönnen
 entwickelte, ca. ein halbes Jahr vor der Einschulung.
Frank O. (frank_o)  22.03.2024 18:05
"Ach Frank, was mache ich nur mit dir?"
Für die Frage ist es (leider?) ca. 60 Jahre zu spät, und ich sage:
Ein Glück auch, was wäre nur aus mir geworden, Horrorvorstellung!
Ich habe mich von Kind an immer für alles, was mich umgibt
interessiert, ich musste immer "forschen", gelernt habe ich nie.
Mich hat nie Fussball, Auto und der ganze Gockel- oder Pavian-
Shyc (Kackenhauerei) bekümmert.
In der 1. oder 2. Klasse Grundschule (hatten gerade Schleife binden)
konnte ich mir zusammenreimen, was die Menschheit Doppler-Effekt
nennt. Außer "Erlkönig auswendig" nie gelernt, im Unterricht
aufgepasst. Keine Hausaufgaben, lieber Fahrrad-Tour, bei Mathe-HA
vorlesen..., schnell ausgerechnet, fertig. Ich hatte nie Lust auf
Schule, deswegen den Aufwand geringst gehalten, nie sitzen geblieben.
Ach, frank:o, stel Dir vor, weil's nicht so lief mit dem Hall-Effekt-
Stromsensor, war ich mal suchen nach welchen mit SPI oder I²C
Conncet, nichts gefunden. Bin aber bei Arduino-Stümpern gelandet.
In deren Kreisen kriegen die Heinies echt nichts auf die Reihe...,
Massen-Down-Loadington, ohne zu wissen, was macht es denn oder nicht.
mfG  fE

von Frank O. (frank_o)


Lesenswert?

Frank E. schrieb:
> Ich habe meinen PRIMITIVST-Verstärker jetzt zu einem
> DC-gegengekoppelten/stabilisierten Primitiv-Verstärker updated.
> peda_m3.zip läuft von 3V bis 7V Versorg.Spg.

Ich bin ja eigentlich mit fast jeder Version zufrieden. Aber ich schrieb 
auch, dass das mit dem Kondensator eine gute Idee ist.

Das was du über dich schreibst, hatte ich mir schon so gedacht.
Du bist wahrscheinlich ein außerordentlich schlaues Kerlchen. Da ist es 
nicht immer ganz einfach in der "normalen" Welt.
Schön dass du dich trotzdem weiter beteiligst.
Ne, Sensor ist so wie vorher.
Arduinoforen sind nicht nur C%Pler. Aber schon sehr viele. Die Beiträge 
tun manchmal schon weh. Aber die Hardware und die vereinfachte 
Programmierung, ist ein guter Einstieg. Die Hardware wird von vielen zum 
Testen oder als günstige Basis benutzt. Da finde ich auch nichts 
verkehrt dran.

Zurück zur Elektronik und deiner neue Version. Sieht wirklich gut aus 
und sinnvoll.
Hast du das Messer wieder gefunden?

von Andreas S. (igel1)



Lesenswert?

Guten Abend in die Runde.

Ich habe inzwischen R1 auf 10k heruntergesetzt.

Außerdem habe ich R2 und R3 durch jeweils ein Poti ersetzt:
Das R2-Poti habe ich fix auf 42,3k eingestellt.
R3-Poti hat 4,7k und der Mittelschleifer geht auf die Basis von Q3.

Somit ist die Summe von R2 + R3 = 47k und R2 kann ich von 0 ... 4,7k 
variieren, ohne dass ich den Gesamt-Vorwiderstand des Oszillators (also 
R2 + R3) ändere.

Im Film seht Ihr, wie ich den Schleifer von R3 von 0 auf 4,7k hochdrehe 
und später wieder herunterdrehe. Gelb ist die Q3-Kollektorspannung, rot 
die Spannung am Oszillator.

Schön zu sehen ist:

- Bei R2 = 0 Ohm bekommt Q3 nicht genügend Basispannung, um den mit 10k
  belasteten Q3 durchzuschalten.

- Bei R2 = ca. 550 Ohm erreicht Q3 dann erstmals die Talsohle, sprich:
  Q3 schaltet vollständig durch (das ist wichtig für eine spätere
  Arduino-Auswertungen, denn dort muss sicher LOW-Pegel erreicht
  werden - und der liegt beim ATmega328p unter 0.3 x Vcc, also 1,5V)

- Ab R2 = 1,2 kOhm wird dann so viel Strom in Richtung Basis Q3
  abgezweigt, dass die Oszillatorspannung merklich zu schwinden
  beginnt.

- Bei R2 = 4,7 kOhm (und früher) schaltet Q3 dauerhaft durch - auf
  dem Video verschwinden die Hügelchen dann ganz.

Ist nett anzusehen - und das gerade mal in 740 kbyte!

Viele Grüße

Andreas

von Frank E. (ffje)


Lesenswert?

Nein, Messer noch nicht gefunden. Das Wetter war bisher Mist.
Das Area ist recht groß. Ich wollte zu einem Baum, auf dem
wir als Kinder oben eine Hütte hatten. 2002 hing noch ein
letztes Brett droben. Ich wollte sehen, ob der Baum noch
dort ist. Ungefähr in dessen Nähe vielleicht viel mir ein,
ein Foto vom Bärlauch mit dem Messer als Referensgröße für
meine Frau machen. Dann war ich abgelenkt, von der
Überschwemmung des Waldbachs, Fotos davon gemacht...
Als ich wieder zum Auto kam..., da war's Messer weg.
Andreas S. (igel1)  27.03.2024 01:14
"Bei R2 = 4,7 kOhm (und früher) schaltet Q3 dauerhaft durch"
Deswegen doch Gleichspannung mit dem C auskoppeln!
Q3 muss AC-Verstärker sein, um Q2 für Arduino aufzupeppen.
Schau meine Verweise zu YT-Videos an, dort wird die
Berechnung primitiver und more sophisticated
DC-gegengekoppelter AC-Verstärker erklärt.
mfG  fE

: Bearbeitet durch User
von Frank E. (ffje)


Lesenswert?

@ Andreas S. (igel1),
stört Dich, dass das in engl. ist?
Damit muss Du leben, verarbeite dann einfach nur das Visuelle.
Auch Chemie, Mechanik... ist auf YT überwiegend in engl..
Kommt aus Indien, USA, Canada, Australia...,
China ist wegen deren Internet-Beschränkungen kaum vertreten.
DE Beiträge haben kein Kaliber, Low-Level-Nachbauen, mehr nicht.
Es war leider überhaupt nicht! zum Lachen:
Merkel: "Das Internet ist für uns alle Neuland."
https://www.tagesspiegel.de/politik/merkels-neuland-wird-zur-lachnummer-im-netz-4403470.html
Corona hat gezeigt, wie sich ew'ges gesellschaftliches
Siechtum rächt, Home-Learning geht nicht! Hausaufgaben-Mails
schicken reicht eben nicht! da bleibt die unmittelbare
Pädagogik auf der Strecke. Die Wickinger (SE, DK, NO, FI),
und auch CA, NL... haben alles Machbare ab 2000 entwickelt
und praktiziert... es könnt' ja mal ein Balg wegen z.B.
Beinbruch 6 Wochen krank sein... Und hier? sh.o.
“Stetige Veränderung ist die Voraussetzung für den Bestand
all dessen was existiert.”
Mr. Spock, Raumschiff Enterprise, 1968
mfG  fE

Beitrag #7632853 wurde vom Autor gelöscht.
Beitrag #7632855 wurde vom Autor gelöscht.
von Enrico E. (pussy_brauser)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Außerdem habe ich R2 und R3 durch jeweils ein Poti ersetzt

Nun habe ich meine Schaltung ebenfalls dahingehend abgeändert, dass sie 
jetzt genauso aussieht wie deine Schaltung. Das ergibt das beste 
Ergebnis was ich je hatte. Auf das Einfügen von R3 wäre ich nie 
gekommen.

Chapeau 🤠👌

Bis 5V Versorgungsspannung ist die Verpolschutzdiode noch nicht 
erforderlich, weil die Transistoren sämtliche auftretenden 
Reversespannungen bis 5V aushalten. Deswegen habe ich D1 weggelassen.

R3 sollte nicht größer als 1k sein, damit die Schaltung für alle evtl. 
in Frage kommenden Versorgungsspannungen, angefangen von 3,3V bis 18V 
gewappnet ist. Wenn R3 größer als 1k ist wird Q3 bei hohen 
Versorgungsspannungen übersteuert und das Rechteck reißt ab! Die 
Frequenz ändert sich übrigens beim durchlaufen der genannten 
Versorgungsspannungen nur um 1 bis 2% 👍

Zahlreiche andere Versuche mit Vorspannung für Q3, oder niederohmige 
Linearisierungswiderstände im Emitterkteis von Q3 ergaben allesamt kein 
so gutes Ergebnis.

Deine Variante mit dem R3 hat auch den Kältespraytest bestanden. Das 
ergab ebenfalls nur eine Frequenzabweichung von 1 bis 2% 👍

von Frank O. (frank_o)


Lesenswert?

Wobei ich den Koppelkondensator von Frank sinnvoll finde.

Übrigens, die Falschpoldiode und die Leuchtdiode ist nur für die 
Testschaltung. Kommt natürlich nicht auf die spätere Platine.
Heute habe ich endlich an den kleineren Magneten gedacht.
Also kommen doch zwei Platinen rein.
Da muss dann doch eine H-Brücke für diesen Magneten her.
Und der hat ganz andere Spannungen drauf stehen.
Also mal schauen, ob ich den so aus den 80V ansteuern kann.
Das steht 24V/12V drauf. Habe ich so auch noch nicht gesehen

Toll Andreas, dass du so verbissen dran bist.
Schön dass ihr alle noch Spaß dran habt.

So, manches kann man sich sparen, wenn man vorher testet.
Keine H-Brücke nötig. Magnet zieht bei 12V/650mA an. Also ist jetzt 
sogar noch ein bisschen Platz auf der Platine. Den Mosfet, für den 
Verrieglungsmagneten kann ich dann getrost vom µC ansteuern.
Vielleicht baue ich sogar noch einen Halter für das alles, sodass es so 
aufgebaut ist, wie im Fahrzeug.

Dann kann ich das hinterher für unsere Ausbildung stiften.

: Bearbeitet durch User
von Enrico E. (pussy_brauser)


Angehängte Dateien:

Lesenswert?

Frank O. schrieb:
> Wobei ich den Koppelkondensator von Frank sinnvoll finde.

Ein Koppelkondensator direkt vor die Basis von Q3 funktioniert nicht, 
der lädt sich nur einmalig über die Diode von der BE-Stecke von Q3 auf. 
Auch in Verbindung mit einer Vorspannung für Q3 entsteht ein verzerrtes 
Bild (Bild 1). Da ist noch ein nachgeschalteter Schmitt-Trigger nötig!

Andreas' Oszillator, ohne Koppelkondensator, erzeugt dagegen bereits ein 
ausreichend steilflankiges Rechteck, dass ohne nachgeschalteten 
Schmitt-Trigger direkt an den Arduinoeingang geschaltet werden kann 
(Bild 2).

Beide Varianten enthalten bereits den neuen 1k Widerstand (R3).

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Funktioniert in der Simulation
> ziemlich gut - in der echten Schaltung werde ich das erst morgen
> ausprobieren können.

So, mein lieber Andreas!
Ich habe die Testschaltung so umgebaut und dabei ist mir aufgefallen, 
warum ich ein anderes Bild hatte.
Den Fehler habe ich eingebaut, als ich die Led und die Diode dazu gebaut 
habe.
Zwischen Led und Vorwiderstand für die Led, diese Leiterbahn hatte ich 
nicht getrennt und so konnte ein Teil nach Minus wandern.

Aber der Abgleich ist schon eine gute Sache. Ganz so schön bekomme ich 
den Ausgang nicht hin, aber dafür kann ich die Spannung bis Null-Volt 
runter ziehen. Ich hatte allerdings für R3 einen 1k-Widerstand genommen.
Wenn ich in der Schaltung den Gesamtwiderstand von R2 und R3 messe, dann 
komme ich auf 42k, obwohl die Widerstände 48k zusammen sind. Hier ist 
sicher eher ein etwas größerer Widerstand sinnvoll.

von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Enrico E. schrieb:
> Andreas S. schrieb:
>> Außerdem habe ich R2 und R3 durch jeweils ein Poti ersetzt
>
> Nun habe ich meine Schaltung ebenfalls dahingehend abgeändert, dass sie
> jetzt genauso aussieht wie deine Schaltung. Das ergibt das beste
> Ergebnis was ich je hatte. Auf das Einfügen von R3 wäre ich nie
> gekommen.
>
> Chapeau 🤠👌

Oh, dankeschön - das freut und ehrt mich sehr.

> Bis 5V Versorgungsspannung ist die Verpolschutzdiode noch nicht
> erforderlich, weil die Transistoren sämtliche auftretenden
> Reversespannungen bis 5V aushalten. Deswegen habe ich D1 weggelassen.

Yep. Vermutlich hat Frank O. beim Einbau der Verpolschutzdiode eher an 
ein verfrühtes Ableben seines Arduinos denn an ewige Jagdgründe für 
seine Transistoren gedacht.

Aber ja, interessant: für den Oszillator braucht's also nach Deiner 
Recherche, Enrico, keine Verpolschutzdiode - das ist definitiv auch gut 
zu wissen.

> R3 sollte nicht größer als 1k sein, damit die Schaltung für alle evtl.
> in Frage kommenden Versorgungsspannungen, angefangen von 3,3V bis 18V
> gewappnet ist. Wenn R3 größer als 1k ist wird Q3 bei hohen
> Versorgungsspannungen übersteuert und das Rechteck reißt ab!

Yep - bei mir schienen Werte von R3 zwischen 820 ... 1k auch die besten 
Ergebnisse zu liefern. In der Simulation liegen die Werte etwas höher - 
daher habe ich dort 1.5k genommen.

> Die Frequenz ändert sich übrigens beim durchlaufen der genannten
> Versorgungsspannungen nur um 1 bis 2% 👍

Yep - wirklich erstaunlich, dieser Resonanzbetrieb.

> Zahlreiche andere Versuche mit Vorspannung für Q3, oder niederohmige
> Linearisierungswiderstände im Emitterkteis von Q3 ergaben allesamt kein
> so gutes Ergebnis.

Och - ich staune.

> Deine Variante mit dem R3 hat auch den Kältespraytest bestanden. Das
> ergab ebenfalls nur eine Frequenzabweichung von 1 bis 2% 👍

Cool! (im wahrsten Sinne des Wortes :-)
Hättest Du evtl. auch einen kleinen Backofen, um die Schaltung einmal 
auf 50 Grad oder mehr aufzuheizen?

Theoretisch müsste die Schaltung sogar sehr temperaturstabil sein,
hier meine Überlegungen dazu:

Zunächst betrachten wir nur die Einflüsse von steigender Temperatur
auf Q3:

Auswirkung 1 (bei steigender Temperatur):

  => B-E Spannung an Q3 sinkt
    => Ib und Ic an Q3 steigen
      => Vpeda_out sinkt

Sodann betrachten wir die Einflüsse von steigender Temperatur
auf den eigentlichen Schwingkreis mit Q1 und Q2 und was dies
für einen (gleichtemperierten) Q3 bedeuten würde:

Auswirkung 2 (bei steigender Temperatur):

  => B-E und C-E Spannungen an Q1 und Q2 sinken
    => Spannung am Spannungsteiler R2 || R3 sinkt
      => Ib und Ic an Q3 sinken
        => Vpeda_out steigt

Weil Q3 jedoch nicht gleichtemperiert ist und sich statt dessen
genauso mit der Umgebungstemperatur erwärmt wie Q1 und Q2, so
heben sich Auswirkung 2 und Auswirkung 1 gegenseitig auf und wir
haben einen wunderbar temperaturstabilen Ausgangstreiber Q3.
Ich würde mal sagen - das Glück is mit die Doo...

Das zeigt auch die Simulation im Anhang, wo ich die Temperaturen
-25, 0, 25, 50, 75 Grad simuliere. Nur bei der letzten Temperatur,
nämlich den 75 Grad, sieht man einen Ausreißer. Ich glaube sogar,
ich weiß warum - und ich weiß auch, wie man den Ausreißer schnell
wegbügeln kann. Ursache und Gegenmaßnahme würde ich einfach mal
als Knobelaufgabe für Euch übriglassen - soll ja Spaß machen :-)

Viele Grüße

Igel1


PS: den zusätzlichen Transistor Q4 ganz links habe ich nur für
Simulations-Testzwecke dazugebaut - damit man testen kann, wie
sich Ib und Ic bei konstantem Ub und sich ändernder Temperatur
verändert.

Der Resultat der Simulation:

- bei V2=711mV fixer BE-Spannung steigt Ib an Q4 bei Temperaturen von
  -25 ... +75 Grad von 16uA auf ca. 17mA also um mehr als Faktor 1000!

- Ganz anders sieht's an der Basis von Q3 aus: dort sinkt Ib
  (durch die oben erklärte gegenläufige Auswirkung an Q1 und Q2)
  sogar leicht von 23uA auf ca. 16uA (jeweils in der Spitze, also
  bei durchgeschaltetem Q3 gemessen)

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> ewige Jagdgründe für
> seine Transistoren gedacht.

Ist mir letztens bei einem Flip-Flop passiert. Wollte das zeigen und hab 
mir dabei die Transistoren abgeschossen.
Ist also nur für die Testplatine vorgesehen.

Andreas S. schrieb:
> Hättest Du evtl. auch einen kleinen Backofen, um die Schaltung einmal
> auf 50 Grad oder mehr aufzuheizen?

Kann ich mit der Heißluftlötstation machen.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Ich habe die Testschaltung so umgebaut und dabei ist mir aufgefallen,
> warum ich ein anderes Bild hatte.

Mir ist nix aufgefallen, weil wir ja leider nur verschwommene Bilder der 
Streifenraster-Rückseite spendiert bekamen ... (kleiner Wink mit dem 
Zaunpfahl ...).

> Den Fehler habe ich eingebaut, als ich die Led und die Diode dazu gebaut
> habe.  Zwischen Led und Vorwiderstand für die Led, diese Leiterbahn
> hatte ich nicht getrennt und so konnte ein Teil nach Minus wandern.

Ja, ja - so richtig gute Fehler kann man bekanntlich gerne wiederholen 
:-)
Das wird der Zahn der Zeit sein, der an unseren Augen knabbert - da
verrutscht das Streifenraster schon mal in der Optik.

Aber mutig, dass Du es zugibst - Respekt vor Deiner Ehrlichkeit!

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Kann ich mit der Heißluftlötstation machen.

Gibt es auch etwas, was Du nicht hast?!

von Enrico E. (pussy_brauser)


Lesenswert?

Andreas S. schrieb:
> Frank O. schrieb:
>> Kann ich mit der Heißluftlötstation machen.
>
> Gibt es auch etwas, was Du nicht hast?!

Nimm doch einfach den Föhn von deiner Frau und kontrolliere die 
Temperatur mit einem IR-Thermometer.

Bau mal in den Kollektorkreis von Q4 eine LED ein und baller dann mit 
dem Föhn voll auf Q4 drauf! Dann werden die Helligkeitsunterschiede von 
der LED sofort mit dem Auge sichtbar.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Gibt es auch etwas, was Du nicht hast?!

Zumindest als ich die Heißluftstation gekauft hatte, habe ich 35Euro 
bezahlt. Ein paar Tage später habe ich diese Heißluftstation für 25Euro 
gesehen.

In 14 Tagen bekomme ich einen neuen Waffenschrank. Den wollte ich nicht. 
Mal eben 1000Euro.
Gestern flatterte ein Brief ins Haus, da hat irgendein Richter 
entschieden, dass der Schlüssel, auch wenn ich den immer mit mir führe, 
nicht sicher sei.
Im Schlaf würde man das nicht mitbekommen. Bei mir ist der immer im 
selben Raum.
Konnte mir nicht verkneifen zu schreiben.
"Wie viel sicherer ist ein Zahlenschloss, wenn man mich im Schlaf 
überwältigt?"

Natürlich bin ich ehrlich. Wieso sollte ich das nicht zugeben?
Ich hatte dir das die Nacht noch geschrieben(Email), als ich den 
Waffenschrank bestellt hatte.
Tatsächlich wollte ich die Leiterbahn aufgetrennt haben. Daran hatte ich 
gedacht. Aber ich hatte, glaube ich, Telefon und habe es dann vergessen.

Aber zu den Dingen die man so hat, das kleine rote Teil bei dir, das ist 
echt schick.

: Bearbeitet durch User
von Frank E. (ffje)


Lesenswert?

Frank O. (frank_o)  27.03.2024 19:53
"Wobei ich den Koppelkondensator von Frank sinnvoll finde."
Hast Du Dir die YT-Videos angesehen?
EzanqOFnCx4   wg0OqrUXDjI   wah516ZoPtQ
Ich denke mir was dabei, wenn ich Tips gebe,
diese sind nicht zum Nachteil anderer angelegt.
Übrigens, peda hatte durchblickenn lassen, dass der AT328P
Schmitt-Trigger-Eingänge hat! Und zwar an allen! Inps.
Die in einem Datenblatt stehenden Infos nicht! ignorieren.

FFT wollte Dich auch interessieren... Dann hol mal Mathe nach.
Dazu gehst Du zu einer "Volkshochschule". Wichtig ist:
ohne! Vorbereitung!, machst einen "Level-Test", mit dem die
Deine Voraussetzungen checken, um nicht in einem Kurs zu
landen, dessen Inhalte Du nicht begreifst.

Ich hatte nach Strippenzieherlehre, Berufstätigkeit, Bundeswehr,
Berufstätigkeit mich beim ersten Schwächeln der Firma sogleich
als "Geh-nach-Hause-Kandidat" gemeldet.
Dann ging es zur staatlichen Technikerschule in Braunschweig
incl. Fachhochschulreife. In den ersten Osterferien ab ins
Flugzeug nach Süd-Spanien, allein, ohne (Säufer)kumpels und
siehe da, in Englisch komplett sattelfest, besser als Einheimer.
Ich habe später alle Reisen ohne Kumpels vorgenommen, TH, VN, KH,
nach mir erst kamen Bekannte hinterher.
Mathe ging los mit 1+2=3, nun noch Klammern rum...blablabla weiter
Das mag wie Kindergarten aussehen, aber ohne diese elementaren
Grundlagen geht's nicht. Da muss man im Erwachsenenalter durch!

Ich nehme nur bei Bedarf Lochstreifenrasterplatine, sonst
Lochsrasterplatine, für Verbindungen knicke ich Anschl.beine um.
peda_m2_igelv3R3T.small.png   und dann solls auch noch ein Poti
sein??? Was soll die Diode? in:
Q3-Basispoti_0-4.7k.Schaltung.small.png
Verpolschutz? Es gibt nichts! zu verpolen! sondern saubere Arbeit.
Wozu Gleichspannungskoppel zu Q3? Man vermeidet! temp.abhängigkeit!

New theme: Was soll "Evtl. muss ich da eine H-Brücke bauen." ?
Haben Dich wieder abenteuerliche Begrifflichkeiten abgelenkt?
H-Brücke wäre um die Polarität der Spannung des E-Magneten
umzuschalten. Wozu? Hat der E-Magnet Eisenkern (keine! H-Brücke)
Anziehen und mit, wie auch immer realisiert, Federkraft zurück.
Oder hat er magnetischen Kern (dann H-Brücke)?, eine Polung
anziehen, andersrumme Polung zurück.
Zu Sicherheitsmaßnahmen bei Induktivitäten alles klar?
Als da wären Quetschgefahr, Personensicherheit wegen hoher Ind-Spg.,
Sicherheit der Schaltung bei/gegen HV-Impulse, sh. YT EEVblog 1409
Wer löscht hier eigentlich seine Beiträge?
Ich verfasse meine Beiträge im Sektor Politik bewusst nur auf Medien,
bei denen ich sicher bin, dass sie auch nach langer Zeit dort noch
sichtbar sind; wie schon gesagt, ich denke mir was bei meinem Tun.
mfG  fE

: Bearbeitet durch User
von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Frank O. schrieb:
> Aber zu den Dingen die man so hat, das kleine rote Teil bei dir, das ist
> echt schick.

Das Teil (siehe linkes Bild) ist ein USB-Mini-"Labor"netzteil, welches 
über USB versorgt wird und für kleine Bastelleien (wie unseren 
Oszillator) echt praktisch ist.

- Preis:   ca. 8€ !!
- Output:  Ca. 1-30V, 0 - 2A
           (im "Normalbetrieb eher die Hälfte von beidem)
- Output per Taster ein-/ausschaltbar
- Anzeige: Spannung, Strom, mAh, Strombegrenzung, Input Voltage
           Werte stimmen so halbwegs auf ca. +-5%.
- Drehregler für Spannung & Strom:  2x 10-gang (?) Trimmer
- Besonders interessant: hat eine einstellbare
  Strombegrenzung - schützt also Deine Bastelleien oder kann
  sogar auch als Ladegerät genutzt werden.
- Sehr praktisch: die Anschlussklemmen haben Klemmtaster, die sehr
  einfach ein Einklemmen/Lösen von Jumper-Kabeln erlauben (ohne
  schrauben zu müssen)
- Input: viele USB-Ladeprotokolle - kann daher z.B. seinen eigenen
  Input per Protokoll auf 12V "hochdrehen" (wenn die USB-Versorgung
  das erlaubt) und damit mehr "Power" abrufen

Einstellung V/A ist etwas "friemelig", aber sonst ganz praktisch.
Zusammen mit meiner Powerbank ein echt praktisches, mobiles Netzteil.
Erwarte trotzdem nicht zu viel für unter 10€: Anzeigegenauigkeit, 
Laststabilität oder Restwelligkeit ist halt alles etwa um den Faktor 10 
schlechter als bei meinem Agilent-Netzteil.

Unterhalb von wenigen mA wird z.B. gar kein Strom angezeigt - so auch 
bei unserer Oszillator-Schaltung. Dafür ist der "rote Zwerg" klein und 
mobil.

Erhältlich hier - dort findest Du auch die Details:
https://www.aliexpress.com/item/4000177001644.html
(Bezeichnung des Gerätes: DP3A - es hat im Gegenzug zum DP3D separate 
Trimmer für Strom und Spannung, das fand ich etwas besser).

Lese auch hier:
Beitrag "Re: [S] Mobiles, akkubetriebenes Hand-Netzteil"
Beitrag "Re: [S] Mobiles, akkubetriebenes Hand-Netzteil"


=================================================================

Was übrigens genauso praktisch ist, das ist meine Powerbank (siehe 
rechtes Bild, nach der ich ebenfalls lange gesucht habe mit:

- Preis: 20€ ohne Akkus
- Halbwegs passable Ladestands-/Kapazitätsanzeige
- Lade- und Entladestromanzeige
- Ein-/Ausgangs-Spannungsanzeige
- Läuft mit echten, wechselbaren Li-Akkus (18650/18700 sowie
  20700 /21700 Li-Ion-Akkus)
- Reicht für 1-2x Handy aufladen
- Lädt meine Handies ähnlich schnell wie ein Netzteil
- Ist sehr handlich und liegt gut in der Hosen-/Manteltasche.
  M.M.n ein guter Kompromiss aus Kapazität und Gewicht.
- Reicht zusammen mit meinem zuvor erwähnten USB-"Labor"netzteil
  locker für tage- oder gar wochenlange Bastelleien im 2-stelligen
  mA-Bereich (ich habe das Teil z.B. seit Threadbeginn noch niemals
  aufgeladen und während dieser Zeit max. 20% der Kapazität für
  den Betrieb des USB-Netzteils samt angeschlossener Schaltung
  verbraten.)

Erhältlich hier - dort findest Du auch die Details:
https://www.akkuteile.de/ladegeraete/xtar/xtar-pb2sl-2-schacht-akku-reise-ladegeraet-powerbank-fuer-li-ionen-akkus_500208_3350

Einziges Problem mit der Powerbank ist: wenn das oben erwähnte 
USB-"Labor"-Netzteil zu wenig Strom zieht (wie z.B. bei unserer 
Schaltung), so schaltet die Powerbank gerne nach einer gewissen Zeit mal 
ihren Ausgang ab.

Außerdem ist der USB-Ausgang leider 180Grad "falsch herum" gedreht: wenn 
das USB-Netzteil in der Powerbank steckt und beides auf dem Schreibtisch 
liegt, so zeigt die Anzeige vom USB-Netzteil nach oben und die Anzeige 
von der Powerbank nach unten. Man kann also niemals beide gleichzeitig 
ablesen - aber letztere Anzeige benötigt man eh nur selten.

Trotzdem möchte ich die Kombi aus den 2 Teilen nicht mehr missen!
Ich schleppe die quer durchs Haus und kann so überall basteln, wo ich 
will. Ich benötige dann weder eine Steckdose noch ein klobiges Netzteil.
Und mein Oszillator-Steckbrett-Versuchsaufbau samt Stromversorgung & 
Steckbrett benötigt so nur ca. ein DIN-A5-Blatt Fläche auf meinem 
Schreibtisch.

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Frank E. schrieb:
> Frank O. (frank_o)  27.03.2024 19:53
> "Wobei ich den Koppelkondensator von Frank sinnvoll finde."
> Hast Du Dir die YT-Videos angesehen?
> EzanqOFnCx4   wg0OqrUXDjI   wah516ZoPtQ
> Ich denke mir was dabei, wenn ich Tips gebe,
> diese sind nicht zum Nachteil anderer angelegt.
> Übrigens, peda hatte durchblickenn lassen, dass der AT328P
> Schmitt-Trigger-Eingänge hat! Und zwar an allen! Inps.
> Die in einem Datenblatt stehenden Infos nicht! ignorieren.
>
> FFT wollte Dich auch interessieren... Dann hol mal Mathe nach.
> Dazu gehst Du zu einer "Volkshochschule". Wichtig ist:
> ohne! Vorbereitung!, machst einen "Level-Test", mit dem die
> Deine Voraussetzungen checken, um nicht in einem Kurs zu
> landen, dessen Inhalte Du nicht begreifst.

Bis hier hin alles ack.

Wenn man das kann (ich kann das auch sehr gut), ist alleine in den 
Urlaub zu fahren, viel intensiver.
Sprache lernt man nur richtig im Land, wo diese Sprache gesprochen wird.

Frank E. schrieb:
> H-Brücke wäre um die Polarität der Spannung des E-Magneten
> umzuschalten.

Genau deshalb. Der hatte zwei Spannungen angegeben. Was mich, auch durch 
den Aufbau des Verrieglungsschiebers, zur Annahme verleiten ließ, dass 
da zwei Spulen verbaut sind.
Habe es ausprobiert. Wird alles noch einfacher, so wie ich jetzt 
feststellen konnte.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Das Teil (siehe linkes Bild) ist ein USB-Mini-"Labor"netzteil, welches
> über USB versorgt wird und für kleine Bastelleien (wie unseren
> Oszillator) echt praktisch ist.
>
> - Preis:   ca. 8€ !!
> - Output:  Ca. 1-30V, 0 - 2A

Hatte das schon einmal bei dir gesehen und geguugelt. Allerdings nicht 
für 8 Euro gesehen.

Leider funktioniert PayPal nicht bei Ali. Ohne Paypal kaufe ich nichts 
im Internet.

von Peter D. (peda)


Lesenswert?

Andreas S. schrieb:
> Ich habe inzwischen R1 auf 10k heruntergesetzt.

Wozu?
Ich habe mir schon was dabei gedacht, daß beide Widerstände den gleichen 
Wert haben.

von Gerhard O. (gerhard_)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Das Teil (siehe linkes Bild) ist ein USB-Mini-"Labor"netzteil, welches
>> über USB versorgt wird und für kleine Bastelleien (wie unseren
>> Oszillator) echt praktisch ist.
>>
>> - Preis:   ca. 8€ !!
>> - Output:  Ca. 1-30V, 0 - 2A
>
> Hatte das schon einmal bei dir gesehen und geguugelt. Allerdings nicht
> für 8 Euro gesehen.
>
> Leider funktioniert PayPal nicht bei Ali. Ohne Paypal kaufe ich nichts
> im Internet.

Hallo Frank,

Das ist bei mir übrigens nicht so. Ich kaufe dort nur mit PP ein. Ob die 
Regeln international gesehen, unterschiedlich sind? Vielleicht solltest 
mal dort noch einmal recherchieren, ob PP vielleicht auch für Euch 
verwendbar wäre. Im Ausland ist mir PP schon lieber, einfach, weil man 
dann etwas "geheimer" mit seiner C.C. umgehen kann. Solange PP nicht 
gebrochen wird, ist das sicherer.

Gruß,
Gerhard

von Frank O. (frank_o)


Lesenswert?

Gerhard O. schrieb:
> Vielleicht solltest
> mal dort noch einmal recherchieren,

Hallo Gerhard!
Ali schreibt, sobald dir PayPal angezeigt wird, kann der Händler das.
Paypal wird auch aufgerufen, aber es kommt nicht zur Bezahlung. Wenn ich 
dann "Hilfe" aufrufe, kommt die Meldung (frei übersetzt) "Liegt an 
PayPal".

Ich zahle im Netz alles mit PayPal, weil dann mein Konto entkoppelt ist.

von Frank O. (frank_o)


Lesenswert?

Wie kann ich den RST-Pin in Arduino kurz auf Null ziehen?
Das große 2,42" Display braucht immer kurz einen Reset. Das hängt mit 
einer Leitung am RST-Pin.
Wenn ich von Grd, über Widerstand, nach RST brücke, vor dem Einschalten 
und dann den Grd weg nehme, startet das Display.

: Bearbeitet durch User
von Frank E. (ffje)


Lesenswert?

Den RST-pin des Display auf low setzen. Keine Angst, ein Arduino
kann programmierten Code ausführen.
Das wollen meine Nokia-LCDs auch so haben. Und weil es
liquid-crystals sind, wollen sie auch noch eine Ausschalt-Sequenz
sehen, bevor die Versorgungsspannung ausgeschaltet wird.
Wenn man das unterläßt, lösen sie sich galvanisch auf.
Daher auch die Überwachung der Betriebsspannung bei meinem
Beispiel "Big-C-Measurement"... Aber ja,
Den RST-pin des Display auf low setzen, also machen!
Langsam rantasten..., mal ein Blinklicht auf'n Arduino
programmieren, so nennt sich in der µC-Welt ein "hello world".
mfG  fE

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Frank E. schrieb:
> Langsam rantasten..., mal ein Blinklicht auf'n Arduino
> programmieren,

Da bin ich schon ein bisschen weiter ...
Wollte mir das abkürzen. Aber hast schon recht, alleine machen, dann 
vergisst man es auch nicht.
Muss mir erstmal das Datenblatt durchlesen. Die SSD1309 funktionieren 
etwas anders. Da muss man auch vorher noch löten.
War eh nur als "leichte Kost" zwischendurch gedacht.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Das Teil (siehe linkes Bild) ist ein USB-Mini-"Labor"netzteil, welches
>> über USB versorgt wird und für kleine Bastelleien (wie unseren
>> Oszillator) echt praktisch ist.
>>
>> - Preis:   ca. 8€ !!
>> - Output:  Ca. 1-30V, 0 - 2A
>
> Hatte das schon einmal bei dir gesehen und geguugelt. Allerdings nicht
> für 8 Euro gesehen.
>
> Leider funktioniert PayPal nicht bei Ali. Ohne Paypal kaufe ich nichts
> im Internet.

Das war einmal - mittlerweile bieten die auch PayPal an.

VG

Igel1

von Andreas S. (igel1)


Lesenswert?

Peter D. schrieb:
> Andreas S. schrieb:
>> Ich habe inzwischen R1 auf 10k heruntergesetzt.
>
> Wozu?
> Ich habe mir schon was dabei gedacht, daß beide Widerstände den gleichen
> Wert haben.

Durchaus, durchaus - das möchte ich gar nicht in Abrede stellen.

Auch ich habe mir etwas bei der Reduzierung auf 10k gedacht.
Ob das richtig oder falsch ist, könnt Ihr gerne kommentieren.

Also, meine Überlegung war:
Wenn Frank O. mit seinen Spulen herumwirbelt und dort 60A-Ströme an- und 
ausgeschaltet werden, dann ist so eine hochohmige 100k-Ohm Anbindung an 
den Arduino-Eingang vermutlich doch etwas zu empfindlich - zumindest in 
dieser Umgebung. Da würde ich mich mit 10kOhm etwas sicherer fühlen.

Und da mein R3-Spannungsteiler ja scheinbar gut funktioniert - warum 
dann nicht etwas mehr Störsicherheit in die Schaltung bringen?
Ist aber eher "Bauchgefühl" - EMV ist nicht so mein Ding als reiner 
Hobby-Bastler. Ihr könnt mich gerne eines Besseren belehren.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> P.S. Neben dem neuen Aufbau habe ich erstmal Transistoren entgurtet.
> Gefühlt waren das ein paar hunderttausend. Eigentlich völlig bescheuert
> gleich immer 100 Stück zu bestellen, nur weil sie ein paar Cent kosten.

Solltest Du tatsächlich ein paar Transistoren übrig haben (also genau 
diejenigen, die Du in Deinem Oszillator verwendest - vermutlich also 
BC327-40 und BC547C), so würde ich Dir gerne jeweils ein Dutzend 
abkaufen ...  Dann könnte ich 100%ig Deine Schaltung nachbauen.

Dein OLED-Display habe ich übrigens auch gerade bestellt  - will ja 
mitspielen dürfen. Das hier: 
https://www.aliexpress.com/item/1005006473260235.html - ich hoffe, es 
war das Richtige ...

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Das war einmal - mittlerweile bieten die auch PayPal an.

Das mag ja sein, aber bei mir funktioniert PayPal nicht.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Das war einmal - mittlerweile bieten die auch PayPal an.
>
> Das mag ja sein, aber bei mir funktioniert PayPal nicht.

Okay, kein Problem - das Teil wird auch bei ebay angeboten (dann mit 
PayPal-Zahlmöglichkeit):

https://www.ebay.de/itm/314831714989

: Bearbeitet durch User
von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

So, hatte gerade ein wenig Zeit, um das Temperaturverhalten der 
Schaltung in der "quasi Realität" - also auf dem Steckbrett - zu 
untersuchen.

Die Ergebnisse sind wirklich interessant - aber schaut Euch selbst die 2 
Temperatur-Videos an:

https://www.dropbox.com/scl/fo/6g3v3mv2zimqnfrmt8hx0/h?rlkey=q5nsokd9ni8c6gmwddotow2oa&dl=0

Im Video "Oszillator_PeDa_Einfluss_Temperatur_nur_auf_Q3.mp4" erwärme 
ich nur Q3 (nicht Q1 und Q2) mit einem ganz in die Nähe gehaltenen 
Lötkolben - ziemlich krass, der Temperatureinfluss.

Im Video "Oszillator_PeDa_Temperaturverhalten.001.mp4" zeige ich dann 
alle 3 Effekte:

1.) wie Q3 immer besser durchschaltet, je mehr man ihn allein erwärmt
2.) wie Q3 immer schlechter durchschaltet, wenn man nur Q1 & Q2 erwärmt
3.) wie sich die Effekte gegenseitig ausgleichen, wenn man alle
    drei Transistoren gleich erwärmt bzw. gemeinsam gleich abkühlt.

Viele Grüße

Igel1

PS: eigentlich wollte ich alles mit meinem Propen-Heißluft-Lötkolben 
erwärmen, aber der hat genau in dem Moment seinen Dienst verweigert - so 
musste die Erwärmung mit den Fingern genügen.

PPS: natürlich würde man im "wahren Leben" R3 nicht so wählen, dass Q3 
gerade mal von 5V auf 2V durchschaltet. Statt dessen würde man R3 so 
wählen, dass Q3 "satt durchschaltet" (Enrico wählte R3=1k Ohm)- also an 
seinem Kollektor von 5V bis auf 0V gut herunter kommt. Doch die 
Temperatureffekte kann man in den Grenzbereichen halt am besten sehen - 
daher habe ich R3 so eingestellt, wie zuvor beschrieben.

PPPS: Das Schaltbild lege ich hier nur "zur Orientierung" bei, damit Ihr 
schnell wisst, wo sich denn nun Q1, Q2 und Q3 in der Schaltung befinden 
- hauptsächlich für all diejenigen, die nicht den gesamten Thread 
mitverfolgt haben - wer will es ihnen übel nehmen, bei inzwischen weit 
über 400 Beiträgen ...

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Solltest Du tatsächlich ein paar Transistoren übrig haben (also genau
> diejenigen, die Du in Deinem Oszillator verwendest - vermutlich also
> BC327-40 und BC547C), so würde ich Dir gerne jeweils ein Dutzend

Dann musst du mir auch einmal eine Adresse schicken. Dann packe ich dir 
ein paar in einen Briefumschlag.
Ich habe sowieso so viel Zeug gekauft, da kann ich wahrscheinlich 1000 
Jahre alt werden, bis alles aufgebraucht ist.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> PPPS: Das Schaltbild lege ich hier nur "zur Orientierung" bei, damit Ihr
> schnell wisst, wo sich denn nun Q1, Q2 und Q3 in der Schaltung befinden
> - hauptsächlich für all diejenigen, die nicht den gesamten Thread
> mitverfolgt haben - wer will es ihnen übel nehmen, bei inzwischen weit
> über 400 Beiträgen ..

Andreas, alle deine Bemühungen in Ehren!
Videos waren schön anzusehen.
Für mich hat der Sensor jetzt tatsächlich nur noch die die Funktion auf 
oder zu.
Ich habe mir den Verrieglungsmagneten mitgenommen und auch der wird 
jetzt viel einfacher.
Da kommt keine PWM, sondern nur Null oder Eins. Also auf oder zu.
Mit 12V braucht der 650mA. Also LL-Fet. Auch keine Treiber nötig.
Apropos Treiber.
Womöglich hatte ich daran Schuld, aber ich kann es nicht mehr 
nachvollziehen.
Jedenfalls ist mir der Treiber wohl kaputt gegangen und hat mir so auch 
den Arduino abgeschossen. Das hatte ich noch nie. Bis jetzt haben alle 
überlebt. Wenigstens bei mir. Die, die ich verschenkt habe, sind 
womöglich auch schon in den ewigen Jagdgründen gelandet.
Im Moment lese ich eher, als dass ich was bastele. Das mit dem ADC ist, 
bis heute Morgen, nicht so klar gewesen. Aber nachdem ich richtig 
gerechnet habe, lag der Fehler weder am Sensor (hier habe ich im Moment 
den 20A-Typ genommen, weil leichter zu rechnen) noch an der der 
ungenauen Referenz, sondern einfach an meinen falschen Überlegungen.
Spät abends oder eher in der Nacht, da funktioniert der Kopf dann wohl 
auch nicht mehr so.
@Andreas
Apropos rechnen.
Ich hatte mir vor über 10 Jahren den Casio fx-991 DE PLUS Taschenrechner 
gekauft. Dazu ein Buch, welches den ganzen Abiturstoff mit diesem 
Rechner durchnimmt.
Da ich mittlerweile meinen "Lieblingsrechner" auch schon nicht mehr 
beherrsche, werde ich mich jetzt mit diesem Vertraut machen. War gestern 
Nacht bis 4 Uhr damit zugange. Sehr schön mit den Brüchen.
Und natürlich hast du recht, denn wahrscheinlich habe ich das heute 
Morgen auch nur so klar gesehen, das mit dem ADC, weil ich das Problem 
mathematisch angegangen bin.
Dann hatte ich noch schnell einige Lötspitzen für meine Ersa i-con Pico 
bestellt und ein besseren Ständer für den Lötkolben (war zusammen schon 
so teuer wie die Lötstation damals gekostet hatte). Da habe ich eine 
Lötspitze mit Kerbe bestellt. Damit kann man schön um die Pins erwärmen. 
Tolle Sache.
Diesen Monat muss ich mich aber zurück halten, mit dem Kaufen. Der 
Waffenschrank haut doch ganz schön rein. Ich wollte eigentlich etwas 
mehr sparen.
Morgen werde ich dann schon einmal die erste Version der Platine bauen.

Aber die nächste Zeit werde ich dann wohl erstmal viel mit Lesen und 
Software ausprobieren dran sein.
Ich muss mal schauen, vielleicht kann ich die Lehrabteilung bei meinem 
Kunden dafür gewinnen, für mich eine Halter für die Magnete und den 
Sensor zu bauen.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Das mit dem großen OLED-Display (2.42", SSD1309) habe ich auch schon 
erledigt. Der Reset vom Display sollte eigentlich auch an Rst vom 
Arduino. Das ist aber blöd beim Einschalten. Da muss dann immer erstmal 
ein Reset gemacht werden, damit das Display anzeigt.
Den habe ich jetzt auf einen anderen Pin gelegt und ziehe den im Setup 
erst auf Grd und dann auf high.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas, alle deine Bemühungen in Ehren!

Klingt so, als ob ich mich für etwas mühe, was völlig überflüssig ist.

Ist vermutlich auch so, weil die Sensorauswertung ja gar nicht so 
wichtig für Dich ist, aber: ich habe einfach Spaß und Interesse an 
diesem Oszillator und seiner genauen Funktionsweise und überlege & 
bastle daran aus eigenem Interesse herum - hat also nicht unbedingt mehr 
etwas mit Deinen Anforderungen zu tun.

> Videos waren schön anzusehen.

Ja - das mit dem "Finger auflegen" und dann direkt die Auswirkungen auf 
dem Oszilloskop sehen, war für mich auch beeindruckend.

> Für mich hat der Sensor jetzt tatsächlich nur noch die die Funktion auf
> oder zu.
> Ich habe mir den Verrieglungsmagneten mitgenommen und auch der wird
> jetzt viel einfacher.
> Da kommt keine PWM, sondern nur Null oder Eins. Also auf oder zu.
> Mit 12V braucht der 650mA. Also LL-Fet. Auch keine Treiber nötig.

Yep - das klingt wirklich überschaubar.
Trotzdem gib es auch dort einige kleine Fallstricke.
Wenn Du magst, so kannst Du auch diese Schaltung hier gerne einmal zum 
Review einstellen - 100 Augen sehen ja bekanntlich mehr als 2 Augen.

> Apropos Treiber.
> Womöglich hatte ich daran Schuld, aber ich kann es nicht mehr
> nachvollziehen.
> Jedenfalls ist mir der Treiber wohl kaputt gegangen und hat mir so auch
> den Arduino abgeschossen. Das hatte ich noch nie.

Ich hab' da so eine Vermutung: stell einfach einmal den Schaltplan 
Deiner Schaltung hier ein - genau so, wie sie aufgebaut hattest.
Handschriftlich oder mit LTspice - geht ja schnell.

> Bis jetzt haben alle
> überlebt. Wenigstens bei mir. Die, die ich verschenkt habe, sind
> womöglich auch schon in den ewigen Jagdgründen gelandet.
> Im Moment lese ich eher, als dass ich was bastele.
> Das mit dem ADC ist, bis heute Morgen, nicht so klar gewesen.

Darf ich einmal fragen, wofür Du den ADC benötigst?
Was willst Du damit machen? Nimm uns evtl. nochmals etwas
mit auf Deine Reise (wenn's die Firmen-Geheimhaltung zulässt).

> Aber nachdem ich richtig
> gerechnet habe, lag der Fehler weder am Sensor (hier habe ich im Moment
> den 20A-Typ genommen, weil leichter zu rechnen) noch an der der
> ungenauen Referenz, sondern einfach an meinen falschen Überlegungen.

Hmmm - ohne weitere Infos hat meine Phantasie jetzt freie Bahn
sich vorzustellen, was Du denn da so gerechnet hast.

> Spät abends oder eher in der Nacht, da funktioniert der Kopf dann wohl
> auch nicht mehr so.
> @Andreas
> Apropos rechnen.
> Ich hatte mir vor über 10 Jahren den Casio fx-991 DE PLUS Taschenrechner
> gekauft.

Claro - der darf in keinem Haushalt fehlen - ich habe auch ein paar 
FX-991 DE hier rumfliegen.

> Dazu ein Buch, welches den ganzen Abiturstoff mit diesem
> Rechner durchnimmt.
> Da ich mittlerweile meinen "Lieblingsrechner" auch schon nicht mehr
> beherrsche, werde ich mich jetzt mit diesem Vertraut machen. War gestern
> Nacht bis 4 Uhr damit zugange. Sehr schön mit den Brüchen.

Yep - die Bruch-Umwandlung liebe ich auch an dem.
Mein fx-991DEX Classwiz kann auch HEX-Umwandlung und komplexe Zahlen.
Und das Beste an dem Teil: die intuitive Bedienung.

Ganz anders mein TI-nspire CX CAS - der kann zwar auch differenzieren 
und integrieren und Gleichungssysteme lösen und pip-pa-po, aber nach 3 
Wochen fange ich jedes Mal bei Null an mit der Bedienung. Da hilft einem 
die Mächtigkeit dieser Teile auch wenig.

> Und natürlich hast du recht, denn wahrscheinlich habe ich das heute
> Morgen auch nur so klar gesehen, das mit dem ADC, weil ich das Problem
> mathematisch angegangen bin.

Na prima.

> Dann hatte ich noch schnell einige Lötspitzen für meine Ersa i-con Pico
> bestellt und ein besseren Ständer für den Lötkolben (war zusammen schon
> so teuer wie die Lötstation damals gekostet hatte).

> Da habe ich eine
> Lötspitze mit Kerbe bestellt. Damit kann man schön um die Pins erwärmen.
> Tolle Sache.

Ah - danke für den Tipp!

> Diesen Monat muss ich mich aber zurück halten, mit dem Kaufen. Der
> Waffenschrank haut doch ganz schön rein. Ich wollte eigentlich etwas
> mehr sparen.
> Morgen werde ich dann schon einmal die erste Version der Platine bauen.

Au ja - Du zeigst uns Dein Ergebnis?

> Aber die nächste Zeit werde ich dann wohl erstmal viel mit Lesen und
> Software ausprobieren dran sein.

Schmeiß die Software ruhig einmal hier rein - dann regnet's sicherlich 
wieder gute Tipps von der MC-Gemeinde.

> Ich muss mal schauen, vielleicht kann ich die Lehrabteilung bei meinem
> Kunden dafür gewinnen, für mich eine Halter für die Magnete und den
> Sensor zu bauen.

Arbeiten lassen ist immer besser als selber arbeiten - da bin ich voll 
bei Dir ;-)

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ich hab' da so eine Vermutung: stell einfach einmal den Schaltplan
> Deiner Schaltung hier ein - genau so, wie sie aufgebaut hattest.
> Handschriftlich oder mit LTspice - geht ja schnell.

Schaltplan, gute Idee, den werde ich heute zeichnen.

Im Moment habe ich alles noch so ein bisschen auf zwei Laptops verteilt.
Der eine ist ziemlich voll und dort habe ich alles für die Elektronik 
drauf.
Der ist aber richtig schwer. Ok, dafür ist er auch größer.
Gestern habe ich noch eine SSD-Festplatte und auch mehr Speicher 
bestellt.
Erfreulicherweise ist im Laptop ein Steckplatz für die Platte frei, 
sodass ich nicht erst alles umkopieren muss.
Deshalb tue ich mich im Moment etwas schwer alles zeitgleich zu machen.
Neben Haushalt gibt's immer wieder auch Sachen, die man eigentlich gar 
nicht machen will. So muss ich heute Abend die neue Fritzbox 
anschließen.
Dafür, dass ich die Daten sichern und übertragen kann, musste ich 
erstmal neue Akkus für die Gigaset's kaufen ...
So verliert man halt unnötig Zeit, die man vielleicht anders nutzen 
wollte.
Zu deiner Vermutung. Da gibt's eigentlich nicht viel zu vermuten.
Entweder hatte ich die Spannung für die Lampe an den Treiber geklemmt 
oder ich habe auf dem viel zu vollen Tisch einen Kurzschluss verursacht, 
weil ich für etwas anderes Platz brauchte und einfach alles (natürlich 
unter Spannung) zur Seite geschoben hatte. Aber ich glaube es war die 
falsche Spannung.
Das passiert aber auch nicht mehr, weil ich eben ein paar Etiketten für 
die Kanäle gedruckt habe.

Andreas S. schrieb:
> Darf ich einmal fragen, wofür Du den ADC benötigst?
> Was willst Du damit machen? Nimm uns evtl. nochmals etwas
> mit auf Deine Reise (wenn's die Firmen-Geheimhaltung zulässt).

Für den Stromsensor (ACS712).
Gerechnet hatte ich da vorher eigentlich nicht, als ich mir das auf dem 
Monitor (von 0-1023) angesehen habe, sondern kam mir die Veränderung bei 
einem Ampere zu gering vor. Bauchgefühl ist halt was anderes, als klare 
Fakten.

Andreas S. schrieb:
> Und das Beste an dem Teil: die intuitive Bedienung.

Hahaha! Intuitiv ist da gar nichts für mich. Ich muss erst mühevoll die 
Tasten finden, die der Typ in dem Buch angibt.

Andreas S. schrieb:
> Da hilft einem
> die Mächtigkeit dieser Teile auch wenig.

So geht es mir gerade mit diesem Taschenrechner.

Andreas S. schrieb:
> Au ja - Du zeigst uns Dein Ergebnis?

Klar. Werde am Ende (muss ich aber mit meinem Arbeitgeber dann erst 
klären) ein Video am Fahrzeug machen und das dann bereit stellen.

Andreas S. schrieb:
> Schmeiß die Software ruhig einmal hier rein

Ganz sicher nicht.
Ich kenne die ganzen Beiträge und habe da so meine leidlichen 
Erfahrungen.
Wie es in der Software hinterher aussieht, sieht man nicht, wenn alles 
wie gewünscht funktioniert.
Nicht eine Zeile Software wird dieses Forum (und auch sonst niemand) je 
von mir sehen.
Ich mache das manchmal umständlich. Einmal hatte mir jemand den gesamten 
Code auf eine simple Berechnung zusammen gedampft. Da kam ich mir so 
bescheuert vor. Nein, das zeige ich nicht mehr.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Mit der Strommessung und auch der Spannungsmessung werde ich mich aber 
(wahrscheinlich aber erst nach diesem Projekt) ganz intensiv 
beschäftigen.
Auch mit den Oled-Displays.
Im Moment ist es wie Autofahren. Da will ich einsteigen und irgendwo 
ankommen.
"Autos bauen" kann ich später.

Zum Glück habe ich das in den Jahren gelernt. Früher wollte ich immer 
alles ganz genau wissen und kam dann eigentlich nur selten zeitig genug 
am Ziel an.

Was ich im Moment noch nicht verstehe und wie dieser Vergleich dort 
statt finde, ist die Referenzspannung.
Es steht eigentlich überall nur, dass die benötigt wird, um mit dem ADC 
messen zu können.
Vielleicht kann das jemand einfach erklären?

Wenn ich einen genauen Meterstab mit anderen Stäben vergleiche, dann 
kann die Differenz mal größer und mal kleiner ausfallen.
Bei den Stäben säge ich ein Stück ab oder klebe was dran.
Wie macht der Mikrocontroller das?
Legt der µC das Potential mal höher (positiver) oder tiefer (negativer)?
Und ist die Referenzspannung (ATMega328, 1,1V) irgendwo in der Mitte der 
Versorgungsspannung?

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Was ich im Moment noch nicht verstehe und wie dieser Vergleich dort
> statt finde, ist die Referenzspannung.
> Es steht eigentlich überall nur, dass die benötigt wird, um mit dem ADC
> messen zu können.
> Vielleicht kann das jemand einfach erklären?

Schau Dir bitte zunächst einmal dieses gute Video an:
https://www.youtube.com/watch?v=tb2ombzee0U

Und dann ggf. noch diese Seite lesen:
https://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC

Wenn Du das getan hast, so hast Du an dieser Stelle vermutlich schon 
verstanden, wie's funktioniert.

Der Vollständigkeit halber beantworte schreibe ich trotzdem noch ein 
paar Zeilen zu Deiner Frage, die da lautete:

> Wenn ich einen genauen Meterstab mit anderen Stäben vergleiche, dann
> kann die Differenz mal größer und mal kleiner ausfallen.
> Bei den Stäben säge ich ein Stück ab oder klebe was dran.
> Wie macht der Mikrocontroller das?

Der ATmega nimmt seinen eigenen Maßstab - nämlich die Referenzspannung - 
und teilt diese dann in 1024 gleiche Teile. Kannst Du Dir vorstellen, 
wie eine Latte, wo Du im gleichen Abstand 1023 Kerben dranmachst (denn 
die 0. Kerbe brauchst Du ja nicht dranmachen - das ist die untere Kante 
des Stabes).

Wenn die Latte 1,024m lang ist, so haben die Kerben einen Abstand von 
1mm.
Und wenn Du die Latte wie einen Pegel ins Wasser stellst und jemand sagt 
Dir, dass die 1000. Kerbe gerade nass wird, dann weißt Du, das Wasser 
steht 1000 x 1mm = 1m hoch.

Wenn die Latte 2.048m lang ist und Du ebenfalls 1023 Kerben dort 
anbringst, so haben die Kerben genau 2.048m/1024 = 2mm Abstand. Wenn Dir 
dann einer sagt, die 1000. Kerbe ist mit Wasser benetzt, so weißt Du, 
dass das Wasser 2m hoch steht.

In diesem Beispiel ist die Länge der Latte das, was beim ATmega die 
Referenzspannung ist: Diese Referenzspannung wird in 1024 gleiche Teile 
geteilt. Beispiel: wenn die Referenzspannung 2,048V beträgt, so macht 
jedes Bit Deines ADC genau 2,048V/1024bit = 2mV/Bit aus.

Und wenn die Referenzspannung 1,1V beträgt, so macht jedes Bit halt 
1,1V/1024bit = 1,0742mV aus.

Das bedeutet aber auch: Du kannst (wenn Du keinen Spannungsteiler 
davorschaltest) keine Spannungen über 2,048V (bzw. 1,1V) messen!

Die Referenzspannung kannst Du typischerweise konfigurieren - entweder 
aus einer internen Referenzspannungsquelle, die z.B. beim ATmega328 1,1V 
beträgt, oder Du konfigurierst ihn so, dass er eine Spannung an seinem 
Referenzpin als Referenzspannung benutzt - die muss dann natürlich 
möglichst genau sein, denn was passiert, wenn sich Deine Messlatte Latte 
um +-10cm dehnen oder zs.ziehen würde, das kannst Du Dir selber 
ausmalen.

> Legt der µC das Potential mal höher (positiver) oder tiefer (negativer)?
> Und ist die Referenzspannung (ATMega328, 1,1V) irgendwo in der Mitte der
> Versorgungsspannung?

Nein - ich hoffe nach meiner obigen Erklärung ist alles klar.

Viele Grüße

Andreas

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Schmeiß die Software ruhig einmal hier rein
>
> Ganz sicher nicht.
> Ich kenne die ganzen Beiträge und habe da so meine leidlichen
> Erfahrungen.
> Wie es in der Software hinterher aussieht, sieht man nicht, wenn alles
> wie gewünscht funktioniert.
> Nicht eine Zeile Software wird dieses Forum (und auch sonst niemand) je
> von mir sehen.
> Ich mache das manchmal umständlich. Einmal hatte mir jemand den gesamten
> Code auf eine simple Berechnung zusammen gedampft. Da kam ich mir so
> bescheuert vor. Nein, das zeige ich nicht mehr.

Na ja - durch Austausch mit anderen lernt man schon immer viel, aber ich 
kann Dich irgendwo auch verstehen:

Als Hobby- und absoluter Gelegenheitsprogrammierer wirst Du hier nach 
allen Regeln der Kunst breitgeklopft - da fragen dann viele 
Forenteilnehmer lieber erst gar nicht und das finde ich schade, denn es 
ist noch kein Meister vom Himmel gefallen.

Anyway - Dein Code, Deine Entscheidung und das werde ich respektieren.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Als Hobby- und absoluter Gelegenheitsprogrammierer wirst Du hier nach
> allen Regeln der Kunst breitgeklopft - da fragen dann viele
> Forenteilnehmer lieber erst gar nicht und das finde ich schade, denn es
> ist noch kein Meister vom Himmel gefallen.

Ich fange mal von hinten an:
Deshalb hatte ich damals auch fast nichts mehr gefragt und ganz viel 
gelesen.
Habe ich kein Bock drauf. Da ich schon weiß, dass ich hier keinen 
genialen Code vorstellen kann, habe ich kein Bock auf den Rest. Es wird 
- irgendwann - funktionieren und das ist die Hauptsache.

Andreas S. schrieb:
> Diese Referenzspannung wird in 1024 gleiche Teile
> geteilt. Beispiel: wenn die Referenzspannung 2,048V beträgt, so macht
> jedes Bit Deines ADC genau 2,048V/1024bit = 2mV/Bit aus.
>
> Und wenn die Referenzspannung 1,1V beträgt, so macht jedes Bit halt
> 1,1V/1024bit = 1,0742mV aus.
>
> Das bedeutet aber auch: Du kannst (wenn Du keinen Spannungsteiler
> davorschaltest) keine Spannungen über 2,048V (bzw. 1,1V) messen!

Super erklärt!
Wusste nicht, dass die Referenzspannung das Maß der 1024 ist.
Aber du schreibst: "Du kannst (wenn Du keinen Spannungsteiler
davorschaltest) keine Spannungen über 2,048V (bzw. 1,1V) messen!
Das ist mir auch soweit klar und jetzt erst logisch.
In allen, wirklich in allen Beispielen, wenn es um Spannugsmessung über 
den ADC geht, steht nichts davon drin. Und noch schlimmer, die interne 
Referenzspannung ist doch per default auf 1,1V eingestellt und trotzdem 
messen die bis 5V.
Das mag ja klappen, aber ist dann sicher ungenau.
Kannst du das noch einmal aufbröseln?
Danke!

von Andreas S. (igel1)


Lesenswert?

Es gibt noch eine 3. Option für die Referenzspannung:

- man kann sie per software auch von Vcc, also der Versorgungsspannung 
des Atmega, beziehen - das hatte ich in meinem letzten Post 
unterschlagen, sorry.

Und der Arduino Uno ist defaultmäßig genau so eingestellt: nämlich auf 
Vref = Vcc

Du kannst das mit dieser Funktion aber umkonfigurieren:

https://www.arduino.cc/reference/de/language/functions/analog-io/analogreference/

Wichtig, wenn Du mit einer externen Spannung für Vref spielst (also 
diese Vref-Spannung an den AREF-Pin anlegst): damit niemals höher als 
Vcc gehen!

Viele Grüße

Igel1

: Bearbeitet durch User
Beitrag #7635534 wurde vom Autor gelöscht.
von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Und der Arduino Uno ist defaultmäßig genau so eingestellt: nämlich auf
> Vref = Vcc

Hatte ich inzwischen auch gelesen.

Ich habe schon erstmal einen rudimentären Schaltplan gezeichnet.

Die Spannung werde ich an Aref mit einem TL431 legen. Und bei der 
Gelegenheit fällt mir gleich auf, dass ich den Stromsensor (ACS712) 
vergessen habe.

: Bearbeitet durch User
von Frank E. (ffje)


Lesenswert?

Im Video  YT   tb2ombzee0U
wird das Wort „Referenz“ am Beispiel eines Flash-Wandlers zwar schon
des öfteren erwähnt,
jedoch im DB des AT328P steht:
24.2 Overview
The ATmega48A/PA/88A/PA/168A/PA/328/P features a 10-bit successive 
approximation ADC
Was denn auch sonst...   Flash-Wandler pfffft
mfG  fE

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Und der Arduino Uno ist defaultmäßig genau so eingestellt: nämlich auf
>> Vref = Vcc
>
> Hatte ich inzwischen auch gelesen.
>
> Ich habe schon erstmal einen rudimentären Schaltplan gezeichnet.
>
> Die Spannung werde ich an Aref mit einem TL431 legen. Und bei der
> Gelegenheit fällt mir gleich auf, dass ich den Stromsensor (ACS712)
> vergessen habe.

Ich würde noch einen 10k Widerstand an die Gates der MOSFETS gegen GND 
schalten, dann bekommst Du keine undefinierten Zustände, wenn der MC 
seine IO-Port mal hochohmig schaltet (z.B. beim Booten).

Viele Grüße

Igel1

PS: Bilder könnten etwas schärfer sein - darf ruhig auch mal mehr als 
5,2kBit sein.

PPS: Hatte Dir im letzten Post ein Video zum ADC geschickt, welches ich 
didaktisch gut fand und welches die Vref als Obergrenze der AD-Wandlung 
gut verständlich macht. In Wirklichkeit ist ein Sigma-Delta-Wandler in 
diesen ATmegas drin - wie Frank E. richtig bemerkt hat. Diese Wandler 
funktionieren nach einem gänzlich anderen Prinzip und sind m.M.n. 
schwieriger zu verstehen, daher hatte ich bewusst das Video zu 
Flash-Wandlern verlinkt, denn für Deine Anwendungszwecke spielt es 
absolut keine Rolle, wie der Wandler intern tickt.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ich würde noch einen 10k Widerstand an die Gates der MOSFETS gegen GND
> schalten, dann bekommst Du keine undefinierten Zustände, wenn der MC
> seine IO-Port mal hochohmig schaltet (z.B. beim Booten).

Ja!
Ist ja mehr ein Blockschaltplan, als ein richtiger Schaltplan.
Das Video war gut.
Viel wichtiger und leider stand das nicht bei den Sachen dabei, die ich 
gelesen hatte, dass die Referenzspannung in die 8 Bit zerlegt wird.
Ist ja logisch und danach ist auch ein Stückchen Gedächtnis wieder 
gekommen. Der Ah-Effekt, dass ich das schon einmal wusste.
Ist mir jetzt völlig klar wie das funktioniert!
Vielen Dank nochmal für deine Erklärung!

Andreas, das ist alles so lange her. Hatte gerade auch noch einmal eine 
Schaltung zum Testen aufgebaut, mit dem TL431. Ist ja eigentlich 
Pipifax, aber nur so fühle ich mich sicher.
Ich muss immer etwas "in der Hand" haben.
So war es auch in Mathe. Geometrie konnte ich ganz gut, während alles 
andere nicht so einfach ging.
Ein bisschen überspitzt ausgedrückt: Wenn ich bei der Herzoperation 
assistiert habe, kann ich die nächste alleine.
Und da ich immer im Quadrat lerne (geometrisch, keine Potenz), mache ich 
alles nahezu gleichzeitig. Das ist im Anfang dann immer erst langsam, 
man wird dann aber mit jeder neuen Erkenntnis besser und ist letztlich 
schneller am Ziel.

von Frank E. (ffje)


Lesenswert?

Es ist ein
10-bit successive approximation ADC
drinn lt. DB.
Und er braucht auch keinen TL431 als Referenz, weil der ACS712 2,5V bei
0A ausgibt und zu dem 66mV pro Ampere plus oder minus, je nach
Stromrichtung.
mfG  fE

von Frank O. (frank_o)


Lesenswert?

Selbstverständlich 10-Bit. Deshalb ja auch 1024.
Und natürlich brauche ich nicht an Aref diese genaue Spannung legen, 
sondern an die Versorgungsspannung. Da wir jetzt ja wissen, dass die 
Referenzspannung intern beim Arduino auf 5V liegt (oder was auch immer 
da ankommt).
Der ACS712 hat 2.5V ohne zu messenden Strom und 66mA beim 30A-Type, 
100mA beim 20A-Type und 184mA beim 5A-Type.

Beim 30A-Type machen 2A 27 Schritte aus, was sicher genau genug zu 
messen ist, wenn man zwischen 20A und 30A messen will.
Der 20A-Type, mit seinen 100mA lässt sich nicht nur im Kopf ausrechnen, 
sondern ist auch für die Anwendung ausreichend und 41 Schritten, bei 2A 
genau genug.
Ungefähr 200mA bei 10% Abweichung ist durchaus ausreichend für meine 
Anwendung.

von Frank E. (ffje)


Lesenswert?

Ja, so langsam tastest Du dich ran.
Ganz nach dem Motto eines Textausschnittes aus einem Song der
Band Grauzone: „Keine Atempause, Geschichte wird gemacht, es geht voran.
mfG  fE

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Selbstverständlich 10-Bit. Deshalb ja auch 1024.
> Und natürlich brauche ich nicht an Aref diese genaue Spannung legen,
> sondern an die Versorgungsspannung.

Du meinst, Vcc muss genau sein, damit Deiner ADC-Messergebnisse nicht 
verfälscht werden? Yep, genau das stimmt und das ist bei der Auswahl des 
Festspannungsreglers ggf. zu berücksichtigen (einige haben ziemliche 
Toleranzen).

> Da wir jetzt ja wissen, dass die
> Referenzspannung intern beim Arduino auf 5V liegt (oder was auch immer
> da ankommt).
> Der ACS712 hat 2.5V ohne zu messenden Strom und 66mA beim 30A-Type,
> 100mA beim 20A-Type und 184mA beim 5A-Type.

Ich denke, Du meinst "mV" statt "mA"?!
Dein ACS712 sollte also z.B. bei 5A Stromfluss durch seine eingebaute 
Kupferplatte eine Hall-Spannung von 2,5V + Imess * 100mV/A = 2,5V + 5A * 
100mV/A = 2,5V + 500mV = 3V ausgeben.

> Beim 30A-Type machen 2A 27 Schritte aus, was sicher genau genug zu
> messen ist, wenn man zwischen 20A und 30A messen will.

1 Schritt des ADC bei Vref=5V und 10Bits macht:
Vschritt = 5V / 1024 = 4,883mV

Beim 30A Wandler machen 2A lt. Deinen Angaben 2A * 66mV/A = 124mV aus.
Wenn ich 124mV durch die 4,883mV pro Schritt teile, so komme ich nur auf 
25 Schritte - oder habe ich mich verrechnet?

> Der 20A-Type, mit seinen 100mA lässt sich nicht nur im Kopf ausrechnen,
> sondern ist auch für die Anwendung ausreichend und 41 Schritten, bei 2A
> genau genug.

Hier wäre meine Rechnung:
2A * 100mV/A = 200mV  =>  Anzahl Schritte: 200mV/4,883mV = 40 Schritte 
(denn Aufrunden ist hier m.M.n. nicht zulässig)

> Ungefähr 200mA bei 10% Abweichung ist durchaus ausreichend für meine
> Anwendung.

Na dann kommt's ja auf einen Schnapps nicht so an ...
... könnte man denken ...

Aber bei genauer Betrachtung und wenn man beachtet dass das letzte Bit 
eines ADC meist eh als ungenau betrachtet wird - dann, ja dann wird's 
schon durchaus wieder spannend mit den 10%.

Kurzum: wenn Du wirklich nicht mehr als 10% Abweichung haben darfst, so 
würde ich die gesamte Sache tatsächlich noch einmal gaaanz genau 
durchrechnen.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ich denke, Du meinst "mV" statt "mA"?!

Klar! Hab schon in Apere gedacht.

Andreas S. schrieb:
>> Beim 30A-Type machen 2A 27 Schritte aus, was sicher genau genug zu
>> messen ist, wenn man zwischen 20A und 30A messen will.
>
> 1 Schritt des ADC bei Vref=5V und 10Bits macht:
> Vschritt = 5V / 1024 = 4,883mV

Ich rechne da anders.
~4,88mV ist richtig. Ich lasse mal die Einheiten weg.
Wenn ich 4,88 pro Schritt habe, dann muss ich meine 66 durch die 4,88 
teilen.
Das ergibt ~13,5 Schritte für 1A. Der Einfachheit halber, um nicht mit 
Kommastellen angeben zu müssen, habe ich 2A, also 27 Schritte genommen.
Wo liegt der Fehler?

Andreas S. schrieb:
> Kurzum: wenn Du wirklich nicht mehr als 10% Abweichung haben darfst

Das darf auch mehr sein. So genau bin ich mir noch nicht im Klaren 
darüber. Dafür muss ich das mit dem Magneten ausprobieren.
Jetzt habe ich in meinem Zuhause 60V zur Verfügung und vielleicht zieht 
der Magnet ja doch bei den 5A an. Dann kann ich alles hier testen und 
solange bis ich zufrieden bin.
Mir fällt gerade ein, dass ich da wahrscheinlich nachhelfen kann, indem 
ich einige Federn raus nehme. Ich hoffe das geht noch bei diesem 
Magneten.
Wir haben kleinere Fahrzeuge mit solchen ähnlichen Magneten, die kann 
man heute leider nicht mehr auseinander bekommen, ohne dann ein paar 
Teile neu machen zu müssen. Bis vor einiger Zeit habe ich die regelmäßig 
zerlegt und gereinigt. War sowieso nie (seit einigen Jahren) vorgesehen, 
weil -oh Gott, das ist die Bremse- Panik ausbricht, dass da was 
passieren könnte und unser Unternehmen haften müsste. Aber da ich 
vorwiegend Fullservice mache, ist das "meine Kohle" und ich mache das 
immer noch, da wo es geht.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Frank E. schrieb:
> Ja, so langsam tastest Du dich ran.

Wieder ran, müsste es heißen. Denn bei den meisten Sachen war ich ja 
auch schon weiter. Aber du hast recht. Ich müsste nur mehr Zeit und 
Energie haben.
Leider raubt mir der Krebs auch oft genug die nötige Energie.
Wenn ich dann noch arbeiten bin, Training und Haushalt, bleibt da oft 
nicht mehr viel über. Die letzten Tage war ich aber bis in die frühen 
Morgenstunden dran und da kommen dann die Erkenntnisse in den "tiefen 
Speicher" des Gehirns.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Jetzt habe ich in meinem Zuhause 60V zur Verfügung und vielleicht zieht
> der Magnet ja doch bei den 5A an. Dann kann ich alles hier testen und
> solange bis ich zufrieden bin.

Ist das derjenige Magnet, dessen Riegel letztendlich den Stößel in 
unsere  Oszillatorspule hinein-/herausfährt?

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ist das derjenige Magnet, dessen Riegel letztendlich den Stößel in
> unsere  Oszillatorspule hinein-/herausfährt?

Ne, das ist der große Magnet, der letztlich die Bremse, im stromlosen 
und unverriegelten Zustand, die Bremse blockiert.


By the way:
Da ich sowieso schon 16Bit ADC's bestellt hatte, habe ich gerade ein 
bisschen gerechnet.
Bei dem 30A-Type des ACS712, sind diese 66mV schon 865 Schritte.
Somit ist es möglich pro Schritt 1,156mA zu messen.
Da wir aber von 2.5V bis 5V messen, hat dieser ADC eine Auflösung von 
38.147µV.
Womit wir bei 1A schon bei 1730 Schritten sind. Was dann pro Schritt 
0.578mA wären.
Das ist dann schon sehr genau, wie ich finde.

Aber eigentlich habe ich die bestellt, weil die auch auf dem I²C-Bus 
hängen.
Da ich bis jetzt nur mit dem  Onewire-Bus (DS18B20 und alles was es so 
in dem Bereich für Temperatur und Luftfeuchte so gibt) Erfahrungen habe, 
wollte ich mich auch damit beschäftigen.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Ist das derjenige Magnet, dessen Riegel letztendlich den Stößel in
>> unsere  Oszillatorspule hinein-/herausfährt?
>
> Ne, das ist der große Magnet, der letztlich die Bremse, im stromlosen
> und unverriegelten Zustand, die Bremse blockiert.

Öhm - könntest Du den letzten Satz bitte noch etwas erklären?

> By the way:
> Da ich sowieso schon 16Bit ADC's bestellt hatte, habe ich gerade ein
> bisschen gerechnet.
> Bei dem 30A-Type des ACS712, sind diese 66mV schon 865 Schritte.
> Somit ist es möglich pro Schritt 1,156mA zu messen.
> Da wir aber von 2.5V bis 5V messen, hat dieser ADC eine Auflösung von
> 38.147µV.
> Womit wir bei 1A schon bei 1730 Schritten sind. Was dann pro Schritt
> 0.578mA wären.
> Das ist dann schon sehr genau, wie ich finde.

Das ist eine Falle, in die viele hineintappen:
Schau Dir erst einmal die Toleranz Deiner Referenzspannung an (z.B. 3%).
Und dann die Deines 16-Bit Wandlers (welchen nimmst Du?) - Toleranzen 
steht im Datenblatt des ADC-Wandlers.

Dann rechne das einmal in Spannungsschwankung um:
bei 5V und 4% wären das z.B. +-100mV.

Und nun rechne einmal aus, wieviel Schritte 4% bei einem 16-Bit Wandler 
sind und wieviel Bits das entspricht - dann weißt Du direkt, wieviele 
Bits Du (vom LSB aus zählend) in die Tonne treten kannst.

Will sagen: 16-Bit Auflösung heißt noch lange nicht 16-Bit Genauigkeit.

> Somit ist es möglich pro Schritt 1,156mA zu messen.
=> Relativ gesehen schon, aber absolut gesehen: leider nein.

> Womit wir bei 1A schon bei 1730 Schritten sind. Was dann pro Schritt
0.578mA wären.
=> Relativ gesehen schon, aber absolut gesehen: leider nein.

Trotzdem bist Du mit so einem 16-Bit Wandler natürlich schon einmal 
besser dran, als mit dem 10-Bit-Wandler des Arduino, weil Du Dir nun 
zumindest durch die Schrittlänge keinen so großen Fehler mehr reinholst 
wie zuvor.

Allgemein gilt: Du bekommst zumeist die beste Messgenauigkeit, wenn 
Deine Meßspannung genau den vollen ADC-Bereich abdeckt. Will sagen: wenn 
es Dir gelingt, Deine 0..20A in 0..5V Meßspannung umzuwandeln (wenn Du 
partout Vcc als Referenzspannung verwenden möchtest - bei 10% 
Genauigkeitsanforderung ist das sogar okay, sonst ist es m.M.n. eher 
keine gute Idee).

Wenn Du - wie hier geplant - z.B. nur den halben Bereich von 2.5V - 5V 
ausnutzen willst, verschenkst Du bereits 1 Bit Deines Wandlers.

> Aber eigentlich habe ich die bestellt, weil die auch auf dem I²C-Bus
> hängen.

Wer hängt denn da noch drauf?

> Da ich bis jetzt nur mit dem  Onewire-Bus (DS18B20 und alles was es so
> in dem Bereich für Temperatur und Luftfeuchte so gibt) Erfahrungen habe,
> wollte ich mich auch damit beschäftigen.

Ich persönlich würde da zwar eher mit einem I2C-Temperaturfühler statt 
direkt mit einem 16 Bit I2C ADC Wandler anfangen - aber es gilt ja 
bekanntlich: viel Feind, viel Ehr ;-)

By the way: auf Deinem Blockschaltbild hängt der Arduino an 5V.
Wo genau willst Du die 5V am Arduino anschließen?

VG
Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Öhm - könntest Du den letzten Satz bitte noch etwas erklären?

Der kleine Magnet heißt 1M45. Der ist der Magnet, der für die 
Verriegelung zuständig ist und der Verrieglungsschieber sitzt an einem 
Ende im Sensor.

Der große Magnet heißt 1Y45 und das ist der Magnet, der letztlich die 
Bremse löst oder blockiert.

1M45 kann ich mit 12V (vielleicht auch weniger) ansteuern.
1Y45 bekommt 80V (bei den Elektrostaplern), beim Verbrenner 12V.
Dieser Magnet wird im angezogenen Zustand (Bremse gelöst) verriegelt, 
sodass er dann stromlos sein kann.

Andreas S. schrieb:
> Allgemein gilt: Du bekommst zumeist die beste Messgenauigkeit, wenn
> Deine Meßspannung genau den vollen ADC-Bereich abdeckt.

Danke für den Hinweis. Das werde ich beachten und dann die 
Referenzspannung so legen, dass das genau in dem Bereich liegt.
Sehr guter Hinweis!

Mir ist klar, dass das nur die theoretischen Werte waren. Ich war nur so 
fasziniert von der viel größeren Bandbreite.

Andreas S. schrieb:
> Wer hängt denn da noch drauf?

Das Oled. Wobei ich aber das kleine Display benutzen werde.
Das Zusammenspiel, ob ich das hin bekomme, darum geht es. Wenn ich den 
16-Bit-ADC (ADS1115) und das Display zusammen zum Laufen bringe, 
eröffnet mir das mehr Möglichkeiten für die Zukunft.
Klar kann man einen Temperatursensor in I²C nehmen, nur nutzt der bei 
meinem Projekt nichts.

Andreas S. schrieb:
> auf Deinem Blockschaltbild hängt der Arduino an 5V.
> Wo genau willst Du die 5V am Arduino anschließen?

Wie ich schon schrieb und man unschwer erkennen kann, ist das noch kein 
Schaltplan (habe genau solange auch keine Schaltpläne mit sPlan 
gezeichnet), sondern eher als Gedankenstütze anzusehen.
Für die 80V (84V) Batteriespannung habe ich ein Netzteil, das 
einstellbar ist und dass ich auf 12V einstellen werde.. Von dem gehe 
ich, anderes als ich das eigentlich wollte, direkt auf (jetzt neu) einen 
KY5050. Die Teile habe ich auch früher benutzt, weil die ziemlich genau 
5V erzeugen.
Von den 4A, die das Netzteil liefert, werde ich 650mA für 1M45 brauchen 
und etwas Strom für den Treiber.
Ich muss nur noch einmal den Strombedarf für die 5V-Spannungsversorgung 
ermitteln. Aber ich glaube der ist nicht so sehr hoch. Der KY5050 ist 
für 100mA ausgelegt.
Da hängt das Display dran, der Arduino, der PeDa-Osc und der 
Stromsensor.
Was die Taster (Grd mit internen Pullup) auf den Strom für Auswirkungen 
haben, weiß ich noch nicht. Der Arduino soll selbst max. 10mA brauchen. 
Der Stromsensor fast nix (<1mA), PeDa-Osc ich meine das waren auch nur 
so 30mA.
Das Display, ich habe gerade nachgeschaut, max. 45mA. Aber da stand 
nicht dabei, wie viel das intern bei 5Vcc ist. Denke das wird auch 
deutlich weniger verbrauchen. Ansonsten kann ich immer noch eine 7805 
nehmen.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Öhm - könntest Du den letzten Satz bitte noch etwas erklären?
>
> Der kleine Magnet heißt 1M45. Der ist der Magnet, der für die
> Verriegelung zuständig ist und der Verrieglungsschieber sitzt an einem
> Ende im Sensor.
>
> Der große Magnet heißt 1Y45 und das ist der Magnet, der letztlich die
> Bremse löst oder blockiert.
>
> 1M45 kann ich mit 12V (vielleicht auch weniger) ansteuern.
> 1Y45 bekommt 80V (bei den Elektrostaplern), beim Verbrenner 12V.
> Dieser Magnet wird im angezogenen Zustand (Bremse gelöst) verriegelt,
> sodass er dann stromlos sein kann.
>
> Andreas S. schrieb:
>> Allgemein gilt: Du bekommst zumeist die beste Messgenauigkeit, wenn
>> Deine Meßspannung genau den vollen ADC-Bereich abdeckt.
>
> Danke für den Hinweis. Das werde ich beachten und dann die
> Referenzspannung so legen, dass das genau in dem Bereich liegt.
> Sehr guter Hinweis!
>
> Mir ist klar, dass das nur die theoretischen Werte waren. Ich war nur so
> fasziniert von der viel größeren Bandbreite.
>
> Andreas S. schrieb:
>> Wer hängt denn da noch drauf?
>
> Das Oled. Wobei ich aber das kleine Display benutzen werde.
> Das Zusammenspiel, ob ich das hin bekomme, darum geht es. Wenn ich den
> 16-Bit-ADC (ADS1115) und das Display zusammen zum Laufen bringe,
> eröffnet mir das mehr Möglichkeiten für die Zukunft.

Yep - das wirst Du in jedem Fall schaffen.
I2C ist kein Hexenwerk - vor allem, wenn Du fertige Libraries 
verwendest.

Übrigens: wenn Du nicht nur wissen willst, wie ein Flash-ADC-Wandler 
funktioniert (das Video dazu hatte ich ja in einem meiner letzten Posts 
verlinkt), sondern auch wie ein Sigma-Delta-ADC-Wandler tickt (die 
stecken nämlich in den Arduinos uns in Deinem ADS1115), so habe ich auf 
der Seite Deines ADS1115 sehr gute Erklärungen dazu gefunden (siehe 
Dokumente "How delta-sigma ADCs work, Part 1 (Rev. A)" (... und 
natürlich auch Part 2 - ebenfalls dort verlinkt):
https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf

> Klar kann man einen Temperatursensor in I²C nehmen, nur nutzt der bei
> meinem Projekt nichts.

Na ja - ich meinte halt "zum Warmwerden" mit I2C - aber Du gehst direkt 
auf's Ganze - drücke Dir die Daumen!

> Andreas S. schrieb:
>> auf Deinem Blockschaltbild hängt der Arduino an 5V.
>> Wo genau willst Du die 5V am Arduino anschließen?

Bitte diese Frage noch genau beantworten - je nach Antwort sind da ggf. 
noch ein paar Dinge zu beachten. Daher: an welchen Arduino (Uno, Nano, 
Mega, ...) und an welchen PIN willst Du dort die 5V Deines KY5050 legen?

> Wie ich schon schrieb und man unschwer erkennen kann, ist das noch kein
> Schaltplan (habe genau solange auch keine Schaltpläne mit sPlan
> gezeichnet), sondern eher als Gedankenstütze anzusehen.

Kein Problem. sPlan macht ja schöne Schaltpläne  - so Elektor-mäßig.
Ich habe zuletzt KiCAD genutzt - ist umsonst und soll in der neuesten 
Version angeblich auch LTspice-Schaltplan-Importe bieten.
KiCAD verwenden hier auch sehr viele Leute in diesem Forum.

> Für die 80V (84V) Batteriespannung habe ich ein Netzteil, das
> einstellbar ist und dass ich auf 12V einstellen werde.. Von dem gehe
> ich, anderes als ich das eigentlich wollte, direkt auf (jetzt neu) einen
> KY5050. Die Teile habe ich auch früher benutzt, weil die ziemlich genau
> 5V erzeugen.
> Von den 4A, die das Netzteil liefert, werde ich 650mA für 1M45 brauchen
> und etwas Strom für den Treiber.

Das hört sich sehr dick dimensioniert an - das wird bestimmt passen.

> Ich muss nur noch einmal den Strombedarf für die 5V-Spannungsversorgung
> ermitteln. Aber ich glaube der ist nicht so sehr hoch. Der KY5050 ist
> für 100mA ausgelegt.
> Da hängt das Display dran, der Arduino, der PeDa-Osc und der
> Stromsensor.
> Der Stromsensor fast nix (<1mA), PeDa-Osc ich meine das waren auch nur
> so 30mA.
> Das Display, ich habe gerade nachgeschaut, max. 45mA. Aber da stand
> nicht dabei, wie viel das intern bei 5Vcc ist. Denke das wird auch
> deutlich weniger verbrauchen. Ansonsten kann ich immer noch eine 7805
> nehmen.

Ich komme auf teils deutlich andere Werte:

ACS712:  max. 13mA
         Quelle: file:///Users/A287500/Downloads/ACS712-Datasheet.pdf
         ... dort auf S. 5

PeDa-Oszillator:   unter 1mA (ja, mehr ist es nicht!)

Arduino Uno:   max. 686 mA (natürlich nur bei Volllast)
         Quelle: 
https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf
         ... dort der PowerTree auf S. 7

Arduino Nano:  max. 100 mA (bei Volllast, aber ohne IO-Pin Ströme)
               (average:  25mA)
         Quelle: 
https://docs.arduino.cc/resources/datasheets/A000005-datasheet.pdf
         ... dort der PowerTree auf S. 7
         Quelle: 
https://arduino-projekte.info/stromverbrauch-arduino-wemos-boards/
         ... dort gibt es eine schöne Vergleichstabelle

ADS1115: max. 150uA
         Quelle 
https://www.ti.com/lit/ds/symlink/ads1115.pdf?ts=1711949082718&ref_url=https%253A%252F%252Fwww.google.com%252F
         ... dort auf S. 1 Abschnitt 1 "Features"

OLED Color 0.96 mit SSD1306:  max. 150 mA (???)
         Quelle: 
https://bitbanksoftware.blogspot.com/2019/06/how-much-current-do-oled-displays-use.html
         ... die genauen Testbedingungen sind dort leider
         schlecht beschrieben.

OLED Monochrome 0.96 mit SSD130?:  max. 50 mA   (average: 30mA)
         Quelle: Beitrag "OLED Stromverbrauch"


> Was die Taster (Grd mit internen Pullup) auf den Strom für Auswirkungen
> haben, weiß ich noch nicht. Der Arduino soll selbst max. 10mA brauchen.

Das ist m.M.n. nicht richtig.
Ich lese überall von einem "mittleren Stromverbrauch" eines Arduino Nano 
von ca. 20-30mA. Kommt aber, wie immer, auf die genauen Testbedingungen 
an und die sind leider fast nirgendwo auf den Internetseiten vernünftig 
angegeben.

So richtig gute Seiten habe ich daher nicht dazu gefunden.
Das war das Beste, was ich in kurzer Zeit aufgetrieben habe:
https://arduino-projekte.info/stromverbrauch-arduino-wemos-boards/
https://arduino.stackexchange.com/questions/926/what-is-the-maximum-power-consumption-of-the-arduino-nano-3-0

Zu beachten: Du musst Deine Spannungsversorgung so auslegen, dass sie 
nicht nur den "Normalverbrauch" übersteht, sondern auch Phasen höheren 
Stromverbrauchs (z.B. Bootphase oder die Ansteuerung Deines MOSFETs oder 
gar die Belastung bei Kommunikation via USB)

Den Stromverbrauch eines MC richtig zu messen, ist durchaus eine Kunst, 
die mit "normalen" Messmitteln leider recht schwierig ist. Ich träume ja 
immer noch von so etwas hier: 
https://www.nordicsemi.com/Products/Development-hardware/Power-Profiler-Kit-2

... konnte mich bislang aber noch nicht zu dieser Investition von um die 
120€ durchringen, denn das Hobby-Budget ist ja doch immer etwas 
begrenzt.


Das Fazit aus all dem wäre für mich:

Der KY5050 ist m.M.n. zu "knapp auf Kante genäht".

Ich würde den eingebauten Feld-Wald-Wiesen-Festspannungsregler des 
Arduino nehmen - und aus die Maus. Must halt nur darauf achten, den Vin 
des Arduino mit mindestens 2V mehr als 5V zu versorgen - ab 7V geht's 
also los, daher meine Bauchschmerzen mit Deinem Blockschaltbild, wo nur 
5V stehen. Der Spannungsregler auf den Arduino braucht ja auch nochmals 
>2V Differenz zwischen Ein- und Ausgang - sonst kann er nicht vernünftig 
regeln. Das ist extrem wichtig. Daher die min. 7V an Vin.

Alternativ kann man den Arduino zwar auch direkt mit 5V (die man quasi 
hinter dem Arduino-eigenen Spannungsregler einspeist) versorgen, aber 
dann musst Du Dir definitiv ein paar mehr Gedanken machen, wenn Du Dein 
USB-Kabel anschließen willst, siehe: 
https://forum.arduino.cc/t/arduino-mit-5v-uber-5v-pin-versorgen/318183/3 
. Daher meine Frage, wie Du den Arduino genau anschließen willst.

Das OLED würde ich ganz schlicht über den 5V Pin vom Arduino Nano 
versorgen lassen. Ich nehme jetzt einfach einmal an, Du verwendest ein 
OLED 0.96´´ monochrome mit SSD1306 Treiber - das zieht maximal 50mA.

Solltest Du den ADS1115 als ADC einsetzen, so brauchst Du Dich um eine 
stabile Referenzspannung nicht kümmern - der hat sie bereits eingebaut - 
sehr praktisch. Auch kann der ADS1115 in einem weiten Spannungsbereich 
betrieben werden - u.a. auch mit 5V, was ebenfalls super praktisch ist, 
weil Du Dir dann die Level-Shifter einsparen kannst und ihn direkt an 
den I2C-Bus klemmen kannst.

Solltest Du den internen ADC des Uno/Nano verwenden wollen, so würde ich 
nicht die ungenauen und zudem lastabhängigen 5V der Arduino-Versorgung 
nutzen. Statt dessen würde ich tatsächlich den TL431 verwenden und ihn 
ggf. mit 2 Widerständen auf die gewünschte Referenzspannung bringen - 
steht im Datenblatt, wie das geht. Die beiden Widerstände sollten dann 
natürlich entsprechend genau und temperaturstabil sein. Daher unbedingt 
Metallfilm 1% oder besser nehmen.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

... habe mir gerade 2x ACS712 und 2x ADS1115 bestellt - Du wirst langsam 
echt teuer, mien Jung ...

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Moin Andreas!

Ich weiß gerade nicht wo ich anfangen soll.

"Den Spannungsregler vom Arduino nehmen ...", auf die Idee bin ich noch 
gar nicht gekommen.
Die Spannung von dem Netzteil wird für den Arduino genommen, da kommt 
kein USB dran.
Wie kommst du auf die Werte für das farbige Oled?
Den meisten Strom braucht der interne Aufwärtsregler. Nur ist da die 
Angabe von der niedrigsten Versorgungsspannung des Displays angegeben. 
Die reale Stromverbrauch wird deutlich geringer sein.
Ja natürlich muss der Regler mehr können. Kann er auch. Die KY5050 
(baugleich LP2950) kann kurzzeitig bis ~ 150mA.
Aber wird jetzt nicht nötig sein.
Früher hatte ich einmal etwas von 200mA Maximalstrom für der ATMega328 
gelesen. Was auf dem Arduino soll fast 700mA brauchen? Der Controller 
brauch 10mA. Das steht so im DaBla.
Werde gleich einmal das kleine Display dran bauen und den Strom messen, 
welchen der Nano (im Gerät wird es wohl ein Mini werden, denn da habe 
ich noch ne ganze Menge), mit dem Display braucht.
Wenn es funktioniert, werde ich natürlich den 16-Bit-ADC nehmen.
Ich hadere gerade noch ein wenig mit dem TL431. Wenn ich die Widerstände 
zu groß mache, dann regelt der nicht. Ich meine vor allem den in 
Vin-Vout.
Habe das nach den Beispielen ausprobiert.
Da bin ich gerade dran. Muss jetzt erstmal aus dem Salz kommen und dann, 
das Datenblatt habe ich gerade ausgedruckt, mich noch einmal dran 
setzen.

Werde aber gleich erstmal Strom messen.
Sag mal etwas über das Power Profiler Kit II. In kurzen Worten bitte.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> ... habe mir gerade 2x ACS712 und 2x ADS1115 bestellt - Du wirst langsam
> echt teuer, mien Jung ...

Ich kann dir gerne mal ein Bild von meinem Esstisch schicken. Was ich 
alles die letzte Zeit gekauft habe ...
Möchte ich lieber nicht zusammen rechnen.

von Frank O. (frank_o)


Lesenswert?

Gerade mal geschaut, da ist ein LM1117IMPX drauf.
Das war eine ganz hervorragende Idee, den zu benutzen.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Gerade mal geschaut, da ist ein LM1117IMPX drauf.
> Das war eine ganz hervorragende Idee, den zu benutzen.

Na ja - das war irgendwie naheliegend, aber manchmal sieht man 
bekanntlich den Wald vor lauter Bäumen nicht.

Vielleicht reicht Dir der LM1117IMPX ja sogar von seiner Genauigkeit 
her.
Das Datenblatt sagt:

"The LM1117 offers current limiting and thermal
shutdown. The circuit includes a Zener trimmed band-
gap reference to assure output voltage accuracy to
within ±1%"

"Line regulation: 0.2% (maximum)"

"Load regulation: 0.4% (maximum)"

Dann hast Du also max. 1,6% Abweichung von 5V - hört sich doch schon 
fast hinreichend an.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Na ja - das war irgendwie naheliegend, aber manchmal sieht man
> bekanntlich den Wald vor lauter Bäumen nicht.

Eigentlich habe, ich seit dem Richard nicht mehr ist, eher das Gefühl 
noch nicht einmal mehr die Bäume zu sehen. Ich war wirklich vorher 
ziemlich clever. Ab und zu kommen noch Geistesblitze, aber nicht mehr 
ständig.
Werde gleich mal 12V auf den Nano geben und messen was so bei 5 Volt 
raus kommt.
Denke, wenn der nicht über USB versorgt wird, ist das für den 
eigentlichen Betrieb sowieso besser.
USB ist halt nur einfacher, wenn man sowieso mit der Arduino-IDE 
programmiert.
Schöner zu programmieren ist es sowieso über die ISP-Schnittstelle.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Moin Andreas!
>
> Ich weiß gerade nicht wo ich anfangen soll.
>
> "Den Spannungsregler vom Arduino nehmen ...", auf die Idee bin ich noch
> gar nicht gekommen.

Na denn ist ja gut, dass ich es erwähnt hatte ...
Nur dran denken: der braucht min. 7V

> Die Spannung von dem Netzteil wird für den Arduino genommen, da kommt
> kein USB dran.

Wo genau (welcher Pin am Arduino Nano) wolltest Du diese Spannung 
einspeisen?

> Wie kommst du auf die Werte für das farbige Oled?

Quellen hatte ich alle angegeben.

> Den meisten Strom braucht der interne Aufwärtsregler. Nur ist da die
> Angabe von der niedrigsten Versorgungsspannung des Displays angegeben.
> Die reale Stromverbrauch wird deutlich geringer sein.

Da ich immer noch nicht die genaue Bezeichnung Deines OLED's kenne, kann 
ich leider nur raten ...

> Ja natürlich muss der Regler mehr können. Kann er auch. Die KY5050
> (baugleich LP2950) kann kurzzeitig bis ~ 150mA.
> Aber wird jetzt nicht nötig sein.
> Früher hatte ich einmal etwas von 200mA Maximalstrom für der ATMega328
> gelesen. Was auf dem Arduino soll fast 700mA brauchen? Der Controller
> brauch 10mA. Das steht so im DaBla.

Die oben angegebenen Verbräuche waren alles die Stromverbräuche von 
Arduinos und nicht der Verbrauch des nackten Controllers.
Oder lötest Du nur den Controller auf Deine Schaltung?

> Werde gleich einmal das kleine Display dran bauen und den Strom messen,
> welchen der Nano (im Gerät wird es wohl ein Mini werden, denn da habe
> ich noch ne ganze Menge), mit dem Display braucht.

Bitte schreib mir mal genau den Displaytyp.

> Wenn es funktioniert, werde ich natürlich den 16-Bit-ADC nehmen.

Das bekommst Du hin. Wenn Geld keine Rolle spielt, so ist der ADS1115 
sicher die einfachste und beste Lösung.

> Ich hadere gerade noch ein wenig mit dem TL431. Wenn ich die Widerstände
> zu groß mache, dann regelt der nicht. Ich meine vor allem den in
> Vin-Vout.

Musst darauf achten, dass die Minimalströme nicht unterschritten werden 
- damit hatte ich mir auch schon einmal ins Knie geschossen.

> Habe das nach den Beispielen ausprobiert.
> Da bin ich gerade dran. Muss jetzt erstmal aus dem Salz kommen und dann,
> das Datenblatt habe ich gerade ausgedruckt, mich noch einmal dran
> setzen.
>
> Werde aber gleich erstmal Strom messen.
> Sag mal etwas über das Power Profiler Kit II. In kurzen Worten bitte.

Bei MC-Stromverbräuchen hast Du immer 2 Probleme:

- Wenn Du Phasen niedrigen Stromverbrauchs messen willst (z.B. Sleep-
  Modes), so musst Du Dein Amperemeter in einen sehr niedrigen
  Bereich stellen (=> hohen Innenwiderstand in Deinem Amperemeter).
  Wenn dann der Sleep-Modus beendet wird, so steigt der Stromverbrauch
  ja typischerweise um mehrere 10er-Potenzen. Und noch bevor Du Dein
  Amperemeter umschalten kannst, fällt Dir so viel Spannung am
  Messinstrument ab, dass Dein MC nicht mehr genügend Spannung bekommt
  und Du in "unzulässige" Bereiche abrutscht. Ein Restart ist dann
  oft die Folge.

- Außerdem willst Du auch kleine, kurz andauernde Stromspitzen genau
  sehen und messen können (z.B. um Deine Stromversorgung entsprechend
  auszulegen) und zudem den Strom über einen gewissen Zeitraum mitteln,
  wenn Du z.B. einschätzen willst, wie lange Deine Batterie so einen MC
  wirklich versorgen kann.

Tja - und all das kann das Power Profiler Kit II angeblich - in 
Träumchen ...

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Na ja - das war irgendwie naheliegend, aber manchmal sieht man
>> bekanntlich den Wald vor lauter Bäumen nicht.
>
> Eigentlich habe, ich seit dem Richard nicht mehr ist, eher das Gefühl
> noch nicht einmal mehr die Bäume zu sehen. Ich war wirklich vorher
> ziemlich clever. Ab und zu kommen noch Geistesblitze, aber nicht mehr
> ständig.
> Werde gleich mal 12V auf den Nano geben und messen was so bei 5 Volt
> raus kommt.
> Denke, wenn der nicht über USB versorgt wird, ist das für den
> eigentlichen Betrieb sowieso besser.
> USB ist halt nur einfacher, wenn man sowieso mit der Arduino-IDE
> programmiert.
> Schöner zu programmieren ist es sowieso über die ISP-Schnittstelle.

Oh - ich glaube, jetzt geht etwas durcheinander.
Evtl. nochmals genauer lesen, was ich zur Spannungsversorgung des 
Arduinos geschrieben hatte: man kann den nämlich über seinen 
Hohlstecker, über den Vin-Pin, über USB oder (deutlich ungewöhnlicher 
und daher seltener genutzt) über den +5V Pin versorgen.

Ich würde Dir zur Versorgung über den Hohlstecker bzw. den Vin-Pin 
raten.

Viele Grüße

Igel1

PS: muss jetzt mal ein paar andere Dinge erledigen - kann also dauern, 
bis ich mich wieder melde ...

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> über den +5V Pin versorgen.

Der ist eigentlich als Ausgang gedacht. Natürlich kann man da auch +5V 
anschließen.

Habe gerade gemessen.
Arduino mit 12V/200mA (Vin) angeschlossen.
Display alleine braucht ~4,5mA. Versorgung des Displays über den 
Arduino.
Arduino mit Display, ~25,6mA.
Ich will hier nicht verschweigen, dass der gesamte Stromverbrauch, mit 
dem großen Display, in der Spitze bei ~147mA lag.
Und ja, ich kann das genau messen und sogar grafisch anzeigen lassen.
Mein Tischmultimeter kann das.
Ach, hätte ich fast vergessen. Der Regler lieferte auf diesem Board 
gerade auch deutlich über 4.9V.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> PS: muss jetzt mal ein paar andere Dinge erledigen - kann also dauern,
> bis ich mich wieder melde ...

Habe ich auch gerade.
Neue Fritzbox dran.
Und jetzt bin ich gerade zum Kuchenessen eingeladen worden.
Also dann, bis später!

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> über den +5V Pin versorgen.
>
> Der ist eigentlich als Ausgang gedacht. Natürlich kann man da auch +5V
> anschließen.

Man kann und man muss es sogar auch so machen, wenn man wirklich keine 
>7V, sondern nur 5V zur Verfügung hat.

> Habe gerade gemessen.
> Arduino mit 12V/200mA (Vin) angeschlossen.
> Display alleine braucht ~4,5mA. Versorgung des Displays über den
> Arduino.

Jetzt weiß ich leider immer noch nicht, welches Display Du verwendest - 
und dabei hatte 2x schon sooo nett danach gefragt ...

> Arduino mit Display, ~25,6mA.

Das alles wird einen möglichen KY5050 nicht interessieren - ihn 
interessieren die Spitzenströme und die siehst Du nicht auf "einfachen 
Multimetern".

> Ich will hier nicht verschweigen, dass der gesamte Stromverbrauch, mit
> dem großen Display, in der Spitze bei ~147mA lag.

... wenn Du den Spannungsregler auf dem Arduino Nano (von dem sprechen 
wir hier, nicht wahr?) verwendest, so ist auch das noch locker im grünen 
Bereich.

> Und ja, ich kann das genau messen und sogar grafisch anzeigen lassen.
> Mein Tischmultimeter kann das.

Ja, ist ein tolles Teil, definitiv.
Stimmte auch der Messaufbau und die Messweise?

- Hast Du bei Deiner Messung den Arduino direkt (über den 5V-Pin, also 
nicht über den eingebauten Spannungsregler und Vin-Pin) versorgt? Und 
hast Du Dein Amperemeter bei dieser Direktversorgung in die 
Stromversorgung eingeschleift gehabt?

- Hast Du Dir den "Spitzenstrom" auf dem Tischmultimeter anzeigen lassen 
oder nur die "normale" Anzeige beobachtet?  Und weißt Du, ob Dein 
Amperemeter auch kurzzeitige Spitzenströme im Bereich 10us erfasst und 
als Spitzenstrom anzeigt?

> Ach, hätte ich fast vergessen. Der Regler lieferte auf diesem Board
> gerade auch deutlich über 4.9V.

... das sollte er auch, denn 5V abzüglich 1,6% sind minimal 4,92V.
Darunter darf er auch bei Volllast nicht fallen - sonst hast Du einen 
Clone vor Dir, die die Spec nicht einhält.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Und jetzt bin ich gerade zum Kuchenessen eingeladen worden.
> Also dann, bis später!

Iß unbedingt ein Stück Kuchen für mich mit!!

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Jetzt weiß ich leider immer noch nicht, welches Display Du verwendest -
> und dabei hatte 2x schon sooo nett danach gefragt ...

Entschuldige!
Das 0.96 Zoll OLED, mit dem SD1306.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Jetzt weiß ich leider immer noch nicht, welches Display Du verwendest -
>> und dabei hatte 2x schon sooo nett danach gefragt ...
>
> Entschuldige!
> Das 0.96 Zoll OLED, mit dem SD1306.

Iß bitte noch ein Stück Kuchen und sag' mir zwischendurch, ob es die 
farbige oder die monochrome Version ist.

von Andreas S. (igel1)


Lesenswert?

... hmmmm - ich meinte "EIN Stück Kuchen", nicht die gesamte Torte samt 
der edlen Spender(?)in(?)en ...   :-)

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Das alles wird einen möglichen KY5050 nicht interessieren - ihn
> interessieren die Spitzenströme und die siehst Du nicht auf "einfachen
> Multimetern".

Ist ja auch kein "kein einfaches Multimeter". Rigol DM3051, das kann das 
und zwar ganz automatisch. Misst alle Werte. Wenn es nur ein paar Werte 
hat (so um die 20), dann waren da auch keine großen Veränderungen. Du 
kannst sie als Liste ansehen oder aber (was auf dem kleinen Display 
nicht ganz so übersichtlich ist) auf dem Display anzeigen lassen.
Das DM3051 hat eine Auflösung von 10nA.
Wenn ich bei ~25.6mA (mit Display und versorgt aus dem Arduino) habe, 
wie hoch meinst du sind die zu erwartenden Spitzenströme?
Entschuldige Andreas, aber ist das nicht ein bisschen haarspalterisch?
Selbst wenn das eine Nanosekunde höher geht, da sind auch noch ein paar 
Kondensatoren verbaut und sogar auf jedem einzelnen Bauteil, wie dem 
Display und dem Stromsensor.
Ich habe die KY5050 vorher viel eingesetzt (gut, oft auch nur mit 
Controller, ohne Arduino) und die reichten.
Aber die Diskussion ist doch eh hinfällig, denn wie du vorgeschlagen 
hast und was auch gut so ist, werde ich außen alles über den LDO auf dem 
Arduino versorgen. Und der kann 800mA.
Also kein Thema mehr.

Natürlich brauchts auf dem Arduino etwas mehr Strom, deshalb habe ich ja 
nicht die 9mA (10mA nur bei hoher Temperatur) gemessen, sondern um die 
20mA.
Ich weiß nicht wer so etwas schreibt, aber fast 700mA, vielleicht bei 
den großen 2560ger Boards.
Der FT232 braucht max. 24mA, der CH340 max. 30mA, typisch 12mA und das 
passt dann auch zu dem, was ich dort gemessen habe.
Man muss nicht alles glauben was geschrieben wird. Manchmal muss man 
nicht einmal alle Werte kennen, um mit ein bisschen Fachkenntnissen und 
logischen Denken selbst drauf zu kommen, dass das nicht stimmen kann.
Die paar Leds? die an Pin 13 braucht 5mA.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> ich meinte "EIN Stück Kuchen", nicht die gesamte Torte samt
> der edlen Spender(?)in(?)en ...   :-)

Bei mir gibt es nur "Spenderinnen".
Ich habe zwei Stücke gegessen. Da ich schon an sie gedacht habe, hatte 
ich ihr eine Gänsekeule mitgebracht. Die war noch warm. Sie Keule, ich 
Kuchen. So waren alle zufrieden.
Danke, dass ich dein Stück essen durfte. :-) (Wie bekomme ich am Rechner 
richtige Smileys hier eingestellt?)

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ja, ist ein tolles Teil, definitiv.
> Stimmte auch der Messaufbau und die Messweise?
>
> - Hast Du bei Deiner Messung den Arduino direkt (über den 5V-Pin, also
> nicht über den eingebauten Spannungsregler und Vin-Pin) versorgt? Und
> hast Du Dein Amperemeter bei dieser Direktversorgung in die
> Stromversorgung eingeschleift gehabt?
>
> - Hast Du Dir den "Spitzenstrom" auf dem Tischmultimeter anzeigen lassen
> oder nur die "normale" Anzeige beobachtet?  Und weißt Du, ob Dein
> Amperemeter auch kurzzeitige Spitzenströme im Bereich 10us erfasst und
> als Spitzenstrom anzeigt?

Andreas, ich weiß, ich habe mich hier manchmal blöd angestellt oder auch 
nur blöd erklärt. Aber!
Seit 36 Jahren bin ich Service Techniker und sicher einer der besten im 
ganzen Unternehmen.
Messen kann ich definitiv und meine Messgeräte kenne ich auch und weiß 
auch wie ich sie benutzen muss.

von Manfred P. (pruckelfred)


Lesenswert?

Frank O. schrieb:
> Habe gerade gemessen.
> Arduino mit 12V/200mA (Vin) angeschlossen.
> Display alleine braucht ~4,5mA. Versorgung des Displays über den
> Arduino.
> Arduino mit Display, ~25,6mA.
> Ich will hier nicht verschweigen, dass der gesamte Stromverbrauch, mit
> dem großen Display, in der Spitze bei ~147mA lag.

Hier laufen ein Arduino-ProMini 8 MHz (xx1117-33 und LED entfernt), ein 
ADS1115 und eine SD-Karte an einem 18650 LiIon. Versorgt wird das über 
MCP1703-3302. Mit OLED aus wird alle 10 Sekunden eine Spannung auf die 
SD-Karte geschrieben, das läuft ca. 500 Stunden! OLED dauerhaft an ist 
keine gute Idee, über deren Lebensdauer wurde an anderer Stelle 
diskutiert - mehr als wenige-tausend-Stundem sind nicht zu erwarten.

Den ProMini deshalb, weil ich kein USB-Interface (Uno, Nano) füttern 
will, was in Realbetrieb garnicht gebraucht wird. Wenn man nicht viel zu 
tun hat, kann man den auch schlafen legen und per Timer zyklisch 
aufwachen lassen.

Beitrag "Re: Arduino China-ProMini stürzt ab"

Der ADS1115 ist ein problemloses Ding mit sehr guter Genauigkeit. Für 
Strom nennst Du ACS712, dessen Auflösung ist garnicht toll (eigene 
Erfahrung).

Wenn Du einen kleinen Shuntwiderstand einsetzen kannst, schaue auf den 
INA219. Die Chinaboards kommen mit 0,1 Ohm und können bis etwa 2 Ampere. 
Es hält Dich aber niemand davon ab, einen externen Shunt mit weniger 
anzuklemmen und zu rechnen. Ja, die INA219-Boards setze ich an anderer 
Stelle ein, sowohl Spannung als auch Strom werden sauber gemessen.

Ich kenne Deine Anforderungen nicht, aber INA219 anstatt ADS1115 plus 
ACS712 wäre zu überdenken.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Ist ja auch kein "kein einfaches Multimeter". Rigol DM3051, das kann das
> und zwar ganz automatisch. Misst alle Werte. Wenn es nur ein paar Werte
> hat (so um die 20), dann waren da auch keine großen Veränderungen.

Okay - der Spitzenwert weicht also nicht groß vom Mittelwert ab - gut 
(und in der Tat etwas erstaunlich).

> Du
> kannst sie als Liste ansehen oder aber (was auf dem kleinen Display
> nicht ganz so übersichtlich ist) auf dem Display anzeigen lassen.
> Das DM3051 hat eine Auflösung von 10nA.

In unserem Zs.hang wäre interessanter, ob das DM3051 auch mitbekommen 
würde, wenn der Strom für 10us um Faktoren höher wäre.
Könnte man mit einem guten Funktions-/Pulsgenerator testen, aber das 
führt und hier zu weit weg vom Thema.

> Wenn ich bei ~25.6mA (mit Display und versorgt aus dem Arduino) habe,
> wie hoch meinst du sind die zu erwartenden Spitzenströme?

Keine Ahnung - da kann es Überraschungen geben oder eben nicht.

Ich messe solche Spitzenströme schon mal gerne mit einem einem 
Shunt-Widerstand und meinem Oszi:

Einfach einen 10 Ohm Widerstand vor den Arduino vorschalten und dann die 
Spannung am Oszi über den 10 Ohm Shunt-Widerstand messen.
Sollte ca. U = R * I = 10 Ohm * 25mA = 250 mV sein. Dann setzt Du mal 
den Einmal-/Singel-Shot-Trigger auf 300mV - Du kannst dann entdecken, ob 
der Strom irgendwann über 300mV ansteigt.

Und mit diesem Versuchsaufbau machst Du dann einen Reset von Deinem 
Arduino, denn gerade beim Booten und Initialisieren könnte der deutlich 
mehr Strom ziehen. Wenn das der Fall ist, so steigerst Du den Trigger 
jeweils um 100mV und schaust, ob es irgendwo auch 400mA, 500mA, 600mA, 
... Spitzenströme gibt.

Es ist wirklich ein bißchen so, wie bei einem Motor - dem würdest Du im 
ersten Moment auch nicht ansehen, dass er 3-10 fache größere 
Anlaufströme haben kann.

> Entschuldige Andreas, aber ist das nicht ein bisschen haarspalterisch?
> Selbst wenn das eine Nanosekunde höher geht, da sind auch noch ein paar
> Kondensatoren verbaut und sogar auf jedem einzelnen Bauteil, wie dem
> Display und dem Stromsensor.

Überschätz die mal nicht. Die Spannung an einem 1uF Kondensator fällt 
bei 100mA in genau 10us um 1V. Und Initialisierungsroutinen dauern meist 
länger als 10us ...

> Ich habe die KY5050 vorher viel eingesetzt (gut, oft auch nur mit
> Controller, ohne Arduino) und die reichten.

Du meinst, was früher gut gegangen ist, wird auch in Zukunft gut gehen?
Interessantes Konzept ;-)

> Aber die Diskussion ist doch eh hinfällig, denn wie du vorgeschlagen
> hast und was auch gut so ist, werde ich außen alles über den LDO auf dem
> Arduino versorgen. Und der kann 800mA.
> Also kein Thema mehr.

Yep - da hast Du völlig recht.
Zwar hätten mich die Spitzenströme irgendwie interessiert, aber Du hast 
schon recht: das wäre rein akademisch.

> Natürlich brauchts auf dem Arduino etwas mehr Strom, deshalb habe ich ja
> nicht die 9mA (10mA nur bei hoher Temperatur) gemessen, sondern um die
> 20mA.
> Ich weiß nicht wer so etwas schreibt, aber fast 700mA, vielleicht bei
> den großen 2560ger Boards.

Nun ja - die Quellen hatte ich ja alle angegeben - das schreibt der 
Arduino-Hersteller und die Herleitung findest Du dort in der Doku zum 
Uno auf S.7 im sogenannten Power-Tree. Wie gesagt: Referenzen waren alle 
angegeben.

Ich hatte auch extra dazugeschrieben, dass dies die Maximalströme eines 
Arduinos sind, wenn wirklich alle Lampen an und alle IO-Pins am 
Schwitzen sind und USB läuft und, und, und.  Aber genau dafür müssen die 
Arduino-Leute halt Ihren Arduino auslegen - nicht umsonst haben die 
einen 800mA Spannungsregler dort draufgesetzt. Du kannst absolut sicher 
sein: wäre der nicht nötig, so hätte man das eine Cent dort sicherlich 
eingespart.

> Der FT232 braucht max. 24mA, der CH340 max. 30mA, typisch 12mA und das
> passt dann auch zu dem, was ich dort gemessen habe.
> Man muss nicht alles glauben was geschrieben wird.

> Manchmal muss man
> nicht einmal alle Werte kennen, um mit ein bisschen Fachkenntnissen und
> logischen Denken selbst drauf zu kommen, dass das nicht stimmen kann.

Möchtest Du gerne Dein Rigol DM3051 Multimeter gegen mich verwetten, 
dass man mit einem Arduino UNO durchaus einige hundert Milliampere 
verbraten kann?

> Die paar Leds? die an Pin 13 braucht 5mA.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Den ProMini deshalb, weil ich kein USB-Interface (Uno, Nano) füttern
> will, was in Realbetrieb garnicht gebraucht wird.

Mit ein Grund, dass der wahrscheinlich in die fertige Version rein 
kommt.

Manfred P. schrieb:
> OLED dauerhaft an ist
> keine gute Idee, über deren Lebensdauer wurde an anderer Stelle
> diskutiert - mehr als wenige-tausend-Stundem sind nicht zu erwarten.

Wenn das Gerät einmal fertig ist, wird die Diagnose mit dem Gerät 
vielleicht 5 Minuten dauern, vielleicht 10 Minuten. Wenn es überhaupt, 
außer zu Testzwecken, zum Einsatz kommt, dann sicher nicht oft. 
Vielleicht wird unsere Diagnose auch überarbeitet und es wird nur bei 
mir, aus lauter Freude zum Einsatz kommen.
Ich habe, selbst wenn mich der Krebs nicht hinrafft, eine überschaubare 
Lebenszeit. Mein Kollege wird das Gerät erben und wenn der unter der 
Erde ist, dann gibt es sicher ganz andere Stapler. Die Oleds kosten 
(0.96") knapp über ein Euro. Dann lege ich noch eins dabei, wenn mein 
Kollege das Gerät bekommt.

Manfred P. schrieb:
> Für
> Strom nennst Du ACS712, dessen Auflösung ist garnicht toll (eigene
> Erfahrung).
Habe ich auch feststellen müssen. Es geht aber sicher für meine 
Anwendung.
Wie genau ich einen Kurzschluss feststellen werde, weiß ich noch nicht.
Wenn kein Kurzschluss vorliegt und der Magnet nicht anzieht, will ich 
eigentlich nur feststellen, ob ein Strom fließt.
Zur Not kann ich den Spannungsabfall messen und runter teilen, sodass 
der für den µC passt.
Mit der Shuntmessung (wird heute noch in den meisten Ladegeräten so 
gemacht) will ich mich auf jeden Fall auch auseinander setzen.
Shuntwiderstände hatte ich schon vorher bestellt, nur den INA219 habe 
ich noch nicht bestellt. Aber gute Idee, werde ich gleich bestellen.
Das ist auch ein Projekt, um wieder in die Materie einzusteigen.
Mein Interesse liegt, schon allein berufsbedingt, bei Antriebstechnik 
und Ladegeräte und -techniken sind mein Steckenpferd. Deshalb will und 
muss ich mich auch mit genauer Strommessung befassen. Das aber erst nach 
dem eFSB-Tester. Sonst verzettele ich mich zu sehr.
Vielen Dank für deinen Beitrag!

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Einfach einen 10 Ohm Widerstand vor den Arduino vorschalten und dann die
> Spannung am Oszi über den 10 Ohm Shunt-Widerstand messen.
> Sollte ca. U = R * I = 10 Ohm * 25mA = 250 mV sein. Dann setzt Du mal
> den Einmal-/Singel-Shot-Trigger auf 300mV - Du kannst dann entdecken, ob
> der Strom irgendwann über 300mV ansteigt.

Gute Idee!

Andreas S. schrieb:
> das schreibt der
> Arduino-Hersteller
Ich habe aktuell einen Manitou-Stapler, der braucht neue Reifen. Dort 
schreibt der Hersteller im Handbuch, welches bei dem Stapler war, einen 
Reifen vor, der nur für den 4 und 5 Tonnen Stapler genommen werden darf. 
In einem späteren Datenblatt (aus dem Internet) lässt er diesen Reifen 
für den 7 Tonnen Stapler zu. Dahinter steht ein Loadindex von 7100 Kilo. 
Nur gibt es den Reifen so nicht. Der hatte schon immer nur 5200 Kilo.
Also auch Hersteller schreiben Mist.
Andreas, ich müsste es raussuchen, aus einem Datenblatt, welches ich 
damals vom ATMega328 ausgedruckt hatte. Entweder war der Maximalstrom 
200mA oder 400mA, der der ATmega328 überhaupt sehen darf.
Schau dir den Schaltplan an, nimm alle Bauteile und schaue selbst nach, 
wo deren Maximalströme liegen. Klar, ich weiß, jeder Pin darf mit 
max.40mA belastet werden. Das stimmt nur zum Teil, denn der Maximalstrom 
darf diese 200mA oder 400mA nicht überschreiten.
1
Gerade nachgesehen:
2
33.1 Absolute Maximum Ratings
3
Table 33-1. Absolute Maximum Ratings
4
DC Current VCC and GND Pins 100.0mA
Andreas S. schrieb:
> Möchtest Du gerne Dein Rigol DM3051 Multimeter gegen mich verwetten,
> dass man mit einem Arduino UNO durchaus einige hundert Milliampere
> verbraten kann?
Nein! Habe auch nicht behauptet, dass das nicht möglich ist, aber eben 
keine fast 700mA. Natürlich kann ich jetzt, wenn ich das unbedingt 
ausreizen will, an die 5V einen Verbraucher hängen, der 500mA braucht. 
Aber wer macht das?
Wir reden hier doch vom Normalfall.

Habe ein bisschen suchen müssen.
DM3051:
Messrate  bis zu 50k Sa/s
200.000 mA   0.05%+18 dig.   1 µA

Nun ist aber Schluss mit der Haarspalterei. Wenn du glaubst, dass du 
recht hast, sollst du recht haben. Trotzdem funktioniert es bei mir.
Andreas, ich weiß, dass du viel tiefer in der Theorie steckst, als ich 
noch erreichen kann, aber ich bin Praktiker und sogar ein sehr guter 
dazu. Glaube mir, dass ich das auch so beurteilen kann.
Ich sauge mir das schließlich auch nicht aus den Fingern. Nur ist es mir 
zu müßig jede Kleinigkeit beweisen zu müssen und deshalb stundenlang 
Datenblätter zu durchsuchen.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> aber INA219

Bestellt.

von Manfred P. (pruckelfred)


Lesenswert?

Frank O. schrieb:
> Mein Interesse liegt, schon allein berufsbedingt, bei Antriebstechnik
> und Ladegeräte und -techniken sind mein Steckenpferd.

Antriebstechnik ist nicht meine Welt. Mir geht es eher um Laden / 
Entladen von Akkus üverschaubarer Größe. Bis 12V-Pb mit maximal 2 Ampere 
Last sind die INA219-Chinaboards quasi fertige Arbeit.

Frank O. schrieb:
> Manfred P. schrieb:
>> aber INA219
> Bestellt.

Nicht immer einfach bestellen, sondern mal vorweg Datenblätter 
anschauen!

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Nicht immer einfach bestellen, sondern mal vorweg Datenblätter
> anschauen!

Hatte ich schon vorher getan.
Aber auch schon, als ich damals damit angefangen hatte.
Damals hatte ich mich noch nicht an I²C ran getraut. Da hatte ich mich 
zuerst mit OnWire beschäftigt, da ich damals einen Schimmelwächter 
gebaut hatte.

Bis die hier sind, habe ich noch eine Weile Zeit zum lesen.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Einfach einen 10 Ohm Widerstand vor den Arduino vorschalten und dann die
>> Spannung am Oszi über den 10 Ohm Shunt-Widerstand messen.
>> Sollte ca. U = R * I = 10 Ohm * 25mA = 250 mV sein. Dann setzt Du mal
>> den Einmal-/Singel-Shot-Trigger auf 300mV - Du kannst dann entdecken, ob
>> der Strom irgendwann über 300mV ansteigt.
>
> Gute Idee!

Würde mich echt mal interessieren - kostet ja nur ein paar Minütchen. 
Ist superschnell aufgebaut.

>
> Andreas S. schrieb:
>> das schreibt der
>> Arduino-Hersteller
> Ich habe aktuell einen Manitou-Stapler, der braucht neue Reifen. Dort
> schreibt der Hersteller im Handbuch, welches bei dem Stapler war, einen
> Reifen vor, der nur für den 4 und 5 Tonnen Stapler genommen werden darf.
> In einem späteren Datenblatt (aus dem Internet) lässt er diesen Reifen
> für den 7 Tonnen Stapler zu. Dahinter steht ein Loadindex von 7100 Kilo.
> Nur gibt es den Reifen so nicht. Der hatte schon immer nur 5200 Kilo.
> Also auch Hersteller schreiben Mist.
> Andreas, ich müsste es raussuchen, aus einem Datenblatt, welches ich
> damals vom ATMega328 ausgedruckt hatte. Entweder war der Maximalstrom
> 200mA oder 400mA, der der ATmega328 überhaupt sehen darf.
> Schau dir den Schaltplan an, nimm alle Bauteile und schaue selbst nach,
> wo deren Maximalströme liegen. Klar, ich weiß, jeder Pin darf mit
> max.40mA belastet werden. Das stimmt nur zum Teil, denn der Maximalstrom
> darf diese 200mA oder 400mA nicht überschreiten.
>
1
> Gerade nachgesehen:
2
> 33.1 Absolute Maximum Ratings
3
> Table 33-1. Absolute Maximum Ratings
4
> DC Current VCC and GND Pins 100.0mA
5
>

Ich lese für den Arduino Uno mit seinem Atmega328P-PU processor aus dem 
Datenblatt 
(https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf), 
Abschnitt 28.1: 2DC "current VCC and GND pins - 200mA"
(dieser Strom ist übrigens nicht in der max. Spalte aufgeführt, sondern 
in der Typ. Spalte)

Und ich zähle 2x Vcc Pins und 3x GND Pins am Chip.
Macht somit 400mA und passt ganz gut zum Arduino Power Tree.

Ich gebe allerdings zu, dass ich inzwischen nicht mehr meinen Kopf 
darauf verwetten würde, dass Atmel bzw. Microchip ihre Specs genauso 
auslegen wie ich - nämlich "pro einzelnem Vcc Pin".

Die Fußnoten 3 und 4 unter der Tabelle in Abschnitt 28.1 sprechen 
tatsächlich ein bißchen für mich - die Tatsache, dass die 200mA im 
Abschnitt Absolute Maximum Ratings auftauchen, spricht allerdings eher 
gegen mich.

Die Tatsache, dass die 200mA in der Typ-Spalte und nicht in der 
Max-Spalte auftauchen, spricht dann wieder für mich.

Kurzum - ich bin mir inzwischen auch nicht mehr so sicher, was nun 
wirklich von beidem richtig ist, tendiere sogar eher zu Deiner 
Interpretation.

> Andreas S. schrieb:
>> Möchtest Du gerne Dein Rigol DM3051 Multimeter gegen mich verwetten,
>> dass man mit einem Arduino UNO durchaus einige hundert Milliampere
>> verbraten kann?
> Nein!

Na, da habe ich diesmal evtl. sogar Glück gehabt ...

> Habe auch nicht behauptet, dass das nicht möglich ist, aber eben
> keine fast 700mA. Natürlich kann ich jetzt, wenn ich das unbedingt
> ausreizen will, an die 5V einen Verbraucher hängen, der 500mA braucht.

Nein, nein, so war's natürlich nicht gemeint - sondern so, wie's der 
Power Tree ausweist.

> Aber wer macht das?
> Wir reden hier doch vom Normalfall.
>
> Habe ein bisschen suchen müssen.
> DM3051:
> Messrate  bis zu 50k Sa/s
> 200.000 mA   0.05%+18 dig.   1 µA
>
> Nun ist aber Schluss mit der Haarspalterei. Wenn du glaubst, dass du
> recht hast, sollst du recht haben.

Hmmm - ich hätte gerne Recht, wenn mir die Physik Recht gibt, nicht weil 
ich Recht haben muss. Und wenn ich falsch liege, so habe ich hoffentlich 
die Größe, das auch zuzugeben.

> Trotzdem funktioniert es bei mir.
> Andreas, ich weiß, dass du viel tiefer in der Theorie steckst, als ich
> noch erreichen kann, aber ich bin Praktiker und sogar ein sehr guter
> dazu. Glaube mir, dass ich das auch so beurteilen kann.
> Ich sauge mir das schließlich auch nicht aus den Fingern. Nur ist es mir
> zu müßig jede Kleinigkeit beweisen zu müssen und deshalb stundenlang
> Datenblätter zu durchsuchen.

Sorry - wollte Dich nicht nerven.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Moin Andreas!
Dann spalten wir weiter Haare.
Erst einmal steht nirgends etwas von "per Pin" da ist immer das 
Maximum mit gemeint.
Vielleicht schaust du erstmal in das richtig Datenblatt?
https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/40001906C.pdf
Die Firma gehört schon länger Microchip. Das hätte dir am Datenblatt 
auffallen müssen.
Früher waren das 200mA. War meine Erinnerung doch richtig.

Das was mich nervt ist nicht das Haare spalten.
Du stellst in Frage, ob ich mein Messgerät richtig angeschlossen habe, 
ob mein Messgerät so etwas messen kann und ob ich überhaupt in der Lage 
bin, mein Messgerät richtig einzustellen.
Nicht weil die Werte, die ich da messe nicht stimmen, denn sie stimmen 
ziemlich genau zu den Werten im DaBla, sondern weil sie nicht zu deiner 
Vorstellung passen. Und nur, weil auf der Arduino-Seite so ein Unsinn 
steht.
Das nervt mich.
Ich schrieb auch, dass du dir den Schaltplan vom Arduino ansehen sollst 
und dir Gedanken machen sollst, was da so viel Strom braucht.
Statt auch einmal meinen Gedanken zu folgen und das nachzuvollziehen, 
ziehst du aus irgendwelchen Ecken alte Datenblätter, interpretierst die 
völlig falsch, nur um irgendwie recht zu behalten.
Du hast dich schlichtweg von den Angaben auf der Arduino-Seite auf's 
Glatteis ziehen lassen.
Aber um wieder sachlich zu werden, lies dir das Datenblatt im Bereich 
der "Characteristics" durch und schaue dir weiter unten die Diagramme 
an.
Da geht insgesamt klar draus hervor, dass das nicht "per Pin" sein kann. 
Denn da sind die einzelnen Bereiche auch angegeben, mit ihren Strömen.

Ich bin wirklich nicht grundsätzlich doof.

Weißt du, ich habe einmal mit einem Ing. und einem angehenden Ing. 
zusammen ein Hauswasserwerk in Betrieb nehmen wollen. Peter, der 
Bauingenieur, es war sein Haus und sein Hauswasserwerk.
Bei Peter konnte man millimetergenau nachmessen, dass das alles der Din 
entsprach, die ganze Verlegung. Der andere Typ, ein Freund von Peter, 
studierte gerade etwas mit Wasserwirtschaft (was auch immer das war). 
Ich war noch sehr jung und habe so ein Hauswasserwerk noch nie gesehen.
Zwei Stunden (Peter zuvor 2 Wochen) haben die Jungs daran rum gemacht.
Danach bot ich meine Hilfe an. Keine Viertelstunde später lief die 
Anlage. Und auch nur, weil ich mir das Prinzip mit dem Speicher erst 
anlesen musste.
Was meinst du wieso die meisten meiner Freunde Akademiker sind?
Weil ich so blöd bin oder ein billiges Werkzeug?
Die meisten meiner Freunde halten mich tatsächlich für 
überdurchschnittlich intelligent. Ich mich nicht, aber ganz blöd bin ich 
halt auch nicht.

Andreas S. schrieb:
> Hmmm - ich hätte gerne Recht, wenn mir die Physik Recht gibt, nicht weil
> ich Recht haben muss.
Dann machen wir das in Zukunft doch anders.
Du beweist messtechnisch, dass deine Angaben stimmen.
Ich gebe auch ungefragt zu, wenn ich im Unrecht bin, wie dir auch schon 
aufgefallen ist.
Tatsächlich bin ich ein echter Fachmann und ich verdiene ziemlich viel 
Geld für meine Arbeit. Sicher nicht, weil ich die Haare schön habe. Dass 
wir nicht in den Tiefen der Elektronik und in die Steuergeräte selbst 
eintauchen, wird sicher jedem klar sein, aber um in meinem Beruf 
erfolgreich zu sein, und das bin ich zweifelsohne, muss man schon ein 
Verständnis für die Elektrik und Elektronik haben. Aber vor allem muss 
man nicht nur messen können, man muss auch das System insgesamt 
verstehen und die richtigen Schlussfolgerungen ziehen können, selbst 
wenn man nichts (oder gerade nichts) Eindeutiges messen kann.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Moin Andreas!
> Dann spalten wir weiter Haare.

Nein, das sollten wir nicht tun.

Und auch die Einstufung der anderen Meinung als "Haarspalterei" - auch 
das sollten wir nicht tun, denn damit diskreditieren wir unser 
Gegenüber.

Zum Fachsimpeln gehört m.M.n. dazu, dass jede Seite offen ist für neue 
Erkenntnisse - mögen sie auch noch so konträr zu dem sein, was ich 
bislang für richtig gehalten habe. Am Ende hat nur die Physik "recht".

Wenn Du in die Diskussion reingehst und direkt von vorne herein sagst, 
ich kann messen, ich weiß genau wie's geht und man hält mich für 
überdurchschnittlich intelligent - wie sollen wir dann diskutieren?

Ich denke, wir sollten unsere Argumente austauschen und jeder ist frei, 
sich von den Argumenten des/der anderen überzeugen zu lassen oder eben 
nicht.

Am Ende hat - wie schon gesagt - nur die Physik recht, daher bin ich 
fast bei Dir, wenn Du schreibst:
> Du beweist messtechnisch, dass deine Angaben stimmen.

Ich würde es lieber so formulieren:
Jeder beweist messtechnisch, dass seine Angaben/Vermutungen/Thesen 
stimmen.

... ansonsten bin ich voll bei Dir.

Ein schönes Experiment in Richtung "korrekt messen" wäre es z.B. zu 
untersuchen, wie valide Werte sind, die wir mit unseren Multimetern 
messen, wenn es um stark pulsierende Ströme bei Mikrocontrollern geht.
Wir hatten da ja unterschiedliche Ansichten (was ja durchaus okay ist, 
solange noch nichts bewiesen ist): Du meinst, Du misst auch solche 
Ströme mit Deinem Rigol MM noch korrekt - ich habe da so meine Zweifel 
(lasse mich aber gerne vom Gegenteil überzeugen).

Ich werde dazu die Tage einmal meinen Funktionsgenerator (oder 
alternativ vielleicht auch den Arduino) anwerfen und ihn ein PWM-Signal 
mit einem Duty-Cycle von 1% und einer Frequenz von 10kHz erzeugen lassen 
- hoffentlich schafft der das. Das Signal sollte einen Offset von 250mV 
und eine Spitzenspannung bei den Pulsen in Höhe von 1V haben. Das würde 
dann einer Messung an einem 10 Ohm Shunt entsprechen, wenn der 
Atmega-Strom von 25mA jeweils kurzzeitig auf 100mA hochschnellt, um dann 
wieder auf 25mA zurückzugehen.

Wenn Du dasselbe Experiment ebenfalls machst, so könnten wir einmal 
schauen, wie präzise unsere Multimeter so ein Signal vermessen. 
Theoretisch sollte ein "ideales" Multimeter, einen arithmetischen 
Mittelwert von: 0,99 * 25mA + 0,01 * 100mA = 25,75mA anzeigen und einen 
RMS-Wert von:  SQRT(  (25mA)^2 +  1/100 * (100mA)^2 ) = SQRT( 625 + 
100)mA = SQRT(725)mA = 26,9mA.  Der gemessene Spitzenwert sollte 1V 
betragen.

Das können wir dann noch bei verschiedenen Frequenzen und 
Tastverhältnisse/Duty-Cycles untersuchen und schauen, was dabei 
herauskommt. Wenn wir in Richtung der Spezifikationen unserer Multimeter 
kommen (sowohl was die max. Frequenz, als auch den Crest-Faktor angeht), 
so sollten die Zahlen langsam stimmen - außerhalb davon werden wir 
Phantasiewerte (= Abweichungen > 10%) erhalten (so jedenfalls meine 
These).

Viele Grüße

Igel1


PS:

> Vielleicht schaust du erstmal in das richtig Datenblatt?
> 
https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/40001906C.pdf

Der Arduino Uno R3 und auch der Arduino Nano haben einen Atmega328P und 
keinen Atmega328PB verbaut - daher denke ich schon, dass ich das 
richtige Datenblatt erwischt hatte - never mind.

Background: Der Atmega328P wird von Microchip zwar nicht mehr für neue 
Designs empfohlen - aber die Unos und Nanos sind ja schon älter und 
verwenden daher noch die älteren Prozessoren Atmega328P.

Der neuere Atmega328PB wird als besonders stromsparend beworben 
(PicoPower Technology) - das hat seinen "Preis" in Sachen "Output-Power" 
und daher sind beim neueren Atmega328PB nur 100mA statt der 200mA des 
Atmega328P im Abschnitt "Absolute Maximum Ratings" angegeben.

Was den Arduino Uno/Nano mit ihren Atmega328P angeht, so bin ich 
übrigens inzwischen 80% Deiner Meinung (dass nämlich bei 200mA insgesamt 
Schluss ist) und 20% meiner Meinung - Gründe für die 20% hatte ich ja 
schon genannt.

Da aber sicherlich keiner von uns seine Oma in einen Rollstuhl setzen 
würde, der mit einem Atmega328p jenseits der 200mA-Grenze betrieben 
wird, schlage ich vor, das Thema hier und jetzt zu beerdigen (nur das 
Thema, nicht die Oma!).

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> das Thema hier und jetzt zu beerdigen

Sehr gerne, Andreas.
Und die Herausforderung, das zu messen machen wir, wenn ich mit dem Teil 
fertig bin.
Bei einem Punkt bin ich völlig bei dir. Die Physik (solange wir nicht 
mehr wissen) hat immer recht.

Ich habe mich hier schon genug verzettelt. Dazwischen habe ich auch ganz 
viele andere Sachen (zum Beispiel dein Stück Kuchen essen), die auch 
Zeit in Anspruch nehmen.
Ich könnte wohl rund um die Uhr was tun. Gerade wollte ich Speicher und 
Festplatte tauschen und erweitern. Den Speicher kann man leider bei 
meinem Laptop, anders als in den Videos gezeigt, nicht tauschen, das ist 
fest auf dem Mainboard verlötet (was man heute noch so Mainboard nennen 
mag). Dafür habe ich jetzt Platz, die ganzen Elektronik Sachen auch auf 
diesem Laptop zu installieren.
Allerdings wieder zusätzliche und nicht eingeplante Arbeit. Ich muss den 
Speicher zurück schicken.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Allerdings wieder zusätzliche und nicht eingeplante Arbeit. Ich muss den
> Speicher zurück schicken.

Ah Mist - das ist wirklich super ärgerlich.

Wir sind inzwischen schon weichgekocht: meine Frau hat gestern 50GB 
Cloud-Speicher bei Apple gemietet (1€/Monat), weil sie einfach nicht 
mehr weiß, wie sie ihre ganzen Daten so aus der Cloud raushalten kann, 
dass sie mit den kostenlosen 5GB auskommt ... und ich hatte auch keine 
Lust mehr auf diese ewigen Konfigurationsorgien, sprich: wir haben 
aufgegeben ...

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Ja, die Strategie ist aufgegangen.
"Komm, wir sichern deine Bilder"
Komm, dies und das auch noch und jeden Scheiß "
Leider ist dein Speicher verbraucht und ab jetzt kassieren wir richtig.
Musik hier, Office dort, Cloud-Speicher sowieso.
Die hängen alle wie Blutegel an deinem Portemonnaie.

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Für
> Strom nennst Du ACS712, dessen Auflösung ist garnicht toll (eigene
> Erfahrung).

Ich habe mich heute nochmal mit dem ACS712 auseinander gesetzt.
So übel misst der gar nicht.
Habe den zuerst analog gemessen. Sicher nicht mit dem INA219 
vergleichbar, aber für hohe Ströme sicher gut genug.
Auch die Werte am ADC sind eigentlich in Ordnung. Ich habe den richtig 
abgeglichen und die meiste Zeit sind die Werte dort, wo ich sie erwarten 
würde.
Ich vermute, dass das mit der Wandlung am ADC zusammen hängt. Da will 
ich morgen noch etwas lesen.

Hatte schon so einige Sachen gelesen und Videos zum ACS712 geschaut.
Die sind aber alle nicht richtig.
Dort wird stumpf vorausgesetzt, dass da 5V sind.
In den meisten Tutorials steht das gleiche drin. 5V/1023.

Ich bin anders vorgegangen.
Zunächst muss der Arduino eine Weile an der Spannung hängen (etwas warm 
werden), dann messe ich die Spannung die der Wandler aus der 
USB-Spannung macht. Diesen Wert teile ich durch 1023.
Damit habe ich die Schrittlänge.
Jetzt erst schließe ich den Stromsensor an die Spannung vom Arduino und 
messe die Leerlaufspannung. Die ist auch nicht exakt 2.5V.
Diese Spannung teile ich durch die Schrittlänge und ziehe diese Schritte 
ab.
Nun muss ich einen Wert um Null haben. Da kann man dann noch einmal 
abgleichen, wenn das nicht im Serial Monitor angezeigt wird.
Jetzt messe ich mit dem Sensor genau 1000mA.  Nun müssen die Schritte, 
abhängig vom verwendeten Sensor, ziemlich genau angezeigt werden.
Diese gleiche ich noch einmal ab und habe nun den Ausgangswert für alle 
weiteren Berechnungen. Also die Umrechnung in mA.

Eigentlich ist dann alles ziemlich genau. Nur die Sprünge um die 20-30mA 
(max.) sind verwirrend und da denke ich halt, dass das durch die 
Wandlung entsteht.
Anderfalls muss ich den Sensor noch einmal im Oszi beobachten.
Übrigens kann man sehr gut sehen, ob Vin auch gleich Vref ist.
Einmal den ADC gegen Grd, dann muss eine klare Null angezeigt werden. 
Gegen den +5V Pin sollte der ADC dann 1023 anzeigen.

: Bearbeitet durch User
von Enrico E. (pussy_brauser)


Lesenswert?

Frank O. schrieb:
> Leider ist dein Speicher verbraucht und ab jetzt kassieren wir richtig.

Die 32 GB auf meinem Smartphone sind zufällig pünktlich zu Ostern auch 
gerade voll geworden mit Fotos. Der Versuch, die Fotos mit dem Ladekabel 
vom Smartphone auf den Rechner zu überspielen ist gescheitert, obwohl 
der Rechner die neue Hardware erkannt hat.

Jetzt bleibt mir nix anderes übrig, als die Fotos vom 
Smartphone-Bildschirm mit einer Digitalkamera einzeln abzufotografieren, 
auch wenn es dann leider zu den bekannten lästigen Interferenzmustern 
kommt.

Jaja, so ist das nun mal mit der modernen Rechentechnik.

von Frank O. (frank_o)


Lesenswert?

Enrico E. schrieb:
> aja, so ist das nun mal mit der modernen Rechentechnik.

Ich hatte früher auch mal Rechner gebaut und verkauft.
Als ich heute das "Mainbördchen" gesehen habe, da fragt man sich schon, 
wieso die Teile immer noch so teuer sind.
Schade mit dem Ram. Das ausgerechnet mein Rechner aufgelöteten Ram und 
keine Schnittstelle hatte.
Aber zumindest ist das gut an Amazon. Habe schon die Bestätigung der 
Gutschrift.

Man sollte meinen, dass das nach all den vielen Jahren doch alles 
endlich miteinander kompatibel sein sollte, dabei hat man bisweilen den 
Eindruck, dass das alles noch schlimmer wird.
Dieses Handy geht an dem Auto nicht so gut, dafür besser am Motorrad ... 
usw.
Nur gut, egal wie alt wir sind, dass wir das alles immer wieder passend 
machen. Wenn auch so mancher Kunstgriff nötig ist.

von Andreas S. (igel1)


Lesenswert?

Enrico E. schrieb:
> Frank O. schrieb:
>> Leider ist dein Speicher verbraucht und ab jetzt kassieren wir richtig.
>
> Die 32 GB auf meinem Smartphone sind zufällig pünktlich zu Ostern auch
> gerade voll geworden mit Fotos. Der Versuch, die Fotos mit dem Ladekabel
> vom Smartphone auf den Rechner zu überspielen ist gescheitert, obwohl
> der Rechner die neue Hardware erkannt hat.

Solltest Du die Kombination iPhone & Windows - Rechner haben, so habe 
ich ggf. einen Tipp für Dich (der gilt gerade bei vollem iPhone).
Melde Dich in diesem Fall einfach nochmals hier (bevor ich jetzt viel 
schreibe und Du nachher gar kein iPhone hast ...)

> Jetzt bleibt mir nix anderes übrig, als die Fotos vom
> Smartphone-Bildschirm mit einer Digitalkamera einzeln abzufotografieren,
> auch wenn es dann leider zu den bekannten lästigen Interferenzmustern
> kommt.

Ui - das ist wirklich die übelste/schlechteste aller Lösungen.

> Jaja, so ist das nun mal mit der modernen Rechentechnik.

Dito ...

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Solltest Du die Kombination iPhone & Windows - Rechner haben, so habe
> ich ggf. einen Tipp für Dich (der gilt gerade bei vollem iPhone).
> Melde Dich in diesem Fall einfach nochmals hier (bevor ich jetzt viel
> schreibe und Du nachher gar kein iPhone hast ...)

Der ist aber auch für eine Freundin (eigentlich für alle Freundinnen, 
die haben alle solche Dinger) gut.
Also, hau raus!

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Manfred P. schrieb:
>> Für
>> Strom nennst Du ACS712, dessen Auflösung ist garnicht toll (eigene
>> Erfahrung).
>
> Ich habe mich heute nochmal mit dem ACS712 auseinander gesetzt.
> So übel misst der gar nicht.
> Habe den zuerst analog gemessen. Sicher nicht mit dem INA219
> vergleichbar, aber für hohe Ströme sicher gut genug.

Puhhh - und ich hatte schon befürchtet, 8€ für die bestellten
Sensoren zum Fenster raus geschmissen zu haben.

> Auch die Werte am ADC sind eigentlich in Ordnung. Ich habe den richtig
> abgeglichen und die meiste Zeit sind die Werte dort, wo ich sie erwarten
> würde.
> Ich vermute, dass das mit der Wandlung am ADC zusammen hängt. Da will
> ich morgen noch etwas lesen.

Nur zum besseren Verständnis gefragt:
Du nutzt jetzt den internen ADC des Arduino Nano R3, stimmt's ?

> Hatte schon so einige Sachen gelesen und Videos zum ACS712 geschaut.
> Die sind aber alle nicht richtig.
> Dort wird stumpf vorausgesetzt, dass da 5V sind.
> In den meisten Tutorials steht das gleiche drin. 5V/1023.
>
> Ich bin anders vorgegangen.
> Zunächst muss der Arduino eine Weile an der Spannung hängen (etwas warm
> werden), dann messe ich die Spannung die der Wandler aus der
> USB-Spannung macht. Diesen Wert teile ich durch 1023.
> Damit habe ich die Schrittlänge.

Das ist ein beliebter Irrtum und ich habe auch immer wieder 
Schwierigkeiten damit, aber Du musst durch 1024 teilen.

Zur Erklärung:
Stell Dir einfach eine Latte von 4m Länge vor und einen AD-Wandler, der 
nur 2 Bit hat.  Dann kannst Du von 0 ... 3 zählen und trotzdem musst Du 
die Latte durch 4 teilen, um die Schrittlänge zu ermitteln.

Daher lautet die Formel:
1
Schrittlänge = Referenzspannung / (ADC-Maxwert + 1) 
2
             =      5V          / (   1023     + 1)
3
             =      5V          /     1024
4
             =      4,883mV

Kannst Du auch hier nochmals nachlesen (Empfehlung!):
https://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC#Ein_paar_ADC-Grundlagen

Oder auch hier:

https://romantrapp.at/?page_id=603
https://www.digikey.de/de/articles/adc-dac-tutorial

> Jetzt erst schließe ich den Stromsensor an die Spannung vom Arduino und
> messe die Leerlaufspannung. Die ist auch nicht exakt 2.5V.
> Diese Spannung teile ich durch die Schrittlänge und ziehe diese Schritte
> ab.
> Nun muss ich einen Wert um Null haben. Da kann man dann noch einmal
> abgleichen, wenn das nicht im Serial Monitor angezeigt wird.
> Jetzt messe ich mit dem Sensor genau 1000mA.  Nun müssen die Schritte,
> abhängig vom verwendeten Sensor, ziemlich genau angezeigt werden.
> Diese gleiche ich noch einmal ab und habe nun den Ausgangswert für alle
> weiteren Berechnungen. Also die Umrechnung in mA.

Du kannst Dir die Vermessung der Versorgungsspannung und der 
Leerlaufspannung des Sensors m.M.n. sparen und wie folgt vorgehen:

ADC-Wert bei I0=0A Messstrom notieren (z.B. ADC0 = 500)
ADC-Wert bei I1=5A Messstrom notieren (z.B. ADC1 = 600)

(Achtung: I1 sollte möglichst hoch sein, damit Du den Messfehler 
minimierst)

Damit hast Du quasi die Messlatte (nämlich Lattenlänge = I5 - I1 = 5A) 
und die Anzahl der Striche auf Deiner Messlatte ermittelt (nämlich ADC1 
- ADC0 = 100).

Dann kannst Du alle anderen Ströme aus den nun gemessenen
ADC-Werten berechnen - das ist eigentlich nur ein Dreisatz,
den Du mit Deinem ADC0-Wert und dem I0-Wert zunächst "nullst":
1
I  = ( ADC(I) - ADC0 ) / ( ADC1 - ADC0 ) * ( I1 - I0 )

Bei einem ADC-Wert von ADC(I)=570 wäre I dann die Rechnung wie folgt:
1
I  = (  570   - 500 )  /  [ 600 - 500 ]  * ( 5A - 0A )
2
   =         70        /       100       *      5A
3
   =        3,5 A

... das kannst Du so in dieser Form auch später in Dein Programm 
einbauen - wobei ich die Formel unbedingt umstellen würde, damit Du ggf. 
ohne Fließkommaarithmetik auskommst (die ist nämlich für den kleinen MC 
enorm aufwändig/langlaufend), z.B. so:
1
I[mA]  = ( ADC(I) - ADC0 )  * ( I1 - I0 ) * 1000 / ( ADC1 - ADC0 )

Dann bekommst Du das Ergebnis direkt in Milliampere mit moderatem 
Rundungsfehler.

> Eigentlich ist dann alles ziemlich genau. Nur die Sprünge um die 20-30mA
> (max.) sind verwirrend und da denke ich halt, dass das durch die
> Wandlung entsteht.

Bitte erkläre genauer, welche Sprünge Du meinst, wann sie auftreten 
u.s.w.
Ggf. mit Bild von Deinem Arduino-Monitor.

> Anderfalls muss ich den Sensor noch einmal im Oszi beobachten.
> Übrigens kann man sehr gut sehen, ob Vin auch gleich Vref ist.
> Einmal den ADC gegen Grd, dann muss eine klare Null angezeigt werden.
> Gegen den +5V Pin sollte der ADC dann 1023 anzeigen.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Solltest Du die Kombination iPhone & Windows - Rechner haben, so habe
>> ich ggf. einen Tipp für Dich (der gilt gerade bei vollem iPhone).
>> Melde Dich in diesem Fall einfach nochmals hier (bevor ich jetzt viel
>> schreibe und Du nachher gar kein iPhone hast ...)
>
> Der ist aber auch für eine Freundin (eigentlich für alle Freundinnen,
> die haben alle solche Dinger) gut.
> Also, hau raus!

Zunächst mein Setting:

- iPhone XR    (Speicher fast ganz voll - nur noch ca. 100 MB frei)
- Windows 10 auf Intel PC
- Neuestes iTunes installiert
    (Achtung: ich nutze KEIN iTunes zum Foto-Download, aber man
              benötigt die Treiber, die mit iTunes installiert werden)
- iPhone XR mit Intel PC per (original Apple!) USB-Kabel verbunden
- Windows-Explorer geöffnet und im Explorer in den
    Fotoordner auf dem iPhone "hinabsteigen" ("DCIM" oder so ähnlich)
- Dort dann die entsprechenden Monatsordner auswählen
    und per Copy&Paste auf den Rechner übertragen

Dabei bricht der Übertragungsvorgang stets nach wenigen Bildern ab.
Erst nach einigen Stunden Ausprobieren habe ich dann
folgendes herausgefunden:

- offenbar legt das iPhone für jedes per Copy&Paste übertragene
  Bild intern nochmals eine "Schattenkopie" in einem temporären
  Speicher an. Somit kannst Du bei 100MB Restspeicherplatz gerade
  einmal 20Bilder a 5 MB kopieren, denn bricht der Kopiervorgang ab.

- Einzige mir bislang bekannte Lösung:

  - Du kopierst die 20 Bilder, löscht sie dann vom Handy und
    rebootest das Handy - danach hast Du 200MB frei, weil die
    "Schattenkopien" nach einem Reboot weggeräumt werden.

  - Dann kannst Du 40 Bilder kopieren, bevor der Kopiervorgang
    wieder abbricht. Diese 40 Bilder löscht Du dann vom Handy
    und rebootest das Handy - danach hast Du 400MB frei
  - u.s.w.

Hoffe, das hilft!

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Puhhh - und ich hatte schon befürchtet, 8€ für die bestellten
> Sensoren zum Fenster raus geschmissen zu haben.

Andreas, wenn ich dich immer so höre, respektive lese, dann habe ich das 
Gefühl, dass du schon auf Brustwarzen und Zahnfleisch durch die /dein 
Stückchen Kuchen/ gegessen habe.
Willst du das gleiche Testgerät bauen?

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Nur zum besseren Verständnis gefragt:
> Du nutzt jetzt den internen ADC des Arduino Nano R3, stimmt's ?

Stimmt! Der andere dauert noch, bis der geliefert wird.

Andreas S. schrieb:
> aber Du musst durch 1024 teilen.

Der Meinung war ich auch immer, aber es wurde überall anders gezeigt 
oder geschrieben.

Andreas S. schrieb:
> Du kannst Dir die Vermessung der Versorgungsspannung und der
> Leerlaufspannung des Sensors m.M.n. sparen und wie folgt vorgehen:
>
> ADC-Wert bei I0=0A Messstrom notieren (z.B. ADC0 = 500)
> ADC-Wert bei I1=5A Messstrom notieren (z.B. ADC1 = 600)
>
> (Achtung: I1 sollte möglichst hoch sein, damit Du den Messfehler
> minimierst)
>
> Damit hast Du quasi die Messlatte (nämlich Lattenlänge = I5 - I1 = 5A)
> und die Anzahl der Striche auf Deiner Messlatte ermittelt (nämlich ADC1
> - ADC0 = 100).
>
> Dann kannst Du alle anderen Ströme aus den nun gemessenen
> ADC-Werten berechnen - das ist eigentlich nur ein Dreisatz,
> den Du mit Deinem ADC0-Wert und dem I0-Wert zunächst "nullst":
> I  = ( ADC(I) - ADC0 ) / ( ADC1 - ADC0 ) * ( I1 - I0 )
>
> Bei einem ADC-Wert von ADC(I)=570 wäre I dann die Rechnung wie folgt:
> I  = (  570   - 500 )  /  [ 600 - 500 ]  * ( 5A - 0A )
>    =         70        /       100       *      5A
>    =        3,5 A
>
> ... das kannst Du so in dieser Form auch später in Dein Programm
> einbauen - wobei ich die Formel unbedingt umstellen würde, damit Du ggf.
> ohne Fließkommaarithmetik auskommst (die ist nämlich für den kleinen MC
> enorm aufwändig/langlaufend), z.B. so:
> I[mA]  = ( ADC(I) - ADC0 )  * ( I1 - I0 ) * 1000 / ( ADC1 - ADC0 )
>
> Dann bekommst Du das Ergebnis direkt in Milliampere mit moderatem
> Rundungsfehler.

Danke Andreas!

Das ist übrigens der Grund, wieso keiner meinen Code zu sehen bekommt.
Ich habe auch Milliampere in der Ausgabe, auch mit kleinem Fehler, nur 
eben einen nicht so akademischen Weg gewählt. Weil ich schlichtweg auf 
deine schöne Lösung nicht gekommen bin.

Andreas S. schrieb:
> Bitte erkläre genauer, welche Sprünge Du meinst, wann sie auftreten
> u.s.w.
> Ggf. mit Bild von Deinem Arduino-Monitor.

Später. Dazu muss ich erstmal sehen, ob ich nicht (wovon ich im Moment 
ausgehe) doch noch einen Fehler in meiner Programmierung habe.

Nebenbei: Gestern Nacht hatte ich noch alle Bücher aus dem Regal geholt, 
aber nach 2 Uhr vielen mir die Augen immer zu. Jedenfalls ist in einem 
Buch sehr schön erklärt, das was ich alles noch so brauche.
Dann las ich in einem Buch wieder von C für die 
Mikrocontrollerprogrammierung.
Danach habe ich wieder total Lust dazu, das alles komplett 
durchzuarbeiten.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Hoffe, das hilft!
Gute Idee, aber nur für Männer. Frauen machen so was nicht. Die kaufen 
ein neues Telefon, mit mehr Speicher.
iPhone packe ich nicht mehr an. Ich hatte das einmal für eine Freundin 
gemacht, dazu einen neuen Ordner angelegt (wie man das so macht), aber 
statt die Bilder in den neuen Ordner zu kopieren und den alten Ordner 
dann zu löschen, blieb der neue Ordner leer und der alte Ordner war 
unwiederbringlich gelöscht.
Alles Fotos von ihrem Sohn. So auch nicht mehr vorhanden.
Ja, wir sind noch Freunde. Anhören muss ich mir das nach 15 Jahren immer 
noch.

von Frank O. (frank_o)


Lesenswert?

Hatte gerade noch etwas bei A. bestellen wollen und aus Spaß einmal 
"Arduino Sensor" eingegeben.
So ein bisschen kann ich dieses Belächeln der Arduino-Gemeinde schon 
verstehen.
Kaum pappt man was auf ein Breakout-Board, egal was für einen Scheiß, 
und schreibt da "für Arduino" dran, kannst du das für fast jeden Preis 
verkaufen.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> aber Du musst durch 1024 teilen.
>
> Der Meinung war ich auch immer, aber es wurde überall anders gezeigt
> oder geschrieben.

Dann hast Du etwas Pech bei Deiner Quellenauswahl gehabt.
In dem von mir zitierten Mikrocontroller.net - Artikel steht es 
jedenfalls richtig drin.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Puhhh - und ich hatte schon befürchtet, 8€ für die bestellten
>> Sensoren zum Fenster raus geschmissen zu haben.
>
> Andreas, wenn ich dich immer so höre, respektive lese, dann habe ich das
> Gefühl, dass du schon auf Brustwarzen und Zahnfleisch durch die /dein
> Stückchen Kuchen/ gegessen habe.

Hmmm - den Satz hat's etwas zerwürfelt, ich verstehe daher nicht ganz, 
was Du sagen wolltest.

> Willst du das gleiche Testgerät bauen?

Ja klar :-)

Und nachdem Du mir ja schon Deine Transistoren geschickt hast (sind 
leider noch unterwegs), wollte ich Dich höflich fragen, ob es Dir sehr 
viele Umstände bereiten würde, mir auch noch einen kleinen Gabelstapler 
zukommen zu lassen?

Ich muss meine Version der Schaltung ja schließlich am echten Objekt 
verproben - das wirst Du doch verstehen, oder?  :-)

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Nebenbei: Gestern Nacht hatte ich noch alle Bücher aus dem Regal geholt,
> aber nach 2 Uhr vielen mir die Augen immer zu.

Du Nachteule und Enthusiast!

> Jedenfalls ist in einem
> Buch sehr schön erklärt, das was ich alles noch so brauche.
> Dann las ich in einem Buch wieder von C für die
> Mikrocontrollerprogrammierung.

Na klar - ohne C wird's kaum gehen.
Aber wie sonst hast Du Dein OLED-Display ans Laufen gebracht?
Das muss doch auch ein wenig C mit etwas externer Bibliothek gewesen 
sein?

Ich hatte seinerzeit einmal das Buch von Günter Schmitt gelesen 
(https://www.amazon.de/Mikrocomputertechnik-Controllern-Atmel-Avrriscfamilie-Programmierung/dp/3486589881/ref=sr_1_10), 
das fand ich wirklich gut,
weil es sowohl in Assembler als auch in C alle Funktionen des AVR im 
Detail durchgekaut hat:  IO, I2C, SPI, UART, ...

540 Seiten - da bist Du locker 1 Monat beschäftigt (weil man die Dinge 
ja auch wirklich ausprobieren möchte/sollte) - keine Ahnung, warum ich 
damals so viel Zeit hatte ...

Bevor Du Dir das jetzt aber auch flugs kaufst - erst mal reingucken - 
ist für Dich evtl. "zu tief", denn Du willst I2C, SPI, UART & Co ja gar 
nicht selber im Prozessor konfigurieren/programmieren sondern nur nutzen 
- und dafür reichen die Standard-Arduino-Libs vermutlich aus.

> Danach habe ich wieder total Lust dazu, das alles komplett
> durchzuarbeiten.

Yep - kann ich gut verstehen.
Warum hat der Tag keine 48h?

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Hmmm - den Satz hat's etwas zerwürfelt, ich verstehe daher nicht ganz,
> was Du sagen wolltest.

Ich weiß nicht wieso diese blöde Formatierung hier bei mehreren Wörtern 
versagt.

Das sollte ein bisschen lustig sein, weil du bei ein paar Euro schon 
immer in Panik gerätst. Bekommst du so wenig "Taschengeld"?
Ich muss mal mit deiner Frau reden.

Andreas S. schrieb:
> er nach 2 Uhr *"vielen"* mir die Augen immer zu.
Man sieht, ich war auch noch nicht richtig wach.

Andreas S. schrieb:
> Ja klar :-)

Ich mache dir einen Vorschlag: Wenn das funktioniert, lade ich dich ein, 
das am Stapler mit mir zu testen.
Was du sicher nicht hast, einen Batteriestecker für die 80V-Batterie.

Andreas S. schrieb:
> Und nachdem Du mir ja schon Deine Transistoren geschickt hast (sind
> leider noch unterwegs), wollte ich Dich höflich fragen, ob es Dir sehr
> viele Umstände bereiten würde, mir auch noch einen kleinen Gabelstapler
> zukommen zu lassen?

Muss mal schauen, ob ich noch einen habe. Das ist echt Mangelware bei 
uns.
Hatte immer noch Werbegeschenke aufgehoben, von Anfang an. Richtige 
Antiquitäten dabei. Habe das meiste davon leider schon verschenkt, weil 
ich dachte, dass ich nicht mehr wieder kommen werde (2022).
Aber irgendwas habe ich sicher noch für dich.
Dass die Transistoren noch nicht angekommen sind, wundert mich ein 
wenig.

Andreas S. schrieb:
> Ich hatte seinerzeit einmal das Buch von Günter Schmitt gelesen
Das war, glaube ich, das erste Buch, welches ich mir kaufte.
Wäre es das einzige Buch gewesen, hätten wir uns nie kennengelernt.
Arduino war für mich der richtige Einstieg. Das Buch von Massimo Banzo 
ist absoluter Mist.

Andreas S. schrieb:
> 540 Seiten - da bist Du locker 1 Monat beschäftigt (weil man die Dinge
> ja auch wirklich ausprobieren möchte/sollte) - keine Ahnung, warum ich
> damals so viel Zeit hatte ...
Nimm das mal 100.
Habe aber gerade nochmal reingeschaut. Jetzt ist das tatsächlich 
interessant, da ich mittlerweile das alles besser verstehe.
Aber dein Lerntempo (denke an die STM's) habe ich einfach nicht.
Leider kann ich auch nicht so sehr schnell lesen.

Andreas S. schrieb:
> Warum hat der Tag keine 48h?
Mindestens!
In meiner Jugend habe ich mehrere Leben parallel gelebt.
Möchte ich nicht näher drauf eingehen. Nur so viel, ich kenne auch die 
dunkle Seite der Macht. Und die lässt sich nicht mit unserem 
regelkonformen Leben zusammen bringen. Deshalb gab es damals Dr. Jekyll 
und Mr. Hyde.
Ich selbst habe nichts wirklich Böses gemacht, aber genug gesehen.

von Manfred P. (pruckelfred)


Lesenswert?

Frank O. schrieb:
> Manfred P. schrieb:
>> Für
>> Strom nennst Du ACS712, dessen Auflösung ist garnicht toll (eigene
>> Erfahrung).
> Ich habe mich heute nochmal mit dem ACS712 auseinander gesetzt.
> So übel misst der gar nicht.

Ich habe bewusst Worte wie schlecht, ungenau etc. vermieden, weil ich 
das üblichen Gemeckere über dieses IC nicht teile.

> Habe den zuerst analog gemessen. Sicher nicht mit dem INA219
> vergleichbar, aber für hohe Ströme sicher gut genug.

Hier muß nichts verglichen werden, es gilt, eine Anforderung zu 
erfüllen.

Ich habe zwei Geräte in Betrieb, wo ein ACS712-20 ausreichend ist. In 
einem brauche ich die galvanische Trennung, das andere würde ich so 
nicht wieder aufbauen.

Zu den Grenzen:

Du hast gemessen und den Nullpunkt gesucht, das kannst Du in einem 
realen Aufbau nicht oder nur aufwendig darstellen.

Was die Versorgung angeht, ändert sich mit dieser die Steilheit, schaue 
mal das Diagramm an: 
http://shelvin.de/den-acs-712-5a-strom-sensor-am-arduino-auslesen/

Bei Null-Ampere muss der µC immer 512 liefern, wenn die Versorgung des 
ACS712 die selbe ist wie die Referenz dessen Wandlers, ratiometrisch. 
Dazu kommt aber ein Offsetfehler, den das Datenblatt leider nicht 
benennt, vielleicht liefert er ja 2,52 Volt und Dein µC 516.

Unabhängig davon rechne ich mal für den ACS712-20 mit 100mV/A und den 
Arduino mit 5 Volt. Ohne Strom 2,5 Volt bekommt man vom A/D 512. Mit 1A 
Strom 2,6 Volt bekomme ich 532 geliefert. Das sind 20 Schritte, 1000/20 
ergibt eine Auflösung von 50mA. Ein Bit wackelt der A/D immer, damit 
kann ich mich auf ganze Ampere verlassen, die erste Nachkommastelle 
taugt schon nichts mehr.

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Hier muß nichts verglichen werden, es gilt, eine Anforderung zu
> erfüllen.
Du bist genau mein Mann!

Manfred P. schrieb:
> Was die Versorgung angeht, ändert sich mit dieser die Steilheit, schaue
> mal das Diagramm an:
Lese ich mir morgen durch. Danke!

Manfred P. schrieb:
> Bei Null-Ampere muss der µC immer 512 liefern, wenn die Versorgung des
> ACS712 die selbe ist wie die Referenz dessen Wandlers, ratiometrisch.
> Dazu kommt aber ein Offsetfehler, den das Datenblatt leider nicht
> benennt, vielleicht liefert er ja 2,52 Volt und Dein µC 516.

Habe hier mehrere gemessen, am Labornetzteil, also immer die selbe 
Versorgungsspannung. Weichen alle ab. Nicht viel, tun sie aber.

Manfred P. schrieb:
> Ein Bit wackelt der A/D immer, damit
> kann ich mich auf ganze Ampere verlassen, die erste Nachkommastelle
> taugt schon nichts mehr.
Auch meine Erfahrung nach den Versuchen. Aber die ganzen Ampere reichen 
völlig für mich.
Der Magnet bekommt zwischen 10A und 5A. (So steht es in der Diagnose). 
Denke die 10A sind da, damit der Magnet schnell anzieht, um dann im 
Haltestrom (5A) gehalten zu werden, bis die Verriegelung verriegelt hat. 
Um dann ganz abzufallen.
Zur Zeit weiß ich noch nicht, wie ich das messen werde, ob ein 
Kurzschluss vorliegt (war in meinem Fall so). Das liegt aber eher daran, 
dass ich noch nicht weiß wie es am besten funktioniert und ob ich das 
auch so umgesetzt bekomme. Aber bleiben wir bei den genannten Werten, 
dann spielt nicht einmal 1A eine Rolle.
Wie ich mir das im Moment vorstelle, lasse ich den Magneten mit 10A ein 
paar Male (vielleicht 5 mal) klappern. So hat der Techniker (in dem Fall 
erstmal ich) ein akustisches Signal bekommt und gleichzeitig kann sich 
vielleicht ein Fremdkörper lösen und aus dem Bremssystem ins Öl fallen 
oder ein klemmender Schieber lösen. Dann wird die Frage kommen, ob der 
Magnet zu hören war.
Wird das mit "Ja" beantwortet, zieht der Magnet an, geht ungefähr auf 
6-7A runter (extra mehr, hat einen bestimmten Grund, den ich aber nicht 
nennen kann) und der zweite Magnet verriegelt, über den Schieber, den 
eigentlichen Bremsmagneten. Dann wird der Bremsmagnet zuerst stromlos 
geschaltet und danach der Verriegelungsmagnet. Jetzt muss die Bremse 
frei sein, was der Techniker mit einer weiteren Abfrage bestätigen muss.
So in etwa habe ich mir das vorgestellt.

Genaugenommen ist das eher ein "Bremslösemagnet".

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:

> Das sollte ein bisschen lustig sein, weil du bei ein paar Euro schon
> immer in Panik gerätst. Bekommst du so wenig "Taschengeld"?
> Ich muss mal mit deiner Frau reden.

Hab ich schon - gibt nicht mehr ;-)
Ist ja auch klar - sonst könnte sie weniger Handtaschen kaufen ...
(just kidding - ich bediene hier nur ein paar Stereotype :-)

> Ich mache dir einen Vorschlag: Wenn das funktioniert, lade ich dich ein,
> das am Stapler mit mir zu testen.
> Was du sicher nicht hast, einen Batteriestecker für die 80V-Batterie.

Hi,hi - jetzt habe ich es mit den Witzchen wohl etwas übertrieben, als 
ich geschrieben habe, dass ich Dein Diagnosegerät ebenfalls aufbaue.

Sollte es tatsächlich so weit kommen (was ich nicht annehme, weil hier 
in letzter Zeit bei mir so einiges liegengeblieben ist, um das ich mich 
jetzt mal so langsam kümmern muss), so sage ich natürlich Bescheid.

> Andreas S. schrieb:
>> Und nachdem Du mir ja schon Deine Transistoren geschickt hast (sind
>> leider noch unterwegs), wollte ich Dich höflich fragen, ob es Dir sehr
>> viele Umstände bereiten würde, mir auch noch einen kleinen Gabelstapler
>> zukommen zu lassen?

Damit meinte ich eher so ein kleines "7 Tonnen Staplerchen" (sprich: 
sollte ein Witzchen sein.

> Muss mal schauen, ob ich noch einen habe. Das ist echt Mangelware bei
> uns.
> Hatte immer noch Werbegeschenke aufgehoben, von Anfang an. Richtige
> Antiquitäten dabei. Habe das meiste davon leider schon verschenkt, weil
> ich dachte, dass ich nicht mehr wieder kommen werde (2022).
> Aber irgendwas habe ich sicher noch für dich.

Nein, nein - mach Dir bitte keine Mühen - das kann ich nicht annehmen.

> Dass die Transistoren noch nicht angekommen sind, wundert mich ein
> wenig.

Kamen 2h später an, nachdem ich das geschrieben hatte.
Und gleich so viele! Damit kann ich die Schaltung ja 5x aufbauen.
Danke dafür!

> Andreas S. schrieb:
>> Ich hatte seinerzeit einmal das Buch von Günter Schmitt gelesen
> Das war, glaube ich, das erste Buch, welches ich mir kaufte.
> Wäre es das einzige Buch gewesen, hätten wir uns nie kennengelernt.
> Arduino war für mich der richtige Einstieg. Das Buch von Massimo Banzo
> ist absoluter Mist.

Wenn Du den Schmitt gelesen hast, so mache ich mir keine Sorgen mehr - 
dann wirst Du den MC in jedem Fall programmiert bekommen - sogar auch 
ohne Arduino-Libs wenn's Not tut.

> Andreas S. schrieb:
>> 540 Seiten - da bist Du locker 1 Monat beschäftigt (weil man die Dinge
>> ja auch wirklich ausprobieren möchte/sollte) - keine Ahnung, warum ich
>> damals so viel Zeit hatte ...
> Nimm das mal 100.

Okay - ich habe vermutlich untertrieben mit dem 1 Monat - das wird bei 
mir auch länger gedauert haben - definitiv.

> Habe aber gerade nochmal reingeschaut. Jetzt ist das tatsächlich
> interessant, da ich mittlerweile das alles besser verstehe.
> Aber dein Lerntempo (denke an die STM's) habe ich einfach nicht.

Hat nix mit Lerntempo zu tun - ich hatte damals einfach mehr Vorwissen.
Die Sache wäre bei mechanischen Dingen vermutlich genau umgekehrt 
ausgegangen.

> Leider kann ich auch nicht so sehr schnell lesen.

Ich leider auch nicht, habe nicht so dolle Augen - meine Frau ist z.B. 
fast doppelt so schnell im Lesen. Das ist manchmal etwas frustrierend.

> Andreas S. schrieb:
> In meiner Jugend habe ich mehrere Leben parallel gelebt.
> Möchte ich nicht näher drauf eingehen. Nur so viel, ich kenne auch die
> dunkle Seite der Macht. Und die lässt sich nicht mit unserem
> regelkonformen Leben zusammen bringen. Deshalb gab es damals Dr. Jekyll
> und Mr. Hyde.
> Ich selbst habe nichts wirklich Böses gemacht, aber genug gesehen.

Na dann erfreue ich mich an meiner sorglosen Kindheit und Jugend.
Ich habe damals sehr aufgepasst bei der Auswahl meiner Eltern :-)
Die haben mich nicht mit den bösen Jungs spielen lassen.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Hab ich schon - gibt nicht mehr ;-)
> Ist ja auch klar - sonst könnte sie weniger Handtaschen kaufen ...
> (just kidding - ich bediene hier nur ein paar Stereotype :-)

Deine Kinder sind jetzt sicher im Studium?
Oh man, dann müssen wir für dich sammeln.
Ich sehe es bei Freunden. Medizin. Kostet eine irre Kohle.

Andreas S. schrieb:
> Die haben mich nicht mit den bösen Jungs spielen lassen.

Meine haben das nicht einmal mitbekommen.
Die wussten auch nicht, dass ich jahrelang weiter zum Boxen gegangen 
bin.
Ab 15 konnte ich machen was ich wollte, da ich oft schon bis nachts 1:00 
Uhr gearbeitet hatte.

Aber zurück zum Thema:
Hatte dir Bilder von einem Buch geschickt. Da hatte ich gestern Nacht 
noch kurz drin gelesen (aber nicht mehr richtig aufnehmen können). Dort 
ist die Arbeitsweise des ADC's sehr gut beschrieben und es wird klar, 
wieso das nicht so genau ist. Ich werde mir gleich noch einmal den 
Sensor vornehmen und etwas messen. Nicht weil ich es so genau brauche, 
das war ja geklärt, sondern einfach deshalb, weil ich es wissen möchte 
und probieren will, ob da mehr rauszuholen ist.
Letztendlich soll es auch ein Selbstlernprojekt sein.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Deine Kinder sind jetzt sicher im Studium?
> Oh man, dann müssen wir für dich sammeln.

Ja bitte, unbedingt!

> Hatte dir Bilder von einem Buch geschickt. Da hatte ich gestern Nacht
> noch kurz drin gelesen (aber nicht mehr richtig aufnehmen können). Dort
> ist die Arbeitsweise des ADC's sehr gut beschrieben und es wird klar,
> wieso das nicht so genau ist.

Stimmt, Dein Buch ist wirklich super - kann mich nur den guten 
Rezensionen
im Internet anschließen.

> Ich werde mir gleich noch einmal den
> Sensor vornehmen und etwas messen. Nicht weil ich es so genau brauche,
> das war ja geklärt, sondern einfach deshalb, weil ich es wissen möchte
> und probieren will, ob da mehr rauszuholen ist.
> Letztendlich soll es auch ein Selbstlernprojekt sein.

Diesen Spirit finde ich super - Wissen macht nämlich nicht nur "ahhh", 
sondern auch Spaß.

Ich hoffe, die kommende Generation, die mit AI aufwachsen wird, wird das 
noch genauso sehen, denn ich stelle aktuell fest, dass mit ChatGPT & Co. 
der Wert des "Selberwissens" noch mehr fällt als dies bereits bei der 
ersten Welle mit "Google" der Fall war.

Ist vielleicht ein Altersphänomen, aber ich bekomme da langsam wirklich 
Angst: wenn AI in Kürze alle "einfachen" Probleme/Aufgabenstellungen 
lösen kann und wir daran nicht mehr an einfachen Fragestellungen "üben" 
können/wollen - wie wollen wir dann in Zukunft die schwierigen Aufgaben 
noch lösen?

Nachdem die Maschinen uns ja schon bereits "verfetten" lassen, weil wir 
uns körperlich kaum noch anstrengen müssen, werden sie uns jetzt auch 
noch verdummen lassen ...

Aber das sind vermutlich nur die Sorgen eines alternden weißen Mannes 
...
(meine alten Lehrer haben auch immer ähnlich geklungen)

Trotzdem: hier mal eine kleine Kostprobe, wie ChatGPT4 (also nicht die 
frei zugängliche Variante, sondern die noch etwas fortgeschrittenere, 
aktuellere Variante) Dein Problem der Frequenzmessung lösen würde:

Ich habe dazu ChatGPT4 folgendes gefragt:

----------------------
Atmega microcontroller. Model Atmega 328p. C-Programming. Write a C 
progam that measures the signal frequency of a rectangular signal and 
make a proposal, which pin the signal shall be linked to. The frequency 
of the signal variates between 6kHz to 20kHz. Amplitude is 5V. 
Measurement accuracy shall be better than 20%.
____________________

Daraufhin kam folgende Antwort:

---------------------
In this example, we will use the Input Capture functionality of the 
Timer/Counter1 of the ATmega328p to measure the frequency of the 
incoming signal. The signal can be connected to the ICP1 (Input Capture 
Pin) which is the PD4 (Digital Pin 4).
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
4
volatile uint16_t timer1_icr_old = 0;
5
volatile double freq = 0;
6
7
ISR(TIMER1_CAPT_vect) {
8
  // Calculate frequency
9
  uint16_t icr = ICR1;
10
  freq = F_CPU / (icr - timer1_icr_old);
11
  timer1_icr_old = icr;
12
}
13
14
void init(void) {
15
  // Set PD4 as input
16
  DDRD &= ~(1 << PD4);
17
18
  // Set Timer/Counter1 to normal mode
19
  TCCR1A = 0;
20
  
21
  // Set Timer/Counter1 to external clock source on falling edge
22
  TCCR1B = (1 << CS12) | (1 << CS11);
23
  
24
  // Enable input capture interrupt
25
  TIMSK1 = (1 << ICIE1);
26
27
  // Enable interrupts globally
28
  sei();
29
}
30
31
int main(void) {
32
  init();
33
34
  while(1) {
35
    if (freq >= 6000 && freq <= 20000) {
36
      // The frequency is within the range
37
    } else {
38
      // The frequency is outside the range
39
    }
40
  }
41
42
  return 0;
43
}


This program uses Timer/Counter1 in normal mode with the external clock 
source. The frequency of the incoming signal is calculated in the Input 
Capture Interrupt Service Routine (ISR). The frequency is then checked 
in the main loop whether it is within the range or not. Please note that 
the F_CPU macro should be defined with the correct system clock 
frequency.
This is a general approach and may need to be adjusted to fit specific 
requirements. The measurement accuracy depends on the system clock 
accuracy and the signal quality.
Please consult the ATmega328p datasheet for more details about the 
Timer/Counter1 and the Input Capture Unit.

---------------------

ChatGPT4 hat die Fragestellung zwar nicht 100% verstanden/umgesetzt 
(er/sie/es gibt nicht die Frequenz aus, sondern stellt nur fest, ob die 
Frequenz in einem bestimmten Bereich ist), aber das Ergebnis finde ich 
trotzdem ziemlich erstaunlich (beim ersten Nachdenken) und 
einschüchternd (beim zweiten Nachdenken).

... und beim dritten Nachdenken stelle ich gerade fest, dass er/sie/es 
die Frequenz ja gar nicht ausgeben kann - er/sie/es hat ja keine Console 
und hat daher die Aufgabenstellung somit vermutlich intelligenter 
aufgefasst und gelöst, als der Fragesteller es jemals erwartet hätte ...

Viele Grüße

Igel1


PS: Fairerweise muss ich sagen, dass ich die Qualität des ChatGPT4-Codes 
nicht ganz einschätzen kann, weil ich schon viele Jahre keinen Atmega 
mehr programmiert habe und aktuell auch keine AVR-Entwicklungsumgebung 
zur Verfügung habe, um den Code einmal zu testen - auf den ersten Blick 
sieht mir der Code aber nicht schlecht aus.


PPS:  ach ja - ChatGPT3 habe ich im Nachgang auch nochmals gefragt - mit 
der selben Fragestellung. Hier seine/ihre Antwort:

-------------------
To measure the frequency of a rectangular signal using an Atmega328P 
microcontroller in C programming, you can utilize one of the hardware 
timers available on the chip. The frequency measurement can be done by 
counting the number of rising or falling edges of the signal within a 
specific time period.

Since the frequency range is between 6kHz to 20kHz, it is ideal to use 
one of the external interrupt pins (INT0 or INT1) of the Atmega328P to 
detect the edges of the rectangular signal. These pins are mapped to 
digital pins 2 (INT0) and 3 (INT1) respectively on the microcontroller. 
By attaching the rectangular signal to one of these pins, we can detect 
the edges of the signal using hardware interrupts.

Here's a proposal for the pin connection and a sample C program to 
measure the frequency:
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
4
#define SIGNAL_PIN 2 // Connect the signal to digital pin 2 (INT0)
5
#define TIMER_PRESCALER 256 // Timer prescaler set to 256
6
#define TIMER_OVERFLOW_VALUE ((F_CPU / TIMER_PRESCALER) / 1000) // Timer overflow value for 1ms interval
7
8
volatile uint16_t pulse_count = 0;
9
volatile uint8_t timer_overflow_count = 0;
10
11
void setup() {
12
    pinMode(SIGNAL_PIN, INPUT);
13
    attachInterrupt(digitalPinToInterrupt(SIGNAL_PIN), signalInterrupt, RISING);
14
    
15
    // Setup Timer1 for 1ms interrupt
16
    TCCR1B |= (1 << CS12); // Set Timer1 prescaler to 256
17
    TIMSK1 |= (1 << TOIE1); // Enable Timer1 overflow interrupt
18
    sei(); // Enable global interrupts
19
}
20
21
void loop() {
22
    // Main program loop
23
}
24
25
void signalInterrupt() {
26
    pulse_count++;
27
}
28
29
ISR(TIMER1_OVF_vect) {
30
    timer_overflow_count++;
31
    if (timer_overflow_count >= TIMER_OVERFLOW_VALUE) {
32
        detachInterrupt(digitalPinToInterrupt(SIGNAL_PIN)); // Disable interrupt
33
        float frequency = (float)pulse_count / timer_overflow_count * 1000; // Calculate frequency
34
        if (frequency >= 6000 && frequency <= 20000) { // Check if frequency is within range
35
            // Output the frequency measurement
36
            Serial.begin(9600);
37
            Serial.print("Frequency: ");
38
            Serial.print(frequency);
39
            Serial.println(" Hz");
40
        }
41
        pulse_count = 0;
42
        timer_overflow_count = 0;
43
        attachInterrupt(digitalPinToInterrupt(SIGNAL_PIN), signalInterrupt, RISING); // Re-enable interrupt
44
    }
45
}
-------------------

This code sets up an interrupt on the rising edge of the signal 
connected to pin 2 (INT0). It uses Timer1 to count the duration of 1ms 
and calculate the frequency of the signal. The frequency measurement is 
outputted via serial communication.

Remember to connect the rectangular signal to pin 2 (INT0) on the 
Atmega328P. Also, ensure that your Atmega328P is powered appropriately 
and has a crystal oscillator or external clock source connected for 
accurate timing.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ich habe dazu ChatGPT4 folgendes gefragt:

Das sieht, ohne dass ich die ganzen Einstellungen noch im Kopf hätte, 
erstmal sehr vielversprechend aus.
Wobei ich den 3er Code noch besser finde, weil der für eine Ausgabe 
sorgt. Also deine nicht so vollständige Anweisung um den sinnvollen 
Bereich der Ausgabe erweitert.
Es wäre ein Leichtes den auf den Arduino zu schaufeln. Will mich aber 
nicht zu sehr verzetteln.
Mache ich vielleicht später einmal.

Vielleicht liest Peter noch mit?
Er könnte sicher so aus dem Kopf etwas dazu sagen.

Dazu hatte ich eine Diskussion angestoßen. Viele waren der Meinung, dass 
das nicht in absehbarer Zeit funktionieren würde. Manche waren sogar der 
Meinung, dass das nie funktionieren wird. Aber das waren sicher die, die 
damals auch gemeint haben, dass die CD niemals die Schallplatte ersetzen 
wird.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Wobei ich den 3er Code noch besser finde, weil der für eine Ausgabe
> sorgt.

Na ja - das ist aber dann auch schon alles.

- Die serielle Ausgabe in eine Interrupt-Routine zu packen, halte ich 
persönlich für  schlechtes Tennis.

- Der detachInterrupt samt anschließendem attachInterrupt umfasst zudem 
einen viel zu großen Codeblock

- Und überhaupt: die aufgerufenen Funktionen (z.B. "attachInterrupt()") 
scheinen alle vom Himmel zu fallen - in den eingebundenen AVR-libs habe 
ich die jedenfalls auf die Schnelle nicht gefunden (wen ich darin aber 
namentlich gefunden habe, das ist "Jörg Wunsch"). Ich glaube, 
der/die/das ChatGPT3 hat uns da jede Menge Arduino-Code untergejubelt.

- Dann sehe ich da dicke Fließkommaarithmetik - das halte ich weder für 
clever noch für nötig.

- Und dann finde ich schlichtweg keine main - Methode ... oder wird das 
Programm per Handkurbel angeworfen?

Daher ist mein Favorit eher die GPT4-Lösung.

Trotzdem: alle meine Anmerkungen bitte mit viel Vorbehalt prüfen, denn 
ich habe seit vielen Jahren keinen AVR/Atmega mehr programmiert.

Viele Grüße

Igel1


PS: erstaunlich finde ich allerdings, wie sehr sich die Ergebnisse von 
ChatGPT3 und ChatGPT4 unterscheiden!

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> - Die serielle Ausgabe in eine Interrupt-Routine zu packen, halte ich
> persönlich für  schlechtes Tennis.

Klar, macht aber hier nichts aus, da das einzige was hier läuft, genau 
diese ISR ist.

von Frank O. (frank_o)


Lesenswert?

So, letzter Urlaubstag und ich wollte so richtig reinhauen.
5:40 Uhr auf gewesen, dann aber so gegen halb neun sehr müde gewesen und 
erst um halb eins wach geworden. Direkt rief mich ein Kollege an, 2 
Stunden über Moppeds gequatscht. Ne Haxe geholt. Zwischendurch sind ein 
paar Sachen in der Post gewesen. Unter anderem ein paar INA219.
Gerade ausprobiert.
Hammer! 0,2mA Abweichung.
Wenn ich dieses Testgerät fertig habe, dann muss ich doch nochmal 
richtig mit C anfangen. Das ist Mist mit den fertigen Bibliotheken. Man 
weiß eigentlich gar nicht was da und warum was passiert.
Das ist im höchsten Maß unbefriedigend.
Aber ich hatte die letzten Tage mit dem ACS712 noch ein wenig probiert.
Ich komme bei dem 100mV-Type auf eine Abweichung von max. (nach 
Umrechnung) 90mA. Das finde ich für die hohen Ströme völlig in Ordnung. 
Damit kann man schon arbeiten, wie ich finde.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> - Die serielle Ausgabe in eine Interrupt-Routine zu packen, halte ich
>> persönlich für  schlechtes Tennis.
>
> Klar, macht aber hier nichts aus, da das einzige was hier läuft, genau
> diese ISR ist.

Na, dann bist Du also doch der Versuchung unterlegen und hast es 
ausprobiert ...

Ziemlich vernichtend Dein Urteil, aber gut für uns Menschen - dann haben 
wir ja doch noch etwas Daseinsberechtigung.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Unter anderem ein paar INA219. Gerade ausprobiert.
> Hammer! 0,2mA Abweichung.

Klingt vielversprechend. Mein INA219 ist auch heute angekommen (es hat 
allerdings nur für einen gereicht ...)

> Wenn ich dieses Testgerät fertig habe, dann muss ich doch nochmal
> richtig mit C anfangen. Das ist Mist mit den fertigen Bibliotheken. Man
> weiß eigentlich gar nicht was da und warum was passiert.
> Das ist im höchsten Maß unbefriedigend.

Yep.

> Aber ich hatte die letzten Tage mit dem ACS712 noch ein wenig probiert.
> Ich komme bei dem 100mV-Type auf eine Abweichung von max. (nach
> Umrechnung) 90mA. Das finde ich für die hohen Ströme völlig in Ordnung.
> Damit kann man schon arbeiten, wie ich finde.

Hört sich super an.
Würden eigentlich im Falle eines Kurzschlusses die 800A aus den 
Gabelstaplerbatterien durch Deinen ACS712 fließen?  Wenn ja, sagt Dir 
das Wort "Vaporisieren" etwas?   :-)

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Würden eigentlich im Falle eines Kurzschlusses die 800A aus den
> Gabelstaplerbatterien durch Deinen ACS712 fließen?  Wenn ja, sagt Dir
> das Wort "Vaporisieren" etwas?   :-)

Hast du schon mal das Wort "Sicherung" gehört?

Da kommt eine Sicherung davor und ich werde ein Schütz einbauen, dass 
bei 40A, noch vor der Sicherung, die Last trennt.

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> as die Versorgung angeht, ändert sich mit dieser die Steilheit, schaue
> mal das Diagramm an:
> http://shelvin.de/den-acs-712-5a-strom-sensor-am-arduino-auslesen/

Habe die Tage damit einiges ausprobiert. Man kommt unweigerlich zu 
nahezu den gleichen Erkenntnissen. Allerdings habe ich nicht so ein 
großen Kondensator probiert, auch kein Tantal genommen. Hilf aber, da 
einen Kondensator zu benutzen.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Würden eigentlich im Falle eines Kurzschlusses die 800A aus den
>> Gabelstaplerbatterien durch Deinen ACS712 fließen?  Wenn ja, sagt Dir
>> das Wort "Vaporisieren" etwas?   :-)
>
> Hast du schon mal das Wort "Sicherung" gehört?
>
> Da kommt eine Sicherung davor und ich werde ein Schütz einbauen, dass
> bei 40A, noch vor der Sicherung, die Last trennt.

Normalerweise sind Halbleiter bis zu dem Zeitpunkt wo ein Schütz auslöst 
schon Geschichte.

Hier scheint der Fall aber tatsächlich etwas anders zu liegen, denn 
immerhin sagt das Datenblatt des ACS712 
(file:///Users/A287500/Downloads/ACS712-Datasheet-1.pdf):

"The thickness of the copper conductor allows survival of the device at 
up to 5× overcurrent conditions.the device at up to 5× overcurrent 
conditions."

... das ist doch schon mal was ...

Und dann noch das hier im Abschnitt "Absolute maximum Ratings":

"Overcurrent Transient Tolerance - Ip - 1 pulse, 100 ms  - 100 A"

... und ein Auslösen in 100ms sollte wohl jedes Schütz locker schaffen.

Bleibt es im Kurzschlussfall denn bei den 100A oder können tatsächlich 
800A fließen?

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Bleibt es im Kurzschlussfall denn bei den 100A oder können tatsächlich
> 800A fließen?

Üblicherweise eine 620Ah Traktionsbatterie. Die schafft auch ein paar 
tausend Ampere. Aber die Kabel nicht. Die sind dann weg.
Das sind alles noch Sachen, die ich schon bedacht habe, aber in die ich 
mich noch einlesen muss.
Das Schütz wird erst "scharf" geschaltet, wenn der Kurzschlusstest schon 
vorüber ist. Wenn keine Kurzschluss vorliegt, kann der Strom bis max. 
40A ansteigen.
Werden die Kabel gut warm, aber sind dann noch heile, wenn das nicht zu 
lange dauert.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Bleibt es im Kurzschlussfall denn bei den 100A oder können tatsächlich
>> 800A fließen?
>
> Das Schütz wird erst "scharf" geschaltet, wenn der Kurzschlusstest schon
> vorüber ist. Wenn keine Kurzschluss vorliegt, kann der Strom bis max.
> 40A ansteigen.

Alles etwas verwirrend für mich - und was passiert beim Kurzschlusstest? 
Wird der Kurzschluss durch den ACS712 fließen oder ist der gar nicht 
daran beteiligt? Und bekommt der ACS712 stets max. 40A zu sehen?

> Werden die Kabel gut warm, aber sind dann noch heile, wenn das nicht zu
> lange dauert.

Denk ich mir ...

Viele Grüße

Igel1

von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Öhm, Frank:

Habe inzwischen das OLED 2.42'' mit SSD1309 Controller in weiß bekommen. 
Die Geschmacksrichtung scheint SPI zu sein - Umrüstung auf I2C scheint 
möglich.  Bezugsquelle war Aliexpress:
https://de.aliexpress.com/item/1005006473260235.html

Pinout kannst du dem Bild entnehmen.

Nun frage ich mich gerade:

- Sieht Dein OLED-Display genauso aus?
- Welche Arduino-Lib hast Du dafür verwendet (bitte Seite verlinken)?
- Wie hast Du die Pins mit Deinem Nano verbunden? (bitte Seite 
verlinken)

Hintergrund: ich möchte das Dingen möglichst ähnlich wie Du aufbauen und 
- ich gebe es ehrlich zu - ich möchte mir ein bisschen Recherchezeit 
sparen, denn das Teil scheint es ja wirklich in 1000 Ausführungen zu 
geben.

Viele Grüße

Andreas

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Alles etwas verwirrend für mich - und was passiert beim Kurzschlusstest?
> Wird der Kurzschluss durch den ACS712 fließen oder ist der gar nicht
> daran beteiligt? Und bekommt der ACS712 stets max. 40A zu sehen?

Zum einen weiß ich noch nicht genau, wie ich das machen werde.
Dazu muss ich dann noch einiges testen. In jedem Fall wird das zu 100% 
ausgeschlossen sein, dass die Batterie über dieses Testgerät 
kurzgeschlossen wird.
40A wird der Magnet niemals sehen. Maximal 20A und da bin ich mir auch 
noch nicht sicher. Vorgesehen sind zwischen 5 ... 10A.
Das wird noch eine lange Testserie und erst dann entscheide ich, wie das 
am Ende funktionieren wird. Bis dahin muss ich noch eine ganze Menge 
lesen, hier im Kleinen ausprobieren.

Andreas S. schrieb:
> Habe inzwischen das OLED 2.42'' mit SSD1309 Controller in weiß bekommen.

Es gibt da zig verschiedene Aufführungen, du hast wohl diese, aus dem 
Video:
https://www.youtube.com/watch?v=fPGsmCLoN_Y
1
// Simple I2C test for 128x32 oled.
2
// Use smaller faster AvrI2c class in place of Wire.
3
// Edit AVRI2C_FASTMODE in SSD1306Ascii.h to change the default I2C frequency.
4
//
5
#include "SSD1306Ascii.h"
6
#include "SSD1306AsciiAvrI2c.h"
7
8
// 0X3C+SA0 - 0x3C or 0x3D
9
#define I2C_ADDRESS 0x3C
10
11
// Define proper RST_PIN if required.
12
#define RST_PIN -1
13
const int ssd1309_RES_an = 2; // Der ResetPin am Display muss bei dem großen Display erst low sein und dann high.
14
15
SSD1306AsciiAvrI2c oled;
16
//------------------------------------------------------------------------------
17
void setup() {
18
// ResetPin vom Display erst Low, beim Einschalten des Stroms und dann muss der dauerhaft high sein.
19
pinMode(ssd1309_RES_an, OUTPUT);
20
digitalWrite(ssd1309_RES_an, LOW);
21
delay(2);
22
digitalWrite(ssd1309_RES_an, HIGH);
23
24
25
#if RST_PIN >= 0
26
27
#else // RST_PIN >= 0
28
oled.begin(&Adafruit128x32, I2C_ADDRESS);
29
#endif // RST_PIN >= 0
30
  // Call oled.setI2cClock(frequency) to change from the default frequency.
31
32
33
  oled.setFont(Adafruit5x7);
34
35
  uint32_t m = micros();
36
37
  oled.clear();
38
  
39
40
41
  // first row
42
  // oled.println("set1X test");
43
  oled.set1X();
44
  oled.println("eFSB-Test");
45
oled.println("eFSB verriegelt: Nein!");
46
  // second row
47
  // oled.set2X();
48
  //oled.println("set2X test");
49
  oled.set1X();
50
  oled.println("1X45: OK!");
51
52
  oled.println("1Y45: Kurzschluss!");
53
  /* third row
54
    oled.set1X();
55
    oled.print("micros: ");
56
    oled.print(micros() - m);
57
  */
58
}
59
//------------------------------------------------------------------------------
60
void loop() {}

Das mit dem ResetPin habe ich eingebaut. Hatte keinen Bock mich im 
Moment damit auseinander zu setzen. Deshalb bin ich mit Reset auf Pin2 
gegangen.
A4 und A5 ist der I²C-Bus, Versorgungspannung 5V vom Arduino.
Aber wieso hast du nicht das 0,96" genommen? Für den Test ist das viel 
einfacher. Da muss nichts umgelötet werden und läuft sofort.
Die Adafruit lib soll ziemlich speicherhungrig sein. Deshalb habe ich 
eine andere (basiert auf der Ardafruit) genommen. Prinzipiell scheinen 
alle zu funktionieren.

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Klingt vielversprechend. Mein INA219 ist auch heute angekommen (es hat
> allerdings nur für einen gereicht ...)

Fehler, immer drei Teile: Eines zum gleich kaputtmachen und eines ins 
Lager für eine evtl. später anfallende Reparatur.

Frank O. schrieb:
> Manfred P. schrieb:
>> as die Versorgung angeht, ändert sich mit dieser die Steilheit, schaue
>> mal das Diagramm an:
>> http://shelvin.de/den-acs-712-5a-strom-sensor-am-arduino-auslesen/
> Habe die Tage damit einiges ausprobiert. Man kommt unweigerlich zu
> nahezu den gleichen Erkenntnissen.

Du hast bereits über Deine Messungen geschrieben, damit sind die 
Möglichkeiten der ACS712 geklärt.

Andreas S. schrieb:
> Habe inzwischen das OLED 2.42'' mit SSD1309 Controller in weiß bekommen.
> Die Geschmacksrichtung scheint SPI zu sein - Umrüstung auf I2C scheint
> möglich.

Die kann man auch direkt mit I2C kaufen.

> - Welche Arduino-Lib hast Du dafür verwendet (bitte Seite verlinken)?

Ich hatte zuerst die Adafruit und später eine andere, die beglückten 
wenig, weil sie während der Laufzeit viel dynamischen Speicher belegen. 
Die ASCII-Lib von Greiman ist partiell etwas dumm, aber sparsam und hat 
mein Projekt gerettet: https://github.com/greiman/SSD1306Ascii

Zur Verwirrung: 
https://epaper.heise.de/download/archiv/11aa2494243a/ch.17.03.064-069.pdf

Wo schon mal libs: Für den ADS1115 nutze ich die vom Akku-Dänen:
https://lygte-info.dk/pic/Projects/ADS1115Library/ADS1115.zip

> - Wie hast Du die Pins mit Deinem Nano verbunden? (bitte Seite
> verlinken)

Das musst Du nicht wirklich fragen?
  A4 - SDA
  A5 - SCL

Der Nano läuft mit 5 Volt, das OLED mit 3,3 Volt. Mir ist etwas unwohl, 
das direkt zu verbinden.

Muss es überhaupt OLED sein? Ich habe mehrer Aufbauten mit LCD 1602 bzw. 
2004 plus I2C-Interface, vollkommen problemlos.

Frank O. schrieb:
1
> // Simple I2C test for 128x32 oled.
2
> // Use smaller faster AvrI2c class in place of Wire.
3
> // Edit AVRI2C_FASTMODE in SSD1306Ascii.h to change the default I2C 
4
> frequency.
5
> //
6
> #include "SSD1306Ascii.h"
7
> #include "SSD1306AsciiAvrI2c.h"

Ich fürchte, dass diese Variante nicht mit dem Zugriff auf andere I2C 
wie ADS1115 oder INA219 kompatibel ist.

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Ich hatte zuerst die Adafruit und später eine andere, die beglückten
> wenig, weil sie während der Laufzeit viel dynamischen Speicher belegen.
> Die ASCII-Lib von Greiman ist partiell etwas dumm, aber sparsam und hat
> mein Projekt gerettet: https://github.com/greiman/SSD1306Ascii

Danke dafür!

Manfred P. schrieb:
> Der Nano läuft mit 5 Volt, das OLED mit 3,3 Volt. Mir ist etwas unwohl,
> das direkt zu verbinden.

Kein Problem! Der macht sogar 6V aus den 5V. Ich weiß gerade nicht aus 
dem Kopf, ob das beim großen oder kleinen Display war.

Manfred P. schrieb:
> Muss es überhaupt OLED sein?

Muss überhaupt nichts. Das kann ich machen wie ich will. Aber die 0,96" 
Variante werde ich einbauen. Ist groß genug, hell genug und für unsere 
Arbeit sicher mit die beste Variante. Außerdem passen vier Zeilen drauf 
und ich habe eines schönen Rahmen, für den Einbau.
Grundgedanke dabei: I²C testen und OLed testen.

Da die Strommessung in Zukunft einen wesentlichen Anteil an allen 
zukünftigen Projekten haben wird, werde ich mich jetzt intensiv erstmal 
damit beschäftigen.
Es gibt auch Sensoren, mit Alarmausgang, da kann der Sensor schon dafür 
sorgen, dass bei Kurzschluss (noch vor dem eigentlichen Kurzschluss) 
entweder eine ISR ausgelöst wird oder man z.B. mit nem JFet dafür sorgt, 
dass der Strom unterbrochen wird. Aber das sind jetzt nur grobe 
Annahmen, da ich mich noch nicht wirklich mit dem Thema tiefergehend 
befasst habe.

Manfred P. schrieb:
> Ich fürchte, dass diese Variante nicht mit dem Zugriff auf andere I2C
> wie ADS1115 oder INA219 kompatibel ist.

Die Adressen sind am Display programmierbar und auf den Stromsensoren 
durch Brücken einstellbar.

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Frank O. schrieb:
>> Muss es überhaupt OLED sein?
> Muss überhaupt nichts. Das kann ich machen wie ich will. Aber die 0,96"
> Variante werde ich einbauen. Ist groß genug, hell genug

Außerhalb des Hauses finde ich die Helligkeit ungenügend.

> und ich habe eines schönen Rahmen, für den Einbau.

Wo gibt es sowas? Für mich war es problematisch, die China-Platine mit 
dem unpräzise montierten Display erträglich einzubauen.

> Grundgedanke dabei: I²C testen und OLed testen.

Meine erste reale Anwendung eines A*Nano hat ein 1602-LCD mit I2C, da 
gab es nichts zu testen, hat zügig funktioniert.

Frank O. schrieb:
>> Der Nano läuft mit 5 Volt, das OLED mit 3,3 Volt. Mir ist etwas unwohl,
>> das direkt zu verbinden.
> Kein Problem! Der macht sogar 6V aus den 5V. Ich weiß gerade nicht aus
> dem Kopf, ob das beim großen oder kleinen Display war.

Ich sehe da im Datenblatt die übliche Grenze 0,3V über der 
Betriebsspannung. Auf den 0,96-OLED ist ein 3V3-LDO. Alleine am Nano 
kein Problem, aber zusammen mit anderen I2C gegen 5 Volt wird das 
zumindest windig. Mein einziges OLED läuft in einer 3V3-Umgebung, an 5V 
würde ich einen Pegelkonverter verwenden.

Frank O. schrieb:
>> Ich fürchte, dass diese Variante nicht mit dem Zugriff auf andere I2C
>> wie ADS1115 oder INA219 kompatibel ist.
> Die Adressen sind am Display programmierbar und auf den Stromsensoren
> durch Brücken einstellbar.

Die Adressen sind unkritisch. Deine "SSD1306AsciiAvrI2c.h" steuert I2C, 
während ADS und INA auf die wire.h aufsetzen. Die werden sich nicht 
vertragen, konkurrieren um die selben zwei Ports.

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Außerhalb des Hauses finde ich die Helligkeit ungenügend.

Bei unserer Arbeit ist es immer eher etwas dunkler.

Manfred P. schrieb:
> Wo gibt es sowas? Für mich war es problematisch, die China-Platine mit
> dem unpräzise montierten Display erträglich einzubauen.

https://www.ebay.de/itm/174255758560?var=475574327359

Manfred P. schrieb:
> Die Adressen sind unkritisch. Deine "SSD1306AsciiAvrI2c.h" steuert I2C,
> während ADS und INA auf die wire.h aufsetzen. Die werden sich nicht
> vertragen, konkurrieren um die selben zwei Ports.

Ich stehe da noch ganz am Anfang. Wie ich schon weiter oben schrieb, 
werde ich auch nach diesem Projekt nochmal neu mit C anfangen. Es ist 
zwar bequem eine fertige Bibliothek zu nehmen. Aber ohne genau zu wissen 
was dort passiert und Einfluss nehmen zu können, ist das für mich im 
höchsten Maße unbefriedigend.

Hier noch die Werte zum großen Display (SSD1309):
FEATURES
• Resolution: 128 x 64 dot matrix panel
• Power supply
o VDD = 1.65V ~ 3.3V for IC logic
o VCC = 7.0V ~ 16.0V for Panel driving
• For matrix display
o OLED driving output voltage, 16V maximum
o Segment maximum source current: 320uA
o Common maximum sink current: 40mA
o 256 step contrast brightness current control

von Frank O. (frank_o)


Lesenswert?

Im Moment will ich mich noch mehr mit der Strommessung beschäftigen.
Habe heute auch einmal den Verriegelungsmagneten etwas intensiver 
getestet und gleichzeitig das Prinzip der Shunt-Messung.
Eigentlich sehe ich das sehr häufig, weil in den Ladegeräten immer ein 
Shunt zur Messung drin ist. Natürlich habe ich das noch nie selbst 
gebaut (wie so vieles nicht).
Auf jeden Fall habe ich geschaut wann der Magnet anfängt anzuziehen.
Schon bei 12/150mA. Maximal sind das knapp 600mA. Schon bei der Hälfte 
kann man den nicht mehr wegdrücken. Das ist wichtig zu wissen, weil 
sonst etwas (wenn der zur falschen Zeit drückt) kaputt gehen kann.

von Frank O. (frank_o)


Lesenswert?

Der nächste Stromsensor ist angekommen.
WCS1800. Auf dem Sensor ist ein MCP602.
Dieses Modul hat einen einstellbaren Meldeausgang (high Level).
66mV/A. Ich habe gerade mein "Ambilight" über den Sensor laufen lassen 
und mit Multimeter gemessen. ziemlich genau 66mV bei einem Ampere. 
Ebenso geht der schön gleichmäßig rauf, wie das Licht heller wird. Geht 
bis 35A. Es fließt kein Strom über die Platine. Bei 9mm Durchmesser 
passt schon ein ordentliches Kabel durch.
Muss das noch am µC testen.

von Manfred P. (pruckelfred)


Lesenswert?

Frank O. schrieb:
> Der nächste Stromsensor ist angekommen.
> WCS1800. ...
> 66mV/A.

Und wieder nichts gewonnen, weil dem 10bit-AVR die Auflösung fehlt.

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Und wieder nichts gewonnen, weil dem 10bit-AVR die Auflösung fehlt.

Das ist richtig, aber darum geht es im Moment nicht.

von Andreas S. (igel1)



Lesenswert?

Ich habe inzwischen das OLED 2,42'' Display mit seinem SSD1309 
Controller erhalten. Hatte einige Anlaufschwierigkeiten wegen der 
mieserablen Dokumentation.

Das Display habe ich an meinen Arduino angeschlossen und den oben viel 
diskutierte Peda-Oszillator ebenfalls.

Dann noch ein wenig Software und schwupps schon läuft's:
Das Ergebnis könnt ihr als Bild und Filmchen im Anhang sehen oder in 
viel besserer Qualität hier vom Fileserver anschauen:
https://drive.google.com/drive/folders/1poPV8pGEPsTTN6LmbTttODrFlC-fng3O?usp=drive_link

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Hast das mit dem Balkendiagram genommen. Sieht gut aus.
Irgendwie sieht dein Display nicht so pixelig aus.
Bei mir wird der Sensor aber so gar nicht in Erscheinung treten.
Hier wird nur die Meldung kommen: "1X45 verriegelt!" (resp. 1X45 
entriegelt).
Übrigens bin ich jetzt zu der Überzeugung gekommen, das der ADC des 
Controllers nicht sehr zufriedenstellend ist. Liegt einfach an der 
Arbeitsweise, weniger an der Auflösung. Die Sprünge dabei sind nicht zu 
verhindern. Selbst wenn du den Wert mittelst. Ich bekomme immer noch die 
Sprünge. Das ist zwar nicht kriegsentscheidend, aber schön ist das auch 
nicht. Zwei, drei Schritte finde ich ok, aber 2,3,3,2,17, 14,18,12,3, 
solche Werte sind irgendwie blöd.
Aber vielleicht muss ich noch was an der Software machen.
Samstag habe ich vielleicht ein bisschen Zeit.

: Bearbeitet durch User
von Enrico E. (pussy_brauser)


Lesenswert?

Andreas S. schrieb:
> Das Display habe ich an meinen Arduino angeschlossen und den oben viel
> diskutierte Peda-Oszillator ebenfalls.

Krass, das Bild sieht schon sehr vielversprechend aus, wie in einem 
dramatischen Science-Fictionfilm, wenn in der Raumstation die Schiebetür 
langsam zu geht und James Bond sich beeilen muss, um noch schnell 
durchzuschlüpfen ;)

MP4 kann ich auf dem Smartphone leider nicht abspielen und für One Drive 
müsste ich mich erst anmelden. Das mache ich natürlich nicht!

Ich fahre am Wochenende mal den Hauptrechner hoch, da kann ich mir den 
MP4 "Actionfilm" ansehen.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Hast das mit dem Balkendiagram genommen. Sieht gut aus.
> Irgendwie sieht dein Display nicht so pixelig aus.
> Bei mir wird der Sensor aber so gar nicht in Erscheinung treten.

Och schade - dabei ist das doch gerade unsere Krönung der Schöpfung :-)

> Hier wird nur die Meldung kommen: "1X45 verriegelt!" (resp. 1X45
> entriegelt).

Okay.

> Übrigens bin ich jetzt zu der Überzeugung gekommen, das der ADC des
> Controllers nicht sehr zufriedenstellend ist. Liegt einfach an der
> Arbeitsweise, weniger an der Auflösung.

Der tut schon was er soll, wenn man ihn denn machen lässt ..

> Die Sprünge dabei sind nicht zu
> verhindern. Selbst wenn du den Wert mittelst.

Die letzte Stelle "toggelt" immer - das ist prinzipbedingt bzw. normal.
Mehr sollte eigentlich nicht "toggeln".

> Ich bekomme immer noch die
> Sprünge. Das ist zwar nicht kriegsentscheidend, aber schön ist das auch
> nicht. Zwei, drei Schritte finde ich ok, aber 2,3,3,2,17, 14,18,12,3,
> solche Werte sind irgendwie blöd.

Dann machst Du vermutlich genau denselben Fehler, den ich anfangs auch 
gemacht hatte: Du lässt Dir von Interrupts in die Suppe spucken.

Lies Dir nochmals genau meinen damaligen Post dazu durch, dann hast Du 
die Lösung und dann werden die Ausreißer auf wundersame Weise 
verschwinden:
Beitrag "Re: Induktiver Positionssensor - Fragen dazu"

> Aber vielleicht muss ich noch was an der Software machen.
> Samstag habe ich vielleicht ein bisschen Zeit.

Yep - Zeit ist auch bei mir stets der begrenzende Faktor.
Aber mit dem Trick aus dem o.g. Post, kannst Du das Problem schnell 
beheben.

Wenn dann die Ausreißer weg sind, so kann man das unvermeidliche Toggeln 
dann noch mit einer kleinen Hysterese abfedern/deutlich mindern.
Diese Hysterese habe ich (frei konfigurierbar) bereits in mein Programm 
eingebaut - genau wie eine Mittelung über N Messungen (aktuell ist bei 
mir N=10). Daher hüpft der Balken auch kaum noch.

Leider mindert das auch etwas die Sensitivität - und ich habe aktuell 
bei meiner Spule nur 14 Schritte zwischen Stößel draußen (16us) und 
Stößel drinnen (30us).

Daher meine Überlegung: Vielleicht kann man den Timer noch etwas höher 
auflösen lassen und damit die Pulsmessungsauflösung verbessern.
Denn aktuell hat der Timer nur 1us Auflösung - vermutlich weil ein 16:1 
Vorteiler irgendwo vorgeschaltet ist. Bei STM32 Prozessoren kann man 
solche Vorteiler konfigurieren - mal sehen, ob das mit den Atmegas und 
den Arduino-Libs auch geht.

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> mal sehen, ob das mit den Atmegas und
> den Arduino-Libs auch geht.

Kannst alles auch in C dazwischen schreiben. So wie du es in purem C 
machen würdest, kannst du die Register in Arduino auch mit Inline C oder 
Assembler ändern.
Früher hatte ich das schon in Arduino Sketche eingebaut.

Über kurz oder lang, da ist eh C angesagt. Obwohl ich schon einmal mit 
C++ angefangen hatte (auf dem PC) und das erschien mir damals alles viel 
logischer.

von Andreas S. (igel1)


Lesenswert?

Enrico E. schrieb:
> Andreas S. schrieb:
>> Das Display habe ich an meinen Arduino angeschlossen und den oben viel
>> diskutierte Peda-Oszillator ebenfalls.
>
> Krass, das Bild sieht schon sehr vielversprechend aus, wie in einem
> dramatischen Science-Fictionfilm, wenn in der Raumstation die Schiebetür
> langsam zu geht und James Bond sich beeilen muss, um noch schnell
> durchzuschlüpfen ;)

Definitiv - wenn nicht noch dramatischer :-)

> MP4 kann ich auf dem Smartphone leider nicht abspielen und für One Drive
> müsste ich mich erst anmelden. Das mache ich natürlich nicht!

Uppps - sorry - das war mir nicht bewusst.
Daher habe ich das Filmchen (gucken lohnt!) in 3 verschiedenen 
Auflösungen nochmals in meine Dropbox hochgeladen - ich hoffe, dort 
kommt man ohne Anmeldung dran:

https://www.dropbox.com/scl/fo/6g3v3mv2zimqnfrmt8hx0/AO6VsmFIx9dbvI5imT7_GrQ?rlkey=vuuyt5zt2ukk0z2z1urlhfo64&dl=0

> Ich fahre am Wochenende mal den Hauptrechner hoch, da kann ich mir den
> MP4 "Actionfilm" ansehen.

Na denn - Chips und Poppkorn nicht vergessen!

Viele Grüße

Igel1

von Manfred P. (pruckelfred)


Lesenswert?

Andreas S. schrieb:
> Das Ergebnis könnt ihr als Bild und Filmchen im Anhang sehen

Schön gemacht!

Die Spule ist irgendwas aus einem alten MW/LW-Radio?
Entspricht deren Wertebereich etwa dem von Franks Sensor?

Frank O. schrieb:
> Übrigens bin ich jetzt zu der Überzeugung gekommen, das der ADC des
> Controllers nicht sehr zufriedenstellend ist. Liegt einfach an der
> Arbeitsweise, weniger an der Auflösung.
> [..]
> Zwei, drei Schritte finde ich ok, aber 2,3,3,2,17, 14,18,12,3,
> solche Werte sind irgendwie blöd.

Dann taugt Dein Aufbau nichts. So wirr ist der ATMega328 nicht, so 2..3 
von 1023 sind realistisch.

Meistens habe ich Zeit genug: Ich hole und addiere 10 Werte mit kurzer 
Pause dazwischen, werfe den größten und kleinsten weg und teile durch 8.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Lies Dir nochmals genau meinen damaligen Post dazu durch, dann hast Du
> die Lösung und dann werden die Ausreißer auf wundersame Weise
> verschwinden:
> Beitrag "Re: Induktiver Positionssensor - Fragen dazu"

Ja ich weiß, man kann (und soll) den Controller "beruhigen", in dem man 
die IRQ's vor der Messung ausschaltet.
Hab das jetzt noch nicht gelesen.

Andreas, ich habe aber eine ganz andere Frage.
Jetzt konnte ich dein Video sehen.
Dein Display sieht viel feiner aus, als meine. Meine wirken, als würden 
dort (etwas übertrieben gesagt) einzelne Leds zu sehen sein.
Liegt das am Display oder am Font?

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Dann taugt Dein Aufbau nichts. So wirr ist der ATMega328 nicht, so 2..3
> von 1023 sind realistisch.

Ja, da taugt vieles noch nicht. Ich muss das jetzt erstmal richtig in 
den Griff bekommen.
Diese kleinen Baustellen, die man gar nicht so auf dem Schirm hat, die 
halten einen echt auf und das nervt.

von Frank O. (frank_o)


Lesenswert?

Auf dem kleinen Display sieht das auch nicht so übel aus.
https://1drv.ms/v/s!Alr_JhxJHaJihpFF-uT749sWto6Zpw?e=ceBcND

Hier kann man sich auch sein Display zurecht "malen":
https://lopaka.app/)

Wer es selbst ausprobieren will:
https://wokwi.com/projects/394990788558949377

Dort kann man auch selbst einige Sachen simulieren.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Dein Display sieht viel feiner aus, als meine. Meine wirken, als würden
> dort (etwas übertrieben gesagt) einzelne Leds zu sehen sein.
> Liegt das am Display oder am Font?

Ich würde ja sagen: am Programmierer ;-)

... aber mal im Ernst: Du verwendest evtl. eine andere Bibliothek als 
ich - da kann es schon große Unterschiede geben.

Ich verwende die hier (Respekt an Oliver Kraus für diese 
Wahnsinns-Arbeit):
https://github.com/olikraus/u8g2/wiki

Und was Deine Ausreißer bei der Pulslängenmessung angeht, so habe ich 
einen meiner Atmega-Ausgänge als PWM geschaltet. Das Signal habe ich 
dann per Jumper-Kabel auf meinen Puls-Mess-Eingangspin gelegt und hatte 
damit ein prima Referenzsignal, was ich ganz einfach "durchwobbeln" 
konnte ("Wobbeln" war in diesem Falle, den Duty-Cycle von 0 bis 100 
durchzusteppen). Dann kannst Du auch ausschließen, dass die 
Frequenzsprünge vom PeDa-Oszillator kommen (warum auch immer ...).  Ist 
nur so eine Idee.

Mit 90%-iger Wahrscheinlichkeit tippe ich als Quelle Deine 
Mess-Bocksprünge   immer noch auf die Interrupts. Solltest Du die 
kurzzeitig ausschalten (genau wie ich es getan habe), so halte im Auge, 
ob nicht andere Teile Deines Programms dadurch gestört werden (z.B. habe 
ich gelesen, dass die delay()-Funktion ebenfalls Interrupts nutzt). Also 
immer schön die Nebenwirkungen der Medizin bedenken.

Viele Grüße

Igel1

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Etwas angepasst.
Für weitere Anpassungen müsste ich mir die Doku zur u8g2 ansehen.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ich würde ja sagen: am Programmierer ;-)

Ja klar. Deshalb frage ich ja.

Andreas S. schrieb:
> Und was Deine Ausreißer bei der Pulslängenmessung angeht, so habe ich
> einen meiner Atmega-Ausgänge als PWM geschaltet.

Da bin ich noch gar nicht.
Bin immer noch beim Strom messen und dem ADC.
Ich hatte auch wenig Zeit und wenig Kopf die letzte Zeit.

Andreas S. schrieb:
> Deine
> Mess-Bocksprünge   immer noch auf die Interrupts.

Nachdem du das geschrieben hattest, viel mir auch wieder ein, dass man 
die bei der Messung ausschalten soll.
CLI direkt vor der Messung und SEI danach.

von Andreas S. (igel1)


Lesenswert?

Manfred P. schrieb:
> Andreas S. schrieb:
>> Das Ergebnis könnt ihr als Bild und Filmchen im Anhang sehen
>
> Schön gemacht!

Oh danke - das freut den brotlosen Künstler ...

> Die Spule ist irgendwas aus einem alten MW/LW-Radio?

Die Spule ist - soweit ich mich erinnern kann - aus einem sehr alten
Ultraschallreiniger, den ich irgendwann einmal in seine Einzelteile 
zerlegt hatte. Von den Bauteilen lebe ich noch heute.

> Entspricht deren Wertebereich etwa dem von Franks Sensor?

- Stößel drinnen  -> Spule hat 4,5mH
- Stößel draussen -> Spule hat 1,5mH

... Frank's Spule beginnt erst ab 5,3mH - meine ist also deutlich 
kleiner - daher sind die Frequenzen auch deutlich höher und die 
Messverhältnisse somit eigentlich ungünstiger für mich, weil die Pulse 
kürzer sind.

Ich könnte das aber durch die Reihenschaltung einer weiteren 5mH Spule 
an Franks Verhältnisse annähern (sollte ich vielleicht noch machen).

> Dann taugt Dein Aufbau nichts. So wirr ist der ATMega328 nicht, so 2..3
> von 1023 sind realistisch.

Führ Frank O. nicht in die Irre - er sollte erst einmal während der 
Pulsmessung die Interrupts abschalten. Wenn dann noch wirre Werte 
kommen, können wir die Hardware in Augenschein nehmen.

> Meistens habe ich Zeit genug: Ich hole und addiere 10 Werte mit kurzer
> Pause dazwischen, werfe den größten und kleinsten weg und teile durch 8.

Auch eine gute Idee.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Auf jeden Fall lohnt es sich, diese Bibliothek genau anzuschauen.
Sie unterstützt auch ein Menge Displays.
Hier kommen sehr viele Unkenrufe zu diesen Oleds. Ich persönlich finde 
die absolut klasse.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Führ Frank O. nicht in die Irre

Bin ich schon, schon irre. Selbst wenn ich im Moment etwas Zeit habe, 
bin ich nicht mit dem Kopf dabei. Das Zeit-/Kopfproblem bremst mich viel 
zu sehr aus.

Morgen werde ich die Interrupts ausschalten und mich erstmal mit einem 
definierten Strom (5V/1A) an die Sache ran tasten.
Erst wenn ich das richtig im Griff habe, werde ich das mit der 
Pulsmessung genau ansehen und dann die Ausgabe auf dem Display planen.
Ich wollte sowieso die Software so schreiben, dass die ganze Hardware 
komplett ausgelagert wird und in Main nur aufgerufen wird, wenn ich sie 
brauche.
Noch kein Plan wie das geht, obwohl ich das früher schon mal gemacht 
hatte.
Aber das muss ich dann erst wieder lernen.
Die Hardware als solche, die ist eigentlich dann nicht mehr schwer. Ein 
LL-Fet steuert den kleinen Magneten. Aber auch nur auf und zu, 
Strombegrenzung über Widerstand. Zwei Taster, Peters Oszillator und ein 
großer Mosfet für den dicken Magneten. Der bekommt PWM. Ohne jetzt zu 
rechen. 80% zum anziehen, vielleicht ganz kurz 100%. Dann gehe ich wohl 
auf 30% zurück.
Kurzschlussmessung mache ich wohl über die Stromanstiegszeit.
Aber das alles muss ich sowieso auch in allen Teilen testen.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Führ Frank O. nicht in die Irre
>
> Bin ich schon, schon irre. Selbst wenn ich im Moment etwas Zeit habe,
> bin ich nicht mit dem Kopf dabei. Das Zeit-/Kopfproblem bremst mich viel
> zu sehr aus.

Immer ruhig mit die Pferde - der Weg ist das Ziel - lasst ihn uns 
gemeinsam genießen. Es geht doch hier um nix, oder?

Und ich hoffe, dass ich Dir keinen Streß damit mache, wenn mir mal etwas 
gelingt (wie diese Pulsmessung), was bei Dir noch nicht ganz läuft.

Ich möchte Dich auf keinen Fall unter Druck setzen - ich sollte eh etwas 
Gas wegnehmen nehmen, denn hier bleibt auch so einiges liegen, weil 
Basteln halt doch mehr Spaß macht als Rasenmähen ...

Also: immer schön den Weg genießen und auch kleine Erfolge feiern - denn 
wenn das Teil irgendwann einmal vollumfänglich funktioniert und unser 
schönes Projekt an diesem Punkt endet, wird der Katzenjammer erst 
richtig groß sein :-)

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Ne im Gegenteil. War für heute Abend eine schöne Abwechslung.

Ich überlege schon, ob ich den Sensor nicht die ganze Zeit, über ein 
kleineres Display, am Attiny10 anzeigen lasse
Tinys habe ich noch für zwei weitere Leben. :-)

Die Pulsmessung klappte ja schon, nur habe ich die noch nicht für meine 
Zwecke angepasst. Hatte das nur einmal ganz kurz ausprobiert.

Klar, hier geht es um gar nichts, außer den Wunsch wieder einzusteigen 
und dabei was zu lernen. Das aber an einem realen Projekt.

von Manfred P. (pruckelfred)


Lesenswert?

Frank O. schrieb:
> Nachdem du das geschrieben hattest, viel mir auch wieder ein
.. dass Du fiel zu fiele Dinge treibst.


Frank O. schrieb:
> CLI direkt vor der Messung und SEI danach.

Es gibt keinen Grund, Interrupts pauschal zu sperren. Wenn einer stört, 
hast Du den selbst angelegt, irgendwas mit attachInterrupt. Dann lässt 
sich genau dieser mit detachInterrupt sperren, ohne andere Seiteneffekte 
zu riskieren.

Frank O. schrieb:
>> Führ Frank O. nicht in die Irre
> Bin ich schon, schon irre.

Dafür sorgst Du selbst. Du reisst mehrere Baustellen gleichzeitig auf, 
anstatt strukturiert Teilaufgaben zu lösen. Also nicht Strom messen, 
Induktivität messen und Display im Halbstundentakt wechseln, sondern 
eines davon geordnet zur Funktion bringen.

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Frank O. schrieb:
>>> Führ Frank O. nicht in die Irre
>> Bin ich schon, schon irre.
>
> Dafür sorgst Du selbst. Du reisst mehrere Baustellen gleichzeitig auf,
> anstatt strukturiert Teilaufgaben zu lösen.

Das mit dem Irre war eher ein Spaß.

Das andere mag hier so wirken, ist aber nicht so. Ich bin im Moment nur 
am Strom und ADC.
Klar, mit dem generellen Sperren von IRQ's schneidet man sich vielleicht 
ins eigene Fleisch.
Eigene Interrupts habe ich noch gar nicht vorgesehen.
Einen Timer werde ich für die Pulsmessung brauchen und mal sehen, je 
nachdem wie ich das mit dem Kurzschlusstest mache, werde ich da noch 
einen Timer brauchen.
Sind noch jede Menge Aufgaben zu lösen.

Manfred, damals war ich sicher schon weiter als im Moment, aber von 
"richtig können" war ich da auch noch weit entfernt.
Das einzige was mich im Moment ärgert, dass ich leider oft nicht mehr 
die Energie habe (will jetzt nicht wieder von meinem Krebs anfangen), 
abends noch richtig etwas anzufangen. Ich kann dann einfach nicht mehr 
konzentriert arbeiten. Und selbst lesen ist kaum möglich. Es geht dann 
einfach nicht in den Kopf.
Aber wenn ich dann mal eben ein anderes Display anschließe oder eben 
einen anderen Sketch drauf spiele, das sind ja nur Minuten.
Jetzt hatte ich zwei Tage auf den Waffenschrank gewartet. Wie so üblich, 
haben die es nicht einmal nötig abzusagen.
Na jedenfalls kann ich mich dann auch nicht in Ruhe hinsetzen und was 
machen, wenn ich jeden Moment mit der Klingel rechne.
Morgen werde ich mich intensiv mit dem ADC auseinander setzen und 
vielleicht kann ich abends schon einen Erfolg melden.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Manfred P. schrieb:
> Dafür sorgst Du selbst. Du reisst mehrere Baustellen gleichzeitig auf,
> anstatt strukturiert Teilaufgaben zu lösen. Also nicht Strom messen,
> Induktivität messen und Display im Halbstundentakt wechseln, sondern
> eines davon geordnet zur Funktion bringen.

So habe ich das noch gar nicht gesehen, aber hmmmm - ein bisschen ist da 
schon was dran (sorry Frank ...).

Aber jeder von uns hat sich im Leben halt so seine eigene Arbeitsweise 
angeeignet - wenn's für Frank O. passt, dann ist ja alles gut, mir 
persönlich wäre es auch etwas zu viel "Multitasking".

Ich gebe allerdings zu: das Springen macht es recht schwer, hier im 
Thread Kurs zu halten ...

So, genug der Manöverkritik (die hoffentlich niemand übel nimmt) - 
zurück ans Band ...

Viele Grüße

Igel1

von Spess53 .. (hardygroeger)


Lesenswert?

Hi

>So habe ich das noch gar nicht gesehen, aber hmmmm - ein bisschen ist da
>schon was dran (sorry Frank ...).

Auch wenn ich pruckelfred nicht unbedingt mag, hat er zu 100% Recht. Das 
Gebaren des TOs Hat nichts mit 'Entwicklung' zu tun. Eher mit 
amateurhafter Bastelei.

>Ich gebe allerdings zu: das Springen macht es recht schwer, hier im
>Thread Kurs zu halten ...

Was erwartest du von einen Thread mit über 580 Einträgen. Der TO weiß eh 
nicht was er will. Das Schicksal des TOs tut mir leid, macht ihn aber 
nicht zum Entwickler.

MfG Spess

von Enrico E. (pussy_brauser)


Lesenswert?

Das mit der Dropbox ist eine gute Idee. Jetzt konnte ich den Film mit 
dem eintauchbaren Stößel und dem Arduino auch sehen.

👍

Andreas S. schrieb:
> Ich könnte das aber durch die Reihenschaltung einer weiteren 5mH Spule
> an Franks Verhältnisse annähern (sollte ich vielleicht noch machen).

Mach das lieber nicht, dadurch wird der auswertbare Bereich auf die 
Hälfte reduziert!

von Frank O. (frank_o)


Lesenswert?

Spess53 .. schrieb:
> Der TO weiß eh
> nicht was er will. Das Schicksal des TOs tut mir leid, macht ihn aber
> nicht zum Entwickler.
>
> MfG Spess

Moin Freunde!

Ja, das stimmt! Uneingeschränkt sogar. Ich habe aber auch nie den 
Anspruch erhoben hier als "Entwickler" wahrgenommen zu werden.

Andreas S. schrieb:
> So habe ich das noch gar nicht gesehen, aber hmmmm - ein bisschen ist da
> schon was dran (sorry Frank ...).
Überhaupt nicht schlimm und wenn es berechtigt ist, ist das völlig in 
Ordnung.
Ich reagiere nur unangenehm, wenn es nur ums Anpissen geht.

Andreas S. schrieb:
> wenn's für Frank O. passt, dann ist ja alles gut, mir
> persönlich wäre es auch etwas zu viel "Multitasking".
>
> Ich gebe allerdings zu: das Springen macht es recht schwer, hier im
> Thread Kurs zu halten ...

Ja, ich weiß und viele kommen damit nicht zurecht.
Hatte ich letzte Tage noch, mit einer sehr jungen Frau, bei uns aus dem 
Innendienst. Sie wartete noch auf eine Antwort zu dem aktuellen Thema, 
während ich schon die Pause nutzen wollte, für das nächste Thema.
Bei mir gibt es fast keine Pausen.

Das sollt und müsst ihr mir ruhig sagen!
Ich lasse es jetzt sein und poste nur noch, wenn ich einen Part 
abgearbeitet habe, bzw. dazu Fragen habe.
Das war nur die letzte Antwort auf Andreas Herausforderung.

Ist das so ok für euch?

Andreas S. schrieb:
> zurück ans Band ...

Da du, Andreas, das ein wenig zum Wettstreit gemacht hast, hier meine 
Frühstücksaufgabe (hat auch nur 10 Minuten gedauert):
https://1drv.ms/v/s!Alr_JhxJHaJihpFX4hUa8C0tzRlWyQ?e=NScTAU
(Das Video ist hauptsächlich für Andreas und ich spreche ihn direkt an, 
könnt ihr euch aber trotzdem ansehen:-) ).

PS.: Das Brett ist nicht zu kurz (ich weiß ja, dass das garantiert 
jemand bemängeln wird), da sollte ursprünglich noch eine Klemmleiste 
drauf, damit man dort Schaltpläne oder Datenblätter einklemmen kann. 
Hatte ich dann aber  irgendwie nicht ungesetzt.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Och schade - dabei ist das doch gerade unsere Krönung der Schöpfung :-)

Wie du siehst, ich habe es mir zu Herzen genommen.

von Frank O. (frank_o)


Lesenswert?

Spess53 .. schrieb:
> macht ihn aber
> nicht zum Entwickler.

Da wollte ich noch etwas zu schreiben:

Ich sehe das hier alles eh nicht als "Entwicklung" an.
Solange ich hier komplett fertige Bibliotheken habe, fertige Sketche, 
die ich nur etwas anpassen muss, hat das für mich nichts mit echter 
Entwicklung zu tun.
In diesem Fall ist es nur Mittel zum Zweck. Das war auch der Urgedanke 
von Massimo Banzi, wie er selbst schreibt.

Natürlich ist immer schon irgendwas fertig. Den µC bauen wir auch nicht 
selbst. Aber so lange ich eigentlich nicht genau weiß, wie das 
funktioniert, ist es für mich keine echte Entwicklung.
Ich würde mich auch nie mit fremden Federn schmücken wollen.
Um es mit den Prinzen zu sagen: "Denn das ist alles nur geklaut!"
Klar, die ganze Welt ist so. Selbst Van Gogh, der als der Begründer der 
modernen Malerei gilt, hat zumindest seine Inspirationen durch den 
Umgang, den er hatte.
Hat Miro von Picasso abgemalt oder Picasso von ihm?
Aber das als meine eigene Idee, in kompletter Umsetzung, auszugeben und 
mich als "Entwickler" zu sehen, das würde mir im Leben nicht einfallen.
Ich bin ein, vielleicht ein bisschen ambitionierter, Service Techniker, 
der sich ein wenig (viel zu wenig) Zusatzwissen angeeignet hat. Wo ich 
stehe, das weiß ich genau.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Nochmal kurz zu den OLeds.
Das hier scheint der IC Hersteller zu sein und auf der Seite sind alle 
Typen der SSD's aufgeführt.

https://www.solomon-systech.com/product-category/oled-display/oled-display-ic/

von Spess53 .. (hardygroeger)


Lesenswert?

Hi

>Das hier scheint der IC Hersteller zu sein

Ja, steht auch laut und deutlich auf jeder Seite des Datebblatts!

MfG Spess

von Frank O. (frank_o)


Lesenswert?

Spess53 .. schrieb:
> jeder Seite

:-) Ich wollte eigentlich mehr auf die Übersicht hinweisen.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Da du, Andreas, das ein wenig zum Wettstreit gemacht hast, hier meine
> Frühstücksaufgabe (hat auch nur 10 Minuten gedauert):
> https://1drv.ms/v/s!Alr_JhxJHaJihpFX4hUa8C0tzRlWyQ?e=NScTAU
> (Das Video ist hauptsächlich für Andreas und ich spreche ihn direkt an,
> könnt ihr euch aber trotzdem ansehen:-) ).

Nettes Video - und das ist sogar mir gewidmet - ich fühle mich sehr 
geehrt!
Auch mal toll, Deinen Bastelplatz zu sehen - alles schön ordentlich und 
halbwegs organisiert - dagegen bin ich der totale Chaot.

Wie ich sehe, hast Du den ADC ja schon ganz gut im Griff - prima.
Das kann man von meiner (inzwischen modifizierten) Pulsmessung noch 
nicht behaupten - mir helfen daher gerade in einem anderen Thread die 
Forenmitglieder aufs Pferd:
Beitrag "Atmega/Arduino - Input Capture funktioniert nicht"

Habe aber heute wenig Zeit und verabschiede mich daher erst einmal für 
den Rest des Tages - macht's gut!

Viele Grüße

Igel1

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Nettes Video - und das ist sogar mir gewidmet

Habe dir gleich eins hinterher geschickt. Aber per Mail.
Ganz witziger Effekt. Ich hatte noch eine Zeile eingebaut, dafür alles 
nach oben verschoben und den Balken kleiner gemacht.
Jedenfalls sollte unter 30 Prozent "Bremse offen" und über 90% "Bremse 
verriegelt" zu sehen sein.
Das funktioniert auch wunderbar, aber die Zeile blinkt. Eigentlich ein 
gewünschter Effekt, nachdem ich das gesehen habe, aber scheint wohl mit 
dem Speicher zu tun zu haben. Denn ob ich das innerhalb oder außerhalb 
der Abfragen anzeigen lasse, der Effekt bleibt.
Das alles kann sowieso nicht so bleiben, weil ich sonst sicher nicht mit 
dem Speicher hin kommen werde.

Natürlich unter 40%.
1
if (progress < 40)

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Nettes Video - und das ist sogar mir gewidmet
>
> Habe dir gleich eins hinterher geschickt. Aber per Mail.
> Ganz witziger Effekt. Ich hatte noch eine Zeile eingebaut, dafür alles
> nach oben verschoben und den Balken kleiner gemacht.
> Jedenfalls sollte unter 30 Prozent "Bremse offen" und über 90% "Bremse
> verriegelt" zu sehen sein.
> Das funktioniert auch wunderbar, aber die Zeile blinkt.

Zum Glück habe ich meine Glaskugel heute frisch poliert und kann Dir 
daher exakt den Grund sagen, warum die letzte Zeile flackert:

Dein Code basiert auf diesem Code hier:
https://wokwi.com/projects/376501375827109889

Meine Glaskugel sagt: in den Code aus dem Link hast du in Zeile 50 ff. 
folgendes Konstrukt eingebaut:
1
50:  if (progress < 40) {
2
51:    sprintf(buffer, "Bremse gelöst!");
3
52:        u8g2.drawStr(10, 62, buffer);
4
53:        u8g2.sendBuffer();
5
54:   }

Das Blinken stammt nun daher (sagt meine Glaskugel):

1.) in Zeile 43 gibt es bereits ein "u8g2.sendBuffer();" Dort wird der
    Balken und die Progress-Prozentzeile, die Du vorab in den Buffer
    geschrieben hattest, aus dem Buffer ins Display kopiert
    (mit Balken und Prozentzeile aber ohne die "Bremse gelöst!" Zeile)

2.) In Zeile 50-52 fügst Du nun zu Deinem Buffer noch die
    "Bremse gelöst!" Zeile hinzu und schreibt in Zeile 53 meines
    Beispiels das ganze dann nochmals aufs Display
    (diesmal mit Balken, Progress-Prozentzeile und "Bremse gelöst" 
Zeile)

Also hast du einmal den gesamten Bildschirm ohne die "Bremse 
gelöst"-Zeile geschrieben (nämlich in 1.) ) und einmal den gesamten 
Bildschirm mit "Bremse gelöst"-Zeile (nämlich in 2.) ) - der Rest des 
Bildschirms ist jeweils identisch.

Und weil jeweils bei jedem 1. Bild die "Bremse gelöst"-Zeile fehlt, hast 
Du diesen Blinkeffekt bei dieser Zeile.

Du kannst dem Abhilfe verschaffen, indem Du alle "u8g2.sendBuffer();" 
aus Deiner Schleife entfernst und nur am Ende der Schleife ein 
"u8g2.sendBuffer();" setzt.

Damit stellst Du sicher, dass Du zunächst das gesamte Bild im Buffer 
aufbaust und erst wenn das Bild im Buffer komplett ist, dieses auf
das Display schreibst.  Das verhindert die Anzeige unvollständiger 
Bilder mit unterschiedlichen Inhalten, was zwangsläuftig zum Flickern 
führt.

> Eigentlich ein
> gewünschter Effekt, nachdem ich das gesehen habe, aber scheint wohl mit
> dem Speicher zu tun zu haben. Denn ob ich das innerhalb oder außerhalb
> der Abfragen anzeigen lasse, der Effekt bleibt.
> Das alles kann sowieso nicht so bleiben, weil ich sonst sicher nicht mit
> dem Speicher hin kommen werde.

Hmmm - wer braucht bei Dir denn soviel Speicher?

>
> Natürlich unter 40%.
>
1
if (progress < 40)

???

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Meine Glaskugel sagt:

Sehr richtig! Danke!
Ich dachte (hätte ich aber selbst drauf kommen können), dass da jedes 
einzeln rüber geschickt wird. War aber, wenn man sich den Code dann doch 
vom Weiten ansieht, eigentlich logisch.
Trotzdem, deine Erklärung war hervorragend. Den Effekt, den kann ich 
jetzt nachvollziehen, aber ohne deine Erklärung hätte ich das noch 
eine Weile nicht verstanden.

Wie gefällt dir das denn so?

Andreas S. schrieb:
> Hmmm - wer braucht bei Dir denn soviel Speicher?

Die Variablen.
1
Der Sketch verwendet 12674 Bytes (41%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
2
Globale Variablen verwenden 1669 Bytes (81%) des dynamischen Speichers, 379 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

: Bearbeitet durch User
von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

So, ohne Geflacker. Und nochmal etwas ausgerichtet.
Und den Code habe ich gerade auch noch ein bisschen umgestellt.
Jetzt wird auch nicht mehr als 100% angezeigt.
Das würde ich schon gerne irgendwie einbauen.
Kann ja auch dem Sensor (dir zu Ehren, Andreas) einen ganz eigenen 
Controller , mit Display, spenden. :-)

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Meine Glaskugel sagt:
>
> Sehr richtig! Danke!

Dann hatte meine Glaskugel einen Hochtag! Aber mal ohne Flax: ohne dass 
Du den Code zeigst, ist das hier wirklich reine Raterei.

> Ich dachte (hätte ich aber selbst drauf kommen können),

Ja - irgendwann kommt man meist auch selbst auf alles - nur ist man dann 
bis dahin meist 1-N Tage älter. Daher gibt's ja dieses Forum: damit wir 
uns  gegenseitig helfen und "befruchten".

Der eine wird etwas schlauer und der andere bekommt etwas Anerkennung 
dafür, dass er sich mit so viel Mühe das Wissen  irgendwann in der 
Vergangenheit einmal draufgeschaufelt hat - so haben beide etwas davon 
:-)

> dass da jedes
> einzeln rüber geschickt wird. War aber, wenn man sich den Code dann doch
> vom Weiten ansieht, eigentlich logisch.
> Trotzdem, deine Erklärung war hervorragend. Den Effekt, den kann ich
> jetzt nachvollziehen, aber ohne deine Erklärung hätte ich das noch
> eine Weile nicht verstanden.

Danke - freut mich, wenn ich helfen konnte.

> Wie gefällt dir das denn so?

Wirklich gut - definitiv!
In dem Video, welches Du mir zugeschickt hattest, zuckelte der Balken 
kaum noch - das hast Du gut hinbekommen. Und übersichtlich und 
aufgeräumt sieht das Bild ebenfalls aus.

Aktuell stellt der Balken noch die Spannung des ADC dar, stimmt's?
Oder wertest Du bereits die Oszillatorfrequenz aus?

> Andreas S. schrieb:
>> Hmmm - wer braucht bei Dir denn soviel Speicher?
>
> Die Variablen.

>
1
> Der Sketch verwendet 12674 Bytes (41%) des Programmspeicherplatzes. Das 
2
> Maximum sind 30720 Bytes.
3
> Globale Variablen verwenden 1669 Bytes (81%) des dynamischen Speichers, 
4
> 379 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
5
>

Ach so. Nur keine Sorge - das ist die Grafik-Lib, die so viel Appetit 
auf Deinen Flash und Dein RAM hat.

Wenn Du das Buffering der Lib reduzierst und statt ...
1
U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 7);

... das hier nimmst:
1
U8G2_SSD1309_128X64_NONAME0_1_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 7);

... so entspannt sich die Lage dramatisch.
Allerdings ist dann auch die Geschwindigkeit futsch.

Details dazu hier:
https://github.com/olikraus/u8g2/wiki/setup_tutorial
... Abschnitt "U8g2 full buffer, page buffer and u8x8 mode"

Bis es aber soweit ist und wirklich nichts mehr ins RAM reinpasst, würde 
ich erst einmal fröhlich weiter den Fullbuffer-Mode der u8g2-Lib weiter 
verwenden. Du wirst Dich nämlich wundern, wieviel man mit den 
verbliebenen 20% RAM selber programmieren kann (wenn man keine weiteren, 
riesigen Libs verwendet).

Und solltest Du wirklich irgendwann vorne und hinten mit dem Speicher 
nicht mehr auskommen, so gibt es da immer noch jede Menge "potenterer" 
Boards als den Nano - die haben teils >10x mehr RAM und Flash und laufen 
zudem X-mal schneller.

Also: erst einmal ganz relaxed weitermachen.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Aktuell stellt der Balken noch die Spannung des ADC dar, stimmt's?
> Oder wertest Du bereits die Oszillatorfrequenz aus?

Ne, noch nicht.
Ich bin erstmal beim ADC. Das Buch, welches ich dir gezeigt hatte, ist 
da sehr hilfreich.

Andreas S. schrieb:
> ... das hier nimmst:
> U8G2_SSD1309_128X64_NONAME0_1_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 7);

Werde ich mir merken.

Andreas S. schrieb:
> ohne dass
> Du den Code zeigst, ist das hier wirklich reine Raterei.

Den hätte ich zeigen können, war zum größten Teil nicht meiner.

Andreas S. schrieb:
> Details dazu hier:
> https://github.com/olikraus/u8g2/wiki/setup_tutorial
> ... Abschnitt "U8g2 full buffer, page buffer and u8x8 mode"

Ist toll dokumentiert, das von Kraus. Aber das ist noch nicht dran. 
Erstmal will ich das mit dem Strom hundertprozentig hin bekommen. Sprich 
die unbenötigten Teile ausschalten.
Leider konnte ich das, was ich im Sleepmode gelesen hatte, nicht so im 
Code wiederfinden.
13.5 ADC Noise Reduction Mode.
Da bin ich gerade zu Gange. Na ja, wenn ich Zeit habe.

Eigentlich muss man wieder von Null anfangen und in C. Aber dann wird 
das nie fertig. Oder jedenfalls nicht bis zur Rente.
Aber das Auto bauen wir auch nicht selbst und fahren es nur.
So sehe ich im Moment Arduino und die Libs an. Immerhin schütte ich 
nicht nur Benzin und Öl rein, ich repariere es auch (im übertragenen 
Sinne gemeint).
Ich überlege aber tatsächlich ein zweites Display, vielleicht sogar 
einen zweiten Controller zu nehmen. Allerdings habe ich hier auch noch 
einen Arduino 2560.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:

> Ich bin erstmal beim ADC. Das Buch, welches ich dir gezeigt hatte, ist
> da sehr hilfreich.

Okay, gut so - eins nach dem anderen.

> Erstmal will ich das mit dem Strom hundertprozentig hin bekommen. Sprich
> die unbenötigten Teile ausschalten.

... was auch immer die "unbenötigten Teile" sein mögen ...

> Leider konnte ich das, was ich im Sleepmode gelesen hatte, nicht so im
> Code wiederfinden.

Sleepmode???
Du meinst jetzt, dass Du im "Sleepmode" warst, nicht der Prozessor, 
oder?

> 13.5 ADC Noise Reduction Mode.
> Da bin ich gerade zu Gange. Na ja, wenn ich Zeit habe.

Ah so.

> Eigentlich muss man wieder von Null anfangen und in C.

Denke ich auch manchmal, aber so viele Leben haben wir leider nicht, um 
jedesmal bei Null anzufangen.

> Ich überlege aber tatsächlich ein zweites Display, vielleicht sogar
> einen zweiten Controller zu nehmen. Allerdings habe ich hier auch noch
> einen Arduino 2560.

Davon würde ich Dir dringend abraten, sonst verzetteln wir uns hier.
Ich würde immer nur eine Funktionalität in den Nano einbauen (z.B. nur 
Strommessen oder nur Oszillatorfrequenz messen) und erst am Ende den 
gesamten Code aller einzelnen Funktionalitäten in einem Code 
zusammenführen.

But - it's up to you.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> erst am Ende den
> gesamten Code aller einzelnen Funktionalitäten in einem Code
> zusammenführen.

Das wird sicher meine größte Baustelle.
Damit hatte ich damals gerade erst angefangen und weiß nichts mehr 
davon.

Andreas S. schrieb:
> aber so viele Leben haben wir leider nicht
Deswegen lasse ich heute auch eine "gewisse Unschärfe" zu. Aber 
eigentlich macht mich das ganz krank, wenn ich etwas mache, das auch 
funktioniert, aber ich nicht genau verstehe was wirklich passiert.
Als ich damals auf C umgestiegen bin und zum ersten Mal im Atmel Studio 
wirklich sehen konnte (beim Debugging), wie die Bits umgeschaltet 
wurden, erst da wurde es greifbar für mich.
Ich kann mich noch ganz genau dran erinnern, wie ich dies zum ersten Mal 
sah.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.