- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 4 von 8 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 76

Thema: ASURO Teilwettbwerb 1.2: Bring den Schatz auf der Linie ...

  1. #31
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Also,
    last uns den Termin neu auf Sonntag 31.7.2005, 20 Uhr festsetzen.

    Bis dahin die vollstängige Lösung dieses Wettbewerbs. Mit Linienverfolgung inclusive.
    Will jemand einen früheren Termin ?

    Gruss,
    stochri

  2. #32
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Nein,
    Ich nicht, ich wäre nur froh wenn mir jemand einen kleinen Tip gäbe, wie ich die Liniendioden
    richtig auslesen soll

  3. #33
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Ich hab meine Linienverfolgung doch noch gefunden. Es war im Ordner mit den Originaldateien. Ich hatte die originale LineDemo abgeändert. Die ursprünglichen Programmzeilen sind noch als Kommentare drin. Ich hoffe ihr kommt damit klar.
    Hier ist sie:
    Code:
    #include "asuro.h"
    
    #define SPEED  0xA0
    
    int speedLeft,speedRight;
    unsigned int lineData[2];
    int ADOffset;
    
    void LineDemo(void)
    {
    unsigned char j;
    int i;
    
    	Init();
    
    	FrontLED(ON);
    	for (j = 0; j < 0xFF; j++) LineData(lineData);
    	LineData(lineData);
    	ADOffset = lineData[0] - lineData[1];
    	speedLeft = speedRight = SPEED;
    	for(;;) {
    		LineData(lineData);
    		i = (lineData[0] - lineData[1]) - ADOffset;
    		if ( i > 4) {				//Line is left
    			StatusLED(GREEN);
    			//speedLeft = SPEED + i;
    			//if (speedLeft > 0xFE) speedLeft = 0xFF;
    			speedRight = SPEED - 2 * i;
    			if (speedRight < 0x01) speedRight = 0x00;
    		}
    		else if ( i < -4) {		//Line is right
    			StatusLED(RED);
    			//speedRight = SPEED - i;
    			//if (speedRight > 0xFE) speedRight = 0xFF;
    			speedLeft = SPEED + 2 * i;
    			if (speedLeft < 0x01) speedLeft = 0x00;
    		}
    		else {
    			StatusLED(OFF);
    			//acc = 0;
    			speedLeft = speedRight = SPEED;
    		}
    		MotorSpeed(speedLeft,speedRight);
    	} 
    }
    Der Termin geht klar.

    Waste

  4. #34
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    @waste:
    ist das nicht das Line-Demo, welches bei der Asruo-CD mitgeliefert wird ?

    @izaseba:
    Wie meinst Du das, die Liniensensoren richtig auslesen ?

    In der asuro.c ist die Routine dazu:

    Code:
    void LineData(unsigned int *data)
    {
    	ADMUX = (1 << REFS0) | IR_LEFT;	// AVCC reference with external capacitor
    	ADCSRA |= (1 << ADSC);			// Start conversion
    	while (!(ADCSRA & (1 << ADIF)));	// wait for conversion complete
    	ADCSRA |= (1 << ADIF);			// clear ADCIF
    	data[0] = ADCL + (ADCH << 8);
    	
    	ADMUX = (1 << REFS0) | IR_RIGHT;	// AVCC reference with external capacitor
    	ADCSRA |= (1 << ADSC);			// Start conversion
    	while (!(ADCSRA & (1 << ADIF)));	// wait for conversion complete
    	ADCSRA |= (1 << ADIF);			// clear ADCIF
    	data[1] = ADCL + (ADCH << 8);
    }
    aber ich gehe jetzt mal davon aus, dass Du das weißt.

    Vielleicht hilft nützt Dir folgender Vorschlag etwas:
    Man könnte ein kleines Programm in den Asuro laden, welches die Werte der beiden Liniensensoren als Klartext mit Return rausschreibt. Dann die empfangenen Werte bei verschiedenen Beleuchtungssituationen abspeichert.
    Schlieslich das ganze File mit einem Tabellenkalkulationsprogramm graphisch darstellen. Dann müsste die Reaktion der Liniensensoren gut sichtbar sein.

    Viele Grüße,
    stochri

  5. #35
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Hallo

    aber ich gehe jetzt mal davon aus, dass Du das weißt.
    Ja stochri, das weiß ich.
    Ich glaube, ich hab mich zu wenig damit befasst..

    @waste:
    ist das nicht das Line-Demo, welches bei der Asruo-CD mitgeliefert wird ?
    Ne, waste hat da paar Änderungen gemacht,
    so wie ich das sehe hat er das umgedreht, also anstatt schneller zu weden macht er die Räder langsamer.


    Gruß Sebastian

  6. #36
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Hier mal ein Vorschlag zur Diskussion:
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken zweipunktlinie_klein.jpg  

  7. #37
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    izaseba hat das richtig erkannt, ich brems das innere Rad ab anstatt einer Beschleunigung des äusseren Rades, wie im Original. Ausserdem lasse ich die Differenz mit dem doppelten Wert eingehen, damit fährt mein Asuro jetzt viel engere Kurven.
    Wichtig ist noch, dass am Anfang eine Kalibrierung ist (ADOffset), da muss der Asuro auf einem gleichmässigen Untergrund stehen, egal ob schwarz oder weiss. Wenn er da halb auf der schwarzen Linie steht, spielt er verrückt.
    Waste

  8. #38
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Wichtig ist noch, dass am Anfang eine Kalibrierung ist (ADOffset), da muss der Asuro auf einem gleichmässigen Untergrund stehen, egal ob schwarz oder weiss. Wenn er da halb auf der schwarzen Linie steht, spielt er verrückt.
    Wenn Du Ihn auf einem gleichmässigem Untergrund stellst, hat dann die ganze Kalibrierung ja keinen Sinn mehr, oder sehe ich das falsch?

    ADOffset = lineData[0] - lineData[1];
    ergibt bei gleichen Werten dann immer null

    Kann man also weglassen ?

    Gruß Sebastian

  9. #39
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hi,
    das stimmt aber nur, wenn beide Sensoren gleich messen,
    das hab ich aber bei mir noch nicht hingebracht !

  10. #40
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    stimmt linux_80,
    produktionsfehler, oder nicht 100% gerade eingelötet, oder nur verdreckt, theorie und praxis,
    darüber hab ich nicht nachgedacht...

    @stochri,
    Ich würde gerne über Deine Zeichnung diskutieren, aber ich glaub,
    die schaue ich mir lieber morgen in Ruhe an, ist wohl schon zu Spät, um alles zu verstehen, was Du uns damit sagen willst.

    Gruß Sebastian

Seite 4 von 8 ErsteErste ... 23456 ... LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test