Microcontrolador. Entrada digital, salida física en diferentes voltajes: número máximo de pistas de salida

Hola, estoy intentando interpretar tu proyecto. Y viendo por ahí que deseas hacer una matriz de agujas si es que no capté mal de 1000x700 aprox. o_O
Es cómo referirse a la resolución de una pantalla de video. Pero pregunto, te haces una idea de las dimensiones que tendrá?
Suponiendo que logras bobinas de 5mm diam. el tablero ocupará mínimo unos 5 x 3.5mt aprox!!:oops::oops::oops:
Cómo sería su utilidad?
 
Hola Gudino, En cuanto al tamaño de las bobinas, todavía no sé realmente cuál es el tamaño que tendrían. Lo de la resolución de vídeo es un ideal, sé que para llegar a esa resolución probablemente haría falta un proceso industrial y no un proyecto DIY. En cuanto a la dimensión de la bobina, imagino que dependerá de la tolerancia de la impresora de PCB y también está directamente relacionado con la intensidad de señal vs sección de la pista, así como del grosor del pin que debe levitar en inducción magnética.

La suposición de 5mm, aunque a priori parezca razonable, creo que se podría mejorar. Pienso en que un imán de neodimio puede tener un tamaño de 0.25mm (Neodymium Micro Magnets - SuperMagnetMan - Very Tiny, Many Uses!) y luego la bobina que iría enrollada en torno a él puede simularse bien en anchura (lo que haría que ocupara más espacio, por ejemplo esos 5 mm., pero también en profundidad, imprimiendo un PCB en 2, 3, 4 o 5 capas, lo que nos podría dar diámetro de bobina de 0.5 mm (por ejemplo), por tanto, ya no serían 5 metros, sino 0.5m, lo que es bastante más razonable :)

Me preocupa más cómo inducir campo magnético (codificado como una señal que identifica una bobina dentro de una matriz y una señal que determina la intensidad en dicha bobina y que pase a través de un amplificador operacional antes de llegar para acondicionar la segunda señal a una intensidad "real"). Hacer esto para cientos de miles de bobinas de forma "simultánea" puede incrementar la dificultad, aunque entiendo que una vez establecida una estructura base para una "fila" de 1000, es un modelo escalable. Me preocupa cómo llevar la corriente a las bobinas y si las propias pistas que lleven corriente independiente a cada bobina van a ocupar más que la propia matriz de bobinas. La estructura del circuito básica es la que quiero tratar de dilucidar, y puesto que no soy electrónico, esperaba encontrar algo de orientación por aquí.

Tampoco es necesario que cada módulo sea una fila de 1000. Es posible que lo más adecuado fuera agrupar módulos cuadrados de 32x32 (direccionable mediante una señal de 10 bits) por cada controlador en vez de pensar en filas inmensas. Todo esto son cosas que querría charlar para tratar de llegar a una solución viable.

Espero haberme explicado un poco mejor, pero encantado de discutir aspectos de factibilidad técnica-tecnológica.
Saludos!
 
Última edición:
Entiendo, entonces la distancia entre agujas debe ser muy pequeña cómo mencionas, algo así cómo 0.25mm. para lograr la sensación de tacto cómo si fuera una pieza sólida.
Pero, cómo vas a lograr esa separación considerando las bobinas?
Creo que debes, plantearte otra opción para direccionar dichas agujas.
Se me viene a la mente, algún sistema de microlevas, que según girando un eje, logras la altura deseada, pero claro, son 1000 levas montadas en un sólo eje, direccionables individualmente, para que cada una tenga la altura seteada. Algo así cómo el funcionamiento de las impresoras de tambor, en las calculadoras registradoras.
 
Pero, cómo vas a lograr esa separación considerando las bobinas?
Esa separación en las bobinas vendrá determinada por la resolución de la impresión del PCB. Si las bobinas son impresas en un PCB de 6 capas, una vuelta en cada capa, o dos vueltas (una en un sentido y otra en otro), habría que comprobar que generan un campo suficientemente intenso como para desplazar el imán de neodimio junto con el pin de plastico que será lo que toque el usuario y venciendo a la resistencia por fricción de las piezas. También influye en este cálculo el ancho de la pista impresa que represente cada bobina e imagino que tendría que hacer pruebas.

