Untersuchungen zu elektromagnetischen Störungen des Wägezellen-Subsystems

Einleitung

Nachdem bei Untersuchung und Verbesserung des Timings bei der Ansteuerung der DS18B20 Sensoren unter MicroPython die Welt nun besser geworden zu sein scheint, ging der Blick zufällig flüchtig rüber zu den Werten, die aus dem HX711 rausfallen.

Beobachtungen

Es fiel unruhiges Ausleseverhalten auf, vermutlich verursacht durch Elektromagnetische Störungen.

Setup

Es handelt sich weiterhin um die bEgg Appliance von @einsiedlerkrebs und @clemens.

Beschreibung

Die Appliance liegt offen im Eierkarton auf dem Tisch herum, der HX711 ist eine ungeschirmte Variante. Das Gerät wird stabil über ein USB-Netzteil mit Strom versorgt, ein Akku ist nicht angeschlossen. Eine Lampe scheint nachts auf die komplette Installation, wie man das auch bei mittelalterlichen Burgen für die Touristen macht.

Details

… über das Workbench-Setup mit der egg Appliance im Rahmen der folgenden Beobachtungen.

  • Das Gerät wird in den aktuellen Betriebsweisen immer und ausschließlich über ein USB-Netzteil mit Strom versorgt, niemals per Akku.
  • Es bestand zu keiner Zeit eine Verbindung der Workstation mit dem Stromnetz, so dass eine Einkopplung von Störungen über eine galvanische Verbindung in den FiPy hätte stattfinden können.
  • Die Eumelei läuft derzeit im gnadenlosen Dauerbetrieb mit nur 5 Sekunden Schlafzyklus heiß auf 40°C Kerntemperatur sofern diese Werte stimmen. Das Gerät hat also keine Zeit, um abzukühlen – die Testreihe läuft ergo hier auf irgendetwas Burn-In artiges raus.

Meßreihe im Live Mode

Das Gerät läuft aktuell seit gut 90 Stunden im Live Mode mit einer Pause von 5 Sekunden zwischen den Meßzyklen [1].

[...]
329844.9278 [terkin.datalogger        ] INFO   : Telemetry status: SUCCESS (1/1)
329844.9755 [terkin.device            ] INFO   : Start curating the garbage collector
329845.2377 [terkin.device            ] INFO   : Curating the garbage collector finished
329845.3569 [terkin.device            ] INFO   : Waiting for 5.0 seconds

329850.3637 [terkin.datalogger        ] INFO   : --- loop ---
329850.3876 [terkin.datalogger        ] INFO   : Reading 8 sensor ports
329850.3876 [terkin.datalogger        ] INFO   : Reading sensor port "SystemMemoryFree"
329850.5068 [terkin.datalogger        ] INFO   : Reading sensor port "SystemTemperature"
329850.5783 [terkin.datalogger        ] INFO   : Reading sensor port "SystemBatteryLevel"
329850.7452 [terkin.datalogger        ] INFO   : Reading sensor port "SystemUptime"
329850.7452 [terkin.datalogger        ] INFO   : Reading sensor port "SystemWiFiMetrics"
329850.7690 [terkin.datalogger        ] INFO   : Reading sensor port "HX711Sensor"
329852.9387 [terkin.datalogger        ] INFO   : Reading sensor port "DS18X20Sensor"
[...]

Daten

Bei Labor / [amo] FiPy Workbench kann man ggf. sporadische Aufzeichnungen seit Anfang Juni analysieren.

Die Meßdaten des HX711 (kg sowie raw) können bei https://swarm.hiveeyes.org/api/hiveeyes/testdrive/area-38/fipy-workbench-01/data.txt?include=scale.0.kg,scale.0.raw betrachtet oder heruntergeladen werden.


  1. Hier wird ohne Deep Sleep kontinuierlich im Intervall gemessen, während die Appliance komplett weiterläuft, ohne softwareseitig irgendwelche Stromsparmechanismen anzusteuern. Die Messpause wird pragmatisch ganz normal über time.sleep() realisiert. ↩︎

Bei mir auf jeden Fall grade interessant via Labor / [amo] FiPy Workbench:

image

Was da wohl los war? Bewusst habe ich nichts am Gerät oder am entsprechenden HX711-Code mehr geändert, was diese optischen Unterschiede erklären könnte. In den letzten Tagen aber grundsätzlich wieder mehr (am Code; und aufgespielt; und länger laufen lassen) als die Tage davor.

Auf jeden Fall habe ich gestern Nachmittag/Abend kurz mal das Kilo Mehl runtergenommen und wieder draufgestellt [1].

Was ist es, das wir hier streckenweise sehen und dann wieder nicht? Digitales Rauschen? Lag mein Handy vielleicht daneben und jetzt grade nicht?

Viele Grüße,
Andreas.

P.S.: Wenn es hier jetzt in Richtung HX711 weitergeht, können wir die Beiträge jederzeit in ein passendes Thema verschieben. Der abweichende Titel soll Euch also von nichts abhalten.


  1. Bemerkung: Die Waage ist softwareseitig nicht ordentlich justiert, daher entsprechen die Meßwerte nicht dem realen Kilo, das drauf steht. ↩︎

Kann vieles sein, tippe auf eine unsaubere elektronische Verbindung, nicht shield gegrounded oder tatsächlich das Handy daneben. Die Parameter in der config waren immer gleich oder hast du von custom-Werten zufällig nach löschen z.B. der settings.py oder formatieren des flash die Werte hier geändert? Standort verstellt? Stärkere Temperaturdifferenzen? Katze auf dem Kabel geschlafen und geschnurrt?

1 Like

Ja, alles der genannten Dinge könnte zutreffen. settings.py geändert: Eher nicht – zumindest nicht an den Stellen, wo sich das Verhalten ändert.

image

hast du nen akku mit in der schaltung? vielleicht kommt aus deinem netzteil im kleinlastbereich noise (schon oft gesehn) wenn man ‘zuwenig’ strom braucht… und wenn der akku laed, reicht das um die spannung zu glaetten - weil dann mehr last dranhaengt und das netzteil besser regeln kann.

am besten mal scope dranhaengen und schaun ob die betriebsspannung bei noisy werten genausosauber ist wie wenn die werte gut aussehn.

1 Like

Während des angezeigten Zeitraums in dem unruhige Wertefeststellungen auftraten, war eine Workstation (Laptop) im gleichen Raum. Sie erhielt über WiFi Netzwerkkonnektivität, außerdem wurde streckenweise mit einer Bluetooth Tastatur daran gearbeitet. Ein Handy war über den gesamten Zeitraum nicht im Raum.

image

Oben ergänzt. Danke!

Das kann es schon gewesen sein. Um sicher zu gehen würde ich das mit den gleichen Störmitteln Laptop Bluetooth nochmal austesten. Es kann auch ein anderes “defektes” Netzteil gewesen sein, das im gleichem Stromkreis/Raum hing.
Eine weitere Möglichkeit kann bei so einer wilden Verdratung auch eine Schlechte Verbindung eines der Kabel auslösen. man berührt eines der Kabel und alles ist wieder gut, oder schlecht.

:aquarius: WLAN-Aktivität über HX711 messen

TLDR;

Es ist scheinbar in der Tat die WLAN-Aktivität des Rechners, die man hier wohl am HX711 ablesen kann. Das gute alte empirische Ausschlußprinzip hat weitergeholfen.

Szenario

Der Rechner war wieder im Raum, nicht am Stromnetz angeschlossen, Bluetooth war deaktiviert und die Bluetooth-Tastatur war nicht im Raum. Beide Geräte sind ~70cm voneinander entfernt. Anbei ein Eindruck des Ensembles.

Beobachtungen

Von 23:23 bis 23:45 wurde Netzwerktraffic erzeugt. Auch zwischen 23:45 und 00:00 war der Rechner im Raum, allerdings unbenutzt. Seit 00:00 wird wieder über Bluetooth gehackt.


WLAN-Aktivität über HX711 – (HX711 live)

Eine Bluetooth-Box im Raum scheint nichts signifikantes auszumachen.

image

Im Workbench-Dashboard der letzten drei Stunden gibt es jetzt noch die entsprechenden Annotationen zu den einzelnen Systemzuständen »Was war wann an?«. Sieht ja sonst kein Mensch durch.

Beispiel

image

Hab es mal bei mir versucht zu reproduzieren aber ohne sichtbare Auswirkungen.
Habe aber den Zeitintervall nicht auf 5 sec. runter fällt vielleicht auch deshalb nicht so arg auf.
Evtl ist bei dir aber auch der Masseschirm ab, oder schlecht verbunden.

Aber Cool, wir können jetzt live sehen, wann du arbeitest! :rofl:

1 Like

Bluetooth vs. ICMP-Ping

Im ad hoc zusammengesteckten DIY EMF-Teststand wurden ein paar Aufnahmen gemacht. Mit und ohne geringfügiger Netzwerkaktivität und mit und ohne Bluetooth-Aktivität.

https://swarm.hiveeyes.org/grafana/d/0CJxruMZz/amo-fipy-workbench?panelId=3&fullscreen&orgId=2&from=1565050471165&to=1565053498757

Einfluß von Bluetooth

Ein wenig sieht man Bluetooth vielleicht schon, das Niveau scheint bei Daueraktivität leicht erhöht zu sein.

image

image

1 Like

Hast du das shield der Wägezelle (violett bei den Bosche-Zellen) am Schraubterminal angeschlossen?

2019-08-06%2012_32_18-Fotos

Hier ist das nicht wirklich zu erkennen.

Selbst angeschlossen habe ich garnix, die Hardware kam dankenswerterweise von Upstream.

Hier nochmal ein Closeup in höher aufgelöst.

P.S.: Sorry für den Staub auf der Linse.

Bäm!

Schichtbeginn. 20 Gramm schwerer.

image
https://swarm.hiveeyes.org/grafana/d/0CJxruMZz/amo-fipy-workbench?orgId=2&from=1565347523545&to=1565348500000

Das passt, violett – shield der Waage – ist angeschlossen.

Die Werte von 6:00 bis 12:30 sehen nach Rauschen mit überlagerter Temperaturdrift aus. Wenn Du die Bosche-Wägezelle mit max. 200 kg benutzt und die Werte auf 1 g ausgibst, ist ein Rauschen in den kleinen Stellen normal. Immerhin ist der Wertebereich von 000.000 kg bis 200.000 kg.
Deshalb habe ich die Ausgabe auf 1 Nachkommastelle begrenzt und es taucht “nur” noch eine Temperaturdrift von 0.2 kg auf.
edit:0.2 kg von 200 kg sind 1 promille

Hilfreich wäre schon zu wissen, um wie viel sie zittert. Was bedeutet “nicht ordentlich justiert” einfach, dass es statt 5 g auch 8 g sein können oder können 10 g in der Grafik auch 5 kg sein?