PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erster richtiger Roboter



Dakrat
13.08.2009, 17:22
Hallo!

Also, wie man an meinem Anmeldedatum erkennen kann, habe ich bereits vor einiger Zeit angefangen mich mit Robotern zu beschäftigen.
Damals habe ich mir den Asuro gekauft, welcher nach kleinen Anfangsschwierigkeiten auch tadellos funktionierte... bis er abgeraucht ist..^^

Mittlerweile besitze ich auch sehr viel mehr "Vorwissen" als früher.

* ich kenne mich mit den Funktion der "normalen" Bauteile aus (Diode, Kondensator, Widerstand, Transistor,...)
* ich kann mehr oder weniger gut C programmieren
* ich kenne mich mit Eagle aus
* ich habe schon mal ein Controllerboard programmiert (in C mit Keil und auch mit LabView)
* ich kenne die Funktionsweise vieler Sensortypen
... mehr fällt mir spontan auch nicht mehr ein^^

Naja da die Matura(=Abitur) näher rückt und ich vorhabe einen Roboter im Rahmen meines Maturaprojekts zu bauen, will ich jetzt überprüfen, ob es sich dabei überhaupt um ein geeignetes Projek handelt. Sollte ich nämlich feststellen, dass es mein Wissen und meine Lernfähigkeit übersteigt, kann ich mir ja noch immer etwas anderes suchen.

Der Roboter, den ich machen will, soll quasi ein "Vorprojekt" sein und nicht das eigentliche.

Was er können sollte:

- sich frei im Raum bewegen
- einer Lichtquelle folgen/ sich dieser nähern
... die üblichen Dinge eben

Was er kosten darf:

Naja, es wäre nicht tragisch, wenn sich die Kosten im dreistelligen Bereich bewegen würden, aber wenns günstiger geht habe ich natürlich auch nichts dagegen :)

Also die Grundschaltung mit Spannungsstabilisierung, Quarz und Computeranschluss hätte ich schon, aber wie gehts jetzt weiter?
Ich kann mir irgendwie nicht vorstellen, dass das so einfach ist wie ich mir das denke.
Sensor(mit geeigneter Schaltung) mit µC verbinden und das Signal (0,1) verwerten kann doch nicht alles sein oder?
Vor Allem, wenn ich mir hier so manchen Beitrag durchlese und nur Bahnhof verstehe, denke ich mir, dass ich in meiner Annahme einen grundlegenden Fehler haben muss?

Ein weiteres Thema, über das ich mir stundenlang den Kopf zerbrechen könnte ist die Programmierung. In der Schule und beim Asuro war das ja noch ganz einfach mit den fertigen Bibliotheken, aber was ist, wenn ich mir eben diese selbst machen muss?

Fragen über Fragen und hoffentlich auch viele Antworten :)

mfg
Dakrat

Da_Vinci13
13.08.2009, 18:11
Hi,
Das Signal kann man noch auf ziemlich viele andere Arten als (0,1) auswerten! z.B. mit dem Analog Digital Wandler (ADC) Oder als Interrupt und und und. Vielleicht hilft dir das hier weiter, wenn du es nicht bereits schon kennst:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Da lernst du auch ohne der asuro.lib...

Ich kenn da noch ein super Buch von Ueli Sommer und zwar Roboter selbst bauen. Vor nicht allzu langer Zeit (3-4 Monate) stand ich vor dem selben Problem wie du (nur 0,1 auswerten) da hab ich dieses Buch gekauft und mir hats super weitergeholfen! Ich programmiere seither in Bascom, weil alle Programmschnipsel mit Basic gemacht werden... das Umsteigen von C auf Basic hab ich persönlich als nicht schwer empfunden vorallem wenn man nur Ports setzten und 0,1 auswerten kann. Also darüber könntest du auch mal nachdenken...

Liebe Grüsse!

Dakrat
14.08.2009, 13:42
Danke für deine Antwort!

Also den Link find ich sehr hilfreich den werde ich heute noch fertig lesen :)

Aber ich würd den Roboter schon gerne in C programmieren, weil ich diese Sprache schon "kann" und ich ihn sowieso in C programmieren muss, wenn ich ihn als Maturaprojekt verwenden will... und ein Buch für C hätte ich auch.

Dass man mit Sensoren mehr als nur 0 und 1 als Signal bekommen kann ist mir schon klar, aber ich glaube, dass es für den Anfang durchaus ausreichend ist, wenn ich mich auf 0 und 1 beschränke.
Später kann das ganze ja noch immer komplexer werden ;) .

Dakrat
03.09.2009, 20:18
Soo...

Also einen (sehr) kleinen Teil der Schaltung habe ich jetzt schon zusammengebastelt =)

Als es um die Ansteuerung der Motoren ging sind leider schon die ersten Fragen aufgetaucht.
Ich habe dafür den L293 verwendet (sollte eigentlich für einen kleinen Roboter ausreichend sein oder?)
Nun zum eigentlichen Problem. Ist es abgesehen von den 2 Enable Ports egal wie ich die anderen 4 mit dem µC verbinde?
Ich meine bei den Ports des µC steht ja in Klammern immer etwas dabei. Welche Ports kann ich nun als Ein/Ausgänge verwenden und welche erfüllen einen anderen Sinn?
Woher weiß der µC ob ich bei einem Port zb die PWM verwenden will oder nicht? Muss ich das später noch extra programmieren oder weiß er das einfach?

... und ein Problem habe ich noch.
Ich weiß zwar wie die Sensoren prinzipiell funktionieren, aber leider lernt man in der Schule nur das theorethische und nicht wie man es in der Praxis verwendet :(
Gibt es dafür hier evtl. eine kleine Hilfestellung?
Im Wiki hab ich nur Erklärungen über die Funktion gefunden.

Edit:
Fast hätt ichs vergessen... worin liegt beim l293 der Unterschied zwischen Vs und Vss?

mfg
Dakrat

fitec
05.09.2009, 21:38
Hallo,
du kannst jeden I/O Pin (sagt ja schon der Name: Input/Output)als Eingang oder als Ausgang definieren.
Bei HardwarePwm nimm eben die Pins des µC musst du eben die entsprechenden Pins nehmen, bei SofwarePwm ist egal.