Aller au contenu


Photo
- - - - -

Aquisition de données


  • Please log in to reply
263 replies to this topic

#261 Romuald

Romuald

    Top Fuel

  • Root Admin
  • PipPipPipPipPip
  • 11776 Messages :
  • Gender:Male
  • Location:Burgundy France
  • Interests:Néant
  • Mustang:Orange 302 Spécial 1970

Posté 22 November 2011 - 08:02 PM

deja un petit résumé du protocole defini pour transferer les données de la boiboite au soft ou a la carte memoire :

http://www.billyocte...prtcl_prft1.htm


Exemple de convertion valeur de donnée vers valeur reele
J'entend par valeur de donnée la valeur directe issue de la convertion analogique/digitale et par valeur reele la valeur explicite a afficher


representation des variables (ne sont pas toutes utilisée dans l'exemple):

_ValDataMin (long) : Valeur de donnée minimum pouvant etre renvoyé par le capteur
_ValDataMax (long) : Valeur de donnée maximum pouvant etre renvoyé par le capteur
_ValDataAmp (long) : Amplitute de valeur de donnée (= _ValDatamax - _ValDataMin)
_ValReelMin (double) : Valeur reele minimum du capteur
_ValReelMax (double) : Valeur reele maximum du capteur
_ValReelAmp (double) : Amplitude de valeur reele ( = _ValReelMax - _ValReelMax)

_ValData (long) : valeur resultante de la convertion A/D
_ValReel (double) : Valeur explicite


Exemple simple de procedure de convertion

Private Sub Calcul_ValReel()
Dim Coef As Double = CDbl(_ValDataAmp / (_ValData - _ValDataMin))
_ValReel = (_ValReelAmp / Coef) + _ValReelMin
End Sub

Si par exemple on a un capteur de position de papillon de gaz qui fourni une tension de 1 volts quand les papillons sont complement fermés et de 4 volts quand ils sont complement ouvert et que l'on veux convertir en une valeur allant de 0 a 100% d'ouverture (Rappel : la tension de référence est de 5 volts et les données sont converties sur 10 bits):

(jutilise l'arrondi par defaut pour stocker le resultat des divisions dans les long)

_ValDataMin = (1023/5 volts) * 1 volt = 204
_ValDataMax = : (1023/5 volts) * 4 volt = 818
_ValDataAmp (long) : 818 - 204 = 614
_ValReelMin (double) : 0 (%)
_ValReelMax (double) : 100 (%)
_ValReelAmp (double) : 100 - 0 = 100

Si par exemple le capteur renvois une tension de 2,9 volts, les valeurs converties seront donc les suivantes :
_ValData = (1023/5 volts) * 2.9 volt = 593

Valeur de la variable 'coef' de la procedure = 614 / ( 593 - 204) = 1,57840616966581
_Valreel = (100/1,57840616966581) + 0 = 63% d'ouverture des papillons

Bien que la valeur reele retournée soit un double, on fait la part des chose en s'affranchissant des decimales suivant les capteurs. Dans le cas de ces papillons de gaz, si on est a 50% d'ouverture et que l'on a arrondi par defaut pour les long, le resultat mathématique sera de 50,1628664495114 %


Exemple d'extraction 'bit mapping' (voir definition du protocole PerfTracker)
Si on prend les par exemple les caracteres 9,10,11,12 d'un paquet de données on va en extraire les valeurs 10 bits des capteurs analogique 4 et 5 et la valeur 8 bits de la variable d'etat

et en supposant qu'ils aient respectivement les valeurs suivante :
asc(Char 9): 2
asc(Char 10) : 123
asc(Char 11) : 161
asc(Chat 12) : 25

On commence par former la variable d'etat . Elle est contenue dans les 4 bits superieur de char 9 qui seront les 4 bit de poids fort et les 4 bit superieur de char 11 qui seront les 4 bit de poids faible :

asc(char 9) toBin = 00000010
asc(char 11)toBin = 10100001

La valeur de l'octet d'etat recomposée est donc : 00001010 = 10



La valeur du capteur Analogique 4 est contenu dans les 2 bits low de (char 9) pour les bits superieurs et des 8 bit de char 10 pour les bits inferieurs
asc(char 9) toBin = 00000010
asc(char 10) toBin = 01111011
ce qui fait : 1001111011 = 635

On realise la meme operation pour recuper la valeur du capteur Analogique 5 qui est stockée dans les 2 bit low de char 11 et dans les 8 bit de char 12 :
asc(char 11)toBin = 10100001
asc(char 12) toBin = 00011001
ce qui donne : 0100011001 = 281

Voici le code qui me fait l'extraction d'un datagramme brut entrant (en VB6).
Je passe en parametre mon datagramme composé de l'entete (facultative) et des 16 octets de paquet contenant les données et en sortie j'ai une liste de 11 valeurs en Hexa que je stock dans un tableau,un controle,un objet ou un fichier suivant les besoins.

Image IPB

Vala, Simple mais bigrement efficace Image IPB


Z'inquietez pas, c'est juste pour faire remonter le post pour ne pas avoir a le chercher vu que je reecrit le protocole dans d'autres langage.

Quand je vois la date, ca me fait bizard ... J'ai ecrit le protocole PerfTracker il y a déja 3 ans Image IPB ... Comme quoi, meme quand j'etais tout petit, j'avais déja du genie Image IPB

wot_1.jpg
It's not a Clevor. it's a RRP Windland build in Burgundy 


#262 franckgras

franckgras

    Top Fuel

  • Modérateurs
  • PipPipPipPipPip
  • 11302 Messages :
  • Gender:Male
  • Location:France sud, Orange
  • Interests:mustang, ciné
  • Mustang:Fastback 68 289 2V

Posté 22 November 2011 - 08:56 PM

He bien sur tu voudrais aussi que dans la foulé, j'en profite pour te faire le par brise et le niveau d'huile Image IPB


J'aurais essayé ça coute rien Image IPB
  • 0
"La théorie c'est quand on sait tout et que rien ne fonctionne. La pratique c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni theorie et pratique: rien ne fonctionne et personne ne sait pourquoi." Albert Einstein..........

#263 Mico

Mico

    Top Fuel

  • Membres
  • PipPipPipPipPip
  • 2513 Messages :
  • Gender:Male
  • Location:Gembloux, Belgique
  • Mustang:Mach1 73 modele T5

Posté 23 November 2011 - 10:11 AM

Z'inquietez pas, c'est juste pour faire remonter le post pour ne pas avoir a le chercher vu que je reecrit le protocole dans d'autres langage.

Quand je vois la date, ca me fait bizard ... J'ai ecrit le protocole PerfTracker il y a déja 3 ans Image IPB ... Comme quoi, meme quand j'etais tout petit, j'avais déja du genie Image IPB


Mince il a quel âge ;)
  • 0

Ford T5 Mach1 V8 351ci 4V 1973


Mon Garage

 


#264 chamagne

chamagne

    428 INSIDE

  • Membres
  • PipPipPipPipPip
  • 3411 Messages :
  • Gender:Male
  • Location:poitiers
  • Interests:DRAGSTER,la WOT,le BACC et les AMIS qui vont autour
  • Mustang:coupé 68 pour tracter les bus

Posté 23 November 2011 - 11:21 AM

Mince il a quel âge ;)

l'age de ROMU ça reste une enigme pour le monde scientifique,parait qu'il affutait les bolides à BEN HUR et meme qu'il aurait collé du noz sur le bourrin à ATTILA...Mais ce n'est peut etre qu'une legende urbaine(le femme du Ben Hur :lol: )
  • 0

wot_1.jpg[url="http://www.billyocte...otos/wot_1.jpg"
WTF a chevy in your garage





0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)