Forum: Mikrocontroller und Digitale Elektronik Geeigneter Matrix-Decoder für Pick-by-Light-System


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von André R. (andr_r619)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es soll mithilfe eines Arduinos ein Pick-By-Light-System entwickelt 
werden. Nun frage ich mich, welche Möglichkeiten es gibt, die 
LED-Ansteuerung zu machen.

Bereits im Sinn habe ich den altbekannten MAX7219. Nun besteht aber 
womöglich die Anforderung, das Ganze bunt zu machen (evtl. Zweifarb-LEDs 
RG). Da habe ich Beispiele mit dem HT16K33 gesehen. Wobei man das 
Gleiche sicher auch mit dem MAX hinbekommt.

Was ist den Eurer Meinung nach besser? Gibt es vielleicht noch weitere 
Decoderchips, die sinnvoll sein könnten?

Gruß
André

von Peter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der MAX7219 kann die Helligkeit steuern. Ist das für deine Anwendung 
notwendig? Er kann natürlich verwendet werden, wäre halt nur 
zusätzlicher Aufwand.

von Patrick J. (ho-bit-hun-ter)


Bewertung
0 lesenswert
nicht lesenswert
Hi

WS2812B ?
z.B. eBay: 222128032754 (100 Einzel-Platinen, Lötpads)

Wobei ich jetzt nicht wüsste, was die verschiedenen Farben dann zu 
bedeuten hätten - aber nicht mein Problem.
Auch wäre der Verkabelungsaufwand wesentlich geringer, als wenn Du von 
einem Treiber-IC an zig LEDs springen willst.
Da die LED-Platinen das Signal, Welches weiter gegeben wird, selber 
generieren, sollte die endgültige Länge eher ein kleines Problem 
darstellen.

MfG

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
74xx595

von Harald (Gast)


Bewertung
0 lesenswert
nicht lesenswert
André R. schrieb:
> Nun besteht aber womöglich die Anforderung, das Ganze bunt zu machen


Nur zur Vorsicht, lese mal Wikipedia zum Thema Rot-Grün Sehschwäche. Bis 
zu 9% der Männer haben da ein Problem. Wenn schon bunt dann zwei 
physikalisch voneinander getrennte LEDs.

von Frank E. (Firma: Q3) (qualidat)


Bewertung
0 lesenswert
nicht lesenswert
Nimm serielle LEDs (WS2812), die hängen alle an einem Datenstrang, nix 
Matrix - ist deutlich einfacher.

Wenn der Takt schnell genug ist, sieht man auch nicht, wie sich die 
Daten "hinschieben" ...

von André R. (andr_r619)


Bewertung
0 lesenswert
nicht lesenswert
Wow, danke für die ganzen Tips!

@Patrick: Wie werden denn diese einzelnen LEDs angebunden? Hängen die an 
einem Bus, oder wie geht das? Sieht für meinen Geschmack nämlich sehr 
interessant aus!

Kann man die außerdem auseinander nehmen? Wichtig ist, dass die LEDs auf 
einem Regal verteilt werden können. Für mich sieht das eher wie eine 
fertige Platine aus.

Gruß
André

: Bearbeitet durch User
von Brummbär (Gast)


Bewertung
0 lesenswert
nicht lesenswert
André R. schrieb:
> Kann man die außerdem auseinander nehmen? Wichtig ist, dass die LEDs auf
> einem Regal verteilt werden können. Für mich sieht das eher wie eine
> fertige Platine aus.

Du kannst die Platine auseinander brechen. Verbunden werden diese durch 
einen Bus. Du musst nur darauf achten, dass die spannungsführenden 
Leitungen entsprechend des maximalen Stromes ausgelegt sein müssen.

Jedoch sind das nackte Platinen ohne Schutz.

von Frank E. (Firma: Q3) (qualidat)


Bewertung
0 lesenswert
nicht lesenswert
Die LEDs vom Typ WS2812 gibts auch als Klebestreifen (z.B. 1 Meter mit 
144 Stück ca. 30 Euro), kann man mit der Schere auseinanderschneiden, es 
bleiben kleine Lötpads dran. Verbunden werden sie mit einer 
3-Draht-Leitung (Plus, Masse, Daten). Man kann auch z.B. jeweils Gruppen 
z.B. zu 2 oder 3 bilden, evtl. um die zu entnehmende Menge zu codieren?

Du kannst für jede einzelen LED die Helligkeit und den Farbton 
bestimmen, genau genommen sind es jeweils drei Chips (RGB) in einem 
Gehäuse zusammen mit einem Controller. Zum Schutz könnte man eine 
transparente Kappe drüber kleben oder schrauben - solch ein Kleinkram 
macht sich übrigens gut mit dem 3D-Drucker.

Der weiter oben gemachte Hinweis mit den Querschnitt/Stromstärke wird 
erst wirklich relevant, wenn man mehrere Hundert von den Dingern 
gleichzeitig volles Rohr anschaltet ... zur Entlastung kann man auch 
jeweils nach einem bestimmten Abstand (z.B. alle 50 LED) oder wenigstens 
am anderen Ende der Leitung erneut die Stromversorgung anschliessen, 
falls das baulich machbar ist.

Weniger Aufwand als eine Matrix ist es allemal ...

: Bearbeitet durch User
von André R. (andr_r619)


Bewertung
0 lesenswert
nicht lesenswert
Wir reden derzeit von sehr wenigen LEDs. Das wird sich höchstens im 
niederen zweistelligen Berech bewegen.

Wie werden die einzelnen LEDs denn adressiert? Ich kann mir das nicht so 
wirklich vorstellen. Schickt man da ein Datenpaket à la „5. LED im Bus 
bitte auf 255,128,0“, oder wir läuft das ab? Das wäre für meinen 
Anwendungsfall natürlich optimal.

Sind die LEDs als Klebestreifen eigentlich etwas „wetterfester“, oder 
macht das keinen Unterschied? In jedem Fall müsste man die entweder in 
irgend einen transparenten Schlauch o.Ä. stecken, oder sonstigerweise 
einbauen.

von Harald (Gast)


Bewertung
0 lesenswert
nicht lesenswert
André R. schrieb:
> Wir reden derzeit von sehr wenigen LEDs. Das wird sich höchstens
> im
> niederen zweistelligen Berech bewegen.
>
> Wie werden die einzelnen LEDs denn adressiert? Ich kann mir das nicht so
> wirklich vorstellen. Schickt man da ein Datenpaket à la „5. LED im Bus
> bitte auf 255,128,0“, oder wir läuft das ab? Das wäre für meinen
> Anwendungsfall natürlich optimal.

Genau so, das Protokoll zur WS2812 ist zwar etwas speziell, dank 
Arduino-Libs braucht man sich damit nur wenig auseinandersetzen.


>
> Sind die LEDs als Klebestreifen eigentlich etwas „wetterfester“, oder
> macht das keinen Unterschied? In jedem Fall müsste man die entweder in
> irgend einen transparenten Schlauch o.Ä. stecken, oder sonstigerweise
> einbauen.

Kann man als wetterfeste Variante kaufen.

Wenn du nur wenige LEDs hast, könnte ein fertiger Streifen aufgrund der 
Dichte der LEDs Verschwendung sein. Vielleicht ist es eine Überlegung 
wert, eine eigene Platine zu gestalten, mit passenden Steckverbindern 
usw. Dank PCBWAY und Co. nicht mehr teuer. Eine eigene Platine könnte 
auch die Zuverlässigkeit steigern, mit den fertigen Stripes gibt es hier 
und da Qualitätsprobleme.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Harald schrieb:
> Bis zu 9% der Männer haben da ein Problem.

Was heißt "bis zu"?

Das wird sich doch per Statistik feststellen lassen, wie hoch der Anteil 
ist.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
André R. schrieb:
> Schickt man da ein Datenpaket à la „5. LED im Bus
> bitte auf 255,128,0“, oder wir läuft das ab?

Nein, man schickt ein Datenpaket, in dem für jede LED die Helligkeit 
drin steht.

von Harald (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> Harald schrieb:
>> Bis zu 9% der Männer haben da ein Problem.
>
> Was heißt "bis zu"?
>
> Das wird sich doch per Statistik feststellen lassen, wie hoch der Anteil
> ist.

Ok, bei Wikipedia sind 9% angegeben, ohne „bis zu“. Andere Quellen 
verwenden teilweise diese Definition, da es unterschiedliche 
Bewertungskriterien gibt.

von Patrick J. (ho-bit-hun-ter)


Bewertung
0 lesenswert
nicht lesenswert
Hi

André R. schrieb:
> @Patrick: Wie werden denn diese einzelnen LEDs angebunden? Hängen die an
> einem Bus, oder wie geht das? Sieht für meinen Geschmack nämlich sehr
> interessant aus!

Wurde ja schon recht viel zu geschrieben.
Bei den von mir verlinkten Einzel-LED-Platinen müssen ALLE LEDs einzeln 
verlötet werden.
Dafür werde ich mir einen Halter o.Ä. ausfräsen, damit die Dinger so 
liegen bleiben, wie ich Das will :)

Nicht vergessen sollte man, daß pro LED 6 Pads vorhanden sind (2x Vdd, 
2x GND, 1x Din, 1x Dout).
Vdd und GND kann man 'durch legen' - also ungeschnitten an die Pads 
löten.
Das Datensignal muß aber auf der eigentlichen LED-Platine unterbrochen 
sein, sonst zerschießt man sich diese LED, da Deren OUT gegen den 
Datenstrom arbeitet.

Ich bin mir noch nicht ganz sicher, was ich mit den ganzen LEDs anstelle 
- denke, eine Art Mensch-Ärgere-Dich-Nicht wird's wohl werden - gab's 
vor Jahren in der Kneipe und irgendwie cool :) (wenn ich auch Dart, 
Billard oder Skat bevorzugte, also neben Bier).

Bei Dir könnte es ein Problem werden, die verlöteten Einzel-Platinen in 
den Wetterschutzschlauch zu bekommen - da könnten wetterfeste 
LED-Schläuche besser sein, auch, wenn Du dort eben nur alle drei LEDs 
abschneiden kannst - diese LEDs kann man dann ja als Lauflicht oder so 
nutzen, damit die eigentlich unnötigen LEDs auch einen Job bekommen.
Auch hier wirst Du vorne und Hinten je 3 Drähte anlöten dürfen - werden 
auch eine Menge Lötstellen werden ... nur zum Angst machen ;)

Woher bekommst Du die Information, Was als Nächstes entnommen werden 
soll?
Der Arduino hat für so ziemlich Alles LIBs, und ob die Kiste nachher 
30mA mehr oder weniger nimmt, sollte bei einem Produktiv-System wohl 
vernachlässigbar sein.

Kannst ja Mal ein Bild machen, wenn's fertig ist - sofern erlaubt.

MfG

von Frank E. (Firma: Q3) (qualidat)


Bewertung
0 lesenswert
nicht lesenswert
Noch mal zurück zum Ursprung: Pick by Light dient in der 
Logistik/Konfessionierung dazu, dass eine Hilfskraft:

a) sieht, wo sie Ware entnehmen soll

b) sieht, wieviel Ware sie entnehmen soll

c) signalisiert, ob sie die Ware entnommen hat (Sonderfall: nicht genug 
Ware im Fach)

d) bei mehreren gleichzeitig arbeitenden Pickern müssen die 
unterscheiden können, welche LED für sie zutreffend ist

Also a) lässt sich mit einer LED lösen. Wie willst du das mit b), c) und 
d) machen?

b) könnte man lösen, indem man nicht nur eine LED pro Fach anbringt, 
sondern mehrere und die Menge irgendwie codiert (binär?). Professionelle 
Systeme benutzen 7-Segment-Anzeigen, was den Aufwand natürlich erhöht.

c) üblicherweise befindet sich mindestens eine Taste am Fach, die vom 
Picker gedrückt werden muss, oder er trägt einen (Funk-) Handsender bei 
sich

d) kann z.B. mit der Farbe erledigt werden

Tja... und am Ende benötigt man eine Software, die aus den vorliegenden 
Bestellungen heraus (Web-Shop?) den Pick-Prozess steuert, am Besten auch 
gleich Lieferschein/Rechnung sowie das Versandetikett generiert und 
evtl. noch Packungsgröße und Gewicht für den Versand berechnet.

: Bearbeitet durch User
von André R. (andr_r619)


Bewertung
0 lesenswert
nicht lesenswert
Danke für die vielen Infos. Es gibt ja noch ein Nachfolge(?)modell mit 4 
Pins. Wo liegt denn da der Unterschied?

Wirklich wetterfest muss das Ganze gar nicht sein. Es läuft in einer 
Fertigungshalle. Geht eher darum, dass man es mal abstauben kann, ohne, 
dass es gleich kaputt geht.

Das Projekt ist eine recht vereinfachte PPL-Lösung: Es gibt nur wenige 
Fächer, in diesen befinden sich Kisten als Zwei-Behälter-Kanban und aus 
diesen werden die Teile entnommen.

Es gibt nur einen Picker, da stets auftragsbezogen entnommen wird. In 
der Regel muss auch nur ein einzelnes Produkt pro Auftrag entnommen 
werden.

Der Anstoß kommt von einem Funkscanner. Der Mitarbeiter schießt den 
Barcode des Fertigungspapiers an, dieser geht an einen WCF-Dienst und 
dieser wiederum soll dann per LAN mit der Anlage kommunizieren. Der 
Aufruf soll sehr einfach mit Zeile, Spalte, An/Aus und ggf. 
Artikelbezeichnung erfolgen. Letztere will ich womöglich noch auf einem 
kleinen LCD als Referenz anzeigen.

Der Mitarbeiter quittiert die Entnahme des Artikels, indem er einen 
Barcode scannt, der an dem jeweiligen Fach angebracht ist. Dann würde 
erneut der WCF-Dienst den Arduino anrufen und die jeweilige LED wieder 
abschalten.

Sollte es später mehrere Mitarbeiter geben, könnte man mit der 
Mehrfarblösung natürlich zukünftig jedem Mitarbeiter auch eine Farbe 
geben. Vielleicht kommt auch noch eine Funktion dazu, einen leeren 
Behälter im Kanban irgendwie zu „melden“, sodass die Info direkt ans 
Lager geht.

Ich bin gerne bereit, euch später mal ein Foto zu schicken.

PS: Der WCF-Dienst und das alles existiert schon. Da ist ein Kollege für 
zuständig.

: Bearbeitet durch User
von André R. (andr_r619)


Bewertung
0 lesenswert
nicht lesenswert
Habe noch etwas weiter recherchiert und da scheint es ja sogar eine 
fertige Library zu geben:

https://github.com/FastLED/FastLED

Scheint ja nicht nur die hier empfohlenen WS2801 zu geben. Kennt 
eigentlich jemand Bezugsquellen für solche „intelligenten LEDs“, wo man 
zu einem erträglichen Preis zeitnah an einen Satz Lämpchen heran kommt? 
Der oben verlinkte eBay-Händler gibt zwischen 6 und 8 Wochen an. Ideal 
wäre natürlich Amazon, da ich Prime habe.

Gruß und Danke
André

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
André R. schrieb:
> Danke für die vielen Infos. Es gibt ja noch ein Nachfolge(?)modell mit 4
> Pins. Wo liegt denn da der Unterschied?

Weißt du was ein Datenblatt ist?
Das hilft, solche Fragen zu beantworten.

Der Unterschied liegt in Pin-Anzahl und Pin-Anordnung. Die WS2812 hat 
außerdem getrennte Versorgungsspannungen für LED und Controller. Für das 
Layout von LED-Ketten ist der WS2812B wesentlich günstiger, weil man mit 
einseitigen Leiterplatten auskommt.

von Patrick J. (ho-bit-hun-ter)


Bewertung
0 lesenswert
nicht lesenswert
Hi

André R. schrieb:
> Es gibt ja noch ein Nachfolge(?)modell mit 4
> Pins. Wo liegt denn da der Unterschied?

Datenblatt wurde ja schon genannt (wobei bei einer Ansteuerung per 
Arduino nun wirklich nur die 5V und der Datenpin von Belang sind, das 
Timing sollte der µC dann schon selber hinbekommen) - die 5V sollten 
vorher geklärt sein, daß die LED nicht wegbrennt.
Das 4-Pin-Modell ist die 'einfache' LED, also Vdd, GND, Din, Dout.
Bei den von mir verlinkten Platinchen sind für Vdd und GND nur jeweils 
zwei Pads, damit man besser 'weiter' kommt beim Löten.
Wenn Du die Versorgungsspannung zwei Mal am gleichen Pas anlöten musst, 
wird Dir öfter das bereits verlötete Drähtchen abhauen - mit separatem 
Pad nicht.
Die eigentliche LED hat hier ebenfalls 4 Anschlüsse (ok, wer hätte Das 
nun gedacht)
Auf den Platinchen ist weiter ein SMD mit der Bezeichnung '750' und ein 
'brauner Klotz'.
Naive wie ich bin, würde ich sagen, ein Widerstand (zum Strom 
einstellen) und ein Kondensator zum Abblocken - soll mir aber wurscht 
sein, mir reicht Es, wenn's funktioniert ;)

MfG

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.