Forum: Mikrocontroller und Digitale Elektronik Wie lange drückt man typisch eine Taste? (iButton/uC Schlafmodus)


von reflex (Gast)


Lesenswert?

Wie lang drückt denn jemand typischerweise eine Taste in milli-Sekunden? 
Gibt es da Erfahrungswerte?

Hintergrund: Muss einen Dallas One-Wire iButton pollen. Wenn ich das 
richtig verstanden hab, funktioniert das so, dass der iButton (so ne Art 
Knopfzelle mit IC drin), in eine Fassung eingedrückt wird und dann beim 
nächsten Pollen ein Lebenszeichen schickt (nämlich seinen 64bit Code). 
Das funktioniert auch, kein Problem. Will den aber nun auch erkennen, 
wenn man den "normal" kurz angelegt, jedoch aus Stromspargründen nur so 
oft pollen, wie es denn auch sein muss. Dazwischen darf der schlafen.

Wär jetzt natürlich kein Problem, das jede halbe, viertel oder so 
Sekunde zu machen, aber ich dachte, ich frag halt mal nach typischen 
Tastzeiten.

Grüsse

von Achim M. (minifloat)


Lesenswert?

Andere Idee:
Mach den Pullup vom 1-Wire schaltbar. Dann mit einem zweiten viel 
hochohmigeren Pullup am 1-Wire detektieren, ob da jemand gerade was in 
die Fassung drückt. Damit einen flankengetriggerten Interrupt füttern, 
so wacht der µC auf, schaltet den "richtigen Pullup an und beginnt mit 
der Kommunikation. Und schon muss dein µC nicht mehr zyklisch aufwachen.
mfg mf

von reflex (Gast)


Lesenswert?

Das ist vielleicht ausgefuchst :-). Sehr clever.
Danke für den Tip.

Ich muss mal am Oszi kucken, bei welchen schwachen Pull-ups der 
eingesetze iButton den Interrupt Pin genügend auf logisch 0 zieht.

Grüsse

von Achim M. (minifloat)


Lesenswert?

reflex schrieb:
> bei welchen schwachen Pull-ups

Interne Pullups haben bei den ATmegas so 40-60kΩ. Außerdem muss der 
iButton ja auch erstmal seine interne Pufferkapazität vollpumpen, sollte 
also so funzen... mf

von John B. (johnbauer)


Lesenswert?

Es ist Quatsch den Pullup umzuschalten.

Da der iButton länger als 480µs (Reset Bedingung) nicht an Spannung 
angeschlossen war, wird er kurz nach anlegen der Spannung die 
Data-Leitung für 60µs-240µs auf Low ziehen: Presence-Pulse.

Gruß
John

von reflex (Gast)


Lesenswert?

OK, das heisst entweder gleich den Interrupt Pin als One-wire Pin nehmen 
oder beide parallel schalten.

Danke an alle.

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.