Diseñé la siguiente PCB, donde después de probar un problema grave (¿relacionado con EMC?)
Esta placa alberga una STM32F103 placa de desarrollo.
A la derecha de la PCB, hay 6 termistores conectados para medir varias temperaturas, que durante todas las pruebas se conectaron directamente a la PCB, sin ningún cable largo. En la parte inferior de la PCB hay 7 relés, SANYOU SRD-S-112D , que son manejado desde el ULN2003A sobre ellos. El diodo del ULN2003A está correctamente conectado, y no hay ningún problema con el EMF posterior de los relés. No se realizaron otras conexiones durante las pruebas.
Mientrasestabaprobandolaplacasinnadaconectadoalosrelés,todofuncionacomoseesperaba.
Luegoconectéunrelédered(220V)aldeabordo.Porlotanto,laconexiónesULN2003A=>reléabordo=>relédered.Yaquíempezaronlosproblemas.Cadavezqueelreléde220Vcambiadeestado,recibopicosderuidoexcesivosenlaPCB.LosdatosdeI2Cestándañados,losdatosdelregistrodedesplazamientoquecontrolaelULN2003Atambiénestándañados,etc.Elproblemaesmásgravecuandoelrelésedesactiva.
LaPSU,laPCBytodoslosinstrumentosusadosestánconectadosatierracorrectamente.Lafuentedealimentaciónestáaislada,conlatomadetierradeCCconectadaatierra.SepruebanlosrelésabordoymiDMMinformadeOLentreelcontactoylabobinaparatodos.Apartedelaconexiónatierra,nadamásconectaeléctricamenteelreléderedyelPCBaprueba.
Conectémiosciloscopioyobtuvelasiguientetraza.Elcanal2eselsuministrode+12VdelaPCB.Estospicosseobservan6msdespuésdequecambielasalidadelULN2003A,porloquecreoqueesteeselmomentoenqueelreléabordodebecambiardeestadoylabobinadelreléde220Vparainiciar/detenerelfuncionamiento.
EstospicossepuedenobservarencualquierpuntodelaPCB,encualquierniveldetrazayvoltaje.
¿Quéesexactamenteloqueestácausandoesto?¿Cómopuedocombatirlo?¿Cómopuedodeterminarsiestospicoslleganamicircuitoatravésdelafuentedealimentaciónoatravésdelaire,yencadacasocuáleslasolución?
Comohefabricadounpequeñolotedeestostableros,meinteresanlassolucionesparaquefuncionenynoparadesecharlas,ylassolucionesparaimplementarenlapróximarevisión.
Sepuedenrealizarmáspruebas,porfavorpregunteenloscomentarios.
EDIT:
Segúnlarecomendacióndelarespuesta,instaléunTV1.5KE400CAenelcontactodelreléabordo.Puedodecirqueayudóunpoco,perodefinitivamenteelproblemapersiste.
Aquíestálasalidadelreguladorde5VantesdelTVS:
Yaquíestádespués:
EDIT 2:
Como se ve en el esquema, hay una salida en serie, para encadenar más registros de cambio y relés. He conectado una placa de este tipo en esta salida. Está hecho en un tablero de cinta, así que no tengo ningún esquema a mano, pero es un simple 74HC595 conectado a un ULN2003A. Solo el mismo circuito que en la placa principal. Al realizar la misma prueba (relé de red conectado, al contacto del relé de la placa de expansión), los picos son mucho más graves y el sistema deja de responder por completo, con datos en todos los buses (I2C y SPI) totalmente corruptos.
Intenté agregar diodos TVS en todo (bobina de relé, contacto de relé, bobina de relé de red, contacto de relé de red), pero no hice absolutamente nada.