La levitación acústica es un fenómeno físico no lineal relacionado con las ondas acústicas. Se trata de un método para suspender materia en el aire contra la gravedad utilizando presión de radiación acústica de ondas de sonido de alta intensidad (Wikipedia).
En este caso se usa un micro Arduino para generar una onda de 40kHz que se amplifica con un integrado L298 y enviada a dos transductores de ultrasonidos que enfrentados ocasionan puntos de interferencia; bajas y altas presiones en el aire que permite suspender en levitación pequeñas bolas de poliespan (poliestireno expandido).
Normalmente el L298 se vende ya montado en un módulo con regulador de voltaje de 5v, dispador, conectores, etc.
Para hacer el montaje más compacto lo extraje del módulo, le quite el disipador que aquí no es necesario y también he usado el regulador 78M05 y el conector de alimentación . Finalmente le he cortado las patillas 10 a 15 ya que solo necesitamos "medio" L298.
Los transductores de 40kHz también han sido rescatados de un módulo sensor de distancia HC-SR04 que se supone tiene un receptor y un emisor. Da igual, ambos funcionan perfectamente como emisores. Rescatados con mi método Macho Alfa
Por cierto que extraer todas las piezas de módulos ya montados es más barato que comprarlas individualmente.
He usado un Arduino nano, el L298 está instalado sobre una especie de zócalo hecho con los conectores que habitualmente tiene el Arduino Uno en los pines. Las dos salidas del L298 están unidas por debajo de la placa a las varillas roscadas que sostienen los dos transductores, que están sujetos con dos trocitos de circuito impreso que deben ser perforados estando totalmente unidos para que luego queden perfectamente alineados el uno con el otro. La distancia entre los transductores la he puesto a 21,7mm.
Por tanto se produce un nodo de baja presión cada 4,29mm. A efectos prácticos caben 4 nodos en esa distancia 21,7mm.
Con el osciloscopio en cada varilla (salida del L298) se observa una salida en oposición de fase de OUT1 y OUT2.
El circuito se alimenta a 12v, pero funciona mejor a 14-16v. Abajo el código Arduino y video
byte SA = 0b10101010;
void setup() { DDRC = 0b11111111;
cli(); //Deshabilitar interrupciones TCCR1A = 0; TCCR1B = 0; TCCR1B |= (1 << WGM12); OCR1A = 200; //Establecer en registros a 80kHz onda cuadrada