routine servo moteur

Questions de programmation / Offset FSUIPC et IOCP

Re: routine servo moteur

Messagede worldhugo » Sam 28 Mai 2011 23:00

La seul méthode que je connaisse pour voir les décimales et qu'elles soient prise en compte dans la suite du code est de les multiplier par 10 par exemple pour un nombre comme 3.5 -> ce qui nous donnera 35. Il faudra bien sur diviser par 10 avant l'utilisation. murrouge
Pourrais-tu me donner les valeurs que je t'ai demandées plus haut (à savoir les valeurs de ton servo quand l'aiguille est sur 3,10,15 et 20) pour que je puisse finir mes essais ? grandsoleil
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: routine servo moteur

Messagede pierre01 » Sam 28 Mai 2011 23:17

Oups, j'ai zappé ta question, désolé !

Donc, mes servos sont standard et vont de 1 à 1023 :
graduation 3 valeur servo : 157
graduation 5 valeur servo : 314
graduation 10 valeur servo : 446
graduation 20 valeur servo : 577
A+
Pierre.
Avatar de l’utilisateur
pierre01
 
Messages: 1775
Inscription: 19/04/09
Localisation: Vers Vesoul (Haute Saône)

Re: routine servo moteur

Messagede worldhugo » Sam 28 Mai 2011 23:28

Es-tu bien sur de ces valeurs, car elles ne sont pas linéaire .... gratgrat gratgrat
157:3 = 52,3
314:5 = 62,8
446:10 = 44,6
577:20 = 28,9

Si je suis la logique d'un servo 1 à 1023 :
171:5 = 34,1
512:15 = 34,1
682:20 = 34,1
1023:30 = 34,1

Pour l'instant, j'en suis là :
Code: Tout sélectionner
Var 0001, name serv_FF1, Link USB_SERVOS, Output 6, PosL 1, PosC 512, PosR 1023

Var 0002, name fs_fuel_flow1, Link FSUIPC_IN, Offset $0918, Length 8, Numbers 0
{
  &reel_fuelflow1 = &fs_fuel_flow1 * 1.669 // conversion en GAL/HR (en multipliant par 10 pour avoir la décimale)
  IF &reel_fuelflow1 <= 30 // valeur inférieur ou égale à 3(division par 10)
  {
    &serv_FF1 = 157 // on met le servo sur 157
  }
  ELSE // ou si il n'est pas inférieur à 3
  {
    &serv_FF1 = &reel_fuelflow1 * "coef multiplicateur" // on met le servo en fonction de fs
  }
}

Var 0003, name reel_fuelflow1


Je cherche actuellement le coef multiplicateur gratgrat
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: routine servo moteur

Messagede pierre01 » Sam 28 Mai 2011 23:43

ben ce sont les valeurs que je lis avec le log : "iocards_test-servos&relais"
Je positionne le servo sur chaque valeur avec le curseur et ça me donne la valeur ...

Ca expliquerais que je n'arrive pas à le positionner correctement en fonction de l'offset gratgrat
Je suis ton code avec intérêt !

Au fait, que veux dire "Numbers 0" dans "Var0002" ?
A+
Pierre.
Avatar de l’utilisateur
pierre01
 
Messages: 1775
Inscription: 19/04/09
Localisation: Vers Vesoul (Haute Saône)

Re: routine servo moteur

Messagede worldhugo » Sam 28 Mai 2011 23:45

Fait un autre test, positionne manuellement ton aiguille sur le "3" et lit la valeur de la variable de ton servo dans l"IOCP Console" grandsoleil

Si je ne me suis pas trompé : tu devrais trouver dans les 102 (3x34,1 = 102,3) yeuxhaut

Pour ce qui est du numbers, je n'avais pas remarqué mais tu peux le supprimer cela ne change rien cligneoeil
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: routine servo moteur

Messagede pierre01 » Sam 28 Mai 2011 23:58

Bonne idée, et je trouve les mêmes valeurs :

pour 3 : 155 veleur FF dans FS : 5,2 -> C'est là le Pb !
pour 10 : 314 veleur FF dans FS : 10,3
pour 15 : 445 veleur FF dans FS : 14,8
pour 20 : 575 veleur FF dans FS : 19,1
A+
Pierre.
Avatar de l’utilisateur
pierre01
 
Messages: 1775
Inscription: 19/04/09
Localisation: Vers Vesoul (Haute Saône)

Re: routine servo moteur

Messagede worldhugo » Dim 29 Mai 2011 00:02

Et si tu met ton servo (pas ton aiguille) en positions mini/max -> tu as bien 0 et 1023 ? et au centre -> 512 ?
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: routine servo moteur

Messagede pierre01 » Dim 29 Mai 2011 00:06

A l'oeil, je dirais oui mais pas facile de mesurer avec précision !

Bon, je vais faire dodo, en tout cas, merci pour l'aide, je reprends demain.
A+
Pierre.
Avatar de l’utilisateur
pierre01
 
Messages: 1775
Inscription: 19/04/09
Localisation: Vers Vesoul (Haute Saône)

Re: routine servo moteur

Messagede worldhugo » Dim 29 Mai 2011 00:12

Avec quel code mesures-tu ces valeurs ? Il faudrait que tu es simplement cette variable :
Code: Tout sélectionner
Var 0001, name serv_FF1, Link USB_SERVOS, Output 6, PosL 1, PosC 512, PosR 1023

pour éviter tout faussement ......

Aussi,
essai de faire un test de ce code :
Code: Tout sélectionner
Var 0001, name serv_FF1, Link USB_SERVOS, Output 6, PosL 1, PosC 512, PosR 1023

Var 0002, name fs_fuel_flow1, Link FSUIPC_IN, Offset $0918, Length 8
{
  &reel_fuelflow1 = &fs_fuel_flow1 * 1.669     // conversion en GAL/HR (en multipliant par
  IF &reel_fuelflow1 <= 30     // valeur inférieur ou égale à 3(division p
  {
    &serv_FF1 = 102         // on met le servo sur 102
  }
  ELSE     // ou si il n'est pas inférieur à 3
  {
    L0 = &reel_fuelflow1 / 10
    L1 = &coef_fuelflow1 / 10
    &serv_FF1 = L0 * L1     // on met le servo en fonction de fs
  }
}

Var 0003, name reel_fuelflow1

Var 0004, name coef_fuelflow1, Value 341


Bonne nuit à demain

Hugo
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: routine servo moteur

Messagede pierre01 » Dim 29 Mai 2011 15:19

Merci Hugo pour le code, résultats :

J'ai mis 140 pour la valeur mini du servo (car il vibre en dessous), ce qui le positionne légèrement en dehors des graduations !

Pour les valeurs de test dans l'ordre : Valeur lue dans la bulle FS - valeur de la gauge FS - Valeur sur mon servo :
3 - 4 - 0 (mon servo est en butée mini, gauge FS un peu au dessus)
5 - 5 - 3 servo encore en dessous
7.5 - 7.5 - 7.5 C'est Ok
10 - 10 - 10.5 mon servo se décale vers le haut
15 - 15 - 17
20 - 20 - 23.5
22.6 - 22.6 - 27 (plein gaz)

La valeur (x10) de la Var "reel_FF1" lue dans la console, correspond bien à la valeur indiquée dans la bulle FS

Je vais jouer avec cette façon de faire, quitte à faire plusieurs plages comme le suggere Bob;

Je me permet de reposer les questions :
- Peut-on voir les valeurs décimales dans la console ? et
- C'est quoi les variables IOCP et comment les utiliser ?

Merci !
A+
Pierre.
Avatar de l’utilisateur
pierre01
 
Messages: 1775
Inscription: 19/04/09
Localisation: Vers Vesoul (Haute Saône)

PrécédenteSuivante

Retourner vers Programmation Sioc





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 31 invités