www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik interner Pull-Up Problem


Autor: Manni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, seit ein paar Tagen habe ich folgendes Problem:
Um einen Tastendruck zu erkennen, wird ein Pin des Controllers auf Masse 
gezogen. Dazu habe ich zunächst den interenen Pull-Up aktiviert. Wenn 
jetzt ein Interrupt durch eine eingehende CAN-Botschaft ausgelöst wird, 
scheint sich der Pull-Up von alleine zu deaktivieren und es wird eine 
Tasterbetätigung erkannt, obwohl dieser nicht betätigt wurde. Dieses 
Problem tritt nicht bei jedem Interrupt auf sondern sporadisch. Der 
Controller ist ein AT90CAN128. Alte Softwarestände die Monate ohne 
Probleme liefen, haben das gleiche Problem. Meine Vermutung ist, dass 
der At90can128 in irgendeiner Weise defekt ist. Hat jemand schonmal 
dieses Problem gehabt?

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast dus schonmal mit einem anderen Controller probiert? (Soft- oder 
Hardware Fehler)

Autor: Manni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es ist etwas schwierig einen anderen Controller einzusetzten. Wie 
gesagt, die Software hat einwandfrei funktioniert. Ich habe jetzt mal 
einen externen Pull-Up verdrahtet, jedoch habe ich immer noch das selbe 
Problem

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manni schrieb:
> Meine Vermutung ist, dass
> der At90can128 in irgendeiner Weise defekt ist.

Sehr unwarscheinlich.

Nimm eine ordentliche Entprellroutine (vorzugsweise Timerinterrupt) und 
Dein Problem ist gegessen.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manni schrieb:
> die Software hat einwandfrei funktioniert.

Diese Denkweise sollte man sich schleunigst abgewöhnen, sie ist nicht 
zielführend.

Richtig:
"Ein eventueller Softwarefehler hat sich bisher noch nicht ausgewirkt."

D.h. man ist sich bewußt, es gibt keinen Softwareabschnitt, den man von 
der Fehlersuche ausschließen darf.


Peter

Autor: Manni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, das Signal ist dauerhaft "0". Ich wüsste nicht was eine 
Tastenentprellung da bewirken sollte.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manni schrieb:
> Hallo, das Signal ist dauerhaft "0".

Hallo, das kann doch keiner riechen!

Du hast nur "Tasterbetätigung erkannt" gesagt. Das ist ein riesen 
Unterschied.


Peter

Autor: Manni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry , mein fehler

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manni schrieb:
> es ist etwas schwierig einen anderen Controller einzusetzten. Wie
> gesagt, die Software hat einwandfrei funktioniert. Ich habe jetzt mal
> einen externen Pull-Up verdrahtet, jedoch habe ich immer noch das selbe
> Problem

Das bestärkt mich eigentlich in meiner Meinung, dass du einen 
Programmfehler hast. Ein externer Pull-Up kann ja nicht durch eine 
eingehende CAN-Nachricht deaktiviert werden.

Autor: Manni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der externe Pull-Up hatte eine kalte Lötstelle. Jedoch vermute ich, dass 
es doch ein Softwarefehler ist. Ich habe gerade mal einen Softwarestand 
geladen, von dem ich wusste das er funktioniert und das tat er dann 
auch. Ich versuche jetzt mal den Fehler ausfindig zu machen und melde 
mich dann wieder

Autor: Torsten B. (torty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Manni
Ich habe an einem ATMega16 ein sehr ähnliches Problem.
Bei Tastendruck werden EingangsPins mit auf Masse gezogen, die gar nicht 
mit dem Taster verdrahtet sind. Hattest Du eine Lösung zu Deinem Problem 
bekommen ?


Grüße
Torsten

Autor: Alex D. (allu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann wird wohl ungewollt eine 0 in den Ausgangs-Port-Teil des 
Tasteneingangs geschrieben werden ... und schwupp ist der Pullups weg 
...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Torsten B. schrieb:
> Hallo Manni
> Ich habe an einem ATMega16 ein sehr ähnliches Problem.
> Bei Tastendruck werden EingangsPins mit auf Masse gezogen, die gar nicht
> mit dem Taster verdrahtet sind. Hattest Du eine Lösung zu Deinem Problem
> bekommen ?

Schaltung kontrollieren
Programm kontrollieren


Wir reden nicht zufällig vom Port C? Wenn ja: Kontrollieren ob JTAG 
abgeschaltet ist.

Autor: Torsten B. (torty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja doch. Es ist PORTC, aber ich habe mich mit JTAG bisher nicht 
beschäftigt. Sind die Zweitfunktionen der IO Pins nicht alle nach dem 
Reset erst einmal deaktiviert ?

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Sind die Zweitfunktionen der IO Pins nicht alle nach dem
>Reset erst einmal deaktiviert ?

JTAG wird über JTAGEN-Fuse aktiviert, also Fuse-Einstellung 
kontrollieren.

Autor: Alex D. (allu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manni schrieb:
> Wenn
> jetzt ein Interrupt durch eine eingehende CAN-Botschaft ausgelöst wird,
> scheint sich der Pull-Up von alleine zu deaktivieren und es wird eine
> Tasterbetätigung erkannt, obwohl dieser nicht betätigt wurde.

Hinter dem Interrupt steht doch ein Programm.

> Dieses Problem tritt nicht bei jedem Interrupt auf sondern sporadisch.

Vielleicht hängt das Problem mit dem Inhalt der CAN-Botschaft zusammen. 
Könnte es sein, dass eine Botschaft auch eine Ausgabe über einen Portpin 
auslöst? Und dabei ungewollt eine 0 in den Ausgangs-Port-Teil des 
Tasteneingangs schreibt.

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.