Ankündigung

Einklappen
Keine Ankündigung bisher.

Arduino-Sensor für CO² bzw. VOC

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #61
    Zitat von l0wside Beitrag anzeigen
    ...die Z-Diode würde ich nicht nehmen. Schau dir in http://www.farnell.com/datasheets/1808429.pdf mal Fig. 5 an, der 3,3V-Typ hat bei ca. 5mA eine Spannung von 3,3V. Über 30k hast du aber nie und nimmer so viel Strom, sondern eher ein Zehntel davon. Dann eher eine Schottky-Diode von SDA (Anode) nach 3,3V (Kathode), das ist dann im Grunde die diskrete Realisierung der Klammerdioden im VOC-Sensor.
    Hallo Max,

    die externen Clamp-Dioden wären wohl der beste Weg, da hast Du Recht.

    Zitat von l0wside Beitrag anzeigen
    ...Was meinst du mit "zu geringer Pegel am 3,3V-Ausgang des Arduino z.B. durch zu hohen Entnahmestrom für die Sensorik"? Notfalls spendierst du eben einen separaten LDO von 5V nach 3,3V, das kostet einen Centbetrag. Aber bitte keinen 7803, sondern etwas Moderneres wie LP2980 (gibt´s auch von TI als Sample). Sonst säuft der Regler selbst mehr Strom als die daran hängende Peripherie.
    Der Königsweg wäre, gleich am Anfang einen effizienten Schaltregler an die 5V der BCU zu hängen, die dann die ganze restliche 3,3V-Schiene incl. eines 3,3V-Arduino versorgt. Ich nehme dazu eben oft den Typ, den ich ein paar Posts vorher genannt habe. Damit ist man auf Sensorseite praktisch eigensicher und hat die notwendige zweite Spannungsebene mit maximaler Effizienz erzeugt. Die ganze Thematik kam ja nur auf, weil der User "brandst" unbedingt seine 5V-Arduinos weiterverwenden möchte :-)





    Viele Grüße,
    Stefan

    DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

    Kommentar


      #62
      Zitat von dreamy1 Beitrag anzeigen
      Hallo Max,

      die externen Clamp-Dioden wären wohl der beste Weg, da hast Du Recht.



      Der Königsweg wäre, gleich am Anfang einen effizienten Schaltregler an die 5V der BCU zu hängen, die dann die ganze restliche 3,3V-Schiene incl. eines 3,3V-Arduino versorgt. Ich nehme dazu eben oft den Typ, den ich ein paar Posts vorher genannt habe. Damit ist man auf Sensorseite praktisch eigensicher und hat die notwendige zweite Spannungsebene mit maximaler Effizienz erzeugt. Die ganze Thematik kam ja nur auf, weil der User "brandst" unbedingt seine 5V-Arduinos weiterverwenden möchte :-)




      War aber eine sehr fruchtbare Diskussion von euch zweien :-D. Hab heute meinen Pegelwandler bekommen und werde mein Schaltbild ausprobieren. Melde mich dann mit Neuigkeiten. Danke für eure Informationen.

      Kommentar


        #63
        Auch wenn ich es nicht mit einem Arduino versuche, hier ein kurzes feedback von mir bzgl. ESP8266 und dem iAQ Core VOC Sensor:

        Scheint zu laufen. Musste mich erst etwas mit der Lua Scriptsprache vertraut machen. War weniger schwer als gedacht:

        Code:
        -- reference id
        id=0
        -- D1
        sda=1
        -- D2
        scl=2
        
        iaqAddr = 0x5a;
        
        -- initialize i2c
        i2c.setup(id,sda,scl,i2c.SLOW)
        
        -- read data register
        -- i2c_addr: i2c address of i2c device to read
        -- reg_addr: register address to read
        -- lenght: number of bytes to read
        local function read_reg(i2c_addr, reg_addr, length)
          i2c.start(id)
          i2c.address(id, i2c_addr, i2c.RECEIVER)
          bytes = i2c.read(id, length)
          i2c.stop(id)
          return bytes
        end
        
        data = read_reg(iaqAddr, 0xb5, 9)
        
        for i=0,8 do
            print("byte["..i.."]="..string.format("%02x", string.byte(data, i+1)))
        end
        Ausgabe auf der seriellen Konsole:

        > dofile("iaqtest1.lua");
        byte[0]=01
        byte[1]=c2
        byte[2]=10
        byte[3]=00
        byte[4]=04
        byte[5]=cf
        byte[6]=cc
        byte[7]=00
        byte[8]=7d
        0x01c2 --> 450 CO2 eq. ppm
        0x10 --> Aufwärmphase
        0x0004cfcc --> 315340 Ohm (????)
        0x007d --> 125 TVOC eq. ppb (was auch immer das ist)

        Als nächstes wandern die Daten auf's Netzwerk und dann über meine Logikengine auf den Bus.

        Auch interessant: Das Ding (kostet über Aliexpress übrigens nur 4,24EUR inkl. Versand aus dem Land der aufgehenden Sonne) beherrscht auch MQTT, und angeblich auch "verschlüsselt". Bin da noch am schauen wo und wie. Aber wenn das geht, dann könnte man daraus ohne weiteres ein (weitgehend) "sicheres" Sensor/Aktor-Netzwerk aufbauen und an KNX anbinden. Und das ohne jedes mal einen BCU hinzu ziehen zu müssen. Mit einem DC-DC-Stepdown-Regler aus der Bucht, kann man die Dinger locker über grau/gelb der Busleitung mit Strom versorgen.

        Aber gut, back to Topic --> Arduino ...
        Zuletzt geändert von tuxedo; 30.10.2015, 19:51.

        Kommentar


          #64
          Wow - das klingt echt gut. Könnte man ja auch gut an Stellen einsetzen wo kein Buskabel liegt :-)

          Wäre doch einen eigenen Thread wert, oder ? :-)
          Viele Grüße,
          Stefan

          DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

          Kommentar


            #65
            Zitat von dreamy1 Beitrag anzeigen
            Wow - das klingt echt gut. Könnte man ja auch gut an Stellen einsetzen wo kein Buskabel liegt :-)
            Wäre doch einen eigenen Thread wert, oder ? :-)
            Jepp. hab grad den TCP Server fertig gestellt. Ich such mal alle benötigten Infos zusammen und schreibs zusammen.

            Kommentar


              #66
              Hi
              mein TTL-Pegelwandler ist heute gekommen - jetzt hab ich alles zusammen.
              Ich habe mir mal den ganzen Kram angeschaut -und festgestellt das ich nicht so der HW-crack bin.
              Frage: pass mein Schaubild so? (hoch lebe PPT) - Link: https://dl.dropboxusercontent.com/u/...-versuch1.pptx
              Step Down converter: richtig so angeschlossen?
              Pegelwandler: so richtig angeschlossen? Muss ich Masse H mit Masse L verbinden?
              Und zu guter letzt SDA/SCL vom iAQ - der kleine Arduino hat ja keine spezifischen PINs dafür - kann man die einfach definieren?

              Gruß
              Thorsten

              Kommentar


                #67
                Hallo Thorsten,

                am Arduino ist A4 = SDA und A5 = SCL bei Verwendung der Wire-Bibliothek.

                ACHTUNG: auf Deinem Schaltbild sind die Pins am VOC falsch durchnumeriert (müssen alle entgegen dem Uhrzeigersinn sein, die drei auf der rechten Seite stimmen nicht)!

                Rest schaue ich mir an und melde mich nochmal...

                Viele Grüße,
                Stefan

                DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                Kommentar


                  #68
                  Rest passt. Die beiden GND auf dem Pegelwandler sind intern auf der Platine schon verbunden.

                  Ich würde noch zwei 4,7k-Pullups auf den SDA/SCL-Leitungen spendieren (also einer von SDA zu 3,3V und einer von SCL zu 3,3V) und dann ist es perfekt.
                  Viele Grüße,
                  Stefan

                  DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                  Kommentar


                    #69
                    Danke. Das mit der falschen Nummerierung erklärt auch warum an PIN 4 (jetzt richtig nummeriert) ein SDA steht... Danke.
                    Ich korrigiere und finalisiere morgen mein "Schaltbild" ... und dann gehts an den Lötkolben.
                    Die PullUps sind ja nur optional - bei einer kleinen Platine würde ich das auch Einplanen - in meinem Aufbau wohl erstmal nicht...
                    Mehr Ergebnisse (vermutlich) morgen.
                    Thorsten

                    Kommentar


                      #70
                      Habe das Schaltbild angepasst, siehe Anhang.

                      Nochmal ACHTUNG: beim Programmieradapter auf die Polung achten, ich muss meinen so einstecken dass die USB-Buchse vom Arduino abgewandt ist (wenn man den Programmieradapter im 90°-Winkel von oben einsteckt). Ich habe das Schaltbild auch dahingehend modifiziert.
                      Zuletzt geändert von dreamy1; 31.10.2015, 23:22.
                      Viele Grüße,
                      Stefan

                      DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                      Kommentar


                        #71
                        Neuer Versuch mit Anhang:

                        VOC-Schaltbild.pdf
                        Viele Grüße,
                        Stefan

                        DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                        Kommentar


                          #72
                          So - fleißig gelötet hab ich heute schonmal (Bilder kommen noch).
                          Jetzt gehts ans Programmieren: für den IAQ2000 braucht man eine passende lib, diese wiederum die I2Cdev und diese eine emlib.

                          #include "I2Cdev.h"
                          #include "IAQ2000.h"

                          Leider hab ich keine Ahnung wo ich die emlib herbekomme...
                          Vielleicht muss ich auch einfach erstmal die Arduino IDE neu installieren...

                          Bin für Tips dankbar

                          Gruß
                          Thorsten

                          Kommentar


                            #73
                            Die emlib gibt's hier: https://github.com/EnergyMicro/emlib

                            Aber warum die beim VOC benötigt wird....komisch. Sind da noch Programmreste für eine wireless-Anbindung im Programm?

                            EDIT: ahhh, es scheint dass ein EFM32 µC von Silicon Labs im VOC-Sensor verbaut ist...dann ist es erklärbar.
                            Zuletzt geändert von dreamy1; 06.11.2015, 18:27.
                            Viele Grüße,
                            Stefan

                            DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                            Kommentar


                              #74
                              Okay - scheinbar war mein problem woanders.
                              Ich hab jetzt nochmal von https://github.com/jrowberg/i2cdevlib die IAQ2000 und I2Cdev libraries neu eingebunden - und der demo-code geht erstmal.
                              Jetzt gehts weiter :-)

                              Nochwas: das ist das richtige Schaltbild: https://dl.dropboxusercontent.com/u/...chaltbild.pptx
                              @Dreamy: vielen dank für deine Hilfe.
                              ABER: das TTL-Interface hast du falsch herum eingezeichnet... (vermutlich hast du die Kontakte auf der anderen Seite des Arduinos?)

                              Gruß
                              Thorsten
                              Zuletzt geändert von ThorstenGehrig; 07.11.2015, 08:33.

                              Kommentar


                                #75
                                Hi
                                ich habe mal die IAQ2000 lib erweitert: neben den CO2 eq PPM kriegt man jetzt auch den Status und die TVOC eq ppb zurückgeliefert.
                                Den Testcode habe ich auch angepasst - liefert bei mir schön alles zurück :-)
                                Gruß
                                Thorsten
                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X