- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 13

Thema: Odometriesensoren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Ok, das Problem ist offensichtlich gelöst. Aber bei die neue Lib sollte im Prinzip auch die Schwell-werten in die Datei myasuro.h angepasst werden.:

    MY_ODO_LIGHT_VALUE_L
    MY_ODO_DARK_VALUE_L
    MY_ODO_LIGHT_VALUE_R
    MY_ODO_DARK_VALUE_R

    Und danach auch die Lib neu Compilieren. Nicht nur dein eigene Programm. Es könnte sein das es einige Schwarz/Weiß übergangen ich bemerkt hat.

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    15.09.2012
    Beiträge
    14
    Habe ich bereits angepasst, danke

    Ich bräuchte evtl noch Hilfe bei folgendem Wert:
    MY_GO_ENC_COUNT_VALUE

    Momentan ist der Wert 29750L

    Wie muss ich den für eine 8-Segmente Encoderscheibe anpassen?
    nach welcher Formel wird der Wert berechnet?

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Diese Wert ist die Strecke einer Tick Multipliziert mit 10000. Das Rad macht in einer Rundgang ein Weg von ungefähr 120mm. (Durchmesser * Pi) Mit ein Übertragung von 4,8 [EDIT: könnte auch 5 sein, muss mal nach zahlen] zwischen das letzte Zahnrad, und die kleine von die Encoderscheibe, kommt man auf 25 mm pro Encoderscheibe Rundgang. Dann durch 8 Teilen und das sollte in die Nähe von 3.125 mm/ Tick sein. Die Wert Sollte dann 312500 werden.

    Aber man wurde es genauer bekommen wenn Asuro eine Strecke von 1 oder den Kompleten 10 Meter fahrt, und die Tick Anzahl aus den Globale Variabele Encoder zuruck sendet an dich.

    Aber mit diesen Program können alle diesen Persönliche Werten bewertet werden:

    https://www.roboternetz.de/community...asuro-h-selber

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    15.09.2012
    Beiträge
    14
    Danke ich probier das mit dem Testprogramm mal aus

    ich stehe gerade vor dem Problem, dass Asuro sich nach einigen malen Turn aufhängt:

    Code:
    int g_iTurnVal = 90;
    ...
    void MoveOn(void)
    {
    	if(g_iFieldCounter % 7 == 0)
    	{
    		Turn(g_iTurnVal, 100);
    		Go(FIELDSIZE, 100);
    		g_iFieldCounter++;
    		AnalyseField();
    		SerWrite("Turning: ", 9);
    		PrintInt(g_iTurnVal);
    		Turn(g_iTurnVal, 100); //HIER hängt er sich auf und dreht sich ununterbrochen 
    		SerWrite("Got It", 6);
    		g_iTurnVal *= (-1);
    	}
    	Go(FIELDSIZE, 100);
    	g_iFieldCounter++;
    }
    Das Problem kommt immer nur vor, wenn eine andere Variable g_iRow der wert 7 annimmt. g_iRow wird auch benutzt um ein Array als Index anzusprechen.
    g_iRow hat jedoch überhaupt nichts mit Turn(g_iTurnval, 100) zu tun, oder liege ich da falsch?

    können Zugriffsverletzungen an anderen Stellen im Program dazu führen, dass Asuro bei Turn() "durchdreht"?

    Ich bin ratlos
    Habt ihr eine Idee?

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.225
    Zitat Zitat von -Bob- Beitrag anzeigen
    können Zugriffsverletzungen an anderen Stellen im Program dazu führen, dass Asuro bei Turn() "durchdreht"?
    Wenn du "zufällig" Speicher beschreibst (Lesen ist, von Fehlern durch inkorrekte Werte mal abgesehen, kein Problem), kann alles mögliche passieren.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Ich wurde diese Werten g_iRow und g_iFieldCounter auch Zurück senden, damit du kontrollieren kannst was er genau an das Moment im Kopf hat. Könnte aber zu viel Daten werden mit 2400 B/sek.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    15.09.2012
    Beiträge
    14
    Problem Solved.

    Ich Idiot hab nen Anfängerfehler gemacht und ein 7-Stelliges Array mit dem Index 7 angesprochen.
    Interressant dass Asuro so komsich reagiert, wenn Zugriffsverletzungen gemacht werden...

    Vielen Dank

Ähnliche Themen

  1. Bezeichnung der Odometriesensoren gesucht
    Von Hans Z im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 08.01.2007, 11:42

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress