- 3D-Druck Einstieg und Tipps         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Welches Kabel für TWI (I2C) verwenden? Hilfe bei TWI Routine

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.05.2004
    Ort
    Darmstadt
    Beiträge
    72

    Welches Kabel für TWI (I2C) verwenden? Hilfe bei TWI Routine

    Hallo,

    ich möchte mit einem LM75 die Öl- bzw. Wassertemperatur über TWI vom Auto messen.
    Die Platine wird im Innenraum eingebaut und die Sensoren an der entsprechenden Stelle (ist ja klar).
    Aber welche Leitung sollte ich dafür verwenden?
    Der LM75 braucht:
    -Ub
    -Masse
    -Data
    -Clock
    Ich denke mal das hier abgeschirmtes Kable nötig ist oder? Wie sieht es mit LIYCY (4x0,14mm²)aus oder geht auch Dünneres (0,08mm²)?

    Danke

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    17.05.2004
    Ort
    Darmstadt
    Beiträge
    72
    Hmm, keiner kann helfen

    Aber wenn nicht bei der Hardware dann vielleicht bei der Software.
    Im Datenblatt des ATmega16 auf Seite 183 steht doch die Routine für den TWI. Ich verstehe nur nicht so ganz wie das mit den Deffinitionen gemeint ist, z.B. MT_SLA_ACK, ERROR und MT_DATA_ACK?

  3. #3
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Mit I2C Kabeln im Autor haben sicher wenige Erfahrung, daher gab es keine Antwort. Normalerweise soll das Kabel ja nicht länger als 2m sein. Im normalen Betrieb reicht ein einfaches Flachkabel mit einer Masseleitung dazwischen, kurze Leitungen brauchen garkeine Abschirmung. Aber im Auto bei etwa slängerem Kabel würde ich dann doch ein Kabel mit Abschirmung nehmen. 0,08mm könnte vielleicht noch gehen. Ich würde es einfach mal in deinem Bastelzzimmer austesten.
    Zu dem Datenblatt-Hinweis kann ich gerade nix sagen, hab die Passage nicht gelesen. Aber für so einfache Aufgaben kannst du ruhig die Bascom I2C-Befehle benutzen!

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    17.05.2004
    Ort
    Darmstadt
    Beiträge
    72
    Danke für die Auskunft was das Kabel betrifft, ich werde das mal testen.

    Ich benutze leider nicht Bascom. Ich kann nur Assembler!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    17.05.2004
    Ort
    Darmstadt
    Beiträge
    72
    Hat jemand TWI bzw I²C-Bus schon einmal mit Assembler zum laufen gebracht, und kann mir sagen was diese Deffinitionen (Seite 183, Datasheet) bedeuten?

  6. #6
    Gast
    was für ein Datenblatt, welchen AVR benutz du?

  7. #7
    Gast
    ok, alles klar, hatte es übersehen.

    also: Das MT_SLA_ACK und das andere , das sind Konstanten.

    cpi vergleicht das Register mit der Konstanten und je nachdem wie das Ergebnis aussieht gibts Error oder es geht weiter.

    Über dem Beispiel steht auch das im Code Vereinbarungen enthalten sind die du vorher festlegen mußt.
    am Anfang mußt du also mit
    .equ MT_SLA_ACK = x dem Begriff eine Zahl zuordnen

    so wie ich das überflogen habe ist es eine Acknoledge Abfrage, die Zahlen könnten also 0 und 1 sein, ist aber nur getippt...

    hoffe erst mal weitergeholfen zu haben

    byPö

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    17.05.2004
    Ort
    Darmstadt
    Beiträge
    72
    Ok,
    aber was hat das zu bedeuten? Ich möchte eigentlich nur den Temperaturfühler abfragen, wie bekomme ich das hin?

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    13.07.2004
    Beiträge
    19
    Ok ich bins wieder. Könntest du deine Fragen etwas zielgerichteter Formulieren ?

    einfach nur abfragen will ich auch immer )

    Um den Sensor abzufragen mußt du natürlich das serielle Übertragungsprotokoll des TWI einhalten. wie der aussieht steht paar Seiten vorher im Datenblatt. Der Code den du hast enthält zwischendurch Sicherheitsabfragen falls etwas schief läuft bei der Übertragung. Dann verzweigt das Programm nach Error.

    Das Übertragungsprotokoll sieht kurz formuliert so aus, die Nummer entsprecheen den Abschnitten deienr Code Tabelle im Datenblatt:

    START Du erklärst deinem MC das du über TWI kommunizieren willst.

    Du wartest darauf das der MC alles zur Übertragung per TWI klar macht


    Da du mehrere Dinge gleichzeitig am TWI hängen haben könntest mußt du erst mal eine Adresse losschicken damit dein Temp weiß das er gemeint ist. Selbige setztsich aus einem unveränderlichen und variablen Teil zusammen. Näheres zur Adresse findest du im Datenblatt des Sensors.
    Die Adresse umfasst 7bit, das 8 klärt ob du zum Sensor schreiben willst oder von ihm lesen willst.

    boah, ich hör jetzterst mal auf, du solltest mal genauer erklären wo dein Problem liegt.

    Wenn du dein Programm erzeugst (F7) bekomst du jede Menge Fehlermeldungen nehme ich an oder? Click die mal an und poste mal ein paar Zeilen wo Fehler angezeigt werden...

    byPö

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    17.05.2004
    Ort
    Darmstadt
    Beiträge
    72
    Also ein Problem bis jetzt ist, dass ich nicht verstehe wie das mit den Daten empfangen funktioniert.
    Aslo der LM75 hat ja ein 16Bit Register aber der µC nur 8Bit (TWDR). Wenn ich jetzt den LM75 "abfrage", schickt dieser zuerst das höhere Byte und danach das niedere Byte über den Datenbus. Aber macht der Temp sensor das selbstständig oder wartet er erst auf ein Signal vom µC um nach dem Höheren das niedere Byte zu senden?
    Müsste doch so sein weil das TWDR nur 8Bit umfasst, sonst würde dieses ja "überlaufen".

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad