- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 41

Thema: RP6 Linienfolger

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 Drehrichtungen der Antriebe kann man mit setMotorDir() aus der Library RP6RobotBaseLib.c festlegen:

    Code:
    /**
     * Sets the rotation direction of both motors.
     *
     * DO NOT CHANGE THE DIRECTION OF THE MOTORS WHILE THEY
     * ARE RUNNING AT HIGH SPEEDS!!! 
     * It will not instantly damage the motors/gears, but they will  
     * wear out much faster if you do it at high speeds - better wait 
     * until speed has slowed down - and change direction AFTER this.
     *
     * -------------------------------------------------------------
     * IT IS A BETTER IDEA NOT TO USE THIS FUNCTION AT ALL!
     * Use moveAtSpeed together with task_motionControl instead.
     * YOU CAN NOT USE setMotorPower AND setMotorDir WHEN YOU USE 
     * task_motionControl!  This will not work!
     * -------------------------------------------------------------
     *
     * task_motionControl also ensures that the direction is changed
     * slowly and only after the motors have stopped!
     *
     * Example:
     *          // DO NOT perform these commands directly after each
     *			// other in your programs - this is just a LIST of possible
     *			// combinations:
     *			setMotorDir(FWD,FWD); // Move forwards
     *			setMotorDir(BWD,FWD); // Rotate right
     *			setMotorDir(FWD,BWD); // Rotate left
     *			setMotorDir(BWD,BWD); // Move backwards
     *
     */
    void setMotorDir(uint8_t left_dir, uint8_t right_dir)
    {
    	mleft_dir = left_dir;
    	mright_dir = right_dir;
    	mleft_des_dir = left_dir;
    	mright_des_dir = right_dir;
    	if(left_dir)
    		PORTC |= DIR_L;
    	else
    		PORTC &= ~DIR_L;
    	if(right_dir)
    		PORTC |= DIR_R;
    	else
    		PORTC &= ~DIR_R;
    }
    Wie beschrieben sollten die Drehrichtungen nicht bei Vollgas umgeschaltet werden!

    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
    Neuer Benutzer Öfters hier
    Registriert seit
    26.10.2013
    Beiträge
    8
    könntest du mir anhand dem Programm welches ich gesendet habe, aufzeigen? lg

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Hi EK9,

    sorry, aber da wirst du selber ran müssen. In dem Forum wird keiner für dich den Code umschreiben
    Schau mal in die Anleitung und in die Beispielprogramme. Dort findest du viele Beispiele und Erklärungen zu den ganzen Funktionen, auch zu setMotorDir() usw.

    Ist gar nicht so schwer, und durch ausprobieren lernst du mehr als durch ablesen.
    Wenns dann scheitert, hilft dir hier sicherlich jeder herauszufinden, warum!

Berechtigungen

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

Labornetzteil AliExpress