Home
Erste Vorstellung
Theorie
Hardware
- Baugruppen
Software
- Entwicklung
- Quellcode
Ergebnis
Das Team
Quellen und Links
|
Softwareentwicklung
Die Softwareentwicklung nahm am meisten Zeit in Anspruch, da eine Einarbeitung in Assembler und hardwareseiteitiger
Programmierung
erforderlich war. Die notwendigen Informationen nahmen wir fast ausschließlich aus den von Atmel geschriebenen
Dokumenten.
Durch die hardwarenahe Programmierung ist es erforderlich, die roboterspezifischen Daten zu erläutern, um eine Portierung
auf ähnliche Roboter zu ermöglichen. Im Folgenden seinen nun die softwarerelevanten Werte dargestellt:
Daten und Meßwerte der Softwareentwicklung
Durch den Anschluß eines Funktionsgenerators ermittelten wir durch Versuche den Frequenzbereich der Motoransteuerung.
Unsere minimale Schrittfrequenz, bei der der Roboter anfuhr, lag bei 490 Hz. Die maximale Schrittfrequenz beträgt 1010
Hz.
Unser ATmega32 wird extern mit 11 Mhz getaktet. Für eine Frequenz von 500 Hz liegt die obere Grenze des Hardwarecounters
bei
170. Für 1000 Hz liegt die obere Schranke bei 90. In diesem Frequenzbereich haben wir gearbeitet.
Ein Radumfang beträgt 21,2 cm. Bei einem Radabstand von 10,1 cm ergibt sich ein Drehkreis der Länge 63,5 cm.
Der Motor macht 600 Schritte für eine Radumdrehung. Daraus errechnet man leicht die Schrittanzahl pro zu fahrenden
Vollkreis.
Somit ergibt sich für die Drehung um 1 Grad 4,995 Schritte. Wir können also als Faustformel sagen, daß ein
Drehwinkel einem Zehntel des Streckenregisters entspricht.
Aus den Daten läßt sich dann auch leicht berechnen, daß das Streckenregister 5660 betragen muss, um einen Meter
zurückzulegen. Bei unserem 16-bit-Register erhalten wir eine maximale Reichweite von ca. 11,5 Meter, ohne ein erneutes
Schreiben des Streckenregisters durchführen zu müssen.
Kontrollflussdiagramm
Das Kontrollflussdiagramm ist eine graphische Darstellung des von uns programmierten Quellcodes. Wir haben darauf verzichtet,
uns in die genauen Definitionen und Darstellungsformen von solchen Diagrammen einzuarbeiten. Dennoch ist der Assemblercode
einfach genug gehalten, daß er spätestens mit diesem Diagramm verständlich sein wird.
Wir haben Sprungstellen und deren folgenden Codesegmente als Funktionen aufgefasst, und diese in Kästen gezeichnet.
Schleifen wurden mit Rauten symbolisiert. Verzweigungen sind mit Trennlinien abgegrenzt und tragen blaue Entscheidungsmarken.
Wir haben das Navistatusregister in das Diagramm aufgenommen, da es eine entscheidene Rolle im Code spielt und zum
Verständnis notwendig ist.
Das Kontrollflussdiagramm
|
|