No se puede suministrar el circuito completo FONA 32u4 3.5 v

0

Soy relativamente inexperto en lo que respecta a circuitos y electrónica. Sin embargo, estoy intentando crear un dispositivo simple en el que al presionar un botón, el dispositivo se enciende y llama a un número específico.

Mi lista de piezas -  - Fona 32u4  - Nivel lógico canal N Mosfet  - Resistencia de 10k ohmios  - Resistencia de 220 ohmios.  - presionar el botón  - LED  - Alambres y tal  - Batería de 3.7 v 3000 mAH

Para fines de creación de prototipos, actualmente estoy diseñando esto en una placa de pruebas -

Aquíestáelcircuito-

Cadavezqueejecutoesteprograma-

#include"Adafruit_FONA.h"

#define FONA_RX 9   
#define FONA_TX 8
#define FONA_RST 4
#define FONA_RI 7

#define number "###"

int LED = 11;

#include <SoftwareSerial.h>
SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
SoftwareSerial *fonaSerial = &fonaSS;

Adafruit_FONA fona = Adafruit_FONA(FONA_RST);

uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout = 0);
uint8_t type;

void setup() {

Serial.begin(115200);

pinMode(12, OUTPUT);//This is the MOSFET gate
digitalWrite(12, HIGH);//Immediately activate the MOSFET gate
pinMode(13, OUTPUT);//This is the LED
pinMode(LED, OUTPUT);//This is the LED

fonaSerial->begin(4800);
if (! fona.begin(*fonaSerial)) {
while (1);
}

type = fona.type();
Serial.println(F("FONA is OK"));
Serial.print(F("Found "));
switch (type) {
case FONA800H:
  Serial.println(F("FONA 800H")); 
  Serial.println("Connected");
  break;
  }

while (1) {

digitalWrite(LED, HIGH);       // turn the LED on
delay(100);                    // wait for a second
digitalWrite(LED, LOW);    // turn the LED off 
delay(100);

    uint8_t n = fona.getNetworkStatus();
    Serial.print(F("Network status "));
    Serial.print(n);
    Serial.print(F(": "));
    if (n == 0) Serial.println(F("Not registered"));
    if (n == 1) Serial.println(F("Registered (Online)"));
    if (n == 2) Serial.println(F("Not registered (searching)"));
    if (n == 3) Serial.println(F("Denied"));
    if (n == 4) Serial.println(F("Unknown"));
    if (n == 5) Serial.println(F("Registered roaming"));

    if (n == 1) break;
}

delay(250);
Serial.println ("Ready to call");
callPhone();

}

void loop(){

digitalWrite(13, HIGH);delay(50);digitalWrite(13, LOW);delay(50);

}

void callPhone() {

delay(250);
fona.callPhone(number);
Serial.println("called the POPO");

}

No funciona debido a la falta de voltaje. La batería suministra 3,7 voltios, pero cuando el circuito se pone en uso, el chip solo recibe 1,2 voltios. Como se dijo antes, estoy limitado en el conocimiento. Le pido a alguien que me ayude a comprender por qué el voltaje suministrado es tan bajo y cómo solucionarlo.

Sospecho que es la falla del tablero, tal vez los cables disminuyen el voltaje o el mosfet. Pero no tengo forma de entenderlo.

    
pregunta Osiris.N

1 respuesta

0

Esto no es algo que deba probarse en una placa de pruebas.

El módulo GSM SIM800 requiere corrientes máximas de hasta 2A.

Al menos la batería debe estar conectada lo más cerca posible de los pines de la fuente de alimentación FONA.

Dudo que los pines de la placa de pruebas tengan una clasificación de 2A y usted tenga seis conexiones entre la batería y la fuente FONA, las pérdidas de voltaje son muy altas.

Descubra algo para acercar la batería a los pines de alimentación FONA

    
respondido por el Dorian

Lea otras preguntas en las etiquetas