Farbseperator: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(41 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
[[Kategorie:ProjekteET MTR BSE WS2020]]
[[Kategorie:ProjekteET MTR BSE WS2020]]
<!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird.  -->
<!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird.  -->
 
→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2020|WS 20/21: Fachpraktikum Elektrotechnik (MTR)]]
[[Datei:Farbseperator.jpg|400px|thumb|right|Werbeplakat des Farbseperators <ref> Eigenes Dokument </ref>]]
[[Datei:Farbseperator.jpg|500px|thumb|right|Werbeplakat des Farbseperators <ref> Eigenes Dokument </ref>]]
 
<br><br>
 
'''Autoren:''' [[Benutzer:Noah Greis | Noah Greis]], [[Benutzer:Richard Stanislawski | Richard Stanislawski]]
'''Autoren:''' [[Benutzer:Noah Greis | Noah Greis]], [[Benutzer:Richard Stanislawski | Richard Stanislawski]]


'''Betreuer:''' [[Benutzer:Prof. Mirek Göbel| Prof. Dr. Göbel]]<br/>
'''Betreuer:''' [[Benutzer:Prof. Mirek Göbel| Prof. Dr. Göbel]]<br/>
<br><br>




→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2020|WS 20/21: Fachpraktikum Elektrotechnik (MTR)]]
== Einleitung ==
Dieses Projekt ist Bestandteil des GET Fachpraktikums des Bachelorstudienganges Mechatronik im 5. Semester und wird hier genauer beschrieben. Der "Farbseperator" ist ein Nachbau des Arduino Color Sorter Project<ref> [https://howtomechatronics.com/projects/arduino-color-sorter-project/ :''Arduino Color Sorter Project''], Dejan, abgerufen am 13.03.2021 </ref>. Er soll mit zwei Servomotoren und einem Farbsensor ausgestattet werden. Die Motoren werden von dem programmierten Arduino Mikrocontroller gesteuert und richten sich je nach erkannter Farbe aus. Dabei wird das zu sortierende Material in unterschiedliche Behälter separiert.


== Einleitung ==
Dieses Projekt ist Bestandteil des GET Fachpraktikums des Bachelorstudienganges Mechatronik im 5. Semester und wird hier genauer beschrieben. Der "Farbseperator" soll mit zwei Servomotoren und einem Farbsensor ausgestattet werden. Die Motoren werden von dem programmierten Arduino Mikrocontroller gesteuert und richten sich je nach erkannter Farbe aus. Dabei wird das zu sortierende Material in unterschiedliche Behälter separiert.
== Anforderungen ==
== Anforderungen ==
Der "Farbseperator" soll im allgemeinen die folgenden Funktionen erfüllen.
Der "Farbseperator" soll im allgemeinen die folgenden Funktionen erfüllen.
Zeile 26: Zeile 24:
   
   
== Funktionaler Systementwurf/Technischer Systementwurf ==
== Funktionaler Systementwurf/Technischer Systementwurf ==
[[Datei:Prozessabaluf.jpg|400px|thumb|left|Prozessablauf]]
[[Datei:Prozessabaluf.jpg|400px|thumb|left|Prozessablauf<ref> Eigenes Dokument </ref>]]
Hauptbestandteil des Prozesses ist der Arduino Uno, welcher durch Rückmeldungen des Sensors (Farbsensor), die Servomotoren ansteuert. Dabei ist die Ausrichtung von der Rückmeldung des Sensors abhängig.
Hauptbestandteil des Prozesses ist der Arduino Uno, welcher durch Rückmeldungen des Sensors (Farbsensor), die Servomotoren ansteuert. Dabei ist die Ausrichtung von der Rückmeldung des Sensors abhängig.
[[Datei:3D-MODELL.PNG|300px|thumb|left|CAD-Modell]]
[[Datei:3D-MODELL.PNG|300px|thumb|left|CAD-Modell<ref> [https://howtomechatronics.com/projects/arduino-color-sorter-project/ :''Arduino Color Sorter Project'', Dejan, abgerufen am 13.03.2021] </ref>]]
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
Dies ist ein fertiges CAD - Modell der Maschine.
Dies ist ein fertiges CAD - Modell der Maschine.
Zeile 35: Zeile 33:


<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->
<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>


== Komponentenspezifikation ==
== Komponentenspezifikation ==
Zeile 44: Zeile 42:
! Beschreibung !! Bild
! Beschreibung !! Bild
|-
|-
| Arduino NANO || Der Microcontroller NANO spielt in diesem Projekt die Hauptrolle. Er verarbeitet eingehende Signale des Farbsensors und steuert durch Pulsweitenmodulation die 2 Servomotoren an. Durch seine geringen Abmaße eignet sich diese Modell hervorragend für Projekte mit kleinem Bauraum.  || [[Datei:NANO.jpg.png|200px|thumb|left|Arduino NANO]]
| Arduino NANO || Der Microcontroller NANO spielt in diesem Projekt die Hauptrolle. Er verarbeitet eingehende Signale des Farbsensors und steuert durch Pulsweitenmodulation die 2 Servomotoren an. Durch seine geringen Abmaße eignet sich diese Modell hervorragend für Projekte mit kleinem Bauraum.  || [[Datei:NANO.jpg.png|200px|thumb|left|Arduino NANO <ref> [https://www.distrelec.de/en/arduino-nano-board-arduino-a000005/p/11096733/ :''distrelec.de''] , abgerufen am 13.03.2021 </ref>]]
|-
|-
| MicroServo SG90|| Der Servomotor SG90 ist in der Lage auf den Grad° genau seine Position zu bestimmen. Dadurch lassen sich dynamische Funktionen des Farbseperator präzise steuern. Auch hier sind die kleinen Abmaße von großem Vorteil. || [[Datei:SERVO.png|200px|thumb|left|ServoMotor SG90]]
| MicroServo SG90|| Der Servomotor SG90 ist in der Lage auf den Grad° genau seine Position zu bestimmen. Dadurch lassen sich dynamische Funktionen des Farbseperator präzise steuern. Auch hier sind die kleinen Abmaße von großem Vorteil. || [[Datei:SERVO.png|200px|thumb|left|ServoMotor SG90 <ref> [https://www.basicpi.org/2018/05/19/sg90-9g-servo-is-no-wimp/ :''basicpi.org''], abgerufen am 13.03.2021 </ref>]]
|-
|-
| Farberkennungssensor TCS230/TCS3200 || Der Farbsensor detektiert dank seiner 8x8 Fotodioden-Matrix farbiges Licht. Die aufgenommenen Daten werden durch einen Strom-Frequenz-Wandler in eine Frequenz umgewandelt welche dann der erkannten Lichtfrequenz entspricht. 4 helle Leuchtdioden erhellen gleichmäßig das auszulesene Objekt.  || [[Datei:TCS230.png|200px|thumb|left|Farbsensor TCS230/TCS3200]]
| Farberkennungssensor TCS230/TCS3200 || Der Farbsensor detektiert dank seiner 8x8 Fotodioden-Matrix farbiges Licht. Die aufgenommenen Daten werden durch einen Strom-Frequenz-Wandler in eine Frequenz umgewandelt welche dann der erkannten Lichtfrequenz entspricht. 4 helle Leuchtdioden erhellen gleichmäßig das auszulesene Objekt.<ref> [https://elektro.turanis.de/html/prj029/index.html :vgl. ''Farberkennung mit dem TCS230/TCS3200-Sensor''], abgerufen am 13.03.2021 </ref> || [[Datei:TCS230.png|200px|thumb|left|Farbsensor TCS230/TCS3200 <ref> [https://hacktronics.co.in/color-recognition/tcs230-tcs3200-color-recognition-sensor-gy-31-module :''Farberkennungssensor TCS230/TCS3200''], abgerufen am 13.03.2021 </ref>]]
|}
|}


== Umsetzung (HW/SW) ==
== Umsetzung (HW/SW) ==
[[Datei:Farbseperator schaltung.jpg|600px|thumb|right|Schaltung des Farbseparators <ref> Eigenes Dokument </ref>]]
<br><br>
{| class="mw-datatable"
!colspan="2"|Arduino Pinout
|-
|Pin 6 || Servomotor Oben
|-
|Pin 7 || Servomotor Unten
|-
|Pin 8 || Sensor S0
|-
|Pin 9 || Sensor S1
|-
|Pin 10 || Sensor S2
|-
|Pin11 || Sensor OUT
|-
|Pin 12 || Sensor S2
|-
|Vcc || Servos & Sensor
|-
|Gnd || Servos & Sensor
|}
<br><br><br><br><br><br><br><br><br><br>
Funktion FarbeErkennen:
<code>int FarbeErkennen()
{
  int Gefunden = 0;
  while (Gefunden == 0){
   
  <span style="background:green">// Rot-Filter Diode aktivieren</span>
  digitalWrite(SENSOR_S2, LOW);
  digitalWrite(SENSOR_S3, LOW);
  frequency = pulseIn(SENSOR_OUT, LOW); <span style="background:green">// Ausgabewert lesen</span>
  int Rot = frequency;    <span style="background:green">//Ausgabewert in "Rot" speichern</span>
 
  <span style="background:green">// Ausgabe des gespeicherten Rot Wertes</span>
  Serial.print("R=");
  Serial.print(frequency);
  Serial.print("  ");
  delay(50);
  <span style="background:green">// Grün-Filter Diode aktivieren</span>
  digitalWrite(SENSOR_S2, HIGH);
  digitalWrite(SENSOR_S3, HIGH);
  frequency = pulseIn(SENSOR_OUT, LOW);<span style="background:green">// Ausgabewert lesen</span>
  int Gruen = frequency;  <span style="background:green">//Ausgabewert in "Gruen" speichern</span>
 
  <span style="background:green">// Ausgabe des gespeicherten Grün Wertes</span>
Serial.print("G=");
Serial.print(frequency);
Serial.print("  ");
delay(50);
  <span style="background:green">// Blau-Filter Diode aktivieren</span>
  digitalWrite(SENSOR_S2, LOW);
  digitalWrite(SENSOR_S3, HIGH);
  frequency = pulseIn(SENSOR_OUT, LOW);<span style="background:green">// Ausgabewert lesen</span>
  int Blau = frequency;  <span style="background:green">//Ausgabewert in "Blau" speichern</span>
 
  <span style="background:green">// Ausgabe des gespeicherten Blau Wertes</span>
Serial.print("B=");
Serial.print(frequency);
Serial.println("  ");
delay(50);
<span style="background:green">//Werte abgleich mit eingestellten Bereichen. Bereiche variieren stark abhängig vom äußeren Lichteinfall.</span>
  if(Rot<68 & Rot>61 & Gruen>94 & Blau<84 & Blau>75){
    Farbe = 1; // Rot
    Gefunden = 1;
  }
  if(Rot<73 & Gruen<65 & Blau<75 & Blau>70){
    Farbe = 2; // Gelb
    Gefunden = 1;
  }
  if(Rot>68 & Gruen<96 & Gruen>89 & Blau>79 & Blau<84){
    Farbe = 3; // Braun
    Gefunden = 1;
  }
  if(Rot>64 & Rot <72 & Gruen>75 & Gruen<83 & Blau<62 & Blau>59){
    Farbe = 4; // Violett
    Gefunden = 1;
  }
  if(Rot<67 & Rot>61 & Gruen>70 & Gruen<78 & Blau<78 & Blau>58){
    Farbe = 5; // Grün
    Gefunden = 1;
  }
  if (Rot<63 & Rot>55 & Gruen<93 & Gruen>80 & Blau>76){
    Farbe = 6; // Orange
    Gefunden = 1;
  }
  if(Rot<65 & Rot>60 & Gruen>65 & Gruen<71 & Blau<55 & Blau >44 ){
    Farbe = 7; //Blau
    Gefunden = 1;
  }
  if (Rot<65 & Rot>59 & Gruen<87 & Gruen>80 & Blau <67 & Blau>60){
    Farbe = 8; // Rosa
    Gefunden = 1;
  }
  }
  return Farbe;
}</code>


== Komponententest ==
== Komponententest ==
Zeile 57: Zeile 165:
=== Servo Motor SG90 ===
=== Servo Motor SG90 ===


Die Positionen in Grad [°] sind bei dem SG90 bereits vorbestimmt. Somit reichte es aus , die groben Positionen von 0° und 90° zu bestimmen, um einerseits die Startposition und anderseits die Umdrehungsrichtung zu bestimmen.
Die Positionen in Grad [°] sind bei dem SG90 bereits vorbestimmt. Somit reichte es aus , die Positionen von 0° und 180° zu bestimmen, um einerseits die Startposition und anderseits die Umdrehungsrichtung zu bestimmen.


=== Farbsensor TCS230/TCS3200 ===
=== Farbsensor TCS230/TCS3200 ===
Zeile 65: Zeile 173:
Da die Farben einerseits von ihren RG(<s>B</s>)- Anteilen sehr nahaneinander liegen und anderseits ihre Werte stark vom Umgebungslicht abhängen, ist eine generelle Auswertung für uns nicht möglich gewesen. Nach jedem Ortswechsel mussten die maximalen Rot- und Grünwerte ausgelesen und über eine Balkendiagramm aufgetragen werden. Somit ließen sich dann Grenzbereiche für die Farben festlegen. Diese variieren stark und sind oft sehr klein.
Da die Farben einerseits von ihren RG(<s>B</s>)- Anteilen sehr nahaneinander liegen und anderseits ihre Werte stark vom Umgebungslicht abhängen, ist eine generelle Auswertung für uns nicht möglich gewesen. Nach jedem Ortswechsel mussten die maximalen Rot- und Grünwerte ausgelesen und über eine Balkendiagramm aufgetragen werden. Somit ließen sich dann Grenzbereiche für die Farben festlegen. Diese variieren stark und sind oft sehr klein.


[[Datei:Farbbereiche.png|200px|thumb|left|Ermittelter Farbbereich für "Grün"]]
[[Datei:Farbbereiche.png|200px|thumb|left|Ermittelter Farbbereich für "Grün"<ref> Eigenes Dokument </ref>]]




In dieser Abbildung sind die gemessenen Maximalwerte des Rot- und Grünanteils. Der Bereich eine Farbe erstreckte sich vom eigenen Maximalwert zu dem welcher als nächstes zuvor lag.
In dieser Abbildung sind die gemessenen Maximalwerte des Rot- und Grünanteils. Der Bereich eine Farbe erstreckte sich vom eigenen Maximalwert zu dem welcher als nächstes zuvor lag.


== Ergebnis ==
== Ergebnis ==
Dank der recht einfachen Ansteuerung der Servomotoren gelang uns eine präzise Ausrichtung dieser. Sie ermöglichen eine sichere und genaue der Aufnahme und des Transportes des Testobjektes, so wie eine Direktionsvorgabe durch die von einem zweiten Servomotor angetriebene Rutsche.
Auch sehr ähnliche Farben wie z.B. Rot und Orange konnten dank der Bereichsermittlung separiert werden. Auch wenn sich anfangs Bereiche zum Teil durch schwankende Werte überlappten, ließ sich das Problem mit geringfügigen Bereichswertänderungen in den Griff bekommen.
Dank dieser Taktik, ließen sich Kalibrierung des Farbsensors an verschiedenen Standorten verhältnismäßig schnell durchführen.


== Zusammenfassung ==
== Zusammenfassung ==
Durch genaue Kalibrierung ließ sich das Projekt "Farbseparator" gut umsetzen. Das System nimmt farbige Dragées auf und sortiert diese erfolgreich nach Farbe.
 
=== Lessons Learned ===
=== Lessons Learned ===
Man sollte immer die Zeit abschätzen die man für die Umsetzung eines Projektes o.ä. benötigt. Davon sollte man dann die doppelte Menge in einen Zeitplan einberechnen.
Abgesehen davon haben wir die spannende Praxis von Microcontrollern und all ihrer weitläufigen Möglichkeiten miterleben können. Auf der Suche nach Problemlösungen hat haben wir Stück für Stück sehr viel Wissen über die Funktionsweise der Komponenten lernen und Anwenden können. Zuvor im Rahmen der Lehrveranstaltungen Elektrotechnik und Informatik erlangtes Fachwissen, hat hier seinen praktischen Nutzen zeigen können.


== Projektunterlagen ==
== Projektunterlagen ==
=== Projektplan ===
=== Projektplan ===
[[Datei:Projektplan Farbseparator.png|<ref> Eigenes Dokument </ref>]]
=== Projektdurchführung ===
=== Projektdurchführung ===
Dank des geteilten Haushaltes hielt die Pandemie uns nicht davon ab, vom Anfang bis zum Schluss zusammen zu arbeiten. Gemeinsame Recherchen, Abstimmungen so wie Arbeiten am Projekt halfen dabei, dieses Projekt genauso umzusetzen, wie wir uns es vorgestellt hatten. Kurze Kommunikationswege erleichterten diese Umsetzung.


== YouTube Video ==
== YouTube Video ==
https://hshl.sciebo.de/s/wBI4B2GP7B6byur


== Weblinks ==
== Weblinks ==

Aktuelle Version vom 13. März 2021, 17:13 Uhr

→ zurück zur Übersicht: WS 20/21: Fachpraktikum Elektrotechnik (MTR)

Werbeplakat des Farbseperators [1]



Autoren: Noah Greis, Richard Stanislawski

Betreuer: Prof. Dr. Göbel



Einleitung

Dieses Projekt ist Bestandteil des GET Fachpraktikums des Bachelorstudienganges Mechatronik im 5. Semester und wird hier genauer beschrieben. Der "Farbseperator" ist ein Nachbau des Arduino Color Sorter Project[2]. Er soll mit zwei Servomotoren und einem Farbsensor ausgestattet werden. Die Motoren werden von dem programmierten Arduino Mikrocontroller gesteuert und richten sich je nach erkannter Farbe aus. Dabei wird das zu sortierende Material in unterschiedliche Behälter separiert.

Anforderungen

Der "Farbseperator" soll im allgemeinen die folgenden Funktionen erfüllen.

  • separates Aufnehmen zur Farberkennung
  • eindeutige Farberkennung
  • präzise Verteilung in vorgesehene Behälter durch Sortierrutsche


Funktionaler Systementwurf/Technischer Systementwurf

Prozessablauf[3]

Hauptbestandteil des Prozesses ist der Arduino Uno, welcher durch Rückmeldungen des Sensors (Farbsensor), die Servomotoren ansteuert. Dabei ist die Ausrichtung von der Rückmeldung des Sensors abhängig.

CAD-Modell[4]











Dies ist ein fertiges CAD - Modell der Maschine.















Komponentenspezifikation

Komponente Beschreibung Bild
Arduino NANO Der Microcontroller NANO spielt in diesem Projekt die Hauptrolle. Er verarbeitet eingehende Signale des Farbsensors und steuert durch Pulsweitenmodulation die 2 Servomotoren an. Durch seine geringen Abmaße eignet sich diese Modell hervorragend für Projekte mit kleinem Bauraum.
Arduino NANO [5]
MicroServo SG90 Der Servomotor SG90 ist in der Lage auf den Grad° genau seine Position zu bestimmen. Dadurch lassen sich dynamische Funktionen des Farbseperator präzise steuern. Auch hier sind die kleinen Abmaße von großem Vorteil.
ServoMotor SG90 [6]
Farberkennungssensor TCS230/TCS3200 Der Farbsensor detektiert dank seiner 8x8 Fotodioden-Matrix farbiges Licht. Die aufgenommenen Daten werden durch einen Strom-Frequenz-Wandler in eine Frequenz umgewandelt welche dann der erkannten Lichtfrequenz entspricht. 4 helle Leuchtdioden erhellen gleichmäßig das auszulesene Objekt.[7]
Farbsensor TCS230/TCS3200 [8]

Umsetzung (HW/SW)

Schaltung des Farbseparators [9]



Arduino Pinout
Pin 6 Servomotor Oben
Pin 7 Servomotor Unten
Pin 8 Sensor S0
Pin 9 Sensor S1
Pin 10 Sensor S2
Pin11 Sensor OUT
Pin 12 Sensor S2
Vcc Servos & Sensor
Gnd Servos & Sensor













Funktion FarbeErkennen:

int FarbeErkennen() {

 int Gefunden = 0;
 while (Gefunden == 0){
   
 // Rot-Filter Diode aktivieren
 digitalWrite(SENSOR_S2, LOW); 
 digitalWrite(SENSOR_S3, LOW); 
 frequency = pulseIn(SENSOR_OUT, LOW); // Ausgabewert lesen
 int Rot = frequency;    //Ausgabewert in "Rot" speichern
 
 // Ausgabe des gespeicherten Rot Wertes
 Serial.print("R=");
 Serial.print(frequency);
 Serial.print("  ");
 delay(50);
 // Grün-Filter Diode aktivieren
 digitalWrite(SENSOR_S2, HIGH);
 digitalWrite(SENSOR_S3, HIGH);
 frequency = pulseIn(SENSOR_OUT, LOW);// Ausgabewert lesen
 int Gruen = frequency;   //Ausgabewert in "Gruen" speichern
 
 // Ausgabe des gespeicherten Grün Wertes
Serial.print("G=");
Serial.print(frequency);
Serial.print("  ");
delay(50);
 // Blau-Filter Diode aktivieren
 digitalWrite(SENSOR_S2, LOW);
 digitalWrite(SENSOR_S3, HIGH);
 frequency = pulseIn(SENSOR_OUT, LOW);// Ausgabewert lesen
 int Blau = frequency;   //Ausgabewert in "Blau" speichern
 
 // Ausgabe des gespeicherten Blau Wertes
Serial.print("B=");
Serial.print(frequency);
Serial.println("  ");
delay(50);


//Werte abgleich mit eingestellten Bereichen. Bereiche variieren stark abhängig vom äußeren Lichteinfall.

 if(Rot<68 & Rot>61 & Gruen>94 & Blau<84 & Blau>75){
   Farbe = 1; // Rot
   Gefunden = 1;
 }
 if(Rot<73 & Gruen<65 & Blau<75 & Blau>70){
   Farbe = 2; // Gelb
   Gefunden = 1;
 }
  if(Rot>68 & Gruen<96 & Gruen>89 & Blau>79 & Blau<84){
   Farbe = 3; // Braun
   Gefunden = 1;
 }
  if(Rot>64 & Rot <72 & Gruen>75 & Gruen<83 & Blau<62 & Blau>59){
   Farbe = 4; // Violett
   Gefunden = 1;
 }
 if(Rot<67 & Rot>61 & Gruen>70 & Gruen<78 & Blau<78 & Blau>58){
   Farbe = 5; // Grün
   Gefunden = 1;
 }
 if (Rot<63 & Rot>55 & Gruen<93 & Gruen>80 & Blau>76){
   Farbe = 6; // Orange
   Gefunden = 1;
 }
 if(Rot<65 & Rot>60 & Gruen>65 & Gruen<71 & Blau<55 & Blau >44 ){
   Farbe = 7; //Blau
   Gefunden = 1;
 }
  if (Rot<65 & Rot>59 & Gruen<87 & Gruen>80 & Blau <67 & Blau>60){
   Farbe = 8; // Rosa
   Gefunden = 1;
  }
 }
 return Farbe;

}

Komponententest

Servo Motor SG90

Die Positionen in Grad [°] sind bei dem SG90 bereits vorbestimmt. Somit reichte es aus , die Positionen von 0° und 180° zu bestimmen, um einerseits die Startposition und anderseits die Umdrehungsrichtung zu bestimmen.

Farbsensor TCS230/TCS3200

Das testen des Farbsensors ist recht einfach. Man ließt die Daten vom NANO aus und erhält die RG(B) Anteile zu der jeweils detektierten Farbe des bekannten Testobjektes. Der blaue Wert war zwar fehlerhaft, jedoch genügten die Rot- und Grünwerte aus. Für die Nutzung als Farbseperator reicht dies jedoch keinesfalls aus.

Da die Farben einerseits von ihren RG(B)- Anteilen sehr nahaneinander liegen und anderseits ihre Werte stark vom Umgebungslicht abhängen, ist eine generelle Auswertung für uns nicht möglich gewesen. Nach jedem Ortswechsel mussten die maximalen Rot- und Grünwerte ausgelesen und über eine Balkendiagramm aufgetragen werden. Somit ließen sich dann Grenzbereiche für die Farben festlegen. Diese variieren stark und sind oft sehr klein.

Ermittelter Farbbereich für "Grün"[10]


In dieser Abbildung sind die gemessenen Maximalwerte des Rot- und Grünanteils. Der Bereich eine Farbe erstreckte sich vom eigenen Maximalwert zu dem welcher als nächstes zuvor lag.





Ergebnis

Dank der recht einfachen Ansteuerung der Servomotoren gelang uns eine präzise Ausrichtung dieser. Sie ermöglichen eine sichere und genaue der Aufnahme und des Transportes des Testobjektes, so wie eine Direktionsvorgabe durch die von einem zweiten Servomotor angetriebene Rutsche.


Auch sehr ähnliche Farben wie z.B. Rot und Orange konnten dank der Bereichsermittlung separiert werden. Auch wenn sich anfangs Bereiche zum Teil durch schwankende Werte überlappten, ließ sich das Problem mit geringfügigen Bereichswertänderungen in den Griff bekommen.


Dank dieser Taktik, ließen sich Kalibrierung des Farbsensors an verschiedenen Standorten verhältnismäßig schnell durchführen.

Zusammenfassung

Durch genaue Kalibrierung ließ sich das Projekt "Farbseparator" gut umsetzen. Das System nimmt farbige Dragées auf und sortiert diese erfolgreich nach Farbe.

Lessons Learned

Man sollte immer die Zeit abschätzen die man für die Umsetzung eines Projektes o.ä. benötigt. Davon sollte man dann die doppelte Menge in einen Zeitplan einberechnen. Abgesehen davon haben wir die spannende Praxis von Microcontrollern und all ihrer weitläufigen Möglichkeiten miterleben können. Auf der Suche nach Problemlösungen hat haben wir Stück für Stück sehr viel Wissen über die Funktionsweise der Komponenten lernen und Anwenden können. Zuvor im Rahmen der Lehrveranstaltungen Elektrotechnik und Informatik erlangtes Fachwissen, hat hier seinen praktischen Nutzen zeigen können.

Projektunterlagen

Projektplan

[11]

Projektdurchführung

Dank des geteilten Haushaltes hielt die Pandemie uns nicht davon ab, vom Anfang bis zum Schluss zusammen zu arbeiten. Gemeinsame Recherchen, Abstimmungen so wie Arbeiten am Projekt halfen dabei, dieses Projekt genauso umzusetzen, wie wir uns es vorgestellt hatten. Kurze Kommunikationswege erleichterten diese Umsetzung.

YouTube Video

https://hshl.sciebo.de/s/wBI4B2GP7B6byur

Weblinks

Literatur


→ zurück zur Übersicht: WS 20/21: Fachpraktikum Elektrotechnik (MTR)

  1. Eigenes Dokument
  2. :Arduino Color Sorter Project, Dejan, abgerufen am 13.03.2021
  3. Eigenes Dokument
  4. :Arduino Color Sorter Project, Dejan, abgerufen am 13.03.2021
  5. :distrelec.de , abgerufen am 13.03.2021
  6. :basicpi.org, abgerufen am 13.03.2021
  7. :vgl. Farberkennung mit dem TCS230/TCS3200-Sensor, abgerufen am 13.03.2021
  8. :Farberkennungssensor TCS230/TCS3200, abgerufen am 13.03.2021
  9. Eigenes Dokument
  10. Eigenes Dokument
  11. Eigenes Dokument