Forum: Mikrocontroller und Digitale Elektronik Ausgleichsgerade für Messwerte


von Joerg M. (Firma: TU Wien) (pinning)


Lesenswert?

Hallo!

Ich stehe  vor einem mathematischen Problem.
Es muss die Kennlinie einer LED im Durchlassbereich aufgenommen werden
(Microcontrollerschaltung mit AVR), was messtechnisch ja kein Problem
ist. Ich möchte nun durch diese Messwerte eine Ausgleichsfunktion legen
(e-Funktion).Diese Werte der Ausgleichsfunktion sollen vom
Microcontroller berechnet werden.
Was ich suche ist eine verständliche Einführung in dieses Thema
(Ausgleichsfunktionen), vorzugsweise mit C-Algorithmen.
Viele Bücher und Internetquellen gehen dieses Thema
(Regression-/Ausgleichsfunktionen) sehr abstrakt und wenig praktikabel
an. Ein weiteres Problem ist, dass ich in meinem Betrieb niemand finde,
der sich mit diesem Thema auskennt.
Kann mir jemand weiterhelfen ? Verständliche Quellen, Bücher etc.!

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Eine e-Funktion auf einem Mikrocontroller ? Das ist nicht so einfach.
Die Ausgleichsgerade berehnet man soweit ich weiß nach der "Methode
der kleinsten Quadrate". Das wäre ein Suchbegriff für Google.
na da gibts doch was von Wikipedia:
http://de.wikipedia.org/wiki/Kleinste_Quadrate_Methode

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Und zur e-Funktion gibts auch was:
http://de.wikipedia.org/wiki/E-Funktion
speziell den Absatz "Numerische Berechnungsmöglichkeiten"

von Peter D. (peda)


Lesenswert?

Was für ne Kennlinie willst Du denn aufnehmen ?

- Strom / Spannung
- Temperatur / Spannung
- Strom / Lichtstärke


Und wozu soll das überhaupt gut sein ?


Steuere die LED doch einfach mit PWM an, dann hast Du eine fast lineare
Tastverhältnis / Lichtstärke Kennlinie und must überhaupt nichts
berechnen.


Peter

von Joerg M. (Firma: TU Wien) (pinning)


Lesenswert?

Die LEDs werden schon gepulst, da sie im Betrieb auch gepulst werden.
Diese LEDs werden für Lichtschranken verwendet und müssen vorher
selektiert werden. Gemessen wird unter Anderem If=f(tp) und If=f(Uf).
Wenn man misst so erhält man doch eine "Wolke" von Messwerten, die
liegen doch nie auf einem durchgehenden Kurvenzug (das ist wohl eher
eine Zickzackkurve).
Die Aufgabe der Ausgleichsrechnung ist, mit Hilfe einer stetigen
Funktion y=f(x) eine bestimmte Menge von gegebenen Datenpunkten mit
einem möglichst kleinem Fehler zu beschreiben (Korrelationkoeff. ist
ein Maximum aber immer <1).
In der Praxis vebindest du doch nicht einfach Messpunkt zu Messpunkt!
Denke an ein Kurvenlineal, das du durch die Punkte legst und dann eine
Kurve durchziehst.

von inoffizieller WM-Rahul (Gast)


Lesenswert?

War da nicht was mit Beziér und Stützstellen?

Regressionsgeraden könnte auch helfen (im de.Wikipedia.org ganz gut
beschrieben)

von Joerg M. (Firma: TU Wien) (pinning)


Lesenswert?

@Rahul:

Regression das ist es auch! Habe was gefunden! Danke!

Ich habe das alles mal gehabt, nur ist das schon eine Weile her.


Ihr habt mir sehr geholfen !

Danke an Alle!

von Joerg M. (Firma: TU Wien) (pinning)


Angehängte Dateien:

Lesenswert?

Wen es auch interessiert, siehe Anhang!

von Joerg M. (Firma: TU Wien) (pinning)


Lesenswert?

Falls Downloadschwierigkeiten bestehen, hier der Link:

http://www.krucker.ch/Skripten-Uebungen/IAMSkript/IAMKap3.pdf

von Peter D. (peda)


Lesenswert?

Was mich interessiert, wozu man die LEDs nach Spannung selektieren muß.

Sinnvoll erscheint mir nur die Selektion nach Lichtstärke als Funktion
des Stromes, aber das machen ja schon die Hersteller.


Peter

von Joerg M. (Firma: TU Wien) (pinning)


Lesenswert?

@Peter:
Wir stellen die LEDs selber her und kaufen die nicht(Miniatur Leds ->
kleiner als eine Ameise mit extrem kleinem Abstrahlwinkel)! Von daher
müssen wir die LED-Kennwerte auch bestimmen.
Die wichtigste Kennlinie ist natürlich die Intensitätskennlinie.

von Joerg M. (Firma: TU Wien) (pinning)


Lesenswert?

Wir haben die Messungen vorher extern vergeben, nun soll aber aus
Flexibelitätsgründen ( und wahrscheinlich noch anderen Gründen) die
gesammte Messung der LEDs im Haus erfolgen. Die eigentliche
Serienmessung wird in einer eigens entwickelten Messvorrichtung (incl.
Handhabung der LEDs plus IPC) durchgeführt. Ich baue momentan nur ein
transportables Handgerät mit Grafikdisplay zur manuellen Selektion. Aus
diesem Handgerät lassen sich die Daten auch per PC auslesen
(USB-Schnittstelle).

von Witwenbetreuer (Gast)


Lesenswert?

Ich glaube Excel kann dat schon von Hause aus. Du gibst dort die
Messreihe ein und lässt dir die Näherungsfunktion ausgeben. Geht als
lineare und expotentiale Funktion. Ich hab mir so mal ne
Korrekturrechnung zur Temperaturanzeige gebastelt.

von johnny.m (Gast)


Lesenswert?

@Witwenbetreuer:
Ich glaube, es dürfte leichte Problemchen geben, wenn man versucht,
Excel auf nem AVR ans laufen zu bringen...

von Witwenbetreuer (Gast)


Lesenswert?

Lach ... du rechnest dann aber mit der ausgegeben Funktion auf dem
Atmel.

von Witwenbetreuer (Gast)


Lesenswert?

Mal Microsoft den Vorschlag machen ... Excel for AVR

von Joerg M. (Firma: TU Wien) (pinning)


Lesenswert?

Wie johnny.m das schon sagte, ich brauche den Algorithmus für den AVR.
Die Kurve plus max. Werte werden dann auf einem Grafikdisplay
ausgegeben . Wahlweise können die Daten an einen PC geschickt werden.
Ich bin fündig gworden und der Algorithmus steht auch schon. Man muss
nur die Mathe die dahinter steckt verstehen und dann braucht man auch
kein Excel mehr.

von Witwenbetreuer (Gast)


Lesenswert?

Ich habe aus deiner Einführung folgendes Interpretiert: du möchtest die
Kennlinie einer LED aufnehmen und diese in eine e-Funktion darstellen
können. Dies tust du von einer "Referenzdiode", deren Kennwerte genau
in eure Lichtschrankengeschichte reinpassen Richtig ? Alle anderen LED
die an einem Punkt eine bestimmte Abweichung haben werden aussortiert.
So jetzt kam die Idee mit EXCEL ins Spiel. Um möglichst schnell
die(ideale) e-Funktion deiner "vorzeige" LED zu generieren kannst du
Excel verwenden. Nach eingabe einer Messreihe und Darstellung in einem
Diagramm ist Excel in der Lage genau diese Kennlinie in einer (idealen)
e-funktion nachzubilden und dir diese anzuzeigen. Jetzt kannst du diese
e-Funktion in ein C-Programm implementieren und auf einen AVR flashen.
Der AVR berechnet nun zu jeden Messpunkt den Idealwert. Weicht ein
Messwert von einem bestimmten Toleranzwert ab so kann er dir das
sagen.

Möchtest du dagegen die Kennlinie sehen und selbst entscheiden ist das
nicht mehr so einfach. Dann musst du dir zu jeder LED eine neue
e-Funktion (irgendwie im AVR) erstellen und aus dieser dann die
Idealkennlinie neu berechnen.

viel Spass dabei

von Joerg M. (Firma: TU Wien) (pinning)


Lesenswert?

Naja! Ganz so ist es auch nicht! Das würde jetzt auch zu weit führen !
Trotzdem Danke!

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.