Forum: Mikrocontroller und Digitale Elektronik HART - (k)einer weiß was?


von Stefan L. (tarabas)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin momentan am Recherchieren, wie dieses ominöse HART-Protokoll 
funktioniert. Da ich überhaupt nichts im Forum finden konnte, hab ich 
beschlossen mal einen Thread hierfür zu eröffnen.

Klar ist mir so einiges:

- Basis ist eine 4...20mA Stromschleife
- auf diese wird ein Signal aufmoduliert, 0.5mA Spitze-Spitze,
  1200/2400 Hertz für die beiden binären Zustände
- es kann gesendet und auch empfangen werden
- es ist ein Master/Slave-System, es sind bis zu 16(?) Teilnehmer 
möglich
- es wird ein recht komplexes Anwendungsprotokoll drübergelegt
- Der Sinn ist, zusätzlich zu der einen stromgetragenen analogen Größe 
den Messwert und Konfigurationen etc. auch digital zu übertragen

Mein Problem ist die einfache Umsetzung in eine Schaltung.

Es gibt sehr wenige spezielle Treiberbausteine, die nennen sich dann 
FSK-Modem, z.B. von Smar.com, HT20C12, auch von Symbios gab es solche.

Wie man unten sehen kann, ist es gar nicht so teuer, ein fertiges Modem 
zu kaufen, (was ich für kommerzielle Dinge auch täte) aber ich würde 
schon gern selbst eine solche Schaltung "schaffen".... ;)

Deshalb die Frage, ob nicht schonmal jemand derlei in Eigenbau 
hinbekommen hat. Im Moment hab ich keine gute Idee, wie ich die 
Sinuswellen auf die Stromschleife modulieren könnte bzw. viel schlimmer, 
sie auch wieder von da zurücklese.

Dabei ist die Erzeugung einer entsprechend modulierten Spannung nicht 
unbedingt das Problem (mit DDS oder so), sondern mehr das Aufprägen auf 
den (variablen) Strom. Die Schaltung im Anhang könnte dabei mal als 
Ausgangsbasis dienen (einmal als Bild, einmal als SwitcherCAD Datei).
Natürlich bin ich auch für coolere Schaltungen immer offen ;)

Freue mich sehr über konstruktive Ideen!

Datensammlung:
--------------
Allgemeine Infos:
www . hartcomm . org     (hm, naja, ziemlich kommerziell)
www . romilly . co . uk  (sehr viel Info, auch über die o.g. Chips etc)
www. smarresearch . com  (hier gibt es die Chips, kosten 4.x EUR)

von crazy horse (Gast)


Lesenswert?

nimm ein fertiges Modem :-)
bei Microflex findest du auch einiges.

von Stefan L. (tarabas)


Lesenswert?

crazy horse wrote:
> bei Microflex findest du auch einiges.
Ja, danke, richtig, auch schon gesehen. die OEM-Dinger dort sind mit 95$ 
bei einem und 58$ bei 100 Stk aber keine wirklichen Schnäppchen...

Mir geht es momentan mehr darum, zu verstehen, wie man das selbst machen 
könnte....

von crazy horse (Gast)


Lesenswert?

mal ne andere Frage: wofür brauchst du das eigentlich?

von Stefan L. (tarabas)


Lesenswert?

Hm. Nunja. Ich hatte da eine Anfrage, ob man nicht ein älteres Gerät mit 
einer Zusatzkarte um eben dieses Protokoll erweitern könnte... da man 
recht preissensitiv ist, suche ich nach einer günstigen Lösung.

Es ist eben ein relativ verbreitetes Feature in der Industrie, vor allem 
wo solche Geräte im Ex-Bereich sitzen und/oder direkt aus der 
Stromschleife versorgt werden.

Im speziellen Fall geht es darum, neben einem Konzentrationswert 
(4...20mA) noch die vor Ort gemessene Gerätetemperatur und noch ein zwei 
weitere Nebenparameter zu übermitteln. Das übergeordnete System kann 
schon HART - so liegt es irgendwie auf der Hand.

von crazy horse (Gast)


Lesenswert?

ich schreib dir heute abend was dazu.
Mal schon soviel: die musst eine Lizenz kaufen (oder die Geräte illegal 
anbieten/verteiben).
Die Hart-Konformität ist nicht leicht zu erreichen, da gibts ne Menge 
Fallstricke.

von Stefan L. (tarabas)


Lesenswert?

Hallo crazy horse, ich bin schon sehr gespannt... :)

von JÜrgen G. (Firma: 4CKnowLedge) (psicom) Benutzerseite


Lesenswert?

Stefan Langer wrote:

> - Basis ist eine 4...20mA Stromschleife

Kann auch 0...20mA sein.

> - 1200/2400 Hertz für die beiden binären Zustände

2200 - logisch 0
1200 - logisch 1

> - es ist ein Master/Slave-System, es sind bis zu 16(?) Teilnehmer
> möglich

