Hilfestellung für den Noob (Lehre,Stückzahl)

Einen schönen Sonntag Abend wünsche ich allen.

Ich bin neu hier im Forum und stelle ich mich einfach mal Kurz vor.

Ich bin der Sven, bin 31 Jahre und vom Beruf Arbeitspädagoge und angestellter in einer WfbM (Werksatt für behinderte Menschen).
In meiner Freizeit habe ich viele Hobbys und Interessen, zu einer der momentanen Beschäftigungen gehört, das kennenlernen von Arduino/Raspberry und die dazugehörigen Sprachen.
Durch Bücher und dem WWW versuche ich mir die Basics anzueignen um einfach die Zeit sinnvoll zu verbringen in der Dunklen Jahreszeit.
Eine LED kann ich schon aufleuchten lassen.

Ich habe mir ein Projekt vorgenommen, aber komme dabei echt an die Grenzen meines Wissens und versuche/hoffe auf diesem Weg etwas Hilfestellung zu bekommen.
Ich muss mich über Dinge unterhalten, damit ich sie verstehe. Aber eine Unterhaltung mit Büchern klappt einfach noch nicht.


Am besten erkläre ich einfach mal mein Vorhaben.
In meinem Beruf muss man immer mal wieder im Prozess der Arbeitsplatzgestaltung auf die Besonderheiten der Mitarbeiter eingehen.
Es gibt Menschen die nur einen Arm benutzen können oder gar eine Autismus Spektrum Störung haben. Oder einfach nicht Zählen und Lesen können.
Aber diese Umstände sollen die Menschen nicht daran hindern, ihre Aufgaben bzw. Aufträge erfolgreich und zur Zufriedenheit des Kunden zu absolvieren.
Momentan haben wir einen Auftrag bei dem QM sehr wichtig ist. Es dürfen keine Teile fehlen oder falsch zusammengebaut werden.
Am Freitag bekam ich das erstmal Rückmeldung vom Kunden, der auch gleich was zu Monieren hatte. Zurecht.
Es müssen Teile miteinander vernietet werden. Und es sind beim Kunden Fehlteile aufgetaucht.
Jetzt war es meine Aufgabe, diesen Fehler in der Produktion festzustellen und den Arbeitsablauf so zu gestalten, dass der Mitarbeiter es leichter hat bzw. so dass keine Fehlteile mehr zustande kommen.


Den Fehler habe ich recht schnell ermittelt. Die miteinander zu vernietende Teile sind nicht bis zum Anschlag zusammen gesteckt worden und die Niete konnte nicht in das dafür vorhergesehene loch eingeführt und vernietet werden.
Also musste ich mir was ausdenken, damit der Mitarbeiter erkennt, wann die Teile im Sollzustand sind.
Schnell wurde mir bewusst, dass man so etwas mit einer Lehre, in die man das Teil einlegt recht schnell feststellen kann. Kurz in die Holzwerkstatt und die Lehre gebaut. Am nächsten Tag eingeführt in den Prozess und schon am Nachmittag sieben Fehlteile ermittelt.

Super Ding so eine Lehre. Jetzt gibt es aber nicht nur das Problem der Fehlteile, sondern auch das Problem Zeitmanagement. Ich bin ja auch nur ein kleines Licht und Scheiße fällt von oben nach unten. Den Chef und den Kunden im Nacken.... Stückzahlen... Stückzahlen.. muss ich mir was einfallen lassen, wie ich die Produktion schneller und reibungsloser für die Mitarbeiter gestalten kann. Wie oben schon erwähnt gibt es unterschiedliche Typen in einer WfbM.
Im laufe der Woche ist mir aufgefallen, dass der Mitarbeiter, der an der Lehre steht die auch gleichzeitig die Quality Wall für diese Linie ist, mit dem Zählen Probleme hat.
Die Teile werden zu 200 Stück in einen Karton gestapelt wobei sie auf Lagen zu 25 Teilen aufgeteilt sind.
Mal haben wir weniger als 200 Teile ein anderes mal mehr. Zuerst dachte ich an das Wiegen der Kartons. Aber dafür müssen die Kisten einheitlich sein und auch die Zwischenlagen einheitlich gehalten sein. Was momentan Leider nicht der Fall ist.


