- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 8 von 8

Thema: Motorgeschwindigkeit auslesen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Die Lösung "geht" und ist auch recht pfiffig. OCR1A/B sind die Vergleichsregister für die zwei Kanäle des Timer1. Wenn das Zählregister des Timers den gleichen Wert wie das jeweilige Vergleichsregister hat, wird der entsprechende PWM-Ausgang auf low geschaltet. So wird die Leistung für die Antriebe gesteuert. Und deshalb steht, wie du selbst schon in MotorSpeed() gefunden hast, der aktuelle Wert für die Geschwindigkeit in OCR1A/B. btw: Die Funktion sollte meiner Meinung nach besser MotorPWM() heißen.

    Gruß

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

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Aber, den MotorSpeed werten sind eigentlich nur Motor-kraft werten. Wann man die aktuelle Radgeschwindigkeit haben möchte, sollst man erst die Geberscheiben von den Odometrie zahlen müssen.

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.713
    Zitat Zitat von Valen
    ... MotorSpeed werten sind eigentlich nur Motor-kraft werten ... Wann man die aktuelle Radgeschwindigkeit haben möchte, sollst man erst die Geberscheiben ...
    Genau. Gerade beim Beschleunigen und Bremsen (Verzögern) unterscheidet sich PWM-Vorgabe und Ist-Drehzahl z.T. dramatisch. Beispiel beim Anfahren "volle Kanne" ist die PWM auf Maximum und die Fahrt (noch) auf Null. Beispiel (nicht vom asuro) siehe diesen Fahrtest mit Graphen zu Motor12: Istdrehzahl I_drz12 (rote Kreise) und PWM: iy12PWM (blaue Rauten).
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2008
    Alter
    40
    Beiträge
    557
    Das Auslesen der Odometrie ist doch nach Aufgabenstellung uninteressant. Tausendacht möchte bei einer Kollision, dass der Asuro sich abwendet und dann mit der vorherigen Geschwindigkeit weiterfährt.

    Code:
    if(Kollision)
    {
    Speicher_Links = OCR1A; Speicher_Rechts = OCR1B;
    MotorSPEED(100,100);
    MotorDIR(RWD,RWD); _delay_ms(1000); MotorDIR(RWD,FWD); _delay_ms(500); MotorDIR(FWD,FWD); MotorSPEED(Speicher_Links,Speicher_Rechts);
    }
    Das noch in brauchbares Asuro-C übersetzt müsste doch eigentlich machen was du willst oder?
    Alles ist möglich. Unmögliches dauert nur etwas länger!

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von Arkon Beitrag anzeigen
    Das Auslesen der Odometrie ist doch nach Aufgabenstellung uninteressant. Tausendacht möchte bei einer Kollision, dass der Asuro sich abwendet und dann mit der vorherigen Geschwindigkeit weiterfährt.
    Das stimmt. Ich möchte nur gern erklären das es ein underschied/misverständnis gibt, MotorSpeed vs. Kraft/Drehmoment.

Ähnliche Themen

  1. LDR an ADC auslesen, RP6
    Von eckiii im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 19.04.2009, 18:18
  2. 3x ADC auslesen
    Von JeyBee im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 24.03.2009, 09:01
  3. Motorgeschwindigkeit mit 2 Taster ändern
    Von Christopher1 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 26.08.2007, 22:33
  4. Antworten: 7
    Letzter Beitrag: 26.06.2007, 10:34
  5. Antworten: 9
    Letzter Beitrag: 17.11.2006, 12:35

Berechtigungen

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

12V Akku bauen