- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 3 von 3

Thema: Temperaturen aus DS1621 mit PC-I2C-RN-Adapter auslesen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    11.06.2006
    Beiträge
    20

    Temperaturen aus DS1621 mit PC-I2C-RN-Adapter auslesen

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Temperaturen aus DS1621 mit PC-I2C-RN-Adapter auslesen

    Hallo!

    Bevor ich die dazugehörige Schaltung aufbaue, möchte ich gerne wissen, ob mit folgenden in Visual-Basic geschriebenen Programmzeilen der an dem PC-I2C-Roboternetz-Adapter angeschlossene Temperatursensor DS1621 ausgelesen werden kann. Falls in den Programmzeilen Fehler enthalten sind, wäre ich für Nachricht sehr dankbar!
    Vielen Dank!

    Gruß
    E-Donni


    Code:
    Private Sub TempMessung(temperatur As Double)
    Dim adresse As Byte
    Dim MSByte As Byte
    Dim LSByte As Byte
    
    'Initialisierung des PC-I2C-RN-Adapters:
      RS232_I2C_MSComm1.CommPort = 1
      RS232_I2C_MSComm1.PortOpen = True
      i2c_init
      ZeigePegel
    
     'Adresse des Interfaces:
       adresse = 90
    
    'I2C-Befehle an den Temperatursensor DS1621 senden:
      i2c_start
      i2c_SendByte (adresse)       'Adresse des Temperatursensors senden
      i2c_SendByte I2cdaten(&HEE)  'Temperaturmessung anstoßen
      delay
      i2c_stop
            
      i2c_start
      i2c_SendByte (adresse)       'Adresse des Temperatursensors senden
      i2c_SendByte I2cdaten(&HAA)  'Temperaturmessung Lesekommando
      delay
      i2c_stop
            
      delay
            
      i2c_start
      i2c_SendByte (Adresse + &H1) 'Beim Lesen ist ID immer eins höher
                                   'als beim Senden
      delay
      MSByte = i2c_EmpfangeByte    '1. Byte empfangen, MS-Byte
      delay
      i2c_ack (True)
      delay
      LSByte = i2c_EmpfangeByte     '2. Byte empfangen, LS-Byte
      delay
      i2c_ack (False)
      delay
      i2c_stop
            
      ZeigePegel
            
    'Aus den übergebenen Bytes die Temperatur des abgefragten
    'Sensors ermitteln:
      If Wert < 128 Then 'positive Temperatur, gleich oder höher als 0°C
        temperatur = MSByte + (LSByte / 128) * 0.5
      Else 'negative Temperatur, unter 0°C
        temperatur = MSByte - 256 + (LSByte / 128) * 0.5
      End If
    
    'Terminalisierung:
      set_sda (1)
      set_scl (1)
    
    End Sub

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    07.03.2006
    Beiträge
    7
    Hallo E-Donni,

    für einen DS1621 hatte ich mal vor Jahren einen Code für einen 8051er geschrieben, der die Temperatur auf 1/100 Grad ausliest. Leider ist der Code in 8051er-Assembler. Wenn du magst, schicke ich ihn dir gerne.

    Den DS1621 solltest du möglichst nicht mehr verwenden, da gab es eine Fehlermeldung des Herstellers, dass sich das Ding immer mal wieder selber aufhängt. Einzige Lösung: Versorgungsspannung kurz unterbrechen. Besser ist der DS1631.

    Gruß

    Jürgen

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    11.06.2006
    Beiträge
    20

    Temperaturen aus DS1621 mit PC-I2C-RN-Adapter auslesen

    Hallo Jürgen!

    Wäre super, wenn Du mir den Assembler-Code zusenden könntest, würde mir sehr helfen. Ist die Aussenbeschaltung des DS1631 identisch mit derjenigen für den DS1621?

    Vielen Dank für Deine Hilfe!

    Besten Gruß
    E-Donni

Berechtigungen

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

Labornetzteil AliExpress