Forum: Mikrocontroller und Digitale Elektronik Kommunikation mit Sim900 Chip und arduino Nano


von Peter (peter_krause)


Lesenswert?

Hallo,ich möchte AT Befehle vom Nano zu einem Sim900 chip senden und 
empfangen um diesen später mal in einem Projekt zu intigrieren.
Erstmal aber nur um die Kommunikation.
Es geht hier auch nur um den 900er Chip.Er ist auf keinem Shield 
verbaut.Ich habe ihn auf dem Breadboard.
GND und VBat über Labornetzteil (4,5V) Der PWRKEY zum Starten ist 
angeschlossen RX und TX.
Ich kann AT Befehle senden und empfangen mit einen FT232RLAdapter.Das 
Funktioniert super.Die Baudrate habe ich über den AT-Befehl AT+IPR=9600 
eingestellt.Es gibt viele Beispiele allerdings nur im Zusammenhang mit 
Shields und ich habe keinen Schaltplan von diesen Schields gefunden.Ich 
sehe aber auch keinen Pegelwandler oder ähnliches auf den Fotos solcher 
Schilds.
Mit dem Arduino dagegen hab leider nur teilweise eine Kommunikation.Wenn 
ich
zum Bsp. Sketch "Serial Event" lade und den 900er chip über PWRKEY 
starte erhalte ich am Seriellen Monitor:

\u2e2e\u2e2e\u2e2e

RDY

+CPIN: NOT INSERTED

+CFUN: 1


\u2e2e\u2e2e\u2e2e\u2e2e


RDY


+CPIN: NOT INSERTED


+CFUN: 1

Diese Ausgaben erhalte ich ohne irgendwas zu senden aber auch nur am 
Nano.
der FT232RLAdapter gibt nur etwas aus ,wenn ich auch was sende.
Es sieht ja zumindest nach AT aus.Ich kann aber offenbar nichts über den 
Seriellen Monitor senden.Ich bekomme jedenfalls keine Antwort.
Ich hab es auch mit SoftwareSerial versucht aber da hatte ich gar kein 
Erfolg.
Normalerweise google ich und finde irgendwann das Problem selbst aber 
vermutlich stelle ich die falschen Fragen oder mir fehlt da das 
Verständniss.

Ich hatte vermutet das ich RX ganz normal an TX vom Arduino und 
umgekehrt anschließen kann.Solle also auch mit dem Chip alleine 
Klappen.Wenn ich das Datenblatt
 vom 900er richtig verstanden hab sollte es doch funktionieren.

Was mach ich falsch?

von Frank K. (fchk)


Lesenswert?

Du hast wahrscheinlich das Hardware-Manual zu dem Modul entweder nicht 
gelesen oder nicht verstanden.

https://simcom.ee/documents/SIM900/SIM900_Hardware%20Design_V2.05.pdf

Da steht auf Seite 39 Table 15 "Absolute Maximum Ratings":
Vi: Input Voltage: min -0.3V max 3.1V

Heißt also: Wenn Du an irgendeinen Pin mehr wie 3.1V anlegst (auch nur 
kurzzeitig), ist das Modul wahrscheinlich hinüber. Nominal arbeitet das 
Modul mit Pegeln von 2.8V, wie sie an VDD_EXT (Pin 15) bereitgestellt 
werden.

Dir wird sicher auch nicht entgangen sein, dass RXD einen Pullup nach 
VDD_EXT haben möchte (Seite 15).

Jetzt mach erstmal Deine Hausaufgaben, arbeite die vorhandene 
Dokumentation durch, und besorge Dir einen einfachen Logic Analyzer, 
damit Du tatsächlich siehst, was auf dem UART los ist. Such auf Amazon 
nach "logic analyzer 8ch 24mhz" und nimm einen davon (ist immer das 
gleiche drin).

fchk

von lebenszeit (Gast)


Lesenswert?

die meisten shields für SIM900 haben einen level shifter drauf, aber die 
sind winzig klein, übersieht man schnell...

Der Sketch "Serial Event" wird wohl von selbst was senden... kenne den 
nicht.

von Klaus S. (kseege)


Lesenswert?

Peter schrieb:
> Was mach ich falsch?

Leider mehr, als gut wäre. Zuerst einmal ist deine Beschreibung zu kurz 
gehalten, so daß viele Fragen offen bleiben.

1.) Wie kommt so ein SIM900 auf ein Breadboard???
Da wäre ein Foto vom Aufbau eine gute Hilfe für uns.

2.) Wie ist der Chip angeschlossen?
Da wäre ein Schaltplan gut, zur Not auch das Foto einer Handskizze mit
allen(!!!) angeschlossenen Pins.

3.) Wie kann ein FT232RL-Adapter AT-Kommandos senden???? Wurde der PC 
dahinter vielleicht übersehen, weil er so klein war?

Ein Arduino nano kann über den Seriellen Monitor nur mit dem PC reden, 
da der Serielle Monitor im PC steckt und nicht im nano.

Und solange das alles nicht beantwortet ist, wird wohl auch niemand Lust 
haben, für Dich den Sketch "Serial Event" zu enträtseln.

Gruß Klaus (der soundsovielte)

von Stefan F. (Gast)


Lesenswert?

Stromversorgung über Breadboard und/oder Dupont Kabel ist ganz schlecht, 
da das Modul 2A braucht.

von lebenszeit (Gast)


Lesenswert?

ich habe den SIM900 so erlebt, dass bei anlegen von Überspannung am TX 
pin (also 3.3V) die Spannung des RX pin ebenfalls auf dieses Level 
angehoben wird, und der Chip danach seine Kommunikations Outputs nicht 
mehr richtig treiben kann. Muss damit zu tun haben wie die Pins im Chip 
beschaltet sind, mit überspannungsschutz/dioden, etc.

Überlebt hat der Chip das allerdings. Du brauchst eben einfach einen 
level shifter. IIRC ist der in einem der Simcom Dokumente beschrieben, 
resp. eine Schaltung wie Du es selber machen kannst.

IIRC solltest Du den TXS0104 level shifter nehmen (nicht den TXB0104), 
da der simcom mit 45k relativ starke pullups/pulldowns an seinen pins 
hat, die es zu überwinden gilt.

von Frank K. (fchk)


Lesenswert?

lebenszeit schrieb:

> IIRC solltest Du den TXS0104 level shifter nehmen (nicht den TXB0104),
> da der simcom mit 45k relativ starke pullups/pulldowns an seinen pins
> hat, die es zu überwinden gilt.

Man sollte generell und grundsätzlich Levelshifter mit automatischer 
Richtungsumschaltung dann und NUR dann verwenden, wenn man dieses 
Feature auch tatsächlich braucht. Ansonsten sind Levelshifter ohne oder 
mit manueller Richtungsumschaltung idiotensicherer. 74LVC1T45/2T45/8T245 
sind hier eher angesagt.

fchk

von Rubble C. (Gast)


Lesenswert?

ja in dieses automatische gedöns bin ich auch schon reingelaufen, besser 
einen fixen nehmen.

von Peter (peter_krause)


Angehängte Dateien:

Lesenswert?

Erstmal Danke und hier noch die fehlenden Informationen.
Der Chip stammt von einer alten Platine (war noch funktionsfähig).ich 
hab ihn ausgelötet und wie in der vereinfachten Zeichnung angeschlossen. 
Die AT-Kommandos sende ich über den serialisieren Monitor der 
Arduinosoftware die auf einem Raspberry läuft.Serial Event sendet selbst 
nichts, empfängt nur wenn Daten ankommen.

von Frank K. (fchk)


Lesenswert?

Peter schrieb:
> Erstmal Danke und hier noch die fehlenden Informationen.
> Der Chip stammt von einer alten Platine (war noch funktionsfähig).ich
> hab ihn ausgelötet und wie in der vereinfachten Zeichnung angeschlossen.
> Die AT-Kommandos sende ich über den serialisieren Monitor der
> Arduinosoftware die auf einem Raspberry läuft.Serial Event sendet selbst
> nichts, empfängt nur wenn Daten ankommen.

Ja, da fehlt 90% der Außenbeschaltung:
- Levelshifter (74LVC1T45/2T45 bis 5.5V, 74AVC1T45/2T45/4T245 bis 3.6V)
- Kondensatoren DIREKT an der Spannungsversorgung des Moduls
- Kondensator an VREG_EXT (das brauchst DU für den Levelshifter)
- Pullup am RX

Also: Hardware Manual lesen, verstehen, umsetzen, und erst wenn DU damit 
fertig bist, dann darfst Du wiederkommen.

fchk

von Peter (peter_krause)


Lesenswert?

Ok das Bild ist jetzt doppel ... warum auch immer.
Ich hatte gestern noch ein wenig experimentiert und konnte tatsächlich 
etwas senden.Einen Levelshifter oder ähnliches muss ich mir erst 
besorgen aber zum testen ging es auch ohne. Ich habe herausgefunden, das 
der Chip nur sendet wenn ich ihn neu starte und nichts mehr ändere. 
Starte ich nur den Arduino neu oder schließe den Seriellen Monitor und 
öffne ihn erneut ist die Kommunikation weg und ich muss auch den Chip 
neu starten. Sende ich den AT-Befehl über den Sketch bekomme ich eine 
Antwort. Nicht das ich das nicht schon vorher versucht hätte aber 
vielleicht hatte ich da den Chip nicht neu gestartet.
Es wird also an > 3,3V liegen.
Ich fand im Netz mal ein recht großes Bild eines fertigen Shilds wo man 
gut die Leiterbahnen sehen bzw. erahnen konnte.Ich weiß leider nicht 
mehr wo. Vieleicht finde ich es nochmal.Ich konnte erkennen das kein 
Bauteil mehr als 3 Beine hat.Nur Wiederstände und Dioden aber da waren 
Bauteile die wie SMD Transistoren aussahen. Kann es dort über die 
Transistoren läuft?

von Frank K. (fchk)


Lesenswert?

Peter schrieb:

> Ich fand im Netz mal ein recht großes Bild eines fertigen Shilds wo man
> gut die Leiterbahnen sehen bzw. erahnen konnte.Ich weiß leider nicht
> mehr wo. Vieleicht finde ich es nochmal.Ich konnte erkennen das kein
> Bauteil mehr als 3 Beine hat.Nur Wiederstände und Dioden aber da waren
> Bauteile die wie SMD Transistoren aussahen. Kann es dort über die
> Transistoren läuft?

Ein SN74LVC1T45DBV ist im SOT23-6, und man kann ihn mit einem Transistor 
verwechseln.

Nochmals: Manual lesen, Datenblatt der Levelshifter lesen, und erst dann 
weiter fragen.

fchk

PS: wenn DU zu faul bist:
https://www.ti.com/lit/ds/symlink/sn74lvc1t45.pdf
https://www.ti.com/lit/ds/symlink/sn74lvc2t45.pdf

von Stefan F. (Gast)


Lesenswert?

Beim Arduino Nano sind die Rx und Tx Pins (Do und D1) bereits durch den 
USB-UART Adapter Chip belegt. Ich denke nicht, dass du diese Pins zur 
Kommunikation mit dem GSM Modul verwenden kannst.

von peter_krause (Gast)


Lesenswert?

Ich bin definitiv nicht zu faul mich zu belesen aber es ist bei mir nur 
ein Hobby. Ich hab das alles nicht gelernt und mir quasi alles selbst 
beigebracht. Einiges davon auch vielleicht nicht richtig verstanden oder 
auch falsche Schlüsse gezogen. Ich kenne einige ICs und weiß wie sie 
funktionieren. Die hier genannten kannte ich noch nicht, daher bitte ich 
um etwas Nachsicht.Ich versuche ja eure Tipps umzusetzen und bin dankbar 
dafür aber ich mach mir auch eigene Gedanken.

von Klaus S. (kseege)


Lesenswert?

peter_krause schrieb:
> Ich bin definitiv nicht zu faul mich zu belesen aber es ist bei mir nur
> ein Hobby.

Es ist einfach so, daß durch Werkzeuge wie Arduino oder Raspberry Pi 
vielen Amateuren möglich gemacht wird, Projekte anzugehen, die sie nur 
teilweise überblicken. Wenn es dann nicht funktioniert, stehen sie bei 
den Profis auf der Matte und die sollen kostenlos helfen. Da wird der 
Ton einfach mal ein bißchen rauher, das muß man ertragen, wenn man 
kostenlosen Rat von den Profis will. Ansonsten muß man bei den 
Bastlerkollegen fragen, da ist der Ton freundlicher, dafür ist das 
Fachwissen geringer. Das ist aber nicht hier!

Just my 2 cents

von STK500-Besitzer (Gast)


Lesenswert?

peter_krause schrieb:
> Ich bin definitiv nicht zu faul mich zu belesen aber es ist bei
> mir nur ein Hobby.

