IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Raspberry Pi et transmission i2c


Sujet :

Raspberry Pi

  1. #1
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut Raspberry Pi et transmission i2c
    Bonjour à tous et à toutes,
    J'aimerais connecter une batterie externe a mon Raspberry afin de récupérer le taux de charge via une communication smBus, il est donc possible d'utiliser les ports i2c de mon Raspberry.
    Cependant, je n'arrive pas à récupérer les données qui m'intéresse…


    Le premier octet est un octet d'écriture et le code est 0x16

    Les deux suivants sont des octets de lecture et pour obtenir le taux de charge est 0x0d.

    Pour le moment j'ai tenter de faire un programme mais il ne fonctionne pas…
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import smbus
    import time
    bus = smbus.SMBus(1)
     
    bus.write_byte(0x0b,1)
    x=bus.read_word_data(0x0b,0x09)
    print x

    Auriez vous des conseils ? merci beaucoup !!
    Images attachées Images attachées  

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    Quelle est la référence de ton composant smbus/I2C ?

  3. #3
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre réponse !
    0-215079-4 de chez Texas instruments !
    Cordialement

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Sur ti.com :

    No matches found for "0-215079-4"

    Tu as un lien constructeur ou vers la datasheet ?

  5. #5
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Jai déjà ce document :
    Sil vous plait taper "SMBUS made simple" Texas instrument
    Merci

  6. #6
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Je vous donne la référence du composant demain ! Je ne lai pas sur moi...

    Je vous remercie

  7. #7
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Bonjour !
    alors la référence du connecteur smbus est bien 0-215079-4 mais c'est chez TE, autant pour moi vraiment désolé...
    merci bien

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Oui, mais ça c'est de la connectique ! Ce qu'on voudrait savoir, c'est avec quoi tu communiques (le composant avec lequel le Raspberry Pi communique en smbus/i2c et qui est à l'adresse 0x0b).

  9. #9
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    C'est une batterie !
    Merci.

  10. #10
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Bon, j'ai trouvé une doc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x=bus.read_word_data(0x0b,0x09)
    J'ai ça pour le registre 0x09 :
    5.1.10.Voltage() (0x09)
    Description:
    Returns the cell-pack voltage (mv).
    J'ai la bonne doc ? C'est bien pour récupérer la tension batterie ?

    Par contre, pourquoi cette ligne juste avant ??

  11. #11
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Oui, j'aimerais récupérer la tension et le pourcentage de chargement de la batterie.
    en effet, cette ligne ne sert à rien, je faisais des tests, autant pour moi.

    Cela pourrait peut-être vous aidez !
    http://sbs-forum.org/specs/sbdat110.pdf

  12. #12
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par MathieuSollier Voir le message
    en effet, cette ligne ne sert à rien, je faisais des tests, autant pour moi.
    Je me disais aussi. Merci pour la doc, c'est bien sur celle-ci aussi que j'étais tombé.

    Mais du coup après avoir retiré cette ligne, quand tu dis que ça "ne fonctionne pas", que retourne le print ?

  13. #13
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    65535... la valeur max d'après la doc

  14. #14
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Et si tu récupères la température interne (commande 0x08), tu récupères aussi 65535 ?

  15. #15
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    oui, d'où mon incompréhension, même pour le state of charge (0x0d) je trouve ça… en fait pour tous je trouve ça

    Je suis complètement bloqué et les jours passent… merci de votre aide vraiment

  16. #16
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Il trouve pourtant bien le composant à l'adresse 0x0b, peut-être un problème électrique... Tu as un analyseur logique pour espionner les trames ?

  17. #17
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Non, je n'en ai pas a disposition...

    En revanche, n'ayant pas d'analyseur logique, j'ai testé avec un autre modèle de batterie qui à la même BMS et toujours la même réponse, je pense donc que ça ne vient pas de la batterie.
    J'ai aussi essayé la commande i2cget -y 1 0x0b 0x09 b , cela me renvoie 0xff...

  18. #18
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Ou un oscilloscope au moins...

    Autres pistes :
    - abaisser la fréquence de l'i2c, le smbus est plus lent. J'ai trouvé un post ancien ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sudo modprobe -r i2c_bcm2708
    sudo modprobe i2c_bcm2708 baudrate=32000
    - essayer avec une autre bibliothèque, en C par exemple (wiringpi ou bcm2835).

  19. #19
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Non je n'ai pas d'oscilloscope à disposition...

    J'ai changé la fréquence toujours le même résultat..

    parfois la valeur change et j'obtiens 2989 mais c'est très rare...

  20. #20
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 614
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Essaie aussi avec un petit programme en C avec la bibliothèque I2C de wiringpi (préinstallée par défaut avec Raspbian il me semble).

Discussions similaires

  1. Transmission de données capteurs analogiques / Raspberry
    Par Tomchlo dans le forum Raspberry Pi
    Réponses: 4
    Dernier message: 09/02/2018, 22h00
  2. Utiliser " add_event_detect " avec bus I2C sur raspberry PI
    Par danardui dans le forum Raspberry Pi
    Réponses: 2
    Dernier message: 03/12/2017, 19h56
  3. [Python 3.X] Utiliser " add_event_detect " avec bus I2C sur raspberry PI
    Par danardui dans le forum Général Python
    Réponses: 0
    Dernier message: 02/12/2017, 22h59
  4. Réponses: 3
    Dernier message: 02/07/2016, 11h19
  5. Simulation de transmission de paquet entre différent réseaux
    Par MelloW dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 19h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo