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

MATLAB Discussion :

Calculer un angle à partir d'un potentiomètre et une poulie courroie [Débutant]


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Calculer un angle à partir d'un potentiomètre et une poulie courroie
    Bonjour, dans le cadre d'un projet en SI, je dois savoir sous MatLab, l'angle d'inclinaison d'un panneau solaire en élévation ( haut/bas ). Pour cela je dispose d'un potentiomètre et d'une poulie courroie qui entraine le potentiomètre. Or je ne sais pas du tout comment calculer cet angle. Je me suis dit que quand le panneau solaire est à 84° degrès au dessus de l'horizontal ( maximum ) le potentiomètre délivre une valeur de 1023 et après un produit en croix je peux obtenir en fonction de la valeur du potentiomètre, l'inclinaison mais cela ne marche pas. Pouvez vous m'aider ?
    Cordialement, Merci.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2017
    Messages : 7
    Points : 19
    Points
    19
    Par défaut
    Salut,

    Je n'ai pas très bien compris ton problème. Tu pourrais mettre un petit schéma ou réexpliquer le problème.

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Calculer un angle à partir d'un potentiomètre et une poulie courroie
    Bonjour,

    D'après ce que je comprends :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    clear
    R=1;% Longueur panneau
    r=0.1;% Rayon potentiomètre
    theta0=0;% Angle potentiomètre
    n=0;
    % L=Longueur corde
    Lnm1=0;thetanm1=0;% Conditions initiales
    for alpha=0:0.01:84*pi/180
        n=n+1;
        L=2*R*sin(alpha/2);
        dl=L-Lnm1;% Allongement
        Lnm1=L;
        theta(n)=mod(thetanm1+dl/r,2*pi);
        thetanm1=theta(n);
    end
    alpha=0:0.01:84*pi/180;
    figure(1)
    plot(theta*1023/(2*pi),alpha)
    grid
    axis([0 1024 0 pi/2])
    xlabel('Theta - Potentiomètre')
    ylabel('Alpha - Panneau')
    Une animation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    clear
    R=1;% Longueur panneau
    r=0.1;% Rayon potentiomètre
    theta0=0;% Angle potentiomètre
    L=0;% Longueur corde
    Lnm1=0;thetanm1=0;% Conditions initiales
    figure
    h1=plot([0 0],[0 0],'LineWidth',3);
    hold on
    grid
    h2=plot([0 0],[0 0]);
    hc=circle([1-r,1],r,100);
    set(hc,'Color','r')
    h3=plot([0 0],[0 0]);
    axis([0 2  0 2])
    axis equal
    for alpha=0:0.01:pi/2
        L=2*R*sin(alpha/2);
        X=[0 R*cos(alpha)];
        Y=[1 1+R*sin(alpha)];
        set(h1,'Xdata',X,'Ydata',Y)
        D=sqrt(R^2+(R-r)^2-2*R*(R-r)*cos(alpha));
        X=R*cos(alpha);Y=R*sin(alpha);
        theta=atan2(R-r-X,Y)+asin(r/D);
        XP=[R*cos(alpha) R-r+r*cos(theta)];YP=[1+R*sin(alpha) 1+r*sin(theta)];
        set(h2,'Xdata',XP,'Ydata',YP)
        set(h2,'Color','r')
        L=2*R*sin(alpha/2);
        dl=L-Lnm1;
        Lnm1=L;
        theta=mod(thetanm1+dl/r,2*pi);
        thetanm1=theta;
        XR=[1-r 1-r+r*cos(theta)];YR=[1 1+r*sin(theta)];
        set(h3,'Xdata',XR,'Ydata',YR)
        pause(0.1)
    end

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses mais ce n'est pas ça que je souhaite comprendre, je vais essayer d'être plus précis, j'ai un potentiomètre raccordé à une carte arduino qui bouge en fonction de cette poulie courroie :Nom : IMG_20170523_143955984.jpg
Affichages : 876
Taille : 698,8 KoJe bouge un panneau solaire en élévation ( de haut en bas ) et j'aimerai acquérir la position du panneau en degrés grâce à ce potentiomètre et à cette poulie-courroie.
    Merci.

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,

    Le potentiomètre est entrainé par la petite poulie et le panneau solaire par la grande ?

  6. #6
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Points : 53
    Points
    53
    Par défaut
    Bonsoir,

    Ton potentiomètre c'est une sorte de codeur incrémental non?

    La rotation de la grande poulie va entrainer la rotation de la petite par intermédiaire de la courroie (tu as là un rapport de transmission qui est fonction du diamètre des deux poulies).

    Ce potentiomètre?? te sert à acquérir la position de ton PV mais il délivre quoi comme information? 1023 c'est quoi? un nombre d'impulsions?

    Ce ne serait pas plutôt un modèle simulink/simscape que tu voudrais mettre en oeuvre?

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    phryte => C'est exactement ça
    Daviken => Oui la rotation de la grande poulie va entrainer la rotation de la petite par intermédiaire de la courroie et du coup le potentiomètre tourne en même temps que la petite poulie. Il délivre une information analogique comprise entre 0 et 1023 car il dispose de 2^10 bits
    Et c'est un modèle Matlab dans le quel j'utilise Stateflow et Simulink
    Merci

  8. #8
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Calculer un angle à partir d'un potentiomètre et une poulie courroie
    Bonjour,

    Un autre exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    clear
    figure
    txtg = uicontrol('Style','text',...
        'Position',[200 280 50 20],...
        'String','0');
    txtpot = uicontrol('Style','text',...
        'Position',[350 250 50 20],...
        'String','0');
    R=1;% Rayon poulie du panneau
    r=0.5;% Rayon poulie du potentiomètre
    h1=plot([0 0],[0 0]);
    hold on
    h2=plot([0 0],[0 0]);
    circle([1-r,0],r,100);
    circle([-2-R,0],R,100);
    line([-3 0.5],[1 0.5])
    line([-3 0.5],[-1 -0.5])
    axis([-4 4  -4 4])
    axis equal
    hold on
    grid
    n=0;
    for alphag=0:-0.01:-2*pi
        n=n+1;
        alpha=alphag*R/r;
        potentiometre(n)=mod(fix(abs(alpha*1023/(2*pi))),1023);
        set(txtpot,'string',num2str(potentiometre(n)))
        panneau(n)=alphag*180/pi;
        set(txtg,'string',num2str(panneau(n)))
        Xp=[0.5 0.5+r*cos(alpha)];
        Yp=[0 r*sin(alpha)];
        set(h1,'Xdata',Xp,'Ydata',Yp)
        Xg=[-3 -3+R*cos(alphag)];
        Yg=[0 R*sin(alphag)];
        set(h2,'Xdata',Xg,'Ydata',Yg)
        pause(0.1)
    end

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci phryte mais pourrais tu m'expliquer comment tu fais ?
    Merci

  10. #10
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,
    Le rapport de transmission est égal au rapport des rayons.

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Ok merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul d'angle de sortie de rebond d'une balle sur une droite
    Par niocco dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 15/04/2015, 17h17
  2. Calcul d'angle à partir d'une image
    Par jesusnogo dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 18/05/2009, 13h40
  3. calcul de date à partir du numero de semaine
    Par @rkane dans le forum Access
    Réponses: 2
    Dernier message: 03/01/2007, 17h28
  4. calcule d'angle entre 3 points d'une matrice
    Par bmw13fr dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 08/04/2006, 18h56
  5. calculer un angle
    Par m.nico dans le forum Langage
    Réponses: 7
    Dernier message: 05/11/2003, 20h55

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