- 3D-Druck Einstieg und Tipps         
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 40

Thema: linker Antrieb klemmt + Base stürzt ab

  1. #21
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    Anzeige

    Praxistest und DIY Projekte
    > tja ich säuber die codescheiben nochmal ganz sauber,

    Das bringt nichts (kanns nur schlimmer machen wenn man nicht vorsichtig ist)
    wenn da kein offensichtlich erkennbarer Dreck dran ist.
    Den Sensor selbst hast Du auch überprüft?

    Einzige sonstige Möglichkeit ist, das die Potis durch zu starke mechanische Belastung beschädigt wurden und sich daher
    nicht mehr passend einstellen lassen, dann bliebe nur einschicken oder selbst Ersatzteile einbauen.


    MfG,
    SlyD

  2. #22
    Erfahrener Benutzer Fleißiges Mitglied Avatar von I♥ROBOTIC
    Registriert seit
    15.03.2010
    Ort
    Fürstenstein
    Alter
    27
    Beiträge
    112
    der rechte encoder ist wunderbar eingestellt, 50:50, auch bei unterschiedlichen richtungen und geschwindigkeiten, aber links wenn ich einstelle und die richtung oder die geschwindigkeit ändere kommt z.B. wieder 70:30 raus...


    aber wenn ich auf der Base setMotorPower aufrufe fährt der RP6 auch mit beiden antrieben, wird die funktion von der M32 aufgerufen fährt nur der rechte antrieb und dann bekomm ich den fehler 0xf8 raus -.-


    schlecht.. muss ich den rp6 wohl einschicken -.-

  3. #23
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    aber links wenn ich einstelle und die richtung oder die geschwindigkeit ändere
    kommt z.B. wieder 70:30 raus...
    Sehr Seltsam.
    Läuft der Test #8 durch oder nicht?
    (70:30 ansich ist zwar nicht schön, aber wenn es nicht schlechter als das wird, kann das damit auch noch funktionieren)


    schlecht.. muss ich den rp6 wohl einschicken -.-
    Man kann die Teile auch einzeln als Ersatzteil bekommen.
    Es ist durchaus möglich das Zahnrad mit dem Musteraufkleber und die Sensorplatine selbst auszutauschen.
    Alternative ist mit genauer Fehlerbeschreibung einschicken.
    (in jedem Fall vorher per Mail bei info ät arexx punkt nl melden)


    aber wenn ich auf der Base setMotorPower aufrufe fährt der RP6 auch mit beiden antrieben, wird die funktion von der M32 aufgerufen fährt nur der rechte antrieb und dann bekomm ich den fehler 0xf8 raus -.-
    Das liegt aber an Deinem Programm und nicht am Antrieb.
    (0xF8 heisst "unbekannter Fehler" bei der I2C Übertragung d.h. Du hast auf jeden Fall irgendwas in einem der beiden Programme falsch gemacht...)


    MfG,
    SlyD

  4. #24
    Erfahrener Benutzer Fleißiges Mitglied Avatar von I♥ROBOTIC
    Registriert seit
    15.03.2010
    Ort
    Fürstenstein
    Alter
    27
    Beiträge
    112
    Läuft der Test #8 durch oder nicht?
    bei test 8 bekomm ich errors für beide seiten ( der linke antrieb läuft kurz and bleibt dann stehen, der rechte beschleunigt bis das programm abbricht)


    Man kann die Teile auch einzeln als Ersatzteil bekommen.
    Es ist durchaus möglich das Zahnrad mit dem Musteraufkleber und die Sensorplatine selbst auszutauschen.
    Alternative ist mit genauer Fehlerbeschreibung einschicken.
    (in jedem Fall vorher per Mail bei info ät arexx punkt nl melden)
    gott sei danke, kann ich mich wenigstens noch mit meinem greifarm beschäftigen


    Das liegt aber an Deinem Programm und nicht am Antrieb.
    (0xF8 heisst "unbekannter Fehler" bei der I2C Übertragung d.h. Du hast auf jeden Fall irgendwas in einem der beiden Programme falsch gemacht...)
    hm.. naja programm nochmal überprüfen

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied Avatar von I♥ROBOTIC
    Registriert seit
    15.03.2010
    Ort
    Fürstenstein
    Alter
    27
    Beiträge
    112
    hmm. ich kann beim besten willen den fehler nicht finden...


    Code:
    #include "RP6ControlLib.h"
    #include "RP6I2CmasterTWI.h"    
    #include "RP6Control_I2CMasterLib.h"
    
    void I2C_requestedDataReady(uint8_t dataRequestID) 
    { 
       checkRP6Status(dataRequestID); 
    } 
    
    void I2C_transmissionError(uint8_t errorState) 
    { 
       writeString_P("\nI2C ERROR - TWI STATE: 0x"); 
       writeInteger(errorState, HEX); 
       writeChar('\n'); 
    }
    
    volatile uint16_t speed=0;
    volatile uint16_t dir=0;
    volatile uint16_t speedcount=0;
    volatile uint16_t dircount=0;
    
    ISR(TIMER1_COMPA_vect)
    {
    	if (PINA & ADC5)
    	{
    		speedcount++;
    	}
    	else 
    	{
    		if (speedcount > 0)
    		{
    			speed=speedcount;
    		}
    		speedcount=0;
    	}
    	
    	
    	if (PINA & ADC3)
    	{
    		dircount++;
    	}
    	else 
    	{
    		if (dircount > 0)
    		{
    			dir=dircount;
    		}
    		dircount=0;
    	}
    }
    
    void initRC(void)
    {
    	TCCR1A = (0 << WGM11) | (0 << WGM10) | (0 << COM1A0) | (0 << COM1A1);	// CTC-Mode4, ohne OCR-Pin
    	TCCR1B = (0 << WGM13) | (1 << WGM12) | (0 << CS12)  | (1 << CS11) | (0 << CS10); // CTC und prescaler /8
    	TIMSK |= (1 << OCIE1A); 										// Interrupt ein
    	OCR1A  = 20; // 100kHz?
    	
    	DDRA &= ~ADC5;
    	PORTA &= ~ADC5; 
    	DDRA &= ~ADC3;
    	PORTA &= ~ADC3; 
    }
    
    int main(void)
    {
    	initRP6Control();
    	initLCD();
    	initRC();
    	
    	startStopwatch1();
    	
    	mSleep(1000);
    	
    	I2CTWI_initMaster(100);  
    	I2CTWI_setRequestedDataReadyHandler(I2C_requestedDataReady); 
    	I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);
    
    	uint16_t speed1, dir1;
    	
    while(1)
    {
    	cli(); // Interrupts verbieten
    	speed1=speed;
    	dir1=dir;
    	sei(); // Interrupts wieder zulassen
    	
    	if (speed1 < 150 && speed1 > 140)
    	{
    		if (dir1 > 180){ setMotorDir(BWD,FWD); setMotorPower(150,150); }
    		if (dir1 < 120){ setMotorDir(FWD,BWD); setMotorPower(150,150); }
    	}
    	
    	if (speed1 < 140) 
    	{ 
    		setMotorDir(BWD, BWD); 
    		if(dir1 < 140){ setMotorPower((300-speed1),(300-speed1)-dir1); }
    		if(dir1 > 150){ setMotorPower((300-speed1)-(300-dir1),(300-speed1)); }
    		if(dir1 < 150 && dir1 > 140) { setMotorPower(300-speed1, 300-speed1); }
    	}
    	if (speed1 > 150) 
    	{
    		setMotorDir(FWD, FWD); 
    		if(dir1 < 140){ setMotorPower(speed1+dir1,speed1-dir1); }
    		if(dir1 > 150){ setMotorPower(speed1-(300-dir1), speed1+(300-dir1)); }
    		if(dir1 < 150 && dir1 > 140) { setMotorPower(speed1, speed1); }
    	}
    	
    	if(adcLSL < 500 || adcLSR < 500) { PORTA |= ADC7; }
    	if(adcLSL > 500 && adcLSR > 500) { PORTA &= ~ADC7; }
    	
    	task_checkINT0(); 
    	task_I2CTWI();
    }
    	return 0;
    }

    bin ich blind oder was -.- ?

  6. #26
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    bin ich blind oder was -.- ?
    Du könntest an der falschen Stelle schauen.

    Eine setMotorPower Funktion ist in der normalen I2C Lib nicht enthalten - die hast Du ja selbst geschrieben also liegt vermutlich dort bzw. eher in Deinem Slave Programm der Fehler.

    Vielleicht ist es auch einfach das hier:

    >... uint16_t ...

    >setMotorPower((300-speed1

    und alles was damit zusammenhängt.
    Ich kenne natürlich den Rest der ZWEI Programme nicht (bzw. den Teil den Du geändert hast), aber 300 sieht auf den ersten Blick problematisch aus.
    Der maximale PWM Wert ist mit den Timer Einstellungen auf der Base 210.
    Für die PWM Werte eine 16 Bit Variable zu verwenden dürfte problematisch sein, das sollten 8 Bit sein.


    MfG,
    SlyD

  7. #27
    Erfahrener Benutzer Fleißiges Mitglied Avatar von I&amp;#9829;ROBOTIC
    Registriert seit
    15.03.2010
    Ort
    Fürstenstein
    Alter
    27
    Beiträge
    112
    ich kanns gerade nicht testen, da mein akkupack leer ist, und wenn ich den rc empfänger am RP6 anstecke geht er aus, aber nicht nur ein Reset, sonder ganz aus, das LCD wird schwarz. der rp6 geht erst wieda an wenn ich den RC-empfänger anstecke... entweder er zieht viel zu viel Strom, oder er ist kaputt (dann könnte ich mir auch erklären, warum der RP6 bei den letzten versuchen nicht auf die fernsteuerung reagiert hat, das kann aber auch an dem fast leeren akkupack gelegen haben.)


    MfG Julian

  8. #28
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Die Akkus sollte man gelegentlich auch mal einzeln in einem Ladegerät nachladen. Durch das dauernde serielle Laden aller Zellen im RP6 werden die Zellen ungleich aufgeladen. Auf Dauer schadet dies dem Akkus und die Gesamtkapazität nimmt drastisch ab.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  9. #29
    Erfahrener Benutzer Fleißiges Mitglied Avatar von I&amp;#9829;ROBOTIC
    Registriert seit
    15.03.2010
    Ort
    Fürstenstein
    Alter
    27
    Beiträge
    112
    ich hab die akkus immer einzeln geladen nur 1 mal mit einem 9,8V ladegerät, das aber tatsächlich nur mit 7,2 V lädt..

  10. #30
    Erfahrener Benutzer Fleißiges Mitglied Avatar von I&amp;#9829;ROBOTIC
    Registriert seit
    15.03.2010
    Ort
    Fürstenstein
    Alter
    27
    Beiträge
    112
    woran könnte es liegen, dass der RP6 beim anstecken des RC-empfängers im Reset gehalten wird (wenn das so ist ) oder bricht die spannung nur so stark ein ??


    MFG Julian

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Ähnliche Themen

  1. LCD an RP6-Base
    Von radbruch im Forum Robby RP6
    Antworten: 5
    Letzter Beitrag: 09.11.2010, 22:11
  2. Zusammenspiel der BASE und M32 Control
    Von inka im Forum Robby RP6
    Antworten: 5
    Letzter Beitrag: 01.09.2010, 13:04
  3. bascom und ATTINY 85 PB0 klemmt
    Von kolisson im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 12.05.2009, 03:33
  4. RP6 Robot Base Hardware
    Von Dirk im Forum Robby RP6
    Antworten: 27
    Letzter Beitrag: 19.10.2007, 18:00
  5. Uart zwischen zwei Megas klemmt - - wieder einmal
    Von Murus im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 06.05.2007, 17:12

Stichworte

Berechtigungen

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

Labornetzteil AliExpress