- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 63

Thema: XPlorer 2

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Inzwischen hab ich sowas wie ein Fahrprogramm geschrieben.
    Und...Probleme.

    Im Grunde läuft es so ab: es wird ein Ultraschall-Ping nach vorne gesendet, dann aufs Echo gewartet, und anhand der ermittelten Entfernung festgelegt, was passieren soll: bei mehr als einem Meter Platz Volgas, wird es weniger, geht der XP2 etwas vom Gas, und wenn ein halber Meter unterschritten wird, wird gelenkt.
    Eigentlich ganz simpel nur- funktioniert es nicht richtig.
    Der Zustand "Vollgas" wurde nie erreicht.

    Also hab ich mir mal angeschaut, was denn der vordere US-Sensor so liefert- und der kommt, aus irgendeinem Grund, nicht mehr über etwa 70cm hinaus.
    Auch nicht, wenn 5m vor dem Roboter nichts ist.
    Da ich absolut keine Erklärung für finden konnte (und irgendwelche Beeinflussungen durch andere Programmteile ausschliessen wollte), hab ich die Sensor-Abfrage-und Auswert-Routine mal in ein separates Programm gepackt, mit dem selben Ergebnis.

    Interessant ist: betreib ich den Arduino Nano nur an USB, wird die mögliche Entfernung grösser.
    Schalt ich auf Akkubetrieb um ist bei 70 cm Schluss.
    Es kann aber kein Problem mit der Stromversorgung sein, denn im Akkubetrieb messe ich an der 5V-Schiene (die auch den US-Sensor versorgt) 4.97V, im USB-Betrieb nur knapp vier.
    Es müsste also, wenn die Stromversorgung die Ursache wäre, umgedreht sein.

    Nen Gegentest habe ich auch gemacht: der hintere US-Sensor erreicht lässig Werte oberhalb nem Meter.
    Der funktioniert also offenbar...die Software für beide kann auch nicht die Ursache sein, denn die ist identisch.

    Interessant auch: innerhalb der Distanz, die der vordere schafft, stimmen die Ergebnisse auch.
    Aber während eben der hintere auch Entfernungen von mehr als 2m sicher messen kann, ist vorne bei knapp über 70 cm Schluss.

    Ich hänge mal die Sensoren-Abfrage an, finde da zwar keinen Fehler (wie gesagt, der hintere wird ganz genauso abgefragt, funktioniert aber richtig), vielleicht findet doch jemand etwas, dass ich übersehen habe:

    Code:
    void pingVorne()// ******************** Vorn nach Hindernissen suchen **************************************
    {
      delay(10);                            // ggf, alte Echos abklingen lassen
      digitalWrite(triggerVorne, LOW);
      delayMicroseconds(2);
      digitalWrite(triggerVorne, HIGH);     //Trigger Impuls 10 µs
      delayMicroseconds(10);
      digitalWrite(triggerVorne, LOW);      //Messung starten
      long laufZeit = pulseIn(echoVorne, HIGH,maxEntfernung); // Echo-Zeit messen, aber nicht zu lange warten
      float messung=laufZeit/ 58.2;         //Laufzeit in cm umrechnen
      entfernungVorne = ((entfernungVorneAlt*0.2)+(messung*0.8)); // Ergebnis glätten
      if(entfernungVorne==0)                // das gibts nicht, also muss die Bahn frei sein
        {
          entfernungVorne=120;
        }
      entfernungVorneAlt=entfernungVorne;
    }

    Die Variable maxEntfernung ist ne globale, die sorgt dafür, dass der Eingang nicht die volle Sekunde wartet, was bei pulseIn() normalerweise der Fall wäre.
    Die kann auch nicht die Ursache sein (damit _könnte_ man die mögliche Entfernung einschränken)- aber der hintere benutzt die auch.

    Der einzige Unterschied liegt in den Pins: der vordere hängt an A0 und A1, während der hintere digitale Pins nutzt.
    Aber die sind natürlich ordentlich als Ein- bzw. Ausgang definiert.

    Hat jemand ne Idee?
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    ich gehe davon aus, dass die

    #define MAX_DISTANCE 100 //400

    auf 400 eingestellt ist?

    wie verhält sich der hintere sensor vorne?
    gruß inka

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Auch ganz beliebt: Der Sensor bekommt ein Echo vom Boden.
    Abhilfe: Etwas nach oben richten.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Nein, die ist sogar deutlich höher.
    Das Timeout wird nämlich in Mikrosekunden angegeben.
    Wie gesagt: das kann nicht die Ursache sein, denn diese Variable benutzen beide.
    Testweise hatte ich das auch mal ganz raus genommen...ohne Erfolg.

    Interessante Idee, die Sensoren einfach mal zu vertauschen- da hätte man selbst drauf kommen können.
    Grad eben versucht...
    Wenn ich sie austausche, dann läufts umgedreht-also ist der Sensor, und nicht das Board, die Ursache *grummel
    Was haben denn diese Dinger andauernd....?
    Den hatte ich beim Umbau auf die anderen Motoren nicht mal abgesteckt, geschweigedenn ausgebaut.

    @Holomino:
    Das hab ich schon bedacht. Das Problem besteht auch, wenn ich das Teil quer durch nen grösseren Raum richte, von Ecke zu Ecke (was dann locker mehr als 5m sind).
    Er läuft auch _niemals_ ins Timeout, sondern gibt immer brav irgendwas zwischen 68 und 75cm zurück- oder eben weniger (und das stimmt dann auch).
    Geändert von Rabenauge (15.02.2020 um 10:18 Uhr)
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von Rabenauge Beitrag anzeigen
    Interessante Idee, die Sensoren einfach mal zu vertauschen- da hätte man selbst drauf kommen können.
    Grad eben versucht...
    Wenn ich sie austausche, dann läufts umgedreht-also ist der Sensor, und nicht das Board, die Ursache *grummel
    Was haben denn diese Dinger andauernd....?
    Den hatte ich beim Umbau auf die anderen Motoren nicht mal abgesteckt, geschweigedenn ausgebaut.
    die Sensoren kosten fast nichts und sind auch schon mal defekt gleich wenn sie ankommen. ich weiss ja nicht wieviel du bestellt hast - für den fall der fälle - ich hab noch ein paar... so ein teil kann auch sein gewicht in gold wert sein, wenn man es mal eilig hat
    gruß inka

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Das ist kein 04er, sondern der 05er.
    Die kosten ein bisschen mehr...

    Inzwischen hab ich mal weiter experimentiert:
    Sensor ausgebaut, und an nen Uno gestöpselt:
    Mit dem Testprogramm (das enthält nur die Definitionen und die Sensor-Ansteuerung, direkt aus dem XP2-Code rüberkopiert, weiter nix)- funktioniert!
    Vorausgesetzt, ich stelle das Timeout auf mindestens 150ms.
    Bei Werten darunter liefert er gar nix.

    Bau ich ihn wieder ein- gehts nicht.
    Dabei benutze ich in beiden Fällen sogar das gleiche Anschlusskabel.
    Die gedruckte Sensorbrille kann eigentlich auch nicht die Ursache sein, denn die müsste ja dann deutlich kürzere Distanzen zurückgeben (falls die beiden Sensorkapseln irgenwdie akustisch kurzgeschlossen würden).
    Aber bis etwas oberhalb 60 cm funktioniert die Messung _zuverlässig_.

    Ich bin halbwegs ratlos...
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von Rabenauge Beitrag anzeigen
    Bau ich ihn wieder ein- gehts nicht. Dabei benutze ich in beiden Fällen sogar das gleiche Anschlusskabel.
    Die gedruckte Sensorbrille kann eigentlich auch nicht die Ursache sein, denn die müsste ja dann deutlich kürzere Distanzen zurückgeben (falls die beiden Sensorkapseln irgenwdie akustisch kurzgeschlossen würden). Aber bis etwas oberhalb 60 cm funktioniert die Messung _zuverlässig_.
    dann weiss ich auch nicht, irgendwie muss es aber schon mit der jeweiligen einbausituation zusammenhängen...
    Was ich mich frage - nicht nur bei deinem xplorer, sondern auch beim Moppi's chassis - braucht man wirklich zwei (oder sogar vier!) abstand sensoren? Eigentlich bin ich bisher immer mit einem - in hauptfahrrichtung - hingekommen, zur not kann sich das ding ja drehen, oder?
    Frage: wie sieht denn die "brille" für den US-sensor aus?
    gruß inka

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    183
    Huh? Ich hab zwei Ultraschallsensoren vorne, einen hinten und ein Lidar und fühle mich damit immer noch "unterbewaffnet". Ich bin tatsächlich mit nur einem Sensor vorne in der Mitte gestartet mit dem Resultat, dass ich bei einer kombinierten Geradeaus/Drehbewegung regelmäßig irgendwo gegen gefahren bin: Der Sichtbereich des Sensors hat nicht ausgereicht Hindernisse zu erkennen die sich von vorne rechts/links nähern.

Berechtigungen

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

LiFePO4 Speicher Test