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: DSKY virtuel  (Read 9991 times)

0 Members and 1 Guest are viewing this topic.

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
14 April 2014, 18:22:56
Bonjour bonjour

Plutôt que de bricoler mes trucs tout seul dans mon coin je me suis dit que, pour une fois, ce serait bien de le montrer aux autres...

Mais s'enregistrer, c'est moins facile qu'on ne le croit! Il y a plein de "heu.." de "rrrr" , ma fourche qui langue toutes les 2 secondes... :(
Merci d'être indulgent.

https://www.youtube.com/watch?v=6TQpFF2ee64&feature=youtu.be



Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #1 - 14 April 2014, 20:17:32
Wow, tout ça dans Excel ! As-tu écris l'émulateur avec des macros dans Excel ou tu appelles des fonctions de Virtual AGC ?

Émile

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

- Luc Plamondon

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #2 - 14 April 2014, 20:35:08
Wow, tout ça dans Excel ! As-tu écris l'émulateur avec des macros dans Excel ou tu appelles des fonctions de Virtual AGC ?

Les macros servent juste pour les boutons de commande. Le reste "à la pogne" avec les fonctions excel. Et les références circulaires bien sûr:



Offline florian6973

  • Full Member
  • ***
  • Posts: 80
  • Karma: 8
Reply #3 - 15 April 2014, 20:19:32
Ce que tu as fait est génial ! ;) Je ne savais pas que l'on pouvait faire des choses si poussées avec Excel, Bravo !

« Last Edit: 15 April 2014, 20:49:09 by florian6973 »

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #4 - 15 April 2014, 20:49:34
Merci

Il me reste 3 grandes étapes:

1/ "Charger" les nouns avec les valeurs qui vont bien, à partir des données d'un fichier scn en liaison externe et qui se met à jour toutes les secondes. Pour ça, dans orbiter, j'utilise l'autosave.dll qu'on trouve sur OH.
Comme j'ai déjà fait pratiquement toutes les chaines de calcul ça ne devrait pas poser trop de problèmes. Enfin, j'espère...

2/ Ecrire une macro pour que le tableur se recalcule automatiquement et périodiquement. Toutes les 1/2 secondes comme le vrai ce serait l'idéal. Avec une fonction stop, par exemple quand on met le focus sur l'un des boutons.
Là, c'est déjà moins facile. J'ai passé l'après midi sur la doc de VBA pour essayer de trouver qq chose. J'ai peut-être une piste avec l'application OnTime. :wonder:
Si qq'un s'y connait et peut me filer un tuyau, je suis preneur.

3/ Trouver une combine pour que le tableur s'affiche dans orbiter dans une fenêtre un peu comme les boites de dialogue qu'on ouvre avec ctrl F4.
Parce que le gros problème actuellement c'est qu'il n'apparait qu'avec le ALT + TAB et qu'il disparait dès qu'on clique ailleurs. En plus ça coupe le son, bref c'est anti immersif à mort !
Là je sèche complètement. :wall:
Toute aide serait accueillie avec une joie inestimable et la promesse de ma reconnaissance éternelle!


Offline Jim Lovell

  • Global Moderator
  • Legend
  • *****
  • Posts: 1529
  • Country: Belgium be
  • Karma: 31
    • Mon site
Reply #5 - 15 April 2014, 21:02:27
Mais c'est un malade !!  :eek: :arg:
Tant que t'y es, tu pourrais faire le pare-feu d'open office ? :badfinger: (sans rire, il me semble que certains y étaient arrivé avec Calc !)

En ce qui concerne tes questions je ne peux malheureusement pas trop t'aider, le seul classeur excel évolué que j'ai fait est la gestion de mon carnet de vol ...

Bon courage ! :top:

Jim Love:love:LL
C'est en se plantant que l'on construit ses racines....


ConneXion

Offline florian6973

  • Full Member
  • ***
  • Posts: 80
  • Karma: 8