So ist mir die Idee gekommen, einfach in die Lehre etwas Technik zu Basteln.
Ich habe hier einen Arduino Uno rumliegen mit dem ich eine LED zum leuchten per Taster bringen kann.

Diesen Taster in die Lehre eingebaut und bei jedem einlegen des Teiles, in der richtigen Länge, bringt das LED zum aufleuchten. Soweit komme ich alleine.

Jetzt habe ich die Idee etwas weiter gesponnen.
Bei jedem betätigen des Taster soll nicht nur die Grüne LED aufleuchten, sonder auch mitgezählt werden, wie oft sie aufgeleuchtet oder wie oft der Taster betätigt worden ist.
Nach 25 mal betätigen soll eine Blaue LED mit Aufleuchten. (Die dem Mitarbeiter Signalisiert, das er jetzt bei 25 Teilen angekommen ist und er eine neue Lage einbauen muss.
Und bei 200 Teilen sollen Beide LEDs leuchten. (So wird dem Mitarbeiter Signalisiert, dass die Kiste vollständig ist.)
Eventuell noch eine Segmentanzeige, auf der die Aktuelle Anzahl der Teile zu sehen ist.


Ich erwarte hier von keinem, dass er mir ein Programm schreibt. Das will ich an dieser Stelle einfach mal erwähnen. Ich stehe einfach noch ganz am Anfang was programmieren angeht. Und ich Glaube dass dieses Projekt für mich persönlich eine Menge an Lerneffekt bereithält. Aber ich muss erstmal wissen, wie ich so etwas im Grunde anfangen muss/kann. Und komme im Jungel einfach nicht weiter.


Mein Gedankengang einfach mal aufgeschrieben.

Wenn Taster gedrückt = LED leuchtet
Wenn Taster nicht gedrückt = LED Leuchtet nicht

// Konstanten
const int tasterPin = 2;    // Pin Nummer des Tasters
const int ledPinG =  3;      // Pin Nummer der Grünen LED des Arduinos
 

// Variablen
int tasterStatus =  0;      // Variable für den Taster Status

 
 
void setup()
{
  
  pinMode(ledPinG, OUTPUT);      // LED Pin wird als Ausgang gesetzt
  pinMode(tasterPin, INPUT);    // Taster Pin wird als Eingang gesetzt
  
}
 
 
void loop()
{
  // Lesen des Status des Taster Pins
  tasterStatus = digitalRead(tasterPin);
 
  // Prüfen ob der Taster gedrückt ist
  // Wenn der TasterState HIGH ist:
  if (tasterStatus == HIGH)
  {     
    digitalWrite(ledPinG, HIGH);    // schalte die LED an
  } 
  // Wenn nicht, schalte die LED aus:
  else
  {
    digitalWrite(ledPinG, LOW);    // schalte die LED aus
 }
   
}

Soweit so gut.


Doch jetzt muss ich das Zählen noch inkrementtieren.
Vor welchen Problemen/Aufgaben stehe ich jetzt?

Wie Speichere ich die Anzahl der Taster Betätigungen, damit das Programm weis wann es die Blaue LED und später beide zum Leuchten bringt.
Welche befehle gibt es dafür?
Auf was muss ich dabei achten, wie gestalte ich es am schönsten?
muss ich den Taster entprellen?
Anzeige der Stückzahl auf einer Sieben-Segment-Anzeige. Das übersteigt allerdings mein Wissen um Welten und ist Zukunftsmusik für mich.

Wie schon geschrieben, ich will kein Programm geschrieben bekommen. Nur etwas Unterstützung bei der Suche nach dem richtigen Weg und ein Helfende Hand, was das Finden von Informationen betrifft, ich verlaufe mich sonst in der großen weiten Welt.

Puh war doch etwas viel Text. Vielleicht findet sich ja der ein oder andere der etwas Zeit und Lust hat mir es zu erklären.

Ich bedanke mich mal im Voraus und wünsche einen schönen Abend.

Hi

Viel Text - aber mit großen Buchstaben und Satzzeichen - ließ sich lesen :slight_smile:
(haben wir hier nicht so oft ... man lese uns staune ...)

Da das Einlegen in die Lehre wohl bestenfalls im Sekundentakt geschieht, könnte man beim ersten Erkennen des Tastendruck einfach eine Wartezeit einfügen.
Nicht die schönste Art, funktioniert aber hier.

Das Zählen ist ganz einfach - nimm eine Variable, und addiere 1 dazu :slight_smile:
Wenn Du auf ein Vielfaches von 25 triffst (zaehler%25==0), geht die 'Lage fertig'-LED an, statt die 'Bauteil ok'-LED.
Bei 200 (zaehler==200) beide LEDs.

Wie stellst Du sicher, daß nicht ein bereits erfolgreich geprüftes teil erneut 'vermessen' wird?
Die Zählung bekommt davon Nichts mit und würde darauf hin zu früh die Lage/den karton als fertig melden.

MfG

Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
So ist er auch auf portablen Geräten lesbar. Das kannst Du auch noch nachträglich ändern.

Durch drücken von +T in der IDE kannst Du Deinen Code formatieren (einrücken). Dadurch wird er übersichtlicher und Du selbst findest auch Fehler schneller.

Damit nicht mehrfach gezählt wird, solltest Du die Änderung des Tasters erfassen, nicht nur den aktuellen Zustand. Also alten Zustand merken, vergleichen. Das Entprellen kannst Du bei Dieser Anwendung mit einem kurzen Delay von 20 ms erledugen.

Hast Du einen Pulldown-Widerstand (5-10 kOhm) vom Tastereingang nach GND beschaltet?

Gruß Tommy

Tommy56:
Damit nicht mehrfach gezählt wird, solltest Du die Änderung des Tasters erfassen, nicht nur den aktuellen Zustand. Also alten Zustand merken, vergleichen.

sehe ich auch so, auf Veränderung achten (aufmachen/zumachen) nicht auf den Endzustand.

Aber imho passt die Aufgabe noch nicht. Wie verhinderst du, dass der Arbeiter die Lehre auf und zu macht und somit eine Leerzählung mit der Lehre macht?

Lass die 200 Stück zunächst auf einer Ablage stellen, erst wenn die passende Höhe/Gewicht erreicht ist, geht es weiter zum Verpacken dass dann mit individuellen Zwischenlagen geschehen kann.

Hi

25 klingt nach 5x5 - 8 Lagen hoch sind's 200.
Wenn man dem Personal anzeigt, wo das teil hingelegt werden soll?
Also eine Matrix 5x5, wo die Ziel-Position leuchtet?
In der Art Pick&Place?

Hilft immer noch nicht gegen Fehlbedienung, aber wenn ein 'Lage voll?' mit Taster 'Ja' beantwortet werden muß, wird Er wohl auf Dich zukommen, wenn Da doch noch ein Loch in der Lage ist, oder?

Man kann die Anzeige ja, statt 7-Segment, per LCD machen - wobei Du schriebst, daß Lesen ggf. auch ein Problem sein könnte - Da würde das LCD nur bedingt helfen :confused:

MfG

Es würden doch auch 25 LED tun.

Gruß Tommy

postmaster-ino:
Wie stellst Du sicher, daß nicht ein bereits erfolgreich geprüftes teil erneut 'vermessen' wird?
Die Zählung bekommt davon Nichts mit und würde darauf hin zu früh die Lage/den karton als fertig melden.

MfG

Das Teil wird eingerastet und nach unten gedrückt, wieder rausgenommen und direkt in den Karton gelegt.
Ist das Teil fehlerhaft kommt es nicht an den OK Taster. Ich darf leider keine Bilder einstellen auf dem das Bauteil zu sehen ist. Aber man kennt es aus vielen KFZ. Eine Teleskopstange für das Gepäcknetz im Kofferraum. Eine Stange mit Scharnier. Die Lehre hat das passende Stück in dem die Stange mit dem Scharnier eingesteckt wird. Das Ende der Stange geht in eine Aussparung. Ist die Stange 5mm länger als der Soll Zustand liegt sie im Ausschussbereich und geht nicht in die Aussparung.

Tommy56:
Es würden doch auch 25 LED tun.

Sehr gute Idee

Erspart eine Menge Arbeit und ist noch sinnvoller als meine Idee. Danke.

noiasca:
Lass die 200 Stück zunächst auf einer Ablage stellen, erst wenn die passende Höhe/Gewicht erreicht ist, geht es weiter zum Verpacken dass dann mit individuellen Zwischenlagen geschehen kann.

So wurde es die ganze zeit gemacht und es schlichen sich Fehler und auch Unfälle mit den Stoppeln.
In der Werksatt sind auch Menschen im Rollstuhl oder Rollator. Die Tische sind keine Industrie Tische und der Platz im Raum ist auch begrenzt.
Ich bin gerade dabei eine Richtige Linie darein zu bekommen.

postmaster-ino:
Hi

25 klingt nach 5x5 - 8 Lagen hoch sind's 200.
Wenn man dem Personal anzeigt, wo das teil hingelegt werden soll?
Also eine Matrix 5x5, wo die Ziel-Position leuchtet?
In der Art Pick&Place?

Hilft immer noch nicht gegen Fehlbedienung, aber wenn ein 'Lage voll?' mit Taster 'Ja' beantwortet werden muß, wird Er wohl auf Dich zukommen, wenn Da doch noch ein Loch in der Lage ist, oder?

Man kann die Anzeige ja, statt 7-Segment, per LCD machen - wobei Du schriebst, daß Lesen ggf. auch ein Problem sein könnte - Da würde das LCD nur bedingt helfen :confused:

MfG

Auch eine gute Idee aber die Klienten sind zum Teil sehr Kognitiv eingeschränkt. Diese erkennen keine Muster oder Lücken. Es ist echt schwer zu erklären wie der Ablauf ist und wo die einzelnen Probleme sind.

Die Idee mit den 25 LEDs werde ich aufgreifen. Diese lässt sich echt schnell und unkompliziert verwirklichen und ist auch visuell viel besser für die Mitarbeiter. Sie sehen zivile noch fehlen und müssen zur not nur weiter einlegen bis alle LEDs Leuchten.

Vielleicht noch eine Taste für die Lage zu bestätigen, der auch gleich alle LEDs wieder zurücksetzt.
Eventuell sogar die letzten 25 Teile mit Blauen LEDs Visualisieren.

Vielen Dank an euch alle.

Auch für die Tips für die Programmierung. Der Code im ersten post wurde auch schon angepasst von jemanden.

Dann schaue ich mir jetzt mal an wie ich die LEDs alle nacheinander leuchten lassen kann.

Ach Austausch ist doch einfach das beste.

Für die LEDs schau Dir mal Portexpander MCP23017 (16 Pins) oder PCF8574 (8 Pins) an.

Gruß Tommy

Tommy56:
Hast Du einen Pulldown-Widerstand (5-10 kOhm) vom Tastereingang nach GND beschaltet?

Ein waaaaas...? Ne glaube nicht. einmal 10kOhm und einen 220Ohm mehr nicht. Pulldown? muss ich jetzt auch mal nachschauen gehen was der macht/ist

Tommy56:
Für die LEDs schau Dir mal Portexpander MCP23017 (16 Pins) oder PCF8574 (8 Pins) an.

habe ich gerade schon. Aber versteh den sinn noch nicht. Es erweitert meine Anzahl an Ports?
Logisch, ich brauche ja 50 LEDs die ich ansteuern will.

Wo hast Du den 10 kOhm verbaut? Das könnte schon der Richtige sein.

Es geht darum, dass es keinen offenen Eingang gibt. Offene hochohmige Eingänge fangen wie eine Antenne alles (un)mogliche ein.

Gruß Tommy

Zwischen pin 3 am Taster und GND

Ich frage mich, wozu eine solche Werkstatt dienen soll. Wenn mit Fehlern zu rechnen ist, dann drängt sich erst mal der Ersatz von fehlerhaften Menschen durch Maschinen auf, wie das in der gesamten Wirtschaft zu beobachten ist. Die Werkstatt soll nun eine Zwischenform werden, in der die Menschen vom Computer - ja was nun - kontrolliert oder unterstützt werden sollen? Aber diesen Teil mußt Du wohl selbst erledigen.

Die schön detaillierte Ablaufbeschreibung schreit nach einem Automaten oder (einfacher?) nach Task-Makros. Nicht unbedingt jetzt gleich, die Grundlagen sind erst einmal wichtiger. Aber welche Methoden hast Du schon selbst benutzt, um diese detaillierte Ablaufbeschreibung zu erstellen und ggf. (bei Fehlern) zu erweitern? Dann könnte man die dazu am besten passenden Programmier-Paradigmen vorschlagen. Oder Du schaust Dir selbst an, was an Methoden und Erklärungen im Forum und Web vorgestellt wird, und suchst Dir selbst aus, was Dir am besten gefällt.

Hast Du schon mal die Beispiele in der IDE angeschaut? Dort werden Lösungen für die einfachen Probleme beim Programmieren von Sensoren und Aktoren (Ein- und Ausgaben) angeboten. Z.B. das StateChangeDetection Programm, das zur Erkennung eines Tastendrucks dienen soll. Und zwar nicht dem Tastendruck als Zustand, sondern als einmaliges Ereignis bei jedem Drücken.

Hi

Für wenig Verkabelungsaufwand würde ich NeoPixel vorschlagen (bei Ebay WS2812B suchen).
Gibt's als Stripe und kann in 5er Happen zerschnitten werden.

Auch kann man diese LEDs in verschiedenen Farben leuchten lassen - hier geht's mir aber eher um die einfachere 'Montage' am Arduino.
Sonst wären 25 LED doch schon etwas mehr Aufwand.

MfG

50 LEDs gingen auch mit einem MAX7219

DrDiettrich:
Ich frage mich, wozu eine solche Werkstatt dienen soll. Wenn mit Fehlern zu rechnen ist, dann drängt sich erst mal der Ersatz von fehlerhaften Menschen durch Maschinen auf, wie das in der gesamten Wirtschaft zu beobachten ist.

Solche Werkstätten sind dafür gedacht, dass Menschen mit geistigen/körperlichen Behinderungen einer sinnvollen Tätigkeit nachgehen können.
An der Stelle verstehe ich auch die Haltung der Leitung der Werkstatt nicht. Da sollte man schauen, ob da nicht die falsche Person sitzt, denn Stückzahl ist nicht der primäre Sinn dieser Werkstätten.

Gruß Tommy

DrDiettrich:
Ich frage mich, wozu eine solche Werkstatt dienen soll. Wenn mit Fehlern zu rechnen ist, dann drängt sich erst mal der Ersatz von fehlerhaften Menschen durch Maschinen auf, wie das in der gesamten Wirtschaft zu beobachten ist. Die Werkstatt soll nun eine Zwischenform werden, in der die Menschen vom Computer - ja was nun - kontrolliert oder unterstützt werden sollen? Aber diesen Teil mußt Du wohl selbst erledigen.

Diese Werkstätten haben das Ziel Behinderten Menschen die Teilhabe am Arbeitsleben bzw. generell Die Teilhabe zu ermöglichen. Wegsperren und Umbringen haben die Generationen vor mir schon versucht und dass hat auch nicht Funktioniert.

Und Fehlerhafte Menschen gegen Maschinen auszutauschen, ist auf dem ersten Arbeitsmarkt vielleicht Gang und Gäbe. Aber eine WfbM hat eben nicht das Ziel Menschen gegen Maschinen auszutauschen. Sondern die Menschen soweit zu fördern mit Hilfestellungen usw. dass sie wie jeder andere Mensch auch morgens einen Grund hat aufzustehen, einen geregelten Tagesablauf hat und am ende vom Monat was in der Tasche hat, mit dem er sich die Tafel Schokolade in der Woche oder das Bier (wenn auch Alkoholfrei) kaufen kann.
Findest du nicht, dass die Menschen auch ein Recht darauf haben?

Zumal nach den Gesetzen der Integration in Deutschland die Inklusion noch ein großes Thema werden wird.
Stell dir vor. Bosch muss Strafen zahlen wenn sie keine Behinderten Menschen einstellen. Das steht im Gesetz.
Und wie du schon festgestellt hast, werden z.B. bei Bosch Fehlerhafte Menschen ausgetauscht. Daher Lagern sie Arbeiten die, in der Produktion mit Menschen günstiger sind, an WfbM aus. Und bezahlen anstatt die Strafe einfach die Werkstatt. Und jeder hat was davon.

EDIT SAGT... Schau mal im Internet nach dem Schlauen Klaus. Sowas gibt es doch schon in der Industrie 4.0.
mit so einer Einrichtung, können sogar mehrfach Behinderte Menschen bei Fresenius, Bosch und Co arbeiten.

Tommy56:
Solche Werkstätten sind dafür gedacht, dass Menschen mit geistigen/körperlichen Behinderungen einer sinnvollen Tätigkeit nachgehen können.
An der Stelle verstehe ich auch die Haltung der Leitung der Werkstatt nicht. Da sollte man schauen, ob da nicht die falsche Person sitzt, denn Stückzahl ist nicht der primäre Sinn dieser Werkstätten.

Tja egal wie Lieb die Leitung ist. Der Kunde macht Druck. Und wenn die Zahlen nicht stimmen. Bekommt jemand anderes den Auftrag. und schafft der es nicht der nächste usw.

Die Leitung ist da auch nur ein kleines Lichtlein. Das Problem stinkt vom Kopf aus. Politik und Wirtschaft ^^
Aber darum versuche ich ja mein bestes, dass der Mitarbeiter sowenig stress wie möglich abbekommt.
Weil die Jungs und Mädels können am wenigsten was für ihren zustand.

Gaertner89:
Weil die Jungs und Mädels können am wenigsten was für ihren zustand.

Ja, das ist wichtig zu beachten. Also wir machen mit.
In der Schule meiner Frau wird die Mensa seit Jahrzehnten von der Lebenshilfe gemanaged. Das funktioniert gut, daher habe ich da entfernten Kontakt.

Die Schule (Realschule) hat auch seit > 10 Jahren in Klassenstufe 5 und 6 Inklusionsklassen mit "normalen" Schülern und geistig behinderten Schülern. Das funktioniert bestens. Die "normalen" Schüler bekommen viel Sozialkompetenz und die behinderten lernen viel offener.

Gruß Tommy

Ich wollte keine Kritik am System ablassen, aber ich kenne einige solche Werkstätten, ABM und "Qualifizierungsmaßnahmen" mit sehr unterschiedlichen Ansätzen. Von der Ausgrenzung von Schwerbehinderten (Kündigungsschutz!) im Erwerbsleben war ich selbst betroffen, und von der einzigen Anstrengung des Arbeitsamts, mich in EU-Rente zu schicken - und das wegen einer Unterschenkelamputation bei einem Informatiker :frowning:

Deshalb hat mich interessiert, nach welchen Grundsätzen Deine Werkstatt arbeiten soll. Es ist sicher nicht einfach, Menschen mit unterschiedlichen Behinderungen so einzusetzen, daß jeder sein Erfolgserlebnis hat und sich auch noch Auftraggeber finden lassen.

Hallo,

Zwischenfrage, wenn zählen ein Problem ist, wie sollen die Leute dann 25 Leds unterscheiden?
Dann kann man an den Arbeitsplatz nur einen hinstellen der wenigsten 3 Farben sicher unterscheiden kann.

Ich würde nur wenige Leds als Statusanzeigen verwenden aber dennoch einen Zähler mit Display etc. verwenden. Der Zähler ist für dich für Kontrollen. Dann weißt du wieviel Teile er heute überhaupt gemacht hat und kannst stutzig werden wenn eine nicht durch 200 teilbare Anzahl fertiger Kisten bereitsteht. In dem Display kannste ja alles berechnet anzeigen lassen. Wieviel Einzelteile, wieviele 25er Lagen und wieviel 200er Kisten entspricht das.

Das Wichtigste ist aber erstmal der sichere Zähler. Taster entprellen und nur auf eine Signalrichtungsänderung reagieren. Sonst würde der bei längeren drücken durchzählen. Ist aber für jeden machbar. Nicht nachtriggerbares Monoflop ist das Prinzip.

Der Rest sind dann nur Zählerstandsvergleiche womit bestimmte Aktionen ausgelöst werden. Das ist leichter wie den Taster sauber zu programmieren.

Dafür wird millis benötigt. Meine Lieblinge ...

Theseus erklärt millis()

GuntherB - BlinkwithoutDelay - Die Nachtwächtererklärung