Facebook Twitter RSS Reset

Me hice una batería electrónica y te explico cómo (V1.0)

Me hice una batería electrónica y te explico cómo (V1.0)

Hola gente, en este post les muestro y explico acerca de un proyecto en el que estoy trabajando.

Introducción:



Estoy estudiando batería y a pesar de tener una acústica tengo dos grandes problemas:

1) Obviamente el volumen es fuertísimo y al ser imposible de ajustar (sin cambiar el sonido) me veo obligado a no tocar durante ciertos horarios. El problema de esto es que no tengo un rango de horario libre para practicar alto así que solo puedo tocar fines de semana y algún día que llegue temprano a casa.

2) Tengo dos hermanos mas chicos y con uno de ellos comparto habitación. Te estarás pregunando “y que gadorcha tiene que ver?” y te respondo, una vez dejé armada la batería con platos y todo, uno de los dos pasó por al lado y se llevó puesto el soporte de un platillo. Desde ese día cada vez que termino de tocar desarmo la batería completamente.

Dados esos dos problemas, y puesto a que soy estudiante de electrónica, me propuse armar una batería electrónica.

Bien, pero que es lo que iba a hacer exactamente? Una batería desde cero? Dónde y como iba a cargar los sonidos? Son solo tres de las miles de preguntas que me hacía para poder empezar así que fuí resolviéndolas una por una hasta llegar a la primer versión del proyecto, la cual nombré…

Me hice una batería electrónica y te explico cómo (V1.0)
Si, el nombre no es lo más creativo del mundo. Pero es bastante descriptivo.

Y la pregunta ahora es, que carajo es Baterónica?

Baterónica es simplemente un controlador MIDI. Ni más, ni menos. Está programado para trabajar con cualquier software con soporte MIDI y es totalmente plug & play. Esto quiere decir que no hay que andar instalando programas ni drivers.

Para explicar como logré la primera versión (la cual nombré Alpha) iré detallando los pasos con tips, notas y demás cosas.

Me hice una batería electrónica y te explico cómo (V1.0)

Lo primero que hice fué buscar una plataforma en la que me sea fácil y rápida hacer el prototipo. Para esto usé Arduino que cumple con estos objetivos en primera instancia. La siguiente versión será programada en un microcontrolador de Freescale, el HCS908SH8 para ser exacto.

Me planteé como sería el sistema hasta llegar a la siguiente conclusión:

Cuando el batero golpea un pad, éste envía un pulso con una amplitud en función de la fuerza del golpe al microcontrolador. El micro toma ese valor y lo convierte a un número para ser enviado mediante el puerto serie a la pc.
Me hice una batería electrónica y te explico cómo (V1.0)

La programación la hice desde cero. Sin usar código de otros proyectos similares ni nada por el estilo. Justamente por eso es la primer versión, el código no está optimizado y fué hecho solo para el prototipo. Hay varias cosas que tuve que tener en cuenta como por ejemplo que el puerto serie para probar los datos tenía que estar a una velocidad que el monitor serie de arduino pueda leer y justamente la velocidad del protocolo MIDI, la cual es 31250bps, el monitor serie es incapaz de leerla (o al menos no encontré manera). Por lo que la salida de datos tuve que escribirla dos veces para poder tener una salida en bits mediante la función Serial.write() y una normal con la función Serial.print().

Te estarás preguntando, puerto serie? Ya no se usa más eso papá!

En verdad el puerto seríe si se usa, mucho más de lo que te podés imaginar. Hay que separar el concepto de CONECTOR del PUERTO (o protocolo).

Te explico como funciona esta última parte: El micro cuando envía datos a través de su puerto serie (en el caso de la placa Arduino son los pines 0 (Rx para recibir) y 1 (Tx para transmitir)) la interfaz serie-USB integrada en la placa se encarga de convertirlos a USB. Esta interfaz es el microcontrolador ATmega16U2 al cual no se puede acceder mediante el IDE de Arduino pero si desde el de Atmel.

Por lo tanto ese era el puente que uniría mi batería con la PC.

Ya teniendo parte del código empecé a armar la parte física, es decir el hardware, que no es nada de otro mundo.

flstudio

Los pads

Los pads no son nada mas ni nada menos que un piezoeléctrico.

Un piezoeléctrico es un dispositivo el cual al deformarse produce energía. Como efecto inverso al introducirle energía se deforma. Los piezoeléctricos son muy comunes en nuestra vida ya que por ejemplo se encuentran en micrófonos, buzzers, motores de autos y una gran lista.

Lo que usé es un piezoeléctrico pegado a una placa de zinc galvanizada la cuál compré y corté siguiendo unas medidas que yo consideraba cómodas. El fin de esto es que al ser una superficie mas grande la vibración es mayor.

Me hice una batería electrónica y te explico cómo (V1.0)
El hecho de que esté pegado con cinta de papel es solo para el prototipo. Aún así no afecta al funcionamiento del piezo.

De los piezos soldé cable mallado, esto es algo muy importante ya que la tensión producida por los piezos es bastante pero la corriente es del orden de los nanoampere hasta los microampere por lo que cualquier pérdida o ruido eléctrico podría afectar bruscamente la señal.