Reply #6 - 15 April 2014, 21:22:31
Pour l'étape 2, je peux peut-être t'aider (avec OnTime) :
Code: [Select]
Sub Timer()
    'Code à exécuter
    If Application.Range("A1").Value <> "Stop" Then
        Application.OnTime Now + TimeValue("00:00:01"), "Timer"
    End If
End Sub
Tu peux mettre le code à exécuter en dessous du commentaire. Une fois cette procédure lancée, pour l'arrêter j'ai paramétré qu'il faut écrire "Stop" en A1 : tu peux changer cela. Malheureusement, cela ne s'actualise que chaque seconde car Excel rame si l'on met tous les 0.5 secondes (remplacer TimeValue(...) par TimeSerial(0, 0, 0.5)).

En espérant t'avoir aidé. ;) Si tu as des questions, n'hésite pas. Je vais essayer de chercher pour l'étape 3.


Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #7 - 16 April 2014, 14:00:35
Mais c'est un malade !!  :eek: :arg:
Oui tu m'as bien cerné     :flower:
Mais je l'avais dit dans le premier post que j'ai laissé sur ce forum : je suis bipolaire. Mais pas pôle nord / pôle sud hein, ce serait trop simple. Est/ouest je préfère...  :)

Florian, tu as donc ma reconnaissance pour les 1000 prochains siècles. :wor:
Pour l'éternité, j'attends la soluce de l'étape 3 !

Non, sans blaguer, ton code m'a l'air de coller à ce qu'il me faut, c'est super.
Et pour afficher une valeur dans le range ('Xn') je peux rajouter pour chaque bouton de commande, une private sub du style
Code: [Select]
Private Sub CommandButton_'name'_GotFocus()
         Range("Xn").Select
         ActiveCell.FormulaR1C1 = "STOP"
'"stop" ou "ta g...le" ou "ce que je veux"'

Il y a sûrement plus simple mais je débute en visual basic (et c'est un euphémisme)

Dès que j'ai 5 minutes devant moi, je teste et je te tiens au courant.

Merci à vous tous en tout cas pour vos encouragements.


Offline SCEtoAUX

  • 35,579 ft/s
  • Legend
  • ******
  • Posts: 1052
  • Country: Canada ca
  • Karma: 60
  • You are GO to continue powered descent
Reply #8 - 16 April 2014, 15:17:45
Fantastique ! Jolie travail  :wor:
karma !!!

Conrad: I got three fuel cell lights, an AC bus light, a fuel cell disconnect, ACbus overload 1 & 2, Main Bus A & B out.
Carr: 12, Houston. Try SCE to auxiliary. Over.
Conrad: Try FCE to Auxiliary? What the hell is that? NCE to auxiliary..?
Carr: SCE ! SCE to Auxiliary!

Offline antoo

  • Legend
  • ******
  • Posts: 3659
  • Country: France fr
  • Karma: 179
  • MSFS ❤️
Reply #9 - 16 April 2014, 15:39:54
t'as gagné un pouce vert et un karma ;)

---------------------------------------------------------------------------------------------------
"ET C´EST PARTI!!" Youri Gagarine au lancement de vostok 1 le 12 avril 1961

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #10 - 17 April 2014, 09:56:44
Antoo et Pete Conrad (alias SCEtoAUX  ;)) merci à vous.

Florian, je dois vraiment être une quiche parce que je n'arrive pas à faire fonctionner la macro.
Quand je la rajoute au code, il ne se passe rien et quand je tente de l'éxecuter j'ai le message : "Impossible d'exécuter la macro "chemin...". Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées."

Il y a un truc que je dois mal faire, mais quoi ?
Voici le code complet à tout zazard:

Code: [Select]
Private Sub AGC_POWER_SpinDown()
    Range("A28:N40").Select
    Selection.ClearContents
    Range("H28").Select
End Sub

Private Sub AGC_POWER_SpinUp()
    Range("K28").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("M28").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("H28").Select
End Sub

Private Sub CommandButton_0_Click()
    ActiveCell.FormulaR1C1 = "0"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_0_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.FormulaR1C1 = "0"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_1_Click()
    ActiveCell.FormulaR1C1 = "1"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.FormulaR1C1 = "1"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_2_Click()
    ActiveCell.FormulaR1C1 = "2"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.FormulaR1C1 = "2"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_3_Click()
    ActiveCell.FormulaR1C1 = "3"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.FormulaR1C1 = "3"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_4_Click()
    ActiveCell.FormulaR1C1 = "4"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.FormulaR1C1 = "4"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_5_Click()
    ActiveCell.FormulaR1C1 = "5"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_5_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.FormulaR1C1 = "5"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_6_Click()
    ActiveCell.FormulaR1C1 = "6"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_6_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.FormulaR1C1 = "6"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_7_Click()
    ActiveCell.FormulaR1C1 = "7"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_7_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.FormulaR1C1 = "7"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub CommandButton_8_Click()
    ActiveCell.Offset(0, -1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "8"
    ActiveCell.Offset(1, 1).Range("A1").Select
End Sub

Private Sub CommandButton_8_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.Offset(0, -1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "8"
    ActiveCell.Offset(1, 1).Range("A1").Select
End Sub

Private Sub CommandButton_9_Click()
    ActiveCell.Offset(0, -1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "9"
    ActiveCell.Offset(1, 1).Range("A1").Select
End Sub

Private Sub CommandButton_9_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ActiveCell.Offset(0, -1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "9"
    ActiveCell.Offset(1, 1).Range("A1").Select
End Sub

Private Sub CommandButton_clear_Click()
    Range("L29").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C[+9]"
    ActiveCell.FormulaR1C1 = "0"
    Range("G28:I38").Select
    Selection.ClearContents
    Range("H28").Select
End Sub

Private Sub CommandButton_entr_Click()
    Range("J30").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(OR(R[-2]C[-8]=1,R[-2]C[-5]=1,NOT(R[-2]C[-2]=""""),NOT(R[-2]C[-3]="""")),1,0)"
    Range("J28").Select
    ActiveCell.FormulaR1C1 = "1"
    ActiveCell.FormulaR1C1 = "0"
    Range("G28:I38").Select
    Selection.ClearContents
    Range("A28:E28").Select
    Selection.ClearContents
    Range("J29").Select
    ActiveCell.FormulaR1C1 = "1"
    ActiveCell.FormulaR1C1 = "0"
    Range("J30").Select
    ActiveCell.FormulaR1C1 = "0"
    Range("H28").Select
End Sub

Private Sub CommandButton_keyrel_Click()
    Range("K28").Select
    ActiveCell.FormulaR1C1 = "0"
    ActiveCell.FormulaR1C1 = "=IF(OR(R[0]C[-1]=1,R[0]C[3]=1),1,RC)"
    Range("H28").Select

End Sub

Private Sub CommandButton_minus_Click()
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "-"
    ActiveCell.Offset(0, -1).Range("A1").Select
End Sub

Private Sub CommandButton_noun_Click()
    Range("D29:F30").Select
    Selection.ClearContents
    Range("E28").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("E29").Select
End Sub

Private Sub CommandButton_plus_Click()
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "+"
    ActiveCell.Offset(0, -1).Range("A1").Select
End Sub

Private Sub CommandButton_pro_Click()
    Range("J30").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("N28").Select
    ActiveCell.FormulaR1C1 = "1"
    ActiveCell.FormulaR1C1 = "0"
    Range("J29").Select
    ActiveCell.FormulaR1C1 = "1"
    ActiveCell.FormulaR1C1 = "0"
    Range("J30").Select
    ActiveCell.FormulaR1C1 = "0"
    Range("H28").Select
End Sub

Private Sub CommandButton_rset_Click()
    Range("M28").Select
    ActiveCell.FormulaR1C1 = "0"
    ActiveCell.FormulaR1C1 = "1"
    Range("H28").Select
End Sub

Private Sub CommandButton_verb_Click()
    Range("A29:C30").Select
    Selection.ClearContents
    Range("B28").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("B29").Select
End Sub

Sub Timer()
    'Code à exécuter
    Calculate
    If Application.Range("AE15").Value <> "Stop" Then
        Application.OnTime Now + TimeValue("00:00:01"), "Timer"
    End If
End Sub


Offline florian6973

  • Full Member
  • ***
  • Posts: 80
  • Karma: 8
Reply #11 - 17 April 2014, 16:46:10
Le code que tu as posté me pose des questions : quelle est cette procédure 'Calculate' qu'appelle la fonction 'Timer'. Je ne la vois pas dans le code.
Pour lancer la procédure Timer, il suffit de l’appeler une fois pour qu'elle démarre. Où est-ce que tu l'appelles dans le code ?
En espérant t'avoir aidé. ;) J'espère que cela marchera.


Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #12 - 18 April 2014, 09:42:43
Le code que tu as posté me pose des questions

Et moi donc !..  :)

La réalité c'est que, jusqu'à ce que j'installe office 2013, je n'avais jamais utilisé la moindre macro.
J'y suis venu en commençant par me servir de l'outil "enregistrer une macro".
Là ça a été un peu la révélation et à défaut de comprendre ce nouveau langage, ça m'a permis d'avoir des bouts de code que j'ai fini par interpréter avec plus ou moins de discernement et à assembler entre eux comme des pièces d'un puzzle à grands coups de copier/coller.
Le problème c'est que je n'ai pas la moindre idée de ce que représente le puzzle dans son ensemble.

Et le pire c'est que j'étais vachement fier de moi parce que j'avais l'impression de mettre en pratique la méthode de DanSteph : jouer au détective !
Sauf que... Dan n'a jamais préconisé de commencer par la fin et d'écrire n'importe quoi n'importe comment !

Donc je vais reprendre tout de zéro. Il y a, dans la doc de Microsoft un chapitre intitulé : "Getting starded with VBA in Excel". Il me parait indispensable de le lire et nul doute que j'aurais dû commencer par là.

Et plutôt que d'emmerder tout le monde et de polluer le forum avec des questions ineptes qui n'ont comme résultat que d'étaler au grand jour mon incommensurable stupidité, je ne reviendrai qu'une fois que les choses seront un peu plus claires dans mon esprit.

Maintenant, au travail !


Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #13 - 21 April 2014, 08:53:51
Ok, ça fonctionne nickel maintenant ! :applause:
J'ai un tableur qui me décompte les secondes comme un vrai chrono.
Pour l'instant j'appelle la fonction Timer en exécutant la macro manuellement en attendant d'implémenter le code qui l'appellera automatiquement. Je pense que je vais la lier à l'exécution d'un VERB de type "monitor" (VERB 16 par exemple) ; là je parle pour ceux qui ont déjà utilisé le virtual AGC de NASSP.

J'ai aussi épuré le code des command buttons pour l'alléger parce que l'outil "enregistrement de macro" rajoute des lignes avec des fonctions "select" inutiles. Dixit la doc MS.
Et puis j'ai mis des commentaires, ça n'était pas du luxe (passé 1h à retrouver le sens de certaines lignes!) et ça fait moins amateur.

Merci Florian.  :wor:


Offline SCEtoAUX

  • 35,579 ft/s
  • Legend
  • ******
  • Posts: 1052
  • Country: Canada ca
  • Karma: 60
  • You are GO to continue powered descent
Reply #14 - 21 April 2014, 13:29:43
Je pense que je vais la lier à l'exécution d'un VERB de type "monitor" (VERB 16 par exemple) ; là je parle pour ceux qui ont déjà utilisé le virtual AGC de NASSP.


Merci Florian.  :wor:


SI tu lui fais un V16E N43E, va-t-il te dire où tu te situe ?  :badsmile:  :boulet:

Conrad: I got three fuel cell lights, an AC bus light, a fuel cell disconnect, ACbus overload 1 & 2, Main Bus A & B out.
Carr: 12, Houston. Try SCE to auxiliary. Over.
Conrad: Try FCE to Auxiliary? What the hell is that? NCE to auxiliary..?
Carr: SCE ! SCE to Auxiliary!

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #15 - 21 April 2014, 14:52:58
SI tu lui fais un V16E N43E, va-t-il te dire où tu te situe ?  :badsmile:  :boulet:

Affirmatif monsieur. C'est même pour ce genre de trucs qu'il est conçu...


Offline SCEtoAUX

  • 35,579 ft/s
  • Legend
  • ******
  • Posts: 1052
  • Country: Canada ca
  • Karma: 60
  • You are GO to continue powered descent
Reply #16 - 21 April 2014, 15:15:43
Pour vrai !!! alors là je suis bouche bée  :eek:
j'pensais vraiment dire une connerie en posant cette question  :badsmile:

Conrad: I got three fuel cell lights, an AC bus light, a fuel cell disconnect, ACbus overload 1 & 2, Main Bus A & B out.
Carr: 12, Houston. Try SCE to auxiliary. Over.
Conrad: Try FCE to Auxiliary? What the hell is that? NCE to auxiliary..?
Carr: SCE ! SCE to Auxiliary!

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #17 - 21 April 2014, 16:13:55
En réalité à la base ce dsky virtuel n'est qu'une interface toute bête pour afficher les résultats des calculs du tableur.
Une simple mise en forme en fait, pour la présentation des données à rentrer dans IMFD par exemple et exécuter la manœuvre dans Orbiter.
C'est un vieux truc que j'avais bricolé pour NASSP et qui servait à calculer la manœuvre de phasing d'Apollo 7. Puis de fil en aiguille j'avais mis au point le calcul de toutes les phases d'un RDV coelliptique et j'avais appelé le tableur RDV spreadsheet.

Ca donne ça sur la page principale d'où l'on programme la séquence :




Avec un graphe en coordonnées curvilinéaires comme dans la doc NASA :




Ensuite, ayant découvert qu'avec des macros toutes simples je pouvais programmer des touches comme sur le clavier du dsky, je l'ai rendu quasiment fonctionnel à 70%.
A l'issue, tout devrait marcher comme sur le vrai à l'exception de la programmation du pilote auto (DAP) du style V48, P40 par exemple et des programmes d'alignement de l'IMU (P51, P52 etc.)
Parce que ça m'étonnerait qu'on puisse envoyer des commandes à Orbiter à partir d'un tableur Excel (sait on jamais ?..).
Par contre, si l'on veut réaliser un rendez vous coelliptique, une fois que le profil est programmé dans l'onglet de l'image ci dessus, on n'a plus qu'à réaliser les allumages en ne se servant que du DSKY via les programmes P32, P33, P34 etc. (ou leur équivalent dans le LM, il n'y aura qu'a changer les numéros) pour recalculer les données en temps réel (le SV se met à jour tout seul) et obtenir les infos d'allumages : heure d'allumage, attitude, temps d'allumage, enfin la routine quoi !

En gros, le tableur dans son ensemble devrait être une sorte de mission control virtuel associé à un AGC relativement fonctionnel qu'on peut appeler dans la session orbiter via le ALT TAB.
Ca peut être un complément sympa à utiliser sur une mission AMSO par exemple.

Enfin ce n'est pas encore prêt, il y a du boulot... :bug:


Offline SCEtoAUX

  • 35,579 ft/s
  • Legend
  • ******
  • Posts: 1052
  • Country: Canada ca
  • Karma: 60
  • You are GO to continue powered descent
Reply #18 - 21 April 2014, 17:00:28

C'est un vieux truc que j'avais bricolé pour NASSP et qui servait à calculer la manœuvre de phasing d'Apollo 7. Puis de fil en aiguille j'avais mis au point le calcul de toutes les phases d'un RDV coelliptique et j'avais appelé le tableur RDV spreadsheet.




Ah ben, j'avais commencé la mission d'apollo 7 il y a environ 1 ans. Il y avait une checklist pour la mission au complet, j'avais même réussis le RDZ mais ne connaissant pas encore assez la mécanique orbital je ne comprenais pas trop ce que je faisais, le tout ce faisait avec Rendezvous MFD et l'EMS pour les burns, c'était pas vraiment réel mais c'était cool. Sur le forum de NASSP un mec disait de prendre le TPF program de l'AGC
mais j'ai abandonné entre-temps (me trouvant trop débutant) Maintenant avec le recul (et beaucoup plus d'expérience) je pourrais m'y remettre et essayer mon rendez-vous au complet avec l'AGC, j'aimais ça gossé dessus  :bug:

Conrad: I got three fuel cell lights, an AC bus light, a fuel cell disconnect, ACbus overload 1 & 2, Main Bus A & B out.
Carr: 12, Houston. Try SCE to auxiliary. Over.
Conrad: Try FCE to Auxiliary? What the hell is that? NCE to auxiliary..?
Carr: SCE ! SCE to Auxiliary!

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #19 - 21 April 2014, 18:05:20
Oui ce qui fait défaut dans orbiter c'est un outil (MFD ou autre) qui puisse calculer un phasing. Il y a bien le syncro MFD mais il donne juste un "display" des positions relatives. Il ne fournit pas d'info pour prédire une trajectoire à l'issue d'une manœuvre.
Le mieux c'est peut être encore le mode interception d'IMFD et encore, je crois me souvenir qu'il ne donne pas l'angle ou la distance entre les deux vaisseaux.

Quand tu parles du programme TPF dans l'AGC je pense plutôt que tu fais référence au programme P34 (dans la version du virtuel AGC de NASSP qui est la colossus 249) et qui calcule une solution pour la TPI (Terminal Phase Initiation), c'est à dire pour la manœuvre finale d'interception.

Mais pour y arriver il faut se placer correctement par rapport à la cible, c'est à dire:
- Sur une orbite coelliptique (grands axes alignés),
- Différence de SMa égale à la delta H
- A une distance angulaire telle que la cible se trouve 26° au dessus de l'horizon local (vu depuis le chasseur) au moment de l'allumage TPI. L'orbite d'interception consécutive à la TPI sera longue d'environ 130°
Il y a aussi d'autres contraintes comme les conditions d'éclairage : la TPI doit avoir lieu de préférence au milieu de la "nuit" pour que la cible soit suffisamment visible au moment de la poursuite finale.
Ou encore la couverture radio etc.

Et pour tout ça, il faut avoir suivi les étapes intermédiaires (bien que celles ci ont été shuntées à partir d'Apollo 14) mais SURTOUT, avoir réalisé un phasing adéquat.
Même dans le cas des rendez vous directs (Apollo 14, 15 et suivants), le phasing est indispensable : En l'occurrence lorsqu'il s'agit d'un décollage depuis la lune, le "phasing" se résume à attendre que le CSM passe pile poil à la bonne position pour que la configuration soit bonne au moment de l'allumage final.
Sinon, dans le cas où les deux vaisseaux sont déjà en orbite, comme dans le cas d'un RDV consécutif à un alunissage avorté (un excellent exemple, c'est le RDV d'Apollo 10 qui ressemble un peu à un abort volontaire) il y a obligatoirement une orbite de phasing pour positionner les vaisseaux dans une géométrie compatible avec le rendez vous.

Il y a des docs originales très instructives sur le sujet. Mais il faut se les envoyer  :sick: et en plus c'est en rosbif:
http://nix.nasa.gov/search.jsp?R=19730021150&qs=N%3D4294950110%2B4294966087%26No%3D50

Celle-ci est en français
http://alexandre.schwenck.pagesperso-orange.fr/lor/lor.htm

J'ai beaucoup d'autres pdf qui ne sont malheureusement plus en ligne.
A ta dispo si tu les veux par mail.

Edit: je viens de m'apercevoir que j'avais écrit une bêtise (une de plus !) j'ai corrigé

« Last Edit: 21 April 2014, 18:39:38 by Chrival »

Offline SCEtoAUX

  • 35,579 ft/s
  • Legend
  • ******
  • Posts: 1052
  • Country: Canada ca
  • Karma: 60
  • You are GO to continue powered descent
Reply #20 - 21 April 2014, 19:48:42
Program 34 oui :)


Oui ce qui fait défaut dans orbiter c'est un outil (MFD ou autre) qui puisse calculer un phasing.

Mais même débutant, je m'était relativement bien documenté sur les techniques de rendez-vous Apollo notamment sur le site Apollo Flight Journal et je trouvais dont fâcheux le fait de ne pas savoir l'angle de phasage sans se taper un paquet de calcul :doubt: (j'imagine que y'a bien une façon de le savoir en faisait 5 ou 6 pages de calculs  :badsmile:)

En tout cas c'était vraiment pas évident (et donc très risqué) de faire un rendez-vous avec seulement les techniques de l'époque
un strobe, un téléscope et beaucoup de sighting et ce à des milliers de KM de la terre et dans l'ombre de la lune en plus  :sick:
 

Conrad: I got three fuel cell lights, an AC bus light, a fuel cell disconnect, ACbus overload 1 & 2, Main Bus A & B out.
Carr: 12, Houston. Try SCE to auxiliary. Over.
Conrad: Try FCE to Auxiliary? What the hell is that? NCE to auxiliary..?
Carr: SCE ! SCE to Auxiliary!

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #21 - 21 April 2014, 20:09:50
... et un ordinateur moins performant qu'une calculatrice d'aujourd'hui !


Offline Coussini

  • Legend
  • ******
  • Posts: 3161
  • Country: Canada ca
  • Karma: 28
Reply #22 - 23 April 2014, 13:34:37
Wow.... on peut en avoir une copie.

J'adore ce truc. Belle réalisation

Coussini "Maître des liens"



Que dieu vous éloigne du Covid-19

Offline Chrival

  • Full Member
  • ***
  • Posts: 78
  • Country: France fr
  • Karma: 11
Reply #23 - 23 April 2014, 14:41:09
Wow.... on peut en avoir une copie.

J'adore ce truc. Belle réalisation

Merci Coussini
C'est un peu prématuré pour une copie parce que ce n'est pas encore élaboré.
Et puis je me suis rendu compte qu'il y avait une grossière erreur dans les tables de calcul du RDV : La longitude moyenne de départ est tout simplement erronnée ce qui rend le tableur inutilisable en l'état (honte à moi   :sad:)
Heureusement il n'y a qu'une seule cellule à corriger pour que tout rendre dans l'ordre. Ouf !..
Mais comme toute l'architecture du projet doit être modifiée, surtout au niveau des données source (SV, horaires etc.) je ferai tout en même temps.

En tout cas, bien sûr, s'il y a des gens que ça intéresse (ce qui m'étonne toujours parce que j'ai constamment l'impression que mes bidules n'amusent que moi) ils pourront en disposer comme ils veulent.

A tout hasard, tu n'aurais pas une idée pour lancer Excel depuis orbiter ?
Ou plutôt qu'il puisse s'afficher dans une fenêtre un peu comme une boite de dialogue ou un external MFD ?
Je pensais à un truc comme orbiter connect mais je n'y comprends rien :bug: