- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Sensoren gesteuertes Roboterauto

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2005
    Beiträge
    7

    Sensoren gesteuertes Roboterauto

    Anzeige

    Praxistest und DIY Projekte
    Wir haben ein Schulprojekt deren Aufgabe unten steht. Leider kommen wir bei der Programmierung nicht richtig weiter und würden uns über jeden Tipp zu der Programmierung oder sonstigen bzw. über ein fertiges Programm freuen!

    Danke im vorraus!

    Projektziel:
    Es soll ein Fahrzeug gebaut werden, das es schafft, eigenständig an einer Fahrbahnmarkierung entlang zu fahren. (Die gesamte rechte Fahrbahnhälfte ist weiß und die gesamte linke Fahrbahnhälfte ist schwarz.) Das Fahrzeug soll so steuern, dass es die Trennlinie nie ganz verliert und auch in Kurven der Fahrbahn autonom folgt.

    Das Fahrzeug:
    Das Chassis wird mit zwei Gleichstromgetriebemotoren angetrieben die über ein C-Conrol-System angesteuert werden. Eine elektronische Schaltung realisiert die Aufbereitung der Signale der optischen Sensorik für das C-Control-System und die Ansteuerung der Motoren. Das C-Control-System regelt und steuert das gesamte Fahrzeug. Des weiteren trägt das Chassis noch eine Energieversorgung (Akku), damit ein autonomer Betrieb möglich ist.

    Die Projektaufgaben:
    Entwickeln und bauen Sie ein Steuermodul, welches das Fahrzeug so steuert, dass es autonom (ohne Beeinflussung und Energiezufuhr von außen) die oben gezeigte Bahn in der dargestellten Richtung umfahren kann. Ein einfacher mechanischer Aufbau (Chassis mit zwei über Gleichstromgetriebemotoren angetriebenen Rädern) wird zur Verfügung gestellt. Das Fahrzeug kann über die Drehzahl der Räder gefahren und gelenkt werden.

    Zum Erreichen des Projektziels sind folgende Teilaufgaben zu lösen und nachzuweisen:
    · Fertigen sie mit ihrer Arbeitsgruppe einen Zeitplan an, in dem sie ihre Arbeitsaufgaben, -abläufe und Verantwortlichkeiten fixieren. (denken sie auch daran, entsprechende Reserven einzuplanen, legen sie feste Zeiten für Meetings fest, .....
    · Entwickeln sie ein geeignetes Konzept zur Steuerung des Roboterfahrzeugs. Möglichkeiten der Anordnung der Sensoren. Festlegung der Parameter für die Ansteuerung der Motoren. Reaktion auf Veränderungen der Sensorwerte. (Die Konzeptidee ist zu dokumentieren und mit ihren Vor- und Nachteilen schriftlich zu diskutieren.) Änderungen in der Konzeption sind entsprechend zu dokumentieren.
    · Die Signalanpassung ist so zu dimensionieren, dass für den C-Controler eine optimale Aussteuerung erreicht wird. Hierfür ist es erforderlich, das Verhalten des Sensors zu untersuchen. (Die Untersuchungsergebnisse sind zu dokumentieren.)
    · Die Funktionsweise der Schaltung muss vollständig verstanden sein. In einem Fachgespräch müssen Fragen zu Teilaspekten der Schaltung präzise beantwortet werden.
    · Die elektronische Schaltung ist aufzubauen und die einzelnen Module (Sensor, Motor, C-Control …) sind richtig anzuschließen. Bei der Umsetzung ist auf saubere mechanische und elektrische Ausführung zu achten
    · Zur Steuerung des Roboters muss ein Programm geschrieben werden, welches das/die Eingangssignal/e in geeigneter Form auswertet/n und die Motoren entsprechend der gewünschten Anforderungen über pulsweitenmodulierte Signale (PWM) ansteuert (s.o.). Bei der Auswertung des Sensorsignals ist zu beachten, dass einer Lösung Vorrang gegeben wird, die unterschiedliche Helligkeiten auswertet (Proportionalregler). Eine Lösung, die lediglich zwei Werte unterscheidet (Zwei-Punkt-Regelung) führt zu Abzügen in der Bewertung. In einem Fachgespräch ist das Programm anhand eines Ablaufplans zu erklären.
    · Schließlich muss das Fahrzeug selbständig und in möglichst kurzer Zeit die beschriebene Strecke abfahren. Die gemessenen Zeiten werden mit in die Beurteilung einfließen.
    · Zu dem Fahrzeug, dem Programm und den ausgeführten Arbeiten ist eine vollständige Dokumentation anzufertigen. Die Dokumentation enthält folgende Teile:
    o Deckblatt mit: Datum, Projekttitel, Namen und Gruppenname, Fahrzeugnummer, Schule
    o Schaltplan mit den Angaben der Bauteildimensionen
    o Funktion der verwendeten Baugruppen und Bauteile, Funktionsweise der Schaltung
    (mit den entsprechenden wesentlichen Auszügen aus den Datenblättern – keine kompletten Datenblätter) hier sollen vor allem Bezüge hergestellt werden
    o Programm
    (Funktionsbeschreibung, Ablaufplan und Programmlisting)
    o Angabe für die Zuordnung der Verantwortlichkeiten (wer hat was gemacht)
    o Selbstbeurteilung des Ereichten, Fazit
    o vollständige Angabe der verwendeten Quellen nach DIN1505

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Buxtehude
    Beiträge
    70
    Hallo,
    wenn ich das richtig sehe, geht es im Wesentlichen darum, euer Projekt richtig zu planen und durchzuführen. Dabei kann hier niemand helfen.
    Die Aufgabe an sich ist wirklich so einfach, dass sie jeder Schüler durchführen kann. Ich hab das bereits mit Grundschülern gemacht.
    Gruß
    Weja

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2005
    Beiträge
    7
    Die Planung ist nicht unser problem sondern eher die Programmierung..
    sprich wir wissen nicht so genau wie wir die Daten des Sensors auswerten können und die motoren ansprechen können...

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.11.2003
    Ort
    Leipzig
    Alter
    37
    Beiträge
    578
    Also mal was zur Theorie zum verfolgen einer Linie:
    LINK
    Den Linienfolgesensor müsst/könnt/solltet ihr genauso bauen.
    Nur die Wertetabelle müsstet ihr neu machen, da ihr ja wollt, dass ein Sensor Hell und einer Dunkel sieht.
    Wenn ihr Hilfe braucht (Wertetabelle, Programm) meldet euch nochmal.


    MfG ACU
    http://www.roboterbastler.de
    endlich wieder online

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2005
    Beiträge
    7
    @ACU: Der link hat uns shconmal weitergeholfen big thx!
    jetzt steht alles soweit physikalisch.
    doch nun stehen wir vor einem neuen problem:
    wie werten wir die werte der photowirderstände aus (per ad wandler)
    und wie sprechen wir die motoren an (da wandler)

    wär nett wenn du uns da nochmal helfen könntest

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Hallo bkr-Gr.7!

    Definier die erstmal deine Ports für die analogen Signale (normal 0-5V für 0-255)

    Define Sensor1 As AD[1]
    Define Sensor2 As AD[2]

    Dann eben eiene Ansteuerung der Motoren. Da gibts viele Möglichkeiten. Entweder mit Prort und 1 und 0 für an und aus oder mit PWM für eine Drehzahlsteuerung. Zweiteres ist wenn du mit dem ersteren schon Probleme hast eher was wovon man vorerst mal die Finger lassen sollte. Mit 1 und 0 gehts so:

    Define MotorVor As Port[1]
    Define MotorZur As Port[2]

    Dann gehts eben darum das Ganze noch zu programmieren. Das setzen der Ausgänge vor und Zurück geht auch einfach:

    MotorVor = Off
    MotorZur = On

    oder

    MotorZur = Off
    MotorVor = On

    Den Rest muß man eben nach Bedarf programmieren. Aber das nähere steht im Handbuch der C-Control zu den Befehlen und Funktionen. Einfach mal komplett lesen.

    Grüße Wolfgang

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2005
    Beiträge
    7
    hey BlueNature!
    ja des hab ich auch schon so auch mit den d/a ausgängen ^^
    nur ich bin net soo gut in ccbasic und hab grad das problem mit der
    if abfrage wo ich eigendlich ein bereich definieren möchte...
    aber anscheinend erkennt er die AND verknüpfung nicht...
    kann ich das auch irgendwie andres machen?

    define ad_wandler ad[1]
    define da_wandler1 da[1]
    define da_wandler2 da[2]
    define hell word[1]
    define mittel word[2]
    define dunkel word[3]


    Looktab Tabelle,1,hell
    Looktab Tabelle,2,mittel
    Looktab Tabelle,3,dunkel

    #mainloop
    da_wandler1 = 6
    da_wandler2 = 6

    if ad_wandler > mittel AND if ad_wandler <= dunkel then goto dunkel
    else goto hell
    end if

    #hell
    da_wandler1 = 3
    da_wandler2 = 6
    goto mainloop

    #dunkel
    da_wandler1 = 6
    da_wandler2 = 3

    goto mainloop


    table Tabelle
    'hier kommen die werte des sensors rein
    tabend

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Versuchs mal ihne doppelte If.

    if ad_wandler > mittel AND ad_wandler <= dunkel then goto dunkel

    Grüße Wolfgang

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2005
    Beiträge
    7
    @BlueNature jop jetz läufts
    thx

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2005
    Beiträge
    7
    Hi nochmal
    möcht nur nochmal wissen was ihr nun von dem programm haltet...
    im Simulator läufts soweit, konnte es nur noch nicht testen da noch ein paar bauteile fehlen(potis) die noch geliefert werden müssen.

    vielleicht findet der ein oder andere noch einen logischen fehler

    hier nun der code (L1-6: linker motor ansteuern, R1-6 rechter motor):

    define vorwaerts1 port[1]
    define vorwaerts2 port[3]
    define ad_wandler ad[4]
    define da_wandler1 da[1]
    define da_wandler2 da[2]


    vorwaerts1 = on
    vorwaerts2 = on


    #mainloop

    if ad_wandler >= 0 and ad_wandler <= 19 then gosub L6
    if ad_wandler >= 20 and ad_wandler <= 38 then gosub L5
    if ad_wandler >= 39 and ad_wandler <= 57 then gosub L4
    if ad_wandler >= 58 and ad_wandler <= 76 then gosub L3
    if ad_wandler >= 77 and ad_wandler <= 95 then gosub L2
    if ad_wandler >= 96 and ad_wandler <= 114 then gosub L1
    if ad_wandler >= 115 and ad_wandler <= 133 then gosub mitte
    if ad_wandler >= 134 and ad_wandler <= 152 then gosub R1
    if ad_wandler >= 153 and ad_wandler <= 171 then gosub R2
    if ad_wandler >= 172 and ad_wandler <= 190 then gosub R3
    if ad_wandler >= 191 and ad_wandler <= 209 then gosub R4
    if ad_wandler >= 210 and ad_wandler <= 228 then gosub R5
    if ad_wandler >= 229 and ad_wandler <= 255 then gosub R6

    goto mainloop

    #L1
    da_wandler1 = 160
    da_wandler2 = 255
    return

    #L2
    da_wandler1 = 128
    da_wandler2 = 255
    return

    #L3
    da_wandler1 = 96
    da_wandler2 = 255
    return

    #L4
    da_wandler1 = 64
    da_wandler2 = 255
    return

    #L5
    da_wandler1 = 32
    da_wandler2 = 255
    return

    #L6
    da_wandler1 = 1
    da_wandler2 = 255
    return

    #mitte
    da_wandler1 = 192
    da_wandler2 = 192
    return

    #R1
    da_wandler1 = 255
    da_wandler2 = 160
    return

    #R2
    da_wandler1 = 255
    da_wandler2 = 128
    return

    #R3
    da_wandler1 = 255
    da_wandler2 = 96
    return

    #R4
    da_wandler1 = 255
    da_wandler2 = 64
    return

    #R5
    da_wandler1 = 255
    da_wandler2 = 32
    return

    #R6
    da_wandler1 = 255
    da_wandler2 = 1
    return

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen