Hinweise für die mündliche Prüfung
Erklärungen anhand von grafischen Darstellungen
Wozu dienen Reflexionssensoren und wo werden diese eingesetzt?
Reflexionssensoren kommen zur Anwendung um Farbmuster, Graustufen oder Schwarz-Weiß-Muster auf Oberflächen zu erkennen und zu analysieren. Das bekannteste Beispiel sind Strichcodes. In der Robotik werden diese vielfach verwendet damit Roboter autonom vorgegebenen Pfaden folgen und auf Markierungen reagieren, die am Boden vorgegeben sind.
Erkläre das Prinzip eines Reflexionssensors!
Reflexionssensoren bestehen grundsätzlich aus einer Lichtquelle und einem photoelektrischen Bauteil, der die Intensität von einfallendem Licht messen kann.
Das von einer LED ausgesandte Licht wird von einer Oberfläche je nach Beschaffenheit unterschiedlich stark reflektiert. Das reflektierte Licht trifft dann auf einen Fototransistor. In Abhängigkeit von der Intensität der einfallenden Lichts fließt mehr oder weniger Strom durch den Fototransistor.
Wie kann ein einfacher Reflexionssensor mit wenigen Bauteilen aufgebaut werden? Erkläre die Schaltung!
Ziel ist es, an einem analogen Eingang eines Mikrocontrollers unterschiedliche Spannungen zu messen, welche für die Intensität des am Fototransistor einfallenden Lichts stehen.
Eine LED wird über einen Vorwiderstand mit der Versorgungsspannung der Schaltung betrieben.
Weiter wird ein veränderbarer Widerstand zwischen den positiven Pol der Spannungsversorgung und den analogen Eingangspin IO eines Mikrocontrollers geschaltet. Damit lassen sich die Empfindlichkeit des Reflexionssensors und damit eine Anpassung an die Umgebungssituationen sehr leicht einstellen.
Der Fototransistor wird mit dem Emitter an den IO Pin und mit dem Kollektor mit GND verbunden. Die Basis des Transistors bildet die fotoelektrische Schicht, die den Stromfluss zwischen Kollektor und Emitter in Abhängigkeit von der Intensität des einfallenden Lichts steuert.
Wie werden die analogen Spannungswerte in einem Mikrocontroller ausgewertet?
Analoge Eingangspins eines Mikrocontrollers sind intern an einen ADC (Analog Digital Converter) angeschlossen. Dieser kann analoge Spannungswerte messen und diese dann digitalen Werten zuordnen. Hat ein ADC zum Beispiel eine Auflösung von 10bit, so können die an einem analogen Eingang gemessenen Spannungswerte 1024 unterschiedlichen diskreten Zahlen zugeordnet werden. 0V würde der Zahl 0 und 5V würde der Zahl 1023 entsprechen.
Erkläre anhand eines Programmcodes das Folgen einer schwarzen Linie!
Im diesem Beispiel werden ausgehend von einem Schwellenwert (die Intensität des reflektieren Lichts, wenn sich der Sensor genau mittig auf der Grenze zwischen schwarz und weiß befindet) die Geschwindigkeiten der Motoren so festgelegt, dass der Roboter entweder eine Links- oder eine Rechtskurve fährt.
#include "KeplerOpenBOT.h"
uint16_t LichtWert;
void setup()
{
KeplerOpenBOT_INIT();
WRITE_LCD_TEXT(1, 1, "Intensitaet:");
}
void loop()
{
LichtWert = READ_IO_ANALOG(IO1);
WRITE_LCD_INT(12, 1, LichtWert, 4);
if(LichtWert<500)
{
WRITE_MOTOR(ML, 40);
WRITE_MOTOR(MR, 20);
}
else
{
WRITE_MOTOR(ML, 20);
WRITE_MOTOR(MR, 40);
}
}