Hi, ich steuere mit einem Mega8 24 LED mit WS2811 chip an. Geht 1A. Die Daten kommen über USART rein und werden dann an die LED geschickt. Das ganze soll via Bluetooth laufen, jedoch dauert es knapp eine 3/4 Sekunde, bis die 77 Byte im Mega ankommen. Das ganze läuft mit 19200Baud. Nutze ich usb->RS232 wandler, dann geht das ganze doppelt so Schnell. Kennt wer das Problem? Eigentlich sollte das ganze doch wesentlich schneller ablaufen.
Bedenke das Framing, d.h. Blueooth ist eine Paket-orientierte Übertragung. Das Modul wartet ein paar ms, ob noch weitere Daten eingehen und mit in den aktuellen Frame passen. Falls nicht, wird der Frame dicht gemacht und versendet. Irgendwo kann man das Timeout vermutlich sogar einstellen. Wenn Du die 77 Bytes nicht schnell genug anlieferst, dann wird für jedes Byte ein neuer Frame aufgemacht, was dann durchaus 0,75 sekunden dauern kann. Die andere Variante wäre, dass der Timeout eben 0,75 Sekunden lang ist.
:
Bearbeitet durch User
Danke. ich werde mir das mal ansehen. Bei USB ist das ja auch so, könnte echt daran liegen.
Eine Einstellung für Timeout beim BTM hab ich nicht gefunden. Ich schicke die Daten auch direkt hintereinander ohne Wartepause. Ein Mitlesen in Minicom zeigt, daß die Bytes wohl einzeln geschickt werden, damit meine ich. daß die Daten gleichmässig ankommen, jedes einzelne byte. Also kann ich das mit BT wohl knicken :/
Hallo, die Übertragungszeiten im USART: Bei 19200 und 77 Byte dauert die Übertragung ca. 40 ms. Bei 115200 und 77 Byte komme ich auf ca. 6 ms. Es ist also schon eine erhebliche zeitliche Verzögerung, ob ich 19200 Baud oder 115200 Baud nehme. Dein Problem liegt sicherlich bei der Abfrage USART oder beim Weitersenden an den WS2811. Speicherst du die empfangenen Byte in Registern, oder verarbeitest du jedes einzelne Byte sofort? Beim BTM222 werden die Reaktionszeiten mit der Eingabe der Übertragungsgeschwindigkeit eingestellt. Die Zeiten zum Übertragen von Daten liegen nur unwesentlich höher als bei einem USART mit gleicher Geschwindigkeit. Hier liegt dein Problem sicherlich nicht. Gruß G.G
Ich hab mal eine echte RS232 angeschlossen, und siehe da, das geht wie geplant. Also muss es am BT liegen. Am AVR und dem Code liegt es schon mal nicht, der ist gleich geblieben.
Es liegt am Modul bzw. Bluetooth, mir ist der Effekt auch aufgefallen, nur nicht ganz so extrem. Ich hatte 0,5s geschätzt. Keine Ahnung, ob andere Module schneller sind. Lego Mindstorms reagiert jedenfalls ebenso träge.
Ich habe mal das gleiche Problem bei einem von mehreren BTMs die hier im Einsatz sind. Auf dem entsprechenden Modul war die Antenne nicht korrekt verlötet, bzw. später abgefallen. Auch ohne die Antenne kriegen diese Dinger eine Verbindung hin, ist aber nur sehr langsam grade mal eine Hand voll Bits/s.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.