Hallo Experten, ich benötige mal eure Hilfe. Projekt: Alarmanlage für abgelegene Garage ohne Stromversorgung. Bei auslösen des Alarms, wird eine SMS von einem SIM900 Modul (Arduion Shield) versendet. Programmiert wird das Ganze in der Arduino IDE. Die Spannungsversorgung sollen 4x 1,2V Akkus übernehmen. Realisierung: (Schaltung und Code im Anhang) Ein Atmega328P befindet sich im PowerDown Modus und soll über einen Interrupt aktiviert werden. Der Interrupt-Impuls soll über einen Magnetschalter am Garagentor gegeben werden. Sobald der Magnetkontakt unterbrochen wird, liegt am Pin4 HIGH an und der Arduino startet das Programm. Ausgang 12 wird auf HIGH gesetzt, Transistor schaltet die Masse zu und das Relais zieht an. Mit dem Relais-Schließer, wird die Betriebsspannung vom SIM900 Modul geschalten und im Anschluss die SMS versendet. Danach geht der Atmega wieder in den PowerDown Modus. Problem: Ohne die Last (SIM900 Modul) funktioniert alles. Sobald ich aber das SIM900 Modul zuschalten will, stoppt der Atmega das Programm und beginnt den Code von vorn. Am Anfang hatte ich Probleme, dass das Relais überhaupt schaltet. Nach dem ich aber die beiden Elkos integriert habe, zieht zu mindestens das Relais an. Kann es sein, dass beim Schalten des Relais(mit Last), der Atmega durch Störimpulse nicht richtig arbeitet? Reichen vielleicht die beiden Elkos zur Spannungsstabilisierung nicht aus? Wenn ich das SIM Module direkt an die Betriebsspannung klemme (nicht über den Atmega zuschalte), funktioniert auch alles. Leider ist dies keine Option, da das Arduino-Shield so 4mA zieht und damit der Stromverbrauch zu hoch ist. Ich hoffe ihr habt eine Idee und könnt mir vielleicht helfen. Schon mal vielen Dank an alle fleißigen Helfer hier im Forum. Eure Beiträge sind immer sehr hilfreich. VG Alex
Du solltest wenigstens einen 10kΩ Pull-Up und einen 100nF Kondensator an den Reset Pin machen. So ein offener Pin reagiert empfindlich auf elektromagnetische Felder. C4 und C5 helfen, das war eine gute Idee. Wenn du die Stromversorgung des SIM900 so hart einschaltest hast du ein Problem mit dem Einschaltstrom. Das Ding enthält ja Kondensatoren, die geladen werden wollen. Benutze eine Strombegrenzung. Wenn du anstelle des Relais einen Transistor verwendest, ist das relativ einfach über den ausreichend begrenzten Basis-Strom des Transistors machbar.
Ich sehe gerade noch was: Wenn du AREF fest mit VCC verbindest, kannst du die interne Referenz mit 1,1V nicht nutzen. Da gehört normalerweise nur ein Kondensator dran! Du kannst dann immer noch per Software VCC drauf legen (oder eben 1,1V). Hast du alle unbelegten Pins mittels internem Pull-Up auf eine definierte Spannung gebracht? Wenn nicht, mache das mal. Oder konfiguriere sie als Ausgang.
Hallo Stefan, vielen Dank für deine Antwort. Habe ich den 10kΩ und den 100nF richtig eingezeichnet? Wenn ja, werde ich die Schaltung morgen anpassen. "Wenn du anstelle des Relais einen Transistor verwendest" Welchen Transistor würdest du mir hier empfehlen? Für eine relativ kurze Zeit, sind ja laut Datenblatt beim SIM900 Ströme von 2A möglich. VG Alex
Alex schrieb: > Habe ich den 10kΩ und den 100nF richtig eingezeichnet? Jein. Der Widerstand ist Ok. Du hast jetzt mit den 100nF die Versorgungsspannung stabilisiert, was ein weiterer Fehler war. Also lass den mal so drin. Ich meinte aber einen Kondensator vom Reset-Eingang nach GND. Füge das noch hinzu.
Hallo Stefan, ich konnte nicht bis morgen warten. ;-) Habe den Widerstand und die beiden Kondensatoren wie beschrieben hinzugefügt. Des weiteren habe ich die Brücke zwischen AVCC und AREF entfernt. Die unbelegten PINs noch als Output deklariert und nun läuft das Teil so wie es soll. Vielen Dank für deine schnelle Unterstützung. Für die Nachwelt habe ich noch einmal den Schaltplan aktualisiert. (siehe Anhang) VG Alex
Verschiebe C6 zwischen Pin 20 und 22, dann sitzt er dort, wo er auch physisch hin gehört und es ist klar, was er stabilisieren soll.
Done ;-) Auf der Platine hatte er schon den richtigen Platz gefunden. VG
Alex schrieb: > Auf der Platine hatte er schon den richtigen Platz gefunden. Es gehört an Pin 7 und Pin 20 jeweils ein Kondensator. Wer hier spart wird später auf die Schnauze fallen.
statt einem fetten Relais (wieviel Strom braucht das denn?) könntest du
Strom sparen mit einem Photomos Relais AQV252g welches mit 3mA bis 5mA
>1A (bis 2,5A) schalten kann und das sogar soft ohne Freilaufdiode.
Der Photomos dürfte in der Ontime deutlich genügsamer sein.
Mehr Strom sparst du mit 8 MHz denn dort funktioniert der 328p bis
runter auf 3,2V (Entladespannung 4 x 0,8V der Akkus!)
Ich weiss ja nicht ob du zwingend 16MHz brauchst!
Dein Sim Modul wird sicher keine 5V benötigen, soweit ich weiss arbeiten
alle mit 3,3V ausser das Modul hat ebenfalls Regler auf 3,3V drin, es
gibt sogar Regler mit power off PIN spart das Relais und den Photomos
oder du schaust nach einem low drop Regler mit power off und das dein
3,3V Regler für die SIM auch mit weniger als 5V zurecht kommt!
:
Bearbeitet durch User
Das Datenblatt mein: IVBAT VBAT current Power down mode 30µA => lass das Relais weg!
Du sollst nicht ohne Abblock-Cs schrieb: > Es gehört an Pin 7 und Pin 20 jeweils ein Kondensator. Ach, mach dir nicht in die Hose. Er benutzt den ADC sowieso nicht. Damit der Einschaltstrom den SIM900 Mouduls nicht so sehr die Stromversorgung des ATmega328 herunter zieht, könntest du eine Diode und einen Elko hinzufügen:
1 | X2-1 o---|>|---+---o VCC vom ATmega |
2 | | |
3 | === 100µF |
4 | | |
5 | GND |
Im Einschaltmoment versorgt der Kondensator den Mikrocontroller, und zwar nur diesen. Ich denke, dass du C5 dann auch deutlich kleiner machen kannst. Da würde ich auch 100µF versuchen. Die Kontakte des Relais werden es dir danken.
Stefan ⛄ F. schrieb: > Ach, mach dir nicht in die Hose. Er benutzt den ADC sowieso nicht. Rede keinen Scheiss, AVcc wird auf jeden Fall gebraucht um Port C zu versorgen.
Dummschwätzer schrieb: > Rede keinen Scheiss, AVcc wird auf jeden Fall gebraucht um Port C > zu versorgen. Ja, aber es genügt, wenn AVCC auf exakt dem gleichen Potential liegt, wie VCC. Ob du da 2x 47nF oder 1x100nF verwendest ist praktisch vollkommen egal. Die Pins liegen sowieso direkt nebeneinander. Wenn das nicht der Fall wäre, würde ich auch zwei Kondensatoren empfehlen.
Vielen Dank für euren Input. @5G Virus "IVBAT VBAT current Power down mode 30µA" Laut Datenblatt soll dieser Befehl AT+CFUN=0 das Modul in den Minimum Functionality Mode versetzen. Stromaufnahme wären dann 651uA. Wenn das funktionieren würde, hätte ich alle Probleme gelöst und könnte auf das Relais verzichten. Leider zieht das SIM900 Shield trotz sleep Mode 4mA. Bin auch schon direkt am VBAT voltage Eingang und trotzdem zieht das Ding so viel Strom. Nur deshlab bin ich auf die Idee gekommen die VCC zu schalten. Sobald ich die Batterriespannung anlege, kommt es zur genannten Stromaufnahme auch wenn das Modul noch nicht eingeschalten ist. (PWR-LED habe ich schon entfernt) Bild vom Modul im Anhang @Joachim B. "Photomos Relais AQV252g" Das Teil schaue ich mir mal an. Danke für den Tipp. "Ich weiss ja nicht ob du zwingend 16MHz brauchst!" Sicher nicht. Aber die 8MHz intern benötigen glaube ich einen anderen Bootlader und dann würde ich doch Probleme mit meiner Arduino IDE bekommen. Mir ist auch klar, dass der bessere Weg das Atmel Studio ist, da fehlt mir aber einfach das Wissen dafür. (Flashen, Programmieren etc.) @Stefan Sollte ich beim Relais bleiben, werde ich die Elkos nochmal anpassen. Vielen Grüße
Alex schrieb: > Leider zieht das SIM900 Shield trotz sleep Mode 4mA. Du benutzt ja nicht das nackte SIM900 Modul, sondern ein Board mit vielen Bauteilen drumherum. Stromsparen stand bei Arduno Shields noch nie im Fokus. Oft reicht es schon, diverse LEDs zu entfernen und den Spannungsregler auszuwechseln.
Die Option ein weiters SIM900 Modul (nacktes) zu kaufen habe ich ja noch. Das Teil habe ich halt da und wollte es verwenden. Ich dachte mir halt, wenn ich die Betriebsspannung direket auf VBAT gebe, kommt doch gar kein Spannungsregler zum Einsatz oder liege ich da falsch? Die Power-LED habe ich schon entfernt. VG
Alex schrieb: > Ich dachte mir halt, > wenn ich die Betriebsspannung direket auf VBAT gebe, kommt doch gar kein > Spannungsregler zum Einsatz oder liege ich da falsch? Der Spannungsregler ist auf dem Baord drauf und verbraucht trotzdem Strom (von hinten herum).
Alex schrieb: > "Ich weiss ja nicht ob du zwingend 16MHz brauchst!" > Sicher nicht. Aber die 8MHz intern benötigen glaube ich einen anderen > Bootlader und dann würde ich doch Probleme mit meiner Arduino IDE > bekommen. nö einfach nur den richtigen auswählen oder die boards.txt erweitern oder patchen Klar muss einmal der Bootloader per ISP neu aufgespielt werden, das war es aber auch schon!
Joachim B. schrieb: > Klar muss einmal der Bootloader per ISP neu aufgespielt werden, das war > es aber auch schon! Oder man nimmt einfach hin, dass der unveränderte Bootloader nur halb so schnell kommuniziert, als üblich. Wie du schon sagtest, kann man das ja in der boards.txt anpassen.
nimm doch einen zweiten Akku für Relais und Modul- schönen Sonntag
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.