#1 [↑][↓] 06-12-2015 15:32:59

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

[P3D][FSX][FS9]tuto sioc utiliser une carte servo pour une gauge

et rebonjour ! c'est encore moi ...
un petit tuto pour utiliser la carte servo d'opencockpit .
ATTENTION petite anecdote j'ai eu un probleme la premiere fois ma carte n'etait pas reconnue par mon pc j'ai donc ecrit a opencockpit qui m'a renvoyé un PIC (c'est le petit carré noir au centre de la carte ) que j'ai changé et maintenant ca fonctionne parfaitement !

pour les servos j'ai pris ce modele :

20908910.jpg

je ne sais pas si c'est les meilleurs mais en tout cas ca fonctionne !
la servo a une course d'environ 170 degrès donc en fonction de vos gauges il faudra installer un systeme de demultiplication avec des roues dentées .... a vous de bricoler !

bien pour le shema de cablage il se presente comme ca :

111.jpg

on peut brancher jusqua 6 servos ; ATTENTION dans le model que j'ai acheté les pin dalimentation ne correspondent pas au pin de la carte j'ai donc du inverser les pin de la servo on peut facilement le faire avec une petite aiguille pour retirer les cables et inverser .
pour J9 l'emplacement de la premiere servo on a donc premier pin 5volts pin du centre data et troisieme pin la masse GND

donc pour ma servo ca fait rouge jaune marron !

ensuite on branche la carte en usb sans oublier de l'alimenter en 5volts sur J2 ; attention aux polarités ...

pour la declaration dans le sioc ini c'est très simple il suffit de rajouter dans la partie CARD CONFIG une ligne ressemblant a ca : [ USBServos=0,27 ]

le premier chiffre correspond au numero idx chez moi j'ai mis 0 pour lexemple et le deuxieme a votre numero de device qui correspond au port usb (chez moi 27) ca sera forcement different chez vous ; avous de determiner cela en lancant sioc puis en modifiant config device ....

bien une fois tout configuré correctement on attaque le code sioc !
avant tout nous allons rechercher dans le sdk l'offset qui controle l'indicateur de vitesse ...
ici il 'sagit de la $02BC de longueur 4 .
dans la description du sdk il est stipulé que les données doivent etre divisées par 128 pour avoir la vrai vitesse en noeuds !

maintenant il s'agit de trouver les butées de notre servo pour cela lancez sioc puis sioc monitor .
la servo doit apparaitre un double clique dessus et un tableau s'affiche avec des curseurs ....

faite bouger le curseur correspondant a votre servo et relever la position extreme gauche puis la centrale puis lextreme droite !

chez moi cela donne 160 ; 666 ; 1023

ok si tout va bien jusque la on commence le code

nous allons declarer notre servo ainsi que la variable de la vitesse

EDIT NEW VAR

211.jpg
311.jpg

voila declaration de la servo avec nos butées
ensuite la variable vitesse

411.jpg

ok maintenant nous allons lier la vitesse a la servo !

un clique droit sur la variable vitesse et new command

511.jpg

alors petite explication ... ici on utilise une variable interne LO qui sera egale a notre vitesse mais divisée par 20 !
alors pourquoi par 20 cela depend de notre course de servo .
les données brut de la vitesse sont multiplié par 128 c'est ce qu'indique le sdk donc pour une vitesse de 100 noeuds la variable enverra 12800 !
la course de notre servo va de 160 a 1023 donc si on divise la valeur brut par 20 pour une vitesse de 100 noeuds la resultante sera de 640 !
notre servo se situera environ a la moitié de sa course ....

allez on continu vous allez comprendre ...enfin jespere !

611.jpg

ici j'utlise L1 qui sera egale a LO donc la vitesse brut divisée par 20 comme on a vu plus haut MAIS j'additionne 160 qui est le point bas de la course de ma servo .
si je ne met pas cela si ma vitesse est egale a zero la servo va chercher a aller en dessous de 160 elle va forcer et c'est le drame ! c'est pour cela qu'il est important de definir les butées dès le debut .
donc avec L1 si ma vitesse est a zero alors la premiere valeur sera en realité de 160 qui correspond a la butée basse du servo .

ensuite on continu mais avec une petite securité pour la butée haute donc nous allons dire que si la valeur de la vitesse depasse les 1022 alors le servo n'ira pas plus loin que 1023 (sa butée haute)

711.jpg
811.jpg

voila et pour finir bien sur une assignation pour dire que notre servo est egale a L1 tout simplement

clique droit sur la variable de l 'IAS et new command

912.jpg
1011.jpg

voila donc on resume !

la vitesse donnée par la variable est multiplié par 128 donc 10 noeuds font 1280 ; 50 noeuds font 6400 ect....
on utilise LO pour diviser cette valeur par 20 ce qui correspond environ a notre plage de servo entre 160 et 1023
et grace a L1 la valeur demarre a 160
donc pour 10 noeuds nous avons une valeur de 224 et pour 50 noeuds cela donne 480 ect ect ....

a vous dajuster tout cela en fonction de votre systeme !

quelques photos pour comprendre remarquez la position du servo et de la vitesse sur le cessna !

sam_1710.jpg

sam_1711.jpg

sam_1712.jpg

bon courage !
Mameloose


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#2 [↑][↓] 06-12-2015 17:09:48

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc utiliser une carte servo pour une gauge

AHHHHHH  ben voilà   lol.

suffisait de demander .

Quel grande classe ce Mameloose .

En fait vous devez comprendre que mon cockpit avance au fur et à mesure des tutos de Mameloose  !!!! mdrr

A+ matthieu

Hors ligne

#3 [↑][↓] 06-12-2015 17:12:42

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc utiliser une carte servo pour une gauge

mdr ! attend il manque un tuto sur les stepper motor ! jvais commander ca un de ces 4


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

Pied de page des forums