- 3D-Druck Einstieg und Tipps         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 29 von 29

Thema: Rc & Autonomer Roboter - Bauprojekt

  1. #21
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2015
    Beiträge
    10
    Anzeige

    Praxistest und DIY Projekte
    Jeb, da schließe ich Momentan meinen Akku dran an(mit 2 Krokoklemmen)...ist nen alter Bohrmaschinenakku, sie an sich kaputt und dann dachte ich mir benutz ich den doch weiter die sind aber schwer/groß--> und nen Platz für die habe ich auch noch nicht gefunden.
    Gute Idee, die Motorplatine hochkant zustellen. Bin ich noch nicht selbst drauf gekommen. Werde ich gleich umsetzen

    Ja vorne sollen noch US-Sensoren hin, sowie nach hinten(und noch so was mir einfällt, wie das LCD...), aber wenn ich den US-Sensor gerade vor die Wand halte kommen zig verschiedene Messungen raus. Habe ich mim Beispiel Sketch versucht das der mir die Entfernung aufm Seriell Monitor ausgibt. Aber die weichen so stark ab, das der Bot gar nicht erst losfahren wollte habe sogar längere Wartezeiten zwischen Messungen gesetzt hat nix gebracht....

    das ist der Code:
    Code:
    int TriggerPin = 12; // Digital 12 -> hc-sr04 Trigger
    int EchoPin = 10;    // Digital 13 -> hc-sr04 Echo
    // hc-sr04 Vcc -> 5V, GNG -> GND
    
    void setup() 
    {
      Serial.begin(9600);
    }
    
    void loop()
    {
      // establish variables for duration of the ping, 
      // and the distance result in inches and centimeters:
      long duration, cm;
    
      // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
      // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
      pinMode(TriggerPin, OUTPUT);
      digitalWrite(TriggerPin, LOW);
      delayMicroseconds(2);
      digitalWrite(TriggerPin, HIGH);
      delayMicroseconds(10);
      digitalWrite(TriggerPin, LOW);
    
      // The same pin is used to read the signal from the PING))): a HIGH
      // pulse whose duration is the time (in microseconds) from the sending
      // of the ping to the reception of its echo off of an object.
      pinMode(EchoPin, INPUT);
      duration = pulseIn(EchoPin, HIGH);
    
      // convert the time into a distance
      cm = microsecondsToCentimeters(duration);
      if (cm <= 500)
      {
        Serial.print(cm);
        Serial.println("cm");
        delay(100);
      }
      else Serial.println("Ungueltige Messung ! Entfernung groesser als 5 Meter !!!");
      delay(100);
    }
    
    long microsecondsToCentimeters(long microseconds)
    {
      // The speed of sound is 340 m/s or 29 microseconds per centimeter.
      // The ping travels out and back, so to find the distance of the
      // object we take half of the distance travelled.
      return microseconds / 29 / 2;
    }
    den hatte ich dann so umgeändert, dass ich da eine If reingepackt habe, die den Motor auf 0 PWM setzen soll wenn das Hindernis 20 cm vor ihm ist, else dann mit PWM von30 fahren...der ist dann ruckelig gefahren, weil es so große Abweichungen gab...und irgendwann ganz stehen geblieben, dabei war die Wand noch nen Meter entfernt.

    Morgen setze ich mich mal nochmal hin und versuche es nochmal

    Heute ist zu schönes Wetter um vorm Schreibtisch/PC zuhängen und zu Programmieren aber hochkant werde ich die Platine heute noch stellen

  2. #22
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.198
    HC-SR 04?
    Wünsch ich dir Glück-ich hab die auch am Monster und oberhalb von ca. 1.20m sind die unbrauchbar. Nix mit 4m.
    Die escheint es zuminest in zwei sehr verschiedenen qualitäten zu geben.
    Dein Programm da ist bissel Murks: finde mal raus, was bei dem pulseIn passiert, wenn kein Hindernis im Erfassungsbereich ist....steht in der Arduino-Referenz.
    Ansonsten gäbs da jede Menge mögliche Störquellen. Mal ehrlich: brauchst du es Zentimetergenau?
    Ich würd da einfach mit bissel Unschärfe arbeiten, ungefähr so:

    messe 3x und rechne den Durchschnitt aus
    -wenn der Durchschnitt deutlich unter 20cm liegt, dann unternimm was, ansonsten
    -fahr fröhlich weiter.
    Sinngemäss. Du kannst auch die Entfernungswerte (bissel vermitteln, sonst stellt sich einer zu Tode) direkt aufs Tempo geben, indem du Entfernung auf PWM mapst. Das ergibt hübsche softe Abbremsmanöver.
    Musst halt sinnvolle Wertebereiche benutzen.
    Und: fährt das Teil bei PWM=30 echt schon?
    Beim Segway drehen sich die Räder (im Leerlauf) erst ab PWM 20 ungefähr überhaupt. Alles darunter wird praktisch gar nicht benutzt, weil sich da nix tut (ausrollen würd er wahrscheinlich, aber erklär das mal der Regelung).
    Ruckeliges Fahrverhalten kann auch daher rühren, dass der Motor _manchmal_ anläuft-und manchmal eben nicht, weils zu wenig Power gibt.

    Die Platine hochkant obendrauf zu montieren solltest du nur als Anregung verstehen, ich könnt mir vorstellen, dass die auch seitlich zwischen den Räder (auch aufrecht) nen guten Platz hätte. Raus willst mit dem kleinen Auto ja sowieso nich, oder?
    Das solltest du dir angewöhnen, sowas auch bisschen zu planen, spätestens wenn du mal nen E-Kompass benutzen willst, wirst du das schätzen lernen. Mein Monster hat einen drauf, nur 15-20 cm von einem der Fahrmotoren entfernt (weil er unbedingt mit unter die Karosserie sollte),das klappt dann nur, wenn man ein paar Sachen richtig macht.
    Auch andere Komponenten stören sich mitunter-das sind dann immer diese Fehler, wo man echt Nerven lässt, weils eigentlich funktionieren müsste, aber es trotzdem nicht tut.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  3. #23
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2015
    Beiträge
    10
    Ja ist nen hc-sr04

    Ich hatte jetzt mal auf dem Seriell Monitor ausgegeben, was der hc-sr04 ausspuckt, nach dem PulseIn wenn nix im Erfassungsbereich ist...sieht so aus:

    4714
    0
    0
    0
    0
    0
    17188
    17084
    17207
    17108
    0
    17122
    17084
    17108
    17084
    17183
    17108
    17110
    17083
    17084
    17140
    17134
    17207
    17159
    17086
    17066
    17084
    17084
    17183
    17084
    17090
    17207
    17108
    17108
    17108
    17090
    17108
    17084
    17108
    17183
    17110
    17134
    17084
    17207
    17086
    17107
    17231
    17108
    17188
    17083
    17084
    17107
    17134
    17113
    17206
    17059
    17180
    17081
    17156
    17083
    17158
    17083
    17107
    17180


    Die ersten 6 Messungen wurden recht langsam ausgeführt und dann ging es Schlag auf Schlag und die 17... ratterten nur so runter


    Ne cm genau brauche ich es auf keinen Fall...soll ja erstmal vor nem Hindernis stehen bleiben und hinterher ausweichen.

    Ich probiere es mal wie du gesagt hast mit deinem Lösungsvorschlag mit dem 3 x Messen und dann Durchschnitt


    Ja das mit der Platzierung habe ich auch eher so gesehen
    Da wird sich schon ein Plätzchen finden
    Ne raus werde ich mit dem nicht gehen.

  4. #24
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.198
    Du hast nicht nachgelesen.
    PulseIn wartet (WARTET!) bis was passiert.
    Wenn nun (weil die Entfernung grösser ist) nichts passiert, wartet PulseIn ziemlich lange. Das bremst dir das gesamte Programm aus!
    Kannst du aber recht einfach beheben (und damit auch noch die US-sensoren entschieden schneller machen, wenn du die volle Reichweite gar nicht brauchst). Lies die Referenz mal, da steht wie...

    Dreimal messen ist für ne vernünftige Vermittlung zu wenig. Ich hatte das nur vorgeschlagen, weil US generell etwas lahmarschig ist. Würd ich beim Monster zehnmal messen, ist das Ding durch die Mauer schon durch ehe der Rechner sicher wär: da ist was im Wege.
    Und: man kann das filtern noch viel weiter treiben. Z.b indem unglaubwürdige Resultate gleich ausgesondert werden:

    Messung 1: 3.80m
    Messung 2: 0.20m
    Messung 3: 3.30m
    Hier vermittle ich gar nich erst- der mittlere Wert fliegt direkt raus, und es wird nen neuer geholt. Da kann man sogar noch die aktuelle Geschwindigkeit reinnehmen, und feststellen ob es nen starres oder bewegliches Hindernis ist- und verschieden drauf reagieren. Das klappt aber nur, wenn man die Zeit wirklich hat.
    Es ist immer wieder spannend, wie sich die ganzen Theorien in der Praxis in nichts auflösen, weils so einfach eben doch nicht funktioniert. Mir macht das mit den meisten Spass.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  5. #25
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.06.2004
    Ort
    Berlin
    Alter
    59
    Beiträge
    539
    du kannst aber pulsein auch in der wartezeit begrenzen.
    das leben ist hart, aber wir müssen da durch.

  6. #26
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.198
    Musst du alles verraten?
    Ich habs absichtlich nicht getan, weil es nie schaden kann, wenn Anfänger doch mal in die Doku schauen...
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  7. #27
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.06.2004
    Ort
    Berlin
    Alter
    59
    Beiträge
    539
    sorry ich denke immer nicht an die lernenden
    das leben ist hart, aber wir müssen da durch.

  8. #28
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2015
    Beiträge
    10
    So jetzt gibt es auch mal wieder ein Status Update, nach einer längeren Pause, weil ich einfach keine Zeit hatte...

    Für den Arduino habe ich jetzt einen Platz gefunden und für den Motorcontroller bin ich gerade noch was am bauen

    Klicke auf die Grafik für eine größere Ansicht

Name:	IMAG1211.jpg
Hits:	21
Größe:	39,2 KB
ID:	30109

    Vorne habe ich den hc-sr04 Ultraschallsensor montiert:

    Klicke auf die Grafik für eine größere Ansicht

Name:	IMAG1212.jpg
Hits:	20
Größe:	31,7 KB
ID:	30110 Klicke auf die Grafik für eine größere Ansicht

Name:	IMAG1214.jpg
Hits:	16
Größe:	49,7 KB
ID:	30112

    Die Platine ist schon etwas älter, aber sowas kann man ja deswegen nicht wegwerfen

    Er hält jetzt auch vor einem Hindernis an wenn es in einer Entfernung von 15 cm vor ihm ist.

    Ich verwende jetzt aber immer noch den Befehl

    pulseIn(pin, value);

    Und dann einfach nen delay();

    Und das was ihr angesprochen habt, wo ich dann auch noch nachgelesen habe lautet ja

    pulseIn(pin, value, timeout);

    Das hat bei mir aber irgendwie nicht funktioniert


    Außerdem kam auch noch ein SD Karten Modul an, wobei mir dein Bot, Rabenauge mich dazu angeregt hat zum Daten speichern etc.

    Aber das kommt erst später zum Einsatz! Erstmal muss sich mein Bot selbst im Raum zurecht finden, bevor ich mich daran wende.

    Da werde ich an den nächsten Tagen dran rum basteln.

  9. #29
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.198
    Für nen paar kleinigkeiten brauchst du nicht gleich ne SD-Karte. Nen paar Settings oder so kann man auch im EEPROM speichern.
    Und: die bekannten Datenlogging-Beispiele sind pillepalle. Wenn dir das genügt, ok, aber wenn nicht, würd ich damit mal noch ne Weile warten.
    Hast du denn den timeout in Micro-oder Millisekunden angegeben?
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Seite 3 von 3 ErsteErste 123

Ähnliche Themen

  1. Autonomer Solar Roboter
    Von SirWesley im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 6
    Letzter Beitrag: 10.12.2010, 18:40
  2. NEUER MOTIVIERTER AUTONOMER ROBOTER
    Von schurm2 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 105
    Letzter Beitrag: 22.09.2006, 19:19
  3. Abschlussarbeit: Autonomer Roboter
    Von mafa im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 20
    Letzter Beitrag: 28.09.2005, 21:10
  4. Grundlegende Verhaltensweisen autonomer Roboter?
    Von Scott im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 7
    Letzter Beitrag: 24.01.2005, 16:37
  5. [ERLEDIGT] autonomer roboter
    Von busty im Forum Motoren
    Antworten: 5
    Letzter Beitrag: 05.08.2004, 16:58

Berechtigungen

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

12V Akku bauen