Arduino Library für Jeti EX Bus
- DemonStaurum
- Offline
- Neues Mitglied
- Beiträge: 11
- Dank erhalten: 1
Hallo Reiner,
ich komme der Sache immer näher. Den Anschluss an den R5L habe ich nach deiner Beschreibung verändert (2,0K Widerstand zwischen TX, RX und Signal an TX, hatte gerade keinen 2,4K). Aber die Kommunikation hat erst funktioniert als ich den "Seriellen Monitor" in der Arduino IDE geöffnet hatte. Wenn ich jetzt die USB-Verbindung von Arduino Micro trenne und nur eine Spannungsversorgung anlegen möchte, werden keine Daten mehr übertragen.
Als Programmer nutze ich den "AVRISP mkll".
Kennt jemand die Ursache für dieses Problem? Über jede Hilfestellung würde ich mich sehr freuen.
Vielen Dank im Voraus.
Grüße Oliver
ich komme der Sache immer näher. Den Anschluss an den R5L habe ich nach deiner Beschreibung verändert (2,0K Widerstand zwischen TX, RX und Signal an TX, hatte gerade keinen 2,4K). Aber die Kommunikation hat erst funktioniert als ich den "Seriellen Monitor" in der Arduino IDE geöffnet hatte. Wenn ich jetzt die USB-Verbindung von Arduino Micro trenne und nur eine Spannungsversorgung anlegen möchte, werden keine Daten mehr übertragen.
Als Programmer nutze ich den "AVRISP mkll".
Kennt jemand die Ursache für dieses Problem? Über jede Hilfestellung würde ich mich sehr freuen.
Vielen Dank im Voraus.
Grüße Oliver
von DemonStaurum
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FuniCapi
- Offline
- Platinum Mitglied
- Beiträge: 1714
- Dank erhalten: 836
Das klingt irgendwie nach Stromversorgung die nicht klappt/ausreicht. Ist evtl. der Spannungsregler auf dem Arduino defekt? Der wird nämlich bei Versorgung per USB überbrückt. Liegt die Spannung der externen Stromversorgung zwischen den empfohlenen 7-12V? Unter 7V könnte es evtl. kritisch werden.
Nebenbei, du brauchst doch keinen Programmer für das Arduino Micro. Du kannst die Software direkt via USB hochladen!
Gruss Lukas
Nebenbei, du brauchst doch keinen Programmer für das Arduino Micro. Du kannst die Software direkt via USB hochladen!
Gruss Lukas
Last Edit:05 Mai 2022 21:07
von FuniCapi
Letzte Änderung: 05 Mai 2022 21:07 von FuniCapi.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- DemonStaurum
- Offline
- Neues Mitglied
- Beiträge: 11
- Dank erhalten: 1
Ich denke die Spannungsversorgung passt. Meine Alternative zum USB ist ein Netzteil ohne Daten für den USB-Anschluss. Konstant 5V. Wenn ich den Seriellen Monitor schließe blinken die Werte, nach den öffnen funktioniert wieder alles. Irgendwie wird die Kommunikation abgeschaltet.
von DemonStaurum
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FuniCapi
- Offline
- Platinum Mitglied
- Beiträge: 1714
- Dank erhalten: 836
Hast du du für Ex-Bus den gleichen seriellen Port verwendet wie für USB? Nimm doch für den EX-Bus den 2. seriellen Port. Das ist ja gerade der Vorteil des ATmega32U4 gegenüber dem 328P, dass eben zwei seriellen Ports zur Verfügung stehen und damit parallel zur Ex-Bus-Kommunikation debugging via USB gemacht werden kann.
Gruss Lukas
Gruss Lukas
von FuniCapi
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- DemonStaurum
- Offline
- Neues Mitglied
- Beiträge: 11
- Dank erhalten: 1
Mir scheint es auch so. Aber wie kann ich die Schnittstelle umstellen? Ich finde nicht die passenden Begriffe in der Dokumentation.
Kann ich die Pins in der "JetiExBusAtMegaSerial.cpp" ändern? Welche Pins werden benötigt?
// TX and RX pins goes high, when disabled
pinMode( 0, INPUT_PULLUP );
pinMode( 1, INPUT_PULLUP );
Könnte das die passende Stelle sein?
Kann ich die Pins in der "JetiExBusAtMegaSerial.cpp" ändern? Welche Pins werden benötigt?
// TX and RX pins goes high, when disabled
pinMode( 0, INPUT_PULLUP );
pinMode( 1, INPUT_PULLUP );
Könnte das die passende Stelle sein?
von DemonStaurum
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FuniCapi
- Offline
- Platinum Mitglied
- Beiträge: 1714
- Dank erhalten: 836
An den I/Os muss man nichts direkt umstellen um die serielle Kommunikation einzurichten, dass wird eigentlich bei USB durch die Serial.begin() Funktion oder bei Nutzung der Ex-Bus-Library durch exBus.Start("EX Bus", sensors, 2) direkt selbst erledigt. Um bei Ex-Bus den seriellen Port zu wählen muss eben der 3. Parameter (hier 2) bei exBus.Start("EX Bus", sensors, 2) richtig eingestellt sein. Beim ATmega32U4 wären dann die Parameter 0 und 1 möglich, wobei eigentlich 1 richtig wäre für deine Konfigration (TX und RX auf Pin 0 und 1). Siehe auch hier:
docs.arduino.cc/retired/getting-started-...ArduinoLeonardoMicro
Separation of USB and serial communication. On the Leonardo, Leonardo ETH and Micro, the main Serial class refers to the virtual serial driver on the board for connection to your computer over USB. It's not connected to the physical pins 0 and 1 as it is on the Uno and earlier boards. To use the hardware serial port (pins 0 and 1, RX and TX), use Serial1. (See the Serial reference pages for more information.)
Du darfst in deinem Code auf keinen Fall Serial1.begin() verwenden, sonst machst du die initialsierung per Ex-Bus-Library zunichte.
Gruss Lukas
Separation of USB and serial communication. On the Leonardo, Leonardo ETH and Micro, the main Serial class refers to the virtual serial driver on the board for connection to your computer over USB. It's not connected to the physical pins 0 and 1 as it is on the Uno and earlier boards. To use the hardware serial port (pins 0 and 1, RX and TX), use Serial1. (See the Serial reference pages for more information.)
Du darfst in deinem Code auf keinen Fall Serial1.begin() verwenden, sonst machst du die initialsierung per Ex-Bus-Library zunichte.
Gruss Lukas
Last Edit:06 Mai 2022 15:32
von FuniCapi
Letzte Änderung: 06 Mai 2022 15:32 von FuniCapi.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 1.070 Sekunden