Akustische Levitation – Levitator selber bauen

 In Arduino Nano, Elektronik, Tutorials
5/5 - (2 votes)

Einführung

Die akustische Levitation im Stehwellenfeld beruht auf den Kräften, die im Wechseldruckfeld der stehenden Ultraschallwellen auf die jeweilige Probe wirken. Dabei treten axiale und radiale Kräfte auf. Mittels akustischer Levitation können beispielsweise Styroporkügelchen oder Wassertropfen zum Schweben gebracht werden.

Stehende Welle

Vorbereitung

Im Grunde ist es ziemlich einfach kleine Styroporkugeln mit Hilfe von Ultraschallwellen schweben zu lassen. Dafür benötigt ihr nur einen Arduino Nano, eine H-Brücke (L298N) sowie zwei  Ultraschallmodule (HC-SR04).

Diese beiden Module des Ultraschallabstandsmesser nennt man Sender (T) und Empfänger (R). In der Praxis arbeitet der mit T (Transmitter) markierte Transducer besser als Sender. Also löten wir ersteinmal aus beiden Ultraschallabstandsmessern die beiden Module, die mit T markiert sind, aus.

Benötigte Bauteile

1 x Arduino Nano
1 x H-Brücke L298N
1 x Ultraschallmodul HC-SR04

Arduino Code

Im Setup-Bereich werden die Analogports als Ausgang definiert. Anschließend wird der Timer 1 so konfiguriert, dass er im 80-kHz-Rhythmus das Compare Interrupt auslöst. Innerhalb dieses Interrupts werden die Zustände aller Analogports umgekehrt. Die 80 kHz Rechteckspannung ergeben so eine 40-kHz-Vollwelle.

[sourcecode language=“plain“]
byte TP = 0b10101010; // jeder 2. Port bekommt das umgekehrte Signal
void setup()
{
DDRC = 0b11111111; // alle Analogports als Ausgang definieren
// Timer 1 initialisieren
noInterrupts(); // Interrupts deaktivieren
TCCR1A = 0;
TCCR1B = 0;
TCNT1 = 0;
OCR1A = 200; // Compare Match Register setzen(16MHz / 200 = 80kHz Rechteck -> 40kHz Vollwelle )
TCCR1B |= (1 << WGM12); // CTC mode
TCCR1B |= (1 << CS10); // Prescaler auf 1 ==> kein prescaling
TIMSK1 |= (1 << OCIE1A); // Compare Timer Interrupt einschalten
interrupts(); // Interrupts aktivieren
}
ISR(TIMER1_COMPA_vect)
{
PORTC = TP; // den Wert TP an die Ausgänge senden
TP = ~TP; // TP invertieren für den nächsten Durchlauf
}
void loop(){
}
[/sourcecode]

Schaltplan

Es wäre möglich, die Ultraschalltransmitter direkt an die Analogports des Arduino Nano anzuschließen, da diese nur wenig Strom benötigen. Leider wäre man dann auf eine 5 Volt Spannung begrenzt, was ein stabiles Schweben nicht möglich macht. Deshalb verwenden wir zur Verstärkung des Signals die L293N-H-Brücke.

Akustische Levitation Schaltplan

Anschlüsse

  • Arduino Pin A0 an H-Brücken Pin IN1
  • Arduino Pin A1 an H-Brücken Pin IN2
  • Arduino Pin VIN an den Pluspol der Stromquelle
  • Arduino Pin GND an den Minuspol der Stromquelle
  • H-Brücken 12V+ Eingang an den Pluspol der Stromquelle
  • H-Brücken GND Eingang an den Minuspol der Stromquelle
  • Beide Ultraschalltransmitter an OUT2 der H-Brücke

Fertiger Aufbau

So könnte der Aufbau eines fertigen Levitators aussehen:

Akustischer Levitator
Anzeigen von 10 Kommentaren
  • Andreas
    Antworten

    Ein sehr cooles Projekt!
    Ich habe mich gefragt, ob man mit dem Leviator auch Staub, Puderzucker etc. zum Schweben bringen könnte und wie das wohl aussähe… Hast du das mal probiert?

    • Ochi
      Antworten

      Hallo Andreas, danke für dein Feedback. Natürlich ist es möglich andere Sachen, die leicht genug sind, zum Schweben zu bringen. Einige haben in größeren Levitatoren sogar schon kleine farbige Wassertropfen zum Schweben gebracht, was sehr cool ausschaut (Link zum Video: https://www.youtube.com/watch?v=0K8zs-KSitc). Mit Staub oder Puderzucker habe ich es noch nicht ausprobiert, wäre aber eine gut Idee für ein zukünftiges Video.

  • Lucas
    Antworten

    Der Befehl ‚lt‘ wird nicht erkannt. Gibt es eine Bibliothek welche ich Einbinden muss?

    • Ochi
      Antworten

      Hallo Lucas!
      Anscheinend wird dir der Code teilweise als Ascii angezeigt. Da müssen zwei „kleiner als“ Zeichen stehen.
      z.B. 1 << WGM12

      • Lucas
        Antworten

        Super, vielen Dank!

  • Sebasian
    Antworten

    Ist dieser Levitator ohne Reflektorplatte gebaut , also befindet sich jeweils ein Transmitter oben und unten ????

    • Ochi
      Antworten

      Genau richtig.

  • Sebasian
    Antworten

    Und wie lässt sich der abstand zwischen den beiden Transmittern bestimmen , damit es zu einer stehenden Welle kommt ????

    • Ochi
      Antworten

      Man kann den Abstand berechnen: 33000 cm/s Schallgeschwindigkeit / 40000 Hz = 8,25 mm oder ein vielfaches davon.

  • Marie
    Antworten

    Wie bzw. wo muss ich den Code benutzen?
    Muss ich den Arduino Nanao programmieren, wenn ja wie stell ich das an also per PC, brauch ich dafür eine bestimmte App?

Einen Kommentar hinterlassen

Kontakt

Schön von Dir zu hören.

Beginnen Sie mit der Eingabe und drücken Sie Enter, um zu suchen

Lightify mit Apple Home steuern mit Raspberry PiHandcrank Flashlight DIY