Forum: Mikrocontroller und Digitale Elektronik Serielles DVM an ATmega anschliessen , geht es so ?


von Dieter Z. (derpurzel)


Angehängte Dateien:

Lesenswert?

Eigendlich macht ja Versuch Kluch
Aber ich moecht doch mal hier fragen ob ich da nicht
doch einen Gedankenfehler mache.

Ich moechte ein DVM (DT4000ZC) an einen RXD-Pin vom ATmega2560
anschliessen.

Nach ein wenig Internetrecherche habe ich rausgefunden
das das DVM staendig Daten zum "PC" sendet.
Deshalb wird nur vom "PC" die RXD leitung fuer den Datenempfang 
verwendet.

Weil aber das DVM eine Optokopplerschnittstelle hat , werden 
normalerweise vom
PC ueber DTR die +12V und ueber RTS die -12V bereitgestellt.

Nun habe ich aber am ATmega2560 nur 5Volt zur verfuegung und deshalb
meine Idee es wie im angehaengtem Bildchen zu machen.

Kann jemand mal schauen ob das so funktionell ist

Die LED ist nur zum Spass drin.

derpurzel

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Vorsicht Laie!

Meiner Ansicht nach braucht du nicht unbedingt den zweiten Transistor 
zum Invertieren des Signals. Man könnte den Fototransistor des DVM 
anders ansteuern und bekäme direkt das passende RXD Signal mit TTL 
Pegel:
1
                          VCC +5V des µC Boards
2
                           +
3
                           |
4
                          .-.
5
                          | | ca. 10K bzw. in der Grössenordnung
6
                          | | des internen R des DVMs 
7
                          '-' (Messen zw. RXD und RTS am DVM ohne Kabel)
8
                           |
9
Optokoppler        DTR o---o--------- RXD (TTL) des µC
10
des DVM                |
11
             |       |/
12
             V ->   -|
13
             -       |>
14
             |         |
15
                       |
16
                   RXD o------------- GND des µC
17
                       |
18
                       |
19
                      .-.
20
            interner R| |
21
              des DVM | |
22
                      '-'
23
                       |
24
                       |
25
                   RTS |
26
                  offen oder GND
27
28
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

von Hans (Gast)


Lesenswert?

>Vorsicht Laie!

Stimmt.

Warum in aller Welt sollte man am DVM rumlöten, nur um einen Tr.
einzusparen?

@Dieter

Mach das mal so, evtl. die LED zum Spaß weglassen.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Wer schreibt was von am DVM rumlöten? DU, nicht ich! Die Pins (DTR, RXD 
und RTS) zum Anstecken eines eigenen, zweiadrigen Interfacekabels sollen 
selbstverständlich benutzt werden. An dem DVM selbst soll überhaupt nix 
modifiziert werden.

von Dieter Z. (derpurzel)


Lesenswert?

Danke fuer die Bestaetigung das es so geht.

@ Stefan B.

Radio Erivan , Im Prinzip ja . Aber .......

Die Invertierung mit dem PNP Transistor habe ich dafuer
gedacht , wegen der Eigenart der "Richtigen" RS232 Schnittstelle
da hat doch eine Logische Null die Spannung +12V
und eine Logische Eins die Spannung -12V

Oder besser mit geklauten Text

RS-232 arbeitet mit Signalpegeln im Bereich von +3 ... +15 V zur 
Darstellung einer logischen 0 (SPACE) und -3 ... -15 V zur Darstellung 
einer logischen 1 (MARK).


@Hans
>>Mach das mal so, evtl. die LED zum Spaß weglassen.
giebt das nicht ein schoenes geflacker ?
Wollte das eigentlich zur Erkennung benutzen ob das DVM
Dauernd sendet .

derpurzel

von Stefan B. (stefan) Benutzerseite


Lesenswert?

In Grunde hast du eine Designentscheidung zu treffen: Willst du die µC 
Seite RS232-kompatibel halten oder nicht?

RS232-kompatibel (bisher nicht gezeigte Variante)

Der Vorteil ist, dass du statt DVM auch andere RS232-Komponenten an 
diese Schnittstelle des µC anschliessen könntest. Durch die RS232-Pegel 
auf der Leitung ist die Übertragung auch auf längeren Strecken robust. 
Der Nachteil ist, dass du RS232-Pegel produzieren musst.

Nicht RS232-Kompatibel (mein Vorschlag)

Der Vorteil ist, dass du die Umsetzung TTL <-> RS232 Pegel einsparst und 
nur zwei Leitungen zum DVM brauchst. Buchse und Kabel kann einfacher 
ausfallen z.B. als Klinkenstecker/Klinkenbuchse. Der Nachteil ist, dass 
diese Schnittstelle dann speziell für den Anschluss dieses DVM oder 
ähnlicher Geräte konstruiert ist. Desweiteren ist die Signalführung bei 
TTL kritischer als bei RS232. Wenn also lange Signalleitungen eine Rolle 
spielen, dann ist diese Lösung nix.

Deine Variante

ist nix halbes und nix ganzes :) Für die richtige RS232 fehlen noch die 
RS232 Pegel, die man aber einfach mit einem Pegelwandler MAX232 o.ä. 
auch aus +5V Vcc produzieren kann.

von Dieter Z. (derpurzel)


Lesenswert?

@ Stefan B.

Eigendlich wollte ich an dem RXD-Pin vom ATmega2560 nur das spezielle
DVM anschliessen .

Da dieses nun mal eine "Optokoppler rs232" Schnittstelle hat,
aber den Logigpegel von RS232 verwendet, der ATmega aber den 
TTL-Logig-pegel
verwendet , glaube ich das ich das irgendwie eine "Logig-Wandlung"
eingebaut werden muss.

Die Bausaetze mit dem MAX232 stellen meistens nur die
Leitungen an der 9poligen Buchse
2,3,5,7 und 8 sicher
und das sind meines Wissens RXD,TXD,GND,RTS und CTS

Nun wird aber auch DTR also pin 4 benoetigt um das DVM die 12Volt
zu Verfuegung zu stellen.  Also muesste ich noch einen zweiten
MAX232 dazubasteln (oder die Speziellen Bausteine verwenden die das auch
koennen ) .
Ich finde das dieser Aufwand in meinem Fall nicht gerechtfertigt ist.
derpurzel

von Christian Erker (Gast)


Lesenswert?

"Nun wird aber auch DTR also pin 4 benoetigt um das DVM die 12Volt
zu Verfuegung zu stellen.  Also muesste ich noch einen zweiten
MAX232 dazubasteln"

Nicht unbedingt .. die Spannungen der Ladungspumpe (~ +/- 10V) sind an 
den Pins V+ und V- zugänglich.. ob sie ausreichend belastbar sind, ist 
zu prüfen. (Da RS232 aber einige mA treiben können muss laut Spec, 
sollte das der Fall sein).

Gruß,
Christian

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.