Ich habe einen benutzerdefinierten 5-V-16-MHz-Arduino, auf dem grbl ausgeführt wird , und ich hatte gehofft, eines der HC-05-Bluetooth-Module verwenden zu können, um es drahtlos zu steuern. Dieser Arduino kann über einen FTDI-Chip an einen USB-Anschluss angeschlossen werden. Ich möchte, dass dies mit beiden funktioniert und nicht mit beiden. Dies funktioniert größtenteils und hier ist die 'Wahrheitstabelle', die ich erlebt habe:
USB Bluetooth Works over Works over
ON ON USB? Bluetooth?
--- --------- ---------- ----------
Y Y N Y
Y N Y N
N Y N Y
Ich vermute, wenn beide eingeschaltet sind, funktioniert der USB nicht, weil beide die gleichen RX- und TX-Leitungen des Arduino teilen und es scheint, dass der Bluetooth-Verbindung Priorität eingeräumt wird. Gibt es eine Möglichkeit, dass das Bluetooth-Modul nicht verwendet werden kann, wenn das USB-Kabel an den Host-PC angeschlossen ist, und der kabelgebundenen Verbindung Priorität eingeräumt wird?
Nach den Vorschlägen von Chris ist hier eine Multiplexer-Lösung, die ich ausprobieren möchte. Wenn der USB abgezogen wird, sind die Auswahlleitungen niedrig und die Y0-Leitungen werden ausgewählt, was das BT-Modul ist. Wenn das USB-Kabel eingesteckt ist, gehen die Auswahlleitungen hoch und der FTDI-Chip wird ausgewählt. VBUS und 5V sind zwei separate 5V-Quellen. Nur der FTDI wird über den USB-Bus mit Strom versorgt.
HINZUGEFÜGT: Während ich dabei war, dachte ich, ich könnte das BT-Modul vollständig ausschalten und isolieren, wenn der USB-Anschluss angeschlossen ist. Verwendet ein p-Mosfet, das etwa 130 mA verarbeiten kann, was ausreichend ist, da das BT-Modul selbst nicht mehr als verbraucht 50mA.
Wenn das USB-Kabel an den Host-PC angeschlossen ist, sieht Ihr Port VBUS=5V. Wenn kein Kabel, VBUS=0V. Sie können dieses Signal in einen der GPIO einspeisen (bei richtiger Spannungsübersetzung sollte der Widerstandsteiler in Ordnung sein) und das Logiksignal verwenden, um zwischen USB und BT umzuschalten (BT ausschalten).
Es gibt auch eine Option, wenn Sie zwei UART in Arduino verwenden möchten, es gibt Unterstützung von Softwareserial (), die Ihnen hilft, einen zweiten UART zu erstellen. dann können Sie sowohl USB als auch Bluetooth in einer einzigen Zeit und auf einfache Weise ohne Änderungen an der Hardware verwenden. Bitte lesen Sie, wie Sie die Softwareserial()-Bibliothek verwenden und welche Pins unterstützt werden.
PlasmaHH
elektrophil
Chris Stratton
elektrophil
Chris Stratton