Zum Inhalt springen

WSAL12223 – Tracker Sensor

Aus JW Tech Wiki

Dokumentationshinweis: Diese technische Dokumentation wurde aus einer archivierten Lieferantenquelle neu formuliert. Technische Angaben und Befehle müssen vor der Verwendung mit der Produktversion und den Herstellerunterlagen abgeglichen werden.

Zusammenfassung

Technische Übersicht des Waveshare Tracker Sensors (WSAL12223) für die Infrarot-Linienverfolgung: Spezifikationen, Funktionsprinzip mit Normalisierung, gewichteter Mittelung und PID-Regelung sowie Beispielanbindung an STM32- und Arduino-Boards.

Zugeordnete Produkte bei JW Tech

Technische Übersicht

  • Betriebsspannung: 3,3 V bis 5 V; Abmessungen 78 mm × 18 mm; Sensorabstand 16 mm; Befestigungslochdurchmesser 3 mm; Erfassungsabstand ca. 1 cm bis 5 cm.
  • Fünf analoge Ausgänge liefern Werte, die von Abstand und Reflexionsfarbe abhängen: helle (weiße) Flächen erzeugen höhere Werte, dunkle Linien niedrigere.
  • Normalisierung wandelt die Rohwerte in den Bereich 0–1000 um: y = (x − Min) × 1000 / (Max − Min), wobei 1000 = weit entfernt, 0 = direkt über der Linie.
  • Min und Max werden durch wiederholtes Abtasten bestimmt; während der Kalibrierung sollte das Fahrzeug entlang der schwarzen Linie hin- und herschwingen.
  • Gewichtete Mittelung berechnet die Linienposition im Bereich 0–4000: y = (0·v0 + 1000·v1 + 2000·v2 + 3000·v3 + 4000·v4) / (v0+v1+v2+v3+v4).
  • 2000 entspricht der Mitte des Moduls; 0 links außen, 4000 rechts außen.
  • Für präzise Erkennung sollte die Breite der schwarzen Linie ≤ 16 mm betragen und das Modul so montiert sein, dass zwei benachbarte Sensoren die mittlere Linie erfassen können.
  • PID-Regelung hält die Position bei 2000: proportional = position − 2000; derivative = proportional − last_proportional; integral += proportional; power_error = Kp·proportional + Ki·integral + Kd·derivative.
  • Beispielcode für AlphaBot nutzt PD statt PID (ohne Integral); Parameter Kp, Ki, Kd sind individuell einstellbar.
  • Anbindung an XNUCLEO-F103RB: IR1–IR5 an A0–A4, GND an GND, VCC an 3,3 V. Anbindung an Arduino UNO PLUS: IR1–IR5 an A0–A4, GND an GND, VCC an 5 V.

Befehle und Beispiele – vor Ausführung prüfen: 

y = (x - Min) * 1000 / (Max - Min)
y = (0 * value0 + 1000 * value1 + 2000 * value2 + 3000 * value3 + 4000 * value4) / (value0 + value1 + value2 + value3 + value4)
proportional = position - 2000;
derivative = proportional - last_proportional;
integral += proportional;
last_proportional = proportional;
power_error = proportional * Kp + integral * Ki + derivative * Kd;

Hinweise und Versionsgrenzen

  • Die Quellquelle enthält Platzhalter wie {{{name2}}} und {{{userDefinedInfo}}}, was auf unvollständige Vorlagen oder Template-Fehler hindeutet; diese Stellen sollten vor Veröffentlichung überprüft werden.
  • Die Kalibrierung erfordert, dass das Fahrzeug während der Messung entlang der Linie läuft; statische Tests liefern möglicherweise ungenauere Min/Max-Werte.
  • Der Demo-Code verwendet PD statt vollständiger PID-Regelung; ob ein Integralanteil benötigt wird, hängt von der gewünschten Dynamik ab und muss je nach Anwendung angepasst werden.
  • Die exakte Pinbelegung kann je nach Board-Version variieren; die genannten Verbindungen gelten für die genannten Boards (XNUCLEO-F103RB und UNO PLUS).

Quelle und Revisionsnachweis

  • Tracker Sensor - Waveshare Wiki
  • Quellrevision: 75845
  • Erfasst: 2026-08-30T03:19:10+00:00
  • SHA-256: c5fb05d52204778f30a86d1c26d437ab6a2593b2b5cddfce65f2d5f902de774d