sábado, 21 de agosto de 2010

Bajo-trombón óptico de dos cuerdas

Idea:

Es un concepto conocido, el de sensar opticamente la vibración de una cuerda de guitarra.
Las guitarras electroacusticas con sensores opticos no bajan de varios miles de dolares. No investigue aun, pero involucra electronica muy compleja. Son guitarras con microprocesador, por lo que vi.
La idea es construir una con poca plata y partes accesibles en cualquier casa de electrónica.
Con un diagrama electrico muy basico conectando el sensor casi directamente al parlante.


Foto de un bajo de cuerdas de silicona "profesional" digamos.
No sé si este en particular tiene microfonos ópticos o piezoelectricos, pero ciertamente tiene cuerdas de goma. Los Ashbory parecen ser los mas populares.

Empecé diagramando en 3d MAX.

Primer prototipo:


Luego de analizar el primer diseño e investigar un poco surgíeron posibles mejoras.

Segunda versión del prototipo:


Tiene manijas para estirar individualmente cada cuerda.
Y el riel es mas largo para permitir mas movimiento.
La idea es encontrar la nota estirando las cuerdas con la manija, no solo apretando la cuerda contra el brazo con el dedo.
Se puede afinar y luego hacer marcas del riel correspondientes a cada nota para encontrarlas facilmente.


Desarrollo:

Pensaba usar elasticos de "pulpo" de los que se usan para atar cosas.
Pero encontré elasticos de silicona en Siligom. Aca en Montevideo, ellos los extruyen del diametro que uno quiera.
Yo compre tres medidas que ya tenian hechas. Les conte para qué los quería y me hicieron precio "para estudiantes" jeje

La silicona tiene mejor memoria que el caucho natural y resistencia al estiramiento casi sobrenatural. Pagué alrededor de 1 dolar el metro dependiendo el diametro.
No creo que sea la misma composición que los instrumentos profesionales, si vale la pena comprare cuerdas "pro" de silicona, en el Palacio de la musica vi.
Compré fototransistores, leds, resistencias, etc.. en Eneka.
No conozco las especificaciones, me guiaré por la experiencia.

Hice un primer experimento del sistema, lo mas simple posible:

Esta primera prueba no funcionó.
Aunque tengo un voltaje de 0,3 V sin la cuerda y de casi 2V con la cuerda ocultando el sensor.
Aparentemente falta luz.

Seguí investigando en internet y encontre este articulo de alguien que solucionó todos los problemas por mi!

http://facultypages.morris.umn.edu/~keelerl/Site/base.html

Gracias, Len Keeler!

Actualización:
La solución de Len fue demasiado compleja para empezar, con una fuente DC doble, para +9V y -9V, resistencias y capacitores que no fueron necesarios en mi diseño.

Este es mi diseño y la onda resultante graficada:
Simple-simple...
Pero funciona bien y suena asi:
http://www.fileden.com/files/2009/5/14/2441655/bajo%20optico%202%20AMPTrim.mp3


Apariencia general del aparato armado con maderas, tornillos, cola vinilica, un transformador de celular, etc ...

Ese es todo el circuito de un sensor conectado al transformador y a la salida de audio.
El segundo sensor no esta instalado y se ve el agujero vacío.
Arriba izquierda se ve el led, el elastico y el agujero sobre el sensor de luz.


Actualización:

Ahora si, voy a hacer el circuito que hizo Len, con el 741.
Como sugiere Luis Anza cerré el circuito con una resistencia que limite corriente para que, cuando el fototransistor se sature al ser iluminado no se queme o a la entrada del amplificador externo, por dejar pasar toda la corriente que la fuente de alimentación es capaz de entregar.
Tomé la señal en paralelo a ese circuito, colocando un capacitor en serie que filtre frecuencias no deseadas a la señal.
Tal como Luis y Len sugieren. Como lo haría una persona normal jajaja
Igual tengo para decir en mi defensa que no quemé nada de nada probando mi versión supersimplificada. La conecté a la entrada de mic de mi netbook, a mi equipo de audio años '90, un amplificador de guitarra electrica, parlantes de pc chicos, monitores de estudio del 2010... Entradas "Line-In" pasivas y tipo "Microfono" alimentadas. Todos sobrevivieron!

Saqué cables largos desde los (-) de los sensores en el bajo, un positivo y un negativo para alimentar todo. Los conecté al protoboard donde armé el circuito que usando un 741, amplificador operacional de 8 patas.
Este chip esta disponible desde los años '60:
http://es.wikipedia.org/wiki/Amplificador_operacional
La resistencia a tierra de Len y Luis no funcionó para mi, poner una resistencia a tierra en paralelo con la salida de cada sensor hacía que dejara de sonar, asi que simplemente las quite.
Tambien recordemos que en diseño "menos es mas" y parte de esta premisa autoplanteada es la simplicidad extrema.
Asi que obviamente saqué la resistencia a tierra de cada sensor!
Luego de comprobar que todo funciona bien, hice una placa casera con retazos que compre a 1 dolar.
Pasé todos los componentes del protoboard a mi placa casera.
Es una artesanía laboriosa, la construccion de una placa a mano.
Pegué todo con pvc caliente a la madera del instrumento: la placa, los cables para que no colgaran y pegué tambien las baterias de 9V.
Agregué la tabla que dá forma de "T" para calzar el instrumento y poder usar una sola mano para estirar las cuerdas con la manija.
Sino se necesita la otra mano para sujetarlo, tres manos en total para usar el instrumento.
Asi funciona bien aunque se necesita fuerza para estirar los elásticos, uno puede quedar cansado al final de una ejecución.
Pero el ejercicio es bueno para el cuerpo, mente y alma :)
Al afinar el instrumento para que suene más agudo hay que estirar más los elásticos, necesitando mas fuerza fisica en la palanca para buscar las notas de esa manera.
Tambien hay que tener cuidado de no soltar inesperadamente la palanca porque se libera la energia acumulada en los elásticos y da un golpe fuerte contra el tope
Un amigo sugirió el uso alternativo de ballesta...

Fotos de la versión final del prototipo y un detalle de la parte de atras de la placa casera.

miércoles, 11 de agosto de 2010

Ton-Bot

La idea es generar un personaje robótico interactivo. Muñeco con forma humana que extiende su mano izquierda con la palma hacia arriba.
En la palma de la mano hay un led y un sensor apuntando ambos hacia afuera de un agujero en la mano. De manera que una mano negra dará poca luz en el sensor y una mano blanca hara rebotar mucha luz dando voltajes mas altos en ese sensor.
Este personaje dice a intervalos parcialmente aleatorios "dejame ver tu mano para que seamos amigos" o algo similar, invitando a posar la mano sobre la suya con la palma hacia arriba. El sensor debe ver el dorso de la mano para que funcione bien, las palmas son todas blancas, mas o menos.
He pensado en otro sistema, con reconocimiento facial, que al detectar un rostro calcule la oscuridad de su piel. Eso seria mas sofisticado, pero efectivo.

La idea es generar una reaccion diferenciada en el personaje: si la piel de quien esta delante es "blanca", rebotara mucha luz del led sobre el sensor, desencadenando el mensaje "Amigo, viva el poder blanco!"
Y si la piel es oscura, rebotara poca luz del led al sensor, desencadenando el mensaje "No hay negros buenos, Fuera!"
El humbral que separa blancos de negros es evidentemente arbitrario y se calibra tratando de mantenerse en relacion con la poblacion local.
Que haya mas o menos dos negros por cada blanco, estadisticamente, por ejemplo.
Se puede calibrar con una simple prueba con 20 personas locales al azar, por ej.
Anotando el estado del sensor con cada uno y calibrando el sistema con el humbral en el voltaje promedio de todos o algo asi.



Abstracción:

La idea es marcar la diferencia entre robot y persona.
El robot, programado, no puede evitar reaccionar de la misma manera siempre, incluso si ese comportamiento daña a otros o a si mismo.
Un robot programado para agarrar una escopeta y matarse o matarte, intentara hacerlo con mayor o menor exito, segun el hardware y software disponible: una mano mejor diseñada y controlada hara mejor el trabajo.
Si analizamos a una persona en una situacion similar, el resultado es impredecible por otros motivos mas complejos.

El humano esta dotado de "libertad", la libertad de hacer otras cosas o las mismas de diferente manera a lo largo de su vida.
La libertad de reaccionar diferente frente a teoricamente el mismo estímulo, digo teoricamente, porque el segundo encuentro con el estímulo esta influenciado por la experiencia con el anterior.
Las personas tenemos la libertad de aprender y mejorar. O no hacerlo es la alternativa obvia que la libertad nos da.
La libertad de generalizar y prejuzgar, o no hacerlo teniendo en cuenta que nada es como parece a simple vista.

A todos nos ha pasado, prejuzgar y que se nos prejuzgue. Sino por el color, por otras caracteristicas de la apariencia personal o por pertenecer a cierto grupo, etc.
Y asi perder de tener experiencias que hubieramos valorado buenas.
Por no ver mas alla de la diferencia ... etc blablabla
A todos nos ha pasado, no aprender de los errores y actuar igual la siguiente vez. Roboticamente.

Mi robot tratara de simbolizar a los humanos en momentos de ese tipo, hermanos!
Cuando olvidamos la diferencia entre conocer un camino y recorrerlo!
Prejuzgamos de primera y muy equivocados.
Cuando nos volvemos hombres de ojalata!
Entreguense al amor sincero!
Disfruten cada minuto, hermanos!
Siiii el presenteeee ♫ El presente y nada maaaaAAaaaAs ♪
:$ eeh chau

Caja con inercia angluar oculta.

Idea:
Cualquier objeto girando rápido tiene efecto giroscópico.
Es el efecto por el cual ni las bicicletas ni los trompos se caen.
La rueda es un invento exelente pero no solo por ser redonda, si fuera cuadrada, igual sería un giroscópio perfecto. Siempre y cuando esté bien balanceada para poder girar rapido sin vibrar.
La rueda rota, no rota. No rota, si rota.

La idea es aprovechar un desajuste perceptual que me sucedió un par de veces usando discos duros externos.
El disco de acero dentro gira a 7200rpm: como es pesado y gira rápido se da un efecto de giroscópio muy intenso.
Al sostener en la mano esta caja que se deja mover pero no torcer sin estar sujeta a nada, se da un efecto mágico.
El detalle que rompe la ilusión es el cable de alimentación que se puede sustituir por una batería de laptop. El disco duro se puede intevenir para alimentar el motor directamente y ahorrar energia. Asi habrá autonomía de varias horas.
Tambien podemos aumentarle el voltaje y acelerarlo mas alla de las 7200 rpm :P
Niños, no intenten esto en sus casas: somos profesionales trabajando.

La idea es disfrazar el disco duro intervenido y su batería en algo que invite a levantarlo de la mesa por su "affordance".
Se puede incluso pegar fiduciarias a la caja y crear algun personaje 3d que, en realidad aumentada, se pelee con uno por la caja! no? jaja

Como funciona un giroscópio:
http://www.youtube.com/watch?v=cquvA_IpEsA

Desarrollo:

Hacer girar un motor de disco duro no es algo tan facil como pensé.
Es un motor de pasos y necesita un controlador.
Basicamente, el motor tiene varias fases (3-4) y hay que darles corriente secuencialmente.
Cada vez que se pasa de una fase a la otra, el motor da un paso que es una fraccion de los 360º.
Si se envia la secuencia "ABCABCABC..." repetidamente, el motor gira en un sentido, si se genera "CBACBACBACB..." gira en el otro.

Estuve investigando bastante la forma mas simple y barata de armar un controlador:
Lo primero en todos los diseños es un oscilador, que marcara el ritmo y velocidad con que se dan los pasos.
Las dos formas mas simples son con circuitos RC sobre 555 o schmitt triggers (40106).
Elegí el 555 por costumbre, un circuito mejorado que tiene un diodo hacia la pata de descarga y entonces se carga por una resistencia R1 y se descarga por R2.
Normalmente se descarga por R1+R2 lo que hace que R1 incida en el tiempo alto y el bajo de la onda. Aca una resistencia controla el tiempo alto y otra el tiempo bajo: Simple!
Lo siguiente es multiplexar esa señal en pulsos secuenciales sobre tres salidas que se van encendiendo de a una en cada subida de la señal de sincronismo armada con el 555.
Para eso hay varias soluciones posibles: desplazadores de registro (4014, 4015), contadores(4017), multiplexores, etc...
Al desplazador de registro hay que especificarle la secuencia 001 para que la haga desplazarse, conectar el final con el principio para que esa secuencia se desplace en circulo...
Es bueno para cuando queremos hacer girar el motor en ambos sentidos porq hay dos patas q controla la direccion del desplazamiento segun 01 o 10, 00 apagado.

Para esta aplicación me gustó el 4017, contador de a diez.
El 4017 lo hace simple!
Solo hay que poner la pata "4" al reset para que cuente hasta tres.
No permite contar para atras, pero aca solo queremos q gire y gire en un solo sentido, lo mas rapido posible.
Ahora tenemos tres salidas que se encienden en secuencia repetidamente, pero necesitan corriente.
La etapa de potencia la hice con tres BD411.

Al probar en protoboard logre muy baja velocidad.
Existen chips controladores especificos para estos motores, que sensan la posición angular y van activando la fase acorde. Pero son complejos de controlar, con demasiados parametros y un circuito complejo alrededor.
Regulando la velocidad de la secuencia a mano (empezando lento y luego acelerando) llega un momento en que el motor se detiene y queda vibrando, no funciona!
Este circuito es perfecto para motores "stepper"="de pasos" pero no para motores "brushless"="sin escobillas", los típicos de disco duro de PC.
Los motores brushless funcionan como un motor stepper, pero en vez de dar tipicamente 200 pasos por vuelta, dan la vuelta en solo 3 o algunos 4 pasos.
Ambos motores tienen en común que tienen imanes permanentes de neodimio en el rotor y bobinas alrededor de este, evitando el sistema de "escobillas de carbon" y "delgas" de un motor de DC tipico (imanes fuera y bobinas en el rotor).

Yo solo quiero que mi giroscópio gire lo mas rápido y discretamente posible! :o/

Necesito un disco bien balanceado propulsado por un motor DC, normal pero rápido y silencioso.
El disco duro de PC está idealmente balanceado, se le pegan contrapesos como a una llanta de auto para que no vibre en absoluto y los rodamientos son de exelente calidad. Es pesado por ser de acero ... era ideal en muchos sentidos.
Pero como no lo puedo controlar externamente con un circuito simple ... Si no puedo darle mas velocidad de la normal, no me sirve.
Voy a buscar algo mejor en la chatarra o con mas tiempo vere de usar un controlador apropiado y complejo.