Forum: Mikrocontroller und Digitale Elektronik Verbindung LIN-Bus - Computer


von Andreas S. (mephistho)


Lesenswert?

Guten Tag!

Auf der Suche nach einem simplen Bussystem, das mit möglichst wenigen
Leitungen auskommt, zur Steuerung von Motoren, bin ich auf den LIN-Bus
gestoßen.

Ich konnte allerdings keine Angaben darüber finden, ob und, wenn ja,
wie eine Verbindung mit einem Computer möglich ist.

Kann mir da jemand weiterhelfen? Gibt es wie z.B. beim CAN-Bus
PC104-Karten?

Vielen Dank schon im voraus!
Andreas

von Michael (Gast)


Lesenswert?

Hallo,

das LIN Bus Protokoll wird mit einer Standart UART erzeugt. Es gibt
auch Controller mit einer Enhanced UART für LIN, die können dann das 13
Bitzeiten lange Break erkennen.
Das bedeutet das LIN - Protokoll kann einfach über die RS232
Schnittstelle erzeugt werden. Das 13 Bit lange Break kann man mit
Baudratenumschaltung darstellen. Du benötigtst dazu einen MAX 232 als
Pegelwandler RS232 <--> TTL und nochmal einen LIN Transceiver TTL <-->
LIN.
Bei Bedarf kann ich dir entsprechende Transceiver nennen.
Hoffe ich konnte dir weiterhelfen.

Grüße
Michael

von Andreas S. (mephistho)


Lesenswert?

http://www.hto.fh-deggendorf.de/komm/
(Hab den Link übrigens hier im Forum gefunden...)

Dort unter "Downloads" gibt es ein PDF-Dokument namens
"info_easystart.pdf", in dem zwei mögliche Pegelumsetzer gezeigt
werden.

Mich würde interessieren, wie genau, solche Umsetzer arbeiten. Speziell
die SMB-Variante, und was für Bauteile ich für so etwas brauchen würde.

Danke & Gruß
Andreas

von Michael (Gast)


Lesenswert?

Ich denke es hadelt sich bei beiden LIN Transceivern um SMD - Bauteile,
falls du das mit SMB - Variante meinst.

LIN Transceiver machen im wesentlichen nichts anderes, als die Spannung
von 0V / +5V auf 0V / +12V umzusetzten. Zusätzliche ist noch eine Slew
Rate Control eingebaut, damit die Flanken auf der 12V Seite (also auf
dem LIN Bus) nicht so Steil sind (Anstiegszeit ~1 µs). Dies ist für ein
gutes EMV Verhalten wichtig. Die Transceiver können noch in einen Sleep
Mode (NSLP auf low)versetzt werden, bei denen der Stromverbrauch nur
noch bei wenigen µA liegt. Bei INH dürfte es sich um einen Ausgang
handlen, der einem evtl. vorhanden Spannungsregler als Enable Eingang
dient.
INH == High --> Normal Mode (Spannungsversorgung 5V ein)
INH == Low  --> Sleep Mode (Spannungsversorung 5V aus)

Falls du so einen Umsetzer selbst bauen willst ist also eine Menge
Schaltungstechnik nötig. Wieso nicht einfach einen kaufen. Kostet nur
ein paar Cent.

Grüße
Michael

von Andreas S. (mephistho)


Lesenswert?

Naja, ich möchte auf möglichst einfachem Weg eine Verbindung zwischen
PC(RS232) und dem LIN-Bus herstellen. Selber bauen möchte ich so wenig
wie möglich...

Das zweite Bild in dem pdf-File zeigt ja eine sehr simpel aufgebaute
Platine mit 2 Chips und 2 RS232 Anschlüssen. Das Ding hätt ich gern :)

Danke zunächst für die Hilfe

von Andreas S. (mephistho)


Lesenswert?

Mal eben ne andere Frage:
Kann ich den Lin-Bus wie nen Baum aufbauen? D.h. der Master schickt
sein Signal zu ner simplen Verteilerdose, die dann das Signal zu je
einem Slave weiterleitet?

Müsste doch klappen, weil eh nur ein Kabel zu jedem Device geht und
keine Linienstruktur nötig is.

Bleibt nur die Frage, wie das dann mit den Endwiderständen auszusehen
hat?! An jedem "Ende" einen Widerstand?

von Markus S. (schmidle)


Lesenswert?

Hallo Andreas,

"Das zweite Bild in dem pdf-File zeigt ja eine sehr simpel aufgebaute
Platine mit 2 Chips und 2 RS232 Anschlüssen."

Bei dieser Platine handelt es sich um eine Schaltung, die einfach nur
die Signale von RS232 auf LIN-Pegel umsetzt. Die zweite SUBD9 Buchse
ist daher kein RS232 mehr sondern LIN.

"Kann ich den Lin-Bus wie nen Baum aufbauen? D.h. der Master schickt
sein Signal zu ner simplen Verteilerdose, die dann das Signal zu je
einem Slave weiterleitet?"
Ja das sollte gehen. Solange du die Spezifikation (Gesamtlänge,
Kapazitäten, Zeitkonstante) nicht verletzt wird bei LIN afaik keine
Topologie vorgeschrieben.
"Bleibt nur die Frage, wie das dann mit den Endwiderständen
auszusehen
hat?! An jedem "Ende" einen Widerstand?"
Einen zusätzlichen Widerstand (1k-Pullup nach Vbat) braucht man nur am
Masterknoten. Die 30k-Pullups für jeden Slaveknoten sollten in den LIN
Transceiver integriert sein (Wenigstens beim ATA6661 von Atmel ist das
so; andere Transceiver kenne ich nicht so gut).

Gruß
Schmidle

von Andreas S. (mephistho)


Lesenswert?

Ah, das klingt doch schon mal gut. Danke schön!
Den ATA6661 hab ich mir auch grad schon angeschaut. Dazu den Crumb128
von www.chip45.com. Die Beiden u.a mit nem DC/DC-Wandler kombiniert
sollten mir meine kleine PWM-Motorendrehzahlsteuerung realisieren.

von Andreas S. (mephistho)


Lesenswert?

Hm, zu früh gefreut.

Ich hab leider keine Ahnung von Endwiderständen usw. Ich weiß auch noch
nicht, warum man sowas überhaupt braucht, von daher sagen mir Sachen wie
"1k-Pullup nach Vbat" überhaupt nix. :-/

von Markus S. (schmidle)


Angehängte Dateien:

Lesenswert?

Hallo Andreas,

lade dir einfach unter http://www.lin-subbus.org/ die offizielle LIN
Spezifikation (kostenlos) runter. Da ist ein Bildchen drin, wie man
typischerweise einen Knoten physikalisch an den Bus dranhängt.
(Ich habe das Bildchen zwar auch auf meinem Rechner, weiß aber nicht ob
ich das hier einfach so reinstellen darf).

Gruß
Schmidle

von Markus S. (schmidle)


Lesenswert?

ouh scheiße, jetzt ist es ja doch mit gekommen.
Peinlich.

von Andreas S. (mephistho)


Angehängte Dateien:

Lesenswert?

Hm, auf dem Bild sieht man, dass beim Master noch son Widerstand dabei
sein muss.

Was ist dann bitte das, was auf dem Bild in meinem Anhang zu sehen ist?
Das sieht mir doch stark nach nem Adapter zum Anschluss des LIN-Bus an
die RS232-Schnittstelle des Computers aus, der mit nur 2 Chips
realisiert ist, wovon einer ein LIN-Transceiver ist. Da seh ich nix von
nem Widerstand?!

Die Tabelle zu dem Adapter sieht so aus:

-----------------------------------------
SMD                                     |
-----------------------------------------
Anschluss RS232-Seitig   |  DB9 female  |
-----------------------------------------
Anschluss LIN            |  DB9 male    |
-----------------------------------------
Platine LxBxH in mm      |  ca. 37x5x10 |
-----------------------------------------
Gehäuse                  |  COM 42      |
-----------------------------------------
LIN-Transceiver          |  E910.18     |
-----------------------------------------

Das stammt aus dem pdf-Dokument "info_easystarter.pdf", downzuloaden
unter http://www.hto.fh-deggendorf.de/komm/ -> Download.

Ich bin grad dabei mich durch die Spezifikation zu kämpfen, um mir
diverse Fragen zu beantworten.

Ich hab nämlich auch noch keine klare Vorstellung davon, wie ich dann
genau Daten an die RS232-Schnittstelle schicke, so dass der LIN-Bus da
auch was mit anfangen kann.

(Ich bin nur ein kleiner dummer Azubi im ersten Lehrjahr, der zu wenig
Ahnung von Physik hat, weil er da aufm Gymnasium keine Lust zu hatte
schnief) :-)

Danke für eure Hilfe/Geduld!

Gruß
Andreas

von Markus S. (schmidle)


Lesenswert?

Hallo Andreas,

"Ich hab nämlich auch noch keine klare Vorstellung davon, wie ich
dann
genau Daten an die RS232-Schnittstelle schicke, so dass der LIN-Bus da
auch was mit anfangen kann."

Auf der von dir geposteten Homepage gibt es doch auch ein Programm
LinMon mit dem man die Daten LIN-konform erzeugen kann.

"Was ist dann bitte das, was auf dem Bild in meinem Anhang zu sehen
ist?
Das sieht mir doch stark nach nem Adapter zum Anschluss des LIN-Bus an
die RS232-Schnittstelle des Computers aus, der mit nur 2 Chips
realisiert ist, wovon einer ein LIN-Transceiver ist. Da seh ich nix von
nem Widerstand?!"
Nur weil du da keinen Widerstand siehst muß das nicht heißen, daß da
auch tatsächlich keiner da ist. Vielleicht ist er ja z. B. auf der
Unterseite der Platine. Hast du keinen Schaltplan zu dem Board?

Und wenn du wirklich nur eine "kleine PWM-Motorendrehzahlsteuerung
realisieren" willst, warum machst du dir dann den ganzen Aufwand mit
LIN überhaupt? Wieso benutzt du nicht gleich RS232?

Gruß
Schmidle

von Andreas S. (mephistho)


Lesenswert?

Hallo Markus,

nein ich habe keinen Schaltplan. Habe die FH aber angeschrieben, weil
die diese Adapter fertig verkaufen...

Die Software von der Seite hab ich mir auch angeschaut... Ich hab mir
sagen lassen, dass hier in der Firma für die Softwareseite schon
Lösungen bereitstehen. Also Programme/Programmteile, die die RS232
Schnittstelle entsprechend ansprechen.

Ich brauche einen Bus, weil ich nicht nur einen Motor steuern muss,
sondern 5, und das Ganze mit so wenig Leitungen wie möglich. Denn der
Computer, der die Steuersignale berechnet, liegt in einer Glaskugel
(Unterwasserfahrzeug) und aus einer solchen Glaskugel kann man nicht
beliebig viele Leitungen herausführen, weil die Kugel nicht beliebig
viele Durchbrüche haben kann.

Nun gut, ich denke ich komme der Sache näher.

Vielen Dank zunächst nochmal!

Gruß
Andreas

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.