- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 75

Thema: Ahnugslos zum erstem Bot

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    73
    Die BTM220 hatte ich schon da. Ich dachte, da BT Prinzip bedingt Paketweise überträgt, könnte es daran liegen. Und eventuell hatte jemand schonmal diese Module verwendet. Die Baud hoch setzen könnte/werde ich nochmal probieren.

  2. #2
    HaWe
    Gast
    meine BT Module werden einfach mit UART verbunden und können sowohl einzelne Bytes als auch Pakete als auch einen iostream übertragen, eben genau so wie es aus UART "rauskommt", sowohl synchron als auch asynchron. Ich verwende dazu ein optimiertes Serial Protokoll, das im Handshake abwechselnd Daten in 2 Richtungen überträgt (remote control und Daten auch zurücklesen, vor allem auch um eine Rückmeldung über korrekten Empfang erhalten zu können (Transmission Control, Checksum, Acknowledge mit Checksum-Rückmeldung). Außerdem wird in einen Puffer gelesen, sodass bei Verbindungsunterbrechung sowohl ein timeout als auch eine Wiederaufnahme mit einem Rest des bereits im Puffer befindlichen Teils vor der Übertragung weitrverwendet wird, was das erneute Einlesung des bereits übertragenen Teils unnötig macht. Da es ein reines UART Protokoll ist, funktioniert es ntl auch, wenn man die RX/TX Kabe durch die BT-Funkstrecke ersetzt, den Rest für die Wirelss Sache machen die Module eigenständig. Hier ist der Link zu meinem Code:
    http://www.mindstormsforum.de/viewto...tart=15#p67476

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    73
    Mein selbst erfundenes UART Protokoll (Ping Pong Spiel, ähnlich deinem) wollte anfangs nicht laufen. Da kamm nur Datenmüll raus. Im Nachhinein hatte ich einen Fehler in meiner Routine die den ADC-Wert verrechnet. Also wartet jetzt die Fernbedienung (BT Master) auf einem Empfang vom BT Slave. Danach startet kontinuierlich die Übertragung. Beginnend mit 2 Byte um den Anfang der Sequenz zu dedektieren. gefolgt von 4 x 2 Byte für die ADC (4 Kanäle a 11bit), da wäre noch platz um das ein oder Andere Bit mit unterzuschieben. Danach kommen noch 2 Byte von der Tastatur-Matrix. Zum Schluß kommen nochmal 2 Byte mit der Quersumme, damit prüft der BT-Slave die richtigkeit der Daten und gibt diese im Programm frei. Mit den Status-Ausgängen am BT-Modul dedektiere ich die aufgebaute BT-Verbindung.

    Ich muß jetzt nur noch im Empfänger feststellen das die Daten nicht schon veraltet sind. Wenn die Verbindung gestört wird, dauert es eine Weile ehe mir das BT-Modul das per Hardwarepin meldet. Da werde ich einfach schauen ob aller paar Millisekunden die Empfangs-ISR aufgerufen wird.

    Gesendet wird immer bei leeren Sende-Register mittels ISR. Da die Tastatur nur alle 90ms fertig ausgelesen ist, sollten mir ca. 10 Übertragungen pro Sekunde reichen.
    (14 Byte = 112 Bit | + 14 Stopbits = 126 bit | 11 Übertragungen * 126 bit = 1386 baud) Stimmt das so?
    Eingestellt habe ich 57600 baud.



    Zum Thema "Der Sender prüft die zurückgesendeten Daten vom Empfänger":
    Das hatte ich in meiner "Ping Pong UART Übertragung" mal getestet. Festgestellt habe ich das ich nie eine Fehlübertragung hatte, solange Sender und Empfänger eingeschwungen sind. Deswegen sendet bei mir immer der Empfänger ein O.K. und erst dann beginnt der Sender mit der Übertragung.


    Ich werd wohl nochmal prüfen ob wirklich die geänderten Daten so schnell der UART-ISR bereit stehen.

    vielen Dank für deinen Code.

  4. #4
    HaWe
    Gast
    ps,
    meinen Grundcode habe ich dann auch für eine Fernsteuerungs-Anwendung zwischen einem Arduino (RemoteControl) und einem Raspi (Kettenfahrzeug) verwendet:
    http://www.mindstormsforum.de/viewto...p=69089#p69042

    Wie gesagt, funktioniert bei mir fehlerfrei und pfeilschnell (fehler passieren aber immer, nur kriegst du sie meist nicht mit, oder nur wenns zu spät ist. UART ist extrem störungsanfällig. Daher mein Transmission Control Protokoll. Aber du kannst ntl programmieren, so wie es dir am liebsten ist )

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    73
    so und nun die Ursache und Lösung der Latenz in der Bluetooth-Verbindung.

    Am BT-Sender hatte ich das UART-Empfangsregister nicht ausgelesen, und somit wurde das Flag "Empfang Vollständig" nicht gelöscht. Somit hatte mein Programm immer sofort mit der Übertragung des nächsten Strings gestartet. Anfänglich betrug die Latenz ca. 200ms, und steigerte sich bis auf 1Sekunde. Dann brach die BT-Verbindung ab. Vermutlich war dann das Empfangsbuffer/Sendebuffer in den BT-Modul voll. Mit einem delay in der Senderoutine klappte es dann. Endgültig reicht es aber zu warten bis der BT-Empfänger ein "OK alle Daten empfangen" sendet. Jetzt kann ich eine Latenz zwischen 24ms bis 64ms messen.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.06.2004
    Ort
    Berlin
    Alter
    59
    Beiträge
    539
    welche Servos hast du nun genommen?
    das leben ist hart, aber wir müssen da durch.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    73
    Hallo, dort das ich jetzt erst schreibe. Aber ich bin voll im Hausbau beschäftigt.
    Welche Sensoren meinst du?

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.06.2004
    Ort
    Berlin
    Alter
    59
    Beiträge
    539
    ich fragte nach servos, nicht Sensoren ich weiss hausbau ist stress
    das leben ist hart, aber wir müssen da durch.

Ähnliche Themen

  1. Pro-Bot 128 - Tipps zum Zusammenbau
    Von nechegris im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 5
    Letzter Beitrag: 25.02.2010, 15:21
  2. Allgemeines zum C't-Bot
    Von Jobot im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 5
    Letzter Beitrag: 03.02.2010, 19:16
  3. Backleds leuchten bei erstem Test nicht!
    Von triXzer im Forum Asuro
    Antworten: 28
    Letzter Beitrag: 23.09.2009, 20:06
  4. problem mit erstem eigenen programm
    Von rocketman123 im Forum Asuro
    Antworten: 18
    Letzter Beitrag: 03.10.2007, 18:43
  5. 3D Programm gesucht zum erstellen von Bot Modellen
    Von By0nIk im Forum Software, Algorithmen und KI
    Antworten: 7
    Letzter Beitrag: 03.04.2006, 07:11

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad