Ignorando los pulsadores asociados a los codificadores, una velocidad de paso de 50 pasos/segundo sugiere que puedes utilizar multiplexores externos para leer las salidas de los codificadores. Puedes encontrar multiplexores de 16 a 1 (74HC150, 74HC4067), y conectarlos a las dos fases. Maneja las líneas de dirección de los multiplexores con 4 líneas IO, y usa 2 líneas para leer las fases. Puedes añadir un tercer multiplexor para mirar los contactos del interruptor.
También puede ampliar los multiplexores, utilizando 1 o 2 líneas más como líneas de selección.
Este
simular este circuito - Esquema creado con CircuitLab muestra un multiplexor de 32 líneas, utilizando 5 líneas de selección de dirección y un inversor externo para la dirección más significativa. Puedes usar dos líneas IO para el MSA, pero debes asegurarte de que sólo una esté baja en cualquier momento.
En la práctica, usted (en intervalos de menos de 20 mseg) leería todas las fases del codificador, luego analizaría cada par de bits para determinar si el codificador se ha movido, y tomaría las acciones necesarias. Para un Atmel, 20 mseg es mucho tiempo, pero sería importante que el software no se involucre en alguna otra tarea y se pierda una lectura. Si el codificador se ha movido 2 pasos, no hay manera de determinar la dirección.
Una configuración completa requeriría 6 multiplexores - 2 por fase y 2 para leer los interruptores, más 3 inversores (1/2 de un chip inversor hexagonal como un 7HC04). El total de líneas de la MCU sería de 8. 5 líneas de dirección y 3 entradas.
El total de operaciones IO es de 64. 32 escrituras de selección de direcciones y 32 lecturas de datos. Por supuesto, si sólo estás usando, digamos, 20 codificadores, sólo necesitarías 40 operaciones.
0 votos
Lo mejor sería conseguir el micro apropiado para el trabajo. Sin embargo, si el micro tiene pocas entradas más, la mayoría de los micros de 44 pines deberían ser capaces de leer 20 entradas.
0 votos
@OlinLathrop Cada codificador estándar tiene dos salidas, así que ya son al menos 40 pines dedicados. Estoy de acuerdo en que lo mejor sería usar una MCU más grande, pero como no soy capaz de soldar SMD de 100 pines con las herramientas que tengo, estoy buscando alternativas.
4 votos
Puedes soldar un TQFP de 64 pines con un soldador.
0 votos
@OlinLathrop Gracias, estaba investigando esto. ¿Hay, en tu opinión, alguna otra opción?
2 votos
Querer avivar sin plomo es comprensible, pero los paquetes SMT con plomo son relativamente accesibles y evitarlos limitaría mucho sus opciones. Las opciones restantes podrían ser un montón de MCUs DIP como esclavos, cada uno manejando unos pocos codificadores, una pequeña FPGA en una PCB portadora prefabricada, o varias de las hélices DIP. Si sabes que tus codificadores son bastante lentos podrías sondearlos a través de un expansor GPIO.
0 votos
¿A qué tecnología de soldadura tiene acceso? He utilizado con éxito un pequeño horno tostador y una jeringa de pasta de soldadura con una boquilla fina para soldar 64pin LQFP, que tiene un paso de 0,5 mm. Ha requerido un poco de trabajo con trenza de soldadura, pero ha funcionado. La sugerencia de Olin de TQFP, que tiene un paso de 0,8 mm, probablemente sería más fácil.
0 votos
@gbulmer Gracias por la información, pero lamentablemente no tengo acceso al horno. Todo lo que tengo es una estación de soldadura con algunas puntas intercambiables.
0 votos
¿Qué velocidad de paso máxima esperas de tus codificadores? ¿Y qué quiere decir con "interruptores"? ¿Contactos mecánicos?
0 votos
No se necesita un horno. 0,5mm es totalmente realizable con una plancha y una lupa de 10x para comprobarlo. La clave es el fundente y dejar que la tensión superficial haga el trabajo - en realidad prefiero una punta grande con forma de destornillador doblado. Las herramientas de aire caliente son útiles (bien valen los 60 dólares), pero sólo son necesarias si se sueldan más de dos pines de esquina sin verificar la alineación, o se daña eléctricamente un chip completamente soldado.
0 votos
@WhatRoughBeast La velocidad máxima de paso sería de unos 50/s. Con lo de los interruptores me refiero a que algunos codificadores rotativos llevan integrados interruptores mecánicos, sí.
0 votos
¿Son los interruptores de las 2 fases, o son indicadores de posición de límite o de inicio?
0 votos
@WhatRoughBeast Sólo un pulsador. adafruit.com/datasheets/pec11.pdf
1 votos
" decodificador de cuadratura a IC en serie (codificador aSPI, I2C, etc). No hubo suerte" ¿Por qué no programar un pequeño uC para hacer precisamente esto? Dependiendo de la configuración física, también podría hacer que el cableado sea mucho más simple.
0 votos
@gbulmer Gracias por mi risa del día. Nunca miraré mi horno tostador de la misma manera ...
0 votos
@StainlessSteelRat Hay una gran posibilidad gbulber no es una broma :) Mira esto: freetronics.com.au/pages/
2 votos
@StainlessSteelRat - Me alegro de que te haya hecho reír. No es una broma. El profesor de electrónica de una escuela local me enseñó la técnica hace algunos años. Ya enseñaba a niños de 13 años a soldar electrónica de esa manera. Es más rápido para un aula llena de niños que los soldadores, da mejores resultados, con una mayor tasa de éxito. Y lo que es mejor, se utilizan piezas SMD, por lo que se parece a la electrónica moderna, que los niños prefieren a los agujeros pasantes.
0 votos
@AndrejsCainikovs - Gracias por ese enlace, es una buena explicación, con imágenes útiles.