Forum: Mikrocontroller und Digitale Elektronik RS232 Kommunikation


von Jonas E. (jonas_e43)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe vor kurzem eine Platine erstellt, auf welcher ein Atmega32 via 
RS232 also einem MAX 232 CWE mit dem Computer kommunizieren soll.
Leider funktioniert diese Kommunikation gar nicht, dass bedeutet der uC 
empfängt nüchts...
Könnte das an einer falschen Verkabelung liegen?
Im Anhang könnt ihr die Verkabelung des max232 Chip sehen.
Würde mich freuen, wenn ihr mir etwas weiter helfen könntet...
MfG Jonas

P.S Hier noch der Link zum max232 Chip 
(http://www.reichelt.de/ICs-MAX-0100-0499/MAX-232-CWE/3/index.html?&ACTION=3&LA=5000&GROUP=A2171&GROUPID=5468&ARTICLE=39589&START=0&SORT=preis&OFFSET=16)
Ebenfalls der Link zu den Kondensatoren 
(http://www.reichelt.de/Vielschicht-SMD-G1206-High-Cap/X7R-G1206-1-0-50/3/index.html?&ACTION=3&LA=5000&GROUP=B351D&GROUPID=4340&ARTICLE=89736&START=0&SORT=preis&OFFSET=16)

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und womit sind T2Out und R2In verbunden? Und womit die 
korrespondierenden T2In und R2Out?

von dm (Gast)


Lesenswert?

Kondensatoren richtig rum angeschlossen?

von L. P. (lpg)


Lesenswert?

Zeig mal die ganze Schaltung her...

Jonas E. schrieb:
> dass bedeutet der uC
> empfängt nüchts...

Aber senden geht?

Lg.

von L. P. (lpg)


Lesenswert?

dm schrieb:
> Kondensatoren richtig rum angeschlossen?

Bei KerKos??

Lg.

von Jonas E. (jonas_e43)


Angehängte Dateien:

Lesenswert?

Ne geht gar nichts...

von dm (Gast)


Lesenswert?

C2 und C4 ein doch elkos?

von Frank (Gast)


Lesenswert?


von Jonas E. (jonas_e43)


Lesenswert?

T2In -> PD1(TXD)
R1Out -> PD0(RXD)

von Jonas E. (jonas_e43)


Lesenswert?

Nein sind alles smd Keramik-Vielschicht Kondensatoren

von dm (Gast)


Lesenswert?

OK schau mal nach kalten Lötstellen etc.

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Ich sehe da noch Relaisspulen, die direkt mit Ausgangsports verbunden 
sind...

1uF also Glättungskondensator im Netzteil...

von dm (Gast)


Lesenswert?


von Jonas E. (jonas_e43)


Lesenswert?

Da sind keine kalten Lötstellen hab ich gecheckt!
Ja da sind zwei Relais auf der Platine, die können aber eig nichts mit 
dem Problem zu tun haben oder?
Ist 1uF zum Glätten nicht gut geeignet?

: Bearbeitet durch User
von Florian (Gast)


Lesenswert?

Hallo,

Dein Schaltplan sieht auf den ersten Blick o.k. aus.

- hat das IC 5V Versorgungsspannung?
- Sind an den Ladungspumpen 10V zu messen?
- Verbinde mal am MAX232 T2IN und R1OUT. Bekommst Du dann über ein 
Terminalprogramm die gesendeten Daten als Echo zurück?
- Wenn Du ein Scope hast kannst Du auch mal schauen ob die Daten vom µC 
am MAX232 ankommen und ob Daten vor dem MAX232 über RS232 ankommen.

Gruß
Florian

von L. P. (lpg)


Lesenswert?

dm schrieb:
> C2 und C4 ein doch elkos?

Gezeichnet sind aber Keramische.... bzw. ungepolte Kondensatoren.

Lg

von Till M. (at832)


Lesenswert?

Ich habe 10uF Elkos genommen, funktioniert
Einwandfrei. Allerdings musst du die Polung beachten.

von Florian (Gast)


Lesenswert?

Hallo,

hast Du die Relaisspulen direkt an die µC Ports angeschlossen? Da 
solltest Du auf jeden Fall  Treiber und Freilaufdioden vorsehen.

Gruß
Florian

von Florian (Gast)


Lesenswert?

1µF Kerkos sind o.k. Das funktioniert problemlos. Du muss keine Elkos 
nehmen.

von Till M. (at832)


Lesenswert?

Schau dir mal das Datenblatt an vlt hilft ja dass weiter

von Florian (Gast)


Lesenswert?

Aber im Netzteil solltest Du in der Tat Elkos nehmen. Da ist 1µF zu 
Wenig :-)

von Jonas E. (jonas_e43)


Lesenswert?

Welcher Kondensator würde sich denn da am besten eignen :D
Auf beiden Ladungspumpen messe ich etwa 9V.
Vcc und Gnd sind auch verbunden.
Muss man in den Fuses etwas einstellen, damit das funktioniert? Eig 
nicht oder?

von Till M. (at832)


Lesenswert?

Ich weis nicht obs an den Kondensatoren liegt oder an was anderem. 
Probiers halt mal mit Elkos 10uF 16V(Polarität beachten(steht im 
Datenblatt))

: Bearbeitet durch User
von Jonas E. (jonas_e43)


Lesenswert?

Ist ne smd platine etwas schwer...

von Pins (Gast)


Lesenswert?

Du nutzt am Max232 T2In und R1Out !, sollte eher T2In und R2Out sein.
Bzw. T1In und R1Out.
Den Rest der Schaltung solltest du auch noch mal schicken, 
Datei,Exportieren, Image.

von Till M. (at832)


Lesenswert?

Achso. Jetzt habe ich keine idee mehr woran es liegen könnte. Vlt is ja 
der IC kaputt

von Florian (Gast)


Lesenswert?

Teste doch erst mal die Kommuniation mit einem Terminal Programm. 
Verbinde mal auf der µC Seite RX mit TX. Du musst dann erst mal ein Echo 
bekommen. Wenn das klappt hast Du ein Problem mit dem Controller.

von Jonas E. (jonas_e43)


Angehängte Dateien:

Lesenswert?

Hier das gesamte Image.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Pins schrieb:
> Du nutzt am Max232 T2In und R1Out !, sollte eher T2In und R2Out sein.

Nein, das ist egal. Der MAX232 enthält je 2 RS232-Empfänger und zwei 
RS232-Sender, die aber völlig unabhängig voneinander sind.

Was hier an Information immer noch fehlt, ist die Verbindung des 
MAX232 mit dem PC.

von Jonas E. (jonas_e43)


Angehängte Dateien:

Lesenswert?

Wahrscheinlich ist der Max232 Chip defekt.
Ich musste die Platine sowieso noch einmal neu designen und hab die 
Hinweise von euch zu Herzen genommen.
So sieht nun der fertige Schaltplan aus.
Was ich nur noch nicht verstanden habe, ist warum ich die Relais nicht 
so schalten kann denn Florian schrieb:
> hast Du die Relaisspulen direkt an die µC Ports angeschlossen? Da
> solltest Du auf jeden Fall  Treiber und Freilaufdioden vorsehen.

MfG Jonas

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich wiederhole es mal:

Was hier an Information immer noch fehlt, ist die Verbindung des 
MAX232 mit dem PC.



> Was ich nur noch nicht verstanden habe, ist warum ich die Relais nicht
> so schalten kann

Die Ausgangsleistung der Port-Pins des AVR reicht nicht aus, um damit 
ein Relais anzusteuern. Außerdem erzeugt ein Relais beim Abschalten eine 
Spannung, die in den das Relais ansteuernden Ausgang zurückfließt.
Das tut dem nicht gut:
http://de.wikipedia.org/wiki/Schutzdiode#Freilaufdiode

von Jonas E. (jonas_e43)


Lesenswert?

Der uC soll sowohl  mit einem PC über RS232 verbunden werden können (für 
Debugging), aber im Endeffekt wird der uC über Rs232 mit einem anderen 
uC verbunden, damit die beiden kommunizieren können.
Als Relais verwende ich dieses hier:
http://www.reichelt.de/Miniaturrelais/G5V-1-5V/3/index.html?&ACTION=3&LA=446&ARTICLE=28332&GROUPID=3292&artnr=G5V-1+5V

Dies soll einen Strom von etwa 12V AC für eine Klingel schalten können.
Das gleiche gilt für das zweite Relais, das einen Türsummer steuert.
Ist der Rated Current Wert von 30mA zu viel für einen Port-Pin?

Gruß Jonas

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jonas E. schrieb:
> Der uC soll sowohl  mit einem PC über RS232 verbunden werden können (für
> Debugging)

Und WIE? WIE machst Du das? Immerhin beschreibst Du ja, daß das 
nicht funktioniert -- vielleicht liegt da ja der Fehler.

> Ist der Rated Current Wert von 30mA zu viel für einen Port-Pin?

Ja. Definitiv. Hast Du Dir das mit der Freilaufdiode mal angesehen?

von Jonas E. (jonas_e43)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Und WIE? WIE machst Du das? Immerhin beschreibst Du ja, daß das
> nicht funktioniert -- vielleicht liegt da ja der Fehler.

Die Verbindungen der Wago Klemmen 3 und 4 werden an dem RFID Modul von 
Pollin angeschlossen (siehe RFID PDF)
Das Gerät funktioniert aber einwandfrei, habe ich getestet.

Rufus Τ. Firefly schrieb:
> Ja. Definitiv. Hast Du Dir das mit der Freilaufdiode mal angesehen?

Der Max-Current Wert von den Port-Pins des Atmega32 liegen aber bei 
40mA, also müsste das doch eig gehen oder?
Das mit der Freilaufdiode habe ich mir angesehen ja.

Gruß Jonas

: Bearbeitet durch User
von L. P. (lpg)


Lesenswert?

Abgesehen vom RS232 Problem, schau dir das mal an:

http://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern

Lg.

von Jonas E. (jonas_e43)


Lesenswert?

Dann kann ich ja einfach den Aufbau von der "Schaltstufe für kleine 
Lasten" für mein Projekt verwenden?

von L. P. (lpg)


Lesenswert?

Jonas E. schrieb:
> Dann kann ich ja einfach den Aufbau von der "Schaltstufe für kleine
> Lasten" für mein Projekt verwenden?

Jawoll! Nimm die Version mit dem NPN Transistor.

Lg.

von Pins (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Pins schrieb:
>> Du nutzt am Max232 T2In und R1Out !, sollte eher T2In und R2Out sein.
>
> Nein, das ist egal. Der MAX232 enthält je 2 RS232-Empfänger und zwei
> RS232-Sender, die aber völlig unabhängig voneinander sind.

Ja Entschuldigung da war ich auf dem Holzweg, habe es mal ausprobiert 
(zumindest mit der Dip- Variante) und es lief.

von Jonas E. (jonas_e43)


Lesenswert?

L. P. schrieb:
> Jawoll! Nimm die Version mit dem NPN Transistor.
Gibts diesen auch im smd Format?

von L. P. (lpg)


Lesenswert?

Jonas E. schrieb:
> L. P. schrieb:
>> Jawoll! Nimm die Version mit dem NPN Transistor.
> Gibts diesen auch im smd Format?

Das ist aber jetzt ein Scherz?

Wenn nicht, mein Tipp: BC817

Lg.

von Verzweifelter (Gast)


Lesenswert?

>> Und WIE? WIE machst Du das? Immerhin beschreibst Du ja, daß das
>> nicht funktioniert -- vielleicht liegt da ja der Fehler.

> Die Verbindungen der Wago Klemmen 3 und 4 werden an dem RFID Modul von
> Pollin angeschlossen (siehe RFID PDF)
> Das Gerät funktioniert aber einwandfrei, habe ich getestet.

Du schließt also den PC gar nicht an?
Dann ist es kein Wunder, wenn du vom PC keine Daten über den MAX232
an den ATMEGA32 senden kannst bzw. keine Daten vom ATMEGA32
an den PC gesendet werden...

von Jonas E. (jonas_e43)


Lesenswert?

Wenn ich debugge, dann änder ich natürlich die Verbindungen...

von Jonas E. (jonas_e43)


Lesenswert?

L. P. schrieb:
> Das ist aber jetzt ein Scherz?
>
> Wenn nicht, mein Tipp: BC817

Ne war leider kein Scherz. Habe bisher noch kaum mit Transistoren und 
Dioden gearbeitet. Kannst du mir auch eine smd Diode für die 1N4148 
nennen?

L.G.

von Verzweifelter (Gast)


Lesenswert?

Jonas E. schrieb:
> Wenn ich debugge, dann änder ich natürlich die Verbindungen...

Nur zum Verständnis:
- Das Debuggen geht ebenso wenig? Oder schon?
- Wenn du debuggst, wie hast du X1-3 und X1-4 mit dem PC verbunden?
  (Stichwort SUB-D Buchse? SUB-D Stecker? Welche Pins? GND 
angeschlossen?
  Sonst etwas in der Buchse verdrahtet?)
- Hast du den Tipp schon ausprobiert, dass du den ATMEGA32 entfernst
  (wie auch immer) und die beiden Signale RxD und TxD direkt verbindest?
  Kommen dann gesendet Zeichen vom PC wieder am PC an?

von Jonas E. (jonas_e43)


Lesenswert?

Verzweifelter schrieb:
> Nur zum Verständnis:
> - Das Debuggen geht ebenso wenig? Oder schon?
> - Wenn du debuggst, wie hast du X1-3 und X1-4 mit dem PC verbunden?
>   (Stichwort SUB-D Buchse? SUB-D Stecker? Welche Pins? GND
> angeschlossen?

Das Debuggen geht auch nicht, ja.
Die Polung der Stecker ist vollkommen korrekt habe ich alles überprüft.
Den atmega32 zu entfernen ist etwas umständlich da ich auf smd Basis 
arbeite...

von Verzweifelter (Gast)


Lesenswert?

Jonas E. schrieb:
> Die Polung der Stecker ist vollkommen korrekt habe ich alles überprüft.

Dann schreib doch einfach mal, wie du es angeschlossen hast!

RxD und TxD kannst du auch überbrücken,
wenn beide Pins im ATMEGA32 auf Eingang stehen.
(vielleicht sogar, wenn der Reset des ATMEGA32 aktiv ist,
kann dies jemand bestätigen, vermutlich ist es so?)

Hast du ein Oszi? Hast du einen TTL Prüfstift?

Du könnest auch X1-3 und X1-4 überbrücken und schauen,
ob du Zeichen, die der ATMEGA32 versendet, auch wieder empfängst.

von L. P. (lpg)


Lesenswert?

Jonas E. schrieb:
> Kannst du mir auch eine smd Diode für die 1N4148
> nennen?

LL4148. ;)

Lg.

von Jonas E. (jonas_e43)


Angehängte Dateien:

Lesenswert?

So hab meine Schematik jetzt angepasst.
So müsste das mit den Relais doch eigentlich ohne Probleme klappen?
Theoretisch sollte doch auch so die RS232 Kommunikation funktionieren?
Gruß Jonas

von Verzweifelter (Gast)


Lesenswert?

Warum noch antworten, wenn du die Antworten weiter oben doch nicht 
ließt...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jonas E. schrieb:
> Die Polung der Stecker ist vollkommen korrekt habe ich alles überprüft.

Ich frage jetzt noch ein letztes Mal:

WIE hast Du das angeschlossen? Welchen Anschluss Deiner tollen 
Wago-Klemme hast Du mit welchem Anschluss des PCs verbunden, und war das 
alles?

von Florian (Gast)


Lesenswert?

Hallo,

du kannst für die Relaisansteuerungen einen BSS123 nehmen. Pulldown von 
10K am Gate nicht vergessen. Als Freilaufdiode kannst Du eine SM4007 
nutzen.

Du musst Dein Netzteil noch mal prüfen. Die Kondensatoren sind zu klein. 
Du musst mal messen oder berechnen wie viel Strom Dein Netzteil liefern 
soll. Es gibt eine Faustformel die besagt das man 1µF pro mA vorsehen 
sollte. Daran kannst Du Dich erst mal halten. Mach dann vor und hinter 
dem Längsregler einen 100nF Kerko und davor und danach jeweils einen 
passenden Elko. Wie hoch ist Deine Eingangsspannung? Achte darauf, das 
Du keine zu hohe Spannungsdifferenz hast. Sonst wird der Längsregler zu 
heiß.

Hast Du an allen IC's einen 100nF Kerko als Stützkonni an der Versorgung 
spendiert und auch in direkter Nähe platziert? Am µC solltest Du auch an 
jedem Vcc Pin einen Stützkonni vorsehen. (Beim MAX fehlt er!)

Hast Du denn jetzt mal die RX und TX Leitungen gebrückt? Wenn Du das auf 
PC Seite machst musst Du in jedem Fall erst mal ein Echo bekommen. Wenn 
Du es hinter dem MAX machst kannst Du sehen ob Dein MAX korrekt 
arbeitet. Dann kannst Du prüfen ob es am µC liegt.


Gruß
Florian

von Jonas E. (jonas_e43)


Lesenswert?

Rufus Τ. Firefly schrieb:
> WIE hast Du das angeschlossen? Welchen Anschluss Deiner tollen
> Wago-Klemme hast Du mit welchem Anschluss des PCs verbunden, und war das
> alles?

Ich habe die Wago-Klemme 3 mit dem RXD Pin der Com-Schnittstelle des 
PC's verbunden. Die Klemme 4 ist mit dem TXD Pin der Com-Schnittstelle 
verbunden.

Florian schrieb:
> du kannst für die Relaisansteuerungen einen BSS123 nehmen.
Dafür verwende ich jetzt einen BC817.

Florian schrieb:
> Pulldown von
> 10K am Gate nicht vergessen.
Gute Idee habe ich jetzt hinzugefügt.

Florian schrieb:
> Als Freilaufdiode kannst Du eine SM4007
> nutzen.
Als Freilaufdiode benutze ich eine LL4148.

Florian schrieb:
> Du musst Dein Netzteil noch mal prüfen. Die Kondensatoren sind zu klein.
> Du musst mal messen oder berechnen wie viel Strom Dein Netzteil liefern
> soll.
Es soll ja im Endeffekt eine Versonrgungsspannung von 5V und einen Strom 
von 0,5 Ampere liefern.

Florian schrieb:
> Es gibt eine Faustformel die besagt das man 1µF pro mA vorsehen
> sollte. Daran kannst Du Dich erst mal halten.
Also würde sich dort dann ein SMD-Elko von 560uF anbieten?

Florian schrieb:
> Mach dann vor und hinter
> dem Längsregler einen 100nF Kerko und davor und danach jeweils einen
> passenden Elko.
Okay habe nun einen 100nF Kerko noch vor dem Längsregler hinzugefügt.

Florian schrieb:
> Wie hoch ist Deine Eingangsspannung?
Die Eingangsspannung beträgt normalerweise 12V AC, der Regler soll aber 
bis  etwa 30V runterregeln können.

Florian schrieb:
> Hast Du an allen IC's einen 100nF Kerko als Stützkonni an der Versorgung
> spendiert und auch in direkter Nähe platziert? Am µC solltest Du auch an
> jedem Vcc Pin einen Stützkonni vorsehen. (Beim MAX fehlt er!)
Hinzugefügt!

Florian schrieb:
> Hast Du denn jetzt mal die RX und TX Leitungen gebrückt? Wenn Du das auf
> PC Seite machst musst Du in jedem Fall erst mal ein Echo bekommen.
Echo kommt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jonas E. schrieb:
> Ich habe die Wago-Klemme 3 mit dem RXD Pin der Com-Schnittstelle des
> PC's verbunden. Die Klemme 4 ist mit dem TXD Pin der Com-Schnittstelle
> verbunden.

Das ist im Ansatz richtig. Aber es reicht nicht.

Wenn Du tatsächlich nichts weiter verbunden hast, ist das zumindest 
einer Deiner Fehler.

Verstehst Du jetzt, warum ich so penetrant nachfrage?

von Jonas E. (jonas_e43)


Lesenswert?

Ja klar, man muss versuchen den Fehler systematisch ausmerzen.

Rufus Τ. Firefly schrieb:
> Wenn Du tatsächlich nichts weiter verbunden hast, ist das zumindest
> einer Deiner Fehler.
Wo liegt denn dort meine Fehler?

Gruß Jonas

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jonas E. schrieb:
> Wo liegt denn dort meine Fehler?

GND fehlt. Das ist das Bezugspotential der Signale der seriellen 
Schnittstelle. Ohne das funktioniert nichts.

von Dietrich L. (dietrichl)


Lesenswert?

Jonas E. schrieb:
> Es soll ja im Endeffekt eine Versonrgungsspannung von 5V und einen Strom
> von 0,5 Ampere liefern.
> ...
> Die Eingangsspannung beträgt normalerweise 12V AC, der Regler soll aber
> bis  etwa 30V runterregeln können.

Du musst bei 12VAC um die 10V * 0,5A = 5W verheizen. Du brauchst also 
einen genügend großen Kühlkörper.
Bei 30VAC sind schon um die 17W - da muss der Kühlkörper schon recht 
groß sein. Außerdem ist die Spannung für den Regler zu hoch: 
Spitzenspannung von 30VAC ist 42,4V.

Gruß Dietrich

von Jonas E. (jonas_e43)


Lesenswert?

Dietrich L. schrieb:
> Spitzenspannung von 30VAC ist 42,4V.
30 V DC ;) Sry hätt ich sagen sollen.

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.