Análisis en profundidad

Cómo convertir un lavarropa tradicional en uno inteligente

Modificar un lavarropas normal para poder controlarlo distancia (encendido/apagado, temperatura y, tal vez, establecer varios programas) no es precisamente un “juego de niños”. Es necesario reunir varias operaciones y tener un mínimo de conocimientos electrónicos. Para que te hagas una idea, aquí tienes un ejemplo.

22 Dic 2021

Paolo Maria Innocenzi

Cyberscurity Specialist

aparatos inteligentes

¿Se puede hacer inteligente cualquier lavarropas convencional? La respuesta es: depende. Según el “pensamiento débil” de la domótica, es posible. Por ejemplo, equipándolo con una toma de corriente inteligente. En este caso, el lavarropas no será realmente inteligente, porque no tendrá inteligencia de lavado, sino que obedecerá a las reglas y órdenes que le dé automáticamente el smartphone. Podremos encenderlo, saber si ha terminado, arrancado y está en marcha, y apagarlo. Nada más. Sin embargo, sobre estos tres sencillos métodos podríamos ‘montar’ un sistema de reglas tomadas de Internet, decidiendo que si dentro de una hora estamos en casa, gracias a nuestro smartphone el sistema nos geolocalizará y activará el interruptor que iniciará el ciclo preestablecido. O podríamos decidir que si el aire acondicionado, el microondas y el lavavajillas ya están encendidos, habrá que apagar primero el aire acondicionado, y sólo cuando el lavavajillas haya terminado su trabajo podremos encender el lavarropas a distancia. Esto proporcionará una “inteligencia energética” a nuestro sistema domótico, evitando los picos de consumo y el apagado automático de la red eléctrica por el interruptor general. Pero nada más. Sin sensores, sin detección, sin aprendizaje. Lo mínimo, en definitiva.

Según el “pensamiento duro” de la domótica, la respuesta es no. En la mayoría de los electrodomésticos coexisten dos elementos conflictivos: la electricidad y el agua, que tienen fama de no llevarse muy bien entre sí. Si nos fijamos en las modernas calderas de calefacción tenemos que añadir otro elemento: el gas. Si añadimos la velocidad (o más bien las velocidades) con las que se mueven y se encienden y apagan todos estos objetos, el riesgo de alterarlos metiendo las manos donde no debemos o mezclando cosas que deberían mantenerse bien separadas (manos+equipos+tambor+electricidad+agua…etc.etc) se hace muy real.

Hay que añadir que es bien sabido que la mayoría de los accidentes se producen en el hogar, en parte por descuido o por no seguir las normas de seguridad más básicas (bloquear las escaleras, asegurarse con cuerdas y aparejos, llevar casco o gafas de seguridad o calzado de seguridad). Desgraciadamente, muchos accidentes se producen por la manipulación de la electricidad, el gas, el agua y/o las tres cosas a la vez, de forma consciente e intencionada.

Dicho esto, en este artículo queríamos dar un ejemplo de cómo se puede modificar un lavarropas tradicional para hacerlo inteligente. Obviamente, esto no es algo que pueda hacer todo el mundo, en el sentido de que se requieren ciertas habilidades y conocimientos tanto de software como de hardware.

Por ejemplo, es necesario saber programar, es decir, conocer uno o varios lenguajes para preparar una pieza de software que debe adaptarse a muchos modelos diferentes. También hay que conocer las placas electrónicas internas del lavarropas, que se crean en la fábrica, se hacen anónimas para evitar la manipulación de patentes y se codifican para poder relacionarlas con las piezas de recambio en caso de rotura o repararlas durante el mantenimiento rutinario. Si puede interpretar el valor de los componentes pasivos, como las resistencias y los condensadores, será muy fácil adivinar el propósito de los componentes activos, como los diodos y los transistores, pero muy difícil adivinar sus parámetros de funcionamiento, a menos que mida cada uno de ellos con precisión, lo que incluye el siguiente punto.

Evidentemente, no podemos tener sólo “un destornillador y unos alicates”. De nuevo, por razones de patente, todo está encajonado y cerrado, especialmente para evitar la contaminación entre el agua y la electricidad o el jabón y los paños. Necesitará extractores y herramientas especiales, algunas de las cuales no son baratas.

Añadimos: instrumentos de medición, comprobadores, incluidos los capacitivos, y ocasionalmente instrumentos más complejos como los frecuencímetros.

Ingeniería inversa

Partiendo de placas como las que podemos encontrar en los electrodomésticos, el método consiste en “no tocar nada”, sino en sustituir la activación automática de ciertos sensores engañándolos con la emisión de una señal que podría provenir de sistemas abiertos disponibles habitualmente en el mercado a precios muy asequibles. Como la placa “Arduino”, que se inserta a través de los distintos conectores que conectan la placa situada en el panel de control del lavarropas. Obviamente, será necesario desmontar algunas partes, incluyendo el panel frontal con la placa que controla el motor, las bombas, etc., y poner el lavarropas en funcionamiento. A continuación, supervise la comunicación entre estas dos tarjetas con el comprobador y, tal vez, grabe un vídeo del comportamiento durante el ciclo de lavado, que podrá acelerar para comprender la secuencia del proceso.

El primer problema es que mientras la comunicación de los comandos va en una dirección, la detección de los estados de funcionamiento va en la dirección opuesta. Tomemos el caso, por ejemplo, de que haya un microcontrolador con su propio firmware. Para entender el comportamiento de este controlador, podríamos considerarlo como una “caja negra” y analizar la relación entre entradas y salidas, aunque está por ver hasta qué punto el análisis es fiable. Así, por ejemplo, podríamos obtener información sobre qué bomba está funcionando o los estados de los sensores, pero sería difícil llamar a un programa interno en la electrónica del lavarropas y que la pantalla mostrara la selección de ese programa.

Sustitución de la unidad de control

Este otro método consiste en eliminar la “unidad de control” del lavarropas y sustituirla por una placa como un Arduino o una Raspberry. Evidentemente, de este modo perderíamos los programas del lavarropas, pero podríamos controlar tanto la interfaz de usuario (pantalla LCD, botones y mandos) como la mecánica (motor del tambor, bombas, sensores, etc.). Si utilizamos placas como Arduino o Raspberry, debemos recordar que tendremos que controlar dispositivos con “grandes corrientes”. Por lo tanto, no podremos suministrar todo a estas “tarjetas”, ya que se quemarían al instante, sino que deberíamos utilizar reguladores de potencia adecuados (el motor de un lavarropas tiene una potencia del orden de un kilovatio).

Conectar a los LEDs existentes

Este método consiste en situarnos entre los circuitos de control que ya tiene el lavarropas en su electrónica, programas de lavado incluidos, insertando nuestros sistemas entre la parte “digital” y la parte de potencia del circuito. Podríamos, por ejemplo, eliminar un componente de señalización como un LED y sustituirlo por otro que nos permita entender si el LED está encendido o no. Este enfoque busca precisamente evitar el contacto con la parte eléctrica.

Pérdidas de seguridad y eficiencia

Como se ha mencionado anteriormente, uno de los inconvenientes de interconectar directamente los LEDs en el panel es la seguridad, ya que los lavarropas modernos tienen sensores para evitar inundaciones, vuelcos, etc. Anular estos sensores puede ser peligroso. Otra es la pérdida de eficiencia. La composición del electrodoméstico “lavarropas” se ha mantenido muy similar en su evolución mecánica: un motor con un tambor, una resistencia para calentar, una bomba de carga y una bomba de desagüe. Lo que sí ha evolucionado mucho es la parte electrónica, con sensores y algoritmos (incluso complejos) que permiten un lavado más eficiente. Podría probar a controlar directamente la electrónica de potencia de las bombas no en un lavarropas nuevo, sino en un trasto viejo, colocado en un lugar seguro, como un garaje. Como mucho se arriesga a dañar una mesa vieja o a inundar el garaje…

La mejor solución es no interactuar físicamente con los mecanismos del lavarropas, sino con los programas. Es decir, poner en marcha los programas ya presentes activando electrónicamente los botones de la máquina. Con algunos optoaisladores, es posible simular que se “pulsan” los botones del lavarropas (delegando una orden a una placa Arduino) de forma bastante segura.

Un resultado “artesanal”

Esta solución será muy útil si nuestro lavarropas está en el piso de abajo y no queremos subir las escaleras para comprobar si ha terminado su ciclo de lavado. Todo lo que necesitamos es una placa Arduino equipada con un puerto de red Ethernet para resolver el problema de la conexión. De hecho, cuando el lavarropas termina su ciclo de lavado, el circuito que hemos creado es capaz de avisar del evento a través de la red doméstica, lo que nos permite desplazarnos y llegar al lavarropas sólo cuando necesitamos tender la ropa.

Componentes

Para llevar a cabo esta modificación, necesitaremos desmontar parte de el lavarropas, una placa Arduino Uno, una placa Ethernet para Arduino, un acoplador óptico CNY17, una breadboard o placa millefori y una resistencia de 150 ohmios.

Hack

En nuestro caso concreto, para percibir la señal correcta del lavarropas, que será simplemente “Terminado”, tendremos que localizar el relativo LED que se enciende cuando el ciclo está terminado y el lavarropas vuelve al modo de espera, e identificarlo en el panel. A continuación, abra el panel frontal del lavarropas, una operación que no es fácil y con la que perderemos por completo cualquier derecho de reparación y asistencia en garantía si un técnico detecta dicha manipulación.

En este punto, hay que desoldar el LED y sustituir sus dos pines por un cable de cobre de dos extremos. Una vez captada la señal y realizadas todas las soldaduras, se volverá a soldar la placa interna tal y como se muestra en la imagen, en la que se aprecia claramente el LED sin soldar y el cable (naranja-blanco) que llevaremos a la placa Arduino Uno mediante una sencilla “placa”, mostrada en el siguiente esquema, que prepararemos soldando los componentes de forma idéntica juntando el optoacoplador CNY17, la resistencia de 150 ohmios y la placa millefori.

A la hora de soldar, lo único que tenemos que hacer es respetar las conexiones, tal y como se muestra en la figura, teniendo en cuenta la oportunidad de colocar una pinza bipolar para atornillar limpiamente el cable que viene del lavarropas.

Sólo queda insertar la placa Ethernet en el Arduino y el millefori así preparado en los pines de la placa Ethernet.

Operación lógica

Ahora tendremos una señal “baja” en el pin A2 (en modo digital) cuando el lavarropas haya terminado y una señal “alta” cuando el lavarropas esté en modo “lavado” o “apagado”. En nuestro software insertaremos un periodo de observación de 0,1 seg. entre cada prueba del estado de la señal, ya que no tenemos una señal de salida estable, (esto es porque obviamente las señales del panel provienen de un “multiplexor”). Si la señal se vuelve “baja” al menos una vez durante este tiempo, podemos decidir que el lavarropas ha terminado y que el Led se ha encendido.

Si queremos completar el trabajo, podemos publicar en una página Html generada por el Arduino utilizando el código en la dirección que se muestra a continuación. En el ejemplo se ha dado a la Ethernet del Arduino la dirección 192.168.1.177, donde podemos probar el estado del LED leyendo la página que tendrá este aspecto

El código Arduino para el proyecto se puede encontrar fácilmente publicado en GitHub (GNU LICENSE – Michael Clemens).

Conclusiones

Como hemos visto, la creación de una interfaz “auténtica” con un sistema inteligente compuesto por sensores y servomecanismos no puede limitarse al encendido y apagado de un LED en un panel “pirateado”.

@RESERVADOS TODOS LOS DERECHOS
I
Paolo Maria Innocenzi
Cyberscurity Specialist

Cybersecurity Specialist