Forum: Projekte & Code Converter 0-20mA to NMEA0183


von Detlef _. (detlef_a)


Angehängte Dateien:

Lesenswert?

Forum,

ich habe einen solchen Converter gebaut und veröffentliche hier die 
Unterlagen, weil ich hoffe, dass das für den einen oder anderen nützlich 
ist. Ich zumindest hatte auf dem Netz nichts Fertiges gefunden. Viele 
industrielle Messgeräte geben ihren Messwert mittels eines 
Konstantstroms aus, dessen Höhe dem Messwert entspricht. So auch meine 
wunderbaren Windrichtungsgeber von Lambrecht und die 
Kreuzschalenanemometer von Thies. Das Gerät misst den Strom und wandelt 
den in das NMEA0183 Protokoll um, das ich dann über die schlichte RS232 
Schnittstelle in den Rechner einlese.

Die Hardware besteht aus einem Arduino mini board und einem RS232 
Wandlerchip (MAX232). Bei mir ist das Ganze in einem wetterfesten IP67 
Gehäuse untergebracht. Die Software läuft mit gcc und makefile, ich habe 
nicht die Arduino Umgebung benutzt sondern plain C ;-) .

Die Hardware ist denkbar schlicht, eine Schaltplanskizze (naja) ist 
angehängt. Der Arduino mini hat einen ISP Programmierstecker verpasst 
bekommen. Das Gerät bekommt seine Versorgungsspannung über meinen 
Hausstandard: auf pin 1 der RS232 liegen +24V. Über zwei 6.2V 
Zenerdioden werden die für den Arduino passend gemacht. Ein Standard 
MAX232 ist mit den TX/RX des Arduino verbunden. Der Strom wird mit einem 
40R Widerstand in eine Spannung gewandelt und dann über den ADC0 in den 
Arduino eingelesen.

Die Software besteht lediglich aus einem Header/Sourcefile und dem 
makefile. Das kann man direkt winavr anbieten. Die ADC Werte werden 
gemittelt und dann über die TX Schnittstelle im NMEA0183 Format 
ausgegeben. Die Geräte kann man kaskadieren, über den RX Teil der 
Schnittstelle wird auf gültige NMEA0183 Daten gehorcht und die werden 
dann auf TX weitergegeben. Ich arbeite entgegen der Spezifikation nicht 
mit 4800Bd sondern mit 600, weil meine nachfolgende Elektronik so lahm 
ist. Das ganze ist für meine Dinge zugeschnitten, das kann/muss man dann 
ggf. anpassen.

Das Gerät ist nicht rocket science, aber 0-20mA Geber sind verbreitet 
und manchmal will man die eben über die RS232 einlesen.

Kritik, Tadel und Lob sind willkommen und erwünscht.
Cheers
Detlef

von D a v i d K. (oekel) Benutzerseite


Lesenswert?

Hi,

erst Mal Lob, weil du einen vernünftigen Titel angepinnt hast, der mir 
ins Auge gesprungen ist und dein Text genau das wiedergibt, was ich 
erwartet habe.

Nur eine ganz kleine AnfängerFrage zu dem 0-20mA Eingang:

Unsere MCs haben ja ADCs, die Spannung statt Stromstärke messen 
(Vee-Vcc).
Um dies nun ineinander über zu führen hast du einfach einen 
Spannungsteiler zwischen dem Sensor und einem fixen Widerstand 
aufgebaut?
Wie sähe denn eine saubere galvanische Trennung hier aus?

Gibt es einen guten Grund, warum die Sensoren in der Industrie mit 
Stromstärke statt Spannung arbeiten?

Grüße Oekel

von wendelsberg (Gast)


Lesenswert?

D a v i d K. schrieb:
> Gibt es einen guten Grund, warum die Sensoren in der Industrie mit
> Stromstärke statt Spannung arbeiten?

Ja.
Erstens arbeiten die in der Regel mit 4-20mA(in der Skizze richtig, im 
Titel falsch), da kann detektiert werden, wenn die Leitung unterbrochen 
ist.

Zweitens ist eine Uebertragung mit aufgepraegtem Strom stoerfester als 
eine hochohmig(er) uebertragene Spannung. Wenn man die Spannung 
niederohmig uebertragen wollte, muesste man den Leitungswiderstand 
beruecksichtigen.

wendelsberg

von Detlef _. (detlef_a)


Lesenswert?

>>>>>>>>>>>>>>
erst Mal Lob, weil du einen vernünftigen Titel angepinnt hast, der mir
ins Auge gesprungen ist und dein Text genau das wiedergibt, was ich
erwartet habe.

Danke für das Lob, ich gebe mir Mühe :-))) . Das Gerät hat bei mir das 
erste halbe Jahr auf dem Dach hinter sich.

>>>
Spannungsteiler
Es ist kein Spannungsteiler, der Widerstand wandelt einfach den Strom zu 
einer Spannung.

>>>>>>>
Wie sähe denn eine saubere galvanische Trennung hier aus?

Das weiß ich nicht. Da gibt es aber sicher Standardlösungen, weil das 
eine sicher in der industriellen Meßtechnik häufig vorkommende 
Fragestellung ist, viele möchten ihr Meßsignal galvanisch entkoppeln. 
Mal googeln und dann einen galvanisch trennenden Wandler in der Bucht 
schießen.

>>>>>
Erstens arbeiten die in der Regel mit 4-20mA(in der Skizze richtig, im 
Titel falsch), da kann detektiert werden, wenn die Leitung unterbrochen 
ist.

Da is nix falsch, es gibt Sensoren 0-20 und 4-20, meine waren sogar 
konfigurierbar. Minimalstrom von 4 erlaubt die Detektion eines 
Leitungsbruchs, das ist richtig.

frohet!
Cheers
Detlef

: Bearbeitet durch User
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.