Capteur de pression ADV PS30
2 participants
Page 1 sur 1
Capteur de pression ADV PS30
Bonjour à tous.
Suite à un problème de perte de pression pneumatique en vol qui a conduit à un atterrissage de fortune, j'ai décidé de m'équiper d'un capteur qui me préviendra en cas de fuite et pourra ainsi sortir mon train avant qu'il ne soit trop tard.
J'ai monté le capteur sur l'avion et tout va bien...sauf que le retour télémétrique se fait à 6 chiffres. Et c'est là que ça coince. A pression atmosphérique, en configurant la précision à 0. dans la page télémesure, j'ai une valeur de 102494 (oui, il fait beau). J'en détermine que ce sont des pascals. Je change la précision à 0.00 et me retrouve donc avec des hpa. Mon problème est que dans les inters logiques pour a >x je ne peux pas rentrer de valeur supérieure à 300. Hors moi c’est 3000 que je voudrais rentrer. Avez-vous une idée sur comment faire? J’ai cherché avec des entrée ou capteur calculé mais rien ne fonctionne comme je veux. Je voudrai pouvoir diviser cette sortie telemetrique par 100 ou 1000.
Suite à un problème de perte de pression pneumatique en vol qui a conduit à un atterrissage de fortune, j'ai décidé de m'équiper d'un capteur qui me préviendra en cas de fuite et pourra ainsi sortir mon train avant qu'il ne soit trop tard.
J'ai monté le capteur sur l'avion et tout va bien...sauf que le retour télémétrique se fait à 6 chiffres. Et c'est là que ça coince. A pression atmosphérique, en configurant la précision à 0. dans la page télémesure, j'ai une valeur de 102494 (oui, il fait beau). J'en détermine que ce sont des pascals. Je change la précision à 0.00 et me retrouve donc avec des hpa. Mon problème est que dans les inters logiques pour a >x je ne peux pas rentrer de valeur supérieure à 300. Hors moi c’est 3000 que je voudrais rentrer. Avez-vous une idée sur comment faire? J’ai cherché avec des entrée ou capteur calculé mais rien ne fonctionne comme je veux. Je voudrai pouvoir diviser cette sortie telemetrique par 100 ou 1000.
Barceque- Messages : 118
Date d'inscription : 27/04/2017
Age : 44
Localisation : Vaucluse
Re: Capteur de pression ADV PS30
Personne n’a d’idée ? Je précise qu’openTx n’a ni hpa ni bar dans les unités disponibles et que je suis donc en chiffres brut.
Barceque- Messages : 118
Date d'inscription : 27/04/2017
Age : 44
Localisation : Vaucluse
Re: Capteur de pression ADV PS30
Hello, je ne t'apporte pas la solution mais j'étudie volontiers ton cas.
Effectivement, le capteur ADV de pression retourne la pression en Pa (101 325 Pa = env 1 bar) N'ayant pas ce capteur à disposition, je pourrais investiguer si tu publies l'OTX du modèle qui a enregistré le capteur.
Personnellement, excepté pour les capteurs Lipo, je construis moi-même tous les capteurs et le retour télémétrique s'effectue à l'aide d'Arduino + récepteur.
J'ai abandonné les trains rétractables pneumatique double effet pour leurs manque de fiabilités.
Belle journée
Effectivement, le capteur ADV de pression retourne la pression en Pa (101 325 Pa = env 1 bar) N'ayant pas ce capteur à disposition, je pourrais investiguer si tu publies l'OTX du modèle qui a enregistré le capteur.
Personnellement, excepté pour les capteurs Lipo, je construis moi-même tous les capteurs et le retour télémétrique s'effectue à l'aide d'Arduino + récepteur.
J'ai abandonné les trains rétractables pneumatique double effet pour leurs manque de fiabilités.
Belle journée
filduch- Messages : 1785
Date d'inscription : 01/01/2016
Age : 65
Localisation : Suisse - Versoix Model Club
Re: Capteur de pression ADV PS30
Merci Filduch,
voici l'otx plus le fichier lot d'un essai de mise en pression. On y voit dans la colonne "pres" les valeurs renvoyées par le capteur.
voici l'otx plus le fichier lot d'un essai de mise en pression. On y voit dans la colonne "pres" les valeurs renvoyées par le capteur.
- Fichiers joints
Barceque- Messages : 118
Date d'inscription : 27/04/2017
Age : 44
Localisation : Vaucluse
Re: Capteur de pression ADV PS30
Hello, je ne connais pas exactement les limitations d'OpenTx concernant les valeurs que l'on peut définir mais je sais par contre qu'un petit LUA pourrait bien t'apporter la solution.
Le petit LUA est à définir pour le modèle en question et il devra être responsable de réduire la valeur de pression en valeur interprétable par OpenTX (ex. divison par 100'000 qui correspond à 1 bar). A titre d'exemple, j'ai écrit un petit LUA afin de créer un capteur logique "calculé" (DTCy) qui contient la différence des valeurs de température des deux cylindres de mon moteur :
-- LUA Différence de température entre deux cylindres
local outputs = { "DTCy" }
local function run()
local TmCD = getValue("TmCD")
local TmCG = getValue("TmCG")
TmDi = math.abs (TmCD - TmCG)
setTelemetryValue(0xb21, 0, 0xF0,TmDi, 0, 0, "DTCy") -- Différence de température en valeur absolue
if status ~= 0 then
return 10
else
return 0
end
end
return { run=run, output=outputs }
Ce script est à définir pour le modèle et à mettre sous \SCRIPTS\MIXES
Il existe nombre de documentation en ce qui concerne la programmation en LUA OpenTx (ex. https://doc.open-tx.org/opentx-2-2-lua-reference-guide/)
Belle journée
Le petit LUA est à définir pour le modèle en question et il devra être responsable de réduire la valeur de pression en valeur interprétable par OpenTX (ex. divison par 100'000 qui correspond à 1 bar). A titre d'exemple, j'ai écrit un petit LUA afin de créer un capteur logique "calculé" (DTCy) qui contient la différence des valeurs de température des deux cylindres de mon moteur :
-- LUA Différence de température entre deux cylindres
local outputs = { "DTCy" }
local function run()
local TmCD = getValue("TmCD")
local TmCG = getValue("TmCG")
TmDi = math.abs (TmCD - TmCG)
setTelemetryValue(0xb21, 0, 0xF0,TmDi, 0, 0, "DTCy") -- Différence de température en valeur absolue
if status ~= 0 then
return 10
else
return 0
end
end
return { run=run, output=outputs }
Ce script est à définir pour le modèle et à mettre sous \SCRIPTS\MIXES
Il existe nombre de documentation en ce qui concerne la programmation en LUA OpenTx (ex. https://doc.open-tx.org/opentx-2-2-lua-reference-guide/)
Belle journée
filduch- Messages : 1785
Date d'inscription : 01/01/2016
Age : 65
Localisation : Suisse - Versoix Model Club
Re: Capteur de pression ADV PS30
Merci beaucoup Filduch. Cela semble effectivement une bonne solution à mon problème. Par contre je n'est que de vague et très ancienne notions de programmation. Dans ton script, quelle est l'utilité de la dernière partie?
if status ~= 0 then
return 10
else
return 0
end
end
Pour mon script, je pense juste récupérer la valeur de pression et la réinjecter en changeant la précision dans setTelemetryValue.
Cela donnerai un truc comme ça:
local outputs = { "Airp" }
local function run()
local Air = getValue("Pres")
setTelemetryValue(0xb21, 0, 0xF0, Air, 0, 3, "Airp")
if status ~= 0 then
return 10
else
return 0
end
end
return { run=run, output=outputs }
Qu'en penses-tu?
Autres questions : Est-ce bien dans les opérations disponibles (addition, moyennes, etc ) pour un capteur calculé que je doit retrouver le script?
Est-ce que cela marche dans companion?
Encore merci à toi de te pencher sur mon problème.
if status ~= 0 then
return 10
else
return 0
end
end
Pour mon script, je pense juste récupérer la valeur de pression et la réinjecter en changeant la précision dans setTelemetryValue.
Cela donnerai un truc comme ça:
local outputs = { "Airp" }
local function run()
local Air = getValue("Pres")
setTelemetryValue(0xb21, 0, 0xF0, Air, 0, 3, "Airp")
if status ~= 0 then
return 10
else
return 0
end
end
return { run=run, output=outputs }
Qu'en penses-tu?
Autres questions : Est-ce bien dans les opérations disponibles (addition, moyennes, etc ) pour un capteur calculé que je doit retrouver le script?
Est-ce que cela marche dans companion?
Encore merci à toi de te pencher sur mon problème.
Barceque- Messages : 118
Date d'inscription : 27/04/2017
Age : 44
Localisation : Vaucluse
Re: Capteur de pression ADV PS30
Cela fait longtemps également...
Je crois me souvenir que la section permet d'aborter le script afin qu'il ne tourne pas indéfiniment si quelque chose se passe de mal.
J'aurais fait un peu différemment de toi :
- Air = (Air / 100000)
- setTelemetryValue(0xb21, 0, 0xF0, Air, 0, 0, "Airp")
au lieu de
- setTelemetryValue(0xb21, 0, 0xF0, Air, 0, 3, "Airp")
Mais cela revient peut-être au même
Quand tu sélectionnes pour la première fois le modèle, le capteur logique est créé. Par la suite, Companion le verra et tu pourras l'intégrer dans l'onglet "inter logiques"
Je crois me souvenir que la section permet d'aborter le script afin qu'il ne tourne pas indéfiniment si quelque chose se passe de mal.
J'aurais fait un peu différemment de toi :
- Air = (Air / 100000)
- setTelemetryValue(0xb21, 0, 0xF0, Air, 0, 0, "Airp")
au lieu de
- setTelemetryValue(0xb21, 0, 0xF0, Air, 0, 3, "Airp")
Mais cela revient peut-être au même
Quand tu sélectionnes pour la première fois le modèle, le capteur logique est créé. Par la suite, Companion le verra et tu pourras l'intégrer dans l'onglet "inter logiques"
filduch- Messages : 1785
Date d'inscription : 01/01/2016
Age : 65
Localisation : Suisse - Versoix Model Club
Re: Capteur de pression ADV PS30
Ça marche! Un grand merci à toi Filduch!
Finalement, c'est un compromis des 2 codes qui donne le résultat attendu.
j'ai mis :
Air=Air/1000
SetTelemtryValue(0xb21, 0, 0xF0, Air, 0, 2, "Airp")
Avec ton code cela marchait mais j'avais les décimales toujours à 0. Avec le code ainsi, j'ai la pression en bar avec 2 chiffres après le virgule.
Finalement, c'est un compromis des 2 codes qui donne le résultat attendu.
j'ai mis :
Air=Air/1000
SetTelemtryValue(0xb21, 0, 0xF0, Air, 0, 2, "Airp")
Avec ton code cela marchait mais j'avais les décimales toujours à 0. Avec le code ainsi, j'ai la pression en bar avec 2 chiffres après le virgule.
Barceque- Messages : 118
Date d'inscription : 27/04/2017
Age : 44
Localisation : Vaucluse
Re: Capteur de pression ADV PS30
Super
Je me suis souvenu que j'avais un problème similaire au tien et que j'avais du passer par un petit script LUA tournant sur l'émetteur car OpenTx de base ne pouvait le faire. Pour ce qui des capteurs que je fabrique, j'utilise comme base openXsensor que je modifie en y intégrant ce type de calcul. Je peux donc soit envoyer les valeurs déjà formatées et/ou les formater à l'aide de scripts LUA qui tourne sur l'émetteur.
Plaisir d'avoir pu t'aider
Belle saison de vol (j'ai également un Spitfire de 2m20 propulsé avec un DLE55-RA et par sécurité je l'ai équipé de trains pneumatique "simple effet)
Je me suis souvenu que j'avais un problème similaire au tien et que j'avais du passer par un petit script LUA tournant sur l'émetteur car OpenTx de base ne pouvait le faire. Pour ce qui des capteurs que je fabrique, j'utilise comme base openXsensor que je modifie en y intégrant ce type de calcul. Je peux donc soit envoyer les valeurs déjà formatées et/ou les formater à l'aide de scripts LUA qui tourne sur l'émetteur.
Plaisir d'avoir pu t'aider
Belle saison de vol (j'ai également un Spitfire de 2m20 propulsé avec un DLE55-RA et par sécurité je l'ai équipé de trains pneumatique "simple effet)
filduch- Messages : 1785
Date d'inscription : 01/01/2016
Age : 65
Localisation : Suisse - Versoix Model Club
Re: Capteur de pression ADV PS30
Sur ce Spit j'ai également installé un arduino avec OpenXsensor pour avoir le régime moteur ainsi que 2 sondes de température. J'ai essayé de voir si je ne trouvais pas de capteur de pression pas cher à rajouter dessus mais je n'ai rien trouvé dans la gamme de pression qui m'intéressait. Je pense que tu as bien fait pour le simple effet. Ce spit, on me l'a donné alors je ne vais pas faire le difficile .
Bons vols à toi aussi!
Bons vols à toi aussi!
Barceque- Messages : 118
Date d'inscription : 27/04/2017
Age : 44
Localisation : Vaucluse
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum