Forum: Digitale Signalverarbeitung / DSP / Machine Learning Aussetzer DSP TMS320F2809


von Thomas S. (cheesie)


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

von Karl (Gast)


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

von Andre (Gast)


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

von Thomas S. (cheesie)


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

von Karl (Gast)


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!

von Andre (Gast)


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).

von Peter D. (pdiener) Benutzerseite


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

von Thomas S. (cheesie)


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

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.