Estoy ejecutando un motor paso a paso con mi microcontrolador PIC18F46K80. Este microcontrolador me ofrece la función de interrupción de cambio del puerto b, que básicamente genera una interrupción si el estado de los pines de entrada del puerto b está cambiando. Lo uso para observar el encoder de cuadratura del motor paso a paso y asegurarme de que el motor esté realizando todos los pasos que debería hacer (el encoder me ofrece dos pines que se ponen altos y bajos en algún patrón específico si el motor realiza un paso en una dirección específica ). Un gran problema que tengo ahora es que la interrupción del puerto b en el cambio es muy, muy muy sensible. Incluso si habilito la interrupción al cambiar solo en un pin y conecto este pin directamente a VDD o VSS, la interrupción a veces se produce si toco, por ejemplo, la cubierta de un cable conectado a este pin. Para mi proyecto, esta sensibilidad y, por lo tanto, posibles trastornos no son aceptables.
¿Entonces me pregunto qué opciones tengo para mejorar esto? ¿Existen alternativas a la función de interrupción en el cambio para realizar un seguimiento de las señales del codificador? ¿Puedo disminuir la sensibilidad de alguna manera?