- Labornetzteil AliExpress         
Seite 7 von 8 ErsteErste ... 5678 LetzteLetzte
Ergebnis 61 bis 70 von 75

Thema: Ahnugslos zum erstem Bot

  1. #61
    HaWe
    Gast
    Anzeige

    LiFePo4 Akku selber bauen - Video
    ja klar, ich finde es schon bemerkenswert wie du das gelöst hast!

  2. #62
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    72
    Die Nabelschnur ist jetzt ab. Die Stromversorgung läuft über ein SBEC (angeblich bis 20A). Und für die Fernsteuerung habe ich einen alten Playstation Dualshock2 Controller geschlachtet. An dem ist aber auch nur noch das Gehäuße orginal. Die Stromversorgung wurde mit einen Miniakkupack (4xNimH) realsiert. Controller ist ein ATXmega128A1u, der etwas überdimensioiert ist. Datenübertragung bewälltigen 2 BTM220a.

    Hat jemand erfahrung mit den Bluetoothmodulen? Ich habe eine Verzögerung von ca. 1Sekunde (geschäzt), zwischen Eingabe an der Fernbedieung und der umsetzung im Roboter.

    Klicke auf die Grafik für eine größere Ansicht

Name:	DSC_0713.jpg
Hits:	25
Größe:	35,4 KB
ID:	31992 Klicke auf die Grafik für eine größere Ansicht

Name:	DSC_0722.jpg
Hits:	14
Größe:	27,3 KB
ID:	31993

  3. #63
    HaWe
    Gast
    welche BT Module?

  4. #64
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    72
    BTM220a steht drauf. Vermutlich von Rayson. Zumindest das Datenblatt vom BTM222 hat gepasst. Es handelt sich um Bluetooth Module.

  5. #65
    HaWe
    Gast
    ok, die kenne ich nicht, ich hatte dir ja schon mal die HC-05 empfohlen, damit klappt es bei mir rasend schnell und ohne Verzögerung, seriell mit 115000 baud, als wäre nur ein Kabel dazwischen.

  6. #66
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    72
    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.

  7. #67
    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

  8. #68
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    72
    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.

  9. #69
    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 )

  10. #70
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    72
    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.

Seite 7 von 8 ErsteErste ... 5678 LetzteLetzte

Ä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, 16:21
  2. Allgemeines zum C't-Bot
    Von Jobot im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 5
    Letzter Beitrag: 03.02.2010, 20:16
  3. Backleds leuchten bei erstem Test nicht!
    Von triXzer im Forum Asuro
    Antworten: 28
    Letzter Beitrag: 23.09.2009, 21:06
  4. problem mit erstem eigenen programm
    Von rocketman123 im Forum Asuro
    Antworten: 18
    Letzter Beitrag: 03.10.2007, 19: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, 08:11

Berechtigungen

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

Labornetzteil AliExpress