Control Arduino/Mosfet del chip lógico CMOS

conexiones de clavijasAsí que encontré un "sintetizador" de video compuesto básico que estoy tratando de manipular con un arduino. El dispositivo fue originalmente controlado por interruptores táctiles NO entre pines en la MCU CMOS, un Signetics SC80C51B (hoja de datos a continuación).

Reemplacé algunos de los botones táctiles con mosfets de señal de canal N 2N7000G, que se controlan directamente desde los pines del arduino UNO (5v).

Hasta ahora, he tenido cierto éxito. El arduino puede emular de manera confiable la mayoría de los botones enviando un ALTO momentáneo (~ 10 ms) a las puertas de los fets. Sin embargo, algunos de los botones se comportan de manera errática, activando otros botones, incluso aquellos que no han sido reemplazados por mosfets.

EDITAR: se eliminó el ejemplo confuso, se hizo innecesario por el esquema.

Ahora bien, esto me lleva a pensar que los botones están multiplexados, lo cual tiene sentido. Sin embargo, no puedo entender por qué algunos de ellos funcionan completamente bien y otros no. La lógica me lleva a pensar que si el multiplexado fuera el problema, todos los botones se comportarían de forma errática.

Desafortunadamente, no tengo un alcance digital para capturar ninguno de los pulsos e investigar más. Supongo que solo espero que alguien pueda explicarme cómo puedo interactuar mejor con el chip Signetics, o cómo emular mejor las pulsaciones de los botones.

Si necesita más información (números de PIN, etc.), simplemente pregunte, pero no estoy seguro de qué es relevante.

EDITAR

He adjuntado una foto de los pines cuando están conectados. FETS A, B, C y "OUT" funcionan correctamente, "REV" y "WIPE" activan otros botones además de ellos mismos. El drenaje de FET A no pasa una prueba de continuidad entre ninguno de los pines de la MCU, pero funciona correctamente, no sé qué hacer con eso.

Hoja de datos de Signetics

Ayudaría si agregara un esquema de sus conexiones desde el microcontrolador al SC80C51B.
¿Hay resistencias pull-up o resistencias pull-down en alguna de las líneas (esperemos que no sean internas si no tiene acceso al código fuente)? Considere los efectos de cortocircuito de los diodos del cuerpo si las fuentes están a 5 V (y los drenajes tienen resistencias desplegables). Puede probar uno a la vez e intentar intercambiar fuentes con drenajes, o posiblemente considerar interruptores analógicos con clasificación de 5V como una alternativa a los mosfets.
Tienes una conexión entre la tierra del sintetizador y la tierra del Arduino, ¿verdad? ¿Tiene un alcance analógico disponible para ver qué pines MCU son salidas y de qué manera cambian?
@Tut Hay un menú desplegable de 10k en cada puerta, pero que yo sepa, no hay resistencias de extracción externas para la MCU CMOS. Cuando se mide, hay una diferencia de ~1v entre la fuente y el drenaje, alrededor de 4v en la fuente y 5v en el drenaje, en relación con la tierra del sistema. He considerado usar algo como el IC 4066, pero estos mosfets son lo que tengo a mano, así que prefiero que funcionen si es posible. Solo estoy tratando de discernir qué hace que algunos de los FET funcionen correctamente para poder aplicar esos principios a los que no funcionan.
@Finbarr Perdón por el esquema incompleto, sí, el arduino y el sintetizador comparten terreno, sin eso no funciona en absoluto. Tengo un alcance analógico, sin embargo, no estoy seguro de qué buscar en cuanto a la salida frente a la entrada de la MCU. Ya estoy lo suficientemente confundido como para que la mayoría de sus pines parezcan tener casi el mismo potencial relativo a tierra, entre 4,5 y 5,5 voltios.
Eso tiene sentido, los botones formarán una matriz que conectará las salidas con las entradas. Sugiere que pulsará cada salida baja una a la vez y verá qué entradas bajan para determinar qué botones se presionan. Puede ser que algunos de sus FET estén al revés. Averigüe qué líneas pulsan bajo cuando no se presiona ningún botón, esas serán las salidas.
Muestra tu código.

Respuestas (1)

Entonces los botones fueron multiplexados. Identifiqué las salidas de multiplexación y descubrí que estas señales pasaban de pulsos de -5v a pulsos de -1v cada vez que el arduino estaba conectado a las puertas de los MOSFET, incluso si no estaba encendido. Si bien no descubrí por qué era así o por qué causaba pulsaciones de botones "aleatorias", logré resolver el problema colocando diodos Schottkey 1N4148 entre los pines digitales del arduino y las puertas de los MOSFET. Ahora los mosfets se comportan como "botones" individuales y no activan eventos no deseados. Gracias por toda la ayuda.

editar: si alguien encuentra esto mientras intenta resolver un problema similar, no dude en enviarme un mensaje y puedo darle un esquema completo de mi solución.