Es gibt 2 Versionen... Long-Frame (5 Byte Adressen) und Short Frame (1 
Byte Adressen)


Telegramformat:
(3Byte Präambel) (1Byte Startzeichen) (1/5Byte Adresse) (1Byte Befehl) 
(1Byte Byte-Zähler) (2Byte Status [nur bei Slaveantwort]) (0->24Byte 
Daten) (1Byte Checksumme)


> - Der Sinn ist, zusätzlich zu der einen stromgetragenen analogen Größe
> den Messwert und Konfigurationen etc. auch digital zu übertragen

Den Messwert nicht... eher die Konfig und einige Statussachen... 
hauptsächlich "Lebenszeichen"

von JÜrgen G. (Firma: 4CKnowLedge) (psicom) Benutzerseite


Lesenswert?

Stefan Langer wrote:

> Deshalb die Frage, ob nicht schonmal jemand derlei in Eigenbau
> hinbekommen hat. Im Moment hab ich keine gute Idee, wie ich die
> Sinuswellen auf die Stromschleife modulieren könnte bzw. viel schlimmer,
> sie auch wieder von da zurücklese.

Über einen Kondensator einkoppeln? Die Stromliniensignale sind im Vgl zu 
den FSKmodulierten Gleichspannung... Ein und auskoppeln einfach über 
einen C

von Christoph db1uq K. (christoph_kessler)


Lesenswert?


von Stefan L. (tarabas)


Lesenswert?

JÜrgen G. wrote:

> Es gibt 2 Versionen... Long-Frame (5 Byte Adressen) und Short Frame (1
> Byte Adressen)
> Telegramformat:
> (3Byte Präambel) (1Byte Startzeichen) (1/5Byte Adresse) (1Byte Befehl)
> (1Byte Byte-Zähler) (2Byte Status [nur bei Slaveantwort]) (0->24Byte
> Daten) (1Byte Checksumme)

Na das ist doch schonmal ein Anfang, danke!

>> - Der Sinn ist, zusätzlich zu der einen stromgetragenen analogen Größe
>> den Messwert und Konfigurationen etc. auch digital zu übertragen
> Den Messwert nicht... eher die Konfig und einige Statussachen...
> hauptsächlich "Lebenszeichen"
Doch, definitiv auch den Messwert, habe ich in diversen Datenblättern 
von Sensoren gesehen. Teilweise wird der Messwert da zur Redundanz / in 
besserer Auflösung übertragen.

Mit einer simplen Kondensatoreinkopplung werd ich mal spielen, denke 
aber das wird etwas aufwändiger sein, sonst würde ja nicht extra ein IC 
dafür gebaut werden...

Gruß, Stefan

von Stefan L. (tarabas)


Lesenswert?

Christoph Kessler wrote:
> mindestens zwei Threads gibts:
> Beitrag "kapazitive Kopplung statt Transformator"
Ja, das geht in die Richtung, danke. Hat die Suchfunktion nicht 
gefunden.
Kapazitive Kopplung - siehe unten.

> Beitrag "20mA Stromschnittstelle"
Keine neuen Infos, wie man eine Wechselspannung als Wechselstrom 
aufmoduliert...

Mit einer Kapazitiven Kopplung haben meine Simulationen nichts Richtiges 
ergeben. Die Stromamplituden waren für die beiden FSK-Frequenzen 
natürlich verschieden (ließe sich durch verschiedene Koppelkond. für die 
zwei Frequenzen beheben), und auch von der Höhe des Gleichstromanteils 
in der Schleife abhängig...
Außerdem konnte ich damit nicht auf eine 0...20mA-Schleife aufmodulieren 
in dem Fall, daß 0mA ausgegeben werden (da der Transistor die negative 
Halbwelle (-0.5mA)) verschluckt.

Vielleicht muß ich das Signal wirklich gleich vor dem OPV einkoppeln.... 
es geht ja sowieso nicht darum, ein eigenständiges Hart-Modem zu 
basteln.

Erfogversprechender sah die Simulation mit einem Übertrager aus, hab nur 
grad keinen zur Hand für Experimente.

von JÜrgen G. (Firma: 4CKnowLedge) (psicom) Benutzerseite


Lesenswert?

Stefan Langer wrote:
> JÜrgen G. wrote:
>>> - Der Sinn ist, zusätzlich zu der einen stromgetragenen analogen Größe
>>> den Messwert und Konfigurationen etc. auch digital zu übertragen
>> Den Messwert nicht... eher die Konfig und einige Statussachen...
>> hauptsächlich "Lebenszeichen"
> Doch, definitiv auch den Messwert, habe ich in diversen Datenblättern
> von Sensoren gesehen. Teilweise wird der Messwert da zur Redundanz / in
> besserer Auflösung übertragen.

Ich hab bisher noch nie gesehen das man mit dem HART Messwerte 
überträgt... Bei 15 Teilnehmern hättest du dann schon eine Zykluszeit 
von in etwa 3s...

Als Redundanz wäre es möglich...

von Stefan L. (tarabas)


Lesenswert?

JÜrgen G. wrote:
> Ich hab bisher noch nie gesehen das man mit dem HART Messwerte
> überträgt... Bei 15 Teilnehmern hättest du dann schon eine Zykluszeit
> von in etwa 3s...
> Als Redundanz wäre es möglich...

Da muß ich vollkommen zustimmen, die Zykluszeiten sind ziemlich lahm - 
aber ausreichend für viele Prozesse - und als Redundanz sowieso. Aber 
die Messwerte sind (wenn auch nicht in jedem Gerät) zugänglich.

Zitat 
(http://library.abb.com/GLOBAL/SCOT/SCOT211.nsf/VerityDisplay/C125698F006840E9C1256B26004433AC/$File/B080U05.pdf):

"Most smart transmitters are available with a HART protocol interface. 
The type of data available is dependent on the type of instrument.  The 
most common data types are the process variable, a percent of range, a 
digital reflection of the analog mA signal or device status.  These
values are often mapped to the HART protocol PV (primary variable), SV 
(secondary variable), TV (tertiary variable), and FV (fourth variable)."

Doch so weit bin ich noch nicht, noch hinkt die Hardware :)

von JÜrgen G. (Firma: 4CKnowLedge) (psicom) Benutzerseite


Lesenswert?

Stefan Langer wrote:
> Doch so weit bin ich noch nicht, noch hinkt die Hardware :)


Wieso das? wenns ganz schnell sein muss einfach einen Trafo (bzw. 
Übertrager) in Serie rein gehängt und die FSK drübergeschickt... Die FSK 
kannst du mit einem http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1257 
MAX038 o.ä. machen, in dem Du über einen µC einfach C's od. R's dazu 
schaltest (im Oszillatorkreis) sollte genau ein Pin sein xP

von Stefan L. (tarabas)


Angehängte Dateien:

Lesenswert?

Hallo Jürgen,

danke für deinen Input! Die Frequenz wollte ich mit 4-8bit DDS direkt 
aus einem kleinen AVR bringen, das PWM für die Stromschleife kann der 
auch erledigen. Der MAX macht sieht mir doch komplex aus - Bei Conrad 
für 33EUR zu haben!!! bei RS für 15EUR (krass).

Anbei mal meine bisher beste Variante, funktioniert zwar nur bei 
Ausgangsströmen >1 mA, aber da es sowieso um 4...20 mA geht, nicht so 
schlimm. (Bei Interesse stelle ich auch als LTSpice-File rein).

Wenn das auch bei 0mA noch gehen soll, muß man wohl wirklich einen 
Übertrager nehmen.

Wie baut ihr eigentlich so Eure Stromschleifen? Mit den XTR-Bausteinen, 
oder auch diskret? Ich weiß, ist sehr Anwendungsabhängig. Wäre 
interesant, mal die einfachsten/billigsten (aber trotzdem gut 
funktionierenden) Schaltungsvarianten zu vergleichen....

Mein Standard (bei Ansteuerung durch eine CPU) besteht aus einem OPV, 
einem FET, 5 Widerständen und 3 Kondensatoren (Bauteilkosten deutlich 
unter 50ct; selbst mit einem Präz.-R im Regelzweig und einem 
CMOS-Single-Inverter der aus einer VRef betrieben wird noch recht 
günstig (<1.50 EUR)). Vielleicht sollte ich auch mal über einen sehr 
günstigen DAC mit Spannungsausgang ins auge Fassen... der könnte sowohl 
die Stellgröße als auch die Signale ausgeben - vorausgesetzt er ist 
schnell genug (50 kSamples?).

von JÜrgen G. (Firma: 4CKnowLedge) (psicom) Benutzerseite


Lesenswert?

Stefan Langer wrote:
> Hallo Jürgen,
>
> danke für deinen Input! Die Frequenz wollte ich mit 4-8bit DDS direkt
> aus einem kleinen AVR bringen, das PWM für die Stromschleife kann der
> auch erledigen. Der MAX macht sieht mir doch komplex aus - Bei Conrad
> für 33EUR zu haben!!! bei RS für 15EUR (krass).

jop, teuer is er... vllt findest du einfachere Sinusoszillatoren 
(Selbstbau?)

> Anbei mal meine bisher beste Variante, funktioniert zwar nur bei
> Ausgangsströmen >1 mA, aber da es sowieso um 4...20 mA geht, nicht so
> schlimm. (Bei Interesse stelle ich auch als LTSpice-File rein).
> Wenn das auch bei 0mA noch gehen soll, muß man wohl wirklich einen
> Übertrager nehmen.

Ich würd gleich einen Übertrager nehmen und diesen über eine 
Gegentaktendstufe mit der HW PWM füttern...

Ich glaub mal, das das Sinussignal nicht unbedingt, das schönste sein 
sollte... mit genügend Filtern danach müsste das schon gehn...

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.