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

Algorithmes et structures de données Discussion :

Pistes pour écriture d'un algorithme pour un circuit imprimé


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Par défaut Pistes pour écriture d'un algorithme pour un circuit imprimé
    Bonjour Chers tous,

    Je travaille dans la recherche (chimie) et je suis plutôt novice en matière de programmation.
    Dans le cadre de mon travail, je suis amené à écrire un algorithme pour un circuit imprimé.
    Compte tenu de mes lacunes en matière de programmation, je souhaite surtout avoir des pistes (langages d'écriture le plus approprié à mon problème, des exemples de ligne de codes, des documents à lire ...) afin de cibler mon apprentissage tout en me formant efficacement à la programmation.

    Mon problème est le suivant:

    Soit la formule suivante :G = a*b*|W|

    "a" est des constante (coefficient) que j'ai obtenu de façon empirique (test sur le terrain).
    "W" est un paramètre naturel (exemple : vitesse de de vent) donc |W| est fluctuant.

    On souhaite faire varier "b" de sorte que la relation G = a*b*|W| reste vraie.

    De façon pratique l'ajustement de "b" est réalisé via un circuit imprimé.
    Ce circuit commande 14 microéléments de puissances différentes.
    Pour pouvoir ajuster "b" il faut réaliser une combinaison de microéléments (parmi ces 14) afin que la puissance apportée à "b" soit suffisante pour maintenir toujours vraie la relation G = a*b*|W| .

    En somme , l'algorithme que je cherche à écrire dois pouvoir faire la manœuvre suivante:

    Réaliser une combinaison (parmi les 14 puissances possibles) qui commandera au circuit imprimé la valeur de "b" à appliquer de sorte que la quantité du facteur naturel reçu "|W|" soit égale à G/(a*b).
    Autrement dit , pour que |W| = G/(a*b), faire la combinaison la plus adaptée;

    NB: je tiens à noter que W étant un facteur naturel, on ne peut pas prévoir à l'avance sa valeur, aussi que sur 1 minute W peut changer une bonne dizaine de fois.

    Merci à tous, pour les conseils et les pistes de réflexion!!

    Manu

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Bonjour,

    Dans le cadre de mon travail, je suis amené à écrire un algorithme pour un circuit imprimé.
    l'algorithme est, dans le domaine de l'informatique, destiné au développement d'un programme. Un circuit imprimé est dans le domaine de l'électronique : il s'agit d'une platine avec des pistes en cuivre sur laquelle on vient souder des composants. Il y a une ou plusieurs entrées et sorties.
    On ne fait pas vraiment d'algorithme en électronique.


    Pour ton problème, tu as donc un coefficient b = f(14 paramètres) de plus il faut que ta relation G = a*b*|W| reste vraie. Qu'est-ce que G ? Une donnée provenant d'abaques ? La façon dont tu poses le problème me fait penser à un système à réguler (régulation PID - proportionnelle, intégrale, dérivée) ?

    Je pense qu'un dispositif de type microcontrôleur, avec entrées / sorties pourrait répondre à ton problème.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Par défaut
    Bonjour Auteur,

    merci pour le retour!

    Bien vu! il s'agit en effet d'un système de régulation, plus précisément un régulateur de débits d'air prélevés. Ce régulateur est piloté par une carte électronique.
    En effet, le circuit n'a pas vocation à lire un programme, mais un "micro-processeur" a été ajouté au circuit pour pouvoir effectuer les commande et lire les programmes via une carte mémoire.

    "G" est tout simplement un débit d'air échantillonné. L'idée est donc de rendre "G" proportionnel à " |W| " (avec la prise en compte de "a" et de "b".)
    L'algorithme permettra d'envoyer l'instruction au régulateur de débits afin que celui-ci prélève un débit d'air "G" de sorte que G = a*b*|W|.
    Selon la valeur de |W|, le régulateur sera amené à faire des combinaisons (14 éléments) ou pas, pour maintenir vraie la relation G = a*b*|W|.

    je reste disponible si besoin de plus de détails

    merci,

    Manu

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 218
    Par défaut
    Tu parles de 14 microéléments avec des valeurs différentes.
    J'imagine que les 14 nombres sont connus. Peux tu nous donner ces 14 nombres. Il y certaines 'configurations' qui vont être très facile à traiter , alors que d'autres sont plus tordues.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Par défaut
    Bonjour tbc92!

    merci pour le retour,
    voici les valeurs des 14 éléments en question:
    0,28
    0,56
    1,13
    1,69
    2,26
    3,39
    4,52
    6,77
    9,03
    13,55
    18,06
    27,1
    36,13
    54,2


  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 218
    Par défaut
    Bon, mauvaise nouvelle, mais pas complètement.

    Par exemple, pour arriver à 54.2, on peut choisir soit simplement 54.2, soit 36.13+18.06
    Mais on est quand même très proche de la configuration idéale.
    Si on se limite aux valeurs 0,28 0,56 1,13 2,26 4,52 9,03 18,06 36,13, on a un rapport du simple au double à chaque fois ... et c'était exactement ce que j'espérais.

    En fait, je pense que tu peux procéder ainsi :
    X est la valeur à 'atteindre'.
    On commence par les valeurs les plus grandes.
    Si X est plus grand que 54.2, alors on utilise le micro-élément 54.2, et on calcule ce qui reste : X=X-54.2
    Et on recommence:
    Si X est plus grand que 36.13, alors on utilise le micro-élément 36.13, et on calcule ce qui reste : X=X-36.13
    Etc etc

    Si on avait eu par exemple 10 12 15 19 24 30 37 45 54 64 75 87 100 114 , cette méthode ne marchait pas : pour faire 67, prendre 64 n'aurait pas été une bonne idée , il vaut mieux prendre 37+30
    Et donc, dans le cas où on a des valeurs plus ou moins quelconques, il faut beaucoup tâtonner. Assez difficile à programmer.

    Avec tes valeurs, l'algorithme proposé semble optimal.

Discussions similaires

  1. [débutant] pistes pour un filtrage de Strings
    Par frett dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 27/08/2006, 15h59
  2. Recherche de pistes pour un problème d'optimisation
    Par TiKeuj dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 15/08/2005, 15h50
  3. [VB.net] Piste pour Alias Macro (débutant)
    Par Petit padawan dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/07/2005, 20h17
  4. [SRC] Cherche piste pour TLabel orientable
    Par Kaejar dans le forum C++Builder
    Réponses: 16
    Dernier message: 08/06/2005, 17h13

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