PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : extrem sparsamer Microcontroller gesucht



Kazuya91
20.07.2017, 11:52
Hallo Community,
ich habe mich hier extra angemeldet um ein paar Ideen für ein Projekt zu bekommen. Ich bin leider noch der absolute Neuling was Microcontroller und deren Zusammenschaltung mit anderen Komponenten angeht und hoffe dass ihr mir paar Vorschläge machen könnt.

Ich muss für die Uni ein Projekt realisieren, bei dem ein Microcontroller auf engem Raum 5 bis 6 Infrarot-Distanzsensoren einmal am Tag abfragen und dann einige Daten per HTTP-Request losschicken soll. Für die IR-Sensoren brauche ich daher ein paar GPIO-Pins.
Ganz Wichtig: Der MC muss mit einem Akku laufen und das so lang wie möglich. Da er den Rest des Tages "schläft" wäre eine Stromaufnahme im 1µA, besser sogar im nA Bereich super. Ich bräuchte auch einen MC wo man für die Programmierung des Chips keine extrem teuren Evaluation-Boards oder -Kits braucht. Ich muss die Kosten ja auch rechtfertigen. Das Projekt, soll wenn es überzeugt mehrmals nachgebaut und angeschafft werden.

Zusammenfassend brauche ich:
- Einen sparsamen WIFI-Chip
- sehr geringe Stromaufnahme im (Deep-)/SleepMode (1µA oder weniger)
- GPIO-Pins für IR-Distanzsensoren

- optional: LiPO-Akku-Anschluss (notfalls kann man ja noch löten)

Optimal wäre es wenn ich alles auf einer Platine hätte.

Was habe ich schon gefunden/Welche Ideen habe ich?
1. Variante: ESP32 Thing von Sparkfun + etwas ähnliches wie der TPL5110 Timer.
Link zum Sparkfun: https://www.sparkfun.com/products/13907

Vorteil: Ich brauche keinerlei DEV-Boards oder sonst was. Alles ist mit dabei: Lipo-Anschluss, Wifi-Chip, GPIO-Pins.
Nachteil: Hibernation verbraucht bei dem 5µA. Ich bräuchte einen Timer der die Elektronik komplett ausschaltet und nach 24 Stunden wieder einschaltet. Diese 24 Stunden sollten aber auch variabel sein. Ist das möglich?

2. Variante: SAM L21 + WinC1500
Sehr geringer Energieverbrauch. Problem ist ich habe keine Platine gefunden mit GPIO-Pins, WLAN Chip oder sonst was. Hab ihn nur durch ein Video aufgeschnappt. Ich finde einfach nichts. Vielleicht gibts eine Platine mit GPIO-Pins wo ich den Wifi Chip nachrüsten kann.


3. Variante: SAM W25? http://de.farnell.com/atmel/atsamw25-xpro/eval-board-atsamw25-ieee-802-11b/dp/2491286
Hat einen Cortex M0+ und einen WinC1500.
Vorteil: Alles dabei.
Nachteil: Keine Info über den Stromverbrauch. Soll aber einer der sparsamsten Chips sein siehe dieses Video: https://www.youtube.com/watch?v=pOFU0KCly80
Im Video ist nur der Chip gezeigt. Wieviel Strom das Evaluation Board braucht weiß ich leider nicht.


Habt ihr vielleicht noch weitere Ideen. Wäre super wenn ihr mir helfen könntet.

Ich bedanke mich im Voraus!

askazo
20.07.2017, 12:25
Du könntest Dir die SimpleLink Lösung von TI mal anschauen.
Allerdings bist Du auch hier bei 4,5µA im Hibernate-Mode. Drunter zu kommen wird schwierig, fürchte ich.
Es sei denn, Du nimmst Dir zusätzlich noch einen MSP430, der das ganze komplett von der Spannung trennen kann.
Die sparsamsten MSP430-Versionen liegen bei 0,3µA im Standby.
Es gibt auch Boards mit SimpleLink & MSP430 drauf, vielleicht bekommst Du damit ja was hin.

SimpleLink: http://www.ti.com/lsds/ti/wireless-connectivity/wi-fi/simplelink-wi-fi-cc31xx-cc32xx/overview.page
MSP430: http://www.ti.com/lsds/ti/microcontrollers-16-bit-32-bit/msp/products.page
Kit z.B. http://de.farnell.com/texas-instruments/cc3000framemk-l/kit-simplelink-wifi-cc3000-lsr/dp/2215416

