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

C# Discussion :

[C#] Régulation de vitesse (PID)


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut [C#] Régulation de vitesse (PID)
    Bonjour à toutes et à tous.

    J'ai créé une application qui me permet de contrôler la vitesse d'un ventilateur. La seule commande que je peux envoyer est + ou - suivi d'une valeur, sur une échelle de ratio de 1000 (ex : +100, -600 ...).

    J'ai donc procédé à un étalonnage pour établir la relation entre la valeur du ratio envoyé et la vitesse obtenue et ainsi contrôler la vitesse. En utilisant un timer, j'envoie à chaque Tick la valeur correspondante de ratio pour atteindre la bonne vitesse. Mon problème : lorsque l'écart entre la vitesse actuelle et la vitesse voulue est important, le programme envoie plusieurs commandes (temps de montée en puissance lent = plusieurs tick de timer), j'ai donc un dépassement très important. Le problème est identique pour des écarts moins grands, mais il est bien entendu moins conséquent. Si j'augmente l'intervalle de mon timer, ce sera trop lent pour atteindre la vitesse voulue.

    Je ne pense pas que ce soit la meilleure méthode, j'aimerai donc revoir mon modèle et intégrer un régulateur PID. Je connais le principe du régulateur, mais je ne sais pas comment identifier les facteurs P, I et D, et surtout comment les faire interagir avec la vitesse dans mon code (multiplier, diviser la vitesse, ou le ratio ...).

    - Est ce qu'utiliser un étalonnage ratio/vitesse est une bonne solution ?
    - Est-ce qu'il vaudrait mieux envoyer des ratios proportionnels à l'écart de vitesse et réguler par la suite ?
    - Est-ce que mon modèle est bon si j'intègre un régulateur PID ?
    - Les autres idées sont les bienvenues :-)

    Merci, et bonne journée à tous !

    Brygoth

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    un code PID en C, facile à convertir en C#...

    http://www.edaboard.com/thread98387.html
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. Régulation de vitesse
    Par MedBadr dans le forum Simulink
    Réponses: 3
    Dernier message: 07/04/2008, 14h13
  2. [SAX] Vitesse contre place en mémoire
    Par Dinaïz dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 15/10/2004, 13h37
  3. recuperation PID
    Par phoulosof dans le forum POSIX
    Réponses: 2
    Dernier message: 26/08/2002, 13h00
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Vitesse de la mémoire vidéo
    Par Anonymous dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 06/06/2002, 20h20

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