-
        

Ergebnis 1 bis 5 von 5

Thema: RN-Control + SRF05 als Anti-Kollisionssystem

  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Alter
    21
    Beiträge
    355

    RN-Control + SRF05 als Anti-Kollisionssystem

    Anzeige

    Hallo!

    Für meinen geplanten Bot möchte ich als Controller das RN-Control benutzen. Das Fahrgestell ist das des Robby RP5.

    Programmiert wird in C.

    Nun meine Frage:

    Wenn ich den SRF05 auf den Servo montiere, muss ich den Servo ein kleines Stück nach jeder Messung drehen. Um wie viel Grad sollte ich den Servo jedesmal drehen? Kann ich den Servo ohne Treiber an einen Freien Pin meines RN-Control anschließen?

    Wie lange dauert eine Messung? Im Datenblatt steht, wenn nach 30 Sekunden kein Echo kommt ist nichts im Weg. Die Entfernung berechnet sich ja so: Dauer gesendeter Impuls / 58 = Abstand in cm.

    Allerdings muss ich ja neben der Abfrage-Routine für den Sensor und dem Drehen des Servos auch noch mein Programm per Interrupt unterbrechen. Ich möchte nämlich nicht jedesmal nach ca. 1m stoppen und dann warten bis er gemessen hat und dann wieder anfahren (bis die Motoren anlaufen dauerts so ca. 3(!) Sekunden).

    Wie kann ich das realisieren?

    Viele Fragen... hoffe ihr könnt mir helfen!

    Gruß

    Torrentula

    P.S.: Wenn der Thread nicht mehr hierher passen sollte (aufgrund von Fragen zur Programmierung) bitte in das passenden Forum verschieben! Danke!
    MfG Torrentula

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Wenn ich den SRF05 auf den Servo montiere, muss ich den Servo ein kleines Stück nach jeder Messung drehen. Um wie viel Grad sollte ich den Servo jedesmal drehen?
    Kommt drauf an welche Auflösung du möchtest.

    Kann ich den Servo ohne Treiber an einen Freien Pin meines RN-Control anschließen?
    Hmm ja, das Signalkabel kann so an den Controller. Wenn du den Servo mit an den Spannungsregler hängst, an dem auch der Controller hängt, KANN es zu Problemen kommen.

    Wie lange dauert eine Messung? Im Datenblatt steht, wenn nach 30 Sekunden kein Echo kommt ist nichts im Weg. Die Entfernung berechnet sich ja so: Dauer gesendeter Impuls / 58 = Abstand in cm.
    Du sagst es ja selbst, die exakte Dauer hängt von der Entfernung ab.

    Allerdings muss ich ja neben der Abfrage-Routine für den Sensor und dem Drehen des Servos auch noch mein Programm per Interrupt unterbrechen. Ich möchte nämlich nicht jedesmal nach ca. 1m stoppen und dann warten bis er gemessen hat und dann wieder anfahren (bis die Motoren anlaufen dauerts so ca. 3(!) Sekunden).
    Die steuerung des Servos kannst du über ein PWM machen, das läuft dann nebenbei und unterbricht den eigentlichen Code nicht.
    Die Geschwindigkeit der Motoren steuerst du auch über PWM, warum sollte sich da was wegen der Messung ändern?!

  3. #3
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Alter
    21
    Beiträge
    355
    Die steuerung des Servos kannst du über ein PWM machen, das läuft dann nebenbei und unterbricht den eigentlichen Code nicht.
    Die Geschwindigkeit der Motoren steuerst du auch über PWM, warum sollte sich da was wegen der Messung ändern?!
    Ja die Motoren werden über PWM gesteuert aber das Problem ist, wenn der Sensor dann was erfasst, muss der Programmablauf von "Fahre geradeaus" zu "weiche dem Hindernis aus" geändert werden.

    Wie kann ich anhand der Messung erkennen wo sich das Objekt befindet? Einfach anhand der Nummer der Messung, die das Hindernis erkennt?

    Die Motoren des Chassis steuere ich so an, wie im C-Beispielprogramm aus dem Wiki:

    Code:
    void Motortest(void) {     
    Mlinksvor();     
    Mrechtsvor();      
    
    setPWMlinks(0);     
    setPWMrechts(0);     
    waitms(40);      
    
    for(uint8_t i=0; i<255; i=i+5)     {         
    setPWMlinks(i);        
     setPWMrechts(i);         
    waitms(40);    
     }      
    
    setPWMlinks(255);     
    setPWMrechts(255);     
    waitms(40);       
    
    for(uint8_t i=255; i>0; i=i-5)     {         
    setPWMlinks(i);
    setPWMrechts(i);         
    waitms(40);     
    }      
    
    setPWMlinks(0);     
    setPWMrechts(0);      
    
    Mlinksstop();     
    Mrechtsstop();     
    waitms(300); }
    MfG Torrentula

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Na wenn du den Servo auch mit diesem setPWM (die richtige Frequenz vorrausgesetzt) und 0 - 255 steuerst (daraus den Winkel ermitteln) und die Entfernung kennst, dann kannst du mit einer Winkelfunktionen die Position des Objekts errechnen.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Alter
    21
    Beiträge
    355
    Naja dafür kann ich ja eine eigene Funktion bauen (diese ist für den RN-Control Motortreiber).

    Aber wie muss ich dann die Bits fürs PWM und den Vorteiler einstellen?

    Servo ist dieser hier: http://www.shop.robotikhardware.de/s...products_id=48
    MfG Torrentula

Ähnliche Themen

  1. SRF05 an RN-Control ansteuern
    Von Jada im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 28.06.2010, 14:22
  2. US srf05 und das rn control 2560
    Von Daddydoof im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 08.02.2009, 17:19
  3. SRF05 am RN Control
    Von TDK im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 4
    Letzter Beitrag: 15.09.2008, 18:22
  4. Ultraschall SRF05 an RN-Control
    Von Le-For im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 3
    Letzter Beitrag: 01.09.2006, 11:37
  5. Anti Kollisionssystem vom Robby RP5
    Von Garret im Forum Robby CCRP5
    Antworten: 2
    Letzter Beitrag: 13.06.2005, 19:33

Stichworte

Berechtigungen

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