• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


Gitarren Verstärker
Zitat:Original geschrieben von Rumgucker

Zitat:Original geschrieben von voltwide
Das Flag im portbit zu speichern hatte ich auch erwogen, aber aus rein formalen Erwägungen wieder verworfen.

Eben deswegen solltest Du Dich umentscheiden.

Eigenzitat: "Wenn Du zwei Variablen hast, die das gleiche bedeuten, so tu alles, um mit einer einzigen auszureichen!!!!" ;deal2

Beispiel (ohne Bezug zu Deinem Progranmm): Du hast gerade den Port gesetzt, noch nicht aber Dein extra-Flag. Wenn in dieser Zwischenzeit ein Intrerrupt eintrifft, so hat der ein inkonsistentes/mehrdeutiges System vor sich.

Solche Fehler sind unfassbar schwierig zu finden. Rolleyes Tickende Zeitbomben.

Da ist natürlich was dran, solche Redundanz ist fehlerträchtig.
...mit der Lizenz zum Löten!
 
Reply
Zitat:Original geschrieben von voltwide
Ich glaube Du hast mich nicht verstanden.
ich schalte den Lader ein wenn Vbatt < Vmin = 13,6V
Ich schalte den Lader aus wenn Vbatt > Vmax = 14,3V
Deine Annahme bei t=4s ist also falsch: Ich schalte nicht wieder ein bei Vbatt > Vmin

Ich habe Dein Programm korrekt verstanden. Und ich habe Dir ein Verfahren vorgeschlagen, wie Du Deine brutale Hysteresis mindern kannst und das Regeln etwas feiner hinbekommst. Und ich habs ausführlich erklärt. Was kann ich noch tun?

Also nochmal: Du schaltest erst um, wenn Du den Fehler erkannt hast (Ladespannung zu hoch oder zu niedrig). Mein Verfahren bearbeitet (zusätzlich) den Bereich, bei dem die Istspannung=Sollspannung ist.
 
Reply
Zitat:Original geschrieben von Rumgucker

Zitat:Original geschrieben von voltwide
Ich glaube Du hast mich nicht verstanden.
ich schalte den Lader ein wenn Vbatt < Vmin = 13,6V
Ich schalte den Lader aus wenn Vbatt > Vmax = 14,3V
Deine Annahme bei t=4s ist also falsch: Ich schalte nicht wieder ein bei Vbatt > Vmin

Ich habe Dein Programm korrekt verstanden. Und ich habe Dir ein Verfahren vorgeschlagen, wie Du Deine brutale Hysteresis mindern kannst und das Regeln etwas feiner hinbekommst. Und ich habs ausführlich erklärt. Was kann ich noch tun?

Also nochmal: Du schaltest erst um, wenn Du den Fehler erkannt hast (Ladespannung zu hoch oder zu niedrig). Mein Verfahren bearbeitet (zusätzlich) den Bereich, bei dem die Istspannung=Sollspannung ist.
...mit der Lizenz zum Löten!
 
Reply
Zitat:Original geschrieben von voltwide
Deine Annahme bei t=4s ist also falsch: Ich schalte nicht wieder ein bei Vbatt > Vmin

Du schaltest bei t=4s aus. Das ist unbestritten.

Zitat:t = 0s: Vbat < Vmin -> Lader ein
t = 2s: Vbat == Vmin -> Lader ein
t = 4s: Vbat > Vmin -> Lader aus
t = 6s: Vbat == Vmin -> Lader aus
t = 8s: Vbat < Vmin -> Lader ein

Wo liegt das Problem?
 
Reply
Ich hatte Dir in 478 eine Alternative vorgeschlagen

Mein t=4s verhält sich anders als Dein t=4s.
 
Reply
Ich verfolge nicht das Ziel einer besonders feinen EndpunktRegelung, dann könnte ich ja auch einfach das Hysteresis-Intervall verkleinern.
Es soll schon ein Trickle-Charge sein, wobei die Hysteresis im Vergleich zu handelsüblichen Lösungen sogar noch relativ niedrig angesetzt ist.
...mit der Lizenz zum Löten!
 
Reply
Zitat:Original geschrieben von Rumgucker

Bei "VBat == VMin" behälst Du aber den alten Lader-Zustand (on bzw. off). Dadurch schwankt die Batteriespannung unnötig stark hin und her. Du treibst dieses Spiel:

t = 0s: Vbat < Vmin -> Lader ein
t = 2s: Vbat == Vmin -> Lader ein
t = 4s: Vbat > Vmin -> Lader aus
t = 6s: Vbat == Vmin -> Lader aus
t = 8s: Vbat < Vmin -> Lader ein

Darum gings, das trifft definitiv nicht zu!
...mit der Lizenz zum Löten!
 
Reply
Zitat:Original geschrieben von voltwide

Zitat:Original geschrieben von Rumgucker

Bei "VBat == VMin" behälst Du aber den alten Lader-Zustand (on bzw. off). Dadurch schwankt die Batteriespannung unnötig stark hin und her. Du treibst dieses Spiel:

t = 0s: Vbat < Vmin -> Lader ein
t = 2s: Vbat == Vmin -> Lader ein
t = 4s: Vbat > Vmin -> Lader aus
t = 6s: Vbat == Vmin -> Lader aus
t = 8s: Vbat < Vmin -> Lader ein

Darum gings, das trifft definitiv nicht zu!

Genau das hast Du aber programmiert.
 
Reply
Sorry... Du hast es sogar noch derber gemacht, weil Du zwei Schaltschwellen hast.

Ändert aber nichts an meiner Aussage. Mir gehts um den Bereich dazwischen.
 
Reply
Der Bereich dazwischen arbeitet so wie man es von einer Hysteresis erwartet: Der letzte Zustand wird solange gehalten, bis der andere Schaltpunkt durchschritten wird. Und zwar nicht nur theoretisch, sondern auch praktisch!
Dieses Verhalten habe ich in stundenlangen Praxistests auch verifiziert.
Ich weiss wirklich nicht was Du da hast!
...mit der Lizenz zum Löten!
 
Reply
Du sagst:

"meine Spannung pendelt zwischen 13,6V und 14,3V Volt - und das ist auch gut so"

Und ich sage:

"das geht aber auch besser, ohne die Robustheit des 2-Sekunden Zweipunktreglers einzubüßen."

Wenn ich Dich damit absolut nicht beglücken kann, dann ist das halt so.... Rolleyes
 
Reply
Zitat:Original geschrieben von Rumgucker

Zitat:Original geschrieben von voltwide
Das Flag im portbit zu speichern hatte ich auch erwogen, aber aus rein formalen Erwägungen wieder verworfen.

Eben deswegen solltest Du Dich umentscheiden.

Eigenzitat: "Wenn Du zwei Variablen hast, die das gleiche bedeuten, so tu alles, um mit einer einzigen auszureichen!!!!" ;deal2

Beispiel (ohne Bezug zu Deinem Progranmm): Du hast gerade den Port gesetzt, noch nicht aber Dein extra-Flag. Wenn in dieser Zwischenzeit ein Intrerrupt eintrifft, so hat der ein inkonsistentes/mehrdeutiges System vor sich.

Solche Fehler sind unfassbar schwierig zu finden. Rolleyes Tickende Zeitbomben.
Ich denke dass ich das verstanden habe. Allerdings ist "CHARGEon" hier die programmsteuernde Variable, das entsprechende bit im Portausgangsregister wird nicht abgefragt, so dass ich es nicht als kopierte Variable betrachte.

In diesem Falle mag die Abspeicherung im Portregister fehlerfrei funktionieren. Allerdings handelt man sich damit eine ganz andere Gefahr ein: Wenn ein anderer Programmteil mal eben am port rüttelt, ist die Variable dahin. Solche Dinge kommen durchaus vor. Und von daher gefällt mir die bisherige Lösung besser.

...mit der Lizenz zum Löten!
 
Reply
Wenn Du den Port nur schreibst und niemals liest, so ist Dein Vorgehen korrekt.
 
Reply
Ja, das meinte ich, der port ist "scratch"-Bereich, auf dem wird einfach mal zwischendurch rumgesaut.
...mit der Lizenz zum Löten!
 
Reply
Ich seh sowas als shared Ressource.

Da saut keiner drauf rum. Sonst kriegt er eine MMU um die Ohren hinterhältig
 
Reply
Zitat:Original geschrieben von Rumgucker

Ich seh sowas als shared Ressource.

Da saut keiner drauf rum. Sonst kriegt er eine MMU um die Ohren hinterhältig

Eine recht milde Strafe, die heutigen MMUs wird man wohl kaum spüren an den OhrenTongue
...mit der Lizenz zum Löten!
 
Reply
Ich hatte ein wenig digitale Störungen wenn der Masterregler voll aufgezogen war. Dieses nervige Piepsen zwischen 5 und 10kHz.
Eingekoppelt wurde es von der Schalterabfrage (pin7) über den 10nF Abblockkondensator nach pin6. Dies ist der Komparatoreingang, der auf "Mono Master" des Pre-Amps lauscht. An dieser Stelle gelangte die Störung in den audio-Signalweg.
Abhilfe schaffte ein zwischengeschalteter Emitterfolger, danach war Ruhe.
Die eigentliche Ursache war im Hauptprogramm zu sehen, das im aktiv-Modus zyklisch u.a. die Schalterabfrage durchläuft.
Um solche Störungen auch softwareseitig zu unterbinden, wurde das Hauptprogramm dergestalt umgebaut, dass nach dem Aufwecken durch den WDT-irq (2x/1sec) das eigentliche Hauptprogramm nur noch einmal durchlaufen wird, danach kreist es in einer leeren Endlosschleife.
Auf diese Weise wird jegliche Port-Aktivität auf das absolute Minimalmaß reduziert.

Der eigentliche Sinn und Zweck des Hauptprogrammes besteht darin,
im Unterschied zum PowerDown-Modus Strom zu verbrauchen,
damit die LED leuchtet. LED-Blinken wird also durch den Wechsel zwischen NormalProgramm und PowerDown realisiert.
https://stromrichter.org/d-amp/content/i...12_02_28.c
...mit der Lizenz zum Löten!
 
Reply

[Bild: 800_paoncd.jpg]
Das Power Modul nun auch als CD!
...mit der Lizenz zum Löten!
 
Reply
lachend lachend lachend lachend lachend lachend
 
Reply
Zum neuen PowerModul Layout wäre anzumerken,
dass es nun auf 8cm Durchmesser geschrumpft ist.
So wird es kompatibel mit der Eagle light lizenz (89 Euronen)
Gewerblich nutzbar, beschränkt auf 100x80mm, zweiseitig.

Eine kreisrunde Massefläche bekommt man auch hin:
Im begrenzenden dimension-layer malt man den entsprechenden kreis-hier r=4cm.
Im bottom layer zieht man nun ein Polygon, dass diesen Kreis umschließt.
Dazu muss man temporär die eagle professionell Version ausleihen.Tongue
Das Polygon wird mit GND verbunden.
Nach dem nächsten "ratsnest" ist die kreisrunde GND-Fläche da.

...mit der Lizenz zum Löten!
 
Reply