Hi Leute, ich möchte gerne mit einem µC ein Handy mittels AT Befehlen steuern. Das Problem ist, dass der µC mit 5V versorgt wird und daher auch die Pegel 5V TTL sind. Das Handy besitzt Pegel zwischen 0....2,7V 3V 3,3V (Im Internet hab ich mehrere verschiedene Angaben gefunden). Ich möchte gerne ohne große Anpassungen das Handy mehr oder weniger direkt über einen Spannungsteiler an den µC anschließen. Dazu hab ich eine kleine Skizze angefertigt - ich hoffe ihr könnt die mal kurz anschauen und mir mitteilen ob das passen kann. Was mich noch ein bisschen beunruhigt sind die Pegel die der µC liefert. Im Datenblatt hab ich folgende Werte gefunden: Output low voltage, ports 1, 2, 3, 4 = 0,45V Output high voltage, ports 1, 2, 3, 4, except P1.6/SCL, P1.7/SDA =2,4V Auf der Seite www.nobbi.com steht bezüglich den Pegeln folgendes: "Um auch den Worst-Case-Fall sauber abzudecken, solle der LOW-Pegel auf den Logikleitungen nicht über 200mV liegen, HIGH sollte besser als 2V sein." Der High Pegel würde ja größer als 2V sein, aber der Low Pegel dürfte mit 0,45V Probleme machen... Kann man da etwas machen? Danke! Grüße Neuling
ja das mit den spannungsteiler funktioniert schon, nur verzieht es dir bei hohen datenraten die flanken, wenn du deinen spannungsteiler zu hochohmig machst. bei zu niederohmigen widerständen gegen masse forderst du den ausgang deines atmels. klar kanns klappen, aber fail-safe sind da pegelwandler: http://www.mikrocontroller.net/articles/Standardbauelemente#Logik grüße, holli
Hi holli, ich glaube ich werde wie du es vorgeschlagen hast auf Nummer sicher gehen und einen Pegelwandler (74HC4050) einsetzen. So wie ich das Datenblatt von dem IC verstanden habe, garantiert mir der dann auch einen "schönen" Low Pegel (<200mV) den das Handy braucht. Klingt also ausgezeichnet. Danke! Grüße Neuling
Hi Du wirst doch höchstwahrscheinlich ein Handy-Datenkabel verwenden oder nicht? Falls du ein USB-Datenkabel verwendest, könntest du einen FTDI (USB to RS232) nutzen. Der würde dann die vom Datenkabel (bzw. dessen Bauteil) gelieferten Signale wieder in die für die Usart-Schnittstelle benötigten Signale umwandeln. Allerdings gibts FTDI nur als SMD. Falls du ein Datenkabel mit SUB-D nutzt, so wird in diesem ein MAX232 sein. In der Regel soll/wird das Datenkabel mit dem PC verbunden. Die serielle Schnittstelle des PC arbeitet allerdings mit +-12V. Der Max232 wandelt die vom µC gelieferten Signale in die benötigten +-12V um. Wenn du solch ein Kabel nutzt brauchst du einen weiteren MAX232, um die +-12V wieder auf 5V 0V zurückzuwandeln. Falls du das "nackte" Datenkabel (ohne Platine) nutzen möchtest, könntest du einen Max 3232 nehmen (3 to 5V). Ich selbst habe gerade auch ein Handy mit nem µC verbunden. Was hast du denn damit vor?
Hi Elbegucker, ich hab mir 2 Schaltungen gebaut bzw möchte mir 2 Schaltungen aufbauen: Einmal eine Schaltung mit dem ich über den PC AT-Befehle an das Handy schicken kann und eine zweite Schaltung mit der es möglich ist AT Befehle vom µC(ist ein 8051 Derivat) an das Handy zu schicken. Die erste Schaltung hab ich mir mit einem MAX232 aufgebaut, das hat auch funktioniert. Aber jetzt funktioniert das komischerweise nicht mehr. Ich nehme an der Fehler ist, dass der MAX232 die Pegelanpassung auf 5V vornimmt aber das Handy nur 3V Pegel verträgt. Jetzt möchte ich den MAX232 durch einen MAX3232 ersetzen. Die zweite Schaltung soll dann ein µC <-> Handy Interface werden. Ich hab nur ein "nacktes" Kabel. Ich hab mir dazu ein Programm geschrieben das mir einen PDU String erzeugt den ich dann an das Handy schicken kann. Im Prinzip möchte ich dann mit Hilfe einer SMS Messwerte übertragen. Ich würd ja gerne eine andere Art der Datenübertragung wählen, aber SMS scheint das praktischte und günstigste zu sein. Oder hast du eine andere Idee? Grüße Neuling
Hi Die erste Schaltung hab ich mir mit einem MAX232 aufgebaut, das hat auch funktioniert. Es hat also die Verbindung zum PC geklappt. Aber jetzt funktioniert das komischerweise nicht mehr. Ich nehme an der Fehler ist, dass der MAX232 die Pegelanpassung auf 5V vornimmt aber das Handy nur 3V Pegel verträgt. Vielleicht nochmal zur Funktionsweise des MAX232: Dein Handy arbeitet wahrscheinlich mit 0V-3V (frühere haben auch mal mit 5V gearbeitet), die serielle Schnittstelle des PC aber mit +-12V. Der MAX232 wandelt die für den PC benötigte Spannung von 3V auf -12V und von 0V auf +12V, sodass der PC mit den Signal des Handy etwas anfangen kann. Eine Verbindung des Handys mit MAX232 an µC wird nicht funktionieren, da der Mikrocontroller ja nur mit 0V-5V arbeitet. Also wenn würde es nur ohne MAX232 gehen. Allerdings liefert dein Handy nur bis zu 3V, das ist dem µC aber zu wenig. (Habe selbst auch versucht das Handy direkt mit dem µC zu verbinden, hat nicht geklappt. Gekreuzte Adern habe ich nicht vergessen: Handy RX mit µC TX, etc.) Du müsstest also eine Pegelwandlung von 3V auf 5V vornehmen. Das könntest du dann mit dem MAX3232. Was du auch könntest: Nimm zwei MAX232. Der eine wandelt dann die 3V auf -12V und der andere wandelt das ganze wieder zurück von -12V auf +5V. Das funktioniert. Hatte diesen Aufbau auch zeitweise. Wohin möchtest du denn deine Messwerte übertragen? Mir ist noch nicht ganz klar wie/was du machen willst. Ich weiß nicht, ob es dir hilft. Aber Bluethooth unterstütz auch AT-Befehle. Habe darin aber keine Erfahrungen. Nur mal am Rande was für ein Handy nutzt du denn?
Hallo, Also das mit dem MAX232 wusste ich nicht, ich dachte immer das der Pegelwandler 5V <-> 12V wandelt... Ich hab mich bei meiner Schaltung größtenteils an die Schaltung von Nobbi gehalten. http://nobbi.com/phones.htm Der verwendet da einmal den MAX232 für 5V Geräte und dann den MAX3232 für 3V Geräte. >(Habe selbst auch versucht das Handy direkt mit >dem µC zu verbinden, hat nicht geklappt. Gekreuzte Adern habe ich nicht >vergessen: Handy RX mit µC TX, etc.) Das beruhigt mich, denn ich hätte ebenfalls versucht das Handy ausgekreuzt mit dem µC zu verbinden - hat aber auch nicht geklappt. Ich hab einen Fehler bei meinem Programm vermutet, aber wenns bei dir auch nicht funktioniert hat, dann lebt ja die Chance :) >Du müsstest also eine Pegelwandlung >von 3V auf 5V vornehmen. Das könntest du dann mit dem MAX3232. Hab mir jetzt sowohl den MAX3232 als auch den 74HCT4050 bestellt. Irgendwie wirds sicherlich klappen. >Wohin möchtest du denn deine Messwerte übertragen? >Mir ist noch nicht ganz klar wie/was du machen willst. Also ich hab einen µC, der über einen Sensor Messwerte sammelt. Diese Messwerte möchte ich gerne an eine Datenverarbeitungsstation senden. Die Messwerterfassung steht dabei einige Kilometer weit entfernt, daher fallen die üblichen Verdächtigen(Kabel,Bluetooth,Infrarot...etc) weg. Eigentlich wollte ich das in einem anderen Thread besprechen, aber das passt hier so gut rein: Ich hab mir dann eine kleine Liste mit Vorteilen und Nachteilen für die mir bekannten Datenübertragungsarten angelegt. -) GPRS: + geringe Kosten,byteweise Verrechnung - TCP/IP Stack notwenig --> schwer zu realisieren(außer man hat einen AVR und greift auf was fertiges zurück) -) SMS zur Datenübertragung + relativ einfach - eventuell teuer --> richtiger Tarif - Handy auf Gegenseite zum Empfang der Daten notwendig - max 160Zeichen/SMS -) CSD - teuer - max 9,6kb/s + Implementierung relativ einfach - Handy auf Gegenseite notwendig -) HSCSD + schneller als CSD - teuer - kaum verfügbar bei Provider(alle haben GPRS) -) SMS zur Datenübertragung (+ SMS to Email Gateway) + nur 1 Handy nötig - weniger als 160 Zeichen/SMS + gleiche Kosten wie normale SMS - Provider muss diesen Dienst bereitstellen Für mich klingt im Moment das letztere am besten. >Aber Bluethooth unterstütz auch >AT-Befehle. Habe darin aber keine Erfahrungen. Bluetooth hab ich mir auch angesehen, doch da gibts Probleme mit meinem Bluetooth Modul am µC, da sich sowohl das Bluetooth Modul am µC als auch das Handy wie Slaves verhalten - keiner will Master spielen. >Nur mal am Rande was für ein Handy nutzt du denn? Im Moment probier ichs mit dem Siemens S55. Übrigens, danke für deine Hilfestellung! Grüße Neuling
Denke auch, dass die Möglichkeiten nicht sehr groß sind. Es sei denn du speicherst die Messdaten auf einem EEPROM und möchtest dann jede Woche oder so von deiner Messwerterfassung zur Datenverarbeitungsstation laufen, um dann die Daten zu übertragen ;-) Was es allerdings noch gibt: Du kannst dein Handy auf verschiedene Modi umstellen 1.) voice call 2.) data call 3.) fax per AT-Befehl. Vielleicht ist das was für dich. Die Schaltungen bei Nobbi werden wohl stimmen, wenn deine Kommunikation zum PC klappt. Die verwendeten Kondensatoren für den MAX232 und 3232 hängen vom genauen TYP ab. Da musst du ist Datenblatt schauen. Die Werte können unterschiedlich große sein z.B. 1u oder 4,7u je nach Typ. Hauptsache ist nur, dass die Kondensatoren groß genug sind. Sie werden zum Aufladen für die +-12V benötigt. Wofür du den 74HCT4050 nutzt weiß ich nicht. Der im Schaltplan verwendete 78(L)05 dient nur zur Spannungsregelung. An den Eingang wird eine Spannung über 6/7V angelegt (bis zu 35V oder so möglich) und am Ausgang kommen 5V raus. Damit wird der MAX betrieben. Du kannst auch deine 5V vom Controller nehmen. Hier gibt es AT-Instruction Sets für (Sony Ericsson) http://developer.sonyericsson.com/getDocument.do?docId=65059 Ich habe auch noch eins fürs Siemens S25. Ich kann es noch uploaden, wenn du willst. Die unterstützten Befehle kannst du auch mit AT* abrufen. Sonst kann ich noch http://pinouts.ru/ (auf englisch nicht russisch) empfehlen. See you
Hmm, das ist echt komisch. Vor einigen Tagen konnte ich mit meiner Schaltung noch eine Kommunikation Handy <--> PC herstellen, doch mittlerweile klappt es nicht mehr(habs schon mit 2 verschiedenen Siemens Handys versucht), obwohl ich eigentlich nichts geändert habe. Jedes Mal wenn ich das Handy mit meiner Schaltung verbinde und versuche etwas zu senden, dann dreht sich das Handy ab(Akku voll). Liegt da ein Kurzschluss vor? Kann die Kommunikation dadurch nicht zustande kommen, dass ich statt einem MAX3232 einen MAX232 einsetze der größere Pegel erzeugt? verzweifelter Neuling
Hi >Kann die Kommunikation dadurch nicht zustande kommen, dass ich statt >einem MAX3232 einen MAX232 einsetze der größere Pegel erzeugt? Also nochmal: Der MAX3232 wird zur Verbindung zwischen Handy und Mikrocontroller genutzt. Sollst du dein Handy über einen MAX3232 an den PC verbunden haben, wird das nicht funktionieren. Der MAX 3232 erzeugt keine +-12V für den PC. Wenn du dein Handy mit dem PC verbinden willst, muß du den anderen Baustein also den MAX232 nutzen. Kurzfassung: MAX3232 Handy - Mikrocontroller MAX232 Handy - PC oder auch Mikrocontroller - PC Was deine Verbindungen angeht, kann ich da nur mutmaßen. Wenn bei zwei Handys das selbe passiert wird es wohl an deiner Verkabelung liegen. Ich würde einfach die Verbindungen, welche Uart und MAX betreffen rausrupfen und dann dies nochmal von vorne verkabeln. Wo du die TXD und RXD Pins am Handy findest kannst du unter www.pinouts.ru nachschauen. Wie du dein Handy RXD und TXD kannst du ja unter www.nobbi.com oder auch hier http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART nachschauen >Jedes Mal wenn ich das Handy mit meiner Schaltung verbinde und versuche >etwas zu senden, dann dreht sich das Handy ab(Akku voll). Liegt da ein >Kurzschluss vor? Achso jetzt versteh ich, was du mit Handy abdrehen meist: Es schaltet sich aus. Ja das mit dem Kurzschluß kann sein. Ich hatte sowas bei meinem fliegenden Aufbau auch. Nun weiss ich nur nicht mehr genau woran es lag, da ich nicht nur die TXD und RXD Leitung verwendet habe. Aber schau mal nach, ob sich die RXD und TXD Leitung berühren. Des weiteren: Als Terminalprogramm empfehle ich dir HTERM anstatt Hyperterminal. Dort musst du nur deine Baudrate angeben und noch bei send on enter: CR-LF einstellen. Man kann dann sehr schön sehen, was vom Handy zurückgeschickt wird. Vor allem was \n oder \r angeht.
hi, vielleicht kannst du uns noch sagen, was für ein handy das ist? Handy mit PC verbinden macht man üblicherweise mit einem Datenkabel der einen max232 enthält, vorausgesetzt serielle verbindung. Wenn das ein handy mit USB ist, dann siehts wieder ganz anders aus, aber ist in deinem falle ja wohl nicht. Warum das jetzt nicht mehr funktioniert, kann an den uart einstellungen liegen oder wenn du zwischendurch mal dran gebastelt hast und du findest den fehler nicht, neuaufbauen... Ansonsten kann ich dir aus erfahrung sagen, dass es mit der oben angegebenen schaltung bei einer seriellen verbindung zwischen controller und handy (Handyseitig 3.3V und controllerseitig 5V) funktioniert. Ich hatte allerdings probleme mit hyperterminal. Handy mit datenkabel und at-befehle klappt bei hyperterminal, aber das handy mit dem controller, da wollte hyperterminal mich einfach nicht mitlauschen lassen, was mit dem Hterm allerdings gut klappt. bei den zdioden kannste ein wenig probieren, nimm so 2.7V-3.3V. Extout sind 5V. Die Widerstände musst du halt noch sinnvoll für deine gegebenheiten dimensionieren und die verbindung steht dann... kannst uns ja auf dem laufenden halten.... MFG Elektrolyt
wobei du die D2 und R2 auch weglassen kannst und eventuell von der basis von T1 noch ein R gegen masse... mfg Elko
Ich habe da eine Frage. Läuft der uC denn nicht auch mit 3,3V? Wenn nicht, gibt es sicher einen Low-Voltage Typ des Prozessors den du verwendest. Denn so erspart man sich die Pegelwandler und kann den uC direkt anhängen. (Ich hänge in solchen Fällen noch einen 10 Ohm Widerstand zur Strombegrenzung in Serie und dass war's.)
Erstmal danke für die zahlreichen Antworten. Bevor ich mich weiter auf die Ansteuerung mit dem Mikrocontroller konzentriere möchte ich zuerst die Kommunikation mit dem PC - Handy wiederherstellen. Was ich immer noch nicht kapiere(vielleicht bin ich wirklich zu blöd) ist der MAX232 und dessen Funktionsweise in meiner Schaltung (Handy <-->PC). Ich habe diese Schaltung aufgebaut: http://nobbi.com/images/splan_5v.png Ich war bis jetzt immer der Meinung, dass der MAX232 ein Pegelwandler ist der die +-12V von der RS232 auf TTL kompatible (0-5V) Pegel bringt. Dies würde sich auch mit meiner Spannungsmessunge decken, die ich zwischen GND und RxD des Handys vorgenommen hab --> 4,6V. Doch laut diverser Informationen dürfen die Pegel beim Handy nur zwischen 0...3,3V liegen. Und ich habe die Befürchtung, dass ich durch den Einsatz des MAX232 und des zu großen Spannungspegels etwas am Handy zerstöre. Ich weiß nicht ob ich falsch denke oder einfach zu dumm bin, aber für mich macht der MAX232 (im Moment) keinen Sinn. Ich hoffe mir kann jemand helfen ps: Ich besitze das Siemens S55 Grüße Neuling
Hi >Dies würde sich auch mit meiner Spannungsmessunge decken, die ich >zwischen GND und RxD des Handys vorgenommen hab --> 4,6V. >Doch laut diverser Informationen dürfen die Pegel beim Handy nur >zwischen 0...3,3V liegen. Und ich habe die Befürchtung, dass ich durch >den Einsatz des MAX232 und des zu großen Spannungspegels etwas am Handy >zerstöre. Okay das mit den 3V war vielleicht nicht ganz korrekt. Neuere Handys (soweit sie nicht schon usb besitzen) arbeiten mit 3V-Pegel, also CMOS Technologie. Ältere (dazu gehört dann auch dein Handy) haben noch mit TTL-Logik (5V) gearbeitet. CMOS und TTL haben unterschiedliche High / Low Pegel, sodass man die unterschiedlichen Bausteine nicht einfach so verbinden kann. http://www.elektronik-kompendium.de/sites/dig/0205171.htm Die von dir gemessene Spannung wird korrekt sein. Ich war voher davon ausgegangen, dass dein Handy mit CMOS arbeitet, daher die 3V. Eine Befürchtung, dass du etwas zerstört hast musst du glaube ich nicht haben. Den MAX232 wirst du aber trotzdem brauchen. Ich habe mal eben nachgeschaut wie du das Handy über Max232 an PC verbindest. MAX232: Pin7: PC_RX Pin8: PC_TX Pin9: Handy_RX (Pin 4 beim Handy) Pin10: Handy_TX (Pin 3 beim Handy) Da dein Handy nun mit TTL Logik arbeitet, bin ich mir ziemlich sicher, dass du dein Handy ohne Baustein (MAX3232) mit dem Mikrocontroller verbinden kannst.
Hi, ich glaub ich habe den Fehler gefunden - eine Leitung war kurzgeschlossen. Somit funktioniert die Verbindung mit dem PC wieder so eingermaßen. Danke! Doch leider steht mir jetzt das nächste Problem(mal abgesehen von den Pegeln) ins Haus und zwar wie ich das mache mit dem Uart. Der µC hat nur einen Uart, über den er auch programmiert wird. Den Mikrocontroller kann ich nicht tauschen, es sei denn ich finde etwas pinkompatibles(halte ich für ausgeschlossen). Jetzt bleibt die Frage wie ich das realisieren soll, ich hab hier verschiedene Ansätze gefunden: -) Rx,Tx multiplexen -) Uart Baustein -) Software Uart Der Grund warum ich gerne 2 Uarts hätte: Rein theoretisch könnte ich ja auch nur mit einer Uart Schnittstelle auskommen indem ich zuerst den µC mit dem PC programmiere und dann das Handy anschließe und mit einem Taster den PDU String sende. Nur sehe ich dann nirgends ob der String tatsächlich angekommen ist bzw was das Handy zurückgeschrieben hat. Ich hoffe ihr versteht. Ist hier jemand schon mal auf so ein Problem gestoßen und hat eine einfache Lösung gefunden? Gruß Neuling
Hi kann dir nur so viel sagen: Wenn du in C programmierst wirst du bestimmt etwas zum Thema Software-Uart finden. Ich selbst programmiere den µC über ISP und habe somit die UArt Schnittstelle frei. Man kann den Controller aber auch über andere Schnittstellen wie JTAG programmieren. Desweiteren gibt es µC mit mehreren uart-schnittstellen (z.B. ATMega)
Eine Möglichkeit die mir noch eingefallen ist, wäre ein RS232 Sniffer der mir die Daten auffängt. Puuh,soviele Möglichkeiten... µC mit mehreren Uarts kommen leider nicht in Frage,da die alle nicht pinkompatibel zum 8051 sind.
Habs jetzt hinbekommen - ich kann mit dem µC eine SMS verschicken :) Die Lösung ist die, die Elbegucker vorgeschlagen hat: GND(µC) ---- GND(Handy) Tx(µC) ------ Rx(Handy) Rx(µC) ------ Tx(Handy) Habs ohne Pegelwandler oder Spannungsteiler angeschlossen und es funktioniert. Ich werde das die nächsten Tage noch ausführlicher testen wie stabil das ist, scheint aber zu klappen! Danke an alle! Gruß Neuling
top, hast du vielleich lust deine SMS-Routine hier zu uppen? wenn du den myarv-usb-programmer besitzt, kannst du die verbindung mit nur einer uart am pc mitverfolgen... gruß Elko
Gucke mal hier SMS-Alarm mit Handy: http://comwebnet.weimars.net/index.php?option=com_content&task=view&id=30&Itemid=99999999
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.