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

Thema: outdoor I

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.674
    Blog-Einträge
    1
    Mit dem pulseIn() ist es wie mit dem delay(). Das kannst Du auch zu Fuß machen (pulseIn ist einfacher zu handhaben).

    Brainstorming (keine Ahnung ob das schon 100% so richtig wäre, bloß wegen der Vorgehensweise):

    1. Auf der ECHO-Leitung auf High warten.
    2. micros() - Mikrosekunden auslesen.
    3. Auf der ECHO-Leitung auf High warten.
    4. micros() - Mikrosekunden auslesen.
    5. Den ersten vom zweiten Mikros-Wert subtrahieren.

    Wenn der Code schnell genug durchläuft (also genügend Durchläufe pro Sekunde schafft) sollten auch diese dann so ermittelten Werte gut genug sein. Voraussetzung ist natürlich, dass keine andere Stelle im Code Hänger verursacht.

    Wegen den Steppern nochmal:

    Ich will nicht dazu verleiten, andere Hardware einzusetzen. Aber die Steuerung der einzelnen Schritte geschieht doch im Mikrosekundenbereich. Sobald es dort, z.B. über eine halbe Millisekunde (oder weniger), zu Verzögerungen - zwischen den einzelnen Schritten - kommt, merkst Du das u.U., eben daran, dass es nicht gleichmäßig läuft. Deshalb würde ich die Motoren unabhängig steuern.
    Wenn ich an einem NANO (z.B.) vier Pins zur Steuerung der Motoren festlege, kann ich mit HIGH oder LOW, auf jedem der Pins, einen Motor aus- oder einschalten. Der NANO muss nur diese vier Leitungen überwachen und würde in loop() einfach nur die Stepper bedienen, damit laufen die dann absolut gleichmäßig. Es würde auch ein 328P in Minimalbeschaltung ausreichen: Quartz und 2 Kondensatoren.

    Ob Softwarelösungen per AccelStepper-Lib oder was auch immer da genau so gute Ergebnisse liefern, dazu vermag ich kein Urteil abzugeben, weil ich das noch nicht benutzt habe. Wäre auszuprobieren.
    Kommt drauf an, wieviel Software auf den MEGA bzw. den ESP32 zum Laufen kommen soll, wenn da mehrmals irgendwie Interrupts ausgelöst werden, um 3 oder 4 verschiedene Dinge zu steuern, könnten die ISRs sich auch gegenseitig in die Quere kommen. Wenn das Projekt etwas ausladender wird, kommt da sicher mehr als nur 4 Stepper ansteuern und zwei US-Wandler bedienen zusammen. Und zu anderen (Multithreading / Multitasking) hat HaWe auch schon viel geschrieben. Das würde ich mir dann auch mal anschauen.

    Muss am Ende jeder selber wissen, wie er es macht.


    MfG

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von Moppi Beitrag anzeigen
    Mit dem pulseIn() ist es wie mit dem delay(). Das kannst Du auch zu Fuß machen (pulseIn ist einfacher zu handhaben).
    pulseIn einfacher zu handeln als delay, oder ist es anders gemeint?

    Zitat Zitat von Moppi Beitrag anzeigen
    Wegen den Steppern nochmal:

    Ich will nicht dazu verleiten, andere Hardware einzusetzen. Aber die Steuerung der einzelnen Schritte geschieht doch im Mikrosekundenbereich. Sobald es dort, z.B. über eine halbe Millisekunde (oder weniger), zu Verzögerungen - zwischen den einzelnen Schritten - kommt, merkst Du das u.U., eben daran, dass es nicht gleichmäßig läuft. Deshalb würde ich die Motoren unabhängig steuern.
    wenn - und es würde das wirklich vereinfachen - würde ich den MEGA für die motoren nehmen, schon wegen der gut gelösten aufnahme der vier steppersteuermodule auf dem RAMPS. Und evtl. ergibt sich später ja noch etwas was die Stepper nicht stört und auf dem MEGA laufen könnte...


    Zitat Zitat von Moppi Beitrag anzeigen
    Kommt drauf an, wieviel Software auf den MEGA bzw. den ESP32 zum Laufen kommen soll, wenn da mehrmals irgendwie Interrupts ausgelöst werden, um 3 oder 4 verschiedene Dinge zu steuern, könnten die ISRs sich auch gegenseitig in die Quere kommen. Wenn das Projekt etwas ausladender wird, kommt da sicher mehr als nur 4 Stepper ansteuern und zwei US-Wandler bedienen zusammen. Und zu anderen (Multithreading / Multitasking) hat HaWe auch schon viel geschrieben. Das würde ich mir dann auch mal anschauen.
    und das ergibt sich nach und nach, da sind meine vorstellungen nicht ganz so präzise ausgeprägt...
    Manchmal ist auch der weg das ziel
    gruß inka

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.674
    Blog-Einträge
    1
    pulseIn einfacher zu handeln als delay, oder ist es anders gemeint?
    pulseIn ist einfacher, als wenn Du das zu Fuß, Schritt für Schritt, selbst erledigst, so ist das gemeint.
    Bloß pulseIn blockiert eben.

    MfG


    PS: von AccellStepper abgesehen. Du kannst natürlich auch selber eine ISR programmieren, die die Logiklevel für die Schritte der 4 Motoren setzt.
    Ich hatte als Beispiel für die Rollosteuerung den Timer#1 vom 328P verwendet, um die Uhrzeit fortzuzählen. Kompliziert war das nicht.
    Das funktioniert eigentlich gut. Auf dem MEGA2560 müsste so was ja auch funktionieren.
    Geändert von Moppi (31.03.2020 um 13:38 Uhr)

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.213
    PulseIn läuft so ab:

    pulseIn(); // warten ob an dem Pin was passiert, im Normalfall (kein Timeout eingestellt) maximal ne volle Sekunde (wie delay(1000)).
    Die Zeit wird kürzer, wenn innerhalb der Sekunde das Echo eintrifft.
    Dann ist das Warten beendet.

    Aber man _kann_ eben auch ein Timeout angeben- damit kann man die Verzögerung auf das Nötigste beschränken (der Ping braucht nur bis zum Hindernis und zurück).
    Das kann man anhand der gewünschten Entfernung problemlos berechnen.

    Zu Fuss würd ich es nicht machen, ausser, man kann für den Echo-Eingang nen Interrupt-Pin benutzen. Sonst riskiert man, das Echo zu verpassen, weil der Controller grade was anderes macht.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Ähnliche Themen

  1. Abstandsmessung Outdoor bis 3m
    Von robo218 im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 14.12.2017, 06:56
  2. outdoor spy robot
    Von jancrombach im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 7
    Letzter Beitrag: 14.08.2010, 13:09
  3. Outdoor Roboter
    Von OsramLED im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 07.08.2006, 09:34
  4. Outdoor-Robo
    Von RobotrixerP im Forum Mechanik
    Antworten: 3
    Letzter Beitrag: 16.04.2006, 18:38
  5. [ERLEDIGT] Outdoor - Navigation
    Von Quaio im Forum Sensoren / Sensorik
    Antworten: 37
    Letzter Beitrag: 21.04.2005, 12:31

Berechtigungen

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

12V Akku bauen