Forum: Mikrocontroller und Digitale Elektronik Entstören von Tastern; AnaCompare Atmega32


von kaputtnix (Gast)


Lesenswert?

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);

von J. K. (rooot)


Lesenswert?

zu Problem1:

bei laufendem Motor?

dei Vibrationen werden die Taster irgendwie betätigen.

von J. K. (rooot)


Lesenswert?

zu2

0 verschieben und dann oder-verknüpfen hat keinen effekt.

x | 1 = 1
x | 0 = x
x & 0 = 0

von Vorname N. (logout-name)


Lesenswert?

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...

von Vorname N. (logout-name)


Lesenswert?

J. K. wrote:
> zu2
>
> 0 verschieben und dann oder-verknüpfen hat keinen effekt.

Das ist wahrscheinlich so gedacht, damit man bei einer Änderung nur 1 
reinschreiben kann. Also gezielt so geschrieben. Mach ich manchmal 
auch...

von kaputtnix (Gast)


Lesenswert?

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);

von spess53 (Gast)


Lesenswert?

Hi

Wie erzeugst du deine Versorgungsspannung im Auto?

MfG Spess

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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.

von kaputtnix (Gast)


Lesenswert?

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 ;)

von Paul Baumann (Gast)


Lesenswert?

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

von kaputtnix (Gast)


Lesenswert?

...also den 10k gegen einen 4,7 tauschen?
intern habe ich gar nicht aktiviert...

von Paul Baumann (Gast)


Lesenswert?

Ja, ganz grünau.

MfG Paul

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.