11 septiembre, 2015

Medir y construir resistencias de valores muy pequeños (inferiores a 1 ohmio)

Medir resistencias de valores inferiores a 1 Ohmio




Al medir una resistencia de valor pequeño nos damos cuenta de la dificultad que presenta. Tan solo con la presión de las puntas del tester varía la resistencia.
La solución es muy sencilla. Lo primero es disponer de una fuente de alimentación regulable tanto en tensión como en intensidad.
¿Para qué sirve el regulador de intensidad? No hay nada como una explicación.
Lo primero es cortocircuitar la fuente de alimentación. Una vez cortocircuitada vamos reduciendo la intensidad máxima hasta llegar a un amperio (1A). La tensión es indiferente (siempre la tengo a cinco voltios).



Al reducir la intensidad máxima nos ofrece la resistencia que opone todo el circuito interno y los cables que se usan en la fuente aplicando la Ley de Ohm, ya que ha ido reduciéndose automaticamente la tensión.
Ahora solo queda aplicar la alimentación a una resistencia y medir la caída de tensión existente en ella. Con la caída de tensión no tenemos el problema de apretar más o menos los terminales. Es despreciable aunque interesa apretar bien.
Lo mejor es verlo con un caso práctico:

La construcción de una resistencia de bajo valor

El caso práctico que se pretende es limitar la intensidad de unos diodos led. Su consumo máximo es de 2 A a una tensión máxima de 10 Voltios. Se pretende limitar con un LM317T. La configuración de este estabilizador de tensión para limitar la intensidad es:
Con el datasheet del LM317T Indica que la caída de tensión entre la patilla de ajuste y la salida es de 1,25 voltios. Por tanto la resistencia necesaria es:
¿Donde encontramos un  valor que se aproxime y económico? En algún rincón del taller seguramente (Todo depende del orden que se tenga)
Buscando encontré un trocito de alambre y unas regletas de empalme de luz. y se le retira el aislamiento a dos.
Se sueldan los dos conectores a una placa taladrada y se atornilla fuertemente una punta del alambre a una de ellas. La otra punta se mete por el otro conector. Se aprieta bien el otro extremo y se aplica tensión.
Ahora solo queda ir ajustando. Si el valor es más elevado se tira afloja y se tira del alambre reduciendo la Resistenica. Si el valor es inferior al deseado se va alargando la curva de la resistencia. El valor que nos indica el tester se corresponde con el valor de la resistencia. Cada vez que se ajusta hay que apretar bien el tornillo.
Una vez ajustada la resistencia se corta al placa y queda más o menos así
Si se están realizando pruebas no es necesario cortar el sobrante (la parte larga). Así sirve para más cálculos. Para recoger la resistencia no hay nada como una broca. 
Sin soltar la resistencia que hemos creado vamos enrollando el hilo a la broca. Es muy importante no variar la longitud ni la presión de los dos tornillos que sujetan la Resistencia. Los dos de abajo se usan para la conexión al circuito. El resultado es:
El resultado es una resistencia de gran potencia del valor deseado sin tener que combinar varias.


 Como siempre: No es tan difícil como parece.

          Gracias por visitar mi blog personal. Si te ha gustado: haz el favor de hacer clic en los anuncios de google que aparecen al principio de cada entrada y date una vuelta por por ellos. Son céntimos lo que aporta pero me ayudas a seguir subiendo cosas. Gracias.

04 septiembre, 2015

Códigos Postales en una tabla excel y acces.




Búsqueda personalizada

 Como siempre: No es tan difícil como parece.

Códigos Postales en una tabla excel y acces.
Alguna que otra población faltará o estará mal. Eso es reparable (uno mismo lo puede hacer)
La tabla acces se puede pegar directamente (copia de seguridad primero) en la base General de Datos.
Chafa la tabla F_POS. de la base de datos General.
Asi los tienes todos.




 Como siempre: No es tan difícil como parece.

          Gracias por visitar mi blog personal. Si te ha gustado: haz el favor de hacer clic en los anuncios de google que aparecen al principio de cada entrada y date una vuelta por por ellos. Son céntimos lo que aporta pero me ayudas a seguir subiendo cosas. Gracias.

19 julio, 2015

Alarma GSM con USB programable (5a)




Búsqueda personalizada

 Como siempre: No es tan difícil como parece.

Alarma GSM con USB programable (5a)

Arrancar el Terminal GSM

     Para conectarnos al móvil, y ya que tiene un montón de problemas la conexión serie que comenté en un post anterior, realizamos una ampliación del circuito que ya se presentó en la Alarma Gsm. Consta de un terminal para la conexión estandar de módulos gsm y otro que se abilitó en la última versión para poder encender el móvil. Podría usarse el RA4 que es una salida a colector abierto. Cuando se descargan las baterias el móvil no arrancaba solo.
     En esta versión se sustituyen las dos resistencias que se calcularon en el apartado 5 por una resistencia de 1k y un diodo zener. La función es la misma: que no sature la entrada de datos del terminal.

Como bien digo siempre: "No es tan difícil como parece... pero se las trae"

Módulo GSM mt 55

     El primer contacto fue hace muchos años con un teléfono Nokia. Después con los módulos Telit y ahora ha caído un siemens mt55.
     El primer problema es conectarlo a una placa para prototipos. Veamos las características físicas del módulo y del conector.
     ¿Eso tan pequeño en una placa de prototipos? ¿Esa que está toda taladrada?
     ¡¡Difícil!!. Dando vueltas lo mejor es hacer una placa para ese conector. La solución ha sido (a parte de romperse la impresora láser y no poder imprimir el Circuito para realizar la placa) desmontar el conector y colocarle unos cables.
     Con los medios técnicos tan precarios que tengo (Esto no me da para más) no he consigo más detalle. El conector no está soldado. Se desmontan los pines que lleva el conector para soldar (salen sin mucha dificultad) Con los alambres de cable flexible (el que lleva muchos hilitos) se van pasando por el orificio que queda. se dobla hacia el exterior se fija y se corta. Cuidado con ese corte. Si te resbala la cuchilla puedes cortar el cable por abajo.
     Es algo de tiempo (bastante) Claro que realizar la placa para el conector. Soldarla (Sin cortocircuitos ni cortes) lleva también su tiempo.
El resultado final con el esquema
     Es este. Ya lo tenemos funcionando (El conector ha ido "de cine")

Puesta en marcha del MT 55 de SIEMENS

     Una vez conectado el módulo a los terminales del puerto serie, hay que conectar un montón más. De momento no se conectan los de voz ni sonido. Los terminales son: (sacados del datasheet de siemens)
     Como siempre hay que leerse el manual antes de empezar a manipular ni conectar. Te llevas gratas sorpresas si no se hace. En algún sitio ley:
" El 50% de las personas leen el manual de instrucciones una vez han roto el aparato. El otro 50% ni aun así lo lee"
     Prestar atención a los dos arranques del módulo mt55 que son el /EMERGOFF Y /IGT. El resultado, una vez arrancado y enviado el primer comando AT es:
     El envío al LCD lo realizo en decimal así que revisando la tabla ascii nos ha respondido: AT.  (65 = A, 84 = T). 
     No ha sido sencillo. La conversión de tensiones se descuidó un poco.

La comunicación del 18F4xxx con MT55

     Una vez leído el datasheet (el del hardware) En la página 30 empieza a explicar el protocolo de arranque del módulo. Antes de enviar ningún comando AT hay que inicializar el GSM (igual que se hace con el I2C, el LCD...). Este es el procedimiento:
por tanto, como de momento no se identifica si está el cargador enchufado o no le daremos un segundo (o más).
     No cabe recordar que el arranque, según tenemos en el esquema, se encuentra en el RC0 y por tanto hay que definirlo para poder usarlo.
     Ahora queda activar la interrupción de recepción del puerto serie
     enviar los datos conforme van llegando al LCD con la interrupción
     Nótese que a la hora de enviar el dato al LCD coloco "%U" y por eso envía los datos en Decimal. El motivo es que hay datos que envía el módulo y no son visibles en el LCD. Unos de ellos son el retorno de carro y nueva línea.
Y enviamos un comando AT y esperamos la respuesta.
     El resultado no era el esperado. El módulo gsm devovía un cero (0). Analizando el circuito y las tensiónes del puerto serie del mt55 algo no cuadra. Es necesario subir la tensión de salida. En la foto del circuito montado se ven tres transistores 2N2222 uno (el de la derecha es para el arranque /IGT. Los otros hacen de amplificador.
Con un transistor 2N2222 invierte la señal y con otro se restablece. Como los transistores son molestos de montar y vamos camino de usar más (falta el encendido de emergencia que sepamos ahora mismo) se implementa con un circuito integrado. El ULN2803 puede servir. Queda así por ahora.
      La señal se recibe del módulo mt55 por la resistencia 19 y sale por la patilla 13 del ulm2803.
     De momento ya tenemos bastante. Se ha comunicado con el módulo GSM y en una placa de pruebas. Eso sí tiene mérito (Es lo que tiene la falta de medios. Los pobres jamás saldremos de pobres pero agudiza el ingenio)



 Como siempre: No es tan difícil como parece.

          Gracias por visitar mi blog personal. Si te ha gustado: haz el favor de hacer clic en los anuncios de google que aparecen al principio de cada entrada y date una vuelta por por ellos. Son céntimos lo que aporta pero me ayudas a seguir subiendo cosas. Gracias.

15 julio, 2015

Alarma GSM con USB programable (5)




Búsqueda personalizada

 Como siempre: No es tan difícil como parece.

Alarma GSM con USB programable (5)

Identificar los Timers del microcontrolador.

     Comenzamos con las interrupciones. Lo primero es identificarlas para los microcontroladores pic18Fxxxx. Lo mejor para ello es ir (como estamos programando usando Ccs) al datasheet del Ccs y ver cuantos timer se pueden programar.
     Como el manual del Ccs es genérico hay que ver uno por uno para comprobar que nuestro 18F4455 los soporta. Para ir al grano vamos al timer3 directamente ya que los tres anteriores los soportan incluso los 16Fxxx. Para ello la activamos con estas lineas de código.
     Se genera la interrupción, colocamos un breakpoint, se compila y ejecutamos. El resultado es:


     Lo soporta perfectamente. Por ello probamos los demás realizando la misma prueba a ver lo que sucede. Al compilar da fallo y vemos donde lo indica.

hacemos doble clic sobre la primera línea del error y nos lleva al la interrupción del timer 4.
     Esto indica que no lo soporta. También se puede ir al datasheet del 18Fxxxx y, una vez leído, ver que el microcontrolador no lo lleva implementado. Esta es otra forma de comprobar las cosas. 
     De momento, ya se ajustará cuando se necesiten, los dejamos así, bien identificados:
     Los he colocado después de la inicialización del USB y del LCD. De esta forma no molestaran los timers en el proceso de arranque de los periféricos.
     La configuración con las interrupciones queda así.
     Con esto queda terminado el proceso de identificación de los timers. Ahora queda ajustarlos conforme se vayan precisando. Cada uno cumplirá una o varias funciones y tiempos dependiendo el cometido que esté realizando en cada momento.


 Como siempre: No es tan difícil como parece.

          Gracias por visitar mi blog personal. Si te ha gustado: haz el favor de hacer clic en los anuncios de google que aparecen al principio de cada entrada y date una vuelta por por ellos. Son céntimos lo que aporta pero me ayudas a seguir subiendo cosas. Gracias.

Alarma GSM con USB programable (4a)




Búsqueda personalizada

 Como siempre: No es tan difícil como parece.

     Alarma GSM con USB programable (4a)

      Puerto Serie 232. Conexión con terminal GSM

      A estas alturas ya está casi todo. Hay lcd para poder visualizar datos. Hay un teclado para poder introducir los datos. Hay comunicación con periféricos por I2C para ampliaciones. Hay un puerto para USB para conectarnos con un Ordenador. Ahora queda la comunicación con los gsm. Por lo general, sin entrar en detalles de momento, la comunicación se realiza via  Serie. Para poder simular con el PC colocamos un puerto serie virtual COMPIM. 
y se configura para trabajar como sigue. Seguramente, si no se dispone de puertos virtuales, habrá que descargar algún programa que lo realice. El que usé es Eltima Software Elegir el que más conviene y a trabajar. Es gratis por 14 días.
      El COMPIM se configura así:
      La velocidad de transmisión no es crítica por el momento. De momento lo dejamos así. Para el programa con el MPLAB necesitamos implementar el puerto serie. En esta ocasión se usan los pines que vienen por defecto en el hadware del microcontrolador 18F4455.
      Con esta línea que incorporamos después del I2C ya podemos usar el puerto serie 232 para comunicar con cualquier módulo GSM, incluso con los móviles. Para enviar código (comandos AT en este caso) usaremos la llamada a printf(dato a enviar)
      En este caso enviamos ATD6 seguido del típico salto de línea y retroceso de carro. El resultado con el Hiperterminal es:
      El dato ha sido enviado correctamente.
      El problema aparece con las tensiones. Los GSM suelen trabajar a 3,3V. Aunque el rango de trabajo de estos microcontroladores de 2.0V a 5.5V se va a realizar todo el circuito en base a los 5V. Así que usando la ley de Ohm se calculan las resistencias para el ajuste de tensiones para la transmisión. Para evitar molestias e interferencias se calcula para una intensidad que ronde 1mA. De momento nos valdrá. El ajuste final queda para... el final. Se parte de una R a GND en la que tienen que caer 4V aprox y se le da un valor de 4k7 (a ojo y se calcula a ver si es buena, si se sale de rango se pilla otra y se calcula. Además son de las que más tengo). Calculando la intensidad que pasará por ella cuando pasen los 4 V se calcula la otra resistencia.
      Casi un miliamperio. La aproximación ha sido buena. Ahora con esta intensidad se calcula la resistencia en la que debe caer 1V.
      Ahora solo queda coger un valor estandarizado de la resistencia y calculamos a ver que pasa. El valor más idóneo es de 1k2 (1200 ohmios) Si se elige el valor inferior la caída de tensión será menor y cuanto mas caiga mejor.
      Tres coma noventa y ocho voltios. La aproximación ha salido perfecta. Ahora la hora de la verdad. ¿Se equivocará la calculadora o yo?
      Pues ya tenemos bien calculada la caída de tensión. El módulo GSM o lo que coloquemos en el puerto de comunicaciones serie 232 nos entenderá perfectamente.


 Como siempre: No es tan difícil como parece.

          Gracias por visitar mi blog personal. Si te ha gustado: haz el favor de hacer clic en los anuncios de google que aparecen al principio de cada entrada y date una vuelta por por ellos. Son céntimos lo que aporta pero me ayudas a seguir subiendo cosas. Gracias.

14 julio, 2015

Alarma GSM con USB programable (3d)





Búsqueda personalizada

 Como siempre: No es tan difícil como parece.

Alarma GSM con USB programable (3d)

Ampliación a través de I2C de la alarma

     En ocasiones hay que tener una memoria que se pueda sustituir, ampliar, modificar, etc. Es posible la necesidad de más entradas o salida. Colocar un reloj independiente al microcontrolador. El puerto I2C no está de más implementarlo en el circuito. 
     En la búsqueda por el famoso Internet no he podido localizar como conectar dos memoria 24LC256 al mismo controlador usando la librería estándar de Ccs. Veamos que hay que hacer para poder conectar dos o más memorias (sirve para saber que hay que modificar en otras estándar de otros modelos de I2C).
     Por lo general los pic tiene el hadware del I2C en el puerto N. Como está ocupado por el teclado, lo primero es cambiarlo a otro puerto. Como en el esquema se puede apreciar se ha colocado en el puerto E. Para poder trabajar por el hay que hacer una pequeña modificación en la librería estándar 24256.C del Ccs.
modificamos la original cambiando las patillas del SDA y SCL. por el puerto E según la conexión que se realice de las EEprom. El archivo quedaría así:
     El protocolo de escritura dice que hay que enviar el primero el número de dispositivo. El número se programa con la conexión de las patillas del 24LC256 A0, A1 Y A2. Colocando todas a GND sería el dispositivo 0 y en forma binaria si colocamos A0 a Vdd sería el dispositivo 1, y así progresivamente.
     El envío del número de dispositivo se envía en la línea 42  de la escritura y en la línea 58 que es de la lectura.
     El dato en hexadecimal empieza por 'a' lo que indica que es una memoria... (Ver datasheet del dispositivo) que no se ha de modificar. De esa forma el dispositivo sabe que se le está ablando a el. Como hay un cero no se puede enviar datos a otro dispositivo. Lo mismo ocurre con la lectura de un dato. Para poder manejar más dispositivos hay que realizar unas modificaciones. 
     Lo primero es poder enviar un dato más. Para ello modificamos las dos funciones (subrutinas, para mi).Como es un número lo que enviamos le asignamos a cada subrutina una variable más a la que llamaremos 'dispositivo'. (Aunque aparecela  variable como int hay que poner byte).
     Ahora manipulamos el dato para adaptarlo. Se enviará el número de dispositivo (del 0 al 7). Según el protocolo I2C el bit de menos peso representa la lectura o escritura.
     Corremos a la izquierda el número que enviamos y se le suma el tipo de dispositivo (recordar que la EEprom es el 0xA0). Con eso ya podemos escribir en la EEporm.
     Realizar lo mismo en la lectura de la EEprom. Y modificar la línea en la que pide la lectura (las primeras son para identificar el dispositivo).
     Ahora solo queda realizar la llamada al dispositivo cero (0) que funcionaba correctamente y llamar al dispositivo uno (1) que no funcionaba. Llamamos a la escritura y a la lectura del dato que escribimos
     Indica la escritura en el registro 21 el dato a guardar es 0xD1 en el dispositivo 1. La lectura es del registro 21 del dispositivo 1. Se pasa al LCD 
     Y el resultado una vez ejecutado el programa es:
     El dato enviado se visualiza en el LCD sin errores.


 Como siempre: No es tan difícil como parece.

          Gracias por visitar mi blog personal. Si te ha gustado: haz el favor de hacer clic en los anuncios de google que aparecen al principio de cada entrada y date una vuelta por por ellos. Son céntimos lo que aporta pero me ayudas a seguir subiendo cosas. Gracias.