raimarc
20.01.2005, 21:49
Hallo,
wir müssen dieses Jahr in der Schule eine "technische Übungsarbeit" durchführen. Wir haben uns die Aufgabe gestellt einen Roboter zu entwickeln, der einer vorgezeichneten schwarzen Linie (auf weißem Untergrund) autonom nachfahren kann.
In unserem Profilfach IT haben wir zwar schon einiges über die Technik und die Programmierung von Mikrocontrollern der 8051er-Familie in Assembler erfahren, aber eben alles nur in der Theorie. #-o
Bisher haben wir in unserem Projekt mangels Know-how eher nach der Trial-And-Error Methode gearbeitet: Bauteile bestellt, Platinen zusammengelötet, geschaut ob es funktioniert und meistens wieder von vorne angefangen...
Mittlerweile hat sich das Projekt etwas festgefahren. Doch nun der Reihe nach:
Aktueller Projektstand
Der Roboter besteht aktuell aus drei Platinen:
- Spannungsversorgungsplatine
- Controllerplatine
- Sensorplatine
- Motorplatine
Die Spannungsversorgungsplatine hat lediglich die Aufgabe, die Spannung des Akkupacks herunterzuregeln und auf die einzelnen Platinen zu verteilen.
Die Controllerplatine arbeitet mit dem ATMEL AT89S8252 aus der 8051er-Familie und verfügt über vier 8x2-Pfostenstecker für die Ein-/Ausgabeports.
Die Motorplatine bietet Anschluss für zwei Servomotoren. Wir haben uns für die Conrad 5€ Servos entschieden und haben diese modifiziert, so dass sie sich um 360° drehen können (genaue Beschreibung siehe Motoren). (Gibt es geeignetere Lösungen?)
Die Sensorplatine soll über fünf Optokoppler(CY70) die schwarze Linie erkennen und Signale an den Mikrocontroller weitergeben. Die Schwellenwerte der Sensoren bzw. letztendlich die Farbe welche die Sensoren erkennen sollen, werden einzeln über fünf Potis geregelt. Das analoge Signal der Sensoren wandelt ein Schmitt-Trigger (40106) in digitale Zustände. (Genauere Informationen siehe Anhang: Schaltpläne)
Probleme
Motoren
Wir verwenden die modifizierten Conrad 5€-Servos (Hersteller: Carson), bei denen der Hacken entfernt sowie die Kopplung von Zahnrad und Poti gelöst wurde. Das Poti dreht also nicht mehr mit und bleibt in seiner Mittelstellung stehen.
Alle zwei Motoren sind uns bereits während der Testphase schon nach wenigen Minuten Betrieb kaputt gegangen. Möglicherweise weil die Dauer des Testimpulses zu lang war (?). Alle anderen Werte wurden nach Spezifikation eingehalten.
Wir haben jetzt ein neues Programm geschrieben, hatten aber noch nicht die Möglichkeit es zu testen.
Sensoren
Die Sensoren unterscheiden keine Farben, bzw. melden nicht bei schwarzer Farbe. Ein reflektierender Gegenstand ist bereits ausreichend damit am Ausgang des Schmitt-Triggers ein Highpegel messbar ist (?).
Der Mikrocontroller registriert diesen Highpegel allerdings noch nicht einmal als solchen. Vermutlich weil der Schwellenwert für den Highpegel nicht erreicht wird (?). Unser Fachlehrer hat uns empfohlen einen anderen Schmitt-Trigger zu verwenden (IC SN7414 N), also ein Umstieg von der CMOS-Serie auf die TTL-Serie (bringt das was?).
Wir sind natürlich dankbar für jeden Vorschlag zur Problemlösung und für jede Anregung zu unserem Projekt. :wink:
Über den weiteren Projektfortschritt halten wir euch weiter auf dem laufenden. Wir hoffen, dass wir mit eurer Unterstützung bis März diesen Jahres unser abgeschlossenes Projekt hier posten können.
Gruß
raimarc
wir müssen dieses Jahr in der Schule eine "technische Übungsarbeit" durchführen. Wir haben uns die Aufgabe gestellt einen Roboter zu entwickeln, der einer vorgezeichneten schwarzen Linie (auf weißem Untergrund) autonom nachfahren kann.
In unserem Profilfach IT haben wir zwar schon einiges über die Technik und die Programmierung von Mikrocontrollern der 8051er-Familie in Assembler erfahren, aber eben alles nur in der Theorie. #-o
Bisher haben wir in unserem Projekt mangels Know-how eher nach der Trial-And-Error Methode gearbeitet: Bauteile bestellt, Platinen zusammengelötet, geschaut ob es funktioniert und meistens wieder von vorne angefangen...
Mittlerweile hat sich das Projekt etwas festgefahren. Doch nun der Reihe nach:
Aktueller Projektstand
Der Roboter besteht aktuell aus drei Platinen:
- Spannungsversorgungsplatine
- Controllerplatine
- Sensorplatine
- Motorplatine
Die Spannungsversorgungsplatine hat lediglich die Aufgabe, die Spannung des Akkupacks herunterzuregeln und auf die einzelnen Platinen zu verteilen.
Die Controllerplatine arbeitet mit dem ATMEL AT89S8252 aus der 8051er-Familie und verfügt über vier 8x2-Pfostenstecker für die Ein-/Ausgabeports.
Die Motorplatine bietet Anschluss für zwei Servomotoren. Wir haben uns für die Conrad 5€ Servos entschieden und haben diese modifiziert, so dass sie sich um 360° drehen können (genaue Beschreibung siehe Motoren). (Gibt es geeignetere Lösungen?)
Die Sensorplatine soll über fünf Optokoppler(CY70) die schwarze Linie erkennen und Signale an den Mikrocontroller weitergeben. Die Schwellenwerte der Sensoren bzw. letztendlich die Farbe welche die Sensoren erkennen sollen, werden einzeln über fünf Potis geregelt. Das analoge Signal der Sensoren wandelt ein Schmitt-Trigger (40106) in digitale Zustände. (Genauere Informationen siehe Anhang: Schaltpläne)
Probleme
Motoren
Wir verwenden die modifizierten Conrad 5€-Servos (Hersteller: Carson), bei denen der Hacken entfernt sowie die Kopplung von Zahnrad und Poti gelöst wurde. Das Poti dreht also nicht mehr mit und bleibt in seiner Mittelstellung stehen.
Alle zwei Motoren sind uns bereits während der Testphase schon nach wenigen Minuten Betrieb kaputt gegangen. Möglicherweise weil die Dauer des Testimpulses zu lang war (?). Alle anderen Werte wurden nach Spezifikation eingehalten.
Wir haben jetzt ein neues Programm geschrieben, hatten aber noch nicht die Möglichkeit es zu testen.
Sensoren
Die Sensoren unterscheiden keine Farben, bzw. melden nicht bei schwarzer Farbe. Ein reflektierender Gegenstand ist bereits ausreichend damit am Ausgang des Schmitt-Triggers ein Highpegel messbar ist (?).
Der Mikrocontroller registriert diesen Highpegel allerdings noch nicht einmal als solchen. Vermutlich weil der Schwellenwert für den Highpegel nicht erreicht wird (?). Unser Fachlehrer hat uns empfohlen einen anderen Schmitt-Trigger zu verwenden (IC SN7414 N), also ein Umstieg von der CMOS-Serie auf die TTL-Serie (bringt das was?).
Wir sind natürlich dankbar für jeden Vorschlag zur Problemlösung und für jede Anregung zu unserem Projekt. :wink:
Über den weiteren Projektfortschritt halten wir euch weiter auf dem laufenden. Wir hoffen, dass wir mit eurer Unterstützung bis März diesen Jahres unser abgeschlossenes Projekt hier posten können.
Gruß
raimarc