Forum: Mikrocontroller und Digitale Elektronik SIM800L. Problem mit den Power Modes


von Chris J. (Gast)


Lesenswert?

Hallo,

inzwischen teste ich geschlagene 10 Stunden alles mögliche durch, damit 
sowohl das SIM800 als auch der Arduino pro Mini, der das Ding steuert 
sich schlafen legen können. Der Pro Mini ist 3.3v, beraubt um alles was 
Strom braucht, Regler runter und die Power lED. Betriebeen mit 3,7V 
LiIon Zelle.
Ein Radar Sensor meldet Bewegungen. Tur er auch prima, wenn er nicht zu 
dicht an der CPU ist (1cm derzeit), dann meldet er nämlich dauernd 
Alarme. Mur im Power Down Mode arbeitet er erstklassig.

Soweit geht auch alles prima, das SIM800 sendet, empfängt sms und kann 
anrufen. Funktionen alle selbst geschrieben, keine der Libs die ich 
testete brachte das Ding zum sprechen. Die FONA ist mir auch viel zu 
gross von Adafruit. Viel braucht man ja nicht, nur eine Kernroutine, die 
AT's sendet und die Antwort auf OK prüft, ggf. etwas mehr wie 
Batteriespannung und ob Netz da ist.

Für Low Power Mode habe ich mir diese Lib heraus gesucht:
https://github.com/rocketscream/Low-Power

Scheint buggy zu sein, jedenfalls funzt keiner der Power Modes wirklich 
richtig. Der periodische aktiviert den WDT und der läuft munter weiter, 
reettet mir ständig das Board und auch die Serials laufen nicht mehr, 
weder die zum Debuggen noch die Softwareserial. Mit dem Cortex M3 war 
das alles deutlich einfacher und übersichtlicher mit den Power Modes.

Mit eigenen Experimenten habe ich mir einen Pro Mini abgeschossen, so 
dass ich nichts mehr hochladen kann, weil der wdt dauernd zuschlägt. Ja, 
kann man mit einem Programmer wieder neu fusen, habe aber grad keinen 
da.

Ich finde beim SIM800 keinen Low Power Mode, der sich gescheit verwalten 
lässt!

AT+CSCLK=1 friert das Ding derart ein, dass nur noch ein Reset hilft und 
dann kriege ich nur noch Fehlermeldungen auf AT's

AT+CSCLK=2 ergibt das Problem. dass die UART auch abeschaltet wird.

AT+CFUN = 4 (Flight Mode) schaltet das RF Modul ab und das Netz auch. es 
dauert rund 10s bis er wieder eingewählt ist.

Hat da sich schon mal jemand mit befasst und dieses SIM 800 gebändigt? 
Der Arduino kann ggf durchlaufen, so viel schluckt der nicht, keine 3ma 
auf 8 Mhz. Aber das Modul frisst gut 20mA, die müssen runter, da nur bei 
Alarm Auslösung gesendet werden soll.

Gruss,
Christian

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Flight mode und die 10 Sekunden bis zur Wiedereinwahl verschmerzen. 
Solche Anlagen sollen ja sowieso einen stillen Alarm auslösen, da sind 
die 10 Sekunden egal.

von Jim Beam (Gast)


Lesenswert?

Du könntest das Teil auch hardware-mässig abschalten per Port über den 
PWRKEY-Pin des SIM800.

Neustart, Einloggen etc. sollte deutlich schneller gehen als 10sec.

Ich verwende SIM900er Module, die sind nach 2-3 Sekunden online,
könnte ja beim SIM800 ähnlich sein.

von Chris J. (Gast)


Lesenswert?

Jim Beam schrieb:
> Du könntest das Teil auch hardware-mässig abschalten per Port über den
> PWRKEY-Pin des SIM800.

Naja, in meiner Super Lösung ist der Alarmgeber noch per sms  Codes 
steuerbar und konfigurierbar. Er müsste daher wenigstens alle 10 Minuten 
mal aufwachen.
Sensor und SIM800 RING sind beide an INT Leitungen INT0 und Int1. Ich 
sehe das aber wie Du, das Ding muss nicht dauernd online sein. Das mit 
dem Pwrkey klappt auch, ebenso mit dem At+POWD o.ä. Befehl geht er 
schlafen. Und etwaige sms kommen ja auch an, die werden ja im Netzwerk 
gespeichert.

Evtl. ist es besser erstmal alles fertig zu machen und dann übers Sparen 
nach zu denken.

Hat einer von euch Ahnung mit welchem Tool ich den AVR neu fusen kann 
und auch einen neuen Bootloader aufspielen? Habe noch einen Diamex 
Flasher hier rumliegen. Bin nicht so der AVR Fan.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Wovon wird das Teil denn gespeist?

Meine AlarmSau, die ein SIM800L verwendet, läuft mit einem 12V/15Ah Akku 
locker eine Woche durch. Der 12V->5V Wandler ist ein StepDown-Wandler 
und versorgt so einiges an Teilen... einen ATMega1284P, einen ATMega88 
fürs Terminal, ein LCD-Modul und das SIM800L über einen 4V LDO-Regler. 
Da kommt schon ein wenig was an Standby-Strom zusammen, die 
Alarmschleifen brauchen auch etwas Strom (werden aber im Spar-Modus nur 
periodisch zum Messen eingeschaltet). Trotzdem verbraucht das Teil bei 
vollem Akku weniger als 1 Watt aus der 230V-Dose.

Das SIM800L läuft dabei ohne Stromsparmodus durch, damit es schnell auf 
eingehende SMS reagieren und z.B. einen Statusbericht schicken kann.

Edit:
Bei meiner AlarmSau können die Alarme zeitverzögert ausgelöst werden, 
beispielsweise damit man das Terminal im geschützten Innenraum montieren 
kann. Dann kann man den Türalarm beispielsweise 20..30 Sekunden 
verzögern, in denen man seine PIN eingeben muß. Sonst gibt's was auf die 
Ohren.

Falls Du eine ähnliche Funktion benutzt, könntest Du das SIM800L bereits 
in der Verzögerungszeit aufwecken, dann ist es da bevor nach der 
Verzögerung evtl. tatsächlich ein Alarm abgesetzt werden muß.

: Bearbeitet durch User
von ATh (Gast)


Lesenswert?

Chris J. schrieb:

> AT+CSCLK=1 friert das Ding derart ein, dass nur noch ein Reset hilft und
> dann kriege ich nur noch Fehlermeldungen auf AT's

RTFM!: Pull down DTR pin. The serial port will be active after DTR pin 
is pulled to low level for about 50ms.

von Chris J. (Gast)


Lesenswert?

Hi,

aktuell besteht das problem, dass das Modul zwar mit At+cpowd=1 ab zu 
schalten ist aber wenige Sekunden später schaltet es sich allein wieder 
ein. Den Grund kenne ich bisher noch nicht. Strom ist stabil, gut 
gepuffert mit 470 uF und 100nf. Sonst keine Verbraucher.

Schon sehr merkwürdig....

Gruss,
Christian

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.