-         

Ergebnis 1 bis 2 von 2

Thema: Nibobee - Frage zum Motor-Regler (motpid) der Standard-Lib

  1. #1

    Frage Nibobee - Frage zum Motor-Regler (motpid) der Standard-Lib

    Anzeige

    Hallo,

    vor einiger Zeit habe ich mir einen Nibobee angeschafft und ihn auch erfolgreich zu laufen gebracht.
    Nun wollte ich eine erweitertes "Herumfahrprogramm" schreiben inkl. Drehungen auf bestimmen Winkel etc.

    Zur Ansteuerung der Motoren habe ich den Motorregler (motpid) der Standard-Lib (v1.4) verwendet.
    Die Funktion verwende ich zB um die Geschwindigkeit zu halten, den Nibobee auf eine bestimmte Position zu drehen oder eine bestimme Strecke zu fahren.

    Das der ganze Programm-Ablauf richtig funktioniert, muss ich im Programm feststellen ob sich der Roboter noch in Bewegung befindet bzw. ob zB eine Drehung abgeschlossen ist.

    Leider habe ich in der Standard-Bibliothek keine Funktion dazu gefunden.

    Daher habe ich eine Funktion geschrieben, welche bei jeden Aufruf überprüft ob sich die Odometry-Werte innerhalb der letzten Sekunde verändert haber. Das ist jedoch nicht immer ganz zuverlässig, da die Motoren öfters erst verspätet anspringen (vorallem bei schwächern Akku und ausführen einer Drehung).

    Ich hab dann nochmal die Source-Codes von der Standard-Lib durchforstet um vl irgendetwas zu finden was mir den Status des PID-Reglers mitteilen kann.

    In der "motpid.c" habe ich dann eine Variable (motpid_mode) gefunden, welche den Status des PID-Reglers speichert (nicht in betrieb, Positionierung, Fahrt). Die Variable ist nicht innerhalb einer Funktion deklariert, sollte also Global (?) sein.

    Leider kann ich die Variable in meinem Programm nicht abfragen (beim compilieren kommt die Fehlermeldung das die Variable nicht definiert ist).
    Kann mir vl jemand eine Hilfestellung geben, wie ich mein Problem lösen kann?

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.783
    Blog-Einträge
    8
    Hallo

    Auf Variablen aus anderen Programmdateien kann man mit dem Schlüsselwort "extern" zugreifen:

    https://www.google.de/search?q=gcc+speicherklassen

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. Nibobee Linienverfolgung - Regler ?
    Von xmaniix im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 4
    Letzter Beitrag: 28.06.2012, 18:53
  2. NIBObee: motpid.h einbinden erzeugt Fehler
    Von hanno72 im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 9
    Letzter Beitrag: 06.03.2012, 23:48
  3. Nibobee: Der PID-Regler ist noch nicht implementiert
    Von hanno72 im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 7
    Letzter Beitrag: 20.01.2011, 20:42
  4. Frage nach Standard-Transistoren und FETs
    Von moin im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 31.12.2006, 19:09
  5. Antworten: 12
    Letzter Beitrag: 23.08.2006, 11:41

Stichworte

Berechtigungen

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