mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Int-Problem verschwindet sobald mit Oszi gemessen wird


Autor: Julian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgendes Problem: Ich messe Impulse zur Drehzahlbestimmung mit 
dem INT-Eingang eines ATmega128.Testweise habe ich einen 
Funktionsgenerator angeschlossen. Das Ganze wird als Drehzahl auf einem 
Display ausgegeben. Nun kommt es aber häufiger vor, dass kurz eine viel 
zu hohe Drehzahl angezeigt wird. Wenn ich nun aber mit einem Oszi an PE5 
gehe, um mir das Siganl anzuschauen, kommt dieser Fehler nicht mehr. 
Woran könnte diese liegen?

Grüße
Julian

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannungsversorgung prüfen (Rauschen ?)

Notfalls Kondensator 22 pF als Scope-Ersatz einbauen PE5 gegen Gnd.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Julian (Gast)

>Woran könnte diese liegen?

Dein Komparator prellt, weil er keine Hysterese hat. Siehe [[Schmitt 
Trigger]]. Ausserdem wären 100nF an Pin6 nicht falsch, um die 
Referenzspannung HF-mäßig zu entkoppeln.


MFG
Falk

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Julian schrieb:
> Hallo,
>
> ich habe folgendes Problem: Ich messe Impulse zur Drehzahlbestimmung mit
> dem INT-Eingang eines ATmega128.Testweise habe ich einen
> Funktionsgenerator angeschlossen. Das Ganze wird als Drehzahl auf einem
> Display ausgegeben. Nun kommt es aber häufiger vor, dass kurz eine viel
> zu hohe Drehzahl angezeigt wird. Wenn ich nun aber mit einem Oszi an PE5
> gehe, um mir das Siganl anzuschauen, kommt dieser Fehler nicht mehr.
> Woran könnte diese liegen?
>
> Grüße
> Julian

Hallo,

ich würde den 2903 mal testhalber mit +- 5V (oder +- 12V) betreiben, ob 
der Fehler dann weg ist.

Gruss Reinhard
PS das Standardverfahren in solchen Fällen: Oszi mitliefern.

PS2: zur Erklärung: Input Range ist 0 .. 1,8 V lt. Datenblatt, 
Schaltpunkt ist 1,65V. Also Input grösser als erlaubt. Da darf der IC 
schon mal schwingen.

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... Danke für die Tipps!

Ich sehe es schon richtig, dass der Augang entweder VCC- (hier GND) oder 
entsprechend der Spannung über dem Pullup-Widerstand ist (hier 3,3 V 
durch den internen Pullup-Widerstand des ATmega32)?

Es sollte also kein Problem den Komperator mit 5V zu betreiben und 
trotzdem 0V - 3,3 V als Ausgangssignal zu bekommen?

Autor: CaH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest das tun , was Falk vorgeschlagen hat.
Bau dir einen Schmitttrigger.

Gruß
CaH

Autor: Heiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

laut Datenblatt brauchst Du am Ausgang des LM2903 einen 
Pullup-Widerstand.
Angegeben mit 3K. Ich denke aber der übliche Wert von 10k wirds auch tun 
...

Gruß

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist nicht ganz klar, was der Schmitttrigger in diesem Fall bringt.

Es würde ja etwas bringen, wenn das Schwingen vor dem Comperator wäre, 
aber in diesem Fall ist es ja der Ausgang des Comperators der schwingt.

Oder schwingt der Ausgang weil das Eingangssignal schwingt?

Autor: Heiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuchs doch einfach mal mit dem PullUp und melde Dich dann wieder ...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Julian (Gast)

>Mir ist nicht ganz klar, was der Schmitttrigger in diesem Fall bringt.

Dann lies mal was zum Thema Schmitt-Trigger.

>Oder schwingt der Ausgang weil das Eingangssignal schwingt?

Aha . . .

