Überlagertes 12Volt-Sinussignal modulieren

Diskutiere Überlagertes 12Volt-Sinussignal modulieren im Forum Automatisierung, Gebäudesystemtechnik & Elektronik im Bereich DIVERSES - Hallo Leute, vielen Dank für eure Aufnahme ins Forum. Seit geraumer Zeit beschäftigt mich die Frage, mit welchem Setup ich die folgende 12 Volt...
Laut #42 gelten doch jetzt:

Spannungsänderung stündlich und (stetige) Änderung mit der Prämisse, zum 7. Tag fallend und ab dem 8. Tag steigend. Das sind dann keine Winkelfunktionen mehr, sondern verknüpfte Heavyside - Funktionen.

Diese Werte kann man einmal errechnen und dann immer wieder abrufen.
Egal, ob die in einem µC oder einer excel -Tabelle hinterlegt sind.

Leprechaun
 
Vielen Dank für die nützlichen Hinweise, ich habe alle zur Kenntnis genommen.

Und wie gehen die auf 0?
Wenn dann nur mit einem Sprung (kannst du ja nicht messen).
Ja das stimmt. Ich kann nur hoffen, dass die Zellen aus den Versuchen keine hohen Ansprüchen an meine stümperhaft angenäherte Sinusfunktion haben. Wenn die Ergebnisse vielversprechend werden, werde ich mit mehr finanziellen Mitteln noch Nachbesserungen am angenäherten Sinusverlauf vornehmen. Bis dahin gibt es ein möglichst niedriges Budget.

1. Warum kannst Du das in Deinen Experimenten nicht nutzen? Was ist Dir da im Weg?
Das Feld des Mondes lässt sich nicht beliebig modulieren, sondern ist seitens Neumond- und Vollmond-Intensität beschränkt. Mit dem Versuch gilt es, die Zusammenhänge zwischen statischen el. Feldern und dem Mondzyklus zu bestätigen oder zu entkräften. Dadurch erhalten wir mehr Erkenntnisse, von welcher Art die vom Mond ausgehenden Kräfte auf die Erde und Gezeiten sind.

2. In Deinem Beitrag #42 ist nunmehr die Rede, dass eine stündliche Spannungsänderung ausreichend sei,
und das es ( bezogen auf den Monatsablauf) nur darum gehe, zum Neumond fallend sein soll...
Die Anforderungen sind, dass die Amplitudenspitzen für den simulierten Vollmond am höchsten sein sollen und Richtung Neumond niedriger werden. Vom Neumond Richtung Vollmond werden die täglichen Smplitudenspitzen wieder größer.


Ich melde mich wieder, wenn ich fertig bin oder nicht weiterkomme.
LG
Basti
 
So dann klären wir erst mal ob die beiden Funktionen echte Sinusfunktionen sind. Wenn sie es sind dann addieren sich die beiden Funktionen zu einer gemeinsamen Funktion. Das die Funktion 1 die Funktion 2 moduliert halte ich für Unwahrscheinlich. Den Verlauf der beiden Funktionen habe ich mal durch den Funktionsplotter gejagt und dazu einmal die Amplitudenwerte Addiert und einmal Multipliziert Zur besseren Anschaulichkeit sind die Werte einmal um 3 Einheiten nach oben Verschoben und einmal um 3 Einheiten nach unten. In beiden Fällen komme ich aber nie auf deinen Signalverlauf!
Schwarz ist die Sinuskurve der Mondphase und blau die des Tagesverlaufes. Rot ist die Addition und Grün die Multiplikation (also das Ergebnis der Amplitudenmodulation. Du kannst ja mal erklären wie du auf den Funktionsverlauf deiner Kurve kommst. Beachte die Nulllinie der roten Funktion liegt bei 3 und die der grünen Funktion bei -3 Die Nulllinien der Ursprungs Sinuse liegt bei 0 !
de.png
 
Danke Pumukel, für dein Engagement.
Du kannst ja mal erklären wie du auf den Funktionsverlauf deiner Kurve kommst.
Mein angegebener Funktionsverlauf rührt aus Erfahrungswerten meiner bisherigen Beobachtungen. Tägliche Ruhepausen von den erhöhten Feldstärken, stellen die täglichen Nulldurchgänge dar. Dennoch sollte die tägliche maximale Feldstärke (Peak) in der selben Zeit (von Neu- bis Vollmond ca. 14 Tage) zu-, bzw. abnehmen, wie die Mond-Phasen.

Da mir zufällig ein passender Mosfet über den Weg lief, entschied ich mich, mir einmal die mit dem Mosfet am höchsten aufzulösendste Kurvenfunktion anzusehen. Die gefiel mir dann ganz gut und deswegen entscheide ich mich vorerst für diese simple Methode für 0€, da ich dafür alles schon da hatte.

Das PWM-SIgnal bringt zwischen 140 und 183 brauchbare Spannungswerte durch den Mosfet an das HV-Modul. Im besten Fall wird die Amplitude also in 43 Einzelsprünge aufgeteilt, bei niedriger Tagesamplitude in weniger Einzelsprünge.
Um das PWM-Signal zu glätten hält jetzt ein 47uF Kondensator her.
WhatsApp Image 2019-05-18 at 22.53.18.jpeg

Der Arduino-Code steht auch schon, funktioniert allerdings noch nicht, sondern bleibt nur beim ersten PWM-Wert (140) stehen. Vielleicht könnt ihr mir da noch einen Tipp geben, was noch nicht passt.

Code:
Code:
// angenäherter Mond-Zyklus nachmoduliert, (tägliche Periode mal 28 Tage-Periode)
// der Mond hat eine 29,6 Tages-Periode, die hier auf ganze Zahlen gerundet 4 * 7 = 28 Tage ergibt
// Mit der Steuerspannung wird ein MOSFET (FQPF 5N60C) im PWM-Bereich von 140 - 183 moduliert


const int STE = 11 ;                    // Ausgang 11 wird als Steuerspannung PWM zwischen 140 und 183 genutzt
double TIME = 200 ;                // Zeit pro Loop ( 1004651ms = 16,5min ) ; für Testzwecke 200ms
int DAY = 1 ;                      // Tag
int DAYN = 1;                      // Tag Neu
float FD = (-1/14) ;        // Faktor-Day, tägliche Zu- oder Abnahme des Day-Faktors
float FDN = (-1/14);         // Faktor-Day Neu
float FT = 1/43;            // Faktor-Time, zeitliche Zu- oder Abnahme des Time-Faktors
float FTN = 1/43;                // Faktor-Time Neu
float DF = 7/14 ;              // Day-Faktor, definiert den täglichen Multiplikations-Faktor der Amplitude
float DFN = 7/14 ;              // Day-Faktor Neu
float TF = 1/43 ;             // Time-Faktor, definiert den Multiplikations-Faktor abhängig vom Tagesstand
float TFN = 1/43 ;             // Time-Faktor Neu
float VOL = 140 ;               // VOL wird aus dem Minimum (140) und dem dazu addierten Zeitwert, aus (43 * DF * TF) berechnet

void setup() {
 
  pinMode(STE, OUTPUT);                // PIN zuweisung als Ausgang
 
}

void loop() {
 
VOL = (140 + (43 * DF * TF)) ;          // Steuerspannung wird berechnet

 analogWrite(STE, VOL);                    // Steuerspannung entsprechend der Periode, von Timefaktor (TF) und Dayfaktor (DF) abhängig
delay(TIME);                           

if(TF <= 0,01 && DAYN == 7 ) {              // Wenn Timefaktor 0 erreicht, hat er eine Tages-Periode durchlaufen. UND der 7. Tag durchlaufen wurde
FDN = FD * (-1);                            // Dann ändert FD das Vorzeichen, der Wechsel von Abnehmenden zu Zunehmenden Mond findet statt
}

if(TF <= 0,01 && DAYN == 21 ) {
  FDN = FD * (-1);
}

if (TF <= 0,01){                          // Wenn Timefaktor 0 erreicht, hat er eine Tages-Periode durchlaufen.
DAYN = DAY + 1 ;                      // Dann beginnt ein neuer Tag
FTN=FT*(-1);                            // Dann endet die tägliche abnehmende Mondphase und der Mond (=Amplitude) nimmt durch den positiven Faktor-Time wieder zu
DFN = DF + FDN ;                          // Dann wird zum alten Day-Faktor der neue Faktor-Day addiert und als neuer Day-Faktor gespeichert
}

else if(TF >= 1) {                   // Wenn Timefaktor 1 erreicht, ist das Tagespeak erreicht
FTN = FT * (-1);               // Dann wird das Vorzeichen des Faktor-Time umgekehrt, damit der Time-Faktor wieder schrittweise zu sinken beginnt
}

if(TF <= 0,01 && DAYN == 28 ) {
  DAY = 1;                      // Mit Tag 28 wurde etwa eine Mond-Periode durchlaufen und der Zyklus kann erneut beginnen
  DAYN = DAY;
}

TFN = TF + FT;         // Dem Time-Faktor wird am Ende jedes Loops ein Faktor-Time dazuaddiert. Faktor-Time kann negativ oder positiv sein, je nachdem, ob die Amplitude Abnehmend oder Zunehmend ist

DAY = DAYN;          // Der Tag wird mit dem neuen Tag gleichgesetzt
TF = TFN;
FT = FTN;
DF = DFN;
FD = FDN;

}

Als Ergebnis müsste das hier rauskommen:
whatzsapp.jpg
 
Zuletzt bearbeitet:
So ich bin davon ausgegangen das der Verlauf der Feldstärke der Erde und der Verlauf der Feldstärke des Mondes sinusförmig sind. Beide Sinuswerte bilden als Resultat dann eine neue Funktion. Und normal addieren sich die Feldstärken. Das ergibt dann die obere Kurve. Würden die Feldstärke der Erde die Feldstärke des Mondes modulieren würde die untere Kurve herauskommen. Deshalb ja meine Frage wie du auf deine Kurve kommst! Rein mathematisch ergibt sich Sin(x*26,6) + Sin(X) für die Addition und sin(x*29) * sin(x) für die Modulation. Sin(x) ist dabei der verlauf der Mondphase und sin(x*29) der tägliche Verlauf
Damit der Verlauf der resultierenden Kurven deutlicher wird sind die wie gesagt einfach um 3 Einheiten verschoben!
Die Angaben auf der X -Achse ist nicht mit den Tagen identisch aber wenn du genau hinschaust siehst du das eine Mondphase genau von 0 bis etwa 6,5 geht und darin sind deine 29 Tage enthalten!
 
Zuletzt bearbeitet:
Deshalb ja meine Frage wie du auf deine Kurve kommst!
ich verstehe deinen mathematischen Ansatz, allerdings musste ich etwas anders an die Sache rangehen:

Ich habe die Bedingung, dass die Feldstärke jeden Tag auf 0 gehen soll. Das ist ein reiner Erfahrungswert.
Zusätzlich ähneln die Einflüsse des Mondzyklus, denen der Feldstärke, deswegen liegen die täglichen Amplituden-Peaks auf der 29-tägigen-Mond-Periode.

Ich hoffe du bist nicht enttäuscht, dass ich dafür mit keiner Formel glänzen kann...

Gibt es schon eine Vermutung, warum der Arduino-Code nicht läuft?
 
Dein Arduino kann dir zu jeder Zeit den Y Wert des Mondsinus liefern, Dieser Wert wird als Faktor N für den Tagessinus genutzt. Dann kannst du mit der Formel N*sin(Tage*X)+ N den direkten Spannungswert ausgeben zu jedem X Siehe den Funktionsplotter. Die Formeln stehen im Funktionsplotter musst du nur noch umsetzen
Denke aber daran das x aus der Zeit für einen Mondzyklus berechnet werden muss
Siehe auch # 53 X = Zeit in Minuten : 360
 

Anhänge

  • Funktionsplotter _ Funktionsgraphen online berechnen mit dem Funktionenplotter!.pdf
    175,5 KB · Aufrufe: 7
Zuletzt bearbeitet:
Vielen vielen Dank für den Tipp!

Ich habe die Formel so umgestellt:
((-sin(x/4.7)+1)*sin(x*6.3)-sin(x/4.7)+1)/4

FAKTOR = ((-sin(DAY/4.7)+1)*sin(DAY*6.3)-sin(DAY/4.7)+1)/4 ;
(ich hoffe Arduino kann die Zeile verarbeiten)

Daraus folgt dieser Graph:
1213124.jpg
Und dieser Arduino-Code:
Code:
// Mond-Zyklus moduliert
// der Mond hat eine 29,6 Tages-Periode
// Mit der Steuerspannung wird ein MOSFET (FQPF 5N60C) im PWM-Bereich von 140 - 183 moduliert


const int STE = 11 ;                    // Ausgang 11 wird als Steuerspannung PWM zwischen 140 und 183 genutzt
double TIME = 1004651 ;                // Zeit pro Loop 1004651 ms = 16,7 min = 24h / 86  ; für Testzwecke 200ms
float VOL = 140 ;               // VOL liegt zwischen 140 bis 183 und steuert den MOSFET
float FAKTOR = 0.5;             // Entspricht dem Y zwischen 0 und 1 (siehe Graph)
float DAY = 0 ;                      // Tag

void setup() {
  pinMode(STE, OUTPUT);                // PIN zuweisung als Ausgang
}

void loop() {

FAKTOR = ((-sin(DAY/4.7)+1)*sin(DAY*6.3)-sin(DAY/4.7)+1)/4 ;

DAY = DAY + 1/86 ;                    // Der Tag steigt um 1/86, da jeder Tag in 86 Teile aufgeteilt ist
VOL = (140 + (43 * FAKTOR)) ;          // Steuerspannung wird berechnet

 analogWrite(STE, VOL);                    // Steuerspannung entsprechend der Periode
delay(TIME);                             // 1/86 * 24h

}

Ob der Code funktioniert, kann ich noch nicht sagen, da mein Arduino gerade in Benutzung ist.
Wenn euch noch etwas auffällt, einfach schreiben.

Bis dahin vielen lieben Dank für alle Posts
Liebe Grüße
 
Zuletzt bearbeitet:
Der Code funktioniert lieder nicht, es liegen nur dauerhaft 2,77 V am Ausgangspin
 
Der Code funktioniert lieder nicht, es liegen nur dauerhaft 2,77 V am Ausgangspin
.
Muss man sich wieder einmal fragen, wie der "Künstler" und mit welchem Messinstrument er am Ausgangs-Pin gemessen hat.

Hing an dem Ausgangs-Pin eine Last oder wurde im Leerlauf gemessen?
.
 
Ich messe mit einem Multimeter ohne Last.
Wenn ich den Code analog, ohne Formel in Arduino aufspiele, kommen bei der Prüfung am Ausgangspin im Multimeter genau die Spannungswerte raus, die ich eingebe.
Das bedeutet, dass irgendetwas an der Formel nicht richtig ist.
 
Thema: Überlagertes 12Volt-Sinussignal modulieren
Zurück
Oben