Archive

Author Archive

Lectura analógica de sensores infrarrojos

June 5th, 2010 chorradasman No comments

Con el fin de poder leer un sensor infrarrojo del tipo diodo (aunque realmente es un transistor con una base fotosensible), se realizará el siguiente montaje:

Funcionamiento

El diodo LED de infrarrojos (el de la izquierda) está en serie con una resistencia de 100 ohms, y la luz es recibida mediante rebote por el sensor de la derecha. El puerto analógico convierte el voltaje en el punto medio en un valor de 10 bits (0-1024).
Si en el emisor se sustituye la resistencia por una de 50 ohms conseguiremos que detecte objetos más lejanos.

Base teórica

El puerto analógico se comporta como un circuito abierto, por lo que no consume ni cede corriente.

Cuando el sensor de infrarrojos no recibe infrarrojos se comporta como un diodo al corte, por lo que el potencial en el puerto analógico es de 0V ya que no hay corriente circulando por la resistencia de 1Mohm y por lo tanto se establece al potencial en el polo negativo del generador de corriente.

Cuando el sensor de infrarrojos recibe infrarrojos, se comporta como un cortocircuito (idealmente) por lo que el potencial en el puerto analógico se establece a un valor cercano a los 5V (ya que en el transistor hay una pequeña caída de tensión). En este momento, mientras que el sensor está conduciendo, hay un consumo de corriente a través de la resistencia de 1Mohm, y cuando mayor sea esta resistencia menor consumo, por lo que cuanto mayor sea, mejor.

Cuestiones prácticas

En la práctica, la intensidad del emisor no es suficiente para saturar el transistor receptor, por lo que sólo se consigue que, mediante reflexión de la luz infrarroja en un folio en blanco, el sensor funcione como una resistencia que hace caer alrededor de 2-2,5 voltios en sus extremos.
Si se utiliza una llama de mechero sí que se consigue que el transistor sature y se comporte casi como un cortocircuito (situación deseada).
Teniendo en cuenta esto, el puerto analógico desperdicia parte del rango de conversión, dado que se compara con 5 voltios de referencia. Mediante código solucionaremos esto haciendo que compare el voltaje en el puerto con 2,6 voltios.

Código

El siguiente código lee cada 500 milisegundos el puerto analógico y escribe el valor leído por el puerto serie. Se puede probar a utilizar un papel pintado a franjas blancas y negras y comprobar el comportamiento al transitar de franja a franja.

int val ;
int old ;
void setup() {

    Serial.begin(9600) ;

    // Establece el valor de  referencia a 2,6 voltios
    analogReference(INTERNAL) ;

    // El pin 14 digital es un alias del 0  analógico
    // Al ponerlo en  modo INPUT y valor LOW desactivamos la resistencia PULL UP,
    // lo que debería mejorar la lectura
    pinMode(14,INPUT);
    digitalWrite(14,LOW);
}
void loop() {
    // Lectura del  puerto analógico 0 (valor 0-1024)
    val = analogRead(0) ;

    // Si el valor varía en más de 10 lo mandamos por el puerto serie
    // para no andar mandando todos los valores...
    if (abs(val-old)>10)  {
        Serial.println(val) ;
        old = val ;
    }

    // Esperamos 500ms
    delay(500);

}

Detalles

  • La conversión analógica es mucho más lenta que la lectura digital. Una conversión analógica tarda entre 13 y 250 microsegundos.
  • El arduino posee mucho ruido en la lectura de puertos analógicos, ya que la librería no está programada para realizar lecturas precisas.
Categories: electrónica Tags: , ,

El magnetismo es un efecto relativista de cargas eléctricas en movimiento

May 20th, 2010 chorradasman No comments

… y yo me entero ahora :(

La explicación con fórmulas en: http://www.lawebdefisica.com/arts/magrelweb/

Categories: Uncategorized Tags:

Peluches

May 17th, 2010 chorradasman No comments

Categories: Uncategorized Tags:

Patrón para ajustar un monitor LCD/TFT conectado a la salida analógica VGA

May 12th, 2010 chorradasman No comments

Para ajustar el monitor LCD (en concreto, en mi caso es TFT) conectado a la salida analógica y que cada pixel sea un único pixel lo mejor es utilizar el patrón en forma de cuadrados de ajedrez de esta página: http://www.techmind.org/lcd/phasing.html

Cargar la página, ponerla a pantalla completa con F11 y pulsar el botón de autoajustar del monitor. Después terminar de ajustar un poco a mano. En uno de mis monitores no hizo falta ajustar a mano, y en el otro sólo cambiar un poquito los parámetros hasta que se vió perfectamente el patrón en forma de cuadrados de ajedrez.

Categories: Uncategorized Tags:

Nueva cabecera

May 10th, 2010 chorradasman No comments

Ayer cambié la cabecera. Está hecha por mi novia =)

Categories: Uncategorized Tags: