Componentes Electrónicos · Tema 35

Proyecto integrador: módulo sensor

Un proyecto chico y completo: una luz que se enciende sola al anochecer. Sensa con una fotorresistencia, indica con un LED y conmuta una tira de 12 V. No hay ninguna pieza nueva. Lo nuevo es hacerlo de punta a punta, con todo lo que el curso enseñó a hacer por separado, y descubrir qué aparece cuando las partes se juntan.

≈ 75 minutos, más el montaje Proyecto: placa de 5 V con entrada analógica, fotorresistencia, MOSFET de nivel lógico, tira de LED y fuente de 12 V, fusible, multímetro Incluye simulador y Python

01 · Punto de partida

Cada parte funcionaba

El Tema 30 empezó con una luz de noche que parpadeaba durante media hora cada tarde. Aquella vez el problema era un resistor mal elegido. Este tema termina ese proyecto, y lo hace entero.

Una escena típica. Esta vez hacés todo bien. Elegís el resistor del divisor con la media geométrica y lo probás: cientos de cuentas entre el día y la noche. Probás la llave con un LED: enciende y apaga. Probás la tira con su fuente: ilumina el pasillo. Tres partes, tres pruebas pasadas. Las juntás, cargás un programa de una línea, «si la lectura baja de 200, encender», y esperás al atardecer.

A las siete y diez la tira se enciende. Y se apaga. Y se enciende. Varias veces por segundo, toda la noche. Tapás el sensor con la mano: queda encendida, firme. La sacás: vuelve a parpadear. No hay ninguna pieza fallada ni ningún cable flojo.

La tira ilumina el pasillo, y el sensor está en el pasillo. Cuando la tira se enciende, el sensor ve luz, el programa concluye que es de día y la apaga. Con la tira apagada vuelve a estar oscuro, y la enciende. La falla no está en el sensor, ni en la llave, ni en la tira: está en un camino que no figura en el esquema, el que va de la salida a la entrada por el aire.

Un programador conoce esta situación con otro nombre. Las pruebas unitarias pasan todas y el sistema falla al integrarse, porque el error no vive en ningún módulo: vive en la interacción. Y conoce también la forma particular de este: un sistema que reacciona a su propia salida. Un proceso que vigila un registro y escribe en ese mismo registro cada vez que detecta un cambio.

  • ¿Cómo se divide un proyecto en bloques que se puedan diseñar y probar por separado?
  • ¿Qué se define en la frontera entre dos bloques?
  • ¿Cómo se aplican juntos el método de selección, las predicciones y el montaje por etapas?
  • ¿Qué pruebas son del sistema, y no de ninguna parte?
  • ¿Qué tiene que quedar escrito para que el proyecto esté terminado?

02 · Identificar

Los requisitos

El primer paso del método del Tema 34: la idea, escrita con números y antes de pensar en ninguna pieza.

Los requisitos del proyecto. Lo que no está acá, el proyecto no lo hace.
RequisitoValorDe dónde sale
Qué haceEnciende una tira de LED cuando oscurece, y la apaga cuando hay luzLa idea
Cuándo enciendeEn penumbra: alrededor de 1 luxLa tabla del Tema 30
Cómo se comporta en la transiciónUn solo encendido por atardecer, sin parpadeoLa falla del Tema 30, y la de la escena
IndicaciónUn LED que muestre lo que el programa decidió, aunque la tira esté desconectadaPara poder diagnosticar
CargaTira de LED de 12 V, 1 m: 0,4 A medidosMedida, como en el Tema 31
PlacaSalidas de 5 V, tope de 10 mA; entrada analógica de 10 bits con referencia en la alimentaciónLa hoja de la placa
Fuente de potencia12 V y 2 A, separada de la placa; se limita sola por encima de 2 ASu etiqueta
Sin programaLa tira queda apagadaTema 33
MontajeProtoboardDecisión propia
Un requisito es algo que se puede comprobar
«Que no parpadee» no se puede medir. «Un solo encendido por atardecer» se cuenta. Cada fila de la tabla va a tener una prueba en la sección 8.
Lo que queda afuera, a propósito
No regula el brillo, no tiene reloj ni detecta personas. Decirlo es parte de los requisitos: evita que el proyecto crezca a mitad de camino.

03 · Diseño

Cuatro bloques y dos fuentes

El título del proyecto ya es su arquitectura: sensa, decide, indica y conmuta. Cada verbo es un bloque, con un tema del curso detrás.

sensor: fotorresistencia y divisor→decisión: el programa→indicador: LED+llave: MOSFET→tira de 12 V

Lo que hace que los bloques se puedan diseñar y probar por separado es que lo que cruza de uno a otro está definido. Es la interfaz, y se escribe antes que el interior.

Las fronteras del proyecto. Cada fila es un acuerdo entre dos bloques.
DeAQué cruzaLo que se acuerda
SensorEntrada analógicaUna tensiónEntre 0 y 5 V; más luz, más tensión; con capacidad para que el conversor la lea bien
ProgramaIndicadorUn nivel lógicoAlto es «oscuro»; menos de 10 mA
ProgramaLlaveUn nivel lógicoAlto es «encender»; menos de 10 mA; sin mando, apagado
LlaveTiraEl camino al negativo12 V, 0,4 A; milivolts de pérdida
Fuente de 12 VPlacaSolo el negativoUnidos en un punto; la corriente de la tira no pasa por el negativo del sensor
TiraSensorLuzNada, todavía

La última fila es la de la escena. No es una conexión eléctrica y no aparece en ningún esquema, pero es una frontera como las otras: algo sale de un bloque y entra en otro. Escribir la tabla completa, incluyendo lo que cruza por el aire, por el calor o por la alimentación, es la manera de encontrar estos caminos antes de montar.

04 · Selección

El diseño, bloque por bloque

El sensor

La zona de interés
Del anochecer, 1 lux y unos 75 kΩ, a una habitación iluminada, 100 lux y unos 3 kΩ. El resto del rango no importa.
El resistor fijo
Media geométrica: raíz de 75 000 × 3000 = 15 kΩ. Con la fotorresistencia arriba, para que más luz dé más tensión.
Su tolerancia
5 %. El sensor varía un factor de dos entre unidades, y los umbrales se van a calibrar: un resistor al 1 % no agregaría nada.
El capacitor
100 nF entre la entrada y el negativo. Al anochecer el divisor presenta más de 10 kΩ, y el conversor necesita esa reserva para leer bien, como en el Tema 30. De paso filtra ruido.

La decisión

Con un solo umbral, cualquier ruido alrededor de ese valor produce encendidos y apagados. La solución es la del Tema 28, aplicada en el programa: dos umbrales. Uno para encender y otro, más alto, para apagar. Entre los dos, el estado no cambia.

Los umbrales del diseño inicial, con el divisor de 15 kΩ y un conversor de 10 bits.
UmbralCuentasTensiónFotorresistenciaLuz aproximada
Encender por debajo de2000,98 V62 kΩ1,3 lux
Apagar por encima de3001,46 V36 kΩ2,8 lux

Cien cuentas de separación, contra un ruido que en el Tema 30 era de unas pocas. Parece de sobra. La sección 9 va a mostrar que alcanza para el ruido y no para otra cosa.

El indicador

Un LED rojo desde una salida de 5 V. Buscando 7 mA: (5 − 1,8) ÷ 0,007 = 457 Ω, que hacia arriba es 470 Ω. Con ese valor circulan 6,8 mA, dentro del tope de 10 mA, y el resistor disipa 22 mW.

La llave

La llave de la tira, por los pasos del método.
PasoDecisiónPor qué
FunciónConectar al negativo una carga de 12 V y 0,4 A, con 5 V de mandoLos requisitos
FamiliaMOSFET de canal NMás de 200 mA: un bipolar pediría 20 mA de base
Límites24 V o más; 0,6 A o más; garantizado a 5 VTema 4
CápsulaTO-220Protoboard
ModeloIRLZ44N: 55 V, 25 mΩ a 5 VPasa el filtro, y es el que ya usaste en el Tema 32
Arrastra220 Ω en serie con la compuerta; 10 kΩ de compuerta a fuenteTema 23. El de 10 kΩ cumple el requisito «sin programa, apagado»

El calor: 0,4² × 0,025 × 1,5 = 6 mW. Y dos cosas que la tabla de «lo que arrastra» pediría para un actuador y que acá no van: el diodo en paralelo, porque una tira de LED no es una bobina, y el capacitor de reserva, porque no tiene pico de arranque. La tabla se aplica entendiendo por qué pide cada cosa.

La protección

Las tres condiciones del Tema 33. Uso normal: 0,4 ÷ 0,75 = 0,53 A como mínimo. Falla: la fuente se limita en 2 A, así que 2 ÷ 2 = 1 A como máximo. Conductor: los contactos de la protoboard, 1 A. Entre 0,53 y 1 A: 630 mA, y rápido, porque no hay arranque que tolerar. Va en el positivo de los 12 V, antes de todo.

05 · Aplicación

La lista de materiales

La lista del proyecto, con las columnas del Tema 34.
Ref.Cant.DescripciónModeloSustitutoFunción
R11Fotorresistencia de 5 mm, de 10 a 20 kΩ a 10 lux—Otra, recalculando R2Sensor
R2115 kΩ, 5 %, 1/4 WCualquiera10 o 22 kΩDivisor
C11100 nF, 50 V, cerámicoCualquiera—Reserva para el conversor
D11LED rojo, 5 mmCualquieraOtro color, recalculando R3Indicador
R31470 Ω, 5 %, 1/4 WCualquiera560 ΩLimita D1 a 6,8 mA
Q11 + 1MOSFET canal N, 55 V, garantizado a 5 V, TO-220IRLZ44NOtro de 24 V o más garantizado a 4,5 o 5 VLlave de la tira
R41220 Ω, 5 %, 1/4 WCualquiera100 a 470 ΩCompuerta de Q1
R5110 kΩ, 5 %, 1/4 WCualquiera4,7 a 100 kΩApagado de Q1
F11 + 2Fusible rápido, 630 mA, 5 × 20 mm—500 mAProtege cables y contactos
—1Portafusibles para 5 × 20 mm——Montar F1
J1, J22Bornera de dos contactos——Fuente y tira
—1Tira de LED de 12 V, 1 m, 0,4 A——Carga
—1Fuente de 12 V, 2 A, con límite de corriente——Potencia
—1Tubo opaco de 2 cm, o termocontraíble negro——Ver la sección 9

Para las pruebas hacen falta además dos piezas que no quedan en el proyecto: un LED y un resistor de 1 kΩ, como carga inofensiva de la etapa 4. Y el último renglón de la tabla no salió del diseño: se agregó después de la prueba del sistema. Una lista de materiales cambia mientras el proyecto vive.

06 · Diseño

Las predicciones

Antes de conectar, qué tiene que dar cada medición, con su rango. Es la tabla contra la que se va a dictaminar.

