Autor Tema: Experiencia con PIC18 y módulo SIM900  (Leído 27995 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DaYeS

  • PIC16
  • ***
  • Mensajes: 119
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #15 en: 26 de Junio de 2011, 07:05:41 »
Muchas gracias beto, la verdad es que espero que el pcb que mande este bien, si es asi cuando lleguen os cuelgo el pbc.

Salu2
Si buscas resultados distintos, no hagas siempre lo mismo. Albert Einstein.

Desconectado beto1234

  • PIC10
  • *
  • Mensajes: 49
    • Tesco Electronics
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #16 en: 27 de Junio de 2011, 06:09:08 »
 Muy bien me gustaría ver los circuitos tmb. Así lo comparo con este q colgué. Como realizaste la parte de regulación de tensión para alimentar el modulo?

Desconectado DaYeS

  • PIC16
  • ***
  • Mensajes: 119
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #17 en: 27 de Junio de 2011, 07:37:43 »
Muy bien me gustaría ver los circuitos tmb. Así lo comparo con este q colgué. Como realizaste la parte de regulación de tensión para alimentar el modulo?

Ya los he recibido. Para la regulación del modulo nada, ya que va de 3,4 a 4,5v, y yo lo alimentare con una bateria de litio, así que soló me hizo falta regular el microcontrolador, pq va de 2 a 3v, le puse un 1700 de microchip. Por ahora solo he encontrado un fallo, y es que la coocación de este la hice mal, lo he soldado al reve´s y por ahora bien.

Estoy todabía haciendo pruebas, tb me molesta un poco un condensador, pero bueno, cuando este totalmente probado y funcionando lo cuelgo.

Salu2
Si buscas resultados distintos, no hagas siempre lo mismo. Albert Einstein.

Desconectado beto1234

  • PIC10
  • *
  • Mensajes: 49
    • Tesco Electronics
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #18 en: 29 de Junio de 2011, 00:32:32 »
 Q bueno yo voy tratar de conectar el modulo con la pc ó con un pic16f873a voy a tener q hacer aparte con transistores algo para el TTL xq no van a coincidir mucho.

Desconectado DaYeS

  • PIC16
  • ***
  • Mensajes: 119
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #19 en: 29 de Junio de 2011, 02:48:59 »
Q bueno yo voy tratar de conectar el modulo con la pc ó con un pic16f873a voy a tener q hacer aparte con transistores algo para el TTL xq no van a coincidir mucho.
No creo que te haga falta, si te fijas en el datasheet del sim900 tanto el rx como tx tiene un rango de funcionamiento buneo, es más, a mi me esta llendo bien conectados directamnete.

Por ahora las pruebas van bien, soló que no tengo mucho tiempo y me quede un poco atrancado en el analisis de la respuesta del módulo, para ver si ha recibido bien los datos, ya que lo hago por interrupción y no queria que estubiera mucho tiempo en ella. Para lo que es el "error" y el "ok" es fácil, pero estoy paar analizar sms.

Me falta conseguir una sim, que lo hare hoy, y espero en poco tiempo poder subir todo.

Salu2
Si buscas resultados distintos, no hagas siempre lo mismo. Albert Einstein.

Desconectado TM

  • PIC10
  • *
  • Mensajes: 1
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #20 en: 29 de Junio de 2011, 16:42:38 »
Sres, estoy adquiriendo el sim900, que tipo de tarjeta me recomiendan.
Por otro lado si conocen algo del Sim548C y de los comandos At y SMS

gracias

Carlos

Desconectado DaYeS

  • PIC16
  • ***
  • Mensajes: 119
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #21 en: 29 de Junio de 2011, 18:38:04 »
Sres, estoy adquiriendo el sim900, que tipo de tarjeta me recomiendan.
Por otro lado si conocen algo del Sim548C y de los comandos At y SMS
gracias
Carlos

Que tal Carlos, no se a que te refieres con lo del tipo de tarjeta, ¿SIM?...

Respecto al Sim548C es idem que el sim900 pero con GPS, también más grande...

De los comandos at para los sms igual que cualquier modulo, de todas maneras AQUI tienes todos los comandos del sim900, y como los tienes que poner junto a las respuestas, vamos todo de los coamndos hayes del sim900.

Salu2
Si buscas resultados distintos, no hagas siempre lo mismo. Albert Einstein.

Desconectado beto1234

  • PIC10
  • *
  • Mensajes: 49
    • Tesco Electronics
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #22 en: 30 de Junio de 2011, 07:50:51 »
Por si te sirve mira este code:

Código: [Seleccionar]
/*
 Funcion: Activar un led/relay durante 600ms cuando se envía un SMS
 Mensaje de control: led
 autor: Fernando R. Tagliaferri
 Microcontrolador: PIC18F26J60
 Placa: TRACKME (www.mcelectronics.com.ar)
 */
  #include "trackme1BR.h"
  #include <stdlib.h>
  #include <string.h>
  #use standard_io(a)
  #use standard_io(b)
  #use standard_io(c)
  #define PIN_ON  output_high
  #define PIN_OFF output_low
  #define POWERKEYGSM  PIN_C2
  #define RELAY  PIN_C0
  #define PANIC  PIN_C1
  #define LED  PIN_B2
//*************************************************************************************************************************************
//--------------------------------------variables globales
//*************************************************************************************************************************************
int d;
int const lenbuff=3;  // Tamaño del buffer de recepción
int8 cbuff[lenbuff];   // Buffer de recepcion de datos serie

//*************************************************************************************************************************************
//--------------------------------------Interrupcion serie
//*************************************************************************************************************************************
#INT_RDA
void  RDA_isr(void)
   {
      d=0;                      
      d=getchar(SERIAL1);
      cbuff[0]=cbuff[1];
      cbuff[1]=cbuff[2];
      cbuff[2]=d;
    
   }
//*************************************************************************************************************************************  
//-----------------------------------Funciones
//*************************************************************************************************************************************
void inicializacionSIM900(void)    //Inicializacion del modulo GSM
{
   int cont;
   delay_ms(1000);   //espero estabilizacion del circuito, tensiones, etc....
   puts("A"); //para sincronizar el baudrate del SIM 900
   delay_ms(300);
   putchar(0x0d); //envio un enter
   delay_ms(3000);  //demora luego de la sincronizacion segun hoja de datos
            
   for(cont=0;cont<5;cont++)              // mando varios AT confirmar arranque del modulo y conexion serie a 9600,N,8,1
         {
         puts("AT");
         delay_ms(300);
         putchar(0x0d);
         delay_ms(500);
         PIN_ON(LED);                     //Utilizo led para verificar que encendio el PIC
         delay_ms(500);
         PIN_OFF(LED);
         }
//-----------------------------------seteos de configuracion del SIM900------------------------        
   puts("AT+CNMI=2,2,0,0,0");        // configuro para que en cuanto llegue un mensaje lo envie el modulo gsm por el puerto serie
   delay_ms(100);
   putchar(0x0d);
   delay_ms(100);
   puts("ATS0=2");                  // configuro para que atienda al segundo ring
   delay_ms(100);
   putchar(0x0d);
   delay_ms(100);
   puts("AT+CMGF=1");                  // configuro para que trabaje en modo texto y no PDU
   delay_ms(100);
   putchar(0x0d);
   delay_ms(100);
   return;
}        

//*************************************************************************************************************************************
//*************************************************************************************************************************************
//------------------------------------Programa Principal
//*************************************************************************************************************************************
void main()
{  
   setup_adc_ports(NO_ANALOGS|VSS_VDD);          
   setup_adc(ADC_OFF|ADC_TAD_MUL_0);            
   setup_spi(SPI_SS_DISABLED);
   setup_spi2(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
   setup_timer_4(T4_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   enable_interrupts(INT_RDA);     // Habilita la interrupcion serial
   enable_interrupts(GLOBAL);       // Habilito todas las interrupciones

//------------------------------------------------MI PROGRAMA!!-------------------------------------------------------------------
   set_tris_a(0b00101101);
   set_tris_b(0b00011011);
   set_tris_c(0b10000010);
  
   PIN_OFF(POWERKEYGSM);    //Enciendo modulo GSM
   inicializacionSIM900();  //Inicializo el SIM900
  
  
  while (true)               // bucle infinito
   {
   if(cbuff[0]=='l' && cbuff[1]=='e' && cbuff[2]=='d')     // Si el mensaje recivido dice led enciende el relay por 600ms
      {
      cbuff[0]=0;
      PIN_ON(RELAY);            //PIN_ON(LED);      // Para utilizar el LED
      delay_ms(600);
      PIN_OFF(RELAY);           //PIN_OFF(LED);     /Para usar el LED
      }  
   }
}
« Última modificación: 30 de Junio de 2011, 07:54:03 por beto1234 »

Desconectado DaYeS

  • PIC16
  • ***
  • Mensajes: 119
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #23 en: 30 de Junio de 2011, 17:37:49 »
Por si te sirve mira este code:

Muy bueno beto, yo estaba haciendo de otra manera, creo que es más sencilla, por ejemplo:
Código: [Seleccionar]
printf("ATZ\r\n"); //Restauro valores por defecto (por si acaso)
retardo(10);
printf("ATE\r\n"); //Activo eco
retardo(10);
printf("AT+CMGF=1\r\n");         //SMS modo texto
retardo(10);
printf("AT+CNMI=2,2,2,1,0\r\n");        //Aviso nuevo sms
retardo(10);
printf("AT+CREG=?\r\n");               //0 = SIN COBER; 1=REG HOME; 2=NO REG BUSCANDO; 3=REG DENEGADO; 4=UNKOUNK; 5=REG ROAMING
retardo(10);

Ya que tienes la stdio se puede aprobechar printf, además meto intro y retorno para verlo bien en el hiperterminal.

Ah, la función retardo solo es de 100 ms * la que envies (en este ejemplo 10 +100 = 1000ms = 1seg), como el pulso de encendido, retardo para encendido, comandos... es diferente con esta vale pa todo.

Espero tener todo listo y pasarolo, pero por ahora me he encontrado con unos problemillas, jeje, como no, sino no tiene gracia.

Como os dije iba a comprar la SIM para probar todo.... Bueno, pues todo funcionaba creo que bien, y cuando le meto la sim a los 14 seg se resetea el modulo...vuelve a salir lo de RDY, CFUN = 1....

Supongo que es debido a que la batería esta descargada y no es capaz de suministrar la intensidad suficiente para el arrancado del módulo, ya que cuando no tiene tarjeta va bien, lo raro es que el CBC me devuelve que esta a un 19% y 3,6v, por lo que debería de ir, pero supongo que al pegar el pico se vendrá abajo....

Bueno, hasta que consiga cargar la batería o una fuente (hasta el lunes) ire terminando el programa....

Ahh, para evitarte tb la A del principio (autobauding) si ya sabes a la velocidad a la que te vas a comunicar con el mçodulo puedes utilizar AT+IPR=velocidad, yo por ahora estoy con 9600 y va muy bien, pero me da miedo subir por perder caracteres, además creo que no me hace falta más velocidad....

Bueno lo dicho, muchas gracias beto, y poco a poco lo sacaremos, jejeje.

Salu2
Si buscas resultados distintos, no hagas siempre lo mismo. Albert Einstein.

Desconectado beto1234

  • PIC10
  • *
  • Mensajes: 49
    • Tesco Electronics
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #24 en: 01 de Julio de 2011, 00:29:57 »
 El módulo se apagará automáticamente (STATUS = low) cuando se detecte tensión de alimentación fuera del rango 3.3 < VBAT < 4.6 o cuando la temperatura este por encima de 85°C. Sin embargo 0.1v antes de los limites envía warnings por la USART.
  La fuente debe proveer una tensión estable entre 3.4 y 4.5 v.Además debe poder entregar 2A durante los periodos de transmisión.
  Una pregunta en el pin VRTC, que le colocaste una batería externa? o un Capacitor?. Si es un capacitor q valor usaste?
« Última modificación: 01 de Julio de 2011, 00:47:16 por beto1234 »

Desconectado DaYeS

  • PIC16
  • ***
  • Mensajes: 119
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #25 en: 01 de Julio de 2011, 07:26:56 »
El módulo se apagará automáticamente (STATUS = low) cuando se detecte tensión de alimentación fuera del rango 3.3 < VBAT < 4.6 o cuando la temperatura este por encima de 85°C. Sin embargo 0.1v antes de los limites envía warnings por la USART.
  La fuente debe proveer una tensión estable entre 3.4 y 4.5 v.Además debe poder entregar 2A durante los periodos de transmisión.
  Una pregunta en el pin VRTC, que le colocaste una batería externa? o un Capacitor?. Si es un capacitor q valor usaste?

En el pin VRTC no le puse nada, ya que no creo que utilice su RTC sin batería, de todas maneras un capacitor no te va a servir de mucho, ya que aunque consuma poco 2uA, te aguantara segundos, si lo que quieres es mantener el rtc cuando le quitas la batería te aconsejo una 2032 o algo por el estilo, pero de esta manera vas a ocupar mucho espacio, yo lo estaba intentando hacer lo más pequeño posible.

Aseguro que a 85º no esta, (aunque a las 15h lo parezca, jeje, haber si compro el aire acondicionado ya), y la batería esta a unos 3,6v.

Cuando no tiene SIM va perfecto, cuando lo alimento el circuito a 3,5v ya me salta por urc el mensaje de low batery WARNING, jejeje. Pero lo que me esta pasando es que meto la SIM y creo, que cuando se intenta registrar con la bts me tira la bateria abajo ya que cuando pide los 2A el voltage caera durante unos onstante, haciendo que se reinicie...

Estaba con una de litio, que cargada totalmente da unos 4,2v y descargada unos 3,5v, así que supongo que a esta le queda poco. Supongo que cuando la cargue estará el problema resuelto. Lo malo es que en un futuro se me apagara antes de los warning, ya que esta muere antes de los 3,4...Pero ya veremos como lo solucionamos, supongo que con un analogico/digital del micro...

Bueno, poco a poco. Cuando vea que se registra, manda sms, coge bien cobertura.... te paso la pcb.

Y cuando el programa vaya más o menos el código.

Salu2
Si buscas resultados distintos, no hagas siempre lo mismo. Albert Einstein.

Desconectado beto1234

  • PIC10
  • *
  • Mensajes: 49
    • Tesco Electronics
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #26 en: 01 de Julio de 2011, 08:10:24 »
 En la VRTC aconsejan ponerle un capacitor por eso. Yo ahora estoy con unos rf rre ocupados, pero cuando tenga mas tiempo me pongo manos a la obra jaja. Yo me conformo hasta con un trafo, esta bueno tmb con una batería xq es mas trasladable, vos para q lo vas a usar? Yo quiero ponerlo en el campo para medir los sensores de humedad y temperatura. 

Desconectado DaYeS

  • PIC16
  • ***
  • Mensajes: 119
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #27 en: 01 de Julio de 2011, 10:31:26 »
En la VRTC aconsejan ponerle un capacitor por eso. Yo ahora estoy con unos rf rre ocupados, pero cuando tenga mas tiempo me pongo manos a la obra jaja. Yo me conformo hasta con un trafo, esta bueno tmb con una batería xq es mas trasladable, vos para q lo vas a usar? Yo quiero ponerlo en el campo para medir los sensores de humedad y temperatura. 

En el datasheet dice que se puede poner una batería, un condensador, o que si no se quiere utilizar el RTC no se conecte. No es que no se pueda utilizar, sino que cada vez que se le va la alimentación se queda sin hora y fecha y hay que volver a establecerlos.

Viendo tu caso no creo que tampoco te haga falta, ya que supongo que siempre estara encendido, y si no es a una fuente será a una batería, pero sin desconectarlo, siendo transladable, pero cno su batería conectada.

Yo también ando liado con estudios, por eso lo llevo un poco lento este proyecto.

Lo que estoy haciendo de modo diversión, es para que mande sms cuando detecte algún sensor, y que tenga una salida para poder comandar, por ejemplo, poner un sensor de temperatura y cuando esta sea elevada apagar el dispositivo. Digamos que los sensores se deberán hacer después, soló deberán enviar un pulso a una de las entradas, y de esta manera a través de una interrupción, mande un sms como que el sensor se a activado.

Los pcb´s de los sensores aún no los he pensado, era para que este pcb fuera universal para cualquier sensor, así después se puede diseñar uno de temperatura, uno de ruido, un PIR... todos con el mismo funcionamiento, cuando se quiera que haga un pulso.

Ufff, como me expando, y encima me he explicado un poco mal, pero bueno, ahí queda... espero que hayas cojido la idea principal.

Salu2
Si buscas resultados distintos, no hagas siempre lo mismo. Albert Einstein.

Desconectado DaYeS

  • PIC16
  • ***
  • Mensajes: 119
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #28 en: 02 de Julio de 2011, 11:17:06 »
Bueno, ya encontre el error, me queda mirarlo bien, pero la verdad es que me costo encontrarlo un poco porque era un fallo bastante tonto.

Ya le puse una batería recien cargada, y hacia lo mismo, por lo que la batería no era. Buscando enconte esto:

MCelectrinics donde hablan del módulo, y me di cuenta que una de las consideraciones importantes no la habia tenido en cuenta, colocar vias debajo del módulo, donde se encuentra parte metalica de antenas y los point test. Ah, por cierto, una cosilla para estos hombres, VIAS es con V no con B, pero creo que les permitiremos este fallo por la ayuda que nos han brindado, jeje. :-/ :-/

Además de eso el resto lo tenía bien, es más, si que pasaban vias (corregido), pero no eran metalicas, estaban protegidas. La antena tampocó era, soló podia ser la alimentación o que el módulo estubiera mal.

Revise todo el pcb, hice mejoras (ensanchando pistas de alimentación, recolocación del 1700, el condensador que molesta un poco no habia manera de colocarlo mejor sin desconfigurar otras cosas), pero nada...

Al final, el error más tonto que nunca pense que podría ser, al estar revisando la alimentación de la pcb y ensanchando pistas, me fije como tenía colada la alimentación, tenía el cable que salia de la bateria conectado a unas clemas (para poder cambiar rápido la batería), de las clemas salia dos cables de unos 50 cm hasta otro cable que llevaba unos 20 cm y termina en el conector que le habia puesto.

Por lo tanto sería unos 100 cm de cable de la batería hasta la pcb con 2 empalmes, y la sección de un cable no era muy gruesa, por lo que quite todo y conecte el cable de la batería a el pcb directamente, y funciono correctamente. :oops: :oops:

Ahora me queda mirar si el conector que utilizo vale para los 2A de pico y hacer un cable directo de este a la batería que sea corto, jeje. Y si no haré en la pcb dos agujeros para la alimentación sin conectores.

Ya va quedando menos de pruebas, y ya por lo menos el módulo esta funcionando correctamente.

Salu2
Si buscas resultados distintos, no hagas siempre lo mismo. Albert Einstein.

Desconectado beto1234

  • PIC10
  • *
  • Mensajes: 49
    • Tesco Electronics
Re: Experiencia con PIC18 y módulo SIM900
« Respuesta #29 en: 03 de Julio de 2011, 12:56:32 »
 Ya me parecía que tu problema estaba en esos 2A del modulo jaja, pero viste como es la cosa un simple conector te puede joder la vida. Por cierto con que programas diseñas tus pistas?. Yo por el momento ando buscando un sock plcc para el modulo y no lo consigo, voy a tener q soldarlo yo mismo pero no me animo mucho jaja.


 

anything