I2C Temperaturmodul von B&B 9Volt anschließen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Forum,
    ich bin neu hier und auch neu im Bereich Raspi. Meine letzte Berührung mit Linux liegt schon einige Jahr(zehnte) zurück.
    Ich konnte schon viele Fragen durch das Forum und Frau Google klären, doch auf einige habe ich keine genaue Antwort gefunden. Bevor ich jetzt etwas falsch anschließe frage ich lieber noch mal nach.

    Ich möchte ein i2c-Temperaturmodul von B&B, welches bis 1370Grad geht, mit dem Raspi verbinden, doch mit dem Anschließen hapert es. Das Temperaturmodul benötigt 6-24Volt!
    Vorsichtshalber habe ich mir ein I2c-Repeater / Pegelwandler von Horte & Kalb besorgt. Das Temperaturmodul wollte ich zu Versuchszwecken mit einer 9Volt Batterie betreiben. Wie wird es angeschossen ?

    Muss SDA und SCL direkt mit dem Pegelwandler verbunden werden (oder doch direkt mit dem Pi), Masse/GND geteilt von 9V auf Modul und Pi oder muss da noch ein Widerstand zwischen?

    Danke und Gruß
    Ralle

  • Hallo.


    Muss SDA und SCL direkt mit dem Pegelwandler verbunden werden (oder doch direkt mit dem Pi), Masse/GND geteilt von 9V auf Modul und Pi oder muss da noch ein Widerstand zwischen?


    hm... die Frage versteh ich net ganz.
    Bei Pegelwandler gilt:
    SDA/SLC vom Pi <-> Pegelwander. SDA/SLC nach Pegelwandler <-> Sensor.
    Oder vereinfacht: pi <-> Pegelwandler <-> Sensor.
    Wenn der Pegelwandler 3,3V <-> 9V kann.(So der Signalpegel bei 9V liegt, was ich net glaube)
    Der Sensor wird dann direkt mit 9V versorgt, und beide Massen/GND's sind verbunden.

    Datenblatt wäre da hilfreich, sonst ist das alles bischen orakeln.

    gruß root

    Einmal editiert, zuletzt von root (30. April 2015 um 23:28)

  • Hallo.
    Steht doch großartig drin ... :D

    Zitat

    Die Betriebsspannung von 6 bis 24 V wird im Modul auf 5 V stabilisiert. Die interne 5 V Spannung dient als Bezugspegel für die digitale
    I2C-Kommunikation. Andere Ausführungen, z.B. mit 3,3 V oder 5 V
    Betriebsspannung sind als Sonderausführung möglich


    Also.
    Nen Levelshitfter zwischen Pi und Sensor, fertig.
    Den Shifter mit 3,3 und 5V vom Pi versorgen.
    Den Sensor mit 9V versorgen, und nicht vergessen die Massen der 9V Quelle mit der pi/Masse zu verbinden.

    Einmal editiert, zuletzt von root (30. April 2015 um 23:52)

  • Hallo.
    Kein Problem.
    Jeder fängt mal klein an.
    Und ... lieber 2x fragen als einmal nen Pi grundlos weil unsicher verdampfen zu lassen ... :thumbs1:

    gruß root

  • Huhu,
    der Pegelwandler ist heute angekommen. Keine Reaktion!
    Angeschlossen wie folgt:
    HV = 5Volt vom Pi
    LV = 3,3 Volt vom Pi
    SDA vom Modul an Pegelwandler HV Seite => vom Pegelwandler LV Seite zum Pi
    SCL vom Modul an Pegelwandler HV Seite => vom Pegelwandler LV Seite zum Pi
    Temperaturmodul mit 9 Volt verbunden und GND/Masse geteilt und direkt (ohne Level-Shifter) in den Pi.
    Habe es an zwei Pi und mit zwei Temperaturmodule ausprobiert.

    nach "lsmod" sind beide Treiber geladen.

    mit "i2cdetect -y 1" wird kein Gerät erkannt.

    Ein normales Relais-Board läuft am GPIO normal, also sollte der funktionieren.

    Ralle

  • Keiner eine Idee?
    Ich habe gelesen das manche Pullup/Pulldown Widerstände einbauen.
    Macht es Sinn vieleicht diese Widerstände einzubauen? Wenn ja auf welcher Seite, auf der HV (5V) oder LV (3,3V) Seite.

    Ralle

  • Hallo.


    Temperaturmodul mit 9 Volt verbunden und GND/Masse geteilt und direkt (ohne Level-Shifter) in den Pi.


    Wie meinst das ... GND/Masse geteilt...
    GND/Masse ist ein bißchen komischer Begriff, da letztlich beide das gleiche sind.
    Also GND/Pi mit GND/9V versorgung verbinden.

    Pull-up/down Widerständen sind da normalerweise nicht nötig.

    Ist es so ein Teil ?

    Kenn ich zwar nicht, aber les Dir mal das durch.
    Nicht durch die Spannungen verrückt machen lassen, sondern nur wegen init.. etc.

    gruß root

  • Naja ... vielleicht tut er sich selbst und allen anderen Beteiligten ja mal den Gefallen, und ...
    <wiederkäu-Modus ein>
    malt die Schaltung mal mit -> Fritzing <- oder -> eagle <- auf, dann erübrigen sich Spekulationen und vielleicht findet er den Fehler dann sogar selbst.
    <wiederkäu-Modus aus>
    cu,
    -ds-

  • Hallo,
    hier die Skizze. Wie root es oben beschrieben hat habe ich 3,3Volt und 5Volt vom Pi an den Levelshifter, Sensor mit 9Volt versorgt und Masse an den Pi und Sensor. SDA und SCL auf 1 und 2 am Levelshifter.
    Dieser Sensor ist das.

    Danke für eure Mühe und Gedult.


  • wo soll die denn noch dran? Von 9Volt die Masse an den Levelshifter (HV) und vom PI die Masse auch an den Levelshifter (LV)?

    So?

    Einmal editiert, zuletzt von kannnix (8. Mai 2015 um 21:56)

  • Moin,
    hm ... welchen Levelshifter hast Du da im Einsatz?
    Ich kenne/verwende jetzt z.B. nur -> solche <- bzw. ähnliche mit 4 bidirektionalen Signal-Leitungen.
    Verwendest Du den -> hier <-, den root -> hier <- verlinkt hat?
    Der arbeitet mit MOS-FETs ... da scheint keine gemeinsame Masse notwendig zu sein ... ich finde das jetzt etwas befremdlich - aber sei's drum, ich bin jetzt auch die der Elektronik-Crack ;)

    Sonst scheinen die Verbindungen zu stimmen ...
    Vielleicht musst Du ja auch noch was von wegen -> devicetree <- in die config einbauen - oder hast Du das schon gemacht?

    Weil Du mal pullups angesprochen hast: die brauchst Du imho nicht, weil der Raspi die ja schon verbaut hat.

    Werden wir schon hinkriegen ... es sind sind ja eine Menge richtig guter Leute hier ...

    cu,
    -ds-

  • Hi kannix,
    na der Levelshifter mit den vier Signal-Leitungen hat ja eine gemeinsame Masse (GND) ...
    Wie gesagt - das Teil, das root verlinkt hat kenne ich nicht und es kommt mir etwas seltsam vor. Vielleicht bringt ja einer unserer wirklichen Elektronik-Cracks da mal Licht ins Dunkel.

    Zum Thema config: schau mal in den -> Link <-.
    Ich denke, das dürfte das Problem beheben ;)

    cu,
    -ds-

  • das hatte ich auch gelesen (ich hoffe auch verstanden) und gleich mal die Logdatei eingebaut.
    Auszug aus der Datei /boot/config.txt=
    ........
    overscan_bottom=16
    disable_overscan=0
    core_freq=250
    sdram_freq=450
    over_voltage=2

    # i2c aktivieren
    dtparam=i2s=on
    dtparam=i2c_arm=on

    # Logdatei erstellen
    dtdebug=on
    ..........................
    $ lsmod
    Module Size Used by
    i2c_dev 6027 0
    snd_bcm2835 18850 0
    snd_soc_bcm2708_i2s 6637 0
    regmap_mmio 2961 1 snd_soc_bcm2708_i2s
    snd_soc_core 140285 1 snd_soc_bcm2708_i2s
    snd_compress 7610 1 snd_soc_core
    snd_pcm_dmaengine 3359 1 snd_soc_core
    snd_pcm 75388 3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
    snd_seq 53078 0
    snd_seq_device 5628 1 snd_seq
    snd_timer 17784 2 snd_pcm,snd_seq
    snd 51667 7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
    8192cu 528429 0
    i2c_bcm2708 4990 0
    uio_pdrv_genirq 2958 0
    uio 8119 1 uio_pdrv_genirq
    ................................
    Auszug:

    sudo vcdbg log msg

    000854.807: hdmi: HDMI: Action callback added to queue to happen at frame 0
    000871.367: *** Restart logging

    000872.827: Read command line from file 'cmdline.txt'
    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait

    000874.494: Loading 'kernel7.img' from SD card
    001162.780: Kernel trailer DTOK property says yes
    001162.930: Loading 'bcm2709-rpi-2-b.dtb' from SD card
    001169.631: dtparam: i2s=on
    001172.066: dtparam: i2c_arm=on

    001175.203: dtparam: arm_freq=900000000
    001227.862: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
    003401.249: vchiq_core: vchiq_init_state: slot_zero = 0xfa800000, is_master = 1
    003404.691: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
    003407.082: cma: cma_hwm is zero - disabling cma service
    003408.470: gpioman: gpioman_get_pin_num: pin LEDS_RUNNING not defined
    003408.493: gpioman: gpioman_get_pin_num: pin LEDS_NAND_ACTIVITY not defined
    003408.515: gpioman: gpioman_get_pin_num: pin LEDS_USB_ACTIVITY not defined
    003408.536: gpioman: gpioman_get_pin_num: pin LEDS_FATAL_ERROR not defined
    003408.558: gpioman: gpioman_get_pin_num: pin LEDS_APP_OK not defined
    003408.580: gpioman: gpioman_get_pin_num: pin LEDS_APP_FAILED not defined
    003408.600: gpioman: gpioman_get_pin_num: pin LEDS_HDCP_AUTH not defined
    003408.622: gpioman: gpioman_get_pin_num: pin LEDS_HDCP_UNAUTH not defined
    003408.645: gpioman: gpioman_get_pin_num: pin LEDS_HDMI_ON not defined
    003408.666: gpioman: gpioman_get_pin_num: pin LEDS_DVI_ON not defined
    003408.688: gpioman: gpioman_get_pin_num: pin LEDS_HDMI_HPD_UP not defined
    003408.709: gpioman: gpioman_get_pin_num: pin LEDS_REMOTE_CONTROL not defined
    003408.729: gpioman: gpioman_get_pin_num: pin LEDS_ARM_CONTROLLED not defined
    003409.074: TV service:host side not connected, dropping notification 0x00000002, 0x00000002, 0x00000004


    Ralle

  • Da kann ich leider nix zu sagen - also was die Meldungen da betrifft.
    Ich habe diesen device-tree Kram auf meinen Bastel-RPis einfach deaktiviert (Ich hoffe, das funktioniert noch eine Weile so ;) :(

    Code
    #I dont want this devicetree shit
    device_tree=


    Ganz am Ende eingefügt ... vielleicht probierst Du das mal aus, ob es dann tut.
    Sie sieht denn Deine Ausgabe von i2cdetect aus. So in etwa:

    cu,
    -ds-

  • $ sudo i2cdetect -y 1
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

    Ralle

    Mit dem Eintrag sieht es so aus:

    $ sudo i2cdetect -y 1
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

    Ralle

    Einmal editiert, zuletzt von kannnix (8. Mai 2015 um 23:57)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!