Gleichung lösen

Gast #274720
Lesenswert?
• ▲
▼
Guten Tag!

Ich habe eine Schaltung bzw einen Sensor entwickelt. Die Kennlinie des
Sensors ist leider nicht linear und deswegen möchte ich sie nun
linearisieren. Die Kennlinie habe ich nun aufgenommen und mit Hilfe von
Excel habe ich mir ein Polynom aproximieren lassen. Jetzt möchte ich
dieses Polynom mit einem µC lösen.
Zur Verfügung habe ich ein Entwicklungsboard von Atmel. Ich habe ein
Spannungssignal 0-5V (von meinem Sensor)welches ich A/D-Wandeln muß,
danach soll der µC diesen Wert in meine Polynomgleichung einsetzen und
anschließend den Ausgabewert wieder D/A-Wandeln und mir ein 0-5V Signal
liefern, welches dann linearisiert ist.
Da Ich so gut wie keine Ahnung von µC habe und auch nur berenzte
Kenntnisse in Sachen C programmierung währe ich für jede Hilfe Dankbar.
Desweiteren brauche ich eine Schnelle Lösung die auch was kosten darf.
Wie gesagt die eigentlich Aufgabe ist einen analogen Wert in ein
Polynom einzusetzen und wieder einen analogen Wert auszugeben.

Mit freundlichen Grüßen

André
Gast #274724
Lesenswert?
• ▲
▼
Danke für die schnellen Antworten.

Mein Problem liegt erst mal darin welchen µC sollte ich verwenden?
Brauche ich einen D/A-Wandler? Oder einen A/D-Wandler? Wenn ja welchen
Typ würdet ihr mir vorschlagen. Wie gesagt ich habe keine Ahnung von
der programmierung eines µC. Werde morgen oder übermorgen mein Board
und die ganze Software in Betrieb nehmen. Mein Polynom sieht
folgendermaßen aus: y = x + x² + x³ vor den x-en stehen noch komma
Zahlen. Meinen x-Wert bekomme ich Analog vom Sensor und möchte dann
meinen y-Wert auch wieder Analog ausgeben. Da ich wie gesagt wenig
Ahnung habe währe mir eine Antwort mit möglichst vielen Erklärungen und
Schritten was ich beachten sollte besondern lieb.

Gruß André
Gast #274725
Lesenswert?
• ▲
▼
Ehe Du über die Realisierung nachdenkst, mußt Du erstmal die benötigte
Genauigkeit ermitteln.

Also welche minimale Schrittweite brauchst Du am Ausgang und welche am
Eingang.

Erst dann kann man loslegen.

Und bitte keine Mondzahlen, sonderen reale Anforderungen.


Peter
Gast #274726
Lesenswert?
• ▲
▼
Wenn ich das richtig verstehe willst du bloss einen Wert einlesen, y
nach genannter Formel berechnen und Analog wieder ausgeben. Dazu
brauchst du einen uC mit AD-Wandler und einen DA-Wandler. Je nach dem
was du unter "schneller Lösung" verstehst (meinst du, dass das Gerät
schnell sein muss, oder willst du möglichst schnell zum Ziel kommen?)
gestalten sich die Ansprüche an den uC ein wenig unterschiedlich.
Desweiteren ist die Genauigkeit des Ausgabewertes und vor allem das,
was du mit dem Ausgabewert anfangen willst entscheidend. Wenn du z. B.
eine hohe Ausgangsleistung benötigst (wozu auch immer) brauchst du auch
noch einen Ausgangsverstärker, der dein Signal verstärkt.

Die Gleichung hast du ja zum Glück schon auf ein Polynom aufgelöst,
somit ist es überhaupt kein Problem die eigentliche Berechnung
anzustellen.

Grundsätzlich ist die Problemstellung nicht allzu komplex. Du kommst
wahrscheinlich schon mit einem ATMega8 zu deinem Ziel (der hat einen
10-Bit AD-Wandler). Mit 8MHz wirst du wohl auch schnell genug sein, das
kommt ein wenig auf die gewünschte Reaktionszeit draufan.
Gast #274727
Lesenswert?
• ▲
▼
Rechenzeitmässig am schnellsten: Tabelle (von Excel berechnen lassen).
Zu jedem A/D-Wert den gewünschten Wert speichern. Ist allerdings auch
von der Programmspeichergrösse die schlechteste Lösung.
Gast #274728
Lesenswert?
• ▲
▼
Wenn ich mal davon ausgehen kann, dass dein Sensor nicht genauer als
0,5% ist, dann reicht eine 8-bit AD-Wandlung locker aus. Die von Peter
genannte Map wuerde dann 256 Byte gross sein und das ganze koennte
locker von einem ATTiny12 abgefackelt werden.
Gast #274730
Lesenswert?
• ▲
▼
AD-Wandler mit Parallelausgang, auf die Adresseingänge eines Eprom oder
Flash, Datenausgänge auf parallelen DA-Wandler, fertig, alles ohne
Mikrocontroller. Die Glitches noch etwas bedämpfen mit einem Tiefpass.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.