[Programmation] capteur et stm32
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

capteur et stm32



  1. #1
    Essadik

    capteur et stm32


    ------

    Bonjour tout le monde,

    s'il vous plait, je cherche un programme (un code sur keil) qui me permet de lire une sortie analogique d'un capteur LM35 sur le microcontrôleur STM32F103CBT6 sachant que j'utilise la carte ST-Link comme carte de développement. En parcourant quelques sites et forums, je vois qu'il me faut une bonne configuration du micro mais vu que je ne sais pas trop sur ça je trouve des difficultés à faire un tel programme. Merci de m'aider

    meilleurs salutations

    -----

  2. #2
    Vicolo

    Re : capteur et stm32

    Salut,

    J'ai aussi galéré quand j'ai commencé sur STM32.

    Ce forum n'est pas là pour te donner des réponses toute faites.

    Le mieux est que tu lises la datasheet du capteur que tu veux(pour voir comment il marche), ainsi que tu regardes le Manual reference de ta carte stm32.

    C'est ce que j'ai fait pour prendre en main ST.
    Il existe des librairies toutes faites selon ton utilisation (liaison UART, SPI ...).

    De plus on a aucune indications sur ce que tu veux réellement faire, quels types de liaison etc..

    J'ai d'abord utilisé CubeMX et SW4STM32 (équivalent de Keil). CubeMX te permet de régler les pins de ta board, et ensuite de générer un code d'initialisation de tes paramètres tout fait ! tout beau !

  3. #3
    Essadik

    Re : capteur et stm32

    Bonjour,

    Merci beaucoup pour votre réponse

    pour répondre à votre question, j'utilise la liaison UART. si vous permettez envoyez moi les librairies qui peuvent m'aider.
    le capteur de température LM35 est branché sur une entrée analogique du micro donc il me faut lire et convertir cette entrée pour avoir des valeurs en °C. pour convertir, j'utiliserai la relation suivante: temp=Vout(capteur en mV)/10 (ce que j'ai trouvé sur l'internet).

    Merci encore une fois

  4. #4
    Vicolo

    Re : capteur et stm32

    Re-bonjour,

    Je pourrais t'en envoyer, mais je pense que tu es apte à taper ça sur google. De plus, je ne connais pas du tout Keil, mais sous SW4STM32, les librairies sont dans le projet dès sa création.
    Dans Includes > Fouine un peu dans tes documents, avec un header files (XXX_spi.h) et dedans il y aura des choses.

    Il te faudra utiliser une pin configuré en mode ADC si je ne me trompe pas.

    En tout cas, je ne vais pas te mâcher le travail, mais je peux t'orienter et répondre à tes questions si j'y arrive !

    Regarde des exemples d'ADC sur internet, ou des exemples de lecture sur capteurs analogiques etc.

  5. A voir en vidéo sur Futura
  6. #5
    Essadik

    Re : capteur et stm32

    Bonjour,

    Merci beaucoup pour votre réponse

    d'accord je vais chercher ces librairies et je prendrai ce que j'ai besoin.
    effectivement il me faudra une configuration du pin d'entée et c'est ça le problème, parce qu'il y a plusieurs options de configuration et pour le moment je suis pas sûr de ce que je connais sur ce sujet càd comment faire une configuration adaptée à mon cas. merci infiniment
    Bonne journée

  7. #6
    Vicolo

    Re : capteur et stm32

    Un conseil :

    Utilise CubeMX pour configurer les pins, c'est graphique, très simple. Ensuite définit dans quel IDE tu veux travailelr (Apparemment pour toi c'est Keil) dans Project > Settings >toolchain /IDE (Installe le si il est pas dedans).

    Il y a des centaines d'exemples sur internet, pour comment avoir une bonne prise en main de CubeMX et généré un code tout beau tout prêt.

  8. #7
    Essadik

    Re : capteur et stm32

    ok merci beaucoup

  9. #8
    Essadik

    Re : capteur et stm32

    Bonjour,

    quelqu'un peut m'aider s'il vous plait?

    Code:
    uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
    {
    /* declaration d'une constante*/
    uint8_t bit_sensor_voltage = 0x00;
      /* Check the parameters */
      assert_param(IS_GPIO_ALL_PERIPH(ILS_PORT));
      assert_param(IS_GET_GPIO_PIN(ILS_PIN));
    
      if ((ILS_PORT->IDR & ILS_PIN) != (uint32_t)Bit_RESET)
      {
        bit_sensor_voltage = (uint8_t)Bit_SET;
      }
      else
      {
        bit_sensor_voltage = (uint8_t)Bit_RESET;
      }
      return bit_sensor_voltage;
    }
    ça c'est une fonction que j'utilise pour lire l'entrée ILS du micro qui est branché au capteur de température LM35, cette fonction je l'ai copié d'un autre programme. d’après ce que j'ai compris la variable "bit_sensor_voltage" est sur 8 bits, donc il me faudra faire une conversion pour avoir le résultat en Volts. C'est bien ça? merci à vous tous
    bonne fin de journée
    Dernière modification par Antoane ; 11/05/2016 à 15h53. Motif: Ajout balises code

  10. #9
    Vicolo

    Re : capteur et stm32

    Salut,

    Code:
    uint8_t bit_sensor_voltage = 0x00;
    En effet, ta variable est initialisé en 8 bits. et tu récupères une info aussi en 8 bits.
    Si tu veux traiter cette info, oui il faudra que tu fasses une conversion en effet.

    Essaie par exemple pour un voltage maximum => Combien vaut-ta variable " bit_sensor_voltage ".
    Puis test pour d'autres valeurs encore, si c'est proportionnel tu le verra bien en traçant une courbe.
    (sauf si évidemment dans la datasheet de ton composant, la conversion est indiquée).

    En gros, tu auras une valeur comprise entre 0 et 255 qui refléteront ta tension comprise entre tes bornes. (GND / + Vcc par exemple). Avec ces valeurs, libre à toi de convertir comme tu le sens.

  11. #10
    Essadik

    Re : capteur et stm32

    D'accord, merci beaucoup

  12. #11
    Essadik

    Re : capteur et stm32

    Bonjour,

    en fait j'ai une tension max (6V) et une tension min (-1V). on sait déjà que la courbe est linéaire, donc on aura cette équation: Y=0.02745X - 1
    X est entre 0 et 255 mais le prb c'est que je récupère des valeurs hex sous-forme 0xHH et non pas décimal. est ce qu'il faudra convertir la valeur récupérée en décimale pour l'utiliser? si oui quelle fonction pourra faire l'affaire?
    Merci beaucoup

  13. #12
    Essadik

    Re : capteur et stm32

    Re-bonjour,

    Pour le moment je pense à faire ça:
    bit_sensor_voltage_decimal=128 *bit_sensor_voltage[7]+64*bit_sensor_voltage[6]+32*bit_sensor_voltage[5]+16*bit_sensor_voltage[4]+8*bit_sensor_voltage[3]+4*bit_sensor_voltage[2]+2*bit_sensor_voltage[1]+1*bit_sensor_voltage[0]
    Je me demance si je pourrai faire ça? Merci
    bonne journée

  14. #13
    Vicolo

    Re : capteur et stm32

    Bonjour,


    Que connais-tu des bases hexadecimal, binaire, décimal ?

    un chiffre que tu reçois en Hexa est égale à celui en binaire et à sa valeur en décimal
    par exemple : 0xFF = 0b1111 1111 = 255
    ou encore : 0x3A = 0b0011 1010 = 58
    (tu peux utiliser ta calculette windows pour faire des conversions rapidos)

    Donc si tu as un résultat en hexadécimal, tu peux le traiter comme si c'était un chiffre décimal, normalement ton micro fera la conversion.

    (C'est d'ailleurs pour ça que dans beaucoup de codes on voit des valeurs initialisé en hexadecimal plutôt qu'en binaire/décimal car c'est plus court à faire une fois qu'on arrive à le lire).

    En gros, ta variable bit_sensor_voltage que tu reçois en héxadécimal est normalement directement exploitable

    Sinon, si ça te gêne tant que ça, regarde un peu en langage C comme convertir hexadecimal vers decimal. ça prend pas plus long qu'une ligne de code normalement.

Discussions similaires

  1. [Programmation] stm32
    Par ing_wafa dans le forum Électronique
    Réponses: 2
    Dernier message: 28/04/2016, 08h05
  2. Help me please STM32
    Par ragnotti406 dans le forum Électronique
    Réponses: 0
    Dernier message: 28/04/2014, 18h46
  3. Stm32
    Par etudiant_isi dans le forum Électronique
    Réponses: 34
    Dernier message: 10/02/2014, 19h21
  4. stm32
    Par invite2a8e3215 dans le forum Électronique
    Réponses: 3
    Dernier message: 10/12/2011, 08h30
  5. stm32
    Par wajdibh dans le forum Électronique
    Réponses: 2
    Dernier message: 11/03/2011, 09h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.