www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Aussetzer DSP TMS320F2809


Autor: Thomas Schermer (cheesie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich wollte mal fragen ob jemanden bekannt ist, das beim genannten 
Controller, beim ausgeben einer sinusfunktion über die IQMath bibliothek 
ab und zu diese Funktion aussetzer hat und irgendetwas ausgibt.
Hat da jemand erfahrung damit und kann mir unter Umständen Tipps oder 
Maßnahmen posten?
Wäre für jede Hilfe dankbar! Ist nämlich bei meinem System, in welchem 
ich durch den Sinus eine entsprechende PWM erzeuge und dann nen motor 
ansteuere ziemlich schlecht wenn der dann urplötzlich und ohne 
vorwarnung mal kurz aussetzen würde
Vielen dank schonmal!

grüße
tom

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tom,

keine Aussetzer bekannt in ähnlicher Anwendung - wäre auch schlecht für 
uns. Hast du da Probleme oder ist das eine Vorabüberlegung? Falls es 
Probleme gäbe - würde ich eher auf andere Probleme tippen, falsch 
normiert, Quantisierungseffekte, Reglerprobleme oder sowas...

Grüße Karl

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hatte bei einem Tms320f28016 das Problem, dass durch starke 
EMV-Einstreuungen der ganze Controller sich aufgefangen hat und erst 
nach einem Reset wieder lief.

mfg
Andre

Autor: Thomas Schermer (cheesie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

@Karl: Jep ich hab damit zur Zeit Probleme, das System läuft derzeit 
noch mit einem kleinem Modellsynchronmotor, wird aber in den nächsten 
Tagen auf einen großen Servolenkungsmotor umgebaut. Beim kleinen ist das 
jetzt noch nicht schlimm, aber beim großen denk ich würde mein 
Wechselrichter ziemlich darunter leiden. Hmm die Fehler die du schreibst 
sind ein guter Anhaltspunkt, aber bei mir ist direkt das Problem:

sollstrom1 = _IQ9sinPU(funktionswert);

Hierbei gebe ich zum testen meines Stromregler direkt einen Sinus vor, 
und der dürfte ja nicht urplötzlich aussetzen, oder? Also den Sinus lass 
ich mir über nen DA-Wandler ausgeben, da hängt kein Regler oder sowas 
dazwischen. Normal direkt von der Look-up-table aufs oszi.

@André: Das Problem hatte ich auch schon^^. Weiß zwar nicht 100%ig obs 
daran lag, aber hab nen Tipp bekommen die JTag Verbindung zum Rechner 
mit Alufolie einzuwickeln. Das Problem ist seitdem verschwunden.
Jedoch ist leider das mit den Sinusaussetzern geblieben -> Das tritt 
aber auch nicht oft auf, wenns hoch kommt pro Woche einmal, obwohl ich 
den ganzen Tag daran arbeite... also total unregelmäßig.
Kann mir das nicht erklären.
Vielen Danke für euere Zeit!

grüße
tom

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, das schränkt die möglichen Ursachen eher ein. Spontan würde ich auf 
ein evtl. Speicherproblem tippen, vielleicht mal die Variablen im Ram 
anders legen, static deklarieren oder global, evtl. volatile. Sicher, 
dass der Funktionswert nicht auch einen Aussetzer hat?

Prinzipiell sehe ich da eigentlich nur zwei Möglichkeiten: Entweder die 
Funktion hat einen Fehler, dann ist das eher deterministisch und immer 
der gleiche Wert (oder mehrere). Das glaube ich aber nicht, da hat TI 
doch etwas in seiner Doku gehabt meine ich. Die andere Möglichkeit ist, 
dass da sonst etwas schief geht. EMV lässt Speicher kippen (naja), oder 
eben der Klassiker, Pointerprobleme oder Stack Overflow usw. Vielleicht 
ist es auch ein Problem mit den Interrupts, dass da welche überlappen 
und daher der richtige Wert einer falschen Zeit ausgegeben wird.

Das ist natürlich schwer zu sagen, und auch schwer zu finden. Vielleicht 
hilft dir ja das eine oder andere Stichwort, den Fehler zu finden.

Viel Erfolg!

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hast du denn festgestellt, dass die Funktion einen aussetzer hat?

Wenn du dass z.B. über den Strom im Umrichter bemerkt hast, könnten auch 
Fehler bei der Leistungselektronik die Ursache sein (z.B. Überhitzung).

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde in diesem Fall einfach mal die Eingangswerte und die 
Rückgabewerte der Sinusfunktion über eine geeignete Schnittstelle an 
einen PC senden und dort mitschreiben bis der Fehler auftritt. Ich kann 
mir nicht wirklich vorstellen, dass die Bibliothek so einen Fehler hat.

Grüße,

Peter

Autor: Thomas Schermer (cheesie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
vielen dank für die zahlreichen Tipps, ich werd mich heute mal 
dransetzen.
@André: Ich hab nen DA-Wandler am Controller dranhängen der mir die 
Werte ausspuckt.
grüße

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.