-
-
Erfahrener Benutzer
Fleißiges Mitglied
Wegmessung
Hallo Ich habe mir jetzt an mein Fahrgestell zwei Hallsensoren drangebaut und möchte damit dem Roboter "sagen", wie weit er fahren soll. Also z.b so : Do 1 Step und der eine Schritt ist denn eine Umdrehung des Rades an dem der Sensor angebracht ist. Nur habe ich keine Ahnung wie ich das anstellen soll. Ich habe schon die werse Beiträge im Thema Drehzahlmessung durchgelesen aber ich komme einfach nicht drauf wie ich das machen soll.
Gruß Tjark
-
Erfahrener Benutzer
Roboter Genie
1. Wie hast du sie "rangebaut" und wo?
2. Was für einen Controller hast du?
3. In welcher Sprache willst du programmieren?
Gib mal mehr Infos!
-
Erfahrener Benutzer
Fleißiges Mitglied
Direkt ans Antriebsrad ca 100 u/min
Rn Control 1.4
Basecom
-
Erfahrener Benutzer
Roboter Genie
-
Erfahrener Benutzer
Fleißiges Mitglied
Das hab ich schon gelesen wird ich nicht schlau draus.
-
Erfahrener Benutzer
Roboter Genie
Das lässt den Schluss zu das du überhaupt keine Ahnung von den Grundlagen hast und diese erstmal lernen solltest!
Ansonsten stell ne Frage und nicht nur "geht nicht, "kann ich nicht".
-
Erfahrener Benutzer
Fleißiges Mitglied
Meine Frage dabei ist wie ich ihm sagen kann, das pro Schritt der Magnet einmal rumdreht. Wenn ich will das irgentetwas passiert wenn ein Magnet an den Sensor kommt muss ich ja schreiben: If PINA.0 = 1 Then... Else... . Jetzt will ich das so haben das wenn der Sensor zweimal high gibt das das ein Schritt ist. Aber ich weiß nicht wie ich das Bascom beibringen soll. Oder ist der Ansatz komplett falsch ???
Gruß Tjark
-
Erfahrener Benutzer
Roboter Genie
Was TobiKa mit seinem Link empfohlen hat, ist die Nutzung des Timers
und damit des für Dein predestiniertesten Futures im AVR.
Wenn Du Dich mit der Timerprogrammierung, also Rücksetzung,
Frequenzteilung, Auslesen des Timerregisters vertraut machst und
dabei auch das Datasheet nutzt, müsste der Hintergrund eigentlich
klar sein. Möglicherweise müsstest Du mit einem Timerinterrupt
arbeiten, da will ich jetzt jedoch nicht weiter reinreden, da ich das
Restprogramm nicht kenne. VG Micha
-
Erfahrener Benutzer
Robotik Einstein
Da es sich hier vorerst nur um eine reine Wegstrecken Messung handelt ist das relativ einfach. Den Sensor an einen IRQ Eingang hängen und bei jedem IRQ eine Zähl Variable erhöhen. Das Ergebnis dann mit dem Rad Umfang Multipliziert ergibt den zurück gelegten Weg (wenn kein Schlupf vorhanden war).
Wie (immer) wichtig, in einer IRQ sollte so wenig wie möglich "gearbeitet" werden damit dieselbe nicht blockierend wird und Schritte verloren gehen. Die eigentliche Auswertung sollte immer in der Haupt looop geschehen.
Gruß Richard
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen