Hallo WalterWhite.
Hmmm - wir waren so ziemlich alle mal Anfänger, oder?.. und verzeiht mir meine Anfängerfehler / mangelnden Kenntnisse
Soweit ists ja klar... Und zwar möchte ich einen Mikrocontroller per Ultraschall (durch einen Interrupt) aus dem Schlafmodus wecken ..
.. Grundgedanke ist natürlich, dass der MC .. im passiven Zustand möglichst wenig Strom verbraucht ..
Na ja, im Prinzip stimmt das. Im Prinzip. Aber es gibt häufig Umwege um prinzipielle Abläufe. Mal überlegen: vielleicht kannst Du doch von Deinem extremen Stromsparvorhaben ETWAS abweichen: statt in den Pausen 100 % Strom zu sparen könnte man mit 90% (nur so ungefähr) eine Lösung finden... Wie Moppi schon geschrieben hat .. dass immer erst ein Signal ausgesendet werden muss, damit das Modul auf in den Empfangsmodus schaltet ..
Und das ist ja wohl das zentrale Problem... Denke bitte .. dass die Ultraschallsensoren .. Strom benötigen damit sie immer einsatzbereit sind, auch wenn der Controller im Schlafmodus ist ..
Hmmm - wir denken mal etwas abseits der üblichen Arbeitsweise. Wenn schon die Geschichte mit dem Aufwachen des μC per Interrupt solche Probleme macht, dann müssen wir halt dafür sorgen, dass der μC UND der US-Empfänger schon wach sind, wenn >irgendwann< ein Signal eintrudelt... Aber es ist prinzipiell möglich, dass der Mikrocontroller im PowerOff Modus ..
Mal überlegen/rechnen: 40 kHz - da dauert eine einzige Vollwelle runde 25 Mikrosekunden, diese EINZELNE Welle ist dann etwa 7,5 mm lang. Ein SRF04/SRF05 sendet angeblich einen acht Perioden langen Messton - wären also 0,2 ms. Ich würde mich nun bemühen, (m)einen Ultraschallsensor zu bekommen, der etwas länger sendet - sagen wir mal zwei Millisekunden. Jetzt kommt ein Trick: Du weckst Deinen Mikrocontroller alle zwei Millisekunden aus dem Sleepmodus auf, schaltest GLEICHZEITIG mit dem Controller auch Deinen US-Empfänger ein und horchst knappe 200 Mikrosekunden. Danach wird der Controller wieder schlafen geschickt - und mit ihm der US-Empfänger. Gesamte Arbeitsdauer der Empfangseinheit - siehe unten.
Fazit: Du sparst Dir den US-Empfänger dauernd laufen zu lassen, kannst aber mit an Sicherheit grenzender Wahrscheinlichkeit einen zufällig eintreffenden US-Burst erkennen. Stromersparnis für den Controller UND US-Emfpänger rund 90%.
Wieso? Dein Controller horcht in kürzeren Abständen als Dein Ultraschallsensor senden kann ob gesendet wird - und schläft ansonsten. Schlafdauer - also gleich Stromersparnis: 90%.
Was meinst Du dazu?
Lesezeichen