- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 13

Thema: Orientierung im Raum mit RFID

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Ernst,
    Zitat Zitat von efb Beitrag anzeigen
    Was die Hardware betrifft: stimmt ja, UART ist eine vorhandene serielle Schnittstelle. Ich glaube aber, sie eignet sich in meinem Fall nicht so gut. Über den UART gibt der RP6 bei mir schon während der Fahrt Terminal-Daten an das BT Modul aus und wird über dieses Modul auch geflasht. Ich denke, besser wäre eher eine serielle Datenübertragungs "Simulation" mit I/O Pins und einer Softwarelösung, so wie es auch bei I2C gemacht ist.
    Das kannst du nicht vergleichen!
    I2C ist synchron, d.h. der Master erzeugt einen Clock und der Slave verändert seine Datenleitung dann mit den Flanken des Clocks. Dabei kann die CPU ach mal ein Nickerchen machen (Interrupts bedienen), wenn sich der Clock nicht ändert ist alles eingefrohren.

    RS232 ist asynchron. Da wird einfach nach dem festgelegten Timing gedendet, egal ob der Empfänger gerade mithört oder nicht. Kommst du zu spät ist das Bit schon durch! Wann das Startbit kommt, weiss du auch nicht. Du musst den Pin also dauernd abfragen um das Startbit zu erkennen. Dann musst du die Mitte des Startbits finden und von dort aus alle 104µs (bei 9'600, Bit/s) abfragen. Dazu brauchst du einen Timerinterrupt und dieser darf nie durch eine andere Interruptroutine verzögert werden.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.694
    ... den Pin also dauernd abfragen um das Startbit zu erkennen ... Mitte des Startbits finden ... darf nie durch eine andere Interruptroutine verzögert ...
    Klar, fast unnötig Dir beizupflichten. Aber es geht natürlich auch anders.

    Mein UART läuft (eigentlich bei allen Lösungen) auf Interrupt und schreibt in einen FIFO-Ringspeicher. Dann schaue ich im Vorbeigehen nach
    Code:
    if ( ! ukbhit0 () ) continue;
    und WENN etwas im FIFO steht wird es abgeholt
    Code:
    zeichen_aus_fifo = ugetchar0();
    und auf einen signifikanten Telegramm-Anfang abgefragt, der aus einem, einzigen ASCII-Zeichen besteht, das aber so in den Telegrammen natürlich nicht vorkommen darf (Buchstabe/n, oft natürlich #, * oder so)
    Code:
          if (zeichen_aus_fifo == KOMMANDO_APPS)   // Fahre Anwendungsprogramme
            telegrammlaenge = KOMMANDO_APPS_LEN;   //   mit und ohne Parameter
    
           if (zeichen_aus_fifo == KOMMANDO_DATS)   // Servo Daten von allen
             telegrammlaenge = KOMMANDO_DATS_LEN;   //   Servos anzeigen
    
           if (zeichen_aus_fifo == KOMMANDO_NORM)   // Servo Normposition
             telegrammlaenge = KOMMANDO_NORM_LEN;   //   anfahren
    Dieses "Schlüsselzeichen" wiederum ergibt die Telegrammlänge. Die kann, z.B. im Beispiel "KOMMANDO_NORM" 1 sein und das ist das Kommandobyte alleine. Das Telegramm wird, wieder im Vorbeigehen, ausgelesen (in voller, aber eben nur für DIESES Telegramm festgelegten Länge) und ausgewertet. Dazwischen laufen mehrere andere Interrupts, die so wenig stören, dass ich im Standardfall Controller<->PC mit lesen und schreiben über UART-USB-Wandler locker 115k2 Bd schaffe, bei Controller-Controller-Kommunikation sogar die vollen Kanne mit 1,2 MBd (da beide Controller mit 20 MHz laufen, haben die den gleichen "Rechen-/Zeitfehler" beim UBRR. Zusätzlicher Vorteil natürlich zwei Kommunikationsrichtungen. Nachteil: Es ist KEIN Busverfahren.
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Geier,
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Klar, fast unnötig Dir beizupflichten. Aber es geht natürlich auch anders.
    MIT UART ist das alles kein Problem!

    Aber er will das UART per Software an einem beliebigen GPIO-Pin simulieren, weil seines schon belegt ist!
    Das Argument war: Bei I2C geht das ja auch.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.694
    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    ... MIT UART ist das alles kein Problem! ... Aber er will das UART per Software an einem beliebigen GPIO-Pin ...
    Aua - da hab ich schon wieder mal zuuu wenig gelesen/raufgescrollt. Danke.
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Aua - da hab ich schon wieder mal zuuu wenig gelesen/raufgescrollt. Danke.
    Brillenputztücher können auch helfen :-P

    MfG Pete(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  6. #6
    Benutzer Stammmitglied Avatar von efb
    Registriert seit
    08.03.2011
    Beiträge
    51
    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    Das kannst du nicht vergleichen!
    I2C ist synchron, ....
    RS232 ist asynchron. ...
    Da haben wir es, gut das ich erst noch einmal gefragt habe und danke für die Erklärung.

    So wie es aussieht werde ich dann doch lieber ein RFID Modul aus der Bucht nehmen, z.B. mit PN532, das kann dann neben UART oder SPI auch I2C, mit letzterem komme ich wahrscheinlich noch am ehesten klar. Leider gibt´s das Modul nur für 13,56 MHz Transponder und da habe ich bisher keine in so schönen kleinen Bauformen gefunden.

    Viele Grüße

    Ernst

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi Ernst,

    was du suchst ist wohl ein "Software UART".
    Dazu gibt's hier einen RN-Wissen-Artikel, der mit Timer arbeitet.
    Es gibt auch einzelne Lösungen in AVR-GCC: hier,
    Libraries und Hilfestellungen von Atmel:
    AVR304, AVR305.

    Also: Es gibt Lösungen und Hilfen.
    Gruß
    Dirk

Ähnliche Themen

  1. GPS Modul zur Orientierung im Raum
    Von efb im Forum Robby RP6
    Antworten: 8
    Letzter Beitrag: 12.02.2014, 21:06
  2. Ortung in einem Raum mit Hindernissen
    Von Checker108 im Forum Software, Algorithmen und KI
    Antworten: 14
    Letzter Beitrag: 14.03.2010, 13:59
  3. Möglichkeiten der Orientierung mit 2 SRF02
    Von Fabian E. im Forum Robby RP6
    Antworten: 5
    Letzter Beitrag: 03.02.2010, 21:54
  4. Asuro mit optimierte Orientierung und deztr. Intelligenz
    Von Ceos im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 0
    Letzter Beitrag: 01.04.2008, 22:10
  5. orientierung im raum...
    Von Bluesmash im Forum Sensoren / Sensorik
    Antworten: 8
    Letzter Beitrag: 10.08.2005, 19:27

Berechtigungen

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

Solar Speicher und Akkus Tests