BOB-Platine für FiPy

…sagt der Mann, der IKEA-Becher-Gehäuse propagiert :)
Es wäre super ärgerlich, wenn uns die Hardware kaputt geht, weil zu viel Wasser eindringt, schon richtig. Es wäre aber auch super ärgerlich, wenn reihenweise Sensoren kaputt gehen, weil sie verpolt ansgeschlossen werden - weil der Stecker nicht durch die Durchführung passt und rohe Kabel irgendwo angeklemmt werden müssen.

Was ist wahrscheinlicher, dass die Box zeitweilig untertaucht, oder dass sich ein Imker vertut beim Verkabeln? Ich weiß es nicht.

Schick mir doch bitte das Angebot von Spelsberg rüber für die Cases aus PC mit 4 M12 Löchern, dann kann ich das gegen die Variante mit geschirmten Kabeln und M16 rechnen.

1 Like

Vor einem Jahr habe ich bei Langzeitmessungen Messwert-Ausreisser des HX711 beobachtet, wie @tox auch. Meine Beobachtungen sind in diesem Papier:

RaspiD-Waage-HX711.pdf (338,3 KB)

Bei einer Wägezelle sind sehr kleine analoge Signale ( wenige mV ) auf der Leitung, die abgeschirmt wird. Bei der analogen Messtechnik soll die Abschirmung an die zentrale Masseleitung in der Nähe des empfindlichsten Einganges gelegt werden. Bei einer Musik-Anlage sind das die Mikrofon-Eingänge. Alle anderen Masseleitungen sollen sternförmig daran angeschlossen werden, um sogenannte “Brummschleifen” zu vermeiden.


Wenn man den Schaltplan des HX711-Breakout-Boards betrachtet, erkennt man 2 unterschiedliche Massen: die analoge Masse AGND und die digitale Masse DGND, die im HX711-IC verschwinden. Je nach Hersteller des Boards sind sie verbunden oder aber nicht. Bei unseren grossen grünen Boards ist die Verbindung offen.
Auf meinem Raspi-Testboard konnte ich im laufenden Betrieb AGND und DGND mit einem Jumper verbinden oder öffnen. Leider habe ich keine eindeutigen Ergebnisse erzielt. Zwar änderte sich der Offset deutlich, aber die Messwert-Ausreisser änderten sich kaum. Grösser war der Effekt, ob ich in meinem Zimmer ( Temperaturschwankunken und Erschütterungen der Holzdecke ) oder auf dem Kellerfußboden ( konstant 15 °C und Beton ) gemessen habe.
Bei den Aussreissern hatte ich den Eindruck, dass immer nur ein oder wenige Bit fehlen, die aus irgend einem Grund verschluckt werden, genauso wie bei der ersten Tara-Messung nach dem Einschalten. Deshalb rufe ich Tara mehrfach auf und verwerfe die erste Messung.

Aus diesen Gründen schliesse ich den Schirm der Wägezelle an den Eingang E- an, der ja auch die analoge Masse AGND ist.

1 Like

Interessant, Sparkfun macht das bei seinem HX711-Board übrigens auch so, wie ich gerade sehe:

Zumindest die Häufigkeit und zeitliche Exposition der Gefahrenquelle “Imker” ist wesentlich überschaubarer als die des Wetters (edit: und der Gravitation, Korosion von Schrauben, des Morsch-werdens von Holz). SCNR!

Hallo Didi,

Vielen Dank für Deine Beobachtungen beim Auslesen des HX711 mit einem RaspberryPi.

Das ist absolut plausibel, über den wahrscheinlichsten Grund haben wir im Beitrag Use realtime systems for reading digital sensors ein paar Zeilen geschrieben:

Auch dieser Artikel passt zum Thema:

Man sollte also wirklich nicht mit non-realtime Systemen an das Auslesen der Sensoren herangehen, ungeachtet der Tatsache, dass man entsprechenden Code dazu im Netz findet, der versucht, die Sache zu kompensieren à la

Raspberry Pi sometimes reads invalid data because the pin pd_sck is high for 60 micro seconds or longer. To eliminate this problem, a simple filter solves this problem. Therefore it provides better and more precise readings.

GitHub - gandalf15/HX711: Read HX711 ADC for Weigh Scales on Rasperry PIs.
HX711/hx711.py at 6a160dc223196fd3e0e1afe33783c84be6dda37c · gandalf15/HX711 · GitHub

Das bedeutet zwar nicht unbedingt, dass man den RaspberryPi gleich abschreiben muss, aber mit einem regulären Linux Kernel wird man Messungen, in denen immer nur ein oder wenige Bit fehlen wohl niemals ganz ausschließen können.

Es könnten zwar Verbesserungen erreicht werden, indem man den Prozess mit einer höheren Priorität versieht oder eine in C/C++ geschriebene Variante verwendet, die u.a. das gleiche tut (z.B. HX711/HX711_C at master · gandalf15/HX711 · GitHub), das Problem, dass Prozess jederzeit vom Linux Kernel unterbrochen werden kann, während er gerade mit der Hardware kommuniziert, bleibt jedoch bestehen.

Es gibt jedoch auch Realtime Erweiterungen für den Linux Kernel. Wenn wir also das Auslesen des HX711 in diese Realtime Domäne verlagern könnten, wäre ein RaspberryPi- oder Beagblone-basierter Datenlogger, der auch ohne Workarounds solide Werte liefert, durchaus machbar.

Beim Beaglebone könnte man auch noch die PRU Mikrocontroller verwenden, die genau für solche Dinge vorgesehen sind und ebenfalls Realtime Fähigkeiten anbieten. Der dort verbaute Sitara-Chip enthält zwei 32-Bit-Mikrocontroller, die sogenannten programmierbaren Echtzeit-Einheiten oder PRUs. Wie man das examplarisch tut, wird unter [1,2,3] beschrieben.

Viele Grüße,
Andreas.

[1] PRU tips: Understanding the BeagleBone's built-in microcontrollers
[2] How to run C programs on the BeagleBone's PRU microcontrollers
[3] Beaglebone PRU Coding in C

BeeBuerger Case b3gg

Ich habe soeben ein brandneues Gehäuse für den Fipy mit BeeBuergerBoard entwickelt.

proudly introducing: b3gg:

Danke, @clemens für deine Anregungen:

Ich glaube hier habe ich einen guten Kompromiss gefunden, dadurch, dass die Schraubklemmen ja schon an dem BeeBuerger Board mit dran sind. Da musste ich nichts löten, sondern konnte einfach anschrauben. Dennoch komme ich sehr gut an den Node ran, weil sich das Gehäuse sehr einfach öffnen lässt, indem man einfach nur die Nase mittig der Frontseite eindrückt und schon “springt” der Deckel auf.

Ja, das stimmt in jedem Fall. Was den Kostenfaktor betrifft, sind die Gehäuse recht günstig zu bekommen, vor allem wenn man auf die konventionelle Belegung zurück greift. Man muss in dem Gehäuse einfach nur die vorgesehenen Durchbrüche öffnen und schon können Sensoren sowie die Antenne (sic) direkt mit raus geführt werden. Über die Schraubklemmen hinaus konnte ich auf weitere Stecker verzichten!

Nein keine Schimpfe, und auch wenn ich finde, dass das neue Gehäuse “b3gg” deutlich mehr den von dir genannten Anforderungen entspricht und daher natürlich auch “professioneller” ist muss ich doch zugeben, dass ich nicht ganz auf WAGO’s verzichten konnte, einfach weil mir noch eine weitere Doppelschraubklemme für GND/V fehlt. Aber die lässt sich leicht auf den BeeBuerger nachrüsten.

Was noch definitiv auf der ToDo liste steht, ist zu überlegen, wie man den b3gg wasserdicht bekommt. Aber da fällt uns bestimmt was ein.

So jetzt genug beschrieben; Pictures or it didn’t happen!

2 Likes

Aaalso, das war ja nur für den Schutz des Sensors an den irgendwie die Umwelt auch ran muss. ;-) Als Gehäuse hab’ ich was wasserdichtes! Vermutlich eher Polystyrol (PS) und nicht Polycarbonat (PC), der Mensch von Spelsberg sage mir nämlich gestern, dass man PS im Außenbereich daran erkennt, dass es gelb wird, und das tuen einige meiner Gehäuse, auch der Klarsichtdeckel wird blind, das Gehäuse ist allerdings auch schon mindestens 5 Jahre draußen.

Was ich aber eigentlich sagen wollte: Gegenüber einem Eierkarton bin ich selbst mit Ikea-Becher noch die IP-Referenz! :-))

Wie gesagt: ;)

Ganz klar mit Klarhart Klarlack!

P.S.: Ist denn heute schon morgen?

Für dich schon seit vorgestern, wenn ich das richtig überblicke.

Oh wow, das ist auf jeden Fall off the shelf erhältlich und für jeden erschwinglich!

Zur Platine: wir haben jetzt 2 Entwürfe und müssen zu einer Entscheidung kommen.
Am liebsten wäre es mir, wenn wir das beste aus beiden Entwürfen nehmen und daraus eine gemeinsame Lösung bauen.
An Didis Variante gefällt mit gut, dass wir nicht noch 2 Buchsenleisten für den Fipy anlöten müssen, die schon auf dem Expansionboard vorhanden sind. Da uns ja niemand zwingt, eine rechteckige Platine zu machen, könnten wir über dem FiPy einfach eine Aussparung vorsehen, so dass der Button und die led sichtbar bleiben.
Was haltet ihr von diesem Vorschlag?

Ich habe die von @caro vorgeschlagenen Gehäuse Spelsberg TK PS 1309-6-tm besorgt und den Prototyp BOB-HAT-V2 auf Lochraster gebaut.

Es gibt 3 Varianten

mit Schraubklemmen und Kabelverschraubungen
BOB-HAT-Prototyp2A.pdf (4,2 MB)

mit Buchse/Schraubstecker, und Kabelverschraubungen
BOB-HAT-Prototyp2B.pdf (3,4 MB)

mit Buchse/Schraubstecker und Gehäuse-Kerben,
BOB-HAT-Prototyp2C.pdf (3,7 MB)

Die Gehäuse sind sehr solide, die Aussparungen lassen sich gut ausbrechen und die Kabelverschraubungen sind gut zu montieren. Das 8mm-Loch für die LoRa-Antenne lässt sich gut bohren.
Leider passen die Befestigungslöcher des Gehäuses nicht für das Expansion-Board, so dass ich das BOB-HAT mit 4 Distanzhülsen, Metall, 6-Kant, M3, 25mm befestigen musste. Die Erweiterungsbuchsen des Exp.Boards zeigen nach oben, so dass alle Tasten und LEDs vom BOB-HAT verdeckt werden. Daher gibt es den Reset-Taster und evtl. weitere Tasten und LEDs auf dem BOB-HAT noch einmal.
Würden die Buchsen nach unten zeigen, wäre das BOB-HAT ganz unten und man könnte die Elemente des Exp.Boards und FiPy nutzen.
Probleme zeigte die Montage der Kabel in den Schraubklemmen mit Leuchtlupe und Pinzette an meinem Elektronik-Arbeitsplatz. Das möchte ich keinem Hobbyimker an der Beute zumuten.
Deshalb plädiere ich ganz eindeutig für Buchsen auf dem BOB-HAT und Schraub-Steckern an den Kabeln, die man getrennt montieren kann und später nur noch auf/ab-stecken braucht.

Wem die dünnen Kabel in den Verschraubungen nicht fest genug sitzen, kann sie mit Schrumpfschlauch dicker machen, damit sie besser passen. Kabelverschraubungen M12 mit Extra-Bohrungen sind meiner Meinung nach nicht nötig.

Die volle Bestückung des BOB-HAT ist so ausgelegt, dass die Entwicklung mit MicroPython und Arduino-IDE und steckbaren Testsensoren auf dem Schreibtisch funktioniert. Man hat also die gleiche Hardware für Entwicklung und Test an der Beute. Da bietet sich die Variante C mit den Gehäuse-Kerben an. Am Schreibtisch die Testsensoren abstecken, an der Beute die Sensoren anstecken, ohne Gefummel mit den Schraubklemmen.

1 Like

die 4. Variante mit anderem Gehäuse
BOB-HAT-Prototyp2D.pdf (53,8 KB)

2 Likes

Ich habe meinen Fritzing-Entwurf an das Gehäuse Spelsberg TK PS 1309-6-tm angepasst:


Datei
BOB-HAT-V3.fzz (52,8 KB)

Bei meiner “Sandwich”-Version – BOB-Platine zwischen Expansion-Board und FiPy müssen wir nur die längeren stackable header verwenden, diese werden von unten an die Platine anlöten und oben dann der FiPy draufgesteckt, auch nicht mehr oder weniger Arbeit als die sehr langen Stifteleisten an der Platine anzulöten.

Das würde dann so aussehen:

Bei der Variante BOB-Platine über Expansion-Board und über LoPy können wir nicht die normalen, “kurzen” Stifteleisten verwenden, hier zur Demo links die (zu) kurzen und rechts die langen Stifteleisten:

Mit Platine würde das dann so aussehen, oben brauchen wir aber noch mehr Platz, da die Federklemmen auch noch drauf müssen, meine Version wäre etwas flacher, da hier die Federklemmen rechts und lins des FiPys sind und damit nicht so weit hinausragen.

Wie viele Gehäuse von PyCom haben wir denn?? Der Vorteil meiner Platine wäre, dass die auch ohne das Expansion-Board (mit LiPo oder Strom-Kabel mit JST-Stecker) funktionieren würde und man ggf. das PyCom-Gehäuse verwenden könnte. Nachteil wäre, dass da kein Platz z.B. für ein OLED mehr ist, das ist aber eh nur für eine Version relevant, die immer am Strom hängt!

2 Likes

Ein schneller Aufbau auf Streifenplatine …

pycom-stripboard-quickndirty_v0.1.fzz (723.8 KB)

… und in natura:

Bitte nicht wegen der Stifteleisten in den Schraubklemmen meckern, ist eigentlich für Kabel gedacht, die Mini-Waage hat aber Buchsen dran, die ich nicht abklemmen wollte, nur grobe Testinstallation! ;-)

Bei mir sieht der Sandwich ähnlich aus, der BOB-HAT wird mit 15 mm langen Stiftleisten verbunden:

Die Doku ist in

BOB-HAT-Prototyp3.pdf (5,9 MB)

3 Likes

Noch mal das Thema. Wie bekommen wir einen USB-Stecker wasserdicht in die Box? Das wäre ja dann auch für die BeagleBones relevant:

@didilamken hat ja netterweise schon getestet und herausgefunden, dass einige USB-Stecker durch die M16er Kabelverschraubungen durchpassen.

edit: Habe gerade auch versucht ca. 8 verschiedene MicroUSB-Stecker, die ich hier rumfliegen habe durch eine M16-Kabelverschraubung (ich glaube von Spelsberg) zu bekommen. Kein einziger Stecker ging durch? Mit Cuttermesser hätte man vielleicht 2 so weit gebracht.

Jedenfalls gibt es die Kabelverschraubungen auch mit einem Reduzierdichteinsatz. Wenn wir den mit einem scharfen Cuttermesser durchtrennen könnte man zuerst den USB-Stecker durchfädeln (wenn er denn klein genug ist), dann den an einer Seite aufgeschnittenen Dichteinsatz aufs Kabel stecken und dann mit der Kabelverschraubung wasserdicht zu bekommen.


oder
https://www.voelkner.de/products/500994/Wiska-ESKV-RDE-16-Kabelverschraubung-M16-Polyamid-Licht-Grau-RAL-7035-50St..html

Andere Idee JST-to-USB-Kabel, habe mir ein paar selbst gebastet, muss mal schauen, ob es so was gibt. Alternative: Kabel roh durchfädeln und an einer 5V-Schrau-/Federklemme befestigen. Aber gerade das wollten wir ja nicht wegen der Gefahr der verpolung wollten wir ja genau dafür eine verpolungssichere Lösung, wie USB oder JST-Stecker!!

So ein kurzes Stück bringt uns aber auch nix, da dann der USB-A-Stecker 10 cm vom wasserdichten Gehäuse aus in der Luft hängt.

Der untere 2-pol Schraubstecker ist für die Stromversorgung von 5 Volt vorgesehen. Wenn man ein USB-Netzteil verwendet, kann man von einem USB-Kabel den MicroUSB-Stecker abschneiden, das Kabel durch die Verschraubung fädeln und an den 2-pol. Stecker schrauben ( rot an +5V, schwarz an GND ), die beiden anderen Drähte kann man abschneiden.
Ich habe mir ein 5 m langes USB-Kabel besorgt. Das reicht von meinem Fahrradschuppen mit Steckdose zum Bienenstock. Evtl. kann man auch gut die grosse Box vom Workshop für die Stromversorgung nutzen.

Auf Verpolungen muss man immer achten, die Sensoren BME280 und DS18B20 müssen auch nicht eine Verpolung vertragen können. Bei einem verpolten DS18B20 hat es mir nicht den Sensor, sondern den Spannungsregler auf einem RaspberryPi zerlegt. Da muss man vorher doppelt hinschauen.

Auch aus diesem Grund empfehle ich die Verwendung von Buchse/Schraubstecker.

1 Like