Hallo ihr anderen Forenmitglieder, ich habe ein "Problem", bzw. muss jetzt auf die schnelle Wissen, wie ein möglichst kleiner SMD-Pegelwandler, der 5V in 3V3 wandelt (und umgekehrt). Konkret geht es um ein BTM-222, das in einer 5V-Platine zum Einstatz kommen soll. Diese 5V sind fest, da andere Sensoren sonst nicht funktionieren. Controller ist übrigens ein mega2560. Falls jemand eine hilfreiche Antwort hat, wäre ich sehr dankbar. Falls noch Infos fehlen einfach nachfragen, aber ich hoffe, dass ich alles habe. mfg N.G.
Irgendwie fehlt da was an deinem Satz! > ich habe ein "Problem", bzw. muss jetzt auf die schnelle Wissen, wie ein > möglichst kleiner SMD-Pegelwandler, der 5V in 3V3 wandelt (und > umgekehrt).
Martin D. schrieb: >> ich habe ein "Problem", bzw. muss jetzt auf die schnelle Wissen, wie ein >> möglichst kleiner SMD-Pegelwandler, der 5V in 3V3 wandelt (und >> umgekehrt ...heißt. Jaja, das handy...
Martin D. schrieb: > Z.B: SY89322VMG geht nicht, er braucht einen bidirektionalen Pegelwandler. PCA9306 z.B.
Gibts den auch in smd oder nur auf platine? Googlebilder (ihr braucht nix sagen ^^) liefert nur kleine platinen
Ich würde so etwas aufbauen: http://www.smarkwardt.de/data/images/articles/i2c-level-shift-mosfet.png Wenn du keine schnellen Signale hast kannst du für die Wandlung von 5V --> 3.3V einen Spannungsteiler verwenden.
UART bei 192000 Baud(bin mir grad net sicher, aber halt die Standarteinstellung vom BTM222). Imho ist das zu schnell für nen Spannungsteiler
N.G. schrieb: > Imho ist das zu schnell für nen Spannungsteiler Der Pegelwandler de ich gepostet habe funktioniert bidirektional und auch bei I2C mit 400kHz.
Sry, hatte ich übersehen. Dachte nur es wäre auch ein spannungsteiler
Hi, wie klein ist "möglichst klein" subjektiv für Dich? ;) Ich hab mir für meine BTM222 Adapterplatinen ein Layout erstellt und die Pegelwandlung mit je 2 BC847 samt nötigen Widerständen realisiert. Der Platzbedarf insgesamt ist nicht sehr groß. Vorteil ist zweifelsfrei die Einfachheit der Bauteile und der geringe Preis von insgesamt wenigen Cent. Falls gewünscht kann ich später mal die entsprechenden Screenshots nachreichen. Auch ein Austausch der Erfahrungen wäre evtl. interessant da ich die module für die einfache Datenübertragung in Verbindung mit meinen MPU6050 in Verbindung mit einem Smartphone oder Notebook Nutzen will, im Moment aber noch ein wenig mit dem eigentlichen Datenaustausch kämpfe... Es wird zwar gesendet und Empfangen, aber irgendwie bin ich nicht sicher ob das Wechseln zwischen Kommandos und reinem "Echo" bzw. durchreichen immer richtig hinhaut. Ciao...
Hallo Maxx, Erst mal danke für deine Antwort. Wäre Klasse, wenn du noch Bulder dazu hättest. Wenn ich dir auch helfen kann gerne
Hi, hier mal die entspr. Ausschnitte aus meinen Eagle Dateien... Den separaten Reset zum AVR habe ich leider erst im überarbeiteten Layout berücksichtigt. Viele beispielschaltungen zum BTM222 hatten aber auch keinen. Ich hoffe also, dass meine Probleme mit der "klaren" Kommunikation nicht daran liegen. In den wenigen Beispielen zum BTM222 bei denen der Reset explizit verdrahtet ist, wird gerne mal einer ausgeführt um den Ausgangszustand des Moduls sicherzustellen. Kommunikation via Arduino klappt soweit auch scheinbar solange es direkt im Code geschieht (z.B. habe ich quasi "hardcoded" den Namen des Moduls mit einigen AT Befehlen zu Programmanfang geändert um beim nächsten Verbindungsaufbau meldete es sich dann auch mit diesem am Smartphone). Versuche, sinnvolle Reaktionen über die serielle Konsole der Arduino IDE zu bekommen scheitern dagegen... Wie auch immer... die Transistorlösung zur Pegelwandlung benötigt zwar eine gewisse Menge Bauteile, diese sind aber im Centbereich angesiedelt und je nach eigenem Layout lassen sie sich gut und relativ platzsparend einfügen... Ciao...
Hi, schon irgendwelche Fortschritte bzw. war die Idee mit den Transistorstufen als Pegelwandler hilfreich? Wie auch immer.. animiert durch Deine Anfrage hab ich meine Testschaltung(en) auch wieder ausgegraben und werde mich auch wieder daran machen. Beim letzten mal hatte ich wie bereits angedeutet maßgeblich 2 Probleme... 1. die Übertragung von der Arduino IDE zum Smartphone klappte nicht über die Konsole. Fixe Strings oder Daten die im Programmcode standen wurden scheinbar gut übertragen. 2. Die Übertragung zur (modifizierten) BluetoothChat App erfolgt in eher unregelmäßigen Byteschüben, d.h. ich bekomme keine ganzen Strings übertragen. Die ankommenden Daten (z.B. Echos der ans BTM gesendeten Kommandos) kommen scheinbar willkürlich. Statt einem einfachen "ATI2" kommt z.B. "AT" "I" "2" am Smartphone an, obwohl keine separaten CRs oder LFs mit gesendet werden. Die eigentliche Idee hinter meinen BTM222 Versuchen ist, die Module an diverse Sensoren (habe z.B. einige MPU6050 bzw. ADXL335 Module hierzu erstanden) zu koppeln um die ermittelten Daten in Echtzeit in einer einfachen Android App darzustellen. Eine zweite Projektidee sieht vor, Meßwerte mit dem internen ADC eines AVR zu erfassen (ca. 1Vss analog) und ebenfalls als String zu übertragen und als einfache Kurve anzuzeigen. Die BluetoothChat App dient erstmal nur dem Sicherstellen der erfolgreichen Übertragung dieser "Telegramme", die spätere Auswertung bzw. Aufbereitung in einer kleinen App sollte erst dann in Angriff genommen werden. Und eben an diesem Punkt stecke ich irgendwie fest. Evtl. ja auch nur mit meiner Herangehensweise ^^ ?! Wenn Du Deine Pegelwandlung soweit fertig hast und wir uns über die nachfolgende Übertragung und (erfolgreiche) Auswertung der eigentlichen Daten ein wenig Austauschen könnten wäre das sehr nett... Ciao...
Maxx M. schrieb: > Statt einem einfachen > "ATI2" > > kommt z.B. > > "AT" > "I" > "2" > am Smartphone an Mit Hochkommata, oder wie? Wo siehst du das? > obwohl keine separaten CRs oder LFs mit gesendet werden. Kannst du die Daten auch mal in binärer Form (also als hexadezimale Zahlen) anzeigen lassen. Dann siehst du ja, ob da ein OxD oder ein OxA mitkommt...
Hi, hab mir die Sache heute nochmal vorgenommen. Ein Teil des Problems lag am Arduino UNO. Die Kommunikation mit dem BTM lief über die Hardware-Serial, diese hat aber scheinbar immer sporadisch Zeichen geschluckt, da die Schnittstelle auch zur Kommunikation mit der Konsole der Arduino IDE genutzt wird. Interessanterweise eben auch, wenn ich überhaupt keine Konsolenausgabe in meinem Test-Sketch verwendet habe. Wieso ist mir och schleierhaft... Als ich das Modul schließlich an einem Arduino Mega und dessen 2. serieller Schnittstelle angeschlossen habe klappte das mit der Übertragung dann auf Anhieb tadellos. Die AT Kommandos im Setup Teil werden Zeilenweise ausgegeben, und auf einzelne Zeichen wie "1" oder "2" die vom Smartphone kommen wird in der einfachen Switch Bedingung auch richtig reagiert. Soweit scheint also schon mal alles zu funktionieren. Die nächsten Schritte wären nun, ganze "Telegramme", also klar definierte Strings mit einfacher Kennung am Anfang zur Auswertung (später sollen ja unterschiedliche Daten wie z.B. x/y/z Bewegung oder parallele analoge Werte eines Meßgebers übertragen werden) und Terminierung (\n) zu senden und am Smartphone zu lesen/interpretieren. Mit den Stringfunktionen bin ich aber scheinbar noch ein wenig auf Kriegsfuß... da ist erst mal Nachsitzen angesagt ;) Ciao...
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.