Hilfe bei Bluetooth HID Controller

Hallo Leute,

ich bin mal wieder an einem kleinen Projekt, und zwar möchte ich meinen momentan kabel-gebundenen Controller gerne auf Bluetooth umrüsten.

Dazu habe ich mir ein RN-42 Bluetooth Modul besorgt:
http://www.exp-tech.de/Shields/Wireless/Bluetooth/Bluetooth-SMD-Module-RN-42-HID.html

Sowie ein Modul zum Akku laden und Spannung auf 5V erhöhen:
http://www.exp-tech.de/Shields/Strom-Spannung-79/PowerBoost-500-Charger-Rechargeable-5V-Lipo-USB-Boost-500mA.html

Nun meine Fragen/Probleme:

  • Mir war leider nicht bewusst dass das Bluetooth Modul so winzig ist, daher ist es leider verdammt schwierig an die einzelnen Kontakte, Kabel zu löten. Ich habe gesehen das es für viele Module extra Platinen gibt auf denen das Bluetooth Modul sitzt. Leider weiß ich nicht wie diese genau heißen, weshalb ich leider keins einzeln finden kann. Daher wäre die Frage ob es die Platinen einzeln zu kaufen gibt, oder ob ich besser mir ein Modul samt Platine besorge.

  • Die 2te Frage betrifft die spätere Stromversorgung. Das Charger Modul liefert standardmäßig die ganze Zeit Strom, laut Hersteller verbraucht dabei nur das Modul 5mA, das müssten dann hochgerechnet bei meinem 900mA Akku eine Laufzeit von knapp 6 Tagen sein. Wenn ich jetzt jedoch das Bluetooth Modul noch dazu nehme, erhöht sich der Verbrauch ordentlich und ich sollte mal gerade noch auf so 20-22 Stunden kommen. Daher würde ich gerne eine Art Standby einarbeiten wollen. Denn einen Ein/Aus Schalter möchte ich vermeiden. Viele Kommerzielle Eingabegeräte schalten sich ja automatisch aus nach einer gewissen Zeit und dann bei einem Tastendruck wieder ein.

Das Ausschalten nach einer gewissen Zeit sehe ich als nicht so problematisch an, da könnte ich ja mit einen Relais das Modul schalten. Aber wenn es aus ist, dann ist es aus. Und ich wüsste nicht wie ich durch einen Tastendruck das Modul wieder anschalten könnte. Hat hier vielleicht einer ne Idee für mich.

Hallo!

Ich hoffe, dir ist bewusst, dass das Bluetooth Modul mit 3,3 Volt läuft (Versorgungsspannung und auch "Kommunikationspegel"). Das musst du berücksichtigen und du kannst nicht einfach dieses Mudul an 5 Volt anschließen.

Laut Link hat das Modul einen Sleep-Modus in dem es nur ein paar µA braucht. Ich nehme an im Datenblatt wird hoffentlich stehen wie du diesen aktivieren kannst.

Deine Berechnung der Laufzeit über Akku-Kapazität und Stromverbrauch ist recht optimistisch. Normalerweise kann man einen Akku nicht so total "leerlutschen", denn das hält er nicht oft aus.

Zu Stromspar-Strategien siehe: Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors

Gruß
Udo

Hallo Udo,

ja das war mir bewusst. Ich wollte das Modul auch gar nicht direkt an der Batterie betreiben, sondern natürlich mit einem Arduino Leonardo dazwischen.

Das Problem mit der Stromversorgung ist ja leider schon das Lademodul an sich, da es eine PowerLED hat und alleine so für sich ca. 5mA verbraucht. Jedoch kann das Modul durch die Schaltung von einem Pin zum Ground ausgeschaltet werden. So würde entsprechend das Arduino und Bluetooth Modul nichts mehr verbraten.

Mit einem Relais und dem Arduino könnte ich die Stromversorgung ja ohne Problem nach einer bestimmten Zeit von Inaktivität (kein Tastendruck), abschalten. Nur ich weiß nicht wie ich von dort aus bei Tastendruck ein wieder anschalten erreichen könnte.

Falls die Variante "Stromversorgung komplett ausschalten" für dich in Frage kommt ist ein Relais eher keine so gute Idee bei Batteriebetrieb (ein Relais braucht meist "ordentlich" Strom). Ein MOSFET eignet sich da wohl besser. Die Frage ist nur, wie sich das mit deinem Laderegler/Power-Boost-Modul "verträgt".
(Falls dich die Power-LED bei dem Modul stört: die könntest du ja entfernen, die Frage ist allerding wieviele mA das bringt).

Was meinst du mit "bei Tastendruck ein wieder anschalten"?
Könnte es eine "EIN-Taste" geben, die das Ganze für eine gewisse Zeit einschaltet, so etwas wäre relativ einfach zu realisieren.
Oder meinst du "der Tastendruck auf eine beliebige Taste" auf dem Controller soll ihn einschalten. So etwas geht eher schwierig mit der Variante "Stromversorgung komplett ausschalten".

Normalerweise baut man batteriebetribene "Sachen" die stromsparend sein sollen eher so:

  1. Die Mikrokontroller, die auf Arudino-Boards verwendet werden (z.B. ATmega338P) können in verschiedene "Sleep-Modi" versetzt werden und brauchen dann je nach Modus wenig bis "fast keinen" Strom. Man kann sie in regelmäßigen Zeitabständen kurz aufwachen lassen und "nachschauen lassen" ob es etwas zu tun gibt. Falls nichts ansteht gehen sie wieder schlafen. Das spart recht viel Strom. Und dabei funktioniert dann auch "Dücken auf irgendeine Taste schaltet das Ding ein".

  2. Leider funktioniert das NICHT mit den meisten fertigen Arduino-Boards, weil dort einige Komponenten drauf sind, die ständig Strom brauchen (z.B. USB-Schnittstelle - je nachdem, wie diese realisiert ist, oder der/die Spannungsregler, die teilweise nicht sooo stromsparend arbeiten) und deshalb der Sleep-Modus des Mikrocontrollers wenig Stromersparnis bringt.

  3. Deshalb baut man - wenn es sehr stromsparend sein soll - einen "Barebone-Arduino", der dann sehr effektiv Strom sparen kann (siehe: Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors ). Oder man modifiziert ein Modul der Arudino-Pro-Serie (die haben meist keine USB-Schnittstelle).
    Beides ist aber mit Löten und/oder Modifizieren verbunden. Hängt davon ab, ob man sich das zutraut oder eher nicht.
    Ausserdem lässt sich so ein selbst gebasteltes Board nicht mehr so komfortabel über USB programmieren...

Das Bluetooth-Modul kann zwar auch in den Sleep-Modus versetzt werden, habe aber beim schnellen Drüberlesen über dessen Datenblatt nichts gefunden, wo erklärt wäre, wie das geht.
Auf jeden Fall ist es wichtig auch die "Kommunikationspegel" von 5 auf 3,3 Volt anzupassen.
Du brauchst du zumindest einen Spannungsteiler.
Siehe Datasheet Seite 5: "Typical Application Circuit" R1 und R2.

Gruß
Udo

Danke für die ausführliche Antwort.

Vielleicht noch zu meinen Aufbau. Ich habe einen Slide-Stick sowie ein normalen Taster. Der Slide Stick fungiert als Maus und der Taster als Mausklick. Mir würde es im Prinzip langen wenn ich die Stromversorgung wieder per einmaligen Druck auf den Taster einschalten könnte.

Wenn du einen extra Taster zum Einschalten machen würdest könnte es in Verbindung mit deinem Power Booster vielleicht so funktionieren (siehe Bild). Ich kann das allerdings nicht testen, ich habe so einen Power Booster nicht.
Die Idee wäre folgende:
Im Ruhezustand wird Eingang EN (Enable) des Power Boosters durch R3 auf GND gezogen. Dadurch ist er ausgeschaltet.
Wenn der Ein-Taster gedrückt wird bekommt EN VBat-Pegel, der Power Booster schaltet sich ein und der Arduino wird mit Strom versorgt.
Das erste, was der Arduino machen muss ist, den "Arduino Pin" auf HIGH schalten, damit der EN des Power Boosters auch weiterhin HIGH Pegel bekommt (der EN-Anschluss ist laut Datenblatt anscheinend bis 7V tolerant) und die Stromversorgung eingeschaltet bleibt.
Automatisches Ausschalten: Nach der gewünschten Zeit, bzw. nachdem einige Zeit lang dein Controller nicht mehr benutzt wurde (Millis zählen) geht der Arduino-Pin auf LOW und schaltet auch den Power Booster und somit die Stromversorgung aus.

Noch 2 Hinweise:
Diese Schaltung braucht einen extra (also einen zusätzlichen) Taster zum Einschalten. Es ist auch möglich, den schon vorhandenen Taster auch zum Einschalten zu verwenden, dann wird die Schaltung aber ein wenig komplizierter.

Ich bin nicht soooo der totale Elektronik-Profi (hab aber schon ein paar Jahre Übung :slight_smile: ), vielleicht könnte sich auch noch jemand berufener zu dieser kleinen Schaltung äussern.

Gruß
Udo

autom_ausschalten.png