Predicciones del sensor, con 5,0 V y el resistor fijo de 15 kΩ. La fotorresistencia es la pieza con más dispersión del proyecto: los rangos son anchos.
CondiciónFotorresistenciaTensión de salidaCuentas
Tapada con la mano100 a 500 kΩ0,15 a 0,65 V30 a 134
Penumbra, 1 lux40 a 150 kΩ0,45 a 1,36 V93 a 279
Luz de la habitación2 a 8 kΩ3,3 a 4,4 V668 a 904
Predicciones del resto. Tensiones respecto del negativo común.
MediciónEn oscuridadCon luzCuenta
Salida del indicador4,8 a 5,0 V0 V—
Tensión sobre R33,0 a 3,4 V0 V6,8 mA × 470 Ω
Compuerta de Q14,7 a 4,9 V0 V5 V × 10 kΩ ÷ 10,22 kΩ
Drenaje de Q1Menos de 0,02 V11,5 a 12,5 V0,4 A × 25 mΩ = 10 mV
Corriente de la tira0,34 a 0,46 A0La medida, ±15 %
Tensión sobre F10,08 a 0,2 V0 V0,4 A × unas décimas de ohm
Fuente de 12 V11,5 a 12,5 V11,5 a 12,5 VTrabaja al 20 %

La segunda fila de la primera tabla dice algo incómodo: en penumbra, la lectura puede dar entre 93 y 279 cuentas según la unidad. El umbral de 200 está en el medio, pero con tu fotorresistencia puede corresponder a medio lux o a tres. Los umbrales de diseño son un punto de partida: los definitivos salen de una calibración, en la sección 8.

07 · Taller

El montaje en cinco etapas

El método del Tema 32: cada etapa agrega pocas piezas y termina con una prueba que no depende de las siguientes. Antes de la primera, la lista de control del Tema 33; la fuente de 12 V se desconecta para agregar piezas.

  1. 1
    Las dos fuentes y el negativo común.

    La placa por USB; la fuente de 12 V a su bornera, pasando por el fusible. Un cable entre los dos negativos, en la bornera. Prueba: 4,75 a 5,25 V en una línea, 11,5 a 12,5 V en la otra, continuidad entre los negativos.

  2. 2
    El sensor, solo.

    La fotorresistencia entre los 5 V y la entrada; R2 y C1 entre la entrada y el negativo. Un programa que solo imprima la lectura. Prueba: tapada y con la luz de la habitación, la tensión y las cuentas caen en los rangos de la tabla. Anotá los dos valores.

  3. 3
    La decisión y el indicador.

    D1 y R3 en una salida. El programa con los dos umbrales, mandando solo al indicador. Prueba: al tapar el sensor, el LED enciende; al destaparlo, se apaga. Acercando la mano despacio, cambia una sola vez.

  4. 4
    La llave, con una carga inofensiva.

    Q1, R4 y R5. Como carga, un LED con 1 kΩ entre los 12 V y el drenaje. Prueba: sigue al indicador. Con el cable de mando suelto, queda apagado. Reiniciando la placa con el sensor tapado, no destella. Compuerta: 4,7 a 4,9 V.

  5. 5
    La tira.

    En lugar de la carga de prueba, por su bornera. Prueba: enciende al tapar el sensor. Y ahora, las mediciones.

Qué revisar si una etapa no pasa su prueba.
EtapaSíntomaLo más probable
2La lectura no cambia al taparEl sensor no está en la fila que se cree; la entrada leída no es la conectada
2Cambia al revés: baja con más luzSensor y resistor fijo intercambiados
2Cambia muy pocoR2 no es de 15 kΩ: medirlo
3El LED cambia varias veces al acercar la manoUn solo umbral, o los dos demasiado juntos
4La carga de prueba queda encendida con el mando sueltoFalta R5, o no hace contacto
4El indicador enciende y la carga noFalta el negativo común; patas de Q1 en otro orden
5La tira no enciende y la carga de prueba sí encendíaLa tira al revés: tiene polaridad. O el fusible
5La tira parpadea al encenderNo es una falla de montaje: la sección 9

08 · Verificar

Las mediciones y el dictamen

Las pruebas de las partes

Con el sensor tapado y la tira encendida, se mide cada fila de la segunda tabla de predicciones. Son las mediciones del Tema 32, y se leen igual.

Cómo leer las mediciones con la tira encendida.
MediciónBienSi no
Drenaje de Q1MilivoltsDécimas de volt: la compuerta no recibe su tensión
Compuerta de Q14,7 a 4,9 VLa mitad: R4 es mucho mayor que 220 Ω. Cero: no llega el mando
Corriente de la tiraLa medida, ±15 %Mucho menos: la fuente no llega a 12 V, o hay un contacto con resistencia
Tensión sobre F1Menos de 0,2 VMás: portafusibles flojo. Es la medición que encuentra un mal contacto antes de que caliente
Lectura del sensor, al encender la tiraNo cambiaSube: la tira ilumina al sensor. Baja: la corriente de la tira pasa por el negativo del sensor

La última fila no mide una parte: mide una frontera. Y tiene dos respuestas malas con dos causas distintas, que son los dos caminos ocultos de este proyecto.

La calibración de los umbrales

  1. 1
    Registrar un atardecer.

    Con el programa imprimiendo la lectura cada minuto y la tira desconectada. Anotá la lectura en el momento en que vos encenderías la luz.

  2. 2
    Ese valor es el umbral de encendido.

    Reemplaza al 200 del diseño. Con otra fotorresistencia puede ser 120 o 260.

  3. 3
    Medir el ruido.

    Con luz constante, la diferencia entre la lectura mayor y la menor durante un minuto.

  4. 4
    Medir el aporte de la tira.

    De noche, la lectura con la tira apagada y con la tira encendida. La diferencia es lo que la salida le devuelve a la entrada.

Las pruebas del sistema

Una prueba por cada requisito de la sección 2.
RequisitoPruebaPasa si
Enciende cuando oscureceUn atardecer real, o una lámpara regulable bajando despacioEnciende con la luz que elegiste al calibrar
Un solo encendido por atardecerEl programa cuenta los cambios de estado durante la transiciónCuenta 1
Se apaga cuando hay luzUn amanecer, o encender la luz de la habitaciónSe apaga, una sola vez
El indicador muestra la decisiónDesconectar la tira y tapar el sensorEl LED enciende igual
Sin programa, apagadaMantener la placa en reinicio; desconectar el cable de mandoLa tira no enciende ni destella
ProtegidaAuditoría de márgenes del Tema 33, pieza por piezaNinguna excedida

Montado como se diseñó, el proyecto pasa cinco de las seis. Falla la segunda: al anochecer cuenta decenas de cambios. Es la falla de la escena, en una versión más corta, y es el resultado más útil del tema.

09 · Aplicación

La luz que se ve a sí misma

La medición del paso 4 de la calibración le pone número. En un pasillo, con el sensor a medio metro de la tira, un resultado típico: 60 cuentas con la tira apagada, 250 con la tira encendida. La tira le suma al sensor el equivalente a unos 2 lux.

  1. 1
    Oscurece, y la lectura baja de 200.

    El programa enciende la tira. Hasta acá, lo diseñado.

  2. 2
    La tira ilumina al sensor.

    A la poca luz que quedaba se suman los 2 lux de la tira. La lectura salta a unas 320 cuentas.

  3. 3
    320 es más que 300.

    El programa apaga la tira. La lectura vuelve a 200, y el ciclo empieza de nuevo.

  4. 4
    Unos minutos después, deja de oscilar.

    Cuando la luz del ambiente bajó lo suficiente, ambiente más tira ya no llega a 300. La tira queda encendida.

Los dos umbrales estaban pensados para el ruido, que es de pocas cuentas. El aporte de la tira es de casi doscientas. La regla que faltaba es esta: la separación entre los umbrales tiene que ser mayor que el efecto de la salida sobre la entrada, con margen. Y ese efecto no se puede calcular en el diseño: depende del pasillo, de la distancia y de hacia dónde mira el sensor. Se mide.

Tres maneras de cortar el lazo. Se combinan.
SoluciónCómoA favorEn contra
Que la luz no llegueUn tubo opaco de 2 cm sobre el sensor, apuntando a la ventana y no al pasilloElimina la causa. No depende del programaHay que poder orientarlo
Separar más los umbralesApagar por encima de 450 en lugar de 300Un número en el programaSi el aporte de la tira es grande, no alcanza. Y apaga más tarde a la mañana
Un tiempo mínimoDespués de cambiar de estado, no volver a cambiar durante diez minutosLimita el daño de cualquier oscilación, también de las que no previsteNo corrige nada: la tira puede quedar en el estado equivocado diez minutos

El proyecto usa las dos primeras: el tubo, que baja el aporte de 190 cuentas a menos de 20, y el umbral de apagado en 450. Con eso la segunda prueba cuenta 1. El tubo es el último renglón de la lista de materiales.

Un programador reconoce las tres soluciones. La primera es quitar la dependencia circular. La segunda, ensanchar una banda de tolerancia. La tercera es un límite de frecuencia, que no arregla el error y evita que se convierta en una tormenta. Y reconoce el orden: primero se quita la causa, después se agrega margen, y el límite queda como red.

10 · Cierre

El documento

El circuito funciona. El proyecto no está terminado hasta que queda escrito, y casi todo ya lo escribiste en el camino: cada sección de este tema es una parte del documento.

Lo que tiene la carpeta de un proyecto terminado.
ParteQué dicePara qué sirve después
RequisitosQué hace, con números, y qué no haceSaber si un pedido de cambio es un arreglo o un proyecto nuevo
EsquemaQué está conectado con qué, con las referenciasTodo lo demás lo cita
Lista de materialesCada pieza, completa, con su sustitutoArmar otro; reponer una pieza
Predicciones y medicionesQué tenía que dar cada punto, y qué dioDiagnosticar: un circuito que falla se compara contra sus propias mediciones de cuando andaba
AjustesLos umbrales calibrados, el ruido, el aporte de la tira, y cómo se midieronRecalibrar si se cambia el sensor o el lugar
ProgramaEl código, con los umbrales como constantes con nombre—
DecisionesPor qué un MOSFET, por qué sin diodo, por qué el tuboNo deshacerlas por error
Límites conocidosHasta 0,47 A; sensor a la vista de una ventana; solo protoboardQue nadie le pida lo que no hace
Las mediciones son la parte que más vale
Dentro de un año, cuando la tira no encienda, la pregunta va a ser «¿cuánto tiene que haber en la compuerta?». Si está anotado, el diagnóstico dura cinco minutos.
Las decisiones evitan retrocesos
Alguien va a mirar el circuito y pensar «acá falta el diodo». Una línea que diga por qué no va ahorra la discusión, y evita que se agregue una pieza que no hace nada.
La falla encontrada también se documenta
La oscilación de la sección 9, con sus números, es lo más valioso que este proyecto produjo. Es lo que vas a recordar en el próximo que tenga un sensor y una salida en el mismo ambiente.

Hacia dónde crece

