capteur de courant 1-wire raspberry

Un lieu pour discuter des composants et de leur utilisation. Un passage obligé si vous devez interfacer votre Raspberry Pi avec le monde extérieur. On y trouvera aussi les cartes type commande de moteur pas à pas, continu, servo...

Modérateurs : Francois, smba38

youn260
Messages : 25
Enregistré le : sam. 9 mai 2015 10:43

Re: capteur de courant 1-wire raspberry

Message par youn260 » ven. 22 mai 2015 22:21

bonsoir
la plus petite résistance que je dispose fait 330 ohms
je voulais la mettre sur la sortie du capteur
je vais regarder comment faire pour la 5.6k
la je peux mettre une 10k
le plus compliqué c'est de trouver des appareils a grande consommation
mais si je suis bète des radiateurs électrique
j'ai aussi un halogène de 1kw
mais consommer 30A j'y arriverais pas

smba38
Modérateur
Messages : 193
Enregistré le : mar. 24 févr. 2015 09:28
Localisation : Bourgoin

Re: capteur de courant 1-wire raspberry

Message par smba38 » ven. 22 mai 2015 22:51

Bonsoir,

Avec des tests de 1A , 5A , 10A tu rapportes les mesures des tensions sur le graphique.
Tu dois ainsi avoir une idée approximative de la courbe.

SMBA38.

youn260
Messages : 25
Enregistré le : sam. 9 mai 2015 10:43

Re: capteur de courant 1-wire raspberry

Message par youn260 » sam. 23 mai 2015 19:19

bonsoir
j'ai reçu mes 100w ce matin(je crois qu'elles serviront pas) et du fil de soudure très fin
je vais commander une plaque d'essai avec alimentation intégrée
je vais prendre une grande au pif
car y a trop de bordel sur la table je risque de faire une bourde
mes essais peuvent de se transformer en feu d'artifice c'était déja chaud
maintenant je suis moins inquiet je sens que c'est a ma portée

youn260
Messages : 25
Enregistré le : sam. 9 mai 2015 10:43

Re: capteur de courant 1-wire raspberry

Message par youn260 » lun. 25 mai 2015 08:21

bonjour
ceci est le programme python qui me sert pour gerer mes panneaux solaires thermiques et mon chauffage
je vais m'en inspirer pour faire la mème chose avec mes panneaux photovoltaiques
par contre le programme peut etre copié ailleurs dans le forum pour plus de lisibilité

[L’extension py a été désactivée et ne peut plus être affichée.]


smba38
Modérateur
Messages : 193
Enregistré le : mar. 24 févr. 2015 09:28
Localisation : Bourgoin

Re: capteur de courant 1-wire raspberry

Message par smba38 » lun. 25 mai 2015 09:17

Bonjour Youn260

Il suffit d'encadrer le source par les balises BBcodes de début de code et de fin de code que l'on retrouve en haut de l'éditeur de texte.
Voici ton code

Code : Tout sélectionner

#!/usr/bin/python
# -*- coding: utf-8 -*-
#import sqlite3
import sched, time
import datetime
from subprocess import call
import sys,os
line=0
racine="/mnt/1wire/"
capteur1={"nom":"Panneaux","id":"28.FC3498040000"}
capteur2={"nom":"EntreeE","id":"28.1BF95F050000"}
capteur3={"nom":"SortieE","id":"28.D87A61050000"}
capteur4={"nom":"Entreebal","id":"28.152B60050000"}
capteur6={"nom":"Milieu","id":"28.1DF83F010000"}
capteur7={"nom":"SORTIE","id":"28.564D60050000"}
capteur8={"nom":"CapteurDevant","id":"28.A409A8030000"}
capteur9={"nom":"Ballon","id":"28.620AA8030000"}
capteur10={"nom":"DALLE","id":"28.2C28A8030000"}
capteur11={"nom":"SALLE","id":"28.248340010000"}
capteur12={"nom":"FANNY","id":"28.E37E3F010000"}




longswitch1="/mnt/1wire/12.8F627D000000/PIO.A"
longswitch2="/mnt/1wire/12.EC277D000000/PIO.A" #pour la cuisine
longswitch3="/mnt/1wire/12.A5377D000000/PIO.A" #pour la panneau
longswitch4="/mnt/1wire/12.D7537D000000/PIO.A"
longswitch5="/mnt/1wire/12.0B3B7D000000/PIO.A"
switch1="12.8F627D000000"
switch2="12.EC277D000000"  #pour la cuisine
switch3="12.A5377D000000"  #pour le panneau
switch4="12.D7537D000000"  #pour la dalle
switch5="12.0B3B7D000000"  #pour fanny
tatemp={}
listecapteurs=[capteur1,capteur2,capteur3,capteur4,capteur6,capteur7,capteur8,capteur9,capteur10,capteur11,capteur12]

def switch_pompe(etat,switch):
    file_name= os.path.join("/","mnt","1wire",switch,"PIO.A")
    try:
      with open(file_name,'r+') as f:
          line=f.read()
          print('Etat precedent de '+switch+'avant switch'),(line)
          #print (line)
          if (etat)==True:
              line='1'
          else:
              line='0'
          f.write(line)
    except IOError:
            print "Probleme ecriture switch"

def lire_switch(switch):
    file_name= os.path.join("/","mnt","1wire",switch,"PIO.A")
    resu=''
    try:
      with open(file_name,'r+') as f:
          line=f.read()
          if line=='1':
              resu=' ALLUME'
          else:
              resu=' ETEINT'
          print('Etat actuel de switch '+switch+' '),(resu)
    except IOError:
            print "Probleme ecriture switch"            

def lirecapteurs(n):
    if n==2 :
        os.system("tput reset")

    try:
        for capteur in listecapteurs:
            fichiertemperature=racine+capteur["id"]+"/temperature"
            #print capteur["nom"]
            with open(fichiertemperature) as f:
                temp = f.readline()
                if temp :
                    tatemp[capteur["nom"]]=temp
                    print  "la temperature du capteur "+capteur["nom"]+" est :"+temp
    except IOError:
            print "Fichier capteur n'existe pas"
    print "---------------------------------------"

    difference1 = float(tatemp ["EntreeE"])-float(tatemp ["Entreebal"])
    print "la difference de temperature EntreeEch/entreebal est:         ",  difference1
    if  (difference1 > 8):
         switch_pompe(True,switch1)
         print "ON ALLUME EntreeEch/EntreeBal...ON"
    elif (difference1 < 5):
         switch_pompe(False,switch1)
         print "ON ETEINT EntreeEch/EntreeBal...OF"
    else:
         print "On ne fait rien EntreeEch/EntreeBal"
         lire_switch(switch1)
    print "-----------------------------------------"

    difference2 = float(tatemp ["CapteurDevant"])-float(tatemp ["Ballon"])
    print "la difference de temperature CapteurDevant/Ballon est:         ",  difference2
    if  (difference2 > 8):
         switch_pompe(True,switch2)
         print "ON ALLUME CapteurDevant/Ballon...ON"
    elif (difference2 < 6):
         switch_pompe(False,switch2)
         print "ON ETEINT CapteurDevant/Ballon...OF"
    else:
         print "On ne fait rien CapteurDevant/Ballon"
         lire_switch(switch2)
    print "---------------------------------------"

    tpanneau= float(tatemp ["Panneaux"])
    if  (tpanneau > 25):
         switch_pompe(True,switch3)
         print "ON ALLUME Panneaux ...ON"
    elif (tpanneau < 20):
         switch_pompe(False,switch3)
         print "ON ETEINT Panneau...OF"
    else:
         print "On ne fait rien  Panneau"
         lire_switch(switch3)
    print "---------------------------------------"
     
    tdalle= float(tatemp ["FANNY"])
    if  (tdalle < 21):
         switch_pompe(True,switch4)
         print "ON ALLUME DALLE ...ON"
    elif (tdalle > 23):
         switch_pompe(False,switch4)
         print "ON ETEINT DALLE...OF"
    else:
         print "On ne fait rien  DALLE"
         lire_switch(switch4)
    print "======================================"
    
    tfanny= float(tatemp ["FANNY"])
    if  (tfanny < 18):
         switch_pompe(True,switch5)
         print "ON ALLUME FANNY ...ON"
    elif (tfanny > 19):
         switch_pompe(False,switch5)
         print "ON ETEINT FANNY...OF"
    else:
         print "On ne fait rien  FANNY"
         lire_switch(switch5)
    print "======================================"




s=sched.scheduler(time.time, time.sleep)
n=0
try :
    while True:
        n = n+1
        s.enter(20, 1, lirecapteurs, (n,))
        if n==2 :
            n=0
        s.run()
finally :
    print "Fin"
    #c.close()
    #conn.close()
SMBA38

youn260
Messages : 25
Enregistré le : sam. 9 mai 2015 10:43

Re: capteur de courant 1-wire raspberry

Message par youn260 » lun. 25 mai 2015 10:02

re
je fais des essais de calibration
a vide la VDD est de 5.3V elle est tres stable
mais la VAD sur une charge de environ 1KW dérive e10mn progressivement de 7.35V a 6.52V
sans charge la VAD dérive aussi de 2.90V a 2.50 dans le meme laps de temps
apres ça bouge plus
y aurais pas un condo qui perturberait les calculs
car les données sont inutilisables avec de telles dérives
et meme 6.52v pour 1kw
c'est trop ça me fait plus de 10v pour 2kw
ds2438 capteur.jpg
ds2438 capteur.jpg (21.17 Kio) Vu 7903 fois

youn260
Messages : 25
Enregistré le : sam. 9 mai 2015 10:43

Re: capteur de courant 1-wire raspberry

Message par youn260 » lun. 25 mai 2015 11:21

re bonjour
je vois sur le shéma 4.7 M ohms
et moi jai mis 4.7 K ohms
c'est pas pareil ?
j'ai tout vérifier sur la plaque
ça dérive toujours

smba38
Modérateur
Messages : 193
Enregistré le : mar. 24 févr. 2015 09:28
Localisation : Bourgoin

Re: capteur de courant 1-wire raspberry

Message par smba38 » lun. 25 mai 2015 23:18

Bonsoir Youn260.

La dérive au bout de 10mn se stabilise ou ça oscille en + et en - ?.
Les condensateurs doivent servir à lisser les variations, regarde directement en alternatif à la sortie du capteur pour voir si il y a également une dérive.

Si il y a une dérive à la sortie du capteur, le condensateur va progressivement se charger pour tendre vers la tension maximum.


Sans les condensateurs il faut peut-être faire plusieurs mesures rapprochées et ensuite faire une moyenne.

J'ai trouvé ce lien ou les mesures se font directement en alternatif, mais je pense qu'ils font des mesures très rapprochées avec un Arduino, avec une puce 1-wire on ne doit pas pouvoir faire des mesures très rapprochées.
http://openenergymonitor.org/emon/buildingblocks

SMBA38.

JLRdomotique
Messages : 21
Enregistré le : mar. 22 août 2017 16:13
Localisation : Royan

Re: capteur de courant 1-wire raspberry

Message par JLRdomotique » mar. 22 août 2017 16:23

Je rame pour utiliser un DS2450 sur un Raspberry pi3..... vu que c'est comme un DS2438 à 4 voies A/N
quelqu'un a-t-il des solutions....
il n'y a pas à ma connaissances de modules pour DS2450 , il faut passer par un générique et là je rame...
je cherche de l'aide....
Sur mon bus 1-wire, j'ai deux Ds18D20 et un DS2423 qui fonctionnent
le DS2450 est bien visible mais je n'arrive a recevoir des data....

destroyedlolo
Raspinaute
Messages : 1585
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: capteur de courant 1-wire raspberry

Message par destroyedlolo » mar. 22 août 2017 17:40

Salut,

Tu ne passes pas owfs ? Parce que le 2450 est visiblement supporté (je n'en ai pas et, malheureusement, il est en fin de vie)

A+
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

Répondre

Retourner vers « L'électronique et le Raspberry Pi »