Hallo, in einem kleinen Projekt im Auto wollte ich unter anderem auch I2C-Temperatursensoren (LM75) im Motorraum verbauen. Diese sollen von einem PIC16F628 über einen in Software realisierten I2C-Bus (Low-Speed) zyklisch abgefragt werden und auf einem LCD-Display ausgegebne werden. Dass die Sensoren sehr gut gegen Feuchtigkeit geschützt werden müssen ist soweit kein Problem. Allerdings ergeben sich für mich einige Fragen bezüglich der elektrischen Konzeption: - Da I2C eigentlich ja nicht für mehrere Meter in rauher Umgebaung (Störungen durch Zündung, Generator) konzipiert ist, stelle ich mir die Frage, ob die Übertragung überhaupt funktionieren kann. Ich hatte an ein CAT7-Kabel gedacht, bei dem ich an jeweils ein verdrilltes Adernpaar für SDA/GND und SCL/GND verwende. Den Schirm dann auch auf GND. - GND nur Controllerseitig mit der Fahrzeugmasse verbinden, damit keine Ströme über das Kabel fließen und die Sensoren isoliert montieren? - Oder zerbröselt mir das CAT7-Kabel nach kurzer Zeit durch die extremen Temperaturbereiche? - möglichst kleine PullUp-Widerstände verwenden? Das ganze natürlich mit LowSpeed-Übertragung, ich würde nur gern die Sensoren möglichst einfach halten und dort auf Repeater/Businterfaces verzichten. - Reicht es aus, die Versorgungsspannung über eine Drossel gut gesiebt (~1000µF) auf einen 7805 zu geben, oder sollte ich noch zusätzliche Überspannungsschutzmaßnahmen einbauen? Den Controller selbst möchte ich in ein Metallgehäuse einbauen. - Lohnt sich beim LM75 eine Offsetkalibration für 0°C mit Eiswasser, oder ist die Methode auch nicht genauer als der LM75 von Werk aus? Soweit mal meine Gedanken. Sollte das funktionieren, oder mache ich da einen Denkfehler. Peter
Ob I2C die harsche Umgebung aushält, kann im Endeffekt nur der Versuch zeigen. Hierbei kommt es natürlich auch auf die Länge des Kabels zum Sensor hin. Im allgemeinen wäre es besser als Übertragung ein symmetrisches Verfahren wie RS485 oder CAN zu verwenden. Der Kabelschirm sollte auf jeden Fall auf beiden Seiten auf Masse gelegt werden. Das einseitige Erden des Schirmes gilt nur für analoge Signalübertragung. Einen Überspannungsschutz würde ich auf jeden Fall vorsehen. Eine Entsörung mit LC-Kombi auch. Hierzu lohnt sich ein Blick in das Buch: "Trilogie der Induktivitäten" von Würth Elektronik. Dort sind Entstörungsmaßnahmen sehr gut beschrieben. Bei CAT-7Kabel ist auch noch zu überlegen, ob es die Schwingungen im Fahreug über längere Zeit unbeschadet übersteht. Aber das kommt auch daruaf an, ob es fixiert ist, ansonsten sollte man villeicht zu hochflexiblen Kabel greifen (Lapp Unitronic FD CY o.ä.)
STS wrote: > symmetrisches Verfahren wie RS485 oder CAN zu verwenden. Der Kabelschirm > sollte auf jeden Fall auf beiden Seiten auf Masse gelegt werden. Das Das meinst du doch nicht ernst? Im Kfz? Da werden plötzlich ganz ordentliche Ausgleichsströme über den Schirm fließen die dir mit etwas Glück nur die Übertragung stören. Sowieso im Motorraum wo sich Ströme im Bereich von >50A rumtreiben. Zum Ursprungsproblem: Ich würde, auch wenns schmerzt eher zu einer symetrischen Übertragung (RS485) greifen. Dann werden aus dem einen Chip zwar drei aber die Störsicherheit dürfte um Größenordnungen besser sein als mit I2C (der ist ja schließlich als Inter-IC Bus auf einer Leiterplatte gedacht. Matthias
Doch das meine ich ernst. Es ist ein Trugschluß, daß magnetisch induzierte Ströme durch einseitige Schirmung abgehalten werden. siehe dazu: www.emvtechnik.ch/Text/Abschirmung/Potentialausgleich%20und%20Erdungskon zept.pdf oder hier: www.stl-online.de/s04.htm oder hier: www.bbr-service.de/emv.pdf Der Stromfluß über den Schirm muß durch einen ordnungsgemäßen Potentialausgleich (in der Industrie durch parallel geführte Ausgleichskabel) verhindert werden. Die beidseitige Schirmung ist übliche Praxis bei der Verkablung von Informationssystemen in der Industie (Profibus DP, CAN usw.) Wenn die Karosse einen ordnungsgemäßen Potentialausgleich gewährt, fließt auch kein Ausgleichsstrom über den Schirm. In kritischen Fällen und EX-Umgebungen wird eine Seite über einen Kondensator geerdet. PS: Mach mal einen Surge Test im EMV-Labor (Kabelzange) mit einseitiger Schirmung, schließe dann die andere Seite an. Ein Unterschied wie Tag und Nacht!
das kat7 kabel könnte man evtl. mit panzerrohr sowas in der art wie der conrad unter best. 621758 - 62 schützen. sowas gibts glaub ich auch für den automobilbereich, das hält dann temeraturen ~120° aus. dann halt vielleicht nicht unbedingt am krümmer des motors verlegen ;-)
Danke erstmal für eure Antworten! > Das meinst du doch nicht ernst? Im Kfz? Da werden plötzlich ganz > ordentliche Ausgleichsströme über den Schirm fließen die dir mit etwas > Glück nur die Übertragung stören. Sowieso im Motorraum wo sich Ströme im > Bereich von >50A rumtreiben. Das war auch so in etwa mein Gedanken bei der Überlegung. Andererseits scheint mir das Auto noch halbwegs ordentlich verschweißt ;-) Die Lösung mit dem Kondensator an ein Ende gefällt mir. > Im allgemeinen wäre es besser als Übertragung ein > symmetrisches Verfahren wie RS485 oder CAN zu verwenden. Soweit klar, aber geht es hierbei um die physikalische oder logische Übertragung. Klar, RS485 oder CAN ermöglichen auch die Integrität der Daten zu überprüfen, aber das wäre erstmal sekundär (wenn der Wert allzu sehr abweicht wird er verworfen). Also geht es in erster Linie um symmetrische Übertragung und nicht das Protokoll selbst? Ich gehe mal davon aus, dass es wohl nicht funktioniert, die I2C-Drähte analog in ein symmetrisches Signal zu wandeln, da ja alle Teilnehmer die Datenleitung auf Low ziehen können müssen, oder? An jeden Sensor noch mal einen Controller ranzubasteln erscheint mir jetzt auch nicht sehr elegant... Und ich seh das doch richtig, dass mir ein "0815-TTL-RS458-...-Converter" nicht besonders viel bringt, eben wegen der bidirektionalen Datenleitung?
Peter, schon mal an analoge Übertragung mittels 4-20mA current loop interface gedacht? - Nur zwei Adern nötig - Unempfindlich gegen Störungen da Stromschleife - Speisung erfolgt ebenfalls über die Stromschleife Von Burr-Brown gibt es da ein paar interessante ICs (XTR-Serie), in den Beispielschaltungen vom XTR105 sind auch Schemata für Thermoelement bzw. RTD (z.B. Pt100) zu finden. Nachteil: nicht ganz billig (zumindest verglichen mit dem Preis eines LM75 und wenn Du die Arbeitsstunden, die Du damit verbringst, den i2c Bus in dieser eigentlich total ungeeigneten Anwendung zum Laufen zu kriegen nicht mit einrechnest), ausserdem braucht Dein uP noch einen ADC und etwas Zugemüse. Gruss, Thorsten
Hm, in die Stromschleifengeschichte muss ich mich erst mal einlesen, aber es klingt auch interessant. Kurz zum Verständnis: Der Konverter kommt also an den Temperatursensor und wird dort analog in einen Strom zwischen 4 und 20mA gewandelt. Controllerseitig liefere ich diese 20mA und wandle sie über den Spannungsabfall über einem Widerstand in eine Spannung, die ich dann auf den AD gebe? Weshalb ich die LM75 überhaupt im Auge hatte: - Laufen erstmal auch ohne Kalibrierung sofort - I2C-Bus habe ich schonmal erfolgreich im Assembler integriert - und nicht zu letzt: sie wäre bezahlt und liegen hier rum ;-) Hm, vielleicht muss ich aber doch Alternativen in Betracht ziehen, weil eigentlich wollte ich den Sensoren nicht mehr Intelligenz als der restlichen Bordelektronik verpassen ;-)
> Wie wäre es mit LWL? (Lichtwellenleiter)
Beim ersten Lesen dachte ich:
Klasse, über den LWL kann ich dann auch die Kanone auslösen, mit der ich
auf den Spatz schieß ;-)
Da aber keine Ironietags da sind vermute ich mal es ist ernst gemeint.
Naja, da fehlt mir das KnowHow, allein schon um so eine Leitung zu
verlegen. Letztendlich ist es doch nur ein kleines Bastelprojekt.
Hallo Peter, jau, das mit der Stromschleife hast Du richtig erfasst. Braucht deine Schaltung weniger als 4mA, kannst Du sie direkt von der Stromschleife speisen, also nur zwei Adern für Signal und Speisung! Controllerseitig kannst Du entweder die an einem Widerstand abfallende Spannung messen und entsprechend aufbereiten, für faule Leute wie mich hat BB aber noch den RCV420 im Programm, der hat das alles schon drin und liefert ganz angenehm 0-5V für 4-20mA. Leider ist er nicht kurzschlussfest, so dass man doch noch ein paar Bauteile braucht (z.B. JFET plus Widerstand, hast Du genug Speisespannung zur Verfügung reicht ein Widerstand). Gruss, Thorsten
Hallo Thorsten, danke für die detaillierten Infos. Ich werde mich die nächsten Tage mal durch die Datenblätter der einzelnen Chips durchschlagen. Wobei die Preise ja leider nicht ganz ohne sind ;-( Noch eine andere Frage: Könnte man so eine Stomschnittstelle nicht auch einfach digital mit einem Controller (wäre ja hier sogar preiswerter) realisieren? Also in diesem Fall: I2C-Sensor wird von einem neben ihm plazierten PIC abgefragt. Der Controller bereitet die Daten auf (Zweierkomplement->ASCII) und gibt sie ganz normal über ein beliebiges serielles Protokoll aus. Nur ist der Ausgang eben nicht an eine normale Leitung sondern über einen Widerstand auf Masse verbunden und verändert somit seinen Stromverbrauch. Auf der entfernten Schaltung wird wieder über den Spannungsabfall der Sensorplatine gemessen und über einen simplen OpAmp in ein 0/5V-Signal gewandelt. Sicher technologisch nicht das Ei des Kolumbus, aber mich würde spontan interessieren, ob das auch funktionieren könnte. Peter
Naja,wenn du die Sache so lösen magst,kannst du ja die Daten von einem Pic oder AVR über eine gaanz kurze Verbindung einlesen lassen und dann über die UART an eine MAX485 oder ähnliches weitergeben...
Ich moechte kurz hervorheben das CAN doch noch deutlich besser ist als RS485. MfG
Wieso nicht einfach einfach? Analogen Temperatursensor mit RC Glied so entstören das schnelle Impulse keine Änderung des Signals bewirken. Notfalls auch in Software dann benötigt man nicht mal ein RC-Filter.
> Wieso nicht einfach einfach?
Weil man mal wieder schlauer sein will als die Autohersteller, die ja
einfach NTC-Widerstaende verwenden. Ausserdem koennte es sein das es
noch eine Angst vor dem Operationsverstaerker gibt. Wir leben ja nun im
Nur-Digital-ist-gut Zeitalter. :-)
Olaf
Peter schrieb: > Kurz zum Verständnis: > Der Konverter kommt also an den Temperatursensor und wird dort analog in > einen Strom zwischen 4 und 20mA gewandelt. Controllerseitig liefere ich > diese 20mA und wandle sie über den Spannungsabfall über einem Widerstand > in eine Spannung, die ich dann auf den AD gebe? In diesem Zusammenhang darfst Du Dir die Analog Devices AD590 und AD592 anschauen. Zitat "The AD590 is particularly useful in remote sensing applications. The device is insensitive to voltage drops over long lines due to its high impedance current output. Any well insulated twisted pair is sufficient for operation hundreds of feet from the receiving circuitry." Der AD590 bekommt 5v und läßt einen Strom durch, der in µA gemessen der Temperatur in °K entspricht. Heißt also: Bei 25°C=298.2°K gibts 298.2µA. Einfach, was? Da das Teil einen Strom einprägt, funktioniert das auch mit langen Zuleitungen (siehe Zitat). Das Teil gibts unter anderem bei Réichelt, ist also kauf- und bezahlbar. Das ist gegenüber I2C die störsicherere Variante. fchk
Hi! Die Blaupunkt Radios verwenden auch I2C zum steuern der Wechsler. Wie du schon richtig geschrieben hast, ist es gut, möglichst geringe Pullupwiderstände zu verwenden. Die Eingänge (SDA auf beiden Seiten, SCLK auf er Slave Seite) am besten nicht direkt anschließen sondern über ein RC-Tiefpassfilter leiten. R*C (=tau) sollte ca. 1/10 der Bitdauer sein. Gruß Stefan
>in einem kleinen Projekt im Auto wollte ich unter anderem auch >I2C-Temperatursensoren (LM75) im Motorraum verbauen Warum nimmst du nicht einfach analoge Temp-Sensoren, bsp KTY.., statt dem (störanfällgen) Bus, und hängst die ganz einfach an den uC dran? (Mit Varistor) Etwaige Störsgnale an den Temp-Sensoren kann man dann ganz einfach rausfiltern. Im Motorraum würde ich keinen Bus mit TTL-Signalen, dessen Protokoll nicht mehrfach gesichert ist, rein legen.
Thomas O. schrieb: > Notfalls auch in Software dann benötigt man nicht mal ein RC-Filter. RC-Filter braucht man immer wenn zeit-diskret abgetastet wird. (Anti-Aliasing Filter). Im Auto auch gegen Kurzschlüsse nach Batteriepotential wenn sich der Kabelbaum nach ein paar Jahren durchgescheuert hat, bzw. auch als ergänzender Schutz gegen ESD. Gruß Anja
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.