- 3D-Druck Einstieg und Tipps         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 48

Thema: ASURO: kleine Aufgabe - ganz langsam fahren

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

    LiFePo4 Akku selber bauen - Video
    Hier noch mal eine etwas genauere Messung.
    Diese mal mit Messprogramm, damit man auch den eigenen Asuro mal vermessen kann.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken asurospeed2.jpg  
    Angehängte Dateien Angehängte Dateien

  2. #12
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    71
    Beiträge
    13.051
    Zitat Zitat von waste
    Einen konstanten Strom in den Motor eingespeist und anhand der Spannung die Beschleunigung bestimmt. Aus meinem Excelsheet das Drehmoment abgelesen und daraus das Trägheitsmoment berechnet. Zur Gegenprobe habe ich auch noch das Abbremsen durch die Eigenreibung gemessen und daraus das Trägheitsmoment berechnet. Ich bin auf ein Trägheitsmoment von 85*E-9 Nms² gekommen.
    Wie hast Du die Werte aufgenommen?
    Motor mit Getriebe und Rad?
    Mit Oszilloskop?
    Anfangssteigung der Spannung oder Zeitkonstante oder curve fitting?
    Ich bin eigentlich nicht neugierig, ich will halt nur alles wissen.
    Manfred

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    Ich hab jetzt einige Messungen zur Odometrie gemacht und bin zu dem Schluss gekommen, dass man nur die gleichen Übergänge von hell auf dunkel oder umgekehrt nehmen darf. Die Dauer von hell ist unterschiedlich zu der von dunkel und auch noch abhängig vom Umgebungslicht. Das erschwert die Sache noch zusätzlich, da die Abtastrate jetzt 0.6sec ist. Eine kontinuierliche Geschwindigkeitsregelung wird da schwierig wenn nicht unmöglich sein. Ich werde jetzt einen anderen Weg mit schrittweiser Fortbewegung verfolgen.

    Zusätzlich habe ich bei den Messungen eine im Takt der Reflexscheibe schwankende Geschwindigkeit festgestellt. Eine genauere Untersuchung zeigte, dass die Reflexscheibe nicht zentrisch ist, dadurch ergibt sich die schwankende Geschwindigkeit bei der Odometrie. Siehe auch das Bild der Geschwindigkeitsmessung. Deutlich zu sehen: eine Schwingung dauert 8 Messungen und das entspricht einem Umlauf der Reflexscheibe.
    Das muss ich auch noch erst verbessern.

    Waste
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken asuro3.gif  

  4. #14
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    71
    Beiträge
    13.051
    Zitat Zitat von stochri
    Hier noch mal eine etwas genauere Messung.
    Diese mal mit Messprogramm, damit man auch den eigenen Asuro mal vermessen kann.
    Vielen Dank für die weitere Messung.
    Ein Frage zu den Angaben: früher hieß es Teppich und glatter Boden. Low friction ist glatter Boden?

    Wie ist es zu erklären, dass bei der höheren Geschwindigkeit bei gleichem PWM Wert der Sprung beim Anfahren vorhanden ist?, Haftreibung auf glattem Boden? Kollektor-Stellung des Motors.

    "low friction" fährt langsamer?
    Manfred

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    @Manfred
    Bezüglich Messung des Trägheitsmoment vom Motor
    Wie hast Du die Werte aufgenommen?
    Motor mit Getriebe und Rad?
    Mit Oszilloskop?
    Die Spannung habe ich mit dem Oszi gemessen. Bei konstantem Strom ergibt das eine stetig steigende Spannung. Die Steigung der Spannung ist ein Mass für die Winkelbeschleunigung.
    Ich habe sowohl den Motor alleine als auch mit Getriebe und Rad gemessen. Da ergeben sich nur sehr geringe Unterschied, das Hauptträgheitsmoment hat der Motor allein.

    Waste

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    @Waste
    sehr schöne Messung. Stammen die Messwerte vom Atmega selbst, oder hast du extern gemessen ?

    Geschwindigkeitsregelung wird da schwierig wenn nicht unmöglich sein. Ich werde jetzt einen anderen Weg mit schrittweiser Fortbewegung verfolgen.
    Das halte ich auch für den richtigen Weg. Ich glaube nicht, dass es notwendig ist, bei jedem Encoder-Tic regeln. Die Bewegung des Asuro kann mit Sicherheit ohne zu regeln über eine Sekunde stabil gehalten werden.


    stochri

  7. #17
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    @Manf
    Ja so ist es halt: was nützt eine Messung genaue Beschreibung des Messvorgangs ?

    Ein Frage zu den Angaben: früher hieß es Teppich und glatter Boden. Low friction ist glatter Boden?
    ramp down = Lererlaufgeschwindigkeit bei Schrittweiser Verkleinerung des PWM-Wertes
    ramp up = Lererlaufgeschwindigkeit bei Schrittweiser Erhöhung des PWM-Wertes
    Low Frichtion = Geschwindigkeit auf glattem Boden bei Schrittweiser Erhöhung der Geschwindigkeit

    Leerlaufmessung: ohne Bodenberührung der Räder .

    In dem Diagramm kann man sehr schön den Punkt der Überwindung der Haftreibung des ASURO-Getriebes und Motor erkennen. Wird die Motorgeschwindikeit von scnell nach langsam verändert ist die minimal erreichbare Geschwindigkeit wie zu erwarten niedriger.

    stochri

  8. #18
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    71
    Beiträge
    13.051
    Ja, danke, das war es, Leerlaufgeschwindigkeit bei der blauen Kurve, jetzt ist es mir klar. Das andere ist dann mit low friction.
    Manfred

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    @stochri
    Stammen die Messwerte vom Atmega selbst, oder hast du extern gemessen ?
    Die Messwerte wurden vom Atmega während der Fahrt aufgenommen und gespeichert. Danach auf Anfrage(Tastendruck) ausgelesen. Dann vom Hyperterminal nach Excel kopiert und das Diagramm erstellt.

    Waste

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    So, ich hab jetzt den Asuro dazu gebracht, sich mit der Geschwindigkeit von 1cm/sec zu bewegen. Eine Fahrt kann man es aber nicht wirklich nennen, es ist mehr ein Gehoppel. Aber er bewegt sich exakt mit 1cm/sec, sowohl auf Teppich als auch auf glattem Untergrund. Das Testprogramm ist angehängt.
    Das Prinzip ist, dass er sich alle 0.3sec um 3mm fort bewegt. Die 3mm entsprechen einem Encoder-Tick. Damit er die Haftreibung auch bei schwerem Gelände überwindet, ist eine PWM von 120 eingestellt. Dadurch bewegt er sich ruckartig. Mit dem PWM-Wert kann man noch variieren, aber zu klein darf er nicht werden, sonst läuft er nicht an und zu gross auch nicht, sonst macht er gleich 2 Ticks auf einmal.

    Mit dem Testprogramm kann man per Tastendruck die Geschwindigkeit von 0.2cm/sec bis 5cm/sec verändern. Siehe dazu den Sourcecode.

    Waste
    Code:
    /*******************************************************************************
    *
    * Description: Schleichfahrt
    *
    *****************************************************************************/
    #include "asuro.h"
    #include <stdlib.h>
    
    int main(void)
    {
    	unsigned char flagl, flagr, links, rechts, weiter, sw;
    	unsigned int data[2], dt;
    	unsigned long zeit;
       
    	Init();
    	MotorDir(BREAK,BREAK);
    	MotorSpeed(120,120);
    	OdometrieData(data);
    	OdometrieData(data);
    	if (data[0] > 600) flagl = TRUE;		// Flag setzen
    	else flagl = FALSE;
    	if (data[1] > 600) flagr = TRUE;		// Flag setzen
    	else flagr = FALSE;
    	dt=300;
    	zeit=Gettime();
    	zeit += dt;
    	while(1){
    		if (Gettime() > zeit){
    			links = FWD; rechts = FWD;
    			MotorDir(FWD,FWD);
    			weiter = 1;
    			while(weiter){						// fahre einen Schritt
    				OdometrieData(data);			// messe Odometrie
    				if ((data[0] < 550) && (flagl == TRUE)) {flagl = FALSE; links = BREAK;}
    				if ((data[0] > 650) && (flagl == FALSE)) {flagl = TRUE; links = BREAK;}
    				if ((data[1] < 550) && (flagr == TRUE)) {flagr = FALSE; rechts = BREAK;}
    				if ((data[1] > 650) && (flagr == FALSE)) {flagr = TRUE; rechts = BREAK;}
    				MotorDir(links,rechts);
    				if ((links == BREAK) && (rechts == BREAK)) weiter = 0;
    			}
    			zeit += dt;
    		}
    		sw = PollSwitch();
    		if (sw & 0x01)
    			dt = 60;		//5cm/sec
    		if (sw & 0x02)
    			dt = 100;		//3cm/sec
    		if (sw & 0x04)
    			dt = 150;		//2cm/sec
    		if (sw & 0x08)
    			dt = 300;		//1cm/sec
    		if (sw & 0x10)
    			dt = 600;		//0.5cm/sec
    		if (sw & 0x20)
    			dt = 1500;		//0.2cm/sec
    	}
    	while(1);
    	return 0;
    }
    Angehängte Dateien Angehängte Dateien

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test