SIM808 Modul Einschaltknopf überbrücken und Probleme beim Senden

Hallo,

ich habe gerade einige Probleme mit einem SIM808 Modul, welches ich mit dem Arduino Mega 2560 verwende. Dieses schaltet sich immer wieder von selber aus ?? Nur wenn ich den Power ON Knopf drücke bleibt es immer kurzfristig an.

Da ich für meine späteren Zwecke dieses Modul sowieso immer eingeschaltet haben möchte, frage ich euch wie ich diesen besagten Knopf überbrücken kann? (Bin leider nicht so fit in der Elektrotechnik :confused: ) [Fotos findet ihr unten dran (Power ON = rot markiert)]

Soviel zu meinem ersten Problem.
Des Weiteren verbindet sich das Modul zwar immer mit dem Mobilfunknetz, allerdings sendet es nur bei Lust und Laune eine SMS. Bis jetzt ist erst eine SMS angekommen, obwohl ich den Code auf keinste Art und Weise zu vorher verändert hatte.

Bislang versuche ich es mit folgendem Beispielcode:

#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
#define MESSAGE_LENGTH 160
char message[MESSAGE_LENGTH];
int messageIndex = 0;
char MESSAGE[300];
char lat[12];
char lon[12];
char wspeed[12];

char phone[16];
char datetime[24];

#define PIN_TX    10
#define PIN_RX    11
SoftwareSerial mySerial(PIN_TX,PIN_RX);
DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,

void setup()
{
  mySerial.begin(9600);
  Serial.begin(9600);

  //******** Initialize sim808 module *************
  while(!sim808.init())
  {
      Serial.print("Sim808 init error\r\n");
      delay(1000);
  }
  delay(3000);

  if( sim808.attachGPS())
      Serial.println("Open the GPS power success");
  else 
      Serial.println("Open the GPS power failure");
      
  Serial.println("Init Success, please send SMS message to me!");
}

void loop()
{
  //*********** Detecting unread SMS ************************
   messageIndex = sim808.isSMSunread();

   //*********** At least, there is one UNREAD SMS ***********
   if (messageIndex > 0)
   { 
      Serial.print("messageIndex: ");
      Serial.println(messageIndex);
      
      sim808.readSMS(messageIndex, message, MESSAGE_LENGTH, phone, datetime);
                 
      //***********In order not to full SIM Memory, is better to delete it**********
      sim808.deleteSMS(messageIndex);
      Serial.print("From number: ");
      Serial.println(phone);  
      Serial.print("Datetime: ");
      Serial.println(datetime);        
      Serial.print("Recieved Message: ");
      Serial.println(message); 

    while(!sim808.getGPS())
    {
      
    }

   
      Serial.print(sim808.GPSdata.year);
      Serial.print("/");
      Serial.print(sim808.GPSdata.month);
      Serial.print("/");
      Serial.print(sim808.GPSdata.day);
      Serial.print(" ");
      Serial.print(sim808.GPSdata.hour);
      Serial.print(":");
      Serial.print(sim808.GPSdata.minute);
      Serial.print(":");
      Serial.print(sim808.GPSdata.second);
      Serial.print(":");
      Serial.println(sim808.GPSdata.centisecond);
      Serial.print("latitude :");
      Serial.println(sim808.GPSdata.lat);
      Serial.print("longitude :");
      Serial.println(sim808.GPSdata.lon);
      Serial.print("speed_kph :");
      Serial.println(sim808.GPSdata.speed_kph);
      Serial.print("heading :");
      Serial.println(sim808.GPSdata.heading);
      Serial.println();
  
      float la = sim808.GPSdata.lat;
      float lo = sim808.GPSdata.lon;
      float ws = sim808.GPSdata.speed_kph;
  
      dtostrf(la, 6, 2, lat); //put float value of la into char array of lat. 6 = number of digits before decimal sign. 2 = number of digits after the decimal sign.
      dtostrf(lo, 6, 2, lon); //put float value of lo into char array of lon
      dtostrf(ws, 6, 2, wspeed);  //put float value of ws into char array of wspeed
    
      sprintf(MESSAGE, "Latitude : %s\nLongitude : %s\nWind Speed : %s kph\nMy Module Is Working. Mewan Indula Pathirage. Try With This Link.\nhttp://www.latlong.net/Show-Latitude-Longitude.html\nhttp://maps.google.com/maps?q=%s,%s\n", lat, lon, wspeed, lat, lon);
      
       Serial.println("Sim808 init success");
       Serial.println("Start to send message ...");
       Serial.println(MESSAGE);
       Serial.println(phone);
       sim808.sendSMS(phone,MESSAGE);
      //************* Turn off the GPS power ************
      sim808.detachGPS();
      
   }
}

20200106_170946.jpg

Ohne ein Schaltbild zu deinem SIM808 können wir nur sehr wenig sagen.
Poste mal einen Link, wo wir Unterlagen zu dem Teil finden.

Also gekauft hätte ich es hier: SIM808-Link

Und einen Schaltplan direkt habe ich nicht gefunden, allerdings dieses Bild:

Vielleicht kannst du ja mit diesem etwas anfangen. :confused:

Ein gefundenes Schaltbild zeigt einen Taster als PwrKey.
Ob der als Einschalttaster fungiert, musst du ja in der Beschreibung nachlesen können.
Diesen Taster kannst du mittels NPN-Transistor überbrücken und damit auf Dauer schalten.

Bist Du sicher daß Du kein Spannungsversorgungsproblem hast?
Solche Module brauchen kurzzeitig viel Strom (beim Senden) Ich habe so 2A bei einem ähnlichen Modul im Kopf.
Kann es sein, daß beim Senden die Spannung zusammenbricht und darum das Modul sich ausschaltet?

Wie schaut Deine Spannungsversorgung aus?

Grüße Uwe

@uwefed

Ich hätte ein Netzteil mit 5 Volt und 2 Ampere angehängt. Vom Strom her in Ordnung oder?

@HotSystems

Welchen NPN Tranistor brauche ich da? Und wo muss ich den reinlöten? Statt dem PwrKey?

Als Transistor geht der BC548 oder BC337.
Kollektor an PWRKEY und Emitter an GND.
Der Taster kann drin bleiben.

Voltolos:
@uwefed

Ich hätte ein Netzteil mit 5 Volt und 2 Ampere angehängt. Vom Strom her in Ordnung oder?

Wo angehängt? An welchen Pin /Stecker?
Grüße Uwe