Gerade, wenn man ein Hobby betreibt, entwickelt man normalerweise 
Expertenwissen. Nicht umsonst heisst es "Das Hobby zum Beruf machen.".
Ansonsten ist es irgendein Zeitvertreib.

von Stefan F. (Gast)


Lesenswert?

Klaus S. schrieb:
> Da wird der
> Ton einfach mal ein bißchen rauher, das muß man ertragen, wenn man
> kostenlosen Rat von den Profis will. Ansonsten muß man bei den
> Bastlerkollegen fragen, da ist der Ton freundlicher, dafür ist das
> Fachwissen geringer. Das ist aber nicht hier!

Ich hab eher das Gefühl, dass hier beide Gruppen unterwegs sind. Ich bin 
jedenfalls ein "Bastlerkollege".

STK500-Besitzer schrieb:
> Gerade, wenn man ein Hobby betreibt, entwickelt man normalerweise
> Expertenwissen.

Kommt ganz drauf an, ob der Weg das Ziel ist. Manchmal will man etwas 
ganz genau erforschen, manchmal will man einfach nur etwas 
funktionierend zusammen stöpseln.

von STK500-Besitzer (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Kommt ganz drauf an, ob der Weg das Ziel ist. Manchmal will man etwas
> ganz genau erforschen, manchmal will man einfach nur etwas
> funktionierend zusammen stöpseln.

Nicht nach meiner Auffassung.
Das ist dasnn ein Projekt (ein einzigartiges Ereignis).
Ein Hobby betreibt man längerfristig.
Das ist aber nicht das Thema des Threads. Es stieß mir nur sauer auf.

von Stefan F. (Gast)


Lesenswert?

STK500-Besitzer schrieb:
> Ein Hobby betreibt man längerfristig.

Das Hobby kann ja die Haltung von Hühnern sein, wobei das elektronische 
Machwerk nur ein kleines Hilfsmittel ist.

von Klaus S. (kseege)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich hab eher das Gefühl, dass hier beide Gruppen unterwegs sind. Ich bin
> jedenfalls ein "Bastlerkollege".

Ja, das sehe ich auch so, auch Bücherschreiben kann eben ein Hobby sein.
Da habe ich mich einfach falsch ausgedrückt. Es hätte heißen müssen:
"Dann muß er in einem reinen Bastlerforum anfragen, wo der Ton moderater 
ist".
Besser?

Gruß Klaus (der soundsovielte)

von Stefan F. (Gast)


Lesenswert?

Klaus S. schrieb:
> Es hätte heißen müssen:
> "Dann muß er in einem reinen Bastlerforum anfragen,
> wo der Ton moderater ist".

> Besser?
Das muss gar nicht korrigiert werden, es ist schließlich eine Meinung. 
Meinungen dürfen abweichen.

Gibt es denn ein reines Bastlerforum? Klar, das von Arduino, aber ich 
meine eins dass man ernst nehmen kann.

von STK500-Besitzer (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das Hobby kann ja die Haltung von Hühnern sein, wobei das elektronische
> Machwerk nur ein kleines Hilfsmittel ist.

Dann ist die Definition, dass die elektronische Hühnerklappe nur ein 
Hobby ist, aber falsch. Sowas könnte man auch kaufen (OK, für manche ist 
Shopping auch ein Hobby...).

von Klaus S. (kseege)


Lesenswert?

Stefan ⛄ F. schrieb:
> Gibt es denn ein reines Bastlerforum? Klar, das von Arduino, aber ich
> meine eins dass man ernst nehmen kann.

Für mich sind Usenet und mikrocontroller.net die einzigen 
ernstzunehmenden mir bekannten Foren. Aber das darf doch jeder für sich 
entscheiden.

Gruß Klaus (der soundsovielte)

von STK500-Besitzer (Gast)


Lesenswert?

Klaus S. schrieb:
> Für mich sind Usenet und mikrocontroller.net die einzigen
> ernstzunehmenden mir bekannten Foren.

Wenn dir nur die beiden bekannt sind, solltest du sie auch erstnehmen...

von Klaus S. (kseege)


Lesenswert?

STK500-Besitzer schrieb:
> Wenn dir nur die beiden bekannt sind, solltest du sie auch erstnehmen...

Den Witz versteh ich nicht :-(

Gruß Klaus (der soundsovielte)

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
Noch kein Account? Hier anmelden.