Autor: Udo Schmitt (urschmitt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Schmitt-Trigger mit Hysterese. Das wurde doch schon gesagt!

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Heiner: Ich benutze den internen Pullup des ATmega128

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Udo Schmitt: Ja, aber ich versuche noch die Ursache des Schwingens zu 
verstehen. Wäre es nicht sinnvoll (wenn möglich) diese zu beseitigen?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Ursache ist der Tiefpaß 47k/33n am Eingang. Dadurch nähert sich der 
Eingang langsam der Schaltschwelle und in der Nähe der Schaltschwelle 
schwingt jeder Komparator.
Deshalb macht man üblicher Weise eine positive Rückführung.

Die Frage ist natürlich, wozu überhaupt dieser Aufwand?
Warum nicht einfach direkt auf nen digitalen Eingang?


Peter

Autor: Heiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

wenn der Effekt verschwindet sobald Du mit der Prüfspitze drangehst, 
deutet dies darauf hin, dass der Ausgang eben doch schwingt. Wenn dies 
durch die doch recht geringe ohmsche und/oder kapazitive Last des Oszis 
schon unterbunden werden kann, deutet dies drauf hin, dass der interne 
PullUp vielleicht zu groß ist (oder nicht funktioniert), oder dass schon 
die kleine Kapazität ausreicht um dies zu unterbinden. Ich würde daher 
trotz des internen PullUps noch einmal testweise 10k als PullUp dazu 
schalten. Falls das nichts nützt auch mal eine kleine Kapazität gegen 
Masse schalten.

Zusätzlich auch mal die Versorgungsspannung prüfen, ob die sauber ist 
und ggf. auch mal ein paar keramische Kondensatoren von Pin6 und direkt 
von Pin8 nach Masse schalten.

Gruß

Autor: Heiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Julian schrieb:
> @Udo Schmitt: Ja, aber ich versuche noch die Ursache des Schwingens zu
>
> verstehen. Wäre es nicht sinnvoll (wenn möglich) diese zu beseitigen?

Der LM hat einen Open Kollektor Ausgang. Wenn da kein, oder ein zu 
großer PullUp Widerstand verwendet wird, schwingt jede Leitung, das ist 
ganz normal. Der Hersteller empfiehlt hier 3kOhm. Das wird schon seinen 
Grund haben. Ich kenne den ATMega jetzt nicht so, aber ich gehe davon 
aus, dass die internen PullUps erheblich hochohmiger sind...

PS.
Was ich geschrieben habe, gilt natürlich nur, wenn der Effekt mit Oszi 
dran tatsächlich verschwindet und dies nicht alles Zufall war.
Aber ein 10k Widerstand ist da bestimmt schnell mal drangelötet ...

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Die Frage ist natürlich, wozu überhaupt dieser Aufwand?
> Warum nicht einfach direkt auf nen digitalen Eingang?

Weil der Sensor 5 V ausgibt und ich den Atmega mit 3,3 V betreibe.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Julian schrieb:
> Weil der Sensor 5 V ausgibt und ich den Atmega mit 3,3 V betreibe.

Dann nimmt man einfach einen Spannungsteiler, z.B. 18k + 33k.


Peter

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Julian schrieb:
>> Weil der Sensor 5 V ausgibt und ich den Atmega mit 3,3 V betreibe.
>
> Dann nimmt man einfach einen Spannungsteiler, z.B. 18k + 33k.

Hallo Peter,

selbst das ist noch überflüssig, denn der ATMega ist 5V-tolerant (Input 
max 5,5V laut Datenblatt).

Zusammenfassend: er hat eine Pegelanpassschaltung 5V -> 3,3V eingebaut, 
dabei ist aber, wie ich oben vorgerechnet habe, die Eingangspannung von 
5 V für den LM-Baustein schon zu hoch (laut Datenblatt, ich glaube an 
sowas). Der ATMega hätte sie aber ohne weiteres vertragen. Und ein paar 
andere Probleme kommen auch noch dazu.

Radikale Lösung daher: die gesamte Mimik wird durch einen 
Schutzwiderstand von 10 .. 100k ersetzt. Der Petersche Spannungsteiler 
schadet aber auch nicht.

Gruss Reinhard

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reinhard Kern schrieb:
> selbst das ist noch überflüssig, denn der ATMega ist 5V-tolerant (Input
> max 5,5V laut Datenblatt).
>
> Zusammenfassend: er hat eine Pegelanpassschaltung 5V -> 3,3V eingebaut,
> dabei ist aber, wie ich oben vorgerechnet habe, die Eingangspannung von
> 5 V für den LM-Baustein schon zu hoch (laut Datenblatt, ich glaube an
> sowas). Der ATMega hätte sie aber ohne weiteres vertragen. Und ein paar
> andere Probleme kommen auch noch dazu.


Die max. Spannung an einen Pin ist doch immer im Verhältnis zur 
Betriebsspannung!?

Aus dem Datenblatt:

>Voltage on any Pin except RESET with respect to Ground 
>................................-0.5V to VCC+0.5V

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Julian schrieb:
> Die max. Spannung an einen Pin ist doch immer im Verhältnis zur
> Betriebsspannung!?
>
> Aus dem Datenblatt:
>
>>Voltage on any Pin except RESET with respect to Ground
>>................................-0.5V to VCC+0.5V

Hallo,

nicht immer aber in dem Fall hast du Recht, habe ich falsch gelesen - 
der ATMega ist doch nicht 5V-tolerant. Schade, ich finde das einen 
echten Nachteil. Ich verwende im Moment einen eZ80, der arbeitet 
problemlos mit 5V-Devices zusammen.

Ein 47k-Schutzwiderstand würde wegen der Schutzdioden funktionieren, ein 
Spannungsteiler ist die ganz und gar korrekte Lösung. Speziell der 
LM-Baustein bringt nur zusätzlichen Ärger.

Gruss Reinhard

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.