-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Cny70 Reaktionszeit?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.02.2006
    Alter
    26
    Beiträge
    99

    Cny70 Reaktionszeit?

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo!

    Wie viele Sekunden (millisekunden) braucht ein Roboter (mit cny´s) wenn er eine Linie erkennt, bis er den Motor umschaltet oder ausschaltet?

    Hab überall gesucht aber keine eindeutige Antwort gefunden.

    (16Mhz Prozessorleistung)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    29
    Beiträge
    2.624
    Hallo hackgreti,
    wie lange der "Roboter" braucht hängt von der Art des Controllers, seinem Programm und vielem mehr ab.
    Kannst Du uns bitte ein wenig ausführlicher Deine Vorstellungen schildern?

    Aber eigentlich spielt der CNY70 keine große Rolle, er reagiert sehr flink auf Lichtänderungen ...

    Viele Grüße
    Florian

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.02.2006
    Alter
    26
    Beiträge
    99
    Prozessor:
    atmega32 (16mhz)
    Die Sensoren befinden sich vorne am Roboter und die Motoren hinten.
    CNY70 werden mit Potis eingestellt, damit es auf jeden untergrund angewendet werden kann.
    Programmieren tue ich in "C" (das programm ist eine einfache schleife die nachsieht ob derjenige Port auf "high" ist oder nicht; mehr macht das programm nicht, außer danach den Roboter zu stoppen; Wartezeit ist zwischen der Abfrage keine)

    Ich will nämlich die Erkennung etwas verzögern und je nach Akkuspannung anpassen, dass sich der Roboter immer gleich bewegt - egal wie voll der Akku noch ist. (Grundlage ist der Abstand zwischen den Sensoren und den Motoren)


    Ich ich würde die genaue Zeit von der Linienerkennung bis zum Verarbeitungszeitpunkt im Prozessor benötigen

    Vielen Dank für alle Antworten

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    29
    Beiträge
    2.624
    Hallo hackgreti,
    der Mikrocontroller benötigt für die Hand voll Zeilen C-Code schätzungsweise maximal 10 Takte - da ich aber Deinen Code nicht vor Augen habe, kann ich das nicht genau einschätzen.

    Gehen wir mal von den 10 Takten aus:
    Demnach ist das eine Ausführungsfrequenz von 16.000.000Hz/10T = 1.600.000Hz und das sind 1,6MHz.
    Die Periodendauer, also die Zeit, die der Mikrocontroller zum Verarbeiten braucht, sind 1s/16.000.000Hz * 10T = 0,000.000.625s, sprich 625ns (Nanosekunden) bzw. 0,625µs (Mikrosekunden).
    Die Verarbeitungszeit im Mikrocontroller ist als extrem klein!!!

    Die Sensoren befinden sich vorne am Roboter und die Motoren hinten.
    ...
    Ich ich würde die genaue Zeit von der Linienerkennung bis zum Verarbeitungszeitpunkt im Prozessor benötigen
    Die räumliche Trennung kann man bei diesen absolut kurzen Distanzen einfach vernachlässigen, schon gar in einer solchen "einfachen" Anwendung.

    Deine CNY70 liefern also am Pin jeweils einen High- oder Low-Pegel.
    Der Mikrocontroller reagiert einfach darauf und schaltet die Motoren.

    Soweit verstehe ich Dein Programm, aber was Du dann versuchst mir zu erklären ist mir leider noch ein Rätsel! ;o)
    Am Besten postest Du mal Deinen Code und nochmal eine etwas ausführlichere Erklärung von Anfang an! :o)

    Viele Grüße
    Florian

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    03.02.2006
    Alter
    26
    Beiträge
    99
    Wenn die Sensoren (vorne) eine Kurve erkennen und der AVR schaltet die Motoren auf "Kurve", dann geschieht das zu früh und der Roboter muss wieder korriegieren. das wollte ich machen.

    Aber meine eigentliche Frage ist jetzt sowiso beantwortet!

    Dankeschön

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    29
    Beiträge
    2.624
    Hallo hackgreti,
    jetzt verstehe ich die Frage! *g*
    Bei der frage kommt es darauf an, wie Dein Roboter aufgebaut ist.
    Ist Dein Roboter ein rundes Chassis mit zwei Motoren und Rädern in der Mitte, so ist das automatisch kein Problem, da der Roboter sich um den Kreismittelpunkt dreht, aber das ist halt je nach Chassis anders.

    Falls Du noch Fragen hast - schieß los! ;o)

    Viele Grüße
    Florian

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    26
    Beiträge
    995
    ich würd mal sagen rund 100ms denn die motoren müssen auch noch reagieren dann kommts aufs gewicht des robos drauf an etc.

    zum leeren akku: regle per pwm den motor etwas runter und regle ihn wenn der akku leer ist wieder rauf. oder mit encodern eine konstante geschwindigkeit halten. die grundgeschwindigkeit ist dabei immer etwas unter dem möglichen damit du später gleich schnell bist.
    und bitte kühlung nicht vergessen bei pwm wurde bei mir mal ein riesen kühlkörper heiß (aber bei vielbelastung der motoren).

    am besten bau die weitere CNY70 rauf damit du die mitte oder 2 punkte weiter außen noch hast. bzw erkennen kannst ob die linien außen oder innen der Sensoren ist.

    was hast denn wieder vor zu bauen?

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    03.02.2006
    Alter
    26
    Beiträge
    99
    Danke für die Hilfe!

    @ Superhirn
    Mein neuer Roboter ist so gebaut das er bei der Challenge viele (wenn nicht alle) schlagen kann. Der Aufbau bleibt aber in meinem Team - geheim. Tut mir leid Superhirn.

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    26
    Beiträge
    995
    alle schlagen??? Das wird bei einem Robo unmöglich sein. Im skype erzähl ich dir mal den Grund.

  10. #10
    Wieso unmoeglich? Kannst du den Grund bitte auch hier mal erlaeutern?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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