Cuatro extensiones, y lo que cada una obliga a rehacer.
CambioQué se rehaceTema
Dos metros de tiraEl fusible, y la potencia sale de la protoboard33
Encendido gradual, con PWMEl calor de la llave al conmutar; el ruido sobre la lectura del sensor23
Una lámpara de la red eléctricaLa llave pasa a ser un relé con su transistor y su diodo, o un módulo con aislamiento. Con todas las advertencias sobre la tensión de red25, 26
Placa de 3,3 VEl MOSFET, que pasa a montaje superficial; los umbrales; el resistor del LED34

Y una variante que conviene descartar con argumentos: hacerlo sin placa, conectando el divisor directamente a la compuerta del MOSFET. Funciona a medias. El punto de encendido pasa a depender del umbral del transistor, que varía entre unidades de 1 a 2 V y con la temperatura. No hay dos umbrales, así que no hay defensa contra el ruido ni contra el lazo. Y durante todo el atardecer el MOSFET queda a medio encender, en la zona que el Tema 22 enseñó a evitar. Para decidir con una tensión y sin programa existe un componente específico, el comparador, y es del curso siguiente.

11 · Simulador

Un atardecer

Una hora en la que la luz del ambiente baja de 100 lux a una décima. El gráfico muestra lo que lee el programa y lo que hace con la tira. El umbral de encendido corresponde siempre a 1,3 lux.

  • La curva es la lectura del conversor, de 0 a 1023 cuentas.
  • La línea naranja es el umbral de encendido; la blanca, el de apagado.
  • La banda inferior muestra cuándo la tira está encendida.
  • Debajo del tiempo, la luz del ambiente en cada momento.
SIMULADOR 35

Una hora, un encendido

Lectura del sensor y estado de la tira durante un atardecer Curva de la lectura del conversor a lo largo de sesenta minutos mientras la luz baja, con los dos umbrales del programa y una banda que indica cuándo la tira está encendida.
Umbrales, en cuentas
Cambios de estado
Queda encendida desde
Diagnóstico

Recorrido guiado (10 minutos)

  1. 1
    Mirá el estado inicial.

    Es la escena: un solo umbral y la tira iluminando al sensor. Desde que oscurece, cambia de estado en cada lectura, hasta el final.

  2. 2
    Poné el sensor en su tubo, sin tocar el umbral.

    La oscilación permanente desaparece. Queda un parpadeo breve justo en el cruce, cinco cambios en medio minuto: es el ruido, con un solo umbral.

  3. 3
    Subí el umbral de apagado a 1,7 lux.

    Treinta cuentas de separación alcanzan: un solo cambio. Para el ruido, una histéresis chica es suficiente.

  4. 4
    Volvé a «poca luz» de la tira, con ese umbral.

    Oscila otra vez, toda la noche. Treinta cuentas contra un aporte de más de cien.

  5. 5
    Elegí el umbral del diseño, 2,8 lux.

    Es el proyecto tal como se diseñó en la sección 4. Oscila unos minutos y después queda encendida: la prueba del sistema que no pasaba.

  6. 6
    Separá el umbral a 7 lux.

    Un solo cambio. La separación ya supera el aporte de la tira.

  7. 7
    Con 7 lux, elegí «mucha luz» de la tira.

    Vuelve a oscilar, y para siempre: la tira sola supera el umbral de apagado. Ninguna histéresis razonable lo arregla. Hace falta el tubo.

  8. 8
    Con el tubo y un solo umbral, promediá dieciséis lecturas. Después sacá el tubo.

    Con el tubo, el parpadeo del paso 2 desaparece, y el encendido se demora un minuto. Sin el tubo vuelve a oscilar toda la noche, apenas más lento. Promediar actúa sobre el ruido; sobre el lazo no hace nada.

  9. 9
    Cambiá el resistor fijo a 220 Ω, con el tubo y el umbral de 2,8 lux.

    La curva queda pegada al piso, y los umbrales son 4 y 6 cuentas. Es el divisor de la escena del Tema 30. Los umbrales de 1,3 y de 1,7 lux caen en la misma cuenta, y con uno solo parpadea durante cinco minutos. Dejá pasar poca luz de la tira: oscila toda la noche, donde con 15 kΩ lo hacía unos minutos. Sin excursión no hay dónde poner una histéresis.

Preguntas para pensar

  1. En los pasos 3 y 4, la misma histéresis alcanza en un caso y no en el otro. ¿Qué regla lo resume?
  2. En el paso 5, ¿por qué la oscilación termina sola al cabo de unos minutos?
  3. En el paso 7, ¿por qué no se puede resolver desde el programa subiendo más el umbral de apagado?
Ver respuestas sugeridas
  1. La separación entre los umbrales tiene que superar a todo lo que mueve la lectura sin que haya cambiado lo que se quiere medir. En el paso 3 eso es solo el ruido, de una decena de cuentas. En el 4 se suma el aporte de la tira, de más de cien. La histéresis no se elige por costumbre: se elige midiendo esas dos cantidades y dejando margen sobre la mayor.
  2. Porque lo que el sensor ve es la suma de la luz del ambiente y la de la tira. Al principio esa suma supera el umbral de apagado. A medida que el ambiente oscurece, la suma baja, y llega un momento en que ni con la tira encendida se alcanzan los 2,8 lux. Es una oscilación que depende de la hora: por eso puede pasar inadvertida en una prueba hecha de noche, con la habitación a oscuras, y aparecer todos los días al atardecer.
  3. Porque el umbral de apagado tendría que quedar por encima de los 20 lux que aporta la tira, y eso es más que la luz de una habitación con una lámpara tenue: la tira no se apagaría hasta bien entrada la mañana, o nunca en un pasillo interior. El programa puede esconder el problema, a costa de dejar de cumplir otro requisito. Cuando la causa es física, la solución de fondo también lo es.

12 · El proyecto en código

Predecir, decidir y dictaminar

Python en tu navegador. Los bloques son editables: cambiá los valores y presioná «Ejecutar Python».

Las predicciones, a partir de los requisitos

V_PLACA, V_POTENCIA = 5.0, 12.0
R_FIJA, R_LED, V_LED = 15_000, 470, 1.8
A_TIRA, OHM_LLAVE = 0.4, 0.025


def cuentas(ohm_sensor, r_fija=R_FIJA):
    return round(1024 * r_fija / (ohm_sensor + r_fija))


def ohm_para(cuenta, r_fija=R_FIJA):
    return r_fija * 1024 / cuenta - r_fija


print("Sensor:")
for condicion, ohm_min, ohm_max in (("tapada", 100e3, 500e3), ("penumbra", 40e3, 150e3), ("habitación", 2e3, 8e3)):
    print(f"   {condicion:12} de {cuentas(ohm_max):4} a {cuentas(ohm_min):4} cuentas   "
          f"({V_PLACA * cuentas(ohm_max) / 1024:.2f} a {V_PLACA * cuentas(ohm_min) / 1024:.2f} V)")

print("Umbrales:")
for nombre, cuenta in (("encender bajo", 200), ("apagar sobre", 300), ("apagar sobre, corregido", 450)):
    print(f"   {nombre:24} {cuenta:4} cuentas = {V_PLACA * cuenta / 1024:.2f} V = {ohm_para(cuenta) / 1000:.0f} kohm")

a_led = (V_PLACA - V_LED) / R_LED
v_compuerta = V_PLACA * 10_000 / 10_220
print(f"Indicador: {a_led * 1000:.1f} mA, {a_led * R_LED:.1f} V sobre su resistor, {a_led ** 2 * R_LED * 1000:.0f} mW")
print(f"Compuerta: {v_compuerta:.2f} V")
print(f"Drenaje, encendida: {A_TIRA * OHM_LLAVE * 1000:.0f} mV; calor en la llave: {A_TIRA ** 2 * OHM_LLAVE * 1.5 * 1000:.0f} mW")
print(f"Fusible: entre {A_TIRA / 0.75:.2f} y {min(2.0 / 2, 1.0):.2f} A -> 630 mA, que admite hasta {0.63 * 0.75:.2f} A de tira")

Cambiá R_FIJA a 10 000. ¿Qué cuentas corresponden ahora a los mismos 62 kΩ del umbral de encendido?

La decisión: el programa de la placa

La lógica que corre en el microcontrolador, probada con un atardecer simulado. En la placa, leer() es la entrada analógica y tira es una salida; lo demás es igual.

import random

ENCENDER_BAJO = 200         # cuentas: se calibra con un atardecer real
APAGAR_SOBRE = 300          # cuentas: tiene que superar el aporte de la tira, con margen
LUX_DE_LA_TIRA = 2.0        # lo que la tira le suma al sensor; 0 con el tubo puesto


def leer(lux):
    """La cadena del sensor: de la luz a las cuentas, con su ruido."""
    ohm = 75_000 * max(lux, 0.01) ** -0.7
    return max(0, min(1023, round(1024 * 15_000 / (ohm + 15_000) + random.uniform(-2, 2))))


def atardecer(encender_bajo, apagar_sobre, lux_tira, minutos=60):
    random.seed(35)
    tira, cambios, ultimo = False, 0, None
    for paso in range(minutos * 10):                       # una lectura cada 6 segundos
        ambiente = 10 ** (2 - 3 * paso / (minutos * 10)) * random.uniform(0.92, 1.08)
        lectura = leer(ambiente + (lux_tira if tira else 0))
        if not tira and lectura < encender_bajo:
            tira, cambios, ultimo = True, cambios + 1, paso
        elif tira and lectura > apagar_sobre:
            tira, cambios, ultimo = False, cambios + 1, paso
    return cambios, ultimo / 10, tira


for nombre, apagar, lux_tira in (("un solo umbral, sin tubo", 200, 2.0),
                                 ("diseño inicial, sin tubo", 300, 2.0),
                                 ("umbral separado, sin tubo", 450, 2.0),
                                 ("diseño inicial, con tubo", 300, 0.0),
                                 ("proyecto final: tubo y 450", 450, 0.2)):
    cambios, minuto, tira = atardecer(ENCENDER_BAJO, apagar, lux_tira)
    veredicto = "PASA" if cambios == 1 and tira else "no pasa"
    print(f"{nombre:28} {cambios:4} cambios, el último al minuto {minuto:4.1f} -> {veredicto}")

Agregá un tiempo mínimo: que no pueda cambiar de estado si pasaron menos de 100 lecturas desde el cambio anterior. ¿Cuántos cambios quedan en el primer caso, y en qué estado termina?

El dictamen

La tabla de predicciones contra las mediciones. Los valores de ejemplo son los de un montaje con una falla: buscala antes de ejecutar.

PREDICHO = {        # medición: (mínimo, máximo, unidad)
    "sensor tapado": (30, 134, "cuentas"),
    "sensor con luz": (668, 904, "cuentas"),
    "tensión sobre R3": (3.0, 3.4, "V"),
    "compuerta": (4.7, 4.9, "V"),
    "drenaje, encendida": (0.0, 0.02, "V"),
    "corriente de la tira": (0.34, 0.46, "A"),
    "tensión sobre F1": (0.0, 0.2, "V"),
    "cambios en un atardecer": (1, 1, ""),
    "lectura: con tira menos sin tira": (-5, 20, "cuentas"),
}
PISTA = {
    "compuerta": "medir R4: si no es de 220 ohm, forma un divisor con R5",
    "drenaje, encendida": "mirar primero la compuerta: la llave está a medio encender",
    "corriente de la tira": "medir la fuente de 12 V con la tira encendida, y la tensión sobre F1",
    "tensión sobre F1": "portafusibles flojo o sucio",
    "cambios en un atardecer": "medir el aporte de la tira y compararlo con la separación de los umbrales",
    "lectura: con tira menos sin tira": "positivo: la tira ilumina al sensor. Negativo: negativo compartido",
}


def dictaminar(medido):
    fuera = 0
    for medicion, (minimo, maximo, unidad) in PREDICHO.items():
        if medicion not in medido:
            print(f"   {medicion:34} SIN MEDIR")
            fuera += 1
            continue
        valor = medido[medicion]
        bien = minimo <= valor <= maximo
        fuera += 0 if bien else 1
        print(f"   {medicion:34} {valor:>7} {unidad:8} {'bien' if bien else 'FUERA de ' + str(minimo) + ' a ' + str(maximo)}")
        if not bien and medicion in PISTA:
            print(f"      -> {PISTA[medicion]}")
    print(f"   {'APROBADO' if fuera == 0 else str(fuera) + ' observaciones'}\n")


dictaminar({
    "sensor tapado": 61, "sensor con luz": 790, "tensión sobre R3": 3.21,
    "compuerta": 2.5, "drenaje, encendida": 0.31, "corriente de la tira": 0.39,
    "tensión sobre F1": 0.12, "cambios en un atardecer": 1, "lectura: con tira menos sin tira": 12,
})

Dos mediciones están fuera, y tienen una sola causa. Cargá después las de tu propio montaje.

13 · Comprensión

Confusiones frecuentes

«Si cada parte funciona, el conjunto funciona»

Las fallas de integración están en las fronteras y en los caminos que el esquema no dibuja. Hay pruebas que son del sistema y de ninguna parte.

«Parpadea: hay un cable flojo»

Si parpadea al encenderse y se estabiliza al tapar el sensor, es un lazo: la salida está modificando la entrada. Se confirma midiendo la lectura con la tira encendida y apagada.

«Dos umbrales resuelven cualquier parpadeo»

Si su separación supera lo que mueve la lectura. Para el ruido alcanzan pocas cuentas; para el aporte de la salida, hay que medirlo. Y si es muy grande, primero hay que cortar el camino.

«Promediar lecturas es lo mismo que la histéresis»

Promediar reduce el ruido y demora la respuesta. No impide cruzar el umbral ida y vuelta. Se complementan.

«Los umbrales salen de la cuenta»

De la cuenta sale un punto de partida. Con una fotorresistencia, que varía un factor de dos entre unidades, los definitivos salen de un registro real.

«A todo actuador le pongo diodo y capacitor»

El diodo es para bobinas; el capacitor de reserva, para picos de arranque. Una tira de LED no tiene ninguna de las dos cosas.

«El LED indicador es opcional»

Es el punto de observación que separa una falla de decisión de una falla de potencia. Cuesta dos piezas y ahorra la mitad de cada diagnóstico.

«Cuando anda, está terminado»

Está terminado cuando otra persona puede repetirlo y diagnosticarlo con lo escrito: requisitos, lista, mediciones, ajustes y decisiones.

14 · Práctica guiada

Ejercicios

Ejercicio 1: otra fotorresistencia

Tu fotorresistencia mide 150 kΩ en la penumbra en la que querés encender, y 6 kΩ con la luz de la habitación. Elegí el resistor fijo, calculá el umbral de encendido en cuentas y la lectura con la luz de la habitación.

Ver solución razonada

Media geométrica: raíz de 150 000 × 6000 = 30 kΩ; el valor de serie más cercano es 33 kΩ. Umbral: 1024 × 33 ÷ (150 + 33) = 185 cuentas. Con luz: 1024 × 33 ÷ (6 + 33) = 866 cuentas. La excursión es casi la misma que en el proyecto, con un resistor del doble: el circuito se adaptó al sensor. Con 33 kΩ el divisor presenta todavía más resistencia al conversor, y el capacitor de 100 nF pasa de recomendable a necesario.

Ejercicio 2: elegir la histéresis

Medís: ruido de 12 cuentas entre máximo y mínimo; lectura de noche de 45 con la tira apagada y de 140 con la tira encendida. El umbral de encendido calibrado es 180. ¿Dónde ponés el de apagado?

Ver solución razonada

El aporte de la tira es de 95 cuentas de noche. Pero al momento de encender el ambiente todavía aporta: la lectura con la tira encendida, justo después del cruce, va a ser bastante mayor que 180 + 95, porque la respuesta no es una recta. La manera segura es medirlo en ese momento, o razonar en luz: 180 cuentas son unos 1,1 lux, y la tira suma alrededor de 0,5; juntos, 1,6 lux, que son unas 225 cuentas. Con margen para el ruido y para la dispersión: apagar por encima de 300. Y conviene igual poner el tubo, que reduce el aporte y deja ese margen de sobra.

Ejercicio 3: la tabla de fronteras

Un ventilador controlado por un termistor, los dos dentro del mismo gabinete. Escribí las fronteras, incluyendo las que no son eléctricas. ¿Hay un lazo? ¿Es un problema?

Ver solución razonada

Las eléctricas son las del proyecto: sensor a entrada, programa a llave, llave a motor, y el negativo. Las otras: el aire, del ventilador al termistor, y el ruido eléctrico del motor hacia la lectura. Hay un lazo, y esta vez es el que se busca: el ventilador enfría, la temperatura baja y el ventilador se apaga. Es un lazo que corrige, a diferencia del de la luz, que confirma el error. Igual necesita dos umbrales, o el ventilador arranca y para cada pocos segundos alrededor de la temperatura elegida: encender a 40 °C y apagar a 35. Y como un motor sí es una bobina, vuelven el diodo, el capacitor y la corriente de arranque.

Ejercicio 4: diagnóstico con el indicador

Para cada caso, decí de qué lado está la falla: a) sensor tapado, indicador apagado, tira apagada; b) sensor tapado, indicador encendido, tira apagada; c) sensor con luz, indicador apagado, tira encendida; d) placa en reinicio, tira encendida.

Ver solución razonada

a) Sensor o programa: la decisión no se tomó. Imprimir la lectura. b) Potencia: la decisión es correcta y no llega. Medir la compuerta; si tiene 4,8 V, medir los 12 V después del fusible y la polaridad de la tira. c) La llave conduce sin mando: drenaje y fuente intercambiados, o el MOSFET dañado en cortocircuito. d) Falta el resistor de 10 kΩ, o no hace contacto: la compuerta quedó en el aire.

Ejercicio 5: en el simulador

Encontrá la configuración con menos protección que todavía da un solo cambio de estado, para «poca luz» de la tira. Después, la que lo logra para «mucha luz».

Ver solución razonada

Con poca luz, hace falta el umbral de apagado en 7 lux; con 2,8 lux oscila durante unos minutos, y con menos, toda la noche. Promediar no cambia ese resultado. Con mucha luz, ninguna de las opciones de umbral alcanza: la única configuración que da un solo cambio es la del tubo. Y con el tubo puesto, cualquiera de los tres umbrales separados funciona. La conclusión práctica: el tubo resuelve el caso difícil y vuelve fácil el otro.

Ejercicio 6: una extensión

Te piden que la tira sea de dos metros. Recorré el proyecto y listá todo lo que cambia.

Ver solución razonada

La corriente pasa a 0,8 A. Fusible: mínimo 0,8 ÷ 0,75 = 1,07 A; máximo por la fuente, 1 A. No hay fusible que cumpla: la fuente de 2 A se parece demasiado a la carga. Con una fuente de 12 V y 5 A el máximo sube a 2,5 A, y se elige 1,25 A. Conductores: 1,25 A supera el contacto de la protoboard, así que la potencia sale de ella: MOSFET, fusible y tira sobre borneras y cable de 0,5 mm². Llave: el IRLZ44N sigue sobrado, con 24 mW. El lazo: el doble de tira aporta más luz al sensor, y hay que volver a medirlo. Documento: requisitos, lista, predicciones y límites conocidos. Un cambio de una línea en los requisitos tocó cinco secciones.

Ejercicio 7: el proyecto completo

Con las piezas reales. Hacé el proyecto de punta a punta: requisitos con la corriente medida de tu tira, lista de materiales, predicciones, las cinco etapas, las mediciones, la calibración y las seis pruebas del sistema. Armá la carpeta.

Qué mirar en el resultado

Tres números propios valen más que todo el resto: tu umbral de encendido calibrado, tu ruido y el aporte de tu tira. Compará el aporte con y sin el tubo. Si alguna etapa no pasó a la primera, anotá cuál y por qué. Y hacé la prueba final del documento: dáselo a alguien que no vio el montaje y preguntale qué tensión tiene que haber en la compuerta con el sensor tapado. Si lo encuentra en menos de un minuto, el proyecto está terminado.

15 · Síntesis

Ideas para recordar

  • Un proyecto se divide en bloques, y lo que cruza entre ellos se define antes que su interior.
  • La tabla de fronteras incluye lo que no es eléctrico: luz, calor, aire, ruido.
  • Cada requisito se escribe de manera que tenga una prueba.
  • El orden: requisitos, bloques, diseño, lista de materiales, predicciones, montaje por etapas, mediciones, dictamen.
  • Un indicador antes de la llave separa las fallas de decisión de las de potencia.
  • Un umbral con ruido necesita dos umbrales, y su separación tiene que superar todo lo que mueve la lectura, incluido el efecto de la propia salida.
  • Los umbrales de diseño son un punto de partida: los definitivos se calibran.
  • Cuando la causa de una falla es física, se corta la causa primero, y el programa agrega margen.
  • Las tablas de reglas se aplican entendiendo por qué piden cada cosa: una tira de LED no lleva diodo.
  • El proyecto termina con un documento: requisitos, esquema, lista, mediciones, ajustes, decisiones y límites.

¿Listo para el Tema 36?

Podés avanzar si sos capaz de responder esto sin mirar:

  • Nombrar los cuatro bloques del proyecto y lo que cruza entre ellos.
  • Explicar por qué la tira parpadea con un solo umbral, y por qué sigue parpadeando con dos poco separados.
  • Decir cómo se mide el aporte de la salida sobre la entrada.
  • Enumerar las cinco etapas del montaje y la prueba de cada una.
  • Decir qué falla indica el indicador encendido con la tira apagada.
  • Justificar por qué la llave de la tira no lleva diodo.
  • Enumerar las partes del documento de un proyecto.

Treinta y cinco temas después, un cajón de piezas se convirtió en un método: leer una hoja, dejar margen, elegir, proteger, predecir, medir y escribir. Queda mirar el recorrido completo, armar la caja de componentes que conviene conservar y ver qué hay más allá de encender y apagar. En el próximo y último tema, el cierre del curso y el puente a la electrónica analógica.