Mesure de distance MSU10 I2C
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Mesure de distance MSU10 I2C



  1. #1
    invite08f2b450

    Mesure de distance MSU10 I2C


    ------

    Bonjour à tous

    J'essaie en vain depuis pas mal de temps de faire une mesure sur un télémètre ultrasons MSU10

    Le programme est en C++ et tourne sur un PIC 18F4520 (de chez Microchip)

    J'ai déjà un programme de base mais il y a forcément des erreurs.
    Je suis dessus depuis tellement de temps que j'en loupe des énormes.

    Un œil critique serait le bienvenue et si quelqu'un à déjà bossé là dessus un programme d'exemple serait le bienvenue.

    Merci à tous

    PS : Je sais que la source est pas géniale même niveau commentaire etc mais la base est une source de Microchip que j'ai adapté. Aucun profs ici n'a travaillé sur l'I2C avant je me sens donc relativement seul =)

    -----
    Fichiers attachés Fichiers attachés

  2. #2
    Jack
    Modérateur

    Re : Mesure de distance MSU10 I2C

    Bonjour Malrod,

    si j'avis à résoudre ton problème, je commencerait par connecter le pic au télémètre et je lancerais le programme. SI ça ne fonctionne pas du 1er coup (et ça ne fonctionne jamais du 1er coup), tu mets un oscillo sur SCL et SDA et tu vérifies si les trames sont correctes.

    Si ce n'est pas le cas, vérifie que le télémètre génère bien le ACK. Comme ça on peut mettre en évidence un problème d'adresse par exemple.

    Il faut donc progresser par bond et valider chaque étape.

    A+

  3. #3
    invite08f2b450

    Re : Mesure de distance MSU10 I2C

    Bonjour Jack

    Justement je travail la dessus depuis plus d'un mois et j'ai procédé ainsi :

    - Test de lecture de température sur la carte PICDEM 2PLUS muni d'un TC74. Cette phase est réussi puisque j'affiche la bonne température sur un LCD
    - Modification du programme pour lire les registres 0x00 et 0x01 du MSU10
    Le registre 00 renvoi la valeur 5 (numéro de la version logiciel interne au MSU10)
    Le registre 01 renvoi la valeur 0x80 ( ce registre ne sert à rien en lecture et renvoi donc cette valeur par défaut conformément à la doc constructeur)

    Différents relevés que j'ai effectuer sur SDA et SCL m'indique que tout fonctionne parfaitement

    Je veux maintenant passer à la dernière étape c'est à dire ÉCRIRE cette fois la valeur 0x51 dans le registre 00 qui sert de registre de commande
    Cette valeur lancera une mesure de distance en centimètre et enverra cette mesure dans les registres 0x02 et 0x03 que je vais lire pour exploiter cette mesure ailleurs.
    Il n'y à donc pas d'erreur d'adressage puisque le module répond parfaitement je "plante" vraiment sur la partie programmation de la chose
    La doc du MSU10 est disponible sur internet

  4. #4
    Jack
    Modérateur

    Re : Mesure de distance MSU10 I2C

    Le problème c'est que je ne connais pas trop les pics ...

    A+

  5. A voir en vidéo sur Futura
  6. #5
    JPL
    Responsable des forums

    Re : Mesure de distance MSU10 I2C

    Je transfère le sujet en Électronique.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  7. #6
    invite29971eb1

    Re : Mesure de distance MSU10 I2C

    Salut,

    je ne connais pas non plus les PICs, mais dans ton code, je ne vois nul part de référence au capteur ultrasons. Es-tu sur que c'est le bon code?

    D'autre part, il faut savoir que MSU10 est une référence uniquement utilisée par Lextronic, certainement pour cacher l'origine exacte de ces capteurs. Ils le mentionnent d'ailleurs sur la première page de la doc en disant que le marquage sur le circuit est SRF10.

    Bref, c'est du Devantech. La doc originale est là:
    http://www.robot-electronics.co.uk/htm/srf10tech.htm

    Devantech a également un tuto plutôt bien fait sur l'I²C:
    http://www.robot-electronics.co.uk/a..._Tutorial.html

    Et ils ont surtout un exemple d'utilisation du SRF10 (en fait le SRF08, mais c'est le même fonctionnement) sur PIC18:
    http://www.robot-electronics.co.uk/h...ples.htm#SRF08 Ultrasonic Ranger

    Si avec tout ça, tu t'en sors pas

  8. #7
    invite08f2b450

    Re : Mesure de distance MSU10 I2C

    Bonjour ftorama

    En effet avec ça je comprend mieux certaines choses l'exemple est exactement ce que je recherchait un grand merci !

Discussions similaires

  1. mesure de distance
    Par invite47b99c8f dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 04/03/2009, 20h54
  2. Problème avec ultrason SRF10 (MSU10) sur I2C
    Par invited67456b2 dans le forum Électronique
    Réponses: 3
    Dernier message: 04/03/2009, 06h35
  3. mesure de distance
    Par invite47b99c8f dans le forum Électronique
    Réponses: 3
    Dernier message: 18/02/2009, 20h12
  4. Mesure de distance
    Par invitefe35cdc3 dans le forum Électronique
    Réponses: 5
    Dernier message: 23/01/2009, 09h10
  5. Mesure de distance
    Par invite2e415820 dans le forum Électronique
    Réponses: 10
    Dernier message: 15/12/2006, 16h21
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...