- fchao-Sinus-Wechselrichter AliExpress         
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 Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von Klebwax Beitrag anzeigen
    Ich versuche mal ein Konzept zu skizzieren, wie das IMHO machbar ist. Es bietet sich an, mit den Steppern anzufangen. Wenn ich mich richtig erinnere, taktest du mit 4ms, wenn es mal etwas schneller sein soll, könnten es auch 2ms sein. Ich würde also einen Timerinterrupt mit ca. 2ms aufsetzen. Von diesem werden unabhängig von der Mainloop die Motoren bedient. Gleichzeitig werden alle Schalter und Kontakte eingelesen und entprellt.
    ich möchte mein letztes statement etwas ergänzen:
    natürlich weiss ich um die vorteile der ISR routinen, habe auch versucht mich in die problematik in verschiedenen tutorials und anderen webseiten einzulesen, bin dabei aber nicht wirklich weitergekommen ...
    Es wäre vielleicht ein versuch wert, wenn jemand mit mir zusammen versuchen würde, die problematik schritt für schritt durchzuarbeiten, an codebeispielen, fragen und erklärungen...
    Insofern sollte mein letzte äusserung hier im thread keine rigorose ablehnung in richtung ISR sein. Den thread würde das sicher bereichern...
    gruß inka

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.211
    Gab es da nicht diese TimerOne (oder so ähnlich)-Bibliothek für derartiges?
    Bisher komme ich im XP2 glänzend ohne solche Interrupts aus, ich benutze lediglich für die Odometer welche (PinChange).
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Es gibt viele Links zu einfachen Abhandlungen, für Einsteiger in Arduino. Man muss sich dann tatsächlich auch mal damit auseinandersetzen und das ausprobieren und durcharbeiten. Zum Beispiel diesen Inhalt hier: http://diwo.bq.com/de/interrupts-mit-arduino-benutzen/
    Auf DIWO ist es ein sehr anschauliches Beispiel, das jeder ausprobieren kann. Einfacher gehts eigentlich nicht mehr. Dort steht genau, was, warum und wo.

    Die ISR muss verankert werden. Eine Erklärung, im Detail, gibts hier, für attachInterrupt: https://www.arduino.cc/reference/de/...tachinterrupt/


    MfG

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von inka Beitrag anzeigen
    natürlich weiss ich um die vorteile der ISR routinen,
    Es geht nicht um Vorteile. Es geht eigentlich nicht anders. Beispiel Stepper: wenn du ihn mit 1kHz (1ms) taktest, musst du dich (oder eher der µC) alle Millisekunde um ihn kümmern. Kein anderer Programmteil darf dich länger als eine knappe Millisekunde davon ablenken. In der AccelStepper wird das so gemacht und in der Beschreibung heisst das dann so:

    The run() function must be called frequently until the motor is in the desired position, after which time run() will do nothing.
    Und hier nachmal etwas zu "called frequently":

    The fastest motor speed that can be reliably supported is about 4000 steps per second at a clock frequency of 16 MHz on Arduino such as Uno etc.
    4000 Schritte heißt 250µs pro Schritt. Wenn der Stepper so schnell laufen soll, darf in loop() nichts gemacht werden, was länger als diese 250µs dauert. Mit Sicherheit darf also kein "dummer" US-Sensor ausgelesen oder ein delay() verwendet werden. Aber auch jede andere Funktion Funktion ist problematisch. Und weil ich gerade die AccelStepper Doku offen habe:

    Calling setAcceleration() is expensive, since it requires a square root to be calculated.
    Hier wird darauf hingewiesen, daß schon das Berechnen der Quadratwurzel zeitlich ein Problem ist. Das wird man zwar nicht oft machen, so daß es einem menschlichen Beobachter nicht auffällt, für die Stepper stellt aber schon die einmalige Benutzung ein Problem dar. Es gibt natürlich handgefeilte Systeme, die mit diesen Bedingungen leben können wie 3D Drucker oder CNC-Systeme mit grbl. Da kann man dann nachträglich kaum noch etwas hinzufügen.

    Nun kann man natürlich sagen, für deinen Outdoor muß alles nicht so schnell gehen. Das ist sicher richtig, verschleiert aber das grundsätzliche Problem. Wenn jetzt zu den Steppern, US-Sensoren noch weitere wie Lidar und GPS etc. hinzukommen und weitere Aufgaben wie die Kommunikation mit z.B. einer Fernbedienung, Telemetrie usw. zu erledigen sind, ist es wieder da.

    Die Lösung, die üblich ist und für die Unterstützung in die µC eingebaut sind heißt Interrupt. Alle anderen Konzepte, wie z.B. bei den Transputern haben sich nicht durchgesetzt. Die "alten" Prozessoren wie Z80 oder 8088 brauchten noch einen externen Baustein zur Unterstützung, den fand man auf fast jedem Prozessorboard.

    Zitat Zitat von inka Beitrag anzeigen
    habe auch versucht mich in die problematik in verschiedenen tutorials und anderen webseiten einzulesen, bin dabei aber nicht wirklich weitergekommen ...
    Es wäre vielleicht ein versuch wert, wenn jemand mit mir zusammen versuchen würde, die problematik schritt für schritt durchzuarbeiten, an codebeispielen, fragen und erklärungen...
    Insofern sollte mein letzte äusserung hier im thread keine rigorose ablehnung in richtung ISR sein. Den thread würde das sicher bereichern...
    Die Idee finde ich gut. Nur kann ich mit Codebeispielen schlecht dienen. Ich habe keine AVR und keine Arduinos sonder PIC, vorzugsweise PIC24 und programmiere die in C. Das Konzept "Interrupt" ist zwar auf allen gleich, aber in C kommt es nicht vor. Um es trotzdem aus C nutzen zu können, hat da jeder Compiler seine Sonderlocken gestrikt. Die erledigen zwar alle das Gleiche, aber mit unterschiedlichen Formulierungen. So kann ich also keine fehlerfreien Beispiele für einen Arduino liefern, da ich sie nicht testen kann. Das betrifft aber eigentlich nur zwei-drei Zeilen am Anfang des Handlers. Im übrigen kann ich aber meinen Beitrag zum Einsatz von Interrupten liefern. Es ist am Ende nicht wirklich kompliziert.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

Ä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. 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
  •  

Labornetzteil AliExpress