Forum: Mikrocontroller und Digitale Elektronik Wie wird uC-basierte Elektronik mit langem Tastendruck eingeschaltet?


von Albert P. (albpfei)


Lesenswert?

Moin moin,

mein GPS Logger Wintec WSG-1000, der steuerungstechnisch auf einem 
ATMega 2561 basiert, lässt sich nicht mehr einschalten. Normalerweise 
würde dies durch einen Tastendruck von >3s Dauer erfolgen. Wie ist bei 
einer solchen Applikation die Power-On-HW typisch realisiert? Danke für 
jeden Hinweis!

von Peter II (Gast)


Lesenswert?

if ( KeyOnDuration > 3 ) {
  PowerOn();
};

von Albert P. (albpfei)


Lesenswert?

Hallo Peter II,

vielen Dank für die schnelle Antwort. Meine Frage war allerdings nicht 
programmtechnisch zu verstehen. Es geht darum, wie der 
Einschaltmechanismus auf dem Board (typisch) realisiert ist, so daß ich 
eine konkrete Signalverfolgung vornehmen kann. Über welchen Pin des 
ATmega würde ein Power-On im Sinne eines "Wake up" realisiert werden?

Gruß

albpfei

von Formatierung (Gast)


Lesenswert?

oft ist das eine Funktion, die in einer Power-Management-Unit
eingebaut ist.

von ein Lachender (Gast)


Lesenswert?

ymmd

von Peter II (Gast)


Lesenswert?

Albert Pfeiffer schrieb:
> so daß ich
> eine konkrete Signalverfolgung vornehmen kann. Über welchen Pin des
> ATmega würde ein Power-On im Sinne eines "Wake up" realisiert werden?

jeder der eine Interupt aufrufen kann wo der µC aufwacht - siehe 
Datenblatt.

von Taster (Gast)


Lesenswert?

Könnte es sein, daß die Batterien(Akkus) am Ende sind?

Vielleicht sind es auch nur schlichte "Kontaktprobleme"
der Taste. Ich würde erst mal hier suchen..

von Albert P. (albpfei)


Lesenswert?

Hallo Taster,

Akku ist über jeden Zweifel erhaben (wurde mit Ersatzakku belegt). Auch 
die Taste wurde bereits gemessen und ist o.k.

Gruß

albpfei

von Taster (Gast)


Lesenswert?

Wenn Taste und Akku OK sind, würde ich als nächtes versuchen
zu schauen ob der µC überhaupt läuft, um z.B. die Zeit des Tastendrucks
messen zu können. Hat das Teil einen Quarzoszillator mit Oszi messen ob
der Quarz schwingt. Wenn nicht, dann mal versuchen ob an einenm der
anderen Pinne ein Signal kommt.
Schaltpläne o.ä. hat Du wohl nicht, zur Not würde es auch ein
Zweitgerät für Vergleichsmessungen tun, sonst wird es schon heavy.

von Albert P. (albpfei)


Lesenswert?

Der Hinweis von Peter II auf die "Pin Change Interrupts" ist schon sehr 
interessant. Aus dem Datenblatt habe ich jetzt entnommen, daß es mehrere 
Sleep-Modi und mehre Wake-up-Modi gibt. Bisher bin ich davon 
ausgegangen, daß aus Gründen der Power-Einsparung (es handelt sich ja um 
ein mobiles Gerät) der Prozessor komplett abgeschaltet wird. Das würde 
für eine zusätzliche Power Management Unit sprechen, weil dann nur diese 
bestromt werden muß.

Als nächsten Schritt werde ich überprüfen, ob der Prozessor an irgend 
einem Pin ein Vitalitätssignal zeigt.

Danke für alle Tipps bisher.

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

es geht auch anders: wenn die Taste sowieso mehrere Sekunden gedrückt 
werden muss, genügt es, wenn der Prozessor timergesteuert alle Sekunden 
für ein paar µs aufwacht und nach der Taste schaut. Ist sie nicht 
gedrückt, legt er sich gleich wieder schlafen.

Gruss Reinhard

von Peter II (Gast)


Lesenswert?

Reinhard Kern schrieb:
> es geht auch anders: wenn die Taste sowieso mehrere Sekunden gedrückt
> werden muss, genügt es, wenn der Prozessor timergesteuert alle Sekunden
> für ein paar µs aufwacht und nach der Taste schaut.
da man aber davon ausgehen kann das die Taste zu 99,999% nicht gedrückt 
ist, ist also das aufwachen reine Energieverschwendung. Es ist also viel 
sparsamer wenn man aufwacht wenn die Taste gedrück ist und dann die Zeit 
stopt wie lange die Taste gedrückt ist.

von Albpfei (Gast)


Lesenswert?

Durch die Anregungen der Forenteilnehmer habe ich mich ermutigt gefühlt, 
auf der Platine konkreter zu messen. Dabei hat sich gezeigt, daß der 
Taster direkt auf den INT5 wirkt. Eine Power Management Unit ist also 
nicht verbaut.

An den relevanten Pins des ATMega sind keine Taktsignale meßbar. Das 
deckt sich mit dem im Datenblatt beschriebenen "Power Down Mode", in dem 
die Oszillatoren abgeschaltet werden. Als Wake-up-Signal kann dann z.B. 
einer der Interrupts INT7:4 dienen. Leider reagiert der ATMega aber 
nicht auf den INT5!

Folgende Beobachtung habe ich noch gemacht: Wenn der Reset-Eingang auf 
GND gezogen wird, entsteht an einer der XTAL-Pins ein vom Oszi 
registrierter Impuls (leider kein Speicher-Scope), aber der Oszilator 
läuft nicht an.
Es sieht für mich jetzt so aus, als hätte sich der µC verabschiedet.

Nochmals danke für die Anregungen.

Grüsse

Albpfei

von Albpfei (Gast)


Lesenswert?

Es kann natürlich auch sein, daß die MCU nach einem POR oder RESET 
direkt in den Sleep Mode geht. Das würde das Abschalten des 
Takt-Oszillators nach wenigen Zyklen erklären. Aber warum wacht das Teil 
nicht auf?

von Taster (Gast)


Lesenswert?

Wenn Du an den Xtal-Pins (würde am "Ausgang", glaube der heißt Xtal2)
beim Reset nur einen Puls siehhst, kann es durchaus sein daß
nich der µC sondern der Quarz (so vorhanden) -oder der Keramikschwinger-
hinüber ist. Ist das Gerät mal etwas hart "gelandet", sprich herunter-
gefallen? Kenne "Fälle" bei denen der Quarz hinüber war.

von Ulrich (Gast)


Lesenswert?

Es kann auch sein das der µC mit den internen Takt läuft und deshalb 
kein externe Takt vorhanden ist. Dann sollte aber auch kein Quarz 
verbunden sein.

von Albert P. (albpfei)


Lesenswert?

ad Taster:

Dein Tip war goldrichtig! Ob ein "Fall" zugrunde liegt, weiß ich nicht. 
Jedenfalls läuft der Oszillator mit einem anderen Quarz an. Statt der 
7,3728 MHz habe ich einen 6,000 MHz-Quarz verwendet. Damit rauscht der 
ATMega los und schaltet gnädigerweise seine Betriebsanzeige an. Auch auf 
dem Display erscheint etwas, aber das Timing stimmt natürlich nicht. Nun 
muß ich den richtigen Quarz besorgen.

Vielen Dank, Taster!

Gruß, Albert Pfeiffer

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.