beelogger

Audio (GY-MAX4466)

Ein Bienenvolk erzeugt je nach dem aktuellen Zustand und äußeren Einflüssen unterschiedliche Geräusche.
Untersuchungen haben gezeigt, dass diese Geräusche bei bestimmten Frequenzen bzw. Frequenzbereichen ihre größte Lautstärke haben.
Typisch sind hier:

  • Das ‘normale’ Summen der Bienen liegt zwischen 150 Hz und 250 Hz.
    Der Geräuschpegel wird lauter, wenn die Bienen aktiv sind, oder gestresst, z.B. durch Klopfen an der Beute.
    Der Wintergeräuschpegel ist gering bis nicht messbar, der Frühjahr/Sommer- Geräuschpegel sollte deutlich erkennbare Werte ergeben.
  • Die Anwesenheit der Königin wird durch eine hohe Frequenzamplitude um 316 Hz angezeigt.
  • In Vorbereitung des Schwärmens liegt der Ton der Königin bei 475 Hz.
  • Der Geräuschpegel wird lauter, wenn die Bienen unmittelbar vor dem Ausschwärmen sind.

Mit dem Sensor GY-MAX4466 besteht die Möglichkeit diese Geräusche aufzunehmen. Über eine Umrechnung (FFT) der erfassten Audiodaten kann die Frequenz mit der höchsten Lautstärke festgestellt werden.
Diese Frequenz und die zugehörige Lautstärke wird als Sensordaten an den Server übermittelt.
Das System führt die Audioerfassung im Rhythmus des normalen Messzyklus aus. Insofern erfolgt keine dauerhafte Aufnahme der Geräusche. Im Vergleich zu fortwährenden Audioanalyse, die oft in wissenschaftlichen Untersuchen durchgeführt wird, erhält man hier nur eine “Momentaufnahme”.
Es besteht sicherlich noch viel Optimierungspotential, auch in der Interpretation der Messwerte, aktive Unterstützung ist gerne willkommen.

Auf Grund des Speicherplatzbedarfs der FFT steht die Audioerfassung nur für den beelogger mit µC STM32… zur Verfügung.
Systeme mit einem STM32F103 benötigen den Microcontroller mit 128kB Programmspeicher, Variante ‘CB’.

Bezug

Der Sensor GY-MAX4466 wird nur vom beelogger-STM32 unterstützt.

Bauteil Bezugsquelle Preis ab Menge
Suchbegriffe* Bemerkungen
 Mikrofon mit Operationsverstärker eBay 4,00€ 1 Stück GY-MAX4466 **
Widerstand 68 Ohm reichelt, ebay   1 Stück Resistor 68R
max. 5%
reichelt
METALL 68 oder ähnlich
Widerstand 100Ohm … 150Ohm reichelt, ebay   1 Stück Resistor 100R / 150R
max. 5%
reichelt
METALL 100 oder
METALL 150
oder ähnlich
Kondensator 10uF … 470uF reichelt, ebay   1 Stück Capacitor
10uF … 470uF / 6-16V

reichelt
GA-A 10U oder
FM-A 100U oder
FM-A 470U 16B, oder
FM-A 470U 10 oder ähnlich

** alternativ GY-MAX9814

 *Einkaufstipps

 

Beschaltung

STM32Fxyz GY-MAX4466
3,3V sw VCC
PA1 Audio Out
GND ADD

Die Spannungsversorgung des GY-MAX4466 erfolgt über die geschaltete 5V, auf der Platine beschriftet mit 5Vsw.
Im Betrieb ist die Gleichspannung an Audio-Out ca. 2,5V. Spannungen über 3,3V deuten auf ein defektes Modul hin.

Die Leitung zum Sensor sollte eine abgeschirmte drei-adrige Leitung sein.
Im Lochrasterfeld der Platine wird der Sensor über einen Filter (68Ohm/470u) an 5V angeschlossen.
Der 100Ohm Widerstand wird zwischen PA1 und Audio-Out des Sensors angeschlossen.

Der Lautstärkesteller auf dem GY-MAX4466 wird auf ca. 75% eingestellt,
d.h. Potieinsteller ganz nach links drehen, dann zurück bis gerade Seite des Einstellers parallel zur Seite der Anschlusspunkte zeigt.
Im Testbetrieb wurde der Sensor zusammen mit einem Temperaturfühler DS18B20 in den Beutendeckel eingebaut.
Bilder dazu unter ‘beelogger-Labor’ in der Galerie.

 

Libraries

<arduinoFFT.h> – in der Arduino-Software über den Bibliotheksverwalter verfügbar

Testprogrammcode

Das Testprogramm erfasst die Audiosignale und gibt die Frequenz mit dem höchsten Pegel aus.
Es ist so parametriert, dass die FFT auch auf ATmega328 Microcontrollern, z.B. Nano mit GY-MAX4466 Out an Pin A3, lauffähig ist.
Zur Anzeige der Messwerte kann der Serial-Monitor verwendet werden.
Eine bessere Darstellung ist mit dem Serial-Plotter der Arduino-IDE möglich.

Die Einstellung der FFT-Parameter sind wie folgt:
Abtastfrequenz: 1212 Hz
Anzahl / Samples (bin): 128
Daraus ergibt sind eine maximal mit der FFT erfassbare Frequenz von 606Hz und eine Schrittweite der Werte der FFT von etwa 10Hz.

Testprogrammcode herunterladen

Audioerfassung ist für STM32-Systeme im beelogger-Blue/Black Sketch Paket enthalten

Für ATmega328 Systeme (beelogger-Universal) ist wegen des hohen Speicherbedarfs der FFT eine Integration in den beelogger-System-(Multi) Sketch nicht möglich.