Guten Tag! Weiß von euch zufällig jemand wie man einen Atmega328PB durch Berührung vom power-save sleepmode weckt? Im Datenblatt steht folgendes: • Supports wake-up on touch from power-save sleep mode Aktuell wird er vom WDT jede Sekunde aus dem power down Mode geweckt und überprüft alle 9 "Touch Knöpfe" Dabei habe ich einen Stromvervrauch von ca. 70uA im Durchschnitt gemessen. Kurze Berührungen werden dann leider nicht erkannt und den Stromverbrauch würde ich auch noch gerne senken. Zu folgenden Interrupt Vectoren aus dem Datenblatt habe ich keine Beispiele gefunden: 38 0x004A PTC_EOC PTC End of Conversion 39 0x004C PTC_WCOMP PTC Window comparator mode Vielen Dank! mit freundlichen Grüßen Peter
Peter L. schrieb: > Weiß von euch zufällig jemand wie man einen Atmega328PB durch Berührung > vom power-save sleepmode weckt? Im Datenblatt steht folgendes: > > • Supports wake-up on touch from power-save sleep mode Tja, leider haben die aus dem PTC-Zeugs schon immer ein Geheimnis gemacht. D.h.: wenn es eine Lösung gibt, findest du sie höchstens in der Touch-Lib. Sprich: du wirst paktisch gezwungen, eine ASF-Anwendung zu bauen. Dann kannst du den generierten Code Re-Engineeren, um das rauszufinden, was für dich wichtig ist.
Peter L. schrieb: > • Supports wake-up on touch from power-save sleep mode > > den Stromverbrauch würde ich auch noch gerne senken If the PTC is enabled, the main clock is kept running.
Georg M. schrieb: > Peter L. schrieb: >> • Supports wake-up on touch from power-save sleep mode >> >> den Stromverbrauch würde ich auch noch gerne senken > > If the PTC is enabled, the main clock is kept running. Ähem ja, jetzt fällt's mir erst richtig auf: Das Zitat im OT sprach ja auch nur von einem WakeUp aus dem "PowerSave". Sprich: Im Prinzip wird nur die MCU tot gelegt. Takt und Peripherie (so weit nicht explizit totgelegt) läuft lustig weiter.
S. L. schrieb: > Schließlich muss ja der ADC laufen, oder? Ja. Der PTC nutzt den ADC, setzt allerdings noch etwas Hardwareunterstützung bezüglich der Generierung oben drauf. Die genauen Details sind halt, wie gesagt, nicht dokumentiert. Es macht schon echt heftig Arbeit, sich das per reverse engineering zu erschliessen.
Danke für eure Antworten! Hab auch den Microchip Service kontaktiert. Bin gespannt ob die einen Beispielcode liefern können. Sonst werd ich wahrscheinlich auf den SAML10 wechseln, da der anscheinend "low-power" touch und "driven shield +" über Atmel Start untersützt.
Peter L. schrieb: > Hab auch den Microchip Service kontaktiert. Bin gespannt ob die einen > Beispielcode liefern können. Für WakeUp aus PowerSave können sie das sicher. Und nur das war garantiert. Ist eben nicht PowerDown. Das Problem scheint mir hier eher zu sein, dass dir die Eigenschaften der diversen Schlafmodi völlig unbekannt sind... > Sonst werd ich wahrscheinlich auf den > SAML10 wechseln, da der anscheinend "low-power" touch und "driven shield > +" über Atmel Start untersützt. Na, wenn das mal nicht in die Hose geht. Die SAMs sind bezüglich der Schlafmodi noch ein ganzes Stück komplexer als die AVR8... Ic habe jetzt keine Lust gehabt, das selber im DB nachzuschlagen. Es würde mich aber kein bissel wundern, wenn du mit der SAM-Idee komplett in die falsche Richtung läufst...
Ich habe keine erfahrung mit Atmega328PB aber ich wuerde sagen es gibt viel flexibilitaeten die man mittels hardware/software machen kann um strom zum minimalisieren oder schnellere reaktion zu bringen. Ich denke zB an * Niedriege spannung * Niedriege geschwindigkeit * Braucht man unbedingt wake-up auf ALLE touch-eingaengen ? Oder kann man mehrere in eine messung zusammen nehmen und wenn aktiv dann erst detektieren welcher es war. * Gibt es vielleicht bessere resources als WDT um als timer zu benutzen ? Ich sehe im datasheet z.B. "Power-Save mode 1.3uA incl 32kHz RTC" bei 1MHz/1V8/25°C Patrick aus die Niederlaende
Patrick C. schrieb: > Ich habe keine erfahrung mit Atmega328PB aber ich wuerde sagen es gibt > viel flexibilitaeten die man mittels hardware/software machen kann um > strom zum minimalisieren oder schnellere reaktion zu bringen. Ich denke > zB an > * Niedriege spannung > * Niedriege geschwindigkeit Zumindest dies ist definitiv eine Überlegung wert. Aber: Das wird den Energieverbrauch vermutlich nur relativ unerheblich senken können. Attraktiv wäre vor allem die Senkung des Takts, aber leider: es gibt da das Problem, dass diese ganze Touch-Scheiße einen gewissen Mindest-Takt voraussetzt...
Peter L. schrieb: > Aktuell wird er vom WDT jede Sekunde aus dem power down Mode geweckt und > überprüft alle 9 "Touch Knöpfe" Dabei habe ich einen Stromvervrauch von > ca. 70uA im Durchschnitt gemessen. Kurze Berührungen werden dann leider > nicht erkannt und den Stromverbrauch würde ich auch noch gerne senken. Tja, wenn man den Stromverbrauch hier noch richtig absenken möchte, wird man wohl zu der klassischen Variante mit (zumindest) einem 'Taster' zum Aufwecken wechseln müssen – hier ist dann quasi alles abgeschaltet und muss auch nicht regelmäßig aufwachen, vieles dabei wieder neuanlaufen, um dann untersuchen zu können, ob tatsächlich gerade etwas gedrückt wurde, und sich dann anschließend wieder schlafenlegen zu können, falls es nicht der Fall war. Man kann die Aufweck-Intervalle natürlich länger machen, um im Mittelwert so Strom zu sparen, nur ist dann irgendwann mal auch nicht mehr sichergestellt, dass ein kurzes Drücken auch erkannt wird. Die 0,1µA im Datenblatt des 328P sind auf jeden Fall tatsächlich möglich und keine schöne Werbung, weil ich es gemacht, getestet und gemessen habe – der 328PB wird als Pendant wohl etwas mehr in diesem äquivalenten Zustand verbrauchen, das sagt zumindest das Datenblatt so voraus.
:
Bearbeitet durch User
Der Microchip Support hat leider nicht helfen können. Die haben auch nur geschrieben das Atmel Start veraltet ist und ich auf MCC wechseln soll. Und das das auch nichts bringt weil "Low Power Touch" mittels Qtouch library von "Atmega devices" nicht unterstütz wird. Ansschließend haben sie gemeint das die Sales Abteilung eventuell weiterhelfen könnte. Wenn ich das vorher gewusst hätte hätte ich nicht schon 10 Prototypen mit den Atmegas bestellt. Immerhin funktionieren tun sie ja schon einigermaßen damit der Chef zufrieden ist... Ich hab diese Woche auf YouTube zufällig ein Video über Piezoelemente als Touch Sensor gesehen. Da gibt es anscheinend eigene Chips die mit relativ hoher Spannung auch haptisches Feedback geben können. Mit den Piezoelementen könnte man Strom sparen (Wake up per Pin Change Interrupt), das Gerät auch mit Handschuhen bedienen können, nasse 0berflächen wären auch kein Problem mehr. Bis jetzt habe ich ohne "Driven Schield" immer den Bereich auf der Leiterplatte um die Touchflächen freihalten müssen, um Streukapazitäten zu minimieren, das würde auch wegfallen. Zudem würde auch ein günstigerer uC ausreichen. Der mechanische Aufbau des Gehäuses und das Löten würde wohl etwas komplexer werden. Theoretisch müsste es möglich sein eine Touchfläche mit z.B: 3x3 Tasten mit 4 Piezoelementen an den Ecken, wie bei einer Waage auszuwerten.
Peter L. schrieb: > Und das das auch nichts bringt weil "Low Power Touch" mittels Qtouch > library von "Atmega devices" nicht unterstütz wird. Weil's halt die Hardware schlicht nicht hergibt. Da bringen auch die tollsten Software-Verrenkungen in C++ nix. Die treiben nur den Aufwand für's RE in die Höhe... Wohl im Kern eher so eine Art impliziter Kopierschutz... > Ansschließend haben > sie gemeint das die Sales Abteilung eventuell weiterhelfen könnte. LOL. Das muss wohl nicht weiter kommentiert werden. > Wenn > ich das vorher gewusst hätte Schwache Ausrede. Das hättest du vorher wissen können. So wie ich das auch hätte wissen können, ja sogar hätte wissen müssen. Denn ich kenne immerhin die Eigenschaften der verschiedenen Schlafmodi. > Mit den Piezoelementen könnte man Strom sparen (Wake up per Pin Change > Interrupt), das Gerät auch mit Handschuhen bedienen können, nasse > 0berflächen wären auch kein Problem mehr. Das ist ein wirklich sehr interessanter Ansatz. Treibt aber natürlich wieder den Hardware-Aufwand in die Höhe und führt eine neue Single-Point-Abhängigkeit ein. Nach den Erfahrungen der "Chip-Krise" versucht man, sowas möglichst zu vermeiden. Statt dessen vielleicht mal darüber nachdenken: Warum muß es unbedingt Touch sein? Nur weil die eigenen Sales-Droiden das als unbedingt notwendig für den Erfolg des Produkts betrachten? Die Typen habe von nix eine Ahnung, müssen aber ihre teure Anwesenheit im Unternehmen rechtfertigen. Das muss man Cheffe bloß klarmachen.
Man könnte die Einschalttaste zweiteilig ausführen und damit einen 10MΩ Pullup nach GND ziehen. Dann muß nur ein Pin-Change Interrupt aktiv sein. Die Sensortasten an TV und Radio machten es auch so. file:///C:/Work/Downloads/U710.pdf
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.