- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: RP6 -- Ein Motor rückwärts?

  1. #11
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    27.07.2010
    Ort
    Aachen ---- NRW
    Beiträge
    251
    Anzeige

    Powerstation Test
    Zitat Zitat von radbruch Beitrag anzeigen
    "ich benutze die M32." Aua
    Klappt setMotorDir nicht mit der M32?

  2. #12
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Ne, das klappt nicht. Ich hab's mal eingebaut, allerdings ungetestet und deshalb ohne Gewähr:

    Code:
    #include "RP6ControlLib.h"
    //#include "RP6ControlServoLib.h"
    #include "RP6uart.h"
    #include "RP6I2CmasterTWI.h"
    #include "RP6Control_I2CMasterLib.h"
    
    void moveAtSpeed3(uint8_t desired_speed_left, uint8_t desired_speed_right, uint8_t dir_left, uint8_t dir_right)
    {
    	moveAtSpeed(desired_speed_left, desired_speed_right);
    	setMotorDir(dir_left, dir_right); // neue Funktion
    }
    
    int main(void)
    {
    	initRP6Control();
    	moveAtSpeed3(150,150,1,0);
    	while(1)
    	{
    	}
    	return 0;
    }
    Dazu muss man allerdings einen neuen Befehl einbauen in RP6Base_I2CSlave.c, RP6Control_I2CMasterLib.c und RP6Control_I2CMasterLib.h und eine neue Hex-Datei für den RP6 erzeugen.
    Angehängte Dateien Angehängte Dateien
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    27.07.2010
    Ort
    Aachen ---- NRW
    Beiträge
    251
    Danke für deine bemühungen aber leider:

    RP6Control_I2CMasterLib.c:347: error: 'CMD_SET_MOTOR_DIR' undeclared (first use in this function)
    RP6Control_I2CMasterLib.c:347: error: (Each undeclared identifier is reported only once
    RP6Control_I2CMasterLib.c:347: error: for each function it appears in.)

    Zeile 347:

    I2CTWI_transmit4Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_MOTOR_DIR, dir_left, dir_right );

  4. #14
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Das Kommando 'CMD_SET_MOTOR_DIR' wird in der neuen Datei RP6Control_I2CMasterLib.h definiert. Das .txt muss man entfernen und vermutlich ein make all ausführen.

    #define CMD_POWER_OFF 0
    #define CMD_POWER_ON 1
    #define CMD_CONFIG 2
    #define CMD_SETLEDS 3
    #define CMD_STOP 4
    #define CMD_MOVE_AT_SPEED 5
    #define CMD_CHANGE_DIR 6
    #define CMD_MOVE 7
    #define CMD_ROTATE 8
    #define CMD_SET_ACS_POWER 9
    #define CMD_SEND_RC5 10
    #define CMD_SET_WDT 11
    #define CMD_SET_WDT_RQ 12

    #define CMD_SET_MOTOR_DIR 13 // mic 16.10.2011

    #define ACS_PWR_OFF 0
    #define ACS_PWR_LOW 1
    #define ACS_PWR_MED 2
    #define ACS_PWR_HIGH 3
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #15
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    27.07.2010
    Ort
    Aachen ---- NRW
    Beiträge
    251
    Kompilierung erfolgreich beendet.

    Aber das Programm startet nicht

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    27.07.2010
    Ort
    Aachen ---- NRW
    Beiträge
    251
    FUNKTIONIERT !!!! mic du bist ein genie ;->

  7. #17
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Aber das Programm startet nicht
    Du meinst jetzt aber nicht mein kleines Dummyprogramm oben? Das diente nur als Kompiliertest und hat keine echte Funktion.

    Ich vermute mal, dass du auch ein eigenes m32-Programm hast in das du die neue Funktion einbauen kannst. Wie schon geschrieben must du auch die RP6-Slave-Datei austauschen, neu kompilieren und auf den RP6 laden.


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

  8. #18
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    Es gibt auch changeDirection in der normalen Lib - die Richtung von einem Motor wechseln geht da einfach indem man
    zwischen FWD und LEFT oder FWD und RIGHT oder ähnlich hin und her wechselt
    (FWD und LEFT usw. sind ja nur leichter zu verstehende Namen dafür in welche Richtung sich die Motoren nun drehen sollen damit man direkt weiss in welche Richtung sich der ganze Roboter bewegen wird... ).

    MfG,
    SlyD

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Rechter Motor dreht nur rückwärts
    Von cele93 im Forum Asuro
    Antworten: 104
    Letzter Beitrag: 03.02.2015, 18:04
  2. Ein Motor dreht nur Vorwärts nicht Rückwärts
    Von Hohenloher im Forum Asuro
    Antworten: 12
    Letzter Beitrag: 11.03.2010, 18:23
  3. linker Motor dreht nur rückwärts
    Von icebreaker im Forum Asuro
    Antworten: 59
    Letzter Beitrag: 30.10.2009, 19:18
  4. rechter Motor dreht nur rückwärts!
    Von Munzi im Forum Asuro
    Antworten: 15
    Letzter Beitrag: 07.02.2009, 12:12
  5. Motor rückwärts drehen
    Von Impi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 14.02.2006, 18:34

Berechtigungen

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

Solar Speicher und Akkus Tests