Gruß,
askazo

Ceos
20.07.2017, 12:58
einen SAM L21 kannst du mit etwas geschick auf ein spreadboard auflöten ... zur not könnte ich das sogar für dich machen ... die minimalbeschaltung ist lächerlich und der stromverbrauch im deep sleep könnte von einem kondensator bewältigt werden ... aber es wrid keine WiFi Chip geben der so sparsam ist! Abschalten is auch allerhöchst ineffektiv, da du dann jedes mal den Handshake neu machen müsstest!
https://puu.sh/wOnLf/8897bd6172.jpg
was spricht denn so dermaßen gegen die 5-20µA vom ESP? Das ist verflucht wenig und würde selbst mit einer Knopfzelle Monatelang halten! Und er muss aus dem Deep Sleep heraus auch nicht erst neu mit dem WLAN verbinden!

gehen wir mal von 3 schlechten AAA-Akkus aus mit 500mAH als Versorgung aus

bei unglücklichen 50µA wären das 416 Tage ... wenn ich jetzt deine Messungen für maximal 1sek zu Grunde lege, sollte das ganze wenigstens 1 Jahr lang halten!

Peter(TOO)
20.07.2017, 22:45
Hallo,

Noch ein kleines Problem: Wie gross ist die Selbstentladung deines Akkus?
Je nach Typ und Temperatur liegt die Selbstentladung bei 6 Monaten bis etwa 2 Jahren.

1µA ergibt etwa 8.8mAh im Jahr.

Welchen Strom brauchen deine IR-Sensoren und wie lange musst du sie für eine Messung betreiben?
Dabei darfst du nicht vergessen, dass Sensoren meist erst Warmlaufen müssen um ein genaues Resultat zu erhalten.

Also rechne erst einmal die Akku-Kapazität ohne µC aus.

MfG Peter(TOO)

Kazuya91
21.07.2017, 10:50
@askazo
Schaue ich mir mal genauer an.

@CEOS
Ansich finde ich den ESP32 verdammt gut. Das oben verlinkte Board von sparkfun hat alles was ich brauche. Hast du den ESP32 selbst?

@Peter
Ich möchte diesen Akku verwenden, da der Akku möglichst lange halten soll:
http://www.exp-tech.de/battery-lipo6600mah

Was wäre eigentlich die beste Möglichkeit den ESP32 mit einem Akku zu betreiben? Brauche ich Spannungswandler? Oder heißt es einstöpseln und loslegen? Der ESP32 von Sparkfun hat nämlich schon einen LIPO-Anschluss.

Soweit ich weiß braucht man auch kein Development Kit für den ESP32 oder?

Kennt jemand noch ein Board wie das von mir verlinkte ESP32 welches auch die selben Features bietet als Alternative?

Peter(TOO)
21.07.2017, 11:42
http://www.exp-tech.de/battery-lipo6600mah[/url]

Datenblatt:
http://www.exp-tech.de/pdf/products/Battery/G01657-18650-1S3P-060701-6600.pdf

Capacity retention:
The battery to be charge in accordance with standard charge condition at 20~25℃,then storage the battery at an ambient temperature 20~25℃ for 28 days.
Measure the capacity after 28 days with 0.2C at 20~25℃ as retention capacity
Retention capacity ≥85%

Das Ding hat also eine Selbstentladung von etwa 15%/Monat.
Der Akku ist also nach etwa 6 Monaten leer, auch wenn da überhaupt nichts angeschlossen ist!

Das passt auch zu diesen Angaben:

Storage temperature for a long time: -20~25℃ 60±25%R.H.
Do not storage exceed half year. Must charge once when storage for half year. must charge the battery which with protect circuit when storage for three months.


MfG Peter(TOO)

Kazuya91
21.07.2017, 13:07
@Peter
Kannst du mir eine Alternative empfehlen? Würde auch Batterien einsetzen, die sich nicht selbst entladen. Hauptsache möglichst langlebend. Evtl. auch eine Möglichkeit wo man keine Spannungswandler einsetzen muss?

Leider hab ich nicht so viel Ahnung von der Materie.

ARetobor
21.07.2017, 13:46
Hallo Kazuya91.
wenn Tageslicht zur Verfügung steht, wäre eine kleine Fotozelle als Puffer möglich.

Gruß
ARetobor

Kazuya91
21.07.2017, 14:05
Leider steht kein Tageslicht zur Verfügung

Peter(TOO)
21.07.2017, 14:52
@Peter
Kannst du mir eine Alternative empfehlen? Würde auch Batterien einsetzen, die sich nicht selbst entladen. Hauptsache möglichst langlebend. Evtl. auch eine Möglichkeit wo man keine Spannungswandler einsetzen muss?
Du könntest mal meine Fragen zum Stromverbrauch beantworten!

MfG Peter(TOO)

ARetobor
21.07.2017, 14:57
Vielleicht kann das hier zur Ideenfindung beitragen?

http://cds.linear.com/docs/en/lt-journal/LTJournal-V20N3-01-df-LTC3108_09-David_Salerno.pdf

Gruß

Kazuya91
21.07.2017, 17:05
@Peter
Ich weiß nicht die genaue Bezeichnung der Sensoren, es werden 5 oder 6 digitale Infrarotsensoren zum Einsatz kommen. Nähere Infos kann ich dir gerade nicht geben, denn die Sensoren sind im Labor meine Uni. Die Sensoren sollen mit dem Mikrocontroller für 1-2 Sekunden angehen, messen und dann wieder abgeschaltet werden mit dem Deep Sleep des MC.

Peter(TOO)
21.07.2017, 18:54
Ich weiß nicht die genaue Bezeichnung der Sensoren, es werden 5 oder 6 digitale Infrarotsensoren zum Einsatz kommen. Nähere Infos kann ich dir gerade nicht geben, denn die Sensoren sind im Labor meine Uni. Die Sensoren sollen mit dem Mikrocontroller für 1-2 Sekunden angehen, messen und dann wieder abgeschaltet werden mit dem Deep Sleep des MC.
Tja, ohne Angaben kann man schlecht etwas rechnen :-(

Was soll das Ganze eigentlich werden?

Kazuya91
21.07.2017, 21:02
Es soll ein intelligenter Briefkasten werden. Ich baue den µC samt Sensoren in den Briefkasten ein. Der soll einmal am Tag zu einer bestimmten Uhrzeit checken ob was eingeworfen wurde und falls ja den User auf dem Handy benachrichtigen. Dafür möchte ich IR-Distanzsensoren verwenden. Daher muss der µC mit einem Akku laufen und möglichst lange da der Akku am bestenfalls nur einmal im Jahr getauscht werden muss.

Die ganze Konstruktion soll dann in ein Gehäuse welches dann unten in das innere des Briefkasten reingelegt wird. Die Distanzsensoren "strahlen" dann nach oben. Wird Post eingeworfen liegt diese auf dem Gehäuse und der Strahl der Distanzsensoren wird "gekürzt". Das soll dann das Triggersignal sein für die Benachrichtigung.

Hoffe ich habe es verständlich genug beschrieben :/. Es gibt viele µC da draußen aber kaum einer hat die GPIO-Pins die ich für die Sensoren benötige.

Peter(TOO)
22.07.2017, 02:13
STOPP !!!

Es soll ein intelligenter Briefkasten werden. Ich baue den µC samt Sensoren in den Briefkasten ein. Der soll einmal am Tag zu einer bestimmten Uhrzeit checken ob was eingeworfen wurde und falls ja den User auf dem Handy benachrichtigen. Dafür möchte ich IR-Distanzsensoren verwenden. Daher muss der µC mit einem Akku laufen und möglichst lange da der Akku am bestenfalls nur einmal im Jahr getauscht werden muss.

Die ganze Konstruktion soll dann in ein Gehäuse welches dann unten in das innere des Briefkasten reingelegt wird. Die Distanzsensoren "strahlen" dann nach oben. Wird Post eingeworfen liegt diese auf dem Gehäuse und der Strahl der Distanzsensoren wird "gekürzt". Das soll dann das Triggersignal sein für die Benachrichtigung.
Schon mal überlegt, dass ein typischer Briefkasten aus Metall ist und dein WiFi abschirmt?

Rein Technisch kann man auf die Front des Briefkastens eine Solarzelle montieren. Ist dann höchstens eine Frage was man konstruktiv gegen Vandalismus macht.

Das ganze kann man mit einer einfachen Lichtschranke lösen, dann genügt ein Messimpuls im Bereich unter 1ms gänzlich für die Auswertung.
Nehmen wir mal 30mA für den Impuls, das ist dann ein mittlerer Strom von 30µA. Bei einmal Täglich sind das dann 10 mAh im Jahr.

So langsam reicht dann eine CR2032 Knopfzelle. die hat um die 200 mAh. Oben habe ich ja mal 8.8mAh für den Prozessor gerechnet und jetzt noch 10 mAh für die Sensorik. Macht also gut 20 mAh. Da bleiben für den Rest noch 180 mAh.
Das wären dann 0.4 mAh/Tag für den Rest. Bei 100mA für den Rest, kannst du diesen über 5 Minuten am Tag betreiben.

Achja, so eine CR2032 hat eine Selbstentladung von 1-2%/Jahr.



Es gibt viele µC da draußen aber kaum einer hat die GPIO-Pins die ich für die Sensoren benötige.
Irgendwie machst du da mit dem GPIOs einen Fehler!
Wie sollen die denn beschaffen sein?

MfG Peter(TOO)

oberallgeier
22.07.2017, 10:27
.. Das ganze kann man mit einer einfachen Lichtschranke lösen, dann genügt ein Messimpuls im Bereich unter 1ms ..Da Luftpostbriefe völlig aus der Mode gekommen sind, kann man getrost mit einem Mindestgewicht von Poststücken von über 5 g rechnen. Dafür reicht ein Mikrotaster mit einem geschickt angebrachten Betätigungsstäbchen quer über den Briefkastenboden. Der frißt dann unbetätigt überhaupt keinen Strom; Nebeneffekt wäre die MÖglichkeit den Schaltvorgang als Interrupt zu verwenden der den gesamten Messvorgang einschaltet - dann kostet ne simple Transistor-Vorschaltung nur noch unter einem µA (https://www.mikrocontroller.net/articles/AVR-Transistortester#Automatische_Abschaltung) (mikro-!) ; für Schaltplan hier klicken (https://www.mikrocontroller.net/articles/AVR_Transistortester).


.. Die Sensoren sollen mit dem Mikrocontroller für 1-2 Sekunden angehen, messen und dann wieder abgeschaltet werden ..Ich hab ja keine Ahnung welche extrem brisanten Poststücke - z.B. mit abrupt drohendem Rechtverlust oder sonstwelchen Vollzugsdrohungen - Du überwachen musstwillst. Sonst reicht ja eine eher sekündliche bis mehrminütige Schaltpause zwischen einzelnen Beobachtungen und das in den an sich bekannten Briefträger-Lieferstunden. Nachts beispielsweise wird selten was geliefert, bei uns hier ist auch so etwa ab zwei absolute Lieferpause. Damit könnten beispielsweise weitere 50% Beobachtungszeit, z.B. 16°° bis 04°°, eingespart werden. Es sei denn ein Vertreter/Bote der Staatsanwaltschaft hat ne dringende Lieferung . . .

Prinzipiell gibt es eine Störmöglichkeit die bei mir gelegentlich auftritt: es wird ein Sendungs"bündel" aus Brief(en) und Zeitschrift(en) gemeinsam in den Schlitz gesteckt, das dann im Schlitz stecken bleibt und garnicht runterfällt. Hier macht dann die Abfrage mit Lichtschranke einen Sinn (aber dazu müsste man genau die Konstruktion des Briefkastens kennen). Die Abfrage im ein- oder mehrfachen Sekundentakt mit einer Lichtschranke in Einwurfhöhe ist aber schon eine recht niedrige Frequenz. Probier doch mal selbst einen einzelnen Brief "mit Schwung" in den Kasten zu werfen. Das kann in SekundenBRUCHTEILEN gehen; siehe auch Messimpuls im Bereich unter 1ms von Peter.

021aet04
22.07.2017, 11:17
Ich würde direkt nach dem Schlitz eine LS anbringen bzw wenn die LS verschmutzen kann etwas anderes (kap. Sensor, ind. Sensor mit Betätiger, Mikroschalter,...). Somit kann man erkennen wenn die Post ganz, aber auch halb (wie bei deneinem Zeitungsausträgern üblich) eingeworfen wurde. Du könntest das auch mit dem Öffnen des Schlitzes koppeln.

Am Schlitz einen Mikroschalter, wenn dieser schaltet den uC aufwecken, Sensor einschalten und Messung starten. Wurde der Sensor betätigt ist Post vorhanden. Wird der Schlitz wieder geschlossen bzw nach einer Zeit, uC schlafen legen und Sensor abschalten. Als Funkmodul würde ich eher kein WLAN o.Ä. verwenden, da das relativ viel Strom verbraucht. Ich würde z.b. ein RFM12,... nehmen und in der Wohnung den Empfänger, der immer am Netz hängt, von da kannst du dann mit WLAN weiter gehen. Als Energiequelle Solarzelle mit kleinem Akku bzw Kondensator. Wenn du ein Funkmodul (RFM12,...) verwendest könntest du das auch abschalten um Strom zu sparen.

MfG Hannes

Kazuya91
23.07.2017, 17:09
Danke für die Antworten!

Ich merke dass euch ein paar Infos fehlen (mein Fehler), weil ich nicht genau ins Detail gegangen bin. Der Briefkasten ist nicht für mich sondern für die Professoren an der Uni. Jeder Prof hat einen Briefkasten die von der Bauart alle identisch sind. Sie kriegen ab und zu Post. Nun sind die Professoren verpflichtet diesen Briefkasten regelmäßig, wenn nicht sogar täglich zu checken. Dafür müssen sie teilweise über den ganzen Campus laufen. Manchmal ist der Briefkasten aber leer und die ganze Zeit ist umsonst draufgegangen. Daher der Gedanke, den Briefkasten mit einem Microcontroller auszustatten der das erkennt.

Wichtig ist, dass die Professoren nicht direkt wissen müssen ob ein Brief eingeworfen wurde. Es ist also keine Interrupt mit einer Lichtschranke notwendig... Die Briefe werden immer bis 12 Uhr mittag eingeworfen. Später nicht mehr. Es sind äußerst selten eilige Briefe, die kommen aber trotzdem bis um 12 Uhr und es reicht auch wenn der Prof sie zwei Stunden später abholt. Außerdem soll erkannt werden, ob es nur ein kleiner Zettel ist, oder ein großer Brief. Das ist auch eine Anforderung. Daher die Distanzsensoren die verteilt sind worauf der Brief dann liegt. Sind 4 Distanzsensoren verdeckt, ist es ein mittlerer Brief. Ist nur einer verdeckt, ist es ein kleiner Notizzettel.

Es reicht also wenn der Microcontroller einmal zu einer bestimmten Uhrzeit, sagen wir 13 Uhr, kurz vom Deep Sleep aufwacht, registriert dass was eingeworfen wurde, eine Nachricht schickt und wieder schläft. Wenn der Professor den Akku nur einmal im Semester (6 Monate) besser sogar nur einmal im Jahr (2 Semester) tauschen muss reicht das dicke aus.

Es ist schon ein Prototyp da in der Uni der auch schon funktioniert, aber es soll eine Webanwendung und eine App dazu geschrieben werden wo man einige Sachen einstellen kann. Ich wurde aber noch gebeten mich mit der Elektronik zu beschäftigen ob man das nicht vom Stromverbrauch her weiter optimieren kann. Da der µC zu 99% der Zeit schläft ist ein sparsamer Deep Sleep wichtig. An andere Technologien wie 6Lowpan oder Zigbee hab ich auch schon in Betracht gezogen, aber da braucht man Gateways und Development Kits. Bei 5 Sekunden oder weniger die der µC an ist um die Benachrichtigung zu senden reicht auch meiner Meinung nach WLAN aus. Damit sollte der Akku dann auch halten. Ich will aber das maximale rausholen (mit WLAN, bin aber dennoch offen).

So sieht der Prototyp gerade aus:

32792

Für diejenigen die es nicht genau erkennen: Da ist eine Art Glasschicht (nicht richtiges Glas) dadrauf montiert ist der µC mit 6 IR-Distanzsensoren und einer WLAN Antenne. Darüber um das ganze Abzudecken ist noch eine Schicht. Das soll alles kompakt sein.

Ich hoffe die weiteren Infos helfen euch :). Bin für weitere Vorschläge offen!

oberallgeier
23.07.2017, 17:50
.. Es reicht .. einmal zu einer bestimmten Uhrzeit .. kurz .. aufwacht .. Da der µC zu 99% der Zeit schläft .. 5 Sekunden oder weniger ..Bei so rigiden Vorgaben die Du zur Energieeinsparung vorbringst habe ich gehofft, dass man als Student doch etwas genauer rechnet. Es sind 5 Sekunden in 24 Stunden knapp 99,995 % Ruhepause. Zwei Größenordnungen daneben gelten im technischen Bereich eher nicht als Schätzung, das ist einfach daneben . . . Hoffentlich sind da Deine Profs wesentlich duldsamer.

Die Sensoren im Prototyp dürften doch bei einem senkrecht stehenden Briefumschlag im Format DL haarscharf vorbeilinsen - bei genauer Ausrichtung . . . *ggg*

021aet04
23.07.2017, 21:29
Warum arbeitest du nicht mit Interrupt? Wenn du z.b. eine Woche keine Nachricht bekommst, könntest den uC die ganze Zeit schlafen lassen. Zur Sicherheit könntest du einmal pro Woche eine Nachricht senden um sicherzustellen das das System noch funktioniert.

MfG Hannes

Kazuya91
23.07.2017, 21:38
Wenn ich mit Interrupts arbeite, heißt das doch dass die Sensoren die ganze Zeit eingeschaltet sind oder nicht? Das saugt doch meiner meinung nach noch mehr Strom oder irre ich mich da?

oberallgeier
23.07.2017, 23:48
Tja, die Sache mit den Interrupts. Stand da nicht oben etwas dazu?

Ceos
24.07.2017, 07:19
@CEOS
Ansich finde ich den ESP32 verdammt gut. Das oben verlinkte Board von sparkfun hat alles was ich brauche. Hast du den ESP32 selbst?

Ja habe ich, daher meine Frage nach dem Warum noch weniger Strom verbrauchen ... reicht doch eigentlich auch so.

Mit Interrupts arbeiten ist an und für sich eine gute Idee (der Controller kann ja gemütlich in den Sleep gehen und warten), das Problem wie er schon anmerkte ist, dass die Sensoren aber mit Strom versorgt werden müssen.

Ohne deine bisherige Erfindung abschreiben zu müssen wäre eine Lösung mit dem ESP32 wohl die beste Option, allerdings müsstest du wie Peter schon anmerke entweder die Ekeltronik außerhalb des WLAN abschirmenden Briefkasten anbringen (kA ob du "hinter" den Briefkasten kommst und dann nur ein Loch für Drähtchen rein bohrst)

Idealer wäre allerdings die vorher schon beschriebene Lösung mit ein oder zwei Mikrotaster (einer am Boden und einer der beim Öffnen des Briefschlitz reagiert)

Die wären im unbetätigten Zustand offen und wenn der Taster ausgelöst wird, triggert der Taster einen external Interrupt, der die Elektronik aus dem Winterschlaf holt. Und dann prüft deine Elektronik einfach 5 mal hintereinander im Abstand von je 5 Sekunden ob der Taster noch immer geschlossen ist und schaltet ggf. die Stromversorgung des Taster ab um auch diesen unnötigen Stromverbrauch zu eliminieren, bis der Kasten geleert wird. Dazu könntest du noch eien 3ten (öffner) Taster benutzen der an der Tür hängt oder so, der schaltet die Versorgung deiner Sensor Taster dann einfach wieder scharf.

oberallgeier
24.07.2017, 10:38
.. Mit Interrupts arbeiten ist an und für sich eine gute Idee .. das Problem .. die Sensoren aber mit Strom versorgt werden müssen ..
.. Dafür reicht ein Mikrotaster .. Nebeneffekt wäre die MÖglichkeit den Schaltvorgang als Interrupt zu verwenden der den gesamten Messvorgang einschaltet - dann kostet ne simple Transistor-Vorschaltung ..GENAU dahin weist ja dieser zitierte Beitrag von mir - komplett mit Schaltungsbeschreibung zur automatischen Abschaltung und Schaltplan dazu. Müsste man halt lesen.