Iguan
05.03.2010, 12:09
Hallo allerseits
Ich möchte gerne im Rahmen einer Arbeit einen Linienfolger/Kantenfolger bauen, ganz ohne Mikrokontroller. Der Roboter soll einer schwarzen linie auf hellem untergrund so präzise und schnell wie möglich folgen.
Am besten mit einem Regelkreis mit Rückkopplung. Die Speisung sollte 6 oder 9V sein.
Dazu habe ich mir schon viele Gedanken gemacht und mehrere Lösungskonzepte ausgedacht.
Als motoren möchte ich zwei "Continous Servos" von Parallax verwenden. Die sind recht einfach in der Handhabung (PWM):
1ms Pulsbreite -> Der Motor dreht schnell im Gegenuhrzeigersinn
1.2ms Pulsbreite -> Der Motor dreht langsam im Gegenuhrzeigersinn
1.5ms Pulsbreite -> Der Motor stoppt
1.7ms Pulsbreite -> Der Motor dreht sich langsam im Uhrzeigersinn
2ms Pulsbreite -> Der Motor dreht sich schnell im Uhrzeigersinn
natürlich kann man beliebige Pulsbreiten verwenden und der Motor dreht sich dann entsprechend schnell in die entprechende Richtung.
der "Nullpunkt" bei 1.5ms lässt sich bequem mit dem im Motor eingebauten Poti verstellen.
Ich möchte gerne je nach intensität des Lichtes, das vom Boden zurückreflektiert wird, ein entsprechendes PWM signal erzeugen.
Dazu bräuchte ich eine Schaltung die je nach Lichteinfall 0-5V am ausgang (Opamp-Schaltung) erzeugt und die wiederum könnte ich an eine PWM(NE555) Schaltung führen.
Je zwei mal, Linker Sensor für rechten Motor und rechter Sensor für linken Motor.
Als Sensoren habe ich mir diese gekauft: http://www.datasheetcatalog.org/datasheet/Sharp/mXrwqwq.pdf
Hauptproblem:
*************
Das Hauptproblem liegt wohl darin, dass diese IR-Reflexkoppler als Digitale Schalter gedacht sind und nicht für die analoge Auswertung.
--> Frage 1: Oder geht das doch irgendwie, diese steile Ausgangskurve des Sensors in eine geradlinigere Kurve zu verwandeln?
--> Frage 2: Vielleicht könnt ihr mir einen geeigneteren Sensor empfehlen? (Ich habe schon an Fotowiderstände (LDR) gedacht, denke aber das diese vom Umgebungslicht zu stark beeinflusst werden)
Lösungskonzept 1
****************
Die Billigste und warscheinlich auch schlechteste Lösung:
Zwei IR-Reflexkoppeler sind beide über der schwarzen Linie angebracht. Wenn z.B der linke Sensor die Linie verlässt, stoppt der rechte Motor und umgekehrt
Wenn keine der beiden Sensoren die Linie findet stoppen beide Motoren.
Ich denke aber dass diese Lösung nicht zu gebrauchen ist, da der roboter dann ziemlich ins ruckeln kommt.
Lösungskonzept 2
****************
Mehrere Sensoren auf einer Leiste montieren (die "1" und "0" sprich Linie oder keine Linie erkennen). Je nachdem wie weit aussen auf der Leiste sich die Linie befindet umso schneller läuft der entsprechende Motor.
Mit mehreren fest vorgegebenen Geschwindigkeiten.
(Auch nicht wirklich geeignet, da der Roboter dadurch ins schwanken kommen könnte, bis er die Linie verliert)
Lösungskonzept 3
****************
Zwei Sensoren über der Linie montieren. (die "1" und "0" sprich Linie oder keine Linie erkennen).
Wenn der eine Sensor die Linie verliert erzeugt ein Integrator eine immer Höhere spannung am Ausgang, je länger dieser die Linie verloren hat. Diese Spannung wird dann einer PWM schaltung zugeführt.
Lösungskonzept 4 (Bevorzugtes Konzept, habe aber keine Ahnung wie ich das anstellen soll)
****************
Zwei Sensoren über der Linie montiert. Je nach dem wie Weit sich der Sensor über der Kante von Linie/Keine_Linie befindet wird ein entrpechendes signal von 0-5V erzeugt. Diese Spannung wird dann einer PWM schaltung zugeführt.
Mit einer Rückkopplung wird sich dann der Roboter hoffentlich einpendeln (PID Regler oder so)
-->Frage 3: Könnt ihr mir vielleicht Tips und Links mit Schaltplänen o.Ä geben?
-->Frage 4: Was meint ihr im allgemeinen dazu? (bin dankbar über jede Anregung und jeden Hinweis)
-->Frage 5: Kennt ihr eine Lösung für mein Hauptproblem?
Vielen Dank schon im Voraus!!!!
mfg
Iguan
Ich möchte gerne im Rahmen einer Arbeit einen Linienfolger/Kantenfolger bauen, ganz ohne Mikrokontroller. Der Roboter soll einer schwarzen linie auf hellem untergrund so präzise und schnell wie möglich folgen.
Am besten mit einem Regelkreis mit Rückkopplung. Die Speisung sollte 6 oder 9V sein.
Dazu habe ich mir schon viele Gedanken gemacht und mehrere Lösungskonzepte ausgedacht.
Als motoren möchte ich zwei "Continous Servos" von Parallax verwenden. Die sind recht einfach in der Handhabung (PWM):
1ms Pulsbreite -> Der Motor dreht schnell im Gegenuhrzeigersinn
1.2ms Pulsbreite -> Der Motor dreht langsam im Gegenuhrzeigersinn
1.5ms Pulsbreite -> Der Motor stoppt
1.7ms Pulsbreite -> Der Motor dreht sich langsam im Uhrzeigersinn
2ms Pulsbreite -> Der Motor dreht sich schnell im Uhrzeigersinn
natürlich kann man beliebige Pulsbreiten verwenden und der Motor dreht sich dann entsprechend schnell in die entprechende Richtung.
der "Nullpunkt" bei 1.5ms lässt sich bequem mit dem im Motor eingebauten Poti verstellen.
Ich möchte gerne je nach intensität des Lichtes, das vom Boden zurückreflektiert wird, ein entsprechendes PWM signal erzeugen.
Dazu bräuchte ich eine Schaltung die je nach Lichteinfall 0-5V am ausgang (Opamp-Schaltung) erzeugt und die wiederum könnte ich an eine PWM(NE555) Schaltung führen.
Je zwei mal, Linker Sensor für rechten Motor und rechter Sensor für linken Motor.
Als Sensoren habe ich mir diese gekauft: http://www.datasheetcatalog.org/datasheet/Sharp/mXrwqwq.pdf
Hauptproblem:
*************
Das Hauptproblem liegt wohl darin, dass diese IR-Reflexkoppler als Digitale Schalter gedacht sind und nicht für die analoge Auswertung.
--> Frage 1: Oder geht das doch irgendwie, diese steile Ausgangskurve des Sensors in eine geradlinigere Kurve zu verwandeln?
--> Frage 2: Vielleicht könnt ihr mir einen geeigneteren Sensor empfehlen? (Ich habe schon an Fotowiderstände (LDR) gedacht, denke aber das diese vom Umgebungslicht zu stark beeinflusst werden)
Lösungskonzept 1
****************
Die Billigste und warscheinlich auch schlechteste Lösung:
Zwei IR-Reflexkoppeler sind beide über der schwarzen Linie angebracht. Wenn z.B der linke Sensor die Linie verlässt, stoppt der rechte Motor und umgekehrt
Wenn keine der beiden Sensoren die Linie findet stoppen beide Motoren.
Ich denke aber dass diese Lösung nicht zu gebrauchen ist, da der roboter dann ziemlich ins ruckeln kommt.
Lösungskonzept 2
****************
Mehrere Sensoren auf einer Leiste montieren (die "1" und "0" sprich Linie oder keine Linie erkennen). Je nachdem wie weit aussen auf der Leiste sich die Linie befindet umso schneller läuft der entsprechende Motor.
Mit mehreren fest vorgegebenen Geschwindigkeiten.
(Auch nicht wirklich geeignet, da der Roboter dadurch ins schwanken kommen könnte, bis er die Linie verliert)
Lösungskonzept 3
****************
Zwei Sensoren über der Linie montieren. (die "1" und "0" sprich Linie oder keine Linie erkennen).
Wenn der eine Sensor die Linie verliert erzeugt ein Integrator eine immer Höhere spannung am Ausgang, je länger dieser die Linie verloren hat. Diese Spannung wird dann einer PWM schaltung zugeführt.
Lösungskonzept 4 (Bevorzugtes Konzept, habe aber keine Ahnung wie ich das anstellen soll)
****************
Zwei Sensoren über der Linie montiert. Je nach dem wie Weit sich der Sensor über der Kante von Linie/Keine_Linie befindet wird ein entrpechendes signal von 0-5V erzeugt. Diese Spannung wird dann einer PWM schaltung zugeführt.
Mit einer Rückkopplung wird sich dann der Roboter hoffentlich einpendeln (PID Regler oder so)
-->Frage 3: Könnt ihr mir vielleicht Tips und Links mit Schaltplänen o.Ä geben?
-->Frage 4: Was meint ihr im allgemeinen dazu? (bin dankbar über jede Anregung und jeden Hinweis)
-->Frage 5: Kennt ihr eine Lösung für mein Hauptproblem?
Vielen Dank schon im Voraus!!!!
mfg
Iguan