Vengo trabajando con el módulo Sim800l hace tiempo y me encontré con una falla que no entiendo, aunque creo saber por dónde viene el inconveniente.... el problema me pasó con varios módulos y no fueron comprados en la misma tanda ni siquiera al mismo proveedor, por lo que presumo que no tiene que ver con el lote de los mismos.
Como se comenta en muchos foros de internet, el múdulo lo conecté en comunicación con un Atmega328P directamente entre Rx y Tx y viceversa, sin adecuando los niveles de tensiones, es decir, sin tener en cuenta que el módulo requiere de niveles de 2,8V... Y TODO ANDUVO PERFECTO!!! También, es alimentado con una tensión regulada de 4,2V.
Como anduvo bien, ensayando la comunicación, me encontré que luego de un tiempo de pruebas en ocasiones pasa que al alimentar el conjunto (Atmega - Sim800L) cuando recibo un string desde el módulo, el microcontrolador se resetea... tal falla es aleatoria, ya que no ocurre siempre, pero es más frecuente cuanto más lo utilizo.
Como no me rendí, conecté un osciloscopio para ver los niveles de comunicación y me encontré con lo siguiente:
- Cuando todo anda bien, los niveles son de 5V.
- Cuando ocurre la falla, el microcontrolador se resetea ya que, desde el SIM800L, se reciben niveles de 2,8V.
Es obvio que voy a modificar mi circuito y agregaré una adaptación de niveles para ver si esto soluciona la falla, pero mientras les consulto... QUÉ PIENSAN USTEDES DE ESTO???
Hi,
El Sim800 require de una fuente 3.8 a 4.2 mas o menos y que pueda suplir 2 amperios. Cuanto amperios puede suplir el PS que alimenta el Sim800L.
En el post que hice hará un tiempo (donde posteaste primero) comenté el hecho de que los 2'8 voltios es el límite entre el valor LOW a HIGH del Arduino, por lo que muchas veces y en determinadas condiciones de consumo, la comunicación se verá afectada. Por eso es recomendable el uso del adaptador de niveles.
Otra cosa distinta es que dices:
Cuando ocurre la falla, el microcontrolador se resetea ya que, desde el SIM800L, se reciben niveles de 2,8V.
Si el microcontrolador se reseta, y con ese micro te refieres al arduino, creo que queda claro que pasa algo con la alimentación, y cuando el sim800 pide mucho consumo la alimentación del atmega baja tanto que produce un reset del arduino.
Cómo te pregunto Tauro, ¿cómo alimentas ambos circuitos?
Muchas gracias por sus comentarios!!!
tauro0221:
Hi,
El Sim800 require de una fuente 3.8 a 4.2 mas o menos y que pueda suplir 2 amperios. Cuanto amperios puede suplir el PS que alimenta el Sim800L.
El circuito está alimentado por una fuente diseñada para poder entregar hasta 1,3A. Es regulada a 5V y, para alimentar el SIM800L, bajo la tensión con un diodo . En el caso del módulo, como tiene asociado en su mismo PCB un capacitor de baja impedancia, tengo entendido que gracias a este obtiene el resto de corriente que requiere para llegar a los picos de 2 Amperes.
victorjam:
En el post que hice hará un tiempo (donde posteaste primero) comenté el hecho de que los 2'8 voltios es el límite entre el valor LOW a HIGH del Arduino, por lo que muchas veces y en determinadas condiciones de consumo, la comunicación se verá afectada. Por eso es recomendable el uso del adaptador de niveles.
Otra cosa distinta es que dices:
Si el microcontrolador se reseta, y con ese micro te refieres al arduino, creo que queda claro que pasa algo con la alimentación, y cuando el sim800 pide mucho consumo la alimentación del atmega baja tanto que produce un reset del arduino.
Cómo te pregunto Tauro, ¿cómo alimentas ambos circuitos?
En cuanto a tu post victor, ante nada te digo que es muy bueno y lo tengo como guía en estos días. Lo de adaptación de niveles ya lo comencé a implementar, pero la duda la tengo igual y es por eso que la plantié...
Lo raro de la falla es que no ocurre siempre, pero cuando comienza a darse se vuelve recurrente. Además, no entiendo por qué en muchas webs plantean que ese módulo está diseñado para poder conectarse directamente a niveles de 5V cuando no estoy encontrando ningún documento que lo confirme...
Lo raro de la falla es que no ocurre siempre, pero cuando comienza a darse se vuelve recurrente.
Me sigue viniendo a la mente que se trata de un problema de alimentación. Cuando el SIM800 trabaja, aumenta su consumo, llegando a consumir casi 1A. Descarté alimentarlo con 5 voltios y un diodo por que la caida de tensión del diodo depende de la corriente que circule por él, así a más corriente, mas voltaje y menos tensión para el SIM800L.
Desconocemos además del módulo y el arduino, que otro hardware tiene tu proyecto. Y eso es más consumo, así que la fuente puede quedarse un poco corta en momentos puntuales y hay empieza a ser recurrente, fallos, etc. Lo más normal en una fuente de alimentación que le pides mas corriente de la que puede soportar es que se pare o baje la tensión.
Hay varias versiones del módulo en cuestión, y las más modernas, aunque siguen usando un diodo, si tienen un adaptador de niveles TTL y usan la tensión de 2.8 que genera el chip.
Mi consejo es que pongas un adaptador de niveles, y pongas un regulador para el propio sim800L. Además mide los consumos para descartar que te quedas sin corriente, siempre en el peor de los casos.
Alimentas con 5V Arduino y el SIM800L, desde mi punto de vista es un error.
Deberías usar una fuente que provea los A requeridos por el SIM800L y otra independiente para el Arduino y de ese modo concentras los problemas en uno u otro.
Ademas de colocar un buen electrolítico que permita devolver energia para posibles picos extra en los momentos de TX del SIM800L.
EL Sim800L ha sido un gran problema en mucha gente, hasta que Victorjam hizo su post y dio una verdadera cátedra de como llevarlo adelante.
En mi proyecto tan solo tengo el micro con la fuente y el módulo... nada más que consuma corriente.
Voy a aplicar la adaptación de niveles, una mejor fuente para el SIM800L y ensayar consumos, pero mi duda principal era el por qué la falla no ocurre siempre...
Como dije antes, tu post es muy aconsejable para el que maneja este módulo, por lo que lo tendré como una nueva guía para seguir mejorando mi proyecto.
Cualquier novedad que tenga se las cuento..
Gracias por todo!!!
Hi,
Adjunto una descrption que pasa si el voltaje se cae el modulo se va en shutdown. Es posible que es lo que te esta sucediendo.
When designing the power supply in user’s application, pay special attention to power losses. Ensure that the input voltage never drops below 3.0V even when current consumption rises to 2A in the transmit burst. If the power voltage drops below 3.0V, the module may be shut down automatically.