Esa habitual que con el tiempo los conectores USB o jack frontales de los PC’s dejen de hacer contacto totalmente o parcialmente haciéndonos sobre todo muy difícil realizar una conexión especialmente las de audio externas para auricular o micrófono ¿Cómo podemos repararlas?
Obviamente ante problemas con los conectores lo primero que se nos viene a la mente es reemplazar los conectores por otros nuevos y problema solucionado ¿verdad? . Pues ojalá fuese así con los jack, porque los usados en los pc’s modernos no llevan solo los dos canales y la masa, ya que internamente llevan dos micro interruptores que cierran al insertar un conector jack macho en el interior siendo esta señal captada por la placa madre y de este modo puede ser detectado por el software gestor de sonido.
Normalmente al desmontar esta placas tenemos 16 hilos , que se reparten de la siguinte manera:
2 grupos de cuatro hilos para cada conexión USB (suelen llevar soporte para dos USB).
2 grupos de cuatro hilos para las dos conexiones de audio (salida y micrófono).
Ahora ,si vemos las conexiones de la placa anterior mas abajo, vemos a la izquierda ( arriba del conector verde) dos puntos gruesos de soldadura para cada canal, que son precisamente una entrada sense mas la señal de audio para cada canal de audio. Además para el micrófono ocurre justo los mismo: es decir se usan 4 hilos por jack mas la masa común.
Que averias pueden ocurrir con estos jacks:
No es reconocido un jack al introducirlo en alguno de los conectores.
Se corta el audio.
Se corta el micro.
Ruidos.
Bajadas de nivel.
Etc
Bueno , si tenemos algunos de esos problemas , si es posible encontrar estos jacks «especiales» (ojo que no valen los antiguos usados en equipos de audio que son justo al reves), lo mejor es reemplazarlos por uno nuevo y el problema quedaría solucionado .
Si no podemos conseguir los mismos jacks , lo mejor es intentar adquirir la misma placa de conectores y reemplazar todo el conjunto (suelen venir también con el cable para conectar a la placa madre).
Lamentablemente estas placas no son tan simplemente fáciles de obtener, siendo sin embargo muy fáciles de conseguir unas similares pero con solo 3 hilos por jack, como vemos en la foto de mas abajo ( obsérvese que hay solo una conexión para cada canal).
La gran decepción es cuando conectamos esta nueva placa porque los USB si funcionaran pero los jack’s de audio probablemente no porque solo han usado 5 hilos en lugar de los 8 +1 originales.
En el esquema siguiente de mas bajo podemos ver como claramemnte las conexiones de las nuevas placas son muy distintas:
¿Cómo podemos adaptar este jack nuevo si le falta dos hilos de conexión por jack en las nuevas placas?. Pues creemos que la manera sencilla es adaptando una placa nueva usados los conectores traseros para que sean reconocidso tanto en la salida como en la entrada:
En el caso de la salida solo habrá que conectar un cable jack atrás para que el sw reconozca que hay algo conectado y entonces en el jack frontal ya si podemos conectar lo que necesitemos pudiendo coexistir ambos si fuese necesario ( el frontal +el trasero). Obviamente ese cable conectado atrás puede ir a un altavoz, etc. o simplemente podemos dejar un cable enchufado libre por la otra punta.
En el caso de la conexión de micrófono, no es posible el truco anterior , por lo que lo mas sencillo es usar un cable con jack que conectaremos en la parte trasera y luego soldar los tres hilos en la placa en la parte del jack rosa como podemos ver en la imagen de abajo.
Y como vemos, en la imagen de abajo el otro extremo del cable terminado en un jack blanco que hemos soldado en la placa lo conectaremos al conector trasero rosa correspondiente a la entrada de micrófono.
Esta claro que la solución adaptada no es la mejor solución, pero al menos así todos los conectores frontales ya si tendrán utilidad y seran funcionales.
Dado el incremento histórico en los costos de la electricidad y la previsión de un continuo aumento, consideramos esencial contar con un método para evaluar el consumo eléctrico y identificar las áreas de la casa con mayor gasto energético. Esto nos permitirá optimizar el uso de la electricidad y, en última instancia, reducir nuestra factura. Una manera efectiva de lograr este objetivo es la instalación de medidores de consumo, ya sea a nivel de dispositivo o de la casa en su totalidad. En este post nos enfocaremos en la colocación de un medidor de consumo en el cuadro eléctrico para monitorizar el consumo de toda la vivienda , pues aunque hay numerosos dispositivos disponibles en el mercado para este propósito no siempre estan accesibles en tiempo real las medidas. Además adoptaremos una solución abierta económica y no invasiva (esto significa que no es necesario que la línea eléctrica que se va a medir pase a través del dispositivo, lo cual hace que su instalación y uso sean más seguros).
Los componentes
El corazón del montaje es un Pzem004 , un módulo de prueba de monitorización eléctrica de alta precisión que viene además ya calibrado , muy económico ( unos 13€ en amazon) , autoalimentado ( ca 220v) y que incluye un transformador de corriente ( cerrado o con clip) para la medida de la corriente. Este mismo módulo incluso puede usarse para medir la energía, el voltaje y la corriente, y luego mostrarlo en un PC u otros terminales ofreciendo una precisión del 1%..
Ciertamente existen varias versiones con display que incluyen un botón de restablecimiento que puede restablecer los datos de energía simplemente pulsándolo, pero para el cometido de este post es mucho mejor usar la versión sin display dado que la idea es conectarlo a un microcontrolador y enviar las medidas para su análisis posterior (ya que de no ser así solo podemos verlas in situ y nos perderemos los valores históricos)
Gracias a que todas las versiones equipan un interfaz de comunicación de datos serie TTL, se puede leer y configurar los parámetros relevantes a través del puerto serie que podemos capturar con un microcontrolador como por ejemplo un potente ESP32, como vamos a ver en este post con una versión de los mas vendida: el ESP32 WROOM-32 (unos 12€ en amazon).
El AZDelivery ESP32 Dev Kit C V4, que corresponde al fabricante Espressif, combina en un solo microcontrolador una CPU con 2 núcleos de Tensilica LX6, con una frecuencia de reloj de hasta 240 MHz, y 512 kilobytes de SRAM. Para ello integra un aparato de radio para WLAN (802.11b/g/n) y Bluetooth (Classic y LE).
Con la nueva distribución de la placa, tanto la alimentación como el circuito de reset para la programación automática han sido mejorados significativamente. La versión Dev-Kit está equipado con el ESP32-WROOM-32.,módulo que a sido reposicionado por Espressif para lograr un aumento significativo en la calidad de transmisión y recepción, sin aumentar el rendimiento.
La función WLAN es compatible con todos los métodos de cifrado habituales, como WPA2. También puede actuar como punto de acceso o sniffer en la WLAN. Entre los más de 32 pines GPIO están disponibles: UART, I2C, SPI, DAC, ADC (12 Bit), todos los pines GPIO pueden utilizarse como entrada o salida.
Conectándolo todo
Usando la Biblioteca Arduino para Peacefair en un ESP32 y un PZEM-004T-100A v3.0 podemos construir un Monitor de energía usando la interfaz ModBUS.
Antes de empezar ,debemos saber que la versión 3.0 PZEM es una versión mejorada de la anterior PZEM-004T, siendo las principales características de este módulo son las siguientes;
Mide voltaje, corriente, potencia, energía, factor de potencia y frecuencia (nuevo en la versión 3.0).
También destacar que existe ya actualmente una nueva versión versión con exactamente las mismas especificaciones pero con soporte de RS485 ( como tratamos en este post) , lo cual a efectos prácticos nos puede interesar en caso de necesitar usar múltiples dispositivos de medidas sobre el mismo bus de medidas.
Especificaciones del fabricante para el PZEM004 v3
FUNCIÓN
RANGO DE MEDICIÓN
RESOLUCIÓN
PRECISIÓN
Voltaje
80~260V
0.1V
0,5%
Actual
0~10A o 0~100A*
0.01A o 0.02A*
0,5%
Poder activo
0~2,3kW o 0~23kW*
0.1W
0,5%
energía activa
0~9999.99kWh
1Wh
0,5%
Frecuencia
45~65Hz
0,1 Hz
0,5%
Factor de potencia
0,00~1,00
0.01
1%
*Uso del transformador de corriente externo en lugar del derivador incorporado
Este módulo, es una versión mejorada del PZEM-004T con funciones de medición de frecuencia y factor de potencia, disponible en los lugares habituales. Se comunica mediante una interfaz TTL a través de un protocolo de comunicación similar a Modbus-RTU, pero es incompatible con la biblioteca @olehs anterior que se encuentra aquí: https://github.com/olehs/PZEM004T
Para hacer mas interesante la propuesta además al circuito un simple medidor de temperatura y humedad «clásico» como el módulo DHT11. Este sensor lee la temperatura y humedad del lugar donde está el sensor. Tiene dos pines para alimentación («-» para la tierra, el pin central es VCC). El pin con la etiqueta «S» es la entrada de pin. Las lecturas se reciben a través de este pin.
Los componentes empleados necesarios para el montaje propuesto pues son los siguientes:
Modulo Esp32 genérico : ESp32 WROOM3
Modulo PZEM004
Modulo DHT11
Fuente encapsulada de 5v : módulo 220AC /5vDC
Cablecillo hembra-hembra y cable de ca
Caja
El circuito
En cuanto a las conexiones, seguiremos un esquema bastante simple que puede ajustarse a diversas necesidades y configuraciones. Se ha optado además del citado modulo PZEM004, añadir un sensor de temperatura y humedad (el DHT11 ) así como para darle mayor estabilidad un fuente sellada de 5V ultra-miniatura ( aunque un cargador USB debería también ser suficiente).
El esquema propuesto del montaje queda como en la siguiente imagen :
A continuación para que quede mas claro exponemos las principales conexiones con el ESp32:
NodeMCU ESP32S
PZEM004-T V3
Fuente 5v DC
DHT11
5V
5V
Rojo/+/VCC/5V
5V
GND
GND
Negro/-/GND
GND
GPIO16
TX
GPIO17
RX
GPIO 5
DATA (PIN CENTRAL)
Resumen de conexiones importantes del ESP32 con el DHT11 y PZEM004
ATENCION: La Fase y el Neutro se conectarán a la corriente directa de la casa. Dentro del anillo toroidal para la medición de la corriente ( que puede ser en forma de pinza o no ), deberemos pasar el cable de la Fase (color Negro) sobre el cual deseamos llevar a cabo las mediciones, que puede ser el mismo que utilizamos para suministrar corriente al circuito o no.
Debemos destacar la importancia de verificar si los módulos ESP permiten la salida de corriente de 5V por el pin, ya que esto puede variar según el modelo. En caso de alimentar el módulo ESP desde un cable USB y suministrar energía al módulo PZEM-004T mediante sus pines 5V/VCC y GND, es esencial confirmar que estos pines puedan proporcionar la corriente necesaria. Mencionar además la intención de llevar a cabo pruebas según el esquema propuesto y luego realizar un montaje más seguro dentro del cuadro eléctrico.
MUCHO CUIDADO: Para que ciertamente este montaje no conlleve ningún peligro, dado qeu va alñimentado directamente con ca 220V , debemos aislar ambas placas (por ejemplo en una caja de conexiones) para asegurarnos de que no recibimos ninguna descarga eléctrica fortuita especialmente del PZEM004 .
Código Arduino
Una vez tengamos listo el montaje, antes de incluso integrarlo en Home Assistant que veremos en un nuevo post, es muy interesante cerciorarnos que el montaje funciona correctamente, para lo cual en el ambiente de Arduino deberíamos probar algún mínimo código que nos ratifique que el montaje es correcto.
Teniendo el montaje bien revisado, debemos seleccionar desde el interface de Arduino «ESP Dev Module» y asegurarnos de haber configurado el puerto serie correcto.
Con el siguiente código lo cargaremos y los desplegaremos en el microcontrolador pulsando la flecha derecha ( deploy) y ya podemos probar las funcionalidades abriendo el monitor serie.
#include <PZEM004Tv30.h> #include "DHT.h"
#define DHTPIN 4 // Digital pin connected to the DHT sensor
// Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 --
// Pin 15 can work but DHT must be disconnected during program upload.
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
}
}
Destacar que aunque este código no será necesario en la integración con Home Assitant, pero si es conveniente antes de desplegarlo en el ESP32 , para probar que el montaje funciona correctamente y que no nos hemos equivocado en nada , ya que el código Arduino anterior es funcional al 100% .
Os mostramos como hemos probado el montaje antes de llevarlo su ubicación junto al cuadro de distribución de ca:
Si hemos desplegado el código anterior correctamente los dos leds TX/RX del PZEM004 deberían parpadear al unísono y desde la consola serie de Arduino ver todas la lecturas de tensión, corriente, potencia, frecuencia, factor de potencia así como la temperatura y la humedad. !buena suerte!.
Debe estar conectado para enviar un comentario.