Entstören von Tastern; AnaCompare Atmega32

Gast #943627
Mein neuestes Problem:
Ich habe Taster an meinem Mega. Zwischen VCC und Pin am Mega hängt ein 
10k Widerstand. Der Taster zieht den Pin auf Masse.
Trocken funktioniert das. Im Einsatz am Fahrzeug springt das Ding 
ständig ins Menu und im Menu umher sobald die Taster angeschlossen sind. 
Wenn ich sie abklemme (sodass nur noch VCC-R-Pin verbunden ist), dann 
ist das Phänomen aus der Welt. Versteh ich nicht so recht darum frage 
ich. Der Taster ist halt mit dem Pin und Masse verbunden. Der kann ja 
schlecht einen Masseschluss mit der Luft hinbekommen, oder?

Das nächste Problem:
Ich möchte gerne im Eeprom speicher, wenn die Spannung einbricht. Dieser 
Interrupt wird aber nicht ausgelöst, wenn man den Netzstecker zieht. 
Dafür jedoch im Einsatz (am Netzteil bleibts ruhig) am Fahrzeug 
ununterbrochen.
Im Endeffekt ist das so verdrahtet:

VCC- Diode - 470u C - Atmega Pin3
|
Diode
|
10u C - Displaybeleuchtung etc.
|
Atmega Pin4

Wenn ich nicht pratschjeck bin, dann sollte doch der 10u C ruckzuck leer 
sein und die Kapazität des 470u C´s locker reichen um noch eben den 
Interrupt abzuarbeiten?
Dann mach ichs software-seitig mal wieder falsch. Macht diese Zeile, was 
ich will oder ist sie die Wurzel allen übels?

ACSR = (0<< ACD) | (0<<ACBG) | (1 << ACIE) | (1 << ACIS1) | (0 << 
ACIS0);
#943675
zu hoher Pullup-Widerstand?

am 10u- Kondi solltest du noch ein Widerstand nach Masse machen, damit 
dieser auch ein wenig belastet wird z.B. 10k

Bedenke, dass im Auto (bei laufendem Motor) nicht unbedingt das 
angenehmste EMV-Klima herrscht. Da sind schon einige Massnahmen zu 
treffen...
Gast #943686
Das kann ich mir nicht so recht vorstellen da die Taster doch einiges an 
Druck verlangen. Ich habe das grad mal mit dem Messgerät probiert und 
die Kontakte schließen erst ganz am Ende des Federwegs.

Keiner eine Idee hierzu:?
//set ac for power loose interrupt
  ACSR = (1 << ACIE) | (1 << ACIS1);
(Firma: TravelRec.) Persönliche Seite #943699
Das sind Funkstörungen, die durch die Zündanlage und andere elektrische 
Geräte (Ventilatoren) hervorgerufen werden und auf das (lange) 
Tasterkabel wirken. Du kannst a) den Tasterpin am Controller zusätzlich 
mit 100nF nach Masse abblocken und b) eine Software-Filterung am 
Tastenpin vornehmen. Siehe dazu auch Peter Danneggers Entprellung in der 
Codsammlung.
Gast #943723
Das mit dem Widerstand hats nicht gebracht. Hat mich aber drauf 
gebracht, dass eine der angeschloßenen Meßschaltungen die Schuld trägt. 
Wenn ich Sie abhänge, dann wird der Interrupt nicht mehr ständig 
ausgelöst. Ob er das im richtigen Moment tut, muss ich noch testen. Das 
mit der Software-Entprellung schau ich mir mal an. Kann man ja in den 
bereits vorhandenen Debounce-Code einbinden. Ansonsten löt ich halt noch 
nen Kondensator ein. Hab ausreichend herumfliegen ;)
Gast #943726
Du kannst aber auch externe Ziehwiderstände von 4,7 Kiloohm von den 
Eingängen nach +Ub vorsehen. Die internen Ziehwiderstände sind oft zu 
hochohmig, um bei "langen Strippen" draußen dran immer einen 
vernünftigen H_Pegel zu erzeugen.

MfG Paul

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.