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
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
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
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
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!
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).
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.