Forum: Mikrocontroller und Digitale Elektronik Digital Oszilloskop Frage


von booster (Gast)


Lesenswert?

Hallo,

ich habe eine eigene Haussteuerung als Nebenprojekt gebastelt und 
programmiert dessen uC sich manchmal abstürzt. Und das sehr sporadisch 
ab 12 Stunden oder so.

Und möchte herausfinden ob das an den Störungen der Spannungsspitzen 
liegt. Ich möchte zuerst das ausschließen bevor ich mich auf der 
Fehlersuche in der Programmierung machen will.

Eigentlich wollt ich mir einen digitalen Oszilloskop dazulegen und kenne 
mich aber mit damit nicht aus. Bislang hatte ich mir so eins ins Visier 
genommen:
http://www.ebay.de/itm/Digital-Oszilloskop-Rigol-DS1102E-100-MHz-2-Kanal-500-MSa-s-512-kpts-8-Bit-Digi-/400743251345?hash=item5d4e28bd91:g:cPkAAOxymmJTkGw-

Im Moment habe ich nur einen Analogen.

Ich kann aber nicht 12 Stunden vor einem DSO sitzen und beobachten ob 
kurz vor dem Absturz eine Störung war. Kann man ihn so einstellen dass 
er es automatisch nur diese Stelle aufnimmt?

Oder besitzt ein DSO überhaupt einen Ringspeicher oder wie lange geht 
die Aufzeichnung überhaupt? Es soll kurz nach dem Absturz die 
Aufzeichnung im Ringspeicher stoppen, indem DSO vom uC angesprochen wird 
bzw wenn DSO diese intelligente Funktion hat? An der Endstelle könnte 
ich dann sehen ob eine Störung sichtbar ist. Ich weiss aber nicht ob das 
zur Grundausstattung der DSOs gehört.

von Alex B. (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite


Lesenswert?

Hallo booster,

booster schrieb:
> indem DSO vom uC angesprochen wird

dieses Oszilloskop besitzt, wie es für Oszilloskope typisch ist, einen 
Trigger-Eingang (bei dem Modell der Anschluss unten rechts auf der 
Front-Seite). Du könntest einen I/O-Pin deiner zu untersuchenden Platine 
so ansteuern, dass der einmalig einen "kurzen" Puls ausgibt, wenn der 
Controller neugestartet hat. Die Aufzeichnung am Oszilloskop kannst du 
auf "Single" einstellen. Das Oszilloskop wird dann genau den Moment des 
Neustarts inkl. einer gewissen Vorlauf- und Nachlauf-Zeit aufzeichnen.

booster schrieb:
> bevor ich mich auf der
> Fehlersuche in der Programmierung machen will

Besitzt dein MCU ein Register, welches den Grund des letzten Neustarts 
beinhaltet? Z.B. "Brown-Out", o.ä.? Damit würde ich vermutlich anfangen. 
Ferner wäre die Frage, ob du z.B. die Versorgungsspannungen überwachst?

Viele Grüße,
Alex

von Olaf (Gast)


Lesenswert?

> Und das sehr sporadisch
> ab 12 Stunden oder so.

Wenn deine Schaltung nach dem einschalten immer erst einige Stunden 
laeuft und dann abstuerzt dann musst du nicht viel messen. Du weisst 
dann bereits das es an der Software liegt.

> Kann man ihn so einstellen dass er es automatisch nur
> diese Stelle aufnimmt?

Ein digitales Oszi hat genauso ein Trigger wie ein analoges. Teurere 
haben eventuell auch ein paar mehr Triggermoeglichkeiten. Kann deine 
Schaltung denn einen Trigger bereitstellen wenn sie abstuerzt?

> Oder besitzt ein DSO überhaupt einen Ringspeicher

Davon kannst du ausgehen.

> oder wie lange geht die Aufzeichnung überhaupt?

Haengt von der Abtastrate und der Groesse des Speichers ab. Sollte daher 
im Handbuch stehen. Manche DSO bieten (gegen Aufpreis) auch die 
Moeglichkeit nur dann etwas zu speichern wenn sich die Signale aendern. 
(segmented Memory)

>  indem DSO vom uC angesprochen wird
>  bzw wenn DSO diese intelligente Funktion hat?

Bessere DSOs bieten die Moeglichkeit auch auf bestimmte Bytes oder 
Bytefolgen in seriellen Uebertragungen zu Triggern. Manchmal auch nur 
optional und gegen Aufpreis. Auch da liest man besser das Handbuch vor 
dem kauf.
Ich wuerde heutzutage kein Oszi mehr kaufen das dieses Funktion nicht 
bietet weil es einfach zu hilfreich ist.

Olaf

von hp-freund (Gast)


Lesenswert?

Für 12 Euro mehr gibt es die moderne Version von dem eb*y Angebot:
http://www.batronix.com/versand/oszilloskope/Rigol-DS1054Z.html

Eine kleine Nachbearbeitung und Du bist auf aktuellem Bastler Standart.

von Thomas T. (knibbel)


Lesenswert?

booster schrieb:
> Und möchte herausfinden ob das an den Störungen der Spannungsspitzen
> liegt. Ich möchte zuerst das ausschließen bevor ich mich auf der
> Fehlersuche in der Programmierung machen will.

Um eine schlechte Spannungsversorgung auszuschließen würde ich den 
Controller mal 1-2 Tage aus einer getrennten, autarken Spannungsquelle 
versorgen, z.B. dicker Akku oder Autobatterie (ok, ist auch ein dicker 
Akku).

Wenn das Verhalten sich dann nicht ändert, ist es die Software.

Meistens zumindest: Eigene Platine? Sind Relais (oder andere geschaltete 
induktive Bauelemente) drauf? Diese könnten ebenfalls beim Schalten die 
Stromversorgung des Controllers mit Störungen versehen. Oder auch nur 
eine hochohmige Resetleitung triggern...

Obwohl ein digitales Scope generell überaus nützlich ist, glaube ich, 
dass man diesen Fall auch ohne Scope lösen kann...

Gruß,
Thomas

von hp-freund (Gast)


Lesenswert?

Thomas T. schrieb:
> dass man diesen Fall auch ohne Scope lösen kann...

stimmt auch wieder.
Es gibt auch spezielle IC zu Spannungsüberwachung z.B.:
http://www.ti.com/lit/ds/symlink/lm3704.pdf

Ein Flip Flop und eine LED nachschalten und man hat auch einen Indikator 
für den Spannungseinbruch.
Oder einfach einen Komparator mit FF...

von booster (Gast)


Lesenswert?

>
> dieses Oszilloskop besitzt, wie es für Oszilloskope typisch ist, einen
> Trigger-Eingang (bei dem Modell der Anschluss unten rechts auf der
> Front-Seite). Du könntest einen I/O-Pin deiner zu untersuchenden Platine
> so ansteuern, dass der einmalig einen "kurzen" Puls ausgibt, wenn der
> Controller neugestartet hat. Die Aufzeichnung am Oszilloskop kannst du
> auf "Single" einstellen. Das Oszilloskop wird dann genau den Moment des
> Neustarts inkl. einer gewissen Vorlauf- und Nachlauf-Zeit aufzeichnen.
>
> booster schrieb:
>> bevor ich mich auf der
>> Fehlersuche in der Programmierung machen will
>
> Besitzt dein MCU ein Register, welches den Grund des letzten Neustarts
> beinhaltet? Z.B. "Brown-Out", o.ä.? Damit würde ich vermutlich anfangen.
> Ferner wäre die Frage, ob du z.B. die Versorgungsspannungen überwachst?
>
> Viele Grüße,
> Alex

So ein Single-Funktion wäre genau das was ich suche, hat mein Analog 
Oszi Hameg 303-4 scheinbar nicht.

Brown-Out da muss ich mal nachlesen wie das anzuwenden ist.
uC ist ein AtMega2560 (Arduino)


> Eine kleine Nachbearbeitung und Du bist auf aktuellem Bastler Standart.

Nachbearbeitung = auf 100MHz hacken ?

Und er besitzt mehr Funktionen ausser zwei weitere Kanäle ? Sorry, ich 
kann auch nochmal nachlesen. Ich sehe nur gerade dass DS1052E + Hack für 
200 euro zu haben ist, also genau die Hälfte vom Preis.

> Meistens zumindest: Eigene Platine? Sind Relais (oder andere geschaltete
> induktive Bauelemente) drauf? Diese könnten ebenfalls beim Schalten die
> Stromversorgung des Controllers mit Störungen versehen. Oder auch nur
> eine hochohmige Resetleitung triggern...

Es ist ein 16Ch Relaismodul an Arduino mit Ethernet-Shield drauf 
angeschlossen. Den Fehler zu finden ist da leider schwieriger.

von Einer K. (Gast)


Lesenswert?

booster schrieb:
> Brown-Out da muss ich mal nachlesen wie das anzuwenden ist.
> uC ist ein AtMega2560 (Arduino)

Da das MCUSR vom Bootloader gelöscht wird, kannst du die Resetquelle bei 
keinem AVR Arduino auslesen.
ohne Gewähr

von Jobst M. (jobstens-de)


Lesenswert?

Olaf schrieb:
> Ein digitales Oszi hat genauso ein Trigger wie ein analoges.

booster schrieb:
> So ein Single-Funktion wäre genau das was ich suche, hat mein Analog
> Oszi Hameg 303-4 scheinbar nicht.

Bei einem analogen Scope ist das Signal vor allem direkt nach dem 
anzeigen auch schon wieder futsch ....

Und wie stellst Du den Zusammenhang zwischen Absturz und 
Unregelmäßigkeiten in der Spannungsversorgung her? Wenn irgendwas auf 
dem Scope zu sehen ist, und der Controller (vielleicht zu einem anderen 
Zeitpunkt) abgestürzt ist, kann es nicht die Software sein - richtig!? 
:-)

Wenn es an der Spannungsversorgung liegt, dann ist ein Absturz nach 2s 
genau so wahrscheinlich, wie nach 12h ...


Gruß

Jobst

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.