-
-
Erfahrener Benutzer
Roboter-Spezialist
ich glaube, ich habe verstanden, was RP6 meint.
@sensenmann:
erstmal, ich sende die Odometrie direkt an einen PC und zeichne dort eine Karte über den zurückgelegten Weg.
Wenn das im PIC selbst stattfinden soll, muß man die Aufgabenstellung sehr genau definieren und abschätzen:
-braucht man wirklich aller soundsoviel Zeiteinheiten eine Messung?
-genügt es, bei jeder Kursänderung die Wegdaten und den aktuellen Kurswinkel aufzuzeichnen?
- wieviel Bit sollen die Wegsdatenworte haben? Reichen 8bit Auflösung für jedes delta s ?
- soll die Zeit (Zeitstempel) aufgezeichnet werden?
- sollte man die Daten lieber in einem externen FlashProm aufzeichnen? Beispielprogramme in Assembler gibts im Netz (auch in der Doku zum PIC) genug.
Eine Aufzeichnung in einem Array ist in Wirklichkeit nichts anderes als eine sequentielle Abspeicherung im Speicher. Der Index ergibt sich aus der Datensatzlänge. Ein Beispiel:
Wir speichern die Zeit in sec in 16 bit ab. Dann folgen die Inkremente der 2 Räder = 2x 16 bit. Danach kommt der Kurswinkel mit wiederum 16 bit.
Das macht zusammen 4x 16bit = 64bit
Möchtest du den Daten Satz 21 aufrufen, dann rechnest du einfach Datensatznummer mal Datensatzlänge = 21 x 64 = 1344
=> an der Adresse 1344 steht der 21. Datensatz beginnend mit der Zeit
Bei solchen Datenwortlängen kommt man natürlich schnell über die RAM-Grenze hinaus, selbst bei 8bit-Werten. Da wäre die externe EEPROM-Lösung günstig, weil auch sehr gut erweiterbar.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen