Por diversión, y como un ejercicio en hardware de chatarra de ingeniería inversa, estoy tratando de entender los aspectos internos de una impresora HP DeskJet 840c de 2001.
Específicamente, estoy tratando de entender cómo funciona el controlador del motor, con el objetivo de poder enviar mis propias señales a sus pines de entrada y controlar los 2 motores de CC con escobillas y el paso a paso dentro de la impresora.
El controlador del motor está hecho por TI, pero al buscar en Google los códigos de identificación no resulta útil, por lo que sospecho que este chip fue hecho específicamente para HP. También intenté encontrar partes similares en el sitio de TI, pero no surgió nada.
AlseguirlastrazasenlaPCBprincipal,identifiquélospinesdesalidatrabajandohaciaatrásdesdelosmotores,luegoidentifiquélospinesdeentradatrabajandohaciaatrásdesdelaCPU.
- MC1aMC9seconectanalospinesdelaCPU.
- X1aX4seconectanaunmotorpasoapaso.
- M1AyM2AseconectanadiferentesmotoresdeCC.
- TodoslospinescercadecualquieresquinaseconectanaGND.
Utilizandounanalizadorlógico,capturolasseñalesintercambiadasentreloscontroladoresylaCPUcuandounodelosmotoresdeCCestáfuncionando.LaCPUpareceenviarunflujoconstantede"paquetes" con un período de 1000 ns (incluso cuando el motor no está funcionando). Cada paquete está dividido en 8 intervalos de 125 ns cada uno, que intenté interpretar como valores de byte. Hay patrones, por ejemplo, la mayoría de los paquetes comienzan con 11 y terminan con 01 pero, aparte de eso, no podría darle más sentido al protocolo, aparte de identificar qué secuencias parecen indicar al motor que se mueva hacia la izquierda o hacia la derecha, o que se quede quieto.
Mi siguiente paso sería inyectar mi propia copia de la entrada desde un microcontrolador por separado, para ver si el controlador la acepta.
Pero antes de seguir adelante, preferiría entender el protocolo, así que sé con certeza lo que le pido al conductor que haga, en lugar de tener que copiar lo que obtengo del analizador.
¿Alguien puede ayudar a identificar el controlador del motor y encontrar una hoja de datos para él, o al menos entender si el protocolo de control es algo estándar que puedo aprender?