Primero mis felicitaciones por este maravilloso sitio. Espero encontrar una respuesta a mi problema. He comprobado para encontrar respuestas, pero no pude encontrarlo.
Mi experiencia es algo técnica, solo con un conocimiento eléctrico menor.
El objetivo de mi proyecto es leer la señal en serie que es suministrada por el puerto P1 de un Medidor inteligente (tipo ISKRA MT382-D2A52-M2K0agnZ) con una Arduino MEGA 2560 @ 9600 Baud rate.
Muchos antes de mí han tenido éxito, sin embargo, parece que no lo consigo.
Antes de que Arduino pueda "leer" la señal del puerto P1, la señal debe invertirse. (Asesoramiento general en Internet sobre este tema: use 7404 inversores hexadecimales y transistores para invertir la señal P1)
Actualmente estoy usando los siguientes componentes y esquema:
- Arduino Mega 2560
- transistor NPN 2N2369A
- resistencia 2x 1k
El2N2369Aestáhaciendoalgo,porquelasalidaenseriedelArduinoconelesquemadearribaeslasiguiente:
0-0:96.luegobasura0-0:96.luegolabasura0-0:96.luegolabasura
El0-0:96.Lapartequeescupecada10segundosseparecealoquedeberíaleer:
/ISk52ME382-10030-0:96.1.1(4B414C37303035313039)1-0:1.8.1(00180.912*kWh)1-0:1.8.2(00001.416*kWh)1-0:2.8.1(00000.000*kWh)1-0:2.8.2(00000.000*kWh)0-0:96.14.0(0001)
etc...
CuandoconectoelTXdesdeelP1(medidorinteligente)directamentealpuertoRX0delArduino,seproducelosiguiente:
(VeÔR]d�“ZòövRÖå½Vû‹�“£�´ò«}—“IYÙ–ö–ö–V–Ö’’Ö™Ÿ™�™�™—f'ff+9½Rû‹�´dë^Ÿ“••“£(VeÔR]d�“ZòövRÖå½Vû‹�“£�´ò«}—“IYÙ–ö–ö–V–Ö’’Ö™Ÿ™�™�™—f'ff+9½Rû‹�´dë^Ÿ“••“£(VeÔR]d�“ZòövRÖå½Vû‹�“£�´ò«}—“IYÙ–ö–ö–V–Ö’’Ö™Ÿ™�™�™—f'ff+9½Rû‹�´dë^Ÿ“••“£¯ÉSë5\²MÔ3¸²-±00´�
queesbasuraabsoluta.Porlotanto,creoqueestoycercadelNPN,peronopuedollegaralúltimopaso.
¿Alguienestádispuestoaaconsejarmequéestoyhaciendomal?
- elecciónequivocadaNPN?resistenciasequivocadas?
Deantemanomigratitudacualquieraqueestédispuestoaayudar.
Saludoscordiales,
Vernon
!!ACTUALIZACIÓNDESEGUIMIENTO!
Siguiendoconmipreguntaanterior,hehechounpocomásdepruebas.
HeprobadounSketchdesdeInternetutilizandoAltSoftSerialwithDigitalpin48enelMegacomounasoluciónRXdesoftware,peroconresultadosperfectos:
Resultar
*0-0:96.1.1(5A424556303035313739303939343133)
1-0:1.8.1(06558.109*kWh)
1-0:1.8.2(05439.071*kWh)
1-0:2.8.1(00000.002*kWh)
1-0:2.8.2(00000.000*kWh)
0-0:96.14.0(0002)
1-0:1.7.0(0000.80*kW)
1-0:2.7.0(0000.00*kW)
0-0:17.0.0(0999.00*kW)
0-0:96.3.10(1)
0-0:96.13.1()
0-0:96.13.0()
!*
ArduinoSketchutilizado:
Al conectar el Smart Meter TX al pin D48 sin NPN, la salida vuelve a estar limpia: * + 9 = V {$ 46 {/ # ++ 9 = V {
vkZJV% V {
4r +} IYYvvVVV
f'ff + 9 = R {4dk ^ 4rV + *
Estoy muy cerca, sin embargo, siento que un idiota no puede obtener el puerto serie RX0 normal para escupir los mismos datos que la opción AltSoftSerial.
¿Alguna idea? ¡Muchas gracias de antemano! Vernon