Reciclando Cajones de Dinero / Cash Drawer Recycling


Aquí un pequeño instructivo de como adaptar los cajones de dinero con solenoide para ser utilizados con impresoras fiscales Hasar.

Hoy en día es usual tener controladores fiscales viejos, a los que, una vez dados de baja, podemos desarmar para reutilizar el cajón de dinero.

En las impresoras fiscales Hasar (715, 441), la conexión se hace con una ficha RJ12 (es como la RJ11 pero con 6 pines).

2013-12-03 10.50.59

2013-12-03 10.50.29

Esquema de conexionado:

2013-12-02 11.53.45Con los pines 2 y 4 manejamos la bobina del solenoide. Con el 3 y 6, sensamos la apertura del cajón, es decir, verificamos si está abierto o no.

Solo tenemos que soldar respetando esta convención.

2013-12-03 10.49.45El resto es solo programar… 😉

De SIM a MicroSIM – From SIM to MicroSIM or 3FF SIM Card


Las tarjetas SIM vienen del estandard establecido por la norma ISO 7816 para tarjetas de identificación electrónicas. Especialmente las inteligentes.

Hoy en día cada vez mas aparatos electrónicos vienen preparados para la tarjeta MicroSIM, con lo cual, nos veremos obligados a solitarle a nuestro proveedor de telefonía una nueva SIM con ese formato. Pero como la única diferencia es el tamaño, facilmente podremos recortar una SIM para llevarla a MicroSIM.

Acá un detalle de los tamaños establecidos por la norma ISO 7816 comparados tambien con la norma ISO 7810 que se utiliza para las tarjetas de crédito.

En la imágen vemos que tenemos que recortar la tarjeta ID-000 (15x25mm) a Mini-UICC (12x15mm).

Esto podemos hacerlo facilmente marcando con un lápiz la linea de corte y luego cortando con una tijera o alicate afilada. Mientras no toquemos el chip, no habrá problemas. Luego podemos suavizar los bordes con una pequeña lima o papel de lija.

Si no nos animamos a recortar midiendo con una regla, podemos imprimir este template en una hoja A4 y luego marcar el corte.

Cambiar dirección de giro motor de Corriente Continua


Trabajando en mi nuevo proyecto de robótica, me encontré con el problema mencionado en el título.

En todos lados encontré el famoso circuito del Puente H para invertir la polaridad en los bornes del motor y lograr el cambio de dirección de giro en un motor de CC.

Este puente se puede implementar de muchas maneras diferentes, puede ser con transistores o inclusive con integrados que traen ya la implementación de dos puentes inversores como el L293.

La otra posibilidad consiste en utilizar un relé doble inversor por cada rueda, usando 2 puertos de la placa de control por cada una.

El esquema interno del relé doble inversor es algo así:

El relé tiene por defecto dos contactos cerrados y dos abiertos. Entonces, con un puerto de la placa de control manejamos la tensión del motor, enciendiendo o apagando.

Con el otro puerto manejamos el sentido de giro al energizar la bobina del relé.

Este es el esquema que armé para un relé doble inversor de 12v. en bobina:

y esta es la plaqueta universal armada con los dos relé doble inversor para el cambio de dirección de giro de dos ruedas del robot:

Gracias a la gente del proyecto ICARO por la ayuda !

pixel quemado o trabado ?


Hace unos días tuve una interesante experiencia con una notebook. En la pantalla se veía un punto rojo (sobre fondo blanco). Tan diminuto como un punto, pero que una vez que sabes donde está, comienza a molestar porque tu mirada recae siempre en ese punto.

Este tipo de defectos puede afectar tanto a las pantallas del tipo LCD, como LED, y también a los Plasma. Así que revisar este tipo de anomalía no viene mal cuando uno compra un equipo, mas aún un televisor, dado que no están ajenos al problema.

La detección: la mejor manera es la visual. Mirando atentamente la pantalla con distintos fondos podemos detectarlos. Una ayuda puede ser una página como esta, donde al colocarla en modo de pantalla completa (F11) y seleccionando un color, buscamos facilmente los pixels defectuosos.

Pixel Quemado o Muerto: es el pixel que directamente no enciende y se ve el punto negro sobre una pantalla blanca, este tipo de falla no tiene posibilidades de correción de nuestra parte y debemos tratar de realizar el cambio con el fabricante si aún está en garantía.

Pixel Trabado, Stacked o Bloqueado: es el pixel que no está apagado, sino que se enciende en un color fijo, por ejemplo rojo, verde o azul. En estos casos, tenemos una chance para intentar solucionar el problema. Dado que el pixel está encendido, pero trabado en un color fijo, podemos intentar destrabarlo al ser exitado con rápidos cambios de color. Para ello, podemos utilizar algunos videos preparados a tal fin en youtube, posicionando el punto sobre la porción de video que parpadea en distintos colores. Si esto no soluciona el problema, reclamemos al vendedor.

A no desesperar. Pero verifiquemos inmediatamente luego de la compra para no tener dolores de cabeza posteriores.

 

Tormentas Solares y Sistemas


Alguien podrá decir: que tienen que ver las tormentas solares con las computadoras ? Hoy en día mucho !

Todo tienen relación con todo, mas aún cuando las tormentas solares están relacionadas con los campos magnéticos y esto influye en cualquier sistema eléctrico en general, inclusive los que se encuentran en la tierra.

Resulta que el Sol, es una estrella que se encuentra en el centro del sistema solar y constituye la mayor fuente de energía electromagnética de nuestro sistema planetario. Tiene una distancia promedio a nuestro planeta de 149.600.000 Km… sabías que la luz del Sol tarda 8 minutos y 19 segundos en llegar a la Tierra ? Si de repente se apagara… tardaríamos 8 minutos en enterarnos de la noticia…

La cuestión es que las tormentas solares son generadas por las CME’s (Coronal Mass Ejection) o llamaradas de la superficie solar que generan radiación y viento solar que expulsa el sol en los períodos llamados Solar Max o Maximo Solar.

Cada 11 años, el Sol entra en un ciclo donde predominan las CME, generando tormentas solares. Este ciclo termina con el cambio de polaridad solar, es decir, intercambia de lugar sus polos magnéticos.

En este momento, nuestro Sol está terminando uno de estos ciclos.

Cuando esta radiación y viento solar impactan en nuestra atmósfera sacuden el campo magnético de la tierra, generando corrientes eléctricas hasta la superficie del planeta que dañan los circuítos eléctricos, transformadores y sistemas de comunicación.

De la misma manera, los satélites que orbitan nuestro planeta pueden verse inutilizados temporatiamente o permanentemente dependiendo del tipo impacto.

Hoy en día, donde dependemos en gran medida de la electrónica y la electricidad, tenemos que tener conocimiento de estos fenómenos, dado que pueden provocar el corte de suministro eléctrico, la pérdida de señal en celulares y GPS’s y muchos otros trastornos relacionados con el mal funcionamiento de los equipos electrónicos y eléctricos.

En SpaceWeather podemos mantenernos actualizados respecto del estado y pronóstico de las tormentas solares.

 

Manejo del puerto paralelo en Linux con gcc


Hace unos años me armé la plaqueta de interfaz para controlar el puerto paralelo de la PC.
Hoy en día he retomado el proyecto y trataré de armar un pequeño robot comandado por esta placa desde linux, utilizando una notebook o netbook.

Asi que una de las cosas fundamentales que necesito para este trabajo es conocer el manejo de los puertos con el lenguaje C desde Linux y como compilarlo.
Este es el código básico para el manejo del puerto paralelo en Linux con gcc:

#include
#include
#include
#define puerto 0x378     /* LPT1 */

int main (void)
{

unsigned int p; // en esta variable le decimos, en hexa, cuantos cuantos leds prenderan

//apertura del puerto
if(ioperm(puerto,1,1))
{
perror(“Se ha encontrado el siguiente error: “); //manejo de errores
exit(1); //salida con error
}

p = 0x01; //puerto 1
outb(p,puerto); //envia el valor en binario al puerto
usleep(1000000); //delay

p = 0x00; //puerto 0. Apaga todos los bits
outb(p,puerto);

if(ioperm(puerto,1,0)) //cerramos los permisos del uso al puerto
{
perror(“Se ha encontrado el siguiente error: “); //volvemos a manejar un eror en caso de…
exit(1); // salimos mostrando mensaje de error
}
exit(0); //terminamos el programa

Ahora, como compilamos este programa ?
Supongamos que lo guardamos con el nombre test.c

$ gcc -o test test.c

Para ejecutarlo bastará con la orden:

$ sudo ./test

Para saber los valores de encendido y apagado de los 8 puertos de salida, revisar el post de Control de Potencia con PC

Control de Potencia con PC


Siempre quise poder controlar cualquier dispositivo a través de una PC.
La manera mas sencilla es a través del puerto paralelo:Puerto Paralelo:

Los pines 2 al 9 son de salida.
los pines 10 al 13 son de entrada.

También denominado puerto de impresora ó LPT éste puerto dispone de tres
canales de comunicaciones cuyos pines envían señales desde y hacia la
computadora todos al mismo tiempo, de ahí el término paralelo.
Inicialmente la plataforma PC permite disponer de hasta un máximo de
tres puertos paralelos, usualmente denominados LPT1, LPT2 y LPT3.
Exceptuando las nuevas computadoras iMac de la firma Apple Computers
todas las computadoras personales disponen al menos de un puerto paralelo
al cual generalmente se lo llama LPT1. A comienzos de la computación
personal (cuando reinaban las XT) el puerto paralelo venía incluido
en la plaqueta controladora de vídeo. Luego, con la llegada de las
controladoras VGA el puerto comenzó a ser incorporado en las
controladoras de unidades de disco (mas conocidas como multifunción).
Pero con la quinta generación en PC (cuando apareció el Pentium de Intel)
cambió todo nuevamente quedando la placa multifunción incorporada a la
placa base del sistema o Motherboard.

Los terminales del puerto paralelo sólo pueden manejar señales digitales,
cuyos valores de tensión representan estados altos o bajos. Cuando no hay
tensión en el pin se asume un estado lógico bajo mientras que cuando hay
una tensión cercana a los 5v el estado asumido es el alto. Cada pin puede
drenar un máximo de 50mA, insuficiente para manejar cualquier tipo de
carga mediana o pesada. Pero es suficiente para encender un diodo LED.

Para controlar el estado de los pines del puerto paralelo basta con
escribir un número entero positivo de 8 bits en la dirección del mismo.
El pin de datos 0, que físicamente está conectado al terminal 2 del
contector, asume el peso 1. Este es el bit de menos peso en la palabra
de datos de dicho puerto. Siguiendo la tabla de abajo observará que es
muy simple manejar puntualmente cada uno de los pines.

 

Por ejemplo, si queremos hacer que los terminales 4, 6, 8 y 9 del
puerto paralelo se enciendan quedando los otros apagados debemos sumar
los valores correspondientes a esos pines y enviar dicho resultado a
la dirección del puerto. En este ejemplo el dato a enviar sería:
4 + 16 + 64 + 128 lo que equivale a 212

Para que todos los pines se enciendan tendremos que enviar el valor 255,
mientras que para que todos se apaguen deberemos enviar el valor 0.

La dirección del puerto LPT1 usualmente es 378, la del puerto LPT2 suele
ser 278 y la del puerto LPT3 casi siempre es 3BC. Aunque esto depende de
como esté configurado su hardware. Una forma de determinar la dirección
del puerto es presionando la tecla Pause al comienzo de la carga del
sistema operativo. Verá una tabla donde el BIOS reporta los parámetros
básicos del equipo, incluyendo datos sobre los puertos.

Control de Potencia con Triacs:

Este circuito permite manejar cargas que funcionen con 220V de la red
eléctrica y que consuman no mas de 1500W. Las posibilidades son:
Lámparas, cafeteras, veladores, electrodomésticos, accesorios, etc.
Televisores y equipos de sonido también pueden ser conectados, pero
seria inútil ya que éstos equipos requieren ser encendidos por “soft”
presionando la tecla Power. Entonces, al darle alimentación el equipo
quedará a la espera de ser encendido.

circuitotriacs

La señal digital proveniente del puerto es limitada en corriente y
aplicada al cátodo del LED interno del optoacoplador. El ánodo de ese
diodo es cableado a MASA digital (pin 25 del puerto paralelo). El
brillo producido por el LED acciona el Triac del opto, que, a su vez,
acciona el triac de potencia. La red RC conectada en paralelo con el
triac de potencia limita la velocidad de evolución de la tensión ante
cargas inductivas.

El optoacoplador incluye en su interior un circuito de detección de
cruce por cero (denominado ZCC). Este sistema hace que la conmutación
sea posible sólo cuando el semiciclo de la corriente alterna se
encuentra en 0V.

El optoacoplador puede ser un MOC3040 ó un MOC3041. El triac debe ser
capaz de manejar 8A sobre 400V. Es indispensable montar el Triac en
un buen disipador térmico.

El circuito mostrado arriba corresponde a un solo canal. Para montar
un sistema de mas canales repetir este tantas veces como canales
necesarios. Recuerde conectar sólo un circuito a cada pin del puerto
paralelo.

Control de Portencia Con Relés:

El relé es un dispositivo mecánico capaz de comandar cargas pesadas
a partir de una pequeña tensión aplicada a su bobina. Básicamente la
bobina contenida en su interior genera un campo magnético que acciona
el interruptor mecánico. Ese interruptor es el encargado de manejar
la potencia en sí, quedando al circuito electrónico la labor de
“mover” la bobina. Permite así aislar mecánicamente la sección de
potencia de la de control. Pero para accionar la bobina la corriente
y tensión presente en un puerto paralelo no es suficiente.

circuitoreles

Este circuito es extremadamente simple y permite manejar ocho relés
con bobinas de 12V a partir de los pines de un puerto paralelo.
Podemos decir que TODOS los componentes de protección y limitación
de corriente, además de los transistores de potencia están incluidos
dentro del circuito integrado.

Si “miramos con la lupa” podremos ver en el interior del chip
ULN2803 ocho esquemas como el de abajo, uno para cada uno de los
canales.

canal

Es normal que la cápsula de este circuito integrado esté tibia con
respecto a la temperatura ambiente. Se debe, como era de suponerse,
a que la corriente requerida por cada relé pasa por sus “entrañas”
y, como sabemos, el manejo de corriente genera calor.

Con las llaves de cada relé el usuario puede manejar lo que le plazca,
siempre que no exceda las especificaciones de tensión y corriente
para la cual están diseñadas. De requerir mayores potencias se puede
emplear el relé para accionar un contactor industrial ú otro relé de
mayor corriente. Es una buena práctica colocar en cada relé un fusible
de protección. Siempre es mas simple cambiar un fusible que desoldar
un relé o reparar pistas de un circuito impreso.

En esta plaqueta he usado los 8 puertos de salida directamente con relés y los 4 puertos de entrada como interruptores, es decir, un circuito normal abierto entre el pin de entrada y masa.
Esta es la plaqueta terminada:
Nov2801

Estos puentes de alambre que se ven son errores míos en el diseño del pcb.

 Aquí pueden descargar los fuentes de control en Visual Basic 6.

Control Remoto para PC


Dicen que de las necesidades surgen las mejores ideas…y estoy convencido de que es así. La cuestión es que tengo unas cuantas películas en cd y las veo en el televisor a través de la salida tv out de la pc, pero me resultaba muy incomodo levantarme del sitio donde estaba viendolas para avanzar o retroceder en cierto momento de las mismas… así fué como me embarque en el proyecto de construirme un control remoto para la pc… no solamente para controlar los videos o la música a distancia sinó para ejecutar cualquier comando…
Éste control remoto también resulta muy útil para un departamento de sistemas, donde los servidores normalmente están en una habitación refrigerada y aislada de la oficina… es muy facil lanzar la ejecución de un script o comando a distancia…
Después de tener mucho tiempo la idea en background en mi cabeza analizando las posibilidades de implementación, llegué a la conclusión de que la manera mas facil de implementarlo sería a través del puerto serie, utilizando la linea DCD (Data Carrier Detect) , Pin 1 en una ficha DB9. Cuando un control remoto emite una señal infraroja, es captada por un receptor infrarojo, que, después de decodificarla, puede envirla como un tren de pulsos altos o bajos (ceros y unos) a la linea DCD. A partir de ahí solo es cuestión de analizar el patron del tren de pulsos a través de un programa y decidir que hacer en caso de que aparezca una secuencia dada.
Éste es el esquema electronico del receptor:
schematics-ir-receiver
La idea es que una vez construído el receptor, se graban los pulsos emitidos por un control remoto cualquiera (ej. de un tv o equipo de audio) y después se utiliza ese control remoto para controlar la pc.
El gran problema con que me encontré fué al programar algoritmo para identificar los patrones de pulsos que ingresan a la linea DCD… es bastante complejo diferenciar la secuencia de un botón Power de la de un botón Volumen, ya que al transformar la señal analogica en digital, puede haber una pequeña variacion en la cantidad de unos y ceros.
La solución a este problema me la dieron los muchachos que hicieron el lirc (Linux Infrared Remote Control) que ya habían pensado en lo mismo y tenían desarrollado el programa para trabajar de la misma manera que yo necesitaba.
La alimentación del circuito la tomamos del pin 7 RTS (request to send), con un diodo para evitar retroalimentación en éste pin.
Respecto del receptor infrarojo, éstos son algunos modelos que se pueden utilizar:
Todos estos modelos ya vienen con el decodificador necesario para obtener la señal esperada para la linea DCD. En caso de no conseguirlos, hay que buscar alguno que trabaje en la frecuencia de 38 kHz, ya que la mayoria de los control remoto, trabajan en ésta frecuencia.
El resto de los componentes se describe en el esquema de arriba.
tie_lirc1
Respecto del programa, aqui tienen una version del winlirc con los fuentes y todo. Pueden abrir el proyecto en Visual C++.

Control de Acceso del Personal económico


Corría el año 2003 y nos pidieron un sistema de control de acceso. Estas son las ideas que surgen cuando no hay presupuesto:

2013-09-27 18.13.51

2013-09-27 18.16.02Tomamos una vieja pistola lectora de código de barras, la pusimos dentro de una caja con una ranura para pasar la tarjeta y reemplazamos el botón por un sensor de presión.

reloj

Las tarjetas poseen un Code 39 con el legajo del empleado y el programa en la pc se ocupa de guardar la fichada en la base de datos. En esa época casi ningún sistema comercial grababa directamente en una base de datos remota.

Este sistema está funcionando desde el 25/11/2003.

Gracias Carlitos B. por tu ayuda con el sensor.