PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu MAX232



White_Fox
01.09.2014, 16:46
Hallo

Hat jemand Erfahrungen mit diesem IC?
http://www.reichelt.de/index.html?&ACTION=7&LA=3&OPEN=0&INDEX=0&FILENAME=A200%252Fmax232.pdf

Es geht um die Beschaltung. Das Datenblatt sieht Elkos mit 1,0µF vor. Diese hab ich jedoch leider grad nicht da.
Hat jemand schonmal 2,2µF oder gar 10µF probiert? Würde das funktionieren oder würde das eher zu Problemen führen?

Ich hätte jetzt mal darauf getippt dass es klappen würde. Allerdings befürchte ich, das eine zu große Kapazität möglicherweise den IC überlasten könnte. Weiß jemand mehr?

Peter(TOO)
01.09.2014, 17:08
Hallo,

Die Werte sind nicht kritisch!

Früher waren die Kapazitätswerte noch höher, weil die Frequenz der Ladungspumpe noch niedrige war.

Bei den ersten MAX232 lagen die üblichen Werte noch um 4.7µ.
Ich habe aber auch noch nie Probleme erlebt, wenn man in einer alten Schaltung den MAX gegen einen modernen ausgetauscht ha, ohne die Kapazitäten anzupassen.

MfG Peter(TOO)

White_Fox
01.09.2014, 19:05
Danke. Dann probiere ich es mal mit 10µF.

fredred
02.09.2014, 15:01
Hallo,

wenn Du 2,2 µF hast dann nimm lieber die. Bekommst einen höheren Pegel ca.+/- 10 Volt.

MfG
Fred

White_Fox
02.09.2014, 15:36
Naja...die 2,2µF sind für 250V und etwas groß, ganz soviel Platz habe ich leider nicht.

Ich werd das wohl erstmal auf einem Steckbrett ausprobieren.

fredred
02.09.2014, 16:34
Hallo White_Fox,

der Idealfall ist immer die V24 Norm.
10µF könnten noch funktionieren aber immer die Baudrate beachten.
Bis zu 2400 Baud könnte alles noch okay sein.
Nehme aber an >2400 Baud könnte es Probleme geben. Kenne dein IC- Typ nicht.
Der ACPE –Typ ist zwar mein Favorit (Spannungsbereich) machen auch locker 56000 Baud aber nur mit C <= 4,7 µF.

MfG
Fred

White_Fox
02.09.2014, 16:40
Meiner ist genau der ACPE.

Mist...dann werd ich wohl doch noch Kondensatoren besorgen müssen. Würde den kleinen Käfer schon gern ein wenig auf Trab bringen, bzw. schauen ob das Ding in Punkto Baudrate hält was das Datenblatt verspricht.

Und vor allem wieviel der ATMega nebenher noch kann wenn er dauernd Daten durch die UART bläst...

Peter(TOO)
02.09.2014, 17:06
Hallo Fred,

der Idealfall ist immer die V24 Norm.
10µF könnten noch funktionieren aber immer die Baudrate beachten.
Bis zu 2400 Baud könnte alles noch okay sein.
Nehme aber an >2400 Baud könnte es Probleme geben. Kenne dein IC- Typ nicht.
Der ACPE –Typ ist zwar mein Favorit (Spannungsbereich) machen auch locker 56000 Baud aber nur mit C <= 4,7 µF.

Was haben die Kondensatoren der Stromversorgung mit der Datenrate zu tun?

Die Elkos befinden sich Inder Ladungspumpe, des MAX232 und nicht an den Datenleitungen.
Und zur Ladungspumpe steht in der V.24-Norm auch gar nichts.

MfG Peter(TOO)

fredred
03.09.2014, 11:29
Hallo Peter(TOO),

Die Ladungspumpe hat die Aufgabe die +/-12Volt für die genante V.24-Norm zu erzeugen.
Je näher der Wert je besser.
Wenn ich mich nicht täusche, reichen zwar – 3 Volt für H und +3 Volt für L Erkennung.
Dann darf das Com- Kabel nur sehr kurz sein.
Daraus folgt je höher die Datenrate je kürzer muss die Leitung sein(ist bei jedem Bussystem so)

Nun zur Kondensatorgröße.
Die verschiedenen IC haben verschiedene interne Widerstände zum erzeugen und noch wichtiger das halten der Pegel. Sind die Kondensatoren zu groß benötigen sie auch mehr Spitzenstrom zum laden und mehr Zeit zum entladen(Strom wird aber durch Widerstand begrenzt) Diese Zeit beeinflusst stark die Zuverlässigkeit der Datenpegel. Deshalb werden auch in den Datenblättern die optimalen Größen angegeben.
Somit ist deine Bemerkung „Die Werte sind nicht kritisch!“ Nicht ganz falsch Speziell bei den MAX232. Beeinflussen aber schon sehr stark die Zuverlässigkeit der Datenübertragung.

Mit freundlichen Grüßen
Fred

White_Fox
03.09.2014, 14:12
Danke für die ausführlichen Erklärungen an euch beide. :)

@fredred:
Wenn ich deine Ausführungen richtig verstehe, dann wäre doch aber ein größerer Kondensator besser. Denn je größer die Kapazität, desto langsamer fällt die Spannung bei gleichem Strom ab. Vorrausgesetzt natürlich, der MAX232 wird durch den höheren Ladestrom nicht überlastet.
Die Ladungspumpe läd den Kondensator doch sicher nicht für jeden High-Pegel wieder neu...oder? So wie ich das verstanden habe, hält der Kondensator die Spannung zwar vor, wird doch aber nicht für jedes einzelne Highsignal voll geladen.

Oder etwa doch?

Peter(TOO)
03.09.2014, 14:38
Hallo Fred,

Nun zur Kondensatorgröße.
Die verschiedenen IC haben verschiedene interne Widerstände zum erzeugen und noch wichtiger das halten der Pegel. Sind die Kondensatoren zu groß benötigen sie auch mehr Spitzenstrom zum laden und mehr Zeit zum entladen(Strom wird aber durch Widerstand begrenzt) Diese Zeit beeinflusst stark die Zuverlässigkeit der Datenpegel. Deshalb werden auch in den Datenblättern die optimalen Größen angegeben.
Somit ist deine Bemerkung „Die Werte sind nicht kritisch!“ Nicht ganz falsch Speziell bei den MAX232. Beeinflussen aber schon sehr stark die Zuverlässigkeit der Datenübertragung.

Das stimmt so nicht.
Die etwas höheren Ladeströme ergeben sich nur beim hochlaufen.
Der Mittlere Strom durch die Kondensatoren ergibt sich aus dem Laststrom.
Grössere Kondensatoren werden dabei aber weniger entladen, sodass die Spitzenströme, wegen dem kleineren Delta-U, wider kleiner werden.

Leider ist die Ladungspumpe beim MAX 232 & Co nur spärlich beschrieben, aber der MAX 6870 enthält die selbe Schaltung:
http://datasheets.maximintegrated.com/en/ds/MAX680-MAX681.pdf

Die alten MAX232 hatten auch genau diese 8kHz-Ladungspumpe, welche der MAX 680 verwendet.
Die moderneren MAX verwenden Ladungspumpen, welche mit wesentlich höheren Frequenzen arbeiten und entsprechend kleine Kondensatoren benötigen (0.1µF).

Die Kabellänge ist bei RS-232/V.24 nicht das eigentliche Problem, welches die Datenrate begrenzt!
Die Norm enthält die maximale Slew-Rate, welche um einge V/µs lag, bei den alten MC1488 wurde diese mit einem externen Kondensator festgelegt.
Als die Norm festgelegt wurde, lagen die maximalen Bitraten noch bei 19'200Bit/s.
Die Begrenzung der Slew Rate bringt weniger HF-Störungen mit sich, da dadurch das Oberwellenspektrum begrenz wird und zudem hat man weniger Übersprechen im Kabel.
Zudem war der Ausgangsstrom auf +/-10mA begrenzt. Dies gibt dann zusammen mit der Kabelkapazität die maximale Übertragungsrate.
Die maximale Leitungslänge war auf 100 Fuss ausgelegt also rund 30m.

Die ursprünglichen Bitraten bis 38'400 wurden durch Verdoppelung erzielt (75, 150, 300, 600, 1'200, 2'400, 4'800, 9'600, 19'200, 38'400)
Die 115'200 ergaben sich aus der Tatsache, dass dies die maximal programmierbare Taktrate beim IBM-PC war. Daraus wurden dann die 57'60, 230'400 und 460'800 abgeleitet. Dazu mussten dann aber die Kondensatoren bei den MC488 entfernt werden ....

MfG Peter(TOO)

PICture
03.09.2014, 14:47
Hallo!

Als Beweis, dass die Treiber und die Ladungspumpe zwei paar Schuhe sind, siehe bitte ab 17. Seite: http://pdf.datasheetcatalog.com/datasheet/maxim/MAX220-MAX249.pdf . ;)

fredred
03.09.2014, 15:59
Hallo,

Ich weis nicht wie ich es beschreiben kann.
Versuche es einfach mal so.
Eine Spannungserhöhung(Ladungspumpe) ist immer abhängig von der Last um den gewünschten Spannungswert zu halten. Somit kein konstanter Energiepuffer.
Die Last ist Abhängig von der Baudrate. Je öfter ich die Energie abrufe je schneller muss diese auch wieder zu Verfügung sein.
Wie schon mitgeteilt, bei richtiger Beaschaltung wird die Baudrate wie im Datenblatt angegeben erreicht.

Hinweis
Was der ATMega noch nebenher kann, hängt von deiner Programmierung ab.
Aktivierst du UART im Programm mit ASM und übergibst die Daten auch so, ist es fast eine Echtzeitübertragung.
Ich benutze BASCOM. Natürlich benötigen die Print - Anweisungen mehr Speicher, aber für mich reichen es völlig aus.
Display am MCU zeigt gleichzeitig die Daten an wie auf dem Terminal an.(optisch)

Mit freundlichen Grüßen
Fred

- - - Aktualisiert - - -

Hallo Peter(TOO),
Deine wissenschaftliche Beschreibung ist sehr lehrreich.
Danke
Fred

oberallgeier
03.09.2014, 16:37
... Was der ATMega noch nebenher kann, hängt von deiner Programmierung ab ...Bisher kam ich mit dem Lesen, ähhhh - dem Verstehen - ja noch einigermaßen mit. Aber jetzt! Der eben zitierte Satz ist doch wohl als Joke gedacht, oder? Denn sooo unbekannt ist es ja hier im Forum nicht, dass ein Controller das kann, was ihm eiprogrammiert wird. Oder raff ich da schon wieder was nicht?


... Aktivierst du UART im Programm mit ASM und übergibst die Daten auch so, ist es fast eine Echtzeitübertragung ...Hmmmm. Also ich überleg mal: ich schicke ne Handvoll ASCIIs los. Sagen wir fünfzig, das ist schon etwa dieser Satz. Egal wie ich jetzt UART "aktiviere", ob C oder ASM, da läuft die Übertragung doch mit der Übertragungsrate, bei 56 kBd sind die rund 500 Bits (8n1) nach rund ner hunderstel Sekunde angekommen. Wenn ich das bei mir von einem Controller zum andern sende, beide Controller laufen 20 MHz, dann schaffen die 1,2 MBd und brauche für die 500 Bits vier Tausendstel. Selbst diese - kurzen - vier tausendstel Sekunden sind dann schon 80 000 (ACHTZIG TAUSEND) Maschinenzyklen, bestenfalls, nach denen die Daten beim Empfänger verfügbar sind. Wo ist da Echtzeit? Was hat die da verloren? Was willst Du uns damit sagen?

fredred
04.09.2014, 11:07
Hallo oberallgeier,

Ich bitte um Entschuldigung für meine unverständlichen Erklärungen.

Mit Programmierung meinte ich die Programmiersprache. ASM und C Programmierung sind sehr nah an Hardware.

In Bascom gibt es aber einiges zu beachten um die Datenübertragung so optimal wie gewünscht zu erreichen.
Nur mal so als Beispiel für Bascom.
Ist ein Interrupt vor Print muss erst dieser abgearbeitet werde erst dann wird Print ausgeführt.

Somit war auch die Wortwahl „Echtzeit“ völlig kacke. Wie du es erkannt hast.

Vielen Dank für die berechtigte Kritik.
Mit freundlichen Grüßen
fredred

schorsch_76
04.09.2014, 12:02
Echtzeit heist nicht schnell. Echtzeit heist deterministisch.



Anforderungen an Echtzeitbetriebssysteme

Vorhersagbares Zeitverhalten

Während auch gängige Desktop-Betriebssysteme ein weiches Echtzeitverhalten für hochprioritäre Prozesse garantieren können, kann durch das nicht exakt berechenbare Zeitverhalten durch Swapping, Speicherzugriffe, Hardwareinterrupts usw. in Worst-Case-Szenarien kein hartes Echtzeitverhalten garantiert werden.

Echtzeitbetriebssysteme müssen im Gegensatz dazu auch im ungünstigsten Fall die Einhaltung definierter Antwortzeiten garantieren können. Dies betrifft vor allem die Bereiche Scheduling und Speicherverwaltung.




Ich denke das war fredred sagen wollte ..... Hier ist die Dauer der Übertragung deterministisch. Vorhersagbar.

[1] http://de.wikipedia.org/wiki/Echtzeitbetriebssystem