Se me viene a la mente, algún sistema de microlevas, que según girando un eje, logras la altura deseada, pero claro, son 1000 levas montadas en un sólo eje, direccionables individualmente, para que cada una tenga la altura seteada. Algo así cómo el funcionamiento de las impresoras de tambor, en las calculadoras registradoras.
Por otro lado, entiendo que el sistema de levas implica algún tipo de micro motor de paso, rozamiento entre más piezas que será más ineficiente, aumentará el peso del sistema y no sé si aporta alguna ventaja. He visto soluciones de micromotores de paso para líneas braille, pero se basan en un reducido número de motores, puesto que la línea braille a lo mejor tiene 20 caracteres y las posibles combinaciones para formar el alfabeto son bastante limitadas, con lo que es una opción viable a pequeña escala. No me viene a la cabeza ninguna configuración mecánica viable donde no tuviera como mínimo 255 micromotores de paso, cada uno para un nivel de intensidad, que actuaran sobre conjuntos de agujas que presentan la misma altura y tampoco veo la ventaja de un sistema basado en levas en vez de inducción magnética (que es el principio que subyace al motor de paso, si no me equivoco, pero quitándole todos los "kilos de más"). Si no entiendo mal tampoco, los sitemas de impresoras de tambor eran sistemas secuenciales, por tanto no sé cómo podría hacer para que los cientos de miles de agujas se situaran "simulatáneamente" a una altura concreta.

Quizás es que no he entendido correctamente la solución que propones, si puedes explicarla un poco más detalladamente, quizás lo vea más claro.
Muchas gracias por dedicar tiempo a pensar conmigo!
 
Me refiero a que uses esos circuitos integrados .
No que compres ese módulo y sueldos y desueldes.
De cualquier modo tu proyecto me parece tan encomiable como inabarcable
 
YO trataría de usar algo como ESTO, tal vez usando imanes para cambiar la forma.
La verdad que no tengo ni idea de como lo haría, pero segurísimo que no usaría una impresora 3D ni bobinas impresas...
¿Y cómo controlarías esos imanes para que se movieran automáticamente más o menos sin un campo magnético?
La impresora 3D vale para no tener que ensamblar las piezas que no van conectadas mecánicamente (una de las ventajas de la fabricación aditiva), tu propuesta sería ensamblarlas a mano? Sin bobinas impresas, ¿soldarías cientos de miles de bobinas?
 
Yo tengo uno de esos, se "dibuja" poniéndolo encima de algo.

Podría valer como base pero le faltan "los motores"
 

Dr. Zoidberg

Well-known-Papá Pitufo
Lo que yo haria, y me extraña que usando impresoras 3D no se le ocurra, es poner debajo del coso ese con "palitos" un sistema parecido a la impresora 3D (que los venden muy baratos) pero puesto "de cabeza" de manera tal que recree la forma usando un mecanismo de barrido.
Vamos...es algo facil...pero el "Pensamiento computacional" no es algo que abunde...
 
Estimado Dr. Zoiberg, me resulta curioso que después de decir que "no sabe cómo lo haría", ahora aporte una solución como obvia, pero que es secuencial, siendo un mecanismo de barrido. Por usar un algoritmo en pseudocódigo para su solución y comprobar si he entendido bien:
  1. Mientras haya piezas que deben actualizar su posición:
    1. Activar el servo encargado del movimiento en X hasta la posición indicada por el controlador
    2. Activar el servo encargado del movimiento en Y hasta la posición indicada por el controlador
    3. Activar el servo que empuja el cabezal para desplazar en Z la pieza escogida una cantidad indicada por el controlador
    4. Activar el servo que empuja el cabezal para devolver el cabeza a una posición que no colisione con el resto de piezas
  2. Fin mientras
La pieza que usted recomienda tiene unas dimensiones de 18.5 x 13.2 x 6.9 cm. Una velocidad estimada para un cabezal de impresora es de 20 mm/s.

Ahora se me plantean dos alternativas:
  1. El cabezal actualiza todas las piezas en cada vuelta (el desplazamiento por pin es menor, pero se mueven todos los pines)
  2. El cabezal actualiza sólo las piezas que necesitan modificar su altura
Voy a considerar la opción 2) y estimar que el desplazamiento de una pieza a la siguiente es, en media, la mitad de la distancia máxima del juguete, a saber: 9.75 en el eje X, 6.6 en el eje Y y 3.45 en el eje Z. En mm: 97.5, 66, 34.5 milímetros de desplazamiento por cada pieza (eje Z x2 porque recordemos que el cabezal debe subir y bajar para no colisionar con las piezas y poder moverse a la siguiente) , lo que supondría unos 11.62 segundos en colocar cada pieza pensando en que no hay aceleración ni deceleración, suponiendo 200 piezas actualizadas = 2324 segundos = casi 39 minutos en "cargar" una imagen.

Por poner un caso más beneficioso para su planteamiento, digamos que paralelizamos 1) y 2) y el eje X y el eje Y se desplazan simultáneamente, por tanto, nos quedamos con el desplazamiento superior que es el que establece el umbral, pensando que cuando termina el desplazamiento en X, en Y ya está colocado. Los nuevos números serían: 97.5 mm + 34.5 mm+ 34.5 mm = 8.33 segundos estimados en mover cada pieza. Si ahora multiplicamos por un número reducido de piezas que deben ser actualizadas, digamos 200, tendríamos 1665 segundos para una actualización, lo que suponen casi 28 minutos en "cargar" una imagen.

Efectivamente, se podrían programar algoritmos de búsqueda de rutas más eficientes (problema del viajante, que es de tipo NP-duro con solución O(m log n) considerando métricas heurísticas). Pensando benevolentemente que usted también ha considerado esto en su respuesta, y aplicando optimizaciones, soluciones no exactas y consideraciones de adyacencia que hacen más rápido resolver el problema aunque quizás la ruta no fuera la mejor existente, pero sí una de las mejores, podemos decir que m = 0.814, pensando que n es el tiempo que lleva el desplazamiento en el plano XY (97.5 mm) pero no afecta a los desplazamientos en Z (34.5 x 2 mm), tendríamos un tiempo de 0.814 log 4.87 + 3.45 = 4 segundos por pieza. En actualizar 200 piezas (de nuevo un caso favorable para su planteamiento), hablaríamos de 800 segundos = 13.3 minutos para cargar una imagen.

Es cierto que hay asunciones, imprecisiones matemáticas y simplificaciones del problema empleando medias, etc., pero valga el ejemplo para hacernos una idea de los órdenes de tiempo que estamos manejando. Ahora hagamos un ejercicio de imaginación y pongamos un caso negativo, donde hubiera que actualizar decenas o cientos de miles de piezas. Creo que esta propuesta está bien como salvapantallas o como lámpara de lava, si me permite.

Además, para que su solución funcione, entiendo que hay que imantar los pines y añadir un electro-imán al cabezal (activable y desactivable), puesto que sin imanes, podemos "empujar" una pieza, pero ¿cómo "tiramos" de ella? ¿duplicamos el sistema para que empuje desde arriba o desde abajo? (descartado por el tema táctil) ¿se programa una pinza, un mecanismo de succión o lo que sea, con el inherente problema de tolerancia a precisión del cabezal, que se desajusta?. Entiendo que la solución más fácil es de nuevo con imanes. Si tenemos un imán, ¿no es más fácil y rápido desplazarlo en un campo magnético inducido por una bobina? ¿Se le ocurre alguna otra alternativa? ¿Por qué le parece mal a usted la solución de las bobinas impresas? ¿Qué problema hay con imprimir la parte mecánica en 3D para no tener que montar todas las piezas manualmente?

Temo que su solución no cumple con lo que se está hablando en el hilo, sería lenta y poco eficiente. Si la he entendido bien con mi limitado pensamiento computacional, aumenta además de manera muy significativa el peso del dispositivo y su portabilidad. Espero que mi respuesta haya sido suficientemente detallada, a pesar de mis limitaciones. Leyendo su firma, parece que usted hace afirmaciones bastante seguras y no deja de ser paradójico que luego lleve por bandera esa frase. A mí también me gustan las citas y empleo de vez en cuando una en mis ponencias y conferencias: George Bernard Shaw - “The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.” -

Sea como fuere, estoy invirtiendo demasiado tiempo aquí y parece que las discusiones del foro no están alcanzando un punto que me sea de utilidad, yendo más bien hacia otros derroteros en los que no me interesa entrar. Por tanto, no voy a seguir respondiendo ni leyendo este hilo.

Gracias por vuestros comentarios constructivos y el tiempo dedicado a entender e intentar aportar partes de la solución.
 
Última edición:

Dr. Zoidberg

Well-known-Papá Pitufo
Estimado Dr. Zoiberg, me resulta curioso que después de decir que "no sabe cómo lo haría", ahora aporte una solución como obvia, pero que es secuencial, siendo un mecanismo de barrido.
Y...??? Cuando respondí llevaba un minuto y medio leyendo el tema y sin conocer el contexto real de aplicación (que aún desconozco). Vos llevas bastante mas tiempo que yo y no traes mucho que parezca "realizable"...

Por usar un algoritmo en pseudocódigo para su solución y comprobar si he entendido bien:
  1. Mientras haya piezas que deben actualizar su posición:
    1. Activar el servo encargado del movimiento en X hasta la posición indicada por el controlador
    2. Activar el servo encargado del movimiento en Y hasta la posición indicada por el controlador
    3. Activar el servo que empuja el cabezal para desplazar en Z la pieza escogida una cantidad indicada por el controlador
    4. Activar el servo que empuja el cabezal para devolver el cabeza a una posición que no colisione con el resto de piezas
  2. Fin mientras
Veamos...conocés las viejas impresoras de matriz de puntos (o las de chorro de tinta que hacen mas o menos lo mismo)??? El asunto es mas simple:
  1. Poner en "cero" el tablero de piezas a mover (--> poner una nueva hoja para imprimir)
  2. Colocar el cabezal en la posición (0,0)
  3. Mientras no haya terminado de "dibujar" la imagen
    1. Activar el servo que empuja el cabezal para desplazar en Z la pieza escogida una cantidad indicada por el controlador
    2. Mientras no se haya "impreso" toda la fila de "agujas"
      1. Avanzar en X hasta la posición de la proxima aguja a modificar
      2. Activar el servo que empuja el cabezal para desplazar en Z la pieza escogida una cantidad indicada por el controlador
    3. Fin mientras
    4. Avanzar en Y hasta la posición de la proxima fila a "dibujar"
  4. Fin mientras
Te dije que era un barrido (en este caso un barrido bidireccional para acelerar la reconstrucción), no que tenés que buscar en X,Y cada punto a "imprimir".

Es cierto que hay asunciones, imprecisiones matemáticas y simplificaciones del problema empleando medias, etc., pero valga el ejemplo para hacernos una idea de los órdenes de tiempo que estamos manejando. Ahora hagamos un ejercicio de imaginación y pongamos un caso negativo, donde hubiera que actualizar decenas o cientos de miles de piezas.
Contá cuantas "piezas" tiene el modelo que te mostré y verás que no tiene ciento de miles de piezas (y aún así se copia bastante bien el objeto que pongas debajo), y si las tuviera no es necesario activarlas una por una--> podés tener un cabezal que active 8 o 16 o 32 (o más) piezas simultáneamente, con lo cual el tiempo necesario se divide por la cantidad de piezas activadas a la vez (otra vez igual que las impresoras), y siempre es muuuuucho mas sencillo diseñar un cabezal con - digamos - 32 pines de activación que uno con 800000 :eek: :eek: (esta es la etapa de Reconocimiento de Patrones en el Pensamiento Computacional (y))

El problema es que vos no has estudiado como trabaja el sentido del tacto y estás tratando de generar una copia de alta resolución de la imagen a mostrar a la persona con problemas de visión, pero en realidad desconocés si es necesario generar esa resolución, y además estás descartando el entrenamiento que la persona ciega va a necesitar llevar a cabo. Me parece que desconocés por completo el funcionamiento de los sentidos de percepción humanos y estás solo concentrado en la tecnología necesaria para lograr lo que vos creés que hace falta.
Claramente este es un proyecto que debe realizarse en forma interdisciplinaria involucrando bioingenieros, psiquiatras y otro montón de especialidades que den contexto a lo que van a diseñar...y no solo basarse en lo que un informático/diseñador industrial cree que hace falta.

Temo que su solución no cumple con lo que se está hablando en el hilo, sería lenta y poco eficiente. Si la he entendido bien con mi limitado pensamiento computacional, aumenta además de manera muy significativa el peso del dispositivo y su portabilidad.
Ahá...y cuales son las especificaciones que has dado respecto del dispositivo que querés construir??? Te lo digo yo: NINGUNA. Revolviendo el hilo solo logré encontrar esto, que ni siquiera es una especificación:
Los teclados braille son extremadamente caros y con muy baja resolución (por ejemplo, funcionan para alfabeto, pero no para imágenes) y además tienen otro tipo de restricciones no únicamente económicas. Yo estoy explorando la posibilidad de ayudar en lo que buenamente pueda. De hecho, lo que quiero es comprobar la factibilidad de 1024x768 micro-bobinas, cuánto sería el consumo empleando imanes de neodimio en miniatura, etc.
Y con respecto a la portabilidad y peso, yo nunca imaginé un dispositivo que se llevara en la mano tal cual una tablet o celular para ir viendo películas mediante el tacto...por que si eso es lo que estás pensando hacer, deberías haberlo informado antes, con lo cual ya te habríamos dicho que estás medio del tomate. Lo que te he propuesto, que claramente podés descartar si así se te antoja, es una "solución" para poner sobre una mesa y reconstruir cuerpos 3D (que no son imágenes) para que la persona ciega los pueda tocar y lograr una imagen cerebral, todo esto en modo DIY con materiables "medianamente" accesibles, por que aún no sabemos si vas a usar como entrada del proceso un conjunto de cámaras para relevar las 3D o un escáner láser...ni de donde corno vas a sacar el modelo del cuerpo a representar en 3D en este aparato.

Por tanto, no voy a seguir respondiendo ni leyendo este hilo.
Ese es tu problema, no el nuestro.
Saludos!
 
Última edición:
Algo a considerar en esa resolucion... te imaginas que falle 1 sola aguja?, eso quiere decir que vas a "pinchar" al usuario, ya que el tamaño es minusculo
 
Algo a considerar en esa resolucion... te imaginas que falle 1 sola aguja?, eso quiere decir que vas a "pinchar" al usuario, ya que el tamaño es minusculo
si se refieren a la idea original de las ¿ micro bobinas" lo primero que preguntaria yo es si hacer bobinitas impresas en el mismo circuito tienen LA FUERZA suficiente como para mover una pieza metalica.
si esa pieza es muy pero muy pequeña no seria detectable.
si "flota" en un campo muy debil al pasar el dedo se moveria y perderia su posicion.
para lograr FUERZA con un electroiman necesito muchas vueltas y ademas intensidad de corriente.

se puede hacer eso ? a mi me parec que NO.

ah.. se me dio por buscar, ya que siempre 2cM me dice que use el buscador o google :





ademas, por lo que he leido , hay otras opciones:
1 -- transformar la pagina en audio.
2 -- imprimir ( en vez de hacer la imagen con electroimanes) , imprimirla pero en relieve.
 
Última edición:

Arriba