Hallo Leute, eine Software die ich geschrieben habe läuft bei der EMV-Prüfung nicht immer optimal. Oft bleibt der Prozessor zum Beispiel hängen und es geht nichts mehr oder das Display zeigt wirres Zeug an. Daher wollte ich mich mal erkundigen ob es auch Software seitig Möglichkeiten zur Stabilisierung des Programmablaufs gibt. Ich bin offen für alles was euch einfällt. Vielen Dank. Mit freundlichen Grüßen Lukas
Lukas D. schrieb: > eine Software die ich geschrieben habe läuft bei der EMV-Prüfung nicht > immer optimal. Oft bleibt der Prozessor zum Beispiel hängen und es geht > nichts mehr oder das Display zeigt wirres Zeug an. Das liegt aber nicht an der Software sondern daran, dass das Hardware-Design nicht EMV-gerecht designed wurde.
:
Bearbeitet durch User
Es gibt keine EMV stabile Software, denn bei einem schlechten HW Design wird es unweigerlich zu unerwünschten Zuständen kommen. Man kann nur die Wahrscheinlichkeit minimieren, dass dies passiert.
Vermutlich ist es eher ein HW Problem. Es gibt aber durchaus auch softwareseitig Dinge, die man tun kann. Stichworte: einstellbare Flankensteilheit z.B. oder bei gößeren Controllern (STM32) die einstellbare Taktfrequenz mancher Ausgänge, oder keine floatenden Eingänge (z.B. interne PullUps per Software aktivieren). Watchdog aktivieren... ist aber ein weitläufiges Thema.
Wenn das Display wirres Zeug anzeigt, dann einfach prophylaktisch refreshen. So ist beim Test zwar murx aufm Display, aber ne Sekunde später ist wieder alles da...
Lukas D. schrieb: > Daher wollte ich mich > mal erkundigen ob es auch Software seitig Möglichkeiten zur > Stabilisierung des Programmablaufs gibt. Für die EMV-Festigkeit trägt die Software eine ähnlich große Verantwortung wie die Hardware. Es gibt sehr viele Möglichkeiten die Software stabiler zumachen: - keine undefinierten Werte in Variablen - eingelesene Werte mehrfach einlesen und vergleichen - Werte im EEPROM dreifach ablegen und Werte im Programmablauf damit permanent aktualisieren - am Ende ungenutzter Bereiche im ROM sinnvolle Sprungbefehle setzen - Daten zur Anzeige auf Displays, LEDs usw. ständig neu senden - Hauptprogramm als Schleife laufen lassen - Timeouts einbauen ... und so weiter und so fort.
Das wichtigste ist aber, erst mal die Hardware EMV-gerecht zu machen. Ein µC der ständig abstürzt (bei korrektem Programm) ist eindeutig ein Hardware-Problem. Das macht ja auch keinen Sinn, wenn der µC alle paar Minuten per Watchdog rebooten muss und man softwaremässig eine Menge Aufwand in Wiederaufsetzstrategien steckt, um das Programm an der Stelle weiter machen zu lassen, wo der µC abgestürzt ist.
Einen Watchdogtimer aktivieren und damit einen Reset ausführen, wenn dein Controller sowas drin hat.
Helge A. schrieb: > Einen Watchdogtimer aktivieren und damit einen Reset ausführen, wenn > dein Controller sowas drin hat. Ja, das ist die längere Schreibweise für "Murks"...
Man kann in der SW ne ganze Menge tun für die EMV, z.B.: Die SW muß alle Signale auf Plausibilität prüfen (Dauer, Pegel, Verlauf). Sie darf an keiner Stelle blockieren können. Ist auf etwas zu warten, muß entweder ein Timeout gestartet werden oder das Warten nebenläufig erfolgen. Ein Displayabsturz kann HW- oder SW-Ursachen haben. Das sollte man abklären und nicht einfach zyklisch neu initialisieren. Der Watchdog hilft in keinster Weise bei Schlamperei in der HW- oder SW-Entwicklung. Er ist während der Entwicklungs- und Testphase grundsätzlich zu deaktivieren.
:
Bearbeitet durch User
LCD sind ein Problem, denn die kann man nicht schirmen. Dort muss man periodisch alles refreshen. Ich schreibe zB immer alles neu. Der Bildschirm inhalt ist im RAM, wird dort immer neu erzeugt, und wird periodisch mit dem Timer auf das LCD gespuelt. Wenn man moechte kann man auch periodisch einen Reset des LCD durchfuehren.
Mal einen Oszillator für die CPU verwenden, statt einem Quarz. Hat bei uns geholfen.
Es gibt schon Abschirmungen für Displays, z.B.; http://www.infratron.de/index.php?lang=de&menu=3&ProductGroupID=2&ProductSubGroupID=27
Sowas ähnliches hatte ich auch mal. Bei meiner Kaffeemaschiene schalte ich die Komponenten mit überdimensionierten Schützen für den gewissen RUMMS. Nur hatte sich der Prozessor ab und zu aufgehangen wenn ein Schütz schaltete. Langes hin und her ergab, dass sich der AVR immer beim Busyflag auslesen erhängt hat. Ein Ferrit im Displayflachkabel löste das Problem auch nicht. Das Display noch weiter weg von den Schützen positionieren war auch nich möglich. Also Display ohne Busyflag und mit delays angesteuert und es wird periodisch neu initialisiert und neubeschrieben. Das Display hängte sich bei mir als auf und gab kein Busyflag mehr aus...
Eigentlich braucht man stabile Hardware und Deine gewünschte SW ist nur eine Art der Lebensversicherung falls doch mal was schief geht. Dann reicht es aber nicht das Display mit neuen Fehlern zu beliefern, sondern das System sollte ein Log führen warum der Fehler entstand, damit man später Hinweise zu deren Beseitigung hat. z.B. falscher Wert am Eingang ...
Hi, bei WELCHEM Test der EMV-Prüfung tritt der Ausfall auf? Störaussendung oder Störbeaufschlagung? Ich gehe mal davon aus das das bei Störbeaufschlagung passiert. Jetzt wär dann noch die Feldstärke und Frequenz interessant bei/(ab wann) der Fehler auftritt. lg.
bei der EMV sidn aber nicht nur Störaussendung und Störfestigkeit zu Prüfen sondern auch die Gemeinen Sachen wie z.B. Burst und Surge. Die bekommen die Hardware idR mehr zum Schwitzen. Dann hat man schlussendlich noch ESD Entladungen. Beim Display immer wieder für eine Freude gut.
Vielen Dank erstmal für eure Antworten. Sehr interessant was hier alles
so zusammenkommt (:
> bei WELCHEM Test der EMV-Prüfung tritt der Ausfall auf?
Beim Bursttest.
Das Display ist in diesem Fall eine 4 x 7 Segmentanzeige kein LCD.
Dann würde ich mir ganz Klar mal die Spannungsversorgung und die Kabelverlegung anschauen. Am Besten das Netzkabel weit weg von allem idealerweise nur vom Stecker zu einem Line Filter und dann so kurz wie möglich ins Netzteil. Wenn du einen Kabelbaum im Gerät hast, worin das Netzkabel und irgendein Signalkabel eine gewisse Zeit zusammen ist musst du dich nicht wundern. Es kann aber auch sein, daß sas NT selbst aufgibt: dann musst du entweder ein anderes nehmen oder mit geeigneten Maßnahmen deine Spannungsversorgung Puffern, damit sie kurze Ausfälle übersteht.
:
Bearbeitet durch User
@Christian B Christian B. schrieb: > Spannungsversorgung Puffern da gehts weiter mit Layout usw... Beitrag "Folgethread zu EMV-Stabilere Software? Hardwarebetrachtung!" lg.
:
Bearbeitet durch User
Lukas D. schrieb: > Vielen Dank erstmal für eure Antworten. Sehr interessant was hier alles > so zusammenkommt (: > >> bei WELCHEM Test der EMV-Prüfung tritt der Ausfall auf? > > Beim Bursttest. > Quarz durch Oszillator ersetzen !
Wir reden von einem Metallgehaeuse mit Netzfilter am Netzeingang? Und alle Signalleitungen, die das Gehaeuse verlassen sind mit Kondensatoren abgeblockt ?
Lukas D. schrieb: > Beim Bursttest. Dann nimm doch eine Antenne die den Burst empfängt, einen Interrupt/Reset auslöst und alles neu initialisiert. Deine EMV Störfestigkeit wird traumhaft sein ;-).
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.