Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 76

filtre RC sous microcontrôleur



  1. #1
    thierryneuch

    filtre RC sous microcontrôleur

    Bonjour à tous
    Je cherche à je cherche à implanter un filtre RC sous microcontrôleur
    avec une tension d’alimentation : 3V
    Microcontrôleur : PIC10F220 (Microchip)
    Anémomètre : sortie en tension analogique proportionnelle à l’échelle Beaufort avec 0V correspondant à 0 Beaufort, 3V correspondant à 9 Beaufort (on n’affichera pas les valeurs supérieures à 9 Beaufort)
    Interface vers le module LCD :SPI (SPIdatas et SPI clk)
    Consommation minimale
    Vitesse du vent codée sur 8 bits

    Je pensais trouver de l'aide ici car je n'ai quasiment aucune idée et aucune notion de comment le programmer en langage assembleur.
    La configuration du PIC10f220 je les retrouver sur le net mai je n’ai pas trouvé d'exemple sur comment coder un filtre RC en langage ASM.
    C’est la raison pour laquelle je viens demander votre aide et vos connaissances. Tout idées est la bienvenues!

    Je vous remercie par avance et meilleures salutations!!

    -----


  2. Publicité
  3. #2
    Laboum

    Re : filtre RC sous microcontrôleur

    Bonjour thierryneuch,

    Il faudrait déplacer cette discussion, dans la section "Electronique"
    Pour avoir des réponses.
    Bon courage

  4. #3
    albanxiii

    Re : filtre RC sous microcontrôleur

    Voilà qui est fait.

    Pour la modération.
    Not only is it not right, it's not even wrong!

  5. #4
    PIXEL

    Re : filtre RC sous microcontrôleur

    un filtre RC sous microcontrôleur....

    déjà je ne pige pas le sujet !

    d'autre part , nous ne faisons pas les devoir....

  6. #5
    ranarama

    Re : filtre RC sous microcontrôleur

    Salut. un filtre en asm et avec ce pic si lent et mémoire ridicule... hum ça parait impossible en supposant déjà que tu ai assimilé un cours de Traitement du signal dans ce genre là : http://www.google.com/url?sa=t&rct=j...gXsdXETKaQ6xXA

  7. A voir en vidéo sur Futura
  8. #6
    PIXEL

    Re : filtre RC sous microcontrôleur

    j'vois ce qu'un filtre RC numérique viendrait faire dans ce projet...

    aussi incongru que la selle sur une vache.

  9. Publicité
  10. #7
    paulfjujo

    Re : filtre RC sous microcontrôleur

    bonjour,

    un filtrage exponentielle (similaire à un RC !) aurait put etre envisageable avec un PIC18F
    plus evolué ( en ROM et RAM) pouvant supporter le calcul flottant..
    K=filtre de 0.0 à 1.00
    Mesure filtree= k* Mesure now + (1-k) Ancienne Mesure
    Ancienne Mesure = Mesure Filtree
    le tout cadencé à x µS ou mS
    pour definir la constante de temps.


    Pour filtrer une mesure , il existe aussi la moyenne glissante...
    si tu as assez de memoire pour un tableau de 16 entiers
    + un index evlouant de 0 à 15 pour ranger la mesure en cours
    le resultat (entier) de la somme des 16 valeurs
    un decalage de resultat >>4 pour obtenir la moyenne glissante..
    Au demarrage , init = ranger la valeur actuelle dans les 16 emplacements.
    Dernière modification par paulfjujo ; 06/06/2015 à 11h23.

  11. #8
    paulfjujo

    Re : filtre RC sous microcontrôleur


  12. #9
    jiherve

    Re : filtre RC sous microcontrôleur

    Bonjour,
    on peut facilement implementer un filtre d'ordre 1 avec un µC car il faut réaliser : Sn(sortie)= (1-K)*Sn-1+ K *In(entrée) comme déjà indiqué par paulfjujo
    Si l'on choisi correctement la fréquence échantillonnage en fonction de la réponse attendue alors K peut être une valeur simple du type 1/2,1/4 etc.
    En étant soigneux sur les arrondis on peut aussi utiliser des valeurs plus complexes et toujours en entier, bien sur la fréquence de coupure du filtre n'atteindra pas des centaines de KHz.

    un bon site facile à utiliser:http://www-users.cs.york.ac.uk/~fisher/mkfilter/.
    JR
    l'électronique c'est pas du vaudou!

  13. #10
    arsene de gallium

    Re : filtre RC sous microcontrôleur


    Ouais c'est ça.
    La seule chose que l'on connait c'est:
    - vitesse du vent codé en 8 bits.
    L'auteur de la demande est aimablement invité à expliquer l'objectif de sa demande en précisant:
    - pourquoi un filtre RC pour une mesure de vitesse
    - anémomètre analogique avec sortie en tension
    - langage assembleur

    tout ça en 2015.
    Eh ben c'est retour vers le passé.

    Si on connaissait le contexte peut être qu'il y aurait des réponses adaptées.

  14. #11
    antek

    Re : filtre RC sous microcontrôleur

    Citation Envoyé par arsene de gallium Voir le message
    - pourquoi un filtre RC pour une mesure de vitesse
    - anémomètre analogique avec sortie en tension
    - langage assembleur
    Si on connaissait le contexte peut être qu'il y aurait des réponses adaptées.
    Je pense que le demandeur veut dire "filtre" tout simplement
    Et le reste existera encore longtemps puisqu'il me semble difficile de s'en passer

  15. #12
    thierryneuch

    Re : filtre RC sous microcontrôleur

    offet je souhaite réaliser un dispositif électronique qui mesure la vitesse du vent en Beaufort. La définition de l’échelle Beaufort nécessite le calcul d’une moyenne sur une durée de 10 minutes. On choisit d’effectuer ceci en utilisant le principe suivant (moyenne avec oubli) circuit RC)
    Pour des raisons économiques et d’encombrement, on choisit de réaliser le filtre RC par simulation numérique dans le microcontrôleur. est mon probleme c'est le codage d'un filtre RC numerique en assembleur , je ne sait vraiment pas par ou commencer .J'ai bien assimilé les cours de Traitement du signal avec filtre RC passif mais malheureusement je ne sait pas comment le programmer en assembleur

  16. Publicité
  17. #13
    PIXEL

    Re : filtre RC sous microcontrôleur

    le micro est un mauvais choix , il faut alors passer par un DSP

    toutefois , je ne pige pas le projet....

    si le capteur est analogique ( +1 avec Arséne que je salue au passage) , il suffit de passer par l'ADC du pic
    Dernière modification par PIXEL ; 06/06/2015 à 15h13.

  18. #14
    antek

    Re : filtre RC sous microcontrôleur

    Citation Envoyé par thierryneuch Voir le message
    La définition de l’échelle Beaufort nécessite le calcul d’une moyenne sur une durée de 10 minutes.
    J'ai bien assimilé les cours de Traitement du signal avec filtre RC passif mais malheureusement je ne sait pas comment le programmer en assembleur
    Tu sommes le résultat des conversions A/N puis tu divises par le nombre de conversions et tu obtiens une valeur moyenne.
    Pas besoin de s'em....er avec du traitement de signaux.

    Y'en a qui savent ici, mais on va pas faire un cours alors qu'il en existe déja (voir http://www.abcelectronique.com/bigonoff/ ).

  19. #15
    jiherve

    Re : filtre RC sous microcontrôleur

    Bonsoir,
    Tu sommes le résultat des conversions A/N puis tu divises par le nombre de conversions
    c'est un peu plus compliqué que çà car il faut faire une moyenne glissante donc échantillonnage n chasse le n-k.
    Vu le type de grandeur devant être traitée c'est parfaitement à la portée d'un petit µC, cela demande une vingtaine de lignes d'assembleur au pire.
    Cela va se compliquer pour la racine cubique qui apparait dans la conversion exacte vitesse=> beaufort
    JR
    l'électronique c'est pas du vaudou!

  20. #16
    antek

    Re : filtre RC sous microcontrôleur

    Citation Envoyé par jiherve Voir le message
    c'est un peu plus compliqué que çà car il faut faire une moyenne glissante donc échantillonnage n chasse le n-k.
    Cela va se compliquer pour la racine cubique qui apparait dans la conversion exacte vitesse=> beaufort
    JR
    Même si une moyenne glissante est indispensable c'est pas compliqué.
    Son capteur sort directement une tension fonction de "force beaufort" et pas de la vitesse du vent.

  21. #17
    jiherve

    Re : filtre RC sous microcontrôleur

    Re
    j'avais zappé le detail,donc c'est vraiment trivial.
    mais comme il faut tout macher :http://ww1.microchip.com/downloads/e...tes/00852a.pdf
    JR
    Dernière modification par jiherve ; 06/06/2015 à 17h54.
    l'électronique c'est pas du vaudou!

  22. #18
    ranarama

    Re : filtre RC sous microcontrôleur

    Citation Envoyé par thierryneuch Voir le message
    On choisit d’effectuer ceci en utilisant le principe suivant (moyenne avec oubli) circuit RC)
    apparemment c'est peu documenté comme principe
    https://www.google.com/search?num=20....0.U5qvG2st8xA
    t'es certain de la terminologie ?
    cela à peut être un rapport avec ça ??
    http://www.developpez.net/forums/d66...exponentielle/
    Dernière modification par ranarama ; 06/06/2015 à 17h58.

  23. Publicité
  24. #19
    antek

    Re : filtre RC sous microcontrôleur

    Ne pas oublier que le µC dispose de 16 octets de RAM et dans les 200 (de mémoire) mots programme !
    Il veut gérer une communication SPI en plus !

  25. #20
    jiherve

    Re : filtre RC sous microcontrôleur

    Re
    deux solutions :
    du code hyper optimisé, beau challenge.
    Changer de µC mais il faudra sans doute passer en 8 broches, et là plus de soucis .
    JR
    l'électronique c'est pas du vaudou!

  26. #21
    thierryneuch

    Re : filtre RC sous microcontrôleur

    Oui est si je change de µC, comment procéder pour la suite car je trouve cela hyper compliquer

  27. #22
    antek

    Re : filtre RC sous microcontrôleur

    Citation Envoyé par thierryneuch Voir le message
    Oui est si je change de µC, comment procéder pour la suite car je trouve cela hyper compliquer
    Faudra apprendre à se servir du PIC. Et ce n'est pas hypercompliqué.
    Des idées pour commencer se trouvent #14.

  28. #23
    thierryneuch

    Re : filtre RC sous microcontrôleur

    Au cas où je choisi un autre pic par exemple (Pic12f629), j'ai commencé à coder le filtre numérique en question mai vu que mes connaissance sont limiter en Assembleur et autre, j'ai des difficultés et les problèmes de compréhension sur la gestion et l'intégration d'une communication SPI dans mon programme
    Et les difficulté aussi de la conversion exacte vitesse=> beaufort et comment l'utiliser
    Le code si dessous est le code du filtre numérique que j'ai commencé j'attends vos critiques et améliorations s’il vous plaît


    Boucle ; Boucle principale du programme

    ;****************Lecture du signal d'entrée********************** ************

    CLRF Signal_IN ;On va force le filtre à 0 (valeur extreme basse du signal = '0'logique)
    BTFSC U_IN ;dans le cas ou le signal d'entrée est à 1 (ligne suivante), sinon on va directement filtrer
    DECF Signal_IN,f ;On va forcer le filtre au maximum (0 - 1 = 255 -> valeur extreme haute du signal = '1'logique)


    ;*************Filtrage passe bas*************************** ******************
    ;*** Caractéristique : T = 256 * Temps_échantillonage
    ;*** Opération réalisée : Filter_OUT = (256*Filter_OUT -Filter_OUT + U_IN)/256

    MOVF Filter_OUT_HIGH,W ; On prend la valeur precedente dans le registre de travail
    SUBWF Filter_OUT_LOW,f ; On y soustrait la valeur basse du filtre (Sortie_filtre = Sortie_filtre * Entrée_filtre/256)
    BTFSS STATUS,C ; Si on genere pas un carry on doit décrementer
    DECF Filter_OUT_HIGH,f ; On décremente la sortie haute


    MOVF Signal_IN,W ; On prend la valeur d'entrée du filtre dans le registre de travail
    ADDWF Filter_OUT_LOW,f ; On y ajoute la sortie basse (Sortie_filtre + Entrée_filtre)
    BTFSC STATUS,C ; Si on genere un carry (dépassement) on doit incrémenter la partie haute
    INCF Filter_OUT_HIGH,f ; On incremente la sortie haute


    ;le resultat du filtrage est Filter_OUT_HIGH

  29. #24
    thierryneuch

    Re : filtre RC sous microcontrôleur

    ;*************Initialisation du filtre************************ *********

    MOVLW 0x00 ; on force les varibles du filtre à 0
    MOVWF Filter_OUT_HIGH

    MOVLW 0x00
    MOVWF Filter_OUT_LOW

    ;****************Lecture du signal d'entrée********************** ************

    CLRF Signal_IN ;On va force le filtre à 0 (valeur extreme basse du signal = '0'logique)
    BTFSC U_IN ;dans le cas ou le signal d'entrée est à 1 (ligne suivante), sinon on va directement filtrer
    DECF Signal_IN,f ;On va forcer le filtre au maximum (0 - 1 = 255 -> valeur extreme haute du signal = '1'logique)


    ;*************Filtrage passe bas*************************** ******************
    ;*** Caractéristique : T = 256 * Temps_échantillonage
    ;*** Opération réalisée : Filter_OUT = (256*Filter_OUT -Filter_OUT + U_IN)/256

    MOVF Filter_OUT_HIGH,W ; On prend la valeur precedente dans le registre de travail
    SUBWF Filter_OUT_LOW,f ; On y soustrait la valeur basse du filtre (Sortie_filtre = Sortie_filtre * Entrée_filtre/256)
    BTFSS STATUS,C ; Si on genere pas un carry on doit décrementer
    DECF Filter_OUT_HIGH,f ; On décremente la sortie haute


    MOVF Signal_IN,W ; On prend la valeur d'entrée du filtre dans le registre de travail
    ADDWF Filter_OUT_LOW,f ; On y ajoute la sortie basse (Sortie_filtre + Entrée_filtre)
    BTFSC STATUS,C ; Si on genere un carry (dépassement) on doit incrémenter la partie haute
    INCF Filter_OUT_HIGH,f ; On incremente la sortie haute


    ;le resultat du filtrage est Filter_OUT_HIGH

  30. Publicité
  31. #25
    paulfjujo

    Re : filtre RC sous microcontrôleur

    pour moi, ce melange "logique analogique" est incomprehensible...
    avec un filtre etat haut ou etat bas ?
    Cette info primaire (la mesure ) , est-elle analogique ou numerique ? (je n'ai pas pris le temps de lire les docs jointes)
    De plus si les infos à traiter se font au niveau du byte (8 bits) la precision sera deplorable.

    et pourquoi ne pas passer en langage C (MPLAB X ou MikroC ..version demo gratuite ).
    pour avoir au moins un algorythme ecris en clair.

    un PIC12F1840 sera mieux placé que le 12F629.. en taille memoire

  32. #26
    antek

    Re : filtre RC sous microcontrôleur

    Citation Envoyé par thierryneuch Voir le message
    j'ai des difficultés et les problèmes de compréhension sur la gestion et l'intégration d'une communication SPI dans mon programme
    Et les difficulté aussi de la conversion exacte vitesse=> beaufort
    - choisi un PIC avec un module SPI
    - tu as dis que ton capteur fournit une tension fonction de beaufort
    - si ce n'est pas le cas, trouve la relation vitesse/beaufort
    - je ne comprend pas ton histoire de "filtre RC", éventuellement c'est d'un filtre passe-bas dont tu pourrais avoir besoin
    Dernière modification par antek ; 07/06/2015 à 09h42.

  33. #27
    thierryneuch

    Re : filtre RC sous microcontrôleur

    "filtre RC " c'est un filtre passif de prémier ordre

  34. #28
    thierryneuch

    Re : filtre RC sous microcontrôleur

    Je suis sensé normalement d'utiliser un PIC10220 mai je le trouve un peu hyper compliquer c'est la raison pour laquelle je fais appel à votre aide vu mes lacune dans le domaine
    J’aimerais aussi savoir Comment faire une bonne une moyenne glissante,et gérer en plus une communication SPI

  35. #29
    paulfjujo

    Re : filtre RC sous microcontrôleur

    un exemple de filtrage d'une mesure analogique sur un PIC12F1840
    avec MikroC
    - la theorie
    - La pratique
    Le resultat de mesure (reel, non simulé!) ,en réponse à un echelon de 3V
    la mesure en point (directe) et la mesure convertie en volt, filtrée avec un coef k=0,2
    (k pouvant varier de 0,0 à 1,0)
    K=0,0 ..jamais rafraichie
    K=1,0 aucun filtrage
    un timer calé sur 500mS, gere la duree de boucle ..donc aussi le filtrage
    ici teta= RC virtuel = 2,4sec


    Calcul_filtre_exponentiel_theorie.jpg
    Calcul_filtre_exponentiel_pratique.jpg

    je peux poster le code si interressé..
    Dernière modification par paulfjujo ; 07/06/2015 à 14h34.

  36. #30
    thierryneuch

    Re : filtre RC sous microcontrôleur

    merci pour ton Exemple

    Mai avec ce PIC10220 j’ai beaucoup de difficulté et de plus le langage assembleur n’est pas trop ma tasse de café j'ai trop de lacune
    J’aimerais bien savoir Comment Pui-je gérer une communication SPI en plus avec ce µC

Sur le même thème :

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. Programmation de microcontroleur sous flowcode
    Par Francois-62 dans le forum Électronique
    Réponses: 32
    Dernier message: 03/04/2014, 12h02
  2. Sortir une fréquence sous microcontroleur PIC
    Par Alex38080 dans le forum Électronique
    Réponses: 14
    Dernier message: 11/10/2009, 17h57
  3. filtre passe-bas sous microcontrôleur
    Par uria dans le forum Électronique
    Réponses: 22
    Dernier message: 14/04/2008, 22h05
  4. Quel microcontrôleur pour développer sous Linux ?
    Par lolomatic dans le forum Électronique
    Réponses: 2
    Dernier message: 15/07/2007, 12h17
  5. filtre sous bande
    Par memed dans le forum Électronique
    Réponses: 0
    Dernier message: 13/05/2005, 16h14