Wie viele Sensoren pro Pi Möglich?

  • Guten Tag,
    ich möchte auf der Arbeit in unserm Lager die Bestände überwachen. Dazu wollte ich unsere Regale mit mehreren HC-SR04 Distance Ultraschall Sensor ausstatten damit ich sehen kann wie "voll" die Regale sind. Wollte dazu Abstand von Fachdeckel bis zum Fachboden bzw. bis zur Ware messen. Je mehr Abstand desto leerer das Regal. Dabei kommt es auch nicht auf die exakte Menge der Artikel im Regal an, es geht eher um das erhalten eines Richtwertes ohne Jedesmal das ganze Lager zu durchlaufen.


    Ist es möglich mehrere Sensoren(ca. 10) mit einem Pi auszulesen?

    Edited once, last by MrVinc ().

  • Ist das ein ja oder nein? Kann man Sensoren egal an welche Pins anschließen? Gibt es den überhaupt eine Sinvolle Lösung für solche Projekte mit vielen Sensoren?

    • Official Post

    Reden wir von einem B, B+, Pi2? Ab B+ hast 40 Gpios die du mehr oder weniger frei beschalten kannst. Die 10 Sensoren kriegst du da auch ran und ausgewert. Ob das auch mit elend langen Kabeln funktioniert musst du einfach ausprobieren

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Edited once, last by dbv ().

  • Hallo Mr Vinc,


    Du kannst auch mehr als 10 Thread-reset-taster-am-gpio-und-programmierung-in-icon


    Ein Raspberry Pi A bzw. B hat 17 GPIOs-Pin am GPIO-Port P1 zzgl. 2 x2 (korrigiert) am GPIO-Port P5.


    Der von Dir vorgegebene Sensor hat hat einen Digital-Ausgang für das Trigger-Signal und einen Digital-Eingang für den Echo-Signal.


    Theoretisch kannst Du auch mehr als 10 Sensoren HC-SR04 anschließen, dann nämlich, wenn Du die Trigger-Leitungen aller Sensoren über einen GPIO-Ausgang des Raspberry gleichzeitig ansteuerst.


    Dan werden über die Software permanent Ultraschall-Signale getriggert und nach einander die Echos abgefragt. Über die Zeitdifferenz Trigger-Signal zu Echo-Signal berechnest Du die Entfernung.


    Wenn Du das auf diese Weise schaltest, kannst Du bis zu 16 / 20 / 25 Sensoren HC-SR04 an den entsprechenden Modellen betreiben.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • Habe einen B+. Okey also sollte es schonmal von der Menge geht.
    Meine nächste Frage wäre halt gibt es eine andere Möglichkeit als Kabel die Teilweise sehr lange werden könnten? Evtl. Ein Zusatzmodul wo der Sensor angestschlossen wird und das auf eine andere weise die Daten überträgt? weiß auch nicht genau wie das aussehn könnte aber vllt kennt jemand sowas in die Richtung?

  • Hallo MrVinc,


    eine andere Möglichkeit würde darin bestehen, die Sensoren an einen Arduino-basierten µController anzuschließen, der über Funk seine Abstände an eine "Zentrale" sendet. Die "Zentrale" erkennt dann an der Kennung, um welches Regal / Position es sich handelt.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • zzgl. 2 am GPIO-Port P5.


    Nicht 2 sondern 4 ;)
    GPIO28 (I2C0_SCL)
    GPIO29 (I2C0_SDA)
    GPIO30 (UART_RTS)
    GPIO31 (UART_CTS)



    Beim A+ / B+ oder Pi2 sind es zudem nicht 40 GPIOs sondern 40 Pins, tatsächliche I/O's sind es aber "nur" 26... die restlichen sind GND, 5V, 3V3 oder die beiden EEPROM Pins.


    Zum Vorhaben des TE's:


    Was unbedingt beachtet werden muss ist, dass die GPIO nur 3V3 tolerant sind, der HC-SR04 ist aber ein 5V Gerät. Der ECHO pin gibt also 5V aus und somit brauchst du einen Spannungsteiler oder 'Logic Level Converter'.


    Auch gibt es unterschiedliche Versionen des HC-SR04 Modules, mit unterschiedlichen Maximal Reichweiten: Manche können bis 4m, andere aber bis 5m...
    Auch haben die Dinger nur einen bestimmten Winkel in dem sie was erkennen können: 15 bis max. 30°


    Zur Funktionsweise lese ab: http://www.forum-raspberrypi.d…fehl?pid=130310#pid130310


    Und wie auch schon erwähnt wurde kann die Kabellänge ein Problem sein, da das ECHO Signal durch ein langes Kabel verzögert werden könnte. Deshalb würde ich vielleicht überlegen zB den ESP8266 zu nutzen und als Zentrale den PI :fies:

  • Hallo Meigrafd,


    stimmt, wollte ich auch schreiben, hat aber nur zu 2 statt 4 gereicht. Irgendwas hat mich abgelenkt...


    Danke für die Korrektur!


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Okey, danke für eure Antworten.


    Also damit ich das jetzt richtig Verstehe:
    Ich könnte mir kleine "Mess-Systeme" bauen die die Daten über Wlan an denn PI senden. Habe etwas gegoogelt und sowas ähnliches gefunden.


    Siehe hier: http://www.instructables.com/i…-Logger/?lang=de&ALLSTEPS


    Ist ja im Prinzip das selbe nur mit Temperatursensor? Also kann man mehrere von diesen kleinen Systemen bauen und an den Regalen befestigen.

    Edited once, last by MrVinc ().

  • Du solltest aber vielleicht auch bedenken, dass evtl. so viele gleich arbeitende Ultraschall Sensoren ich unter Umständen untereinander beeinflussen bzw. stören können. Das kann man aber durch eine zeitgesteuerte Abfrage der einzelnen Sensoren, abfangen oder man verwendet ein anderes Messverfahren. ( z.B. Wiegen o. Dehnmessstreifen )

  • Hallo Fliegenhals,


    die hier betrachteten Ultraschallsensoren HC-SR04 reflektieren an Objekten im Winkel bis max. 30 °. Zwei Sensoren können sich nur überschneiden, wenn sie in diesem Winkel angeordnet sind. Danach sah es bei MrVinc Problem erstmal nicht aus.


    Und sollten wirklich Reflexionen von einem Sender zu einem anderen Empfänger erfolgen, dann sind einfach die Abstände zu groß. Wenn der Abstand vom Sender zu Regalboden z.B. 75 cm beträgt und der Empfänger zu einem Zeitpunkt ein erhaltenes Echo empfängt, das einem Abstand von mehreren Metern entspricht, dann ist klar: Der Wert stimmt nicht.


    Außerdem ist der Ultraschallsensor so aufgebaut, dass er ein ganz bestimmtes Signal schickt und nach Empfang des Echos auf ein neues Trigger-Signal wartet. Alles was sonst noch an Echos eintreffen sollte, wird nicht registriert.


    Außerdem kann man eine Zeitgrenze einstellen, die zwischen Triggern und Echo vergehen dürfen. Danach empfängt der Sensor erst nach einem neuen Trigger-Signal.


    Ich hatte vor ein paar Wochen mal eine solche US-Schaltung auf einem Servo-Motor aufgebaut und 180 °-Abstandmessungen durchgeführt. An einer Stelle hatte ich einen Spiegel hingestellt und den Spiegel so weit gedreht, dass der Ultraschall nicht mehr zum Empfänger reflektiert wird, sondern in die Tiefen des Raumes gelenkt wird. Je nach Spiegelstellung kam über irgendwelche Wände irgenwann was zurück - oder innerhalb der erlaubten Zeit auch mal nichts. In dem Winkelbereich, in dem der Spiegel stand, hatte ich dann Entfernungen gemessen, die größer als der Raum waren.
    An solchen Messungen wird ebenso deutlich: Ignorieren!


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • Leider sind die Informationen nicht wirklich detailliert. Wir wissen weder um wie viele Regale es sich handelt, noch wie lang diese Regale sind, oder was für ein Abstand zwischen den "Etagen" ist, oder allgemein was für Regale das sind usw....



    Wir können also nur spekulieren ob das funktionieren könnte :(



    Ich denke das hätte Priorität, bevor man weiter darüber spekuliert ob die Sensoren sich stören könnten usw

  • Hallo Andreas, es war nur als Hinweis gedacht. Ich kenne diese Sensoren nicht näher, aus meiner Erfahrung weiß ich aber, dass so ein Anwendungsfall nicht unproblematisch ist. Also am Besten testen.

  • Es sind 16 Regale die in einer Reihe stehen. Jedes Regal hat 2 Bereiche(= A und B). Jeder Bereich ist durch eine Holzwand vom näcshten getrennt daher sollte es keine Probleme geben.


    Hier mal ein Bild von einem Regal, wenn man davor steht.



    Werde mir mal einfach einen Bausatz für solch eine Messstation bestellen und etwas ausprobieren.

  • Also brauchst du 16 (Regale) x 2 (Bereiche) = 32 Sensoren :s Oder hat ein Regal auch noch mehrere Etagen?


    Die könntest du nur mithilfe eines Port-Expanders am PI anbringen..


    Ein Forumuser hat hier ein > Projekt < wo ein 20 Meter langes Patchkabel kein Problem machte. Das Kabel sollte eine gute Schirmung haben, und er hat dort auch jeweils 2 Aderpaare verwendet um den Querschnitt zu erhöhen und somit den Leitungswiderstand zu verringern..


    Würde man zB einen RaspberryPI-A in der Mitte platzieren ( nach links und rechts jeweils 8 Regale ) wäre der äußerste Sensor ~8 Meter entfernt. Pro Patchkabel könnten 2 Sensoren versorgt werden, also müssten jeweils 4 Kabel verlegt und an passender Stelle aufgeschnitten werden.


    Der eine PI bräuchte dann noch eine entsprechende Stromversorgung sowie einen WLAN-Stick um es an eine Zentrale weiter zu leiten - oder keine Ahnung wie Du dir das vorgestellt hast :denker:

  • meigrafd: Ich hatte persönlich an eine etwas andere Lösung gedacht. Und zwar für jedes Regalfach eine kleine Messeinheit zu erstellen die über Wlan die Daten an den Pi sendet.


    Sieht dann dann ungefähr so aus:



    [Blocked Image: http://cdn.instructables.com/F…0FZH4CI0RYTMAP.MEDIUM.jpg]
    Quelle: Wifi Temp Logger


    Allerdings ist dein Lösungsansatz auch interessant. Muss mir das nochmals alles anschauen und was genau wie umsetzbar ist.

    Edited once, last by MrVinc ().

  • Ja klar, du kannst freilich auch ein ESP8266 verwenden, wobei du dann eigentlich kein extra Arduino brauchst da der ESP8266 (je nach Version) bereits GPIO's bereitstellt - siehe dazu >> hier <<


    Allerdings muss auch hier beachtet werden das der ESP8266 nur 3V3 tolerant ist und die meisten dieser Module ein 2mm Rastermas verwenden, wobei z.B. >> dieses << auch 2,54mm verwendet und alle max verfügbaren GPIO's ausgeführt sind.
    Du bräuchtest dann also auch noch einen 'Logic Level Converter' da der Sensor ja 5V brauch bzw ausgibt.



    Wenn du wirklich 16 x 2 Sensoren brauchst, wird das vermutlich die bessere Alternative sein, denn so viele Sensoren kriegst du nicht direkt an den PI angeschlossen - nur mithilfe von Port-Expandern aber da hab ich nicht allzuviel Plan von, nur das es welche gibt :D

  • Da der Lösungsansatz per Ultraschall sowieso recht ungenau ist, könnte man doch den Inhalt der Regale auch z.B. mit einer o. zwei Webcams am RPi ermitteln. ( Wenn die Cams nur zeitweise ein Bild von den Regalen machen, sollte es vermutl. auch keine Probleme mit dem Datenschutz geben ) Die Bildauswertung könnte man dann mit einer Software wie motion o.ä. auswerten.