-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Dumme Frage zur Odometrie

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.01.2004
    Ort
    z.Zt. Istanbul
    Alter
    62
    Beiträge
    108

    Dumme Frage zur Odometrie

    Anzeige

    Vielleicht doch nicht ganz so dumm.
    Bisher haben wir die Wegbestimmung über Reflexkoppler (CNY70,...) und Gabellichtschranke mehr schlecht als recht verwirklichen können. Es entstand die Idee einen externen Zähler zu konstruieren.
    Hat hier irgendjemand damit schon praktische Erfahrungen?
    Auf die Idee kamen wir weil der Prozessor offenbar so ab und an vergisst einen Tick mitzuzählen; ein Schieberegister/Multiplexer nähme dem uC ein wenig die Arbeit ab.


    REB

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Besteht nicht die Möglichkeit Interrupts zu benutzen? Dann würde der MC auf keinen Fall ein Signal verpassen.

    Ist das Signal getriggert?

    MFG Moritz

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.05.2004
    Ort
    N Stück rechts von Hamburg
    Alter
    28
    Beiträge
    166
    Es lief bisher über externe Interrupts, die bei ansteigender Flanke getriggert wurden. Nur produzieren zwei solche Taktscheiben bergeweise Interrupts, und unser Controller hatte dann nicht mehr genügend Zeit für andere Aufgaben. Es wurden z.B. Zeichen am USART verschluckt...
    So kamen wir halt auf die Idee, einen Hardwarezähler zu nehmen und ihn per SPI regelmäßig abzufragen.
    Kann jemand Erfahrungen dazu posten? (wie baue ich die Schaltung so, dass beim Abfragen keine Impulse "verschluckt" werden? Hat jemand sowas schonmal gebaut und kann nen Schaltlan posten?)
    mfG

    cht

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thoralf
    Registriert seit
    16.12.2003
    Ort
    Dresden
    Beiträge
    530
    Schaltplan brauchst du eigentlich nicht. Nimm einen 8-bit-up-down-counter, dessen Ausgänge auf ein 8-bit-Schieberegister gehen. Der Takt, der Strobe und der Datenausgang des Registers gehen auf 3 µC-Ports. Zuerst gibst du den Strobe aus zum laden des Registers. Danach taktest du 8x das Register und liest VOR dem Takten das Output-Bit des Registers ein. Wenn du möchtest kannst du den Zähler nach einem Lesevorgang löschen, kannst aber auch die Differenz zum vorigen Zählerstand bilden um die zurückgelegte Teilstrecke zu messen (bei Kurvenfahrt z.B.)
    Up-down-counter nur, wenn der Inkrementalgeber des Rades auch einen entsprechenden Ausgang hat. Sonst Vorwärts- oder Rückwärtsfahrt durchführen -> Impulse zählen und als positive oder negative Strecke in die Berechnung des Weges einsetzen. Dann reicht ein einfacher Zähler.

    Es gibt auch Counter-shift-register als ein Schaltkreis, mußt mal googlen. Phillips hat die sicher auch

  5. #5
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.372
    Hat hier irgendjemand damit schon praktische Erfahrungen?
    Schaltplan brauchst du eigentlich nicht.
    Ich nehme an bei der Frage nach der Erfahrung und nach einem Schaltplan geht es um solche Details wie:
    Soll der Zählereingang gesperrt werden, während das Schieberegister ausgelesen wird? Besser mit Latch? Synchronisation von Latch und Zählimpuls?
    Soll/muß der Motor zum Auslesen des Zählers stehenbleiben?
    Soll durch die Fahrt (während der Fahrt) ein bestimmter Zählerstand angesteuert werden?
    Soll auch die Geschwindigkeit der Motoren verglichen werden können?
    Manfred

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thoralf
    Registriert seit
    16.12.2003
    Ort
    Dresden
    Beiträge
    530
    ja richtig, Manfred, ich hatte aber sowieso mit weiteren fragen gerechnet. Da kann man dann auch Details besser klären. aber REB fragte so sachkundig, daß ich von mehr als Grundkenntnissen ausging.

    Übrigens hab ich die gleichen Überlegungen angestellt, wie er/sie.
    Wenn man den Prozessor von Zählvorgängen entlasten will oder mehrere Zähler abfragen muß, dann ist so eine Lösung mit einer Art Sensorbus gekoppelt garnicht schlecht.
    Übrigens ein Latch braucht man bei meinem Vorschlag nicht. Gelatched wird eh im Schieberegister. Während des Strobes kann der Zähler locker weiterzählen. Dann wird der Impuls eben mit erfaßt. Einen digitalen Fehler von einem Digit hat man sowieso immer (auch bei ADUs usw.)
    Statt Schieberegister ist natürlich auch ein PCF8574 I2C-Portexpander einsetzbar.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.01.2004
    Ort
    z.Zt. Istanbul
    Alter
    62
    Beiträge
    108
    Zitat Zitat von Manf
    Hat hier irgendjemand damit schon praktische Erfahrungen?
    Schaltplan brauchst du eigentlich nicht.
    Ich nehme an bei der Frage nach der Erfahrung und nach einem Schaltplan geht es um solche Details wie:
    Soll der Zählereingang gesperrt werden, während das Schieberegister ausgelesen wird? Besser mit Latch? Synchronisation von Latch und Zählimpuls?
    Soll/muß der Motor zum Auslesen des Zählers stehenbleiben?
    Soll durch die Fahrt (während der Fahrt) ein bestimmter Zählerstand angesteuert werden?
    Soll auch die Geschwindigkeit der Motoren verglichen werden können?
    Manfred
    Nicht wirklich. Ich wollte eigentlich zunächst ein Mal wissen ob es schon Erfahrungen mit dem externen Auslesen von Encodern gibt (das Rad muss man nicht jedes Mal neu erfinden).
    Ob der Motor stehenbleiben soll (wenn man mal die Taktfrequenz und Befehlszyklen eines Mega 32 oder 128 betrachtet und grob die Aufeinanderfolge von Impulsen abschätzt erübrigt sich eigentlich solch eine Frage) spielt keine Rolle.

    Noch mal: Es geht um Odometrie, also um Korrektur von Fehlern, die durch unterschiedliche Motorengeschwindigkeit / Getriebespiele / ... entstehen. Ein angenehmer Nebeneffekt könnte sein, dass dann auch die Orientierung im Gelände leicht zu programmieren ist.
    Wie man Takte synchronisiert - das interessiert mich nicht (weil bekannt).

    Die Idee mit dem PCF8754 ist übrigens gut; danke dafür.


    REB

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Wie man Takte synchronisiert - das interessiert mich nicht (weil bekannt).
    Meinst du damit, wie man es macht, dass die Motoren gleich schnell laufen?

    Wie machst du das denn? Würde mich interessieren, weil ich bald vor dem selben Problem sthen werde.

    MFG Moritz

  9. #9
    Gast
    Zitat Zitat von RCO
    Wie man Takte synchronisiert - das interessiert mich nicht (weil bekannt).
    Meinst du damit, wie man es macht, dass die Motoren gleich schnell laufen?

    Wie machst du das denn? Würde mich interessieren, weil ich bald vor dem selben Problem sthen werde.

    MFG Moritz
    Nein, Taktsynchronisationen sind mir bislang nur bei bei Übertragungsprotokollen über den Weg gelaufen.

    Um es vorweg zu sagen: Motoren laufen nie gleich schnell. Deshalb muss man ja den zurückgelegten Weg messen und je nach Messergebnis die Motoren unterschiedlich ansteuern. Und genau damit schlagen CHT und ich uns rum...
    Für Odometrie ohne externe Counter: siehe seattle robotics org...

    REB

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Motoren laufen nie gleich schnell. Deshalb muss man ja den zurückgelegten Weg messen und je nach Messergebnis die Motoren unterschiedlich ansteuern.
    Das wollte ich damit sagen, dachte du/ihr hättet einen schönen Lösungsansatz.

    MFG Moritz

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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