#1 [↑][↓]  26-11-2015 21:42:47

mameloose
Copilote
Lieu: evreux
Date d'inscription: 24-10-2014
Renommée :   10 

[P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

bonjour a tous !
un nouveau tuto pour utiliser la carte usbdcmotor d'opencockpit !

la carte se presente comme ca :

http://i68.servimg.com/u/f68/13/46/73/71/2t15_010.gif

pour la connection il suffit de suivre ce shema c'est très simple

http://i68.servimg.com/u/f68/13/46/73/71/110.jpg

on peut donc connecter jusqu'a 6 moteurs de 5 a 36volts ainsi que 4 potentiometres (on verra pourquoi les potentiometres par la suite ... )

ok donc avant de brancher votre carte en usb sur votre PC je conseil d'abord de l'alimenter (chez moi j'ai mis du 5 volts)
parce que sinon la carte risque de ne pas etre reconnue !

bref une fois votre carte branchée vous devriez voir ca dans sioc :

http://i68.servimg.com/u/f68/13/46/73/71/210.jpg

donc on voit bien que la carte n'a pas de numero d'idx et que mon port usb est le 50 chez vous ca sera different bien sur !

maintenant il faut declarer votre carte dans le sioc ini !
pour les carte usb expansion on a lhabitude de voir un truc du genre [master 0,4,1,45]
pour une carte usbdcmotor il suffit juste d'ajouter cette ligne :
[USBDCmotor=0,50]

voila j'ai mis 0 pour l'idx et 50 comme c'est le chiffre de detection de mon port usb...

ensuite j'ai cablé un potentiometre de type 10K sur J3 et un motoreducteur sur les premiers pin de J6

NOUS ALLONS MAINTENANT FAIRE UNE PROG POUR UN AUTOTHROTTLE !
le but est que les manettes de gaz bougent toutes seules comme en vrai !

allez c'est partit ! nous allons commencer par ouvrir un code vierge et declarer les variables qui vont bien ....

comme d'habitude EDIT et NEWVAR
http://i68.servimg.com/u/f68/13/46/73/71/310.jpg

on commence par declarer notre moteur qui est cablé sur l'emplacement numero 1

http://i68.servimg.com/u/f68/13/46/73/71/410.jpg
http://i68.servimg.com/u/f68/13/46/73/71/510.jpg

voila ensuite je vais declarer quelques variables pour controller les manettes de gaz avec mon potentiometre !

je cherche donc toujours dans le sdk les variables pour controller les manettes 1 et 2 (on va prendre un 737 pour l'exemple)

ici la $088C et la $0924 de longueur 2 respectivement pour le controle de la manette 1 et 2

donc a la suite dans mon code toujours EDIT NEWVAR et je selectionne fsuipcinout

http://i68.servimg.com/u/f68/13/46/73/71/610.jpg
http://i68.servimg.com/u/f68/13/46/73/71/710.jpg

ok ca va tout le monde suit ??

une derniere declaration : mon potar bien sur qui va controler mes manettes
ATTENTION une petite nuance avec mon precedant tuto sur les potentiometres : etant donné qu'on se situe sur une carte motor et non expension il faut selectionner notre potar comme un usbanalogic input et non comme un analogic tout court

http://i68.servimg.com/u/f68/13/46/73/71/810.jpg

voila puis ensuite je declare les butées .... alors encore une fois en fonction de votre installation les butées seront differentes ici je vais mettre les butées max puisque c'est une maquette pour lexemple ; donc 0,127,255 .

http://i68.servimg.com/u/f68/13/46/73/71/910.jpg

VOILA tout est declaré ! maintenant on passe au code ..... gnak gnak un petit café s'impose ou une desperados ca depends de l'heure qu'il est wink

allez on passe au chose serieuse

Tout d’abord nous allons faire comprendre a sioc que le potard doit faire bouger mes deux manettes ! pour cela c'est très simple un clic droit sur le potar et NEWCOMMAND

http://i68.servimg.com/u/f68/13/46/73/71/911.jpg

donc une commande d'assignation qui dit que le moteur 1 est egale a la valeur de mon potar multiplié par 64 !

et la ont dit tous en choeur : pourquoi faut multiiiipllliiieeeerrr ??
c'est tout simple la valeur de notre potar va de 0 a 255
alors que notre moteur dans le sdk on nous explique quel va de 0 a 16383
donc logiquement pour que les deux plages soient les memes on divise 16383 par 255 et la magie ca donne 64 !!

voila on fait pareil pour le moteur 2 donc mon potar va controller les deux moteurs en meme temps chez vous rien n'empeche de faire la manip avec 2 potentiometres ...

http://i68.servimg.com/u/f68/13/46/73/71/1010.jpg

voila donc a ce stade on oublie pas d'enregistrer et vous pouvez essayer chez vous le potar fait bouger les manettes de gaz !
waouh !

alors maintenant en imaginant que vous avez un moteur relié sur vos manettes comme en vrai on passe a la suite !

le but et de faire comprendre a sioc maintenant que dès l'instant ou l'A/T arm est activé le moteur tourne dans un sens pour donner de la puissance ; qu'il s'arrete si il se trouve dans la bonne position et au contraire qu'il tourne dans l'autre sens pour reduire les gaz !!

nous allons creer une petite subroutine pour controller tout ca !

ducoup EDIT NEW VAR et SUBROUTINE

http://i68.servimg.com/u/f68/13/46/73/71/1110.jpg

voila bon maintenant je vais essayé d'etre le plus clair possible !

en gros quand lautothrottle demande de la puissance il va y avoir un decallage entre la position de mon potar et de mon moteur .
comme on a vu avant mon potar a 0 les gaz sont aux ralentit et a 255 ils sont a fond ! donc si le PA demande daller a fond et que mon potar est a zero le moteur va se mettre en marche pour rattraper cette course .

je vais donc utiliser des variables locales pour faire fonctionner ce systeme .

clic droit sur la subroutine et NEWCOMMAND

http://i68.servimg.com/u/f68/13/46/73/71/1210.jpg

donc ici LO est egale a la puissance moteur divisée par 64 (pour avoir la meme valeur que mon potar)

on peut comparer LO a X comme dans une equation mathematique il nous servira pour après ....
puis on continu
http://i68.servimg.com/u/f68/13/46/73/71/1410.jpg

ici L1 est egal a LO moins la valeur du potar !
bon ok ca se complique mais c'est simple en gros la resultante est de zero si tout va bien ! ca veut dire que si les gaz sont dans une position fixe que le potar est au bon endroit alors le moteur ne tournera pas ! par contre si une des conditions change alors le moteur devra bouger dans un sens ou lautre ...

donc je vais prendre une petite marge de securité de 10 je mexplique ... si je poursuit mon code normalement en gros si L1 et plus grand que zero alors le moteur va tourner dans un sens puis si L1 est plus petit que zero dans lautre sens !
le probleme c'est qu'il fait ca sans ARRET !! donc surchauffe et tout donc on va rajouter une petite marge de secu pour eviter cela :

http://i68.servimg.com/u/f68/13/46/73/71/1510.jpg
http://i68.servimg.com/u/f68/13/46/73/71/1710.jpg

ok donc ici si une condition change c'est a dire si l'autothrottle demande a bouger la valeur de L1 va changer et si elle depasse 10 le moteur se mettera en marche jusqu'a ce que le potar suit pour s'aligner (nos manettes en gros)

alors pourquoi 127 pour le moteur ??

les conditions de controle du moteur sont de 0 a 127 et de 128 a 255 .
a 0 le moteur est arreté et plus on va vers 127 plus il tourne vite dans un sens
a 128 le moteur est arreté et plus on va vers 255 plus il tourne vite dans lautre sens !

on peut ajuster la vitesse en mettant la valeur que l'on veut ! moi j'ai mis a fond pour l'exemple !

ensuite je poursuit le code pour le contraire dans le cas d'une deceleration

nouvelle condition IF reclic droit sur la subroutine ...

http://i68.servimg.com/u/f68/13/46/73/71/1810.jpg

ici si L1 est inferieur a -10 le moteur tournera a fond dans l'autre sens (255)

on poursuit pour l'arret du moteur donc si L1 est a zero et que tout est aligné donc mes manettes et le moteur ...

http://i68.servimg.com/u/f68/13/46/73/71/1910.jpg

http://i68.servimg.com/u/f68/13/46/73/71/2010.jpg

voila et pour finir comme nous sommes dans une subroutine il faut faire des appels sur les elements concernés donc le moteur 1 et LENG 1

ducoup clic droit sur chaque variable et call subroutine

http://i68.servimg.com/u/f68/13/46/73/71/2110.jpg

et voila ca fonctionne !

un autothrottle comme en vrai !
le principe est le meme pour une roue de trim par exemple ect ....

le tout en video pour comprendre

Hors ligne

 

#2 [↑][↓]  27-11-2015 09:18:20

pirre
Pilote confirmé
Lieu: Zemst a 10 min de EBBR/69 ans
Date d'inscription: 24-03-2008

Re: [P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

Bonjour ,

Vraiment SUPER
Merci
Pierre


Ma nouv.config:Intel I7 8700K @ 4.4 Ghs- 32Go Ram PC12800 - MSI1080tiGaming - Windows 10 64
1 TV 40"+ 2TV 30"+ecran 19"+FSX Sp1, Sp2+Ensemble CH products+Saitek Switch panel+Throttle quadrant+Radio Stack+GPS 5  Cockpit C182

Hors ligne

 

#3 [↑][↓]  27-11-2015 10:31:19

mameloose
Copilote
Lieu: evreux
Date d'inscription: 24-10-2014
Renommée :   10 

Re: [P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

de rien laugh

Hors ligne

 

#4 [↑][↓]  27-11-2015 14:00:50

satoru
Elève Pilote
Date d'inscription: 14-09-2012
Renommée :   

Re: [P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

Ca a l'air simple mais j comprend rien ! hihihi Bien joué en tout cas, hate de voir le résultat in situ! :)

Hors ligne

 

#5 [↑][↓]  27-11-2015 16:15:02

mameloose
Copilote
Lieu: evreux
Date d'inscription: 24-10-2014
Renommée :   10 

Re: [P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

Bientôt j'espère... laugh

Hors ligne

 

#6 [↑][↓]  27-11-2015 19:02:49

ARCC
Copilote
Lieu: Loc Maria Plouzane (29)
Date d'inscription: 13-03-2008
Renommée :   

Re: [P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

Ca sent le trim motorisé pour mon Twin... Je l'aurai, un jour je l'aurai..

Merci
A+
Christian


Un ancien sous-marinier qui à pris de la hauteur.

Hors ligne

 

#7 [↑][↓]  30-11-2015 20:16:11

mameloose
Copilote
Lieu: evreux
Date d'inscription: 24-10-2014
Renommée :   10 

Re: [P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

wink

Hors ligne

 

#8 [↑][↓]  30-11-2015 22:42:40

matmat59
Pilote confirmé
Lieu: Lille
Date d'inscription: 29-06-2013
Renommée :   
Site web

Re: [P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

Tu devrais mettre tes tutos sur YouTube.
Cela te ferai un peu d argent de poches.

Un grand merci pour tes tuto .
il me serve régulièrement

A+ matthieu

Hors ligne

 

#9 [↑][↓]  30-11-2015 23:00:04

mameloose
Copilote
Lieu: evreux
Date d'inscription: 24-10-2014
Renommée :   10 

Re: [P3D][FSX][FS9]tuto sioc dcmotor faire un autothrottle

Oui j'ai pensé faire ça en vidéo mais c'est pas forcément pratique quand on veux copier un code...
Bientôt un tuto sur les servo à venir wink

Hors ligne

 

Pied de page des forums

Maintenance informatique Lausanne