Softe Spannungspegel am Ausgang erzeugen

Hallo,

ich benötige abgesoftete Spannungspegel an einem analogen Ausgang.

x-Achse = Zeit
y-Achse = Spannungspegel (0 - 1023)

Wenn alles fertig ist, möchte ich mit einem Drehregler (vor der Ausführung) jeweils die "Softness" der Kurve variabel von "linear" (blaue Linie) bis "supersoft" (grüne Kurve) steuern können.

Hat mir jmd. einen Tipp für eine passende Library, oder eventuell passende Links, außer den Folgenden?

http://playground.arduino.cc/Main/Smoothstep
Ich weiss hierbei nicht, wo man ansetzten müsste, damit die Kurve individuell einstellbar linearer oder softer wird.

http://sol.gfxile.net/interpolation/index.html
Ich kann hier keinen reproduzierbaren Code für mich ableiten.

http://playground.arduino.cc/Main/Fscale
Erscheint mir für das zu Erreichende zu kompliziert.

Gruß Chris

kurven.gif

hi,

wie kriegst Du den analogen ausgang?

gruß stefan

PWM.

Gruß Chris

Wofür bedarf es da einer Libary?

Stell eine Funktion auf, die über diverse Variabeln justierbar bleibt.

Mathematik war schon so lange her. :smiley:

Ich such gern, weiss jedoch noch nicht mal nach was.

Gruß Chris

Chris72622:
ich benötige abgesoftete Spannungspegel an einem analogen Ausgang.
... oder eventuell passende Links, außer den Folgenden?

Hallo Chris, keine Bibliothek, aber einen analogen Ausgang "Simply use analogWrite() on the A14 pin for true analog output." (Bildquelle):

Es geht bei den Kurven um den Anstieg von 0 auf 5 Volt.

Gruß Chris

Chris72622:
Mathematik war schon so lange her. :smiley:

Ich such gern, weiss jedoch noch nicht mal nach was.

Gruß Chris

http://sol.gfxile.net/interpolation/index.html
Unter Punkt 5 wird doch eine fertige Funktion angegeben.

for (i = 0; i < N; i++)
{
  v = i / N;
  v = v * v;
  X = (A * v) + (B * (1 - v));
} 

for (i = 0; i < N; i++)
{
  v = i / N;
  v = 1 - (1 - v) * (1 - v);
  X = (A * v) + (B * (1 - v));
}

Chris72622:
Es geht bei den Kurven um den Anstieg von 0 auf 5 Volt.

Normalerweise erzeugt analogWrite() ein pulsweitenmoduliertes Signal. analogWrite(A14) beim Teensy erzeugt eine Gleichspannung. Nun kann es sein, daß ich Dich komplett mißverstehe, aber mit dieser veränderlichen Gleichspannung sollte Deine Kurve zu erzeugen sein.

Alle sechs Analogeingänge werden leider bereits verwendet. :frowning:

Gruß Chris

Was haben die AnalogEINGÄNGE nun damit zu tun?

Ich nehme an, dass Pin A14 beim "Teensy" dem Pin A0, bzw. Pin 14 am Uno entspricht.

Sollte dies nicht so sein, habe ich mich schlicht und ergreifend getäuscht. :stuck_out_tongue:

Gruß Chris

Die unter Punkt 5 angegebenen Kurven entsprechen nicht denen, nach denen ich suche.

Gruß Chris

Unter Punkt 5 sind drei Kurven. Die willst die unterste

Da steht auch dabei wie das gemacht wird:

The same idea can also be applied to smoothstep. Applying smoothstep to already smoothstepped value rounds the curve even further

Chris72622:
Ich nehme an, dass Pin A14 beim "Teensy" dem Pin A0, bzw. Pin 14 am Uno entspricht.

Sollte dies nicht so sein, habe ich mich schlicht und ergreifend getäuscht. :stuck_out_tongue:

Gruß Chris

Hast Du! A0=14 ist beim UNO i.O., beim Teensy ist ein Ausgang gemeint, den es so beim UNO nicht gibt. Darum habe ich ja versucht, Dich darauf aufmerksam zu machen.

Chris72622:
Die unter Punkt 5 angegebenen Kurven entsprechen nicht denen, nach denen ich suche.

Gruß Chris

Dann habe ich Dich wohl mißverstanden, sorry!

Dank Dir für den Hinweis mit dem Teensy. :slight_smile:

Das mit dem Punkt 5 war eigentlich für sschultewolter.

Werde das nächste Mal zitieren.

Sorry, für meine Schlamperei. :wink:

Gruß Chris

Chris72622:
Dank Dir für den Hinweis mit dem Teensy. :slight_smile:
Das mit dem Punkt 5 war eigentlich für sschultewolter.

Ich dachte schon, ich bin stoned :relaxed: Du meinst also nicht meinen Beitrag #5 sondern Punkt 5 beim Tutorial solhsa.com - tutorials :slight_smile:

Chris72622:
ich benötige abgesoftete Spannungspegel an einem analogen Ausgang.

Das kann m. E. der Teensy mittels DAC an A14 zusammen mit einer mathematischen Funktion liefern. Der UNO kann nur PWM oder benötigt externe Beschaltung.

die Funktionsgleichung für deine Kurve müßte eigentlich
Y=X x A x sinX mit X in den Grenzen von 0 bis 2 PI
lauten

Meinst Du..

f(x) = xAsin(x)

.?

Was meinst Du mit "A"?

Gruß Chris

Hallo,

A ... wird sicherlich ein Faktor sein

Hilfe zur Selbsthilfe.
Sinusfunktionen
Parabelfunktion