- 12V Akku mit 280 Ah bauen         
Seite 12 von 12 ErsteErste ... 2101112
Ergebnis 111 bis 115 von 115

Thema: FoxBot (hexabot)

  1. #111
    Neuer Benutzer Öfters hier
    Registriert seit
    28.11.2006
    Beiträge
    14
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    Auch wenn der Thread ausgestorben ist:

    Für die beiden Servos in den Beinen (Gelenke) hat er ja 30 Ncm.
    Wieviel hat denn der Servo, der als Schulter dient, also das Bein drehen kann? Und wie schnell kann sihc der Roboter bewegen? Also ist die Bewegung eher langsam oder geht sie auch richtig flott?

    MfG,
    jga

  2. #112
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    36
    Beiträge
    478
    naja, so ein bein wiegt vllt 120g und der servo muss es ja nicht hochhaben, sondern nur drehen.

    Weiß nicht, was er für nen Lauf-Modus hat, aber wenns einer mit 3Beinen am Boden ist, dann kanns (falls gut programmiert) schon recht fix sein..

  3. #113
    Benutzer Stammmitglied
    Registriert seit
    13.07.2005
    Ort
    Leipzig
    Alter
    45
    Beiträge
    90
    danke erstmal an plusminus, für den hinweis im icq bezüglich der lipo-akkus.

    ich hatte anfang des jahres das projekt erstmal auf eis gelegt, aus zeitmangel und weil ich keine befriedigende lösung für zwei probleme gefunden hatte.

    1) picaxe und Funkmodul wollen beide nur als I²C master kommunizieren.

    ich werde da notgedrungen auf den picaxe verzichten und jeden einzelnen befehl über funk geben (also auf die "treiberroutinen" die der picaxe zur verfügung stellen sollte verzichten).

    2) akkukonzept

    hatte damals spezielle nimh akkus bestellt, welche leider nie ankamen.
    nun höre ich aber von speziellen, hochstromfähigen lipos, welche ich nun auch testen werde. mein erster versuch mit einem normalen lipo war ja wegen des hohen innenwiderstands und dem damit verbundenen zusammenbruch der versorgungsspannung nicht gerade von erfolg gekrönt.

    habe nun auch wieder mehr zeit - und daher: i´m back \/

  4. #114
    Benutzer Stammmitglied
    Registriert seit
    13.07.2005
    Ort
    Leipzig
    Alter
    45
    Beiträge
    90
    Argl, ich komme nicht weiter mit der Programmierung

    Ich lasse den PICAXE weg und steuere den SD21 direkt vom CM02 aus an.
    Das ganze mit C++. Beide Möglichkeiten (16Bit/8Bit) führen nicht zum Erfolg.

    Hier der Code:

    Message Handlers: (funktionieren - SRF08 läßt sich problemlos steuern)

    Code:
    void CBrain::SetupCommPort( LPCTSTR comport)
    {
    	DCB dcb;
    	COMMTIMEOUTS ct;
    
    	CloseHandle(hCom);
    	hCom = CreateFile( comport, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
    	GetCommState(hCom, &dcb);
    	dcb.BaudRate = CBR_19200;
    	dcb.fParity = FALSE;
    	dcb.fOutxCtsFlow = FALSE;
    	dcb.fOutxDsrFlow = FALSE;
    	dcb.fDtrControl = DTR_CONTROL_DISABLE;
    	dcb.fDsrSensitivity = FALSE;
    	dcb.fOutX = FALSE;
    	dcb.fInX = FALSE;
    	dcb.fRtsControl = RTS_CONTROL_DISABLE;
    	dcb.fAbortOnError = FALSE;
    	dcb.ByteSize = 8;
    	dcb.Parity = NOPARITY;
    	dcb.StopBits = ONESTOPBIT;
    	SetCommState(hCom, &dcb);
      
    	GetCommTimeouts(hCom, &ct);
    	ct.ReadIntervalTimeout = 500;
        ct.ReadTotalTimeoutMultiplier =500; 
        ct.ReadTotalTimeoutConstant = 500; 
    	SetCommTimeouts(hCom, &ct);
    
    	SetCommMask(hCom, EV_RXCHAR);
    }

    16Bit-Version:

    Code:
    #define I2C_CMD		0x55		// direct I2C control command
    #define CM01_CMD	0x5a	     // CM01 command 
    #define SD21		0xc2		 // SD21 adress
    HANDLE hCom;
    BYTE SerialBuf[200];
    
    ...
    
    		BD.Servo = 0x00;                        //servo 1 (register 0)
    		BD.Speed0 = 0x05;                      //speed 5
    		BD.Leg0a = 0x08;                        //lowbyte
    		BD.Leg0b = 0x07;                         //highbyte
    		
    		SerialBuf[0] = I2C_CMD;			//send I2C command
    		SerialBuf[1] = SD21;			//adress of SD21 (0xc2)
    		SerialBuf[2] = BD.Servo;             
    		SerialBuf[4] = BD.Speed0;
    		SerialBuf[3] = BD.Leg0a;
    		SerialBuf[5] = BD.Leg0b;
    
    		WriteFile(hCom, &SerialBuf, 6, &n, NULL);

    8Bit-Version:

    Code:
    #define I2C_CMD		0x55		// direct I2C control command
    #define CM01_CMD	0x5a	     // CM01 command 
    #define SD21		0xc2		 // SD21 adress
    HANDLE hCom;
    BYTE SerialBuf[200];
    
    ...
    
    		BD.Servo = 0x3F;                            //base adress servo1 (63)
    		BD.Leg0base = 0x40;                       //position 64
    		
    		SerialBuf[0] = I2C_CMD;			//send I2C command
    		SerialBuf[1] = SD21;			//adress of SD21
    		SerialBuf[2] = BD.Servo;
    		SerialBuf[3] = BD.Leg0base;
    
    		WriteFile(hCom, &SerialBuf, 4, &n, NULL);
    Es bewegt sich absolut nichts

    Weiss jemand Rat ?

  5. #115
    Benutzer Stammmitglied
    Registriert seit
    13.07.2005
    Ort
    Leipzig
    Alter
    45
    Beiträge
    90
    ok, habe den fehler gefunden.

    ich hatte vergessen, dem CM02 die Anzahl der Datenbytes mitzuteilen


Seite 12 von 12 ErsteErste ... 2101112

Berechtigungen

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

12V Akku bauen