bateria

El circuito

El circuito lo monté en un protoboard ya que como dije anteriormente este es el prototipo solamente.

Me hice una batería electrónica y te explico cómo (V1.0)

Dejo el diagrama en Fritzing para los nuevos en la materia.

No les voy a mentir, parece un circuito sencillo pero me dió muchísimos problemas a la hora de diseñarlo.

Los problemas que tuve:

La señal era demasiado débil: Esto era por que le había puesto un diodo para rectificar la señal del piezo y evitar quemar el micro. Para solucionarlo saqué el diodo y par ami sorpresa no pasó nada contraproducente. Después estudiando el comportamiento de la señal en el micro llegué a la conclusión de que el semiciclo negativo el AD directamente no lo lee por lo que no cierra el circuito a través de el GND.

Al golpear una vez sonaba varias veces: Esto lo solucioné con software y cambiando el valor de la resistencia pull-down.

El diodo zener está como protección de sobretensión por si el batero (en este caso yo) golpeo el pad con ganas y el pico de tensión se va al carajo.

midi

Interfaz MIDI

Con el hardware terminado y el código subido solo me quedaba reprogramas la interfaz serie-USB de la placa Arduino para poder mandar los datos mediante protocolo MIDI y no mediante protocolo USB.

Esto lo logré gracias al programador FLIP de Atmel el cual es de descarga gratuita desde la página oficial. Los pasos para programar el ATmega16U2 son los siguientes:

1) Ingresar en el modo DFU: Esto es para acceder al ATmega16U2 en vez del Atmega328p del Arduino. Para hacerlo hay que realizar la siguiente conexión:

Me hice una batería electrónica y te explico cómo (V1.0)

Luego de esto abrir el programa FLIP, en la barra de arriba ir a Device>Select y seleccionar lógicamente el ATmega16U2. Presionar el botón del cable USB y elegir la opción USB. Ir a File>Load HEX y cargar el archivo de programación MIDI. Este archivo es el código hexadecimal para que el micro se comporte como un dispositivo MIDI y no como interfaz serie-USB. Asegurarse de tener las opciones marcadas en la imagen (Erase, Program y Verify) y presionar Run. Hecho esto un indicador en color verde aparecerá al lado de las opciones marcadas si todo salió correctamente. Solo queda desconectar la placa y volverla a conectar para que la PC la reconozca como interfaz MIDI.

Me hice una batería electrónica y te explico cómo (V1.0)

En caso de tener que modificar el código del programa hay que volver a entrar en el modo DFU, seguir los mismos pasos con el FLIP a excepción que ahora cargaremos el HEX de Arduino el cual se encuentra en la carpeta de instalación (Arduino>hardware>arduino>avr>firmwares>atmegaxxu2>Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex).

En caso de ser Arduino Mega seleccionar el ue dice Arduino Mega lógicamente.

bateria

Software secuenciador

En mi caso uso FL Studio 12 como secuenciador ya que lo uso hace mucho tiempo para componer. Para hacer sonar la batería y que no suenen notas utilizo el plugin EzDrummer. Puede ser cualquier otro pero éste me resultó bastante cómodo además de que lo tengo con 2 packs de baterías para cambiar los sonidos.

Me hice una batería electrónica y te explico cómo (V1.0)

Como dije al principio del post, la Baterónica es plug & play por lo que al tenerla conectada lo único que hay que configurar es el FL Studio para que utilice el puerto MIDI de de la batería y nada más. Bueno, en verdad si hay algo mas…

Las placas de sonido integradas (y muchas externas) tienen una latencia entre la entrada y salida. Esto provocaría que al tocar un pad el sonido se produzca unos milisegundos mas tarde y creanme que eso es MUY notorio sobre todo en la batería que el tempo es algo muy preciso.

Para reducir esta latencia sin invertir en una placa de sonido de buena calidad no queda mejor opción que instalar los conocidísimos drivers ASIO4ALL. Se descargan desde la página oficial, se instala con un par de clics y desde el FL Studio en la pestaña Audio seleccionamos este driver. De esta manera tendremos muy poca latencia la cual podemos casi despreciar.

midi

Pruebas, imagenes y videos

Me hice una batería electrónica y te explico cómo (V1.0)
Pedal Hi Hat y Bombo. El Hi Hat se activa mediante un switch SPST ubicado debajo del pedal.

Me hice una batería electrónica y te explico cómo (V1.0)
Switch SPST del Hi Hat.

Me hice una batería electrónica y te explico cómo (V1.0)
Pad del bombo puesto vertical con una franela para amortiguar el golpe del pedal y evitar abollarlo.

Me hice una batería electrónica y te explico cómo (V1.0)
Pads Redoblante y Hi Hat.

Me hice una batería electrónica y te explico cómo (V1.0)
Circuito montado en protoboard.

Me hice una batería electrónica y te explico cómo (V1.0)
Placa de zinc galvanizada cortada en forma circular con diámetro de 20cm.