HC05 Bluetooth Modul

So ich mache hiermit mal ein neues Thema auf.

Bei meinem Vorhaben, ein Handy und ein Arduino über Bluetooth Kommunizieren zu lassen hatte ich ein paar Hürden, von denen ich die wichtigsten dank euch gemeistert habe.

Ein Problem ist allerdings weiterhin geblieben: Das HC05 Bluetooth Modul funktioniert nicht am HardwareSerial eines Arduino Nanos, Unos oder Megas.

Per SoftwareSerial und auch an einem ProMini funktioniert es allerdings.

Meine Idee dazu war, dass das HC05 ja nur 3,3V Pegel verwendet und die LED beim RX Pin (das ProMini hat ja keine LED dort) für genug Spannungsabfall sorgt um nicht mehr sauber zwischen HIGH und LOW zu unterscheiden. Vermutung hier in Post #33

Als nächstes habe ich mir meine Level Konverter (diese hier) geschnappt und versucht die Pegel des HC05 auf 5V anzuheben.
Doch auch da konnte ich nichts empfangen.

Meine Vermutung: Der Level Konverter ist kaputt. Also meinen zweiten genommen. Das gleiche Ergebnis.

Das HC05 wird von verschiedenen Herstellern gefertigt.
Meins ist eins von LC Technology (u.a. hier zu sehen).

Auch wenn über über ProMini und auch USB/Seriell Adpter am PC das HC05 mehrfach erfolgreich auf funktionalität getestet habe, habe ich mal anders herum gedacht: Was ist, wenn mit dem HC05 was nicht ganz richtig ist?

Beim intensiven Suchen im world wide web habe ich im besten Forum das ich kenne etwas gefunden:
Link

Es sieht also sehr danach aus, alsob ich ein HC05 Modul habe, dass nur Pegel zwischen 3,3V und 1,7V ausgibt...
Also zusätzlich zu den Spitzen von nur 3,3V (anstatt 5V), kommen jetzt noch "LOW" Werte von nur 1,7V dazu...
Das macht die Erkennung natürlich ziemlich schwierig für die Arduinos.

Ich wundere mich jetzt allerdings, warum es am ProMini und über softSerial auch sonst klappt.

Von den HardwareExperten hier, würde ich gerne wissen, was ich tun könnte, um dieses HC05-Modul zu reparieren, bzw. ob jemand eine Idee hat, was ich sonst tun könnte (außer neu kaufen :smiley: ).

Liebe Grüße

Ausschussware-China beachtet?
Richtig angeschlossen?

Die HC05 Adapterplatinen (nicht das eigentliche Modul) sind billig aufgebaut. Heißt, bei einem AVR mit 5V Pegeln kommt an RX (TX Arduino) etwa 3-3V3 an. Gelöst ist das durch einen einfachen Spannungsregler. Das ist nicht die beste Lösung, sollte aber die wenigsten Probleme machen.

Wenn das HC Modul sendet, liegt an TX 3V3 an. Somit erhält der Pro Mini nicht seine ~5V, sondern nur 3V3. Sollte laut Spec kein Problem sein.

Einen Levelkonverter somit einzusetzen ist hier nicht erforderlich. Kann mir nur vorstellen, dass deine Platine teilweise schlecht gelötet wurde. Was passiert, wenn du einen RS232 Wandler direkt an die AVRs packst und am PC ausließt? Funktioniert es dann?

Ich hab den hier:
http://www.amazon.de/gp/product/B00H07UJL6?psc=1&redirect=true&ref_=oh_aui_detailpage_o03_s00

Der funktioniert Einwandfrei am UNO Hardwareserial. Allerdings muss man TX auf RX und umgekehrt verbinden.

Vielleicht hilfts dir ja weiter.

High wird ab 0,6 * Vcc erkannt. Also 3V

Was du mit Low sagst ist problematischer. Die maximale Low Spannung ist 0,3 * Vcc = 1,5V

Das andere Module funktionieren weiß ich. Bin kein Freund der Wegwerfmentalität und versucht daher jetzt rauszufinden, ob ich mein Modul dazu bekomme mit einem Uno, Nano, Mega direkt zu funktionieren.

Wenn nicht bleibt mir ja immernoch das softSerial, also funtkionieren tut es ja schon irgendwie, jedoch würde ich gerne die Einschränkung aufheben.

Das ProMini hat auch keine Probleme Stefan.
Alle anderen haben es.
Das Modul funktioniert auch direkt am PC.

Es geht auch glaube ich weniger um die 0-3,3V Pegel, als mehr um die 1,7-3,3V Pegel die das Teil (siehe meinen Link) produziert.

Hier also nochmal: wichtiger Link

@Serenifly:
Anscheinend nicht.
In meinem Link oben hat das ja jemand mit einem Oszilloskop nachgemessen.
Die Spannungen sind schon stabil, nur eben leider im bereich von 1,7-3,3V.

Wenn man mal etwas sucht, dann findet man viele, die das Problem haben, allerdings einfach das workaround softSerial benutzt haben ohne die Ursache des nicht funktionierens weiter zu hinterfragen oder zu beseitigen.
Zum Beispiel auch hier: Link

hi,

Allerdings muss man TX auf RX und umgekehrt verbinden.

na klar, wird hier ja auch sehr schön beschrieben:

Spontan erhoben am: RXD, wenn die normale Kommunikation mit anderen Geräten verbunden TXD, so, wenn Sie übermittelt durch die eigenen Namen Daten erhalten möchten andeutet, ist es ihre eigenen Daten übertragen, die direkt an einem eigenen TXD RXD angeschlossen ist, zum Senden und empfangen erhalten Test selbst ist normal, ist der schnellste und einfachste Testmethode, wenn ein Problem zunächst den Test zu machen, ob ein Produkt Fehlers zu bestimmen. Auch bekannt als die Schleifentest.

gruß stefan

Ja.
Man darf nicht einfach nur "gleiche Buchstaben" verbinden.
Wenn du A und B miteinander verbindest, dann muss A dort lauschen (empfangen), wo B redet (sendet) und umgekehrt.

btt:
Ich hab jetzt mal das TXD des eigentlichen Bletoothmoduls (auf der grünen Platine) mit dem TXD des Trägermoduls (blaue Platine) kurzgeschlossen/gelötet.

Soweit ich das sehn kann, sitzt dort nämlich nur ein mit "102" beschrifteter SMD-Widerstand (also 1K Ohm) auf der Trägerplatine.

So funktioniert es.
Gemessen mit Multimeter an TXD: 3,29V

EDIT:
Hab den Widerstand jetzt raus gemacht und überbrückt.
Funktioniert am Uno und Nano. (wird am Mega funktionieren, hab ich aber nicht getestet.)
Und auch immernoch am ProMini.

Haben die ja toll gemacht.