PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geschwindigkeitsstufen ???



sme-bbg
14.03.2004, 17:50
wie viele geschwindigkeitsstufen braucht ein roboter ???

reichen da 8 stück ???

hab mir da so folgendes überlegt

bit datenbus

bit 0 = Geschwindigkeit motor1 bit0
bit 1 = Geschwindigkeit motor1 bit1
bit 2 = Geschwindigkeit motor1 bit2
bit 3 = Drehrichtung motor1

bit 4 = Geschwindigkeit motor2 bit0
bit 5 = Geschwindigkeit motor2 bit1
bit 6 = Geschwindigkeit motor2 bit2
bit 7 = Drehrichtung motor2

Frank
14.03.2004, 17:58
4 Geschwindigkeiten würden in der Praxis fast immer schicken. Mit einem Multiplexer IC könnten dafür 2 Bit reichen - falls du auf PWM verzichten willst

Kjion
14.03.2004, 19:05
Kommt immer drauf an was du damit machen willst. Wenn du das ganze regeln willst ( zum Beispiel über Rückkopplung durch Impulsgeber an den Rädern ) sind acht Stufe vermutlich zu wenig.
Wenn du gar nicht so viel vor hast und es nur zum Einstellen der Geschwinigkeit haben willst, wirst du wir Frank schon sagte auch mit vier oder eben acht wunderbar auskommen...

MfG Kjion

Manf
14.03.2004, 19:11
Nur so als Anregung zur weiteren Überlegung:

Wenn die zwei Motoren der rechte und der linke Motor auf der Hauptachse des Roboters sind, dann beschreiben die 8 bit Portausgabe-Kombinationen Richtungen:

Geraden, Kreise, und Drehungen, die in unterschiedlichen Geschwindigkeiten gefahren werden.

Die Gerade mit unterschiedlichen Geschwindigkeiten ist klar. Geschwindigkeit null ist auch klar. Die Drehung auf der Stelle auch. Das sind symmerische Bewegungnen.

Jetzt die unsymmetrischen Bewegungen: rechts doppelt so schnell wie links ist eine Kreisbahn,
rechts doppelt so schnell vorwärts wie links rückwärts ist eine chaotische Fluchtbewegung zum Ausweichen vor nachgeworfenen Gegenständen die selten benötigt wird. Von den 256 Kombinationen werden eine Menge selten genutzt.
Vorstellbar ist auch: Speed 0-7, gleich-gegenläufig, speed rechts/lins +- epsilon zur Spurkorrekur.
Aber wie gesagt, nur als Anregung.
Manfred

sme-bbg
15.03.2004, 18:41
das hört sich interessant an ... @manf... hast du da noch ne genauere beschreibung vor (formeln??)
ich werde nun doch der geschwidigkeit 8 bit geben .. da ich eine rückkopplung direkt am motor habe .... (fest eingebauter impulsgeber)

hrrh
15.03.2004, 20:36
ein robotter braucht mintestens 2 (vorwaerts+stop), besser 3 (vorwaerte, stop, ruechwaerz) Geshwindigkeitstufen

Manf
15.03.2004, 21:32
Mindestens 2 Geschwindigkeiten meint auch hrrh (was bedeutet eigentlich hrrh, es kling wie ein Räuspern aber es ist sicher eine Abkürzung eines Namens, so wie bei mir, ich heiße nirgendo Manf, aber Manfred war schon belegt).
Wenn dann noch Ansteuerungsmöglichkeiten zur Verfügung stehen, dann kommt wohl neben Stillstand, vorwärts und rückwärts, auch die Drehung auf der Stelle in noch mit.
Langsame Fahrt zum Bearbeiten (Staubsauger) und zum Suchen. Wenn es nichts ausmacht 3 Geschwindigkeiten, viel mehr vielleicht nicht.
Bei der Kurvenfahrt gibt es die Kurskorrektur zu der man nicht unbedingt anhalten muß. Die könnte als "um epsilon weiniger" rechts und alternativ links beschrieben werden, mit Epsilon als Faktor, damit sich unabhängig von der Geschwindigkeit die gleiche Bahnkrümmung einstellt. Mehr muß es vielleicht nicht sein. Es kommt aber auf die Realisierung des Interfaces an.
Bei der Schrittmotoransteuerung (thread) wir immer noch diskutiert, ob man Schritte einzeln, oder als Anzahl und Geschwindigkeit ausgibt.
In sofern ist auch nicht klar, wie man die Geschwindigkeit definiert : Als Spannung mit VCO für die Schrittfequenz, als timer-rate für zwei timer?

Die Bahnkurven für die Geschwindigkeiten rechts und links, vorwärts und rückwärts habe ich nachgerechnet, es sind natürlich alles Kreise, und deren Grenzfälle wie Geraden und (Dreh-)Punkte. Nur die rückwärts durchfahrenen kleinen Kreise wirken nicht so sinnvoll.
Man kann sich zur Übersicht leicht klarmachen, daß wenn sich das rechte Rad n mal so schnell dreht wie das linke Rad, dann erhält man eine kreisförmige Spur bei der der Umfang (und damit auch der Radius) des Kreises des rechten Rades n-mal so groß ist wie der des linken.

Dreht sich das rechte Rad also beispielsweise doppelt so schnell wie das linke, dann ist der Spur-Kreis des rechten Rades doppelt so groß wie der des linken und man erhält man einen Kreis der Fahrzeugmitte von 1,5 mal der Spurweite.
Manfred

19.03.2004, 21:24
Habe an meine Bot Impulsgeber, die bei einer Umdrehung des Rads ca. 60 Impulse geben. Wie werte ich diese Signale am besten aus? FREQ. Eingänge der CC1 oder normale Digital Eingänge, die sind mit Sicherheit doch zu träge oder? Wie realisiere ich dann eine Drehzahlregelung, so das der Roboter erst langsam beschleunigt und dann bei einem Hinderniss je nach gemessenem Analogwert (Sharp 2GP12) wieder langsam stehen bleibt bzw. in einem Bogen wieder ausweicht (Analogwert links<rechts oder umgekehrt) Ich benutze das CC1 Board mit 8MHz

sme-bbg
19.03.2004, 21:33
ich habe den sensor an den INT eingang des atmel gehängt dieser addiert bei jenden impuls eins dazu... so kann ich die wegsterecke recht gut bestimmen

versuchs mal damit

wenn rechts ein objekt erfasswird mindere die geschwindigkeit vom linken motor solange bis der sensor nichts mehr erfasst dann lass die geschwindigkeit langsam wieder hochzählen...

das selbe natürlich auch für links ....

damit bekommst du ein weiches ausweichen ....

Manf
20.03.2004, 05:37
Wie werte ich diese Signale am besten aus? FREQ. Eingänge der CC1 oder normale Digital Eingänge, die sind mit Sicherheit doch zu träge oder?
Wie ist das mit den Freq Eingängen, nach Beschreibung messen die eine Frequenz über die Dauer von 1sec, ohne aber die Gesamtzahl der Einzelimpulse zu erfassen, ist das so?
Manfred