See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: Project Mercury : le retour  (Read 41058 times)

0 Members and 1 Guest are viewing this topic.

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #75 - 13 August 2011, 21:18:26
Merci beaucoup Nulentout ! Tout ce que tu as écrit est une véritable Bible pour ce que j'essaie de faire. :wor:

J'examine le code original du Project Mercury 5.0 et je reviens si d'autres questions font surfaces (très probable...).

Merci encore !


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline nulentout

  • Legend
  • ******
  • Posts: 3356
  • Country: France fr
  • Karma: 242
Reply #76 - 15 August 2011, 08:41:02
Vraiment ravi que ça puisse te servir je reste à ta disposition.
Surtout par M.P. car je ne viens que rarement sur ce forum.
Je vais partir durant une semaine, donc si je ne répond pas tout de suite ... ce n'est pas que je boude :)
Amicalement : Nulentout.


La sagesse est un trésor ... tellement bien caché.

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #77 - 17 August 2011, 21:31:19
L'interfaçage pour le panel 2D est pas mal fini. Je n'ai pas tellement de screenshot à montrer, tout est à propos de la programmation. Je pourrais vous montrer l'altimeter mais l'aiguille est laide (un rectangle blanc) et c'est pas trop impressionnant.

Côté C++, il y a maintenant une classe PanelManager qui s'occupe de créer les différents éléments du panel. Tout ce que le développeur de panel a à faire c'est d'incrémenter de 1 la définition NB_PANELELEMENTS, d'ajouter son élément de panel dans le constructeur de PanelManager et (l'étape la plus importante !) créer son une classe héritant de PanelElement et remplier les différents paramètres et callbacks selon les besoins. C'est beaucoup plus facile que de tout faire à la mitaine. Il reste juste à implanter la gestion de la souris (seulement les callbacks de redraw sont envoyés pour l'instant :badsmile: ).

Avec toutes ces classes, je crois que je vais écrire un mini-tutoriel. Comme ça, des programmeurs pourront se joindre et écrire une partie (comme par exemple un élément du panel) sans se préocupper de tout le charabia de classes (ça commence à être complexe, mais je maintient une très bonne organisation).


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #78 - 19 August 2011, 17:57:56
Un tout nouveau altimètre pour la capsule Mercury :


C'est un screenshot d'Orbiter. L'aiguille suit bien l'altitude du vaisseau, en milliers de pieds. L'aiguille a besoin d'un peu plus de travail au niveau de la texture, mais c'est un bon début je trouve. J'ai aussi dessiné l'indicateur de fuel, mais je ne l'ai pas encore programmé.


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #79 - 22 August 2011, 00:47:10
J'ai une autre question à propos de l'électronique.

Lorsqu'une batterie se décharge, quelles différences on peut observer ? Une baisse du voltage, l'amperage ou autre ? Aussi, comment on peut calculer cette baisse selon le temps et la quantité de courant utilisé ?


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #80 - 23 August 2011, 01:44:39
Pour les interessés, voilà un petit vidéo que j'ai fait pour vous montrer comment je fais les gauges.

<a href="http://www.youtube.com/watch?v=EYhXU9dRCU8" target="_blank">http://www.youtube.com/watch?v=EYhXU9dRCU8</a>


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline orbiter28

  • Legend
  • ******
  • Posts: 2679
  • Karma: 15
Reply #81 - 23 August 2011, 18:38:18
Peut-être que d'autre personnes rectifierons mes dires, tu peut utiliser un modèle de thévenin pour la décharge d'une batterie, et simuler sa décharge par une augmentation de sa résistance interne.

Le modèle est : tu as un générateur de tension (du genre 12V), une résistance après ce générateur (la résistance interne de la batterie) et ensuite une autre résistance "de charge" qui correspond à la charge que représente le circuit qu'alimente la batterie.
Plus la batterie faibli dans la réalité, plus sa résistance interne augmente dans le modèle, et donc la tension au borne du circuit (de la résistance de charge) va diminuer.

Du cout ta batterie perdra de la tension proportionnellement par rapport à sa charge restante. Si elle a une capacité de 100 A.h, et qu'elle produit 12V, sa tension diminuera proportionnellement à sa charge, et par exemple elle pourra avoir une tension à ses bornes de 11V à 80 A.h.
Attention, une batterie décharger à 50% ne donnera pas 50% de sa tension, à 50 A.h la batterie peut très avoir 9V tout comme 7V, cela varie surement suivant le type de batterie.
Cela reviens à dire que la façon avec laquelle la résistance interne de la batterie varie suivant sa capacité dépend du type de batterie (et aussi du froid, ect).

Remarque que ce modèle est valable sur une partie de la courbe de fonctionnement de la batterie, dès que la tension à ses bornes deviens trop faible (tu lui demande trop d'ampérage ou sa résistance interne deviens trop élévé, faute de froid par exemple), alors la tension ne chute pas de manière proportionnelle (comme avec une résistance ou U chute proportionnellement à I et R) mais exponentielle, mais la on peut supposer que la batterie débitera 0V, puisse  de toute façon il y-a peut de chance que la tension soit suffisante pour alimenter les circuits auquel elle est connecté.

Au pire fait un shéma avec un générateur de tension, une résistance interne, entoure cela et appelle le batterie, met une charge derrière, fait varier la charge et regarde comment varie la tension au borne de la charge, puis fait varier la résistance interne et regarde comment varie la tension au borne de la charge, tu devrais alors comprendre je crois.


Offline orbiter28

  • Legend
  • ******
  • Posts: 2679
  • Karma: 15
Reply #82 - 23 August 2011, 18:44:53
Pour oublier tout le coté technique, voilà ce que tu as pour une batterie 12V et de capacité 100 A.h :

Tension au borne de la batterie = tension à vide (12V) - tension à vide * (100- capacité restante) * courant

Capacité restante = Capacité restante - ( (100 - capacité restante) * courant + résistance de la charge * courant ) *temps (en heure)

Le (100 - capacité restante), c'est la résistance interne de la batterie, ce n'est pas la vrai formule qui dépend de pas mal de chose (principalement capacité restante, type de batterie et température de fonctionnement), mais peut-être cela te suffira t-il ?
il aurait été surement plus clair d'écrire capacité maximale - capacité restante plutôt que 100 - capacité restante.



Message modifié ( 23-08-2011 22:54 )


Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #83 - 25 August 2011, 16:06:00
Merci orbiter28 pour ces infos précieuses. Dans le code original de Project Mercury 5.0, je trouve cette formule :

Power / (200000 / Voltage)

qui est exécutée à chaque refresh. Power = 3000 * 3600 (la batterie principale est à 3000 W-H) et Voltage est à 24 (la batterie principale est à 24 volts).

À quelle formule cela peut bien se baser ?


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline nulentout

  • Legend
  • ******
  • Posts: 3356
  • Country: France fr
  • Karma: 242
Reply #84 - 28 August 2011, 10:30:42
Coucou les copains,
Après une semaine de vacances, je viens de rentrer et de trouver le message personnel de "Bibi".
C'est donc avec du retard que je réponds.
Oui, il y a bien tous ces modèles mathématiques qui bien naturellement ne sont pas faux ... mais s'éloignent toutefois du composant réel. Ils simplifient souvent un peu la réalité, et surtout ils ne peuvent pas tenir compte de la technologie utilisée. Par exemple, le comportement des batteries d'accumulateurs au plomb d'autrefois, et celles actuelles n'ont pas exactement le même comportement, alors que le modèle simplifié lui n'a pas changé.
Bon, tout ça c'est de baratin ... soyons un tantinet plus concret.
Quand on charge une batterie d'accumulateur au plomb "standard" (Ce qui ne veut rien dire !!!) la tension aux bornes augmente de façon significative et dépasse largement les 12V annoncés. En réalité, on peut facilement voir la tension monter à 15V. Puis, dès que l'on va passer en phase de décharge, rapidement la tension chute vers une valeur "nominale" de 12,6V. C'est du reste cette valeur qui imposait autrefois de chauffer les filaments des tubes à vide en 6,3V ou en 12,6V les portes de TSF étant alimentés par des batteries. Vous avez compris que pour obtenir les 150V de tensions anodiques on devait mettre en série un paquet de batteries :)
Quand la batterie est bien chargée, effectivement sa résistance interne est faible. On constate alors une légère diminution de tension aux bornes proportionnelle à l'intensité fournie. La linéarité est relativement bonne tant que l'on ne dépasse pas des intensités exagérées.
Puis, quand la batterie à délivré environ un tiers de sa charge, la tension aux bornes (A intensité débitée constante pour faciliter le propos) commence à chuter de façon significative.
Vers 11V il serait sage de ne pas insister, car en dessous de cette valeur la batterie commence à se sulfater et se détériore lentement. (Ceci étant vrai pour les technologies des batteries utilisant de l'acide. Avec les batteries actuelles sans entretien utilisant des gels chimiques le comportement est encore différent)
Si on continue à puiser dans les ressources de notre accumulateur, la tension aux bornes va continuer à chuter.
Au début vers 10V, puis ensuite 9V. Là il faut cesser de la torturer, ce n'est plus raisonnable. De toute façon si à 9V on persiste à consommer un courant important, rapidement la tension va s'effondrer et de toute façon les systèmes électriques seront tellement sous-alimentés qu'ils vont perdre leur fonctionnement normal.
Éventuellement je pourrais faire des recherches de tension aux bornes en fonction du temps de fonctionnement, sachant que le système sur lequel j'ai effectué ces mesures consommait un courant constant. Mais uniquement si ça peut te servir, car je vais devoir fouiller des tas de paperasses car je ne sais pas où j'ai rangé le dossier concerné.
Amicalement : Nulentout.



Message modifié ( 28-08-2011 18:06 )

La sagesse est un trésor ... tellement bien caché.

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #85 - 29 August 2011, 00:37:57
Hmmm... Ça ne sera pas facile ces batteries. Je ne connais pas beaucoup la matière en question, j'hésite beaucoup sur la façon d'interfacer le tout en C++ (style C mais avec comparaisons à chaque frame ou héritage multiple et code complexe ou autre...) et le système n'a pas l'air de dépendre de formule mathématique.

Je viens de comprendre comment le code du Project Mercury fonctionnait.

Un variable contient le wattage de la batterie. Celle-ci diminue quand un système vient s'y connecter en suivant cette formule : wattage = wattage - ampèrage de l'élément qui s'y connecte * voltage de la batterie (24V).

Puis, à chaque frame, on calcule le voltage avec cette formule (et il prend soin de ne pas dépasser le 24V ou d'aller plus bas que 0) : Voltage = wattage / (200000 / 24V). D'où provient le 200000... je ne sais pas...

Très très dûr ces batteries...

Môa môa, j'aimerais bien que ces filtres à café volant fonctionnent à la bonne vieille essence. C'est mégagigafacilopratique à simuler...

Je fais mes recherches de mon côté pour voir s'il y a un document précis sur les batteries de la capsule (genre un rapport de performances) et je te reviens là-dessus.

Merci encore une fois ! :)


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline nulentout

  • Legend
  • ******
  • Posts: 3356
  • Country: France fr
  • Karma: 242
Reply #86 - 30 August 2011, 08:02:02
Pour information, la Puissance consommée par un composant (Exprimée en Watts) est égale à la tension aux bornes (Exprimée en Volts) multipliée par l'intensité. (Exprimée en Ampères)   P = U x I.
La capacité d'une batterie s'exprime en Ampères Heures.
Petit calcul pour montrer : On utilise une batterie de 20 AH par exemple supposée entièrement rechargée.
On branche un truc qui consomme 1 A : Elle sera épuisée en 20 Heures.
On branche un chose qui consomme 10 A : Elle sera raplaplaflagada en 2 heures.
wattage = wattage - ampèrage de l'élément qui s'y connecte * voltage de la batterie
Je ne saisis pas trop cette formule.
Si Wattage était la puissance consommée par les systèmes, elle serait relative à ce que devient la puissance fournie quand on branche un nouveau composant. Mais dans ce cas c'est un signe plus qu'il faudrait.
Si Wattage désigne l'énergie qui reste dans la batterie, il faudrait faire intervenir le temps et non la tension, la formule deviendrait :
 wattage = wattage - ampèrage de l'élément qui s'y connecte * temps de fonctionnement.
Quand à la formule
Voltage = wattage / (200000 / 24V)
Je ne comprend pas trop comment elle peut représenter la chute de tension relative à la résistance interne.
Narf narf narf ... étrange effectivement ces formules :wonder:


La sagesse est un trésor ... tellement bien caché.

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #87 - 31 August 2011, 03:50:37
Et bien, suite à tes explications, on peut conclure que wattage = wattage - ampèrage de l'élément qui s'y connecte * voltage de la batterie (24V) calcule simplement le wattage restant dans la batterie (on soustrait le wattage présent par le wattage consommé via ta formule P = U*I).

Par rapport à la formule Voltage = wattage / (200000 / 24V)... mystère et boule de gomme...

EDIT:
Après pas mal de lecture, je viens de comprendre que le wattage que je parle depuis tantôt n'est pas du wattage, mais des joules. Les batteries principales fournissent 3000 watts-heures, et Robert Conley multipliait ce 3000 par 3600. Je croyais donc qu'il transformait ces watts-heures en watts (1 heure = 3600 secondes). Mais non ! Un watt-heure = 3600 joules. Donc, la formule wattage = wattage - ampèrage de l'élément qui s'y connecte * voltage de la batterie (24V) calcul la quantité d'énergie (en joules) restant dans la batterie et devrait plutôt être joule de la batterie = joule de la batterie - ampèrage de l'élément qui s'y connecte * voltage de la batterie (24V)



Message modifié ( 01-09-2011 01:07 )

Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #88 - 08 October 2011, 04:34:55
Je travail de temps en temps sur Project Mercury, mais avec l'école, je n'ai pas beaucoup de temps.

Tout de même, un petit extrait de ce que j'ai concocté pour aider les futurs développeurs. Comme ça, certains pourront m'aider à coder, et le projet pourra évoluer même si je cesse d'y contribuer.

Merci à doxygene pour la fabuleuse mise en page ! :wor:

La page principale où vous trouverez toutes les infos nécessaire pour bien continuer le projet (avec probablement plusieurs fautes car écrit sans relecture et en anglais :badsmile: )


Un exemple de diagramme de classe (que je n'ai pas encore commenté :badsmile: )


Le document est pour le moment en HTML mais je compte le compiler pour en faire un CHM. C'est le format le plus rapide et facile à utiliser selon moi (pas comme ces maudits PDFs... :sick: )



Message modifié ( 08-10-2011 04:36 )

Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline james200809

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
Reply #89 - 01 December 2011, 04:49:59
S'il vous plaît mettre à jour le mercure projet bientôt:) J'ai vraiment envie de l'utiliser dans orbiteur 2010 & s'il vous plaît faire un simple add on Je déteste ça quand je moitié à installer plein d'autres add ons pour faire un ajout sur ​​le travail aussi s'il vous plaît télécharger sur orbiteur de sorte que son hangar plus faciles à trouver ou à la DANS orbiteur Page im utilisant Google Translator J'espère quiconque lit ceci peut comprendre googles français Traduire


james L

Offline james200809

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
Reply #90 - 01 December 2011, 04:50:16
S'il vous plaît mettre à jour le mercure projet bientôt:) J'ai vraiment envie de l'utiliser dans orbiteur 2010 & s'il vous plaît faire un simple add on Je déteste ça quand je moitié à installer plein d'autres add ons pour faire un ajout sur ​​le travail aussi s'il vous plaît télécharger sur orbiteur de sorte que son hangar plus faciles à trouver ou à la DANS orbiteur Page im utilisant Google Translator J'espère quiconque lit ceci peut comprendre googles français Traduire


james L

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #91 - 01 December 2011, 23:01:29
I'll respond in English, but thank you for trying to use French in this community, it's very kind.

Actually, porting Project Mercury to Orbiter 2010 will be a long task. First of all, I'm pretty much alone in this project, and I found out that Mercury's documentation is not very precise (especially for the ASCS stuff). I could do a build for Orbiter 2010 using the old system, I'll think about that. However, my main idea was to recreate pretty much everything from the ground up. Finally, I did not contributed for a long time because I'm on another personnal project using Microsoft's DirectX librairies not related to Orbiter at all.


« Last Edit: 01 December 2011, 23:01:30 by Bibi Uncle »
Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon