Petit Script LUA
+10
Avionic78
Sacre100
Heisenberg
CoyotteDundee
blonblon
pat31
.AleX.
nicephore
cdauv
Eric84AMC
14 participants
Page 2 sur 7
Page 2 sur 7 • 1, 2, 3, 4, 5, 6, 7
Re: Petit Script LUA
le script est sur A2 et pour rssi, j'ai des gros doigts, je modifie le script et je le renvoie, avec en prime l'affichage de l'altitude max ajouté dernièrement mais pas testé (pas de vario/ gps)
Invité- Invité
Re: Petit Script LUA
j'ai oublié le fichier
le voila
le voila
- Fichiers joints
Dernière édition par @ntoine le Mar 22 Juil 2014 - 14:53, édité 1 fois (Raison : correction d'une erreur dans le fichier)
Invité- Invité
Invité- Invité
Re: Petit Script LUA
@ntoine a écrit:pour choisir entre 2 et 3S
c'est relativement simple car il n'y a pas de plage de tension commune
- Code:
local t = (getValue(203))
if t < 8.7 then
local percent1 = (getValue(203)-7.1068) / 0.0118
if percent1 < 0 then
percent1 = 0
end
else
local percent1 = (getValue(203)-10.6602) / 0.0177
if percent1 < 0 then
percent1 = 0
end
end
un truc comme ca devrait passer
Bonjour,
Pour la détection du nombre de cellule il est possible d'utiliser:
- Code:
cell_count = math.ceil(filtered_voltage / 4.25)
ce qui semble fonctionner jusqu'a 12S.
Cordialement
Nicéphore
nicephore- Messages : 612
Date d'inscription : 14/06/2014
Localisation : Créteil
Re: Petit Script LUA
nicephore a écrit:Bonjour,
Pour la détection du nombre de cellule il est possible d'utiliser:
- Code:
cell_count = math.ceil(filtered_voltage / 4.25)
ce qui semble fonctionner jusqu'a 12S.
Cordialement
Nicéphore
Attention, très dangereux !!
Si tu tourne en 4s ou plus et que tu en mets une pas chargée, il y a un risque très important que le script détecte une cellule de moins et te dise que le pack est bien chargé
.AleX.- Messages : 1459
Date d'inscription : 24/11/2013
Localisation : Clermont-Fd(63) ou parfois Annecy(74)
Re: Petit Script LUA
Oui effectivement j'avais pas pensé à ça.
nicephore- Messages : 612
Date d'inscription : 14/06/2014
Localisation : Créteil
Re: Petit Script LUA
C'est justement pour ça que JPG63 cherche une solution pour que le nombre de cellules, ou la plage de tension, soit défini dans les réglages du modèle, pour que le script aille chercher l'info que l'utilisateur à défini.
.AleX.- Messages : 1459
Date d'inscription : 24/11/2013
Localisation : Clermont-Fd(63) ou parfois Annecy(74)
Re: Petit Script LUA
oui mon idée est d'avoir un "model scripts" ou on fait le choix de la source et du nombre de cellules. Ensuite on récupère les info dans le script de telemetry. Le seul problème est de faire passer les données de sortie du model script de façon propre. Ça marche en utilisant une voie mais c'est vraiment moche. Dès que j'ai une solution je posterai le tout
Invité- Invité
Re: Petit Script LUA
jpg63 a écrit:Dès que j'ai une solution je posterai le tout
Je sais pas si ça t'aidera, mais ça me semble une piste à creuser...
Dans la doc de LUA, il est fait état de variables locales, globales ou tables
Possible que par défaut, les variables soit locales, et que du coup elles ne puissent pas être récupérées depuis un autre script....
http://www.lua.org/manual/5.2/manual.html#3.2
.AleX.- Messages : 1459
Date d'inscription : 24/11/2013
Localisation : Clermont-Fd(63) ou parfois Annecy(74)
Re: Petit Script LUA
Peut-être aussi ce clavardage qui peut mettre sur une piste d'une idée d'une constante définie en eeprom et accessible par l'environnement LUA... https://github.com/opentx/opentx/issues/1480
.AleX.- Messages : 1459
Date d'inscription : 24/11/2013
Localisation : Clermont-Fd(63) ou parfois Annecy(74)
Re: Petit Script LUA
j'ai trouvé dans la doc qu'il existe les variables globales, je vais essayer dès que j'ai un moment de tester tout ça
Invité- Invité
Re: Petit Script LUA
@ntoine a écrit:après tracage des courbes avec avec mon chargeur ultramat je confirme donc
les équations linéaires pour du lipo valable de 100 20 %
2S %=(T-7,1068)/0,0118
3S %=(T-10,6602)/0,0177
4S %=(T-14,2136)/0,0236
5S %=(T-17,767)/0,0295
et rajoute
les équations linéaires pour du life valable de 80 20 %
2S %=(T-6,0156)/0,0055
3S %=(T-9,0233)/0,0082
4S %=(T-12,031)/0,0109
5S %=(T-15,039)/0,0137
Bonjour Antoine et à tous les autres.
Je te remercie pour ton travail.
Si pour les lipo je retrouve bien les valeurs que j'obtiens sur mon testeur d'accu, il n'en est pas de même pour les Life où une différence significative apparaît. Ainsi pour 100%, la tension obtenue est de 9,84 volts pour une 3S, alors que mon contrôleur, ainsi que mon chargeur me donnent pratiquement 1 volt de plus.
Est ce moi qui fait une mauvaise manip, ou c'est il glissé une erreur dans tes équations?
Amicalement
Patrice
pat31- Messages : 777
Date d'inscription : 11/11/2013
Age : 78
Localisation : Pays de l'Ovalie
Re: Petit Script LUA
Pat31, les tensions de charge/décharge maxi d'un LiFe ne sont pas les mêmes que pour un lipo !
La plage "standard" en Lipo est 4,2V en pleine charge à 3V par cellule quand elle est quasi vide, alors qu'en LiFe, c'est de 3,6 au max, et en dessous de 3,25V ça s’effondre vite, avec un mini à ne pas atteindre de 2.5V
Une autre approche plus généraliste pourrait être de se baser sur justement une formule générique..
voltage = la tension mesurée, ici le résultat du getValue(203)
minCell = tension minimale par cellule
maxCell = tension en pleine charge
countCell = nombre de cellules de l'accu.
On aurait alors quelque chose dans ce genre :
charge = (( voltage/countCell ) - minCell ) / ( maxCell - minCell )
charge va alors de 0 à 1 en fonction des critères choisi, il faut ajoute un *100 pour l'affichage du baregraph en %
Après, à chacun d'adapter selon sa technologie de batterie et son usage...
Par exemple en lipo selon si la consommation (hélico vs motoplaneur par exemple), on aura tendance à choisir un seuil de tension mini plus ou moins important entre 2.9V et 3.2V ...
La plage "standard" en Lipo est 4,2V en pleine charge à 3V par cellule quand elle est quasi vide, alors qu'en LiFe, c'est de 3,6 au max, et en dessous de 3,25V ça s’effondre vite, avec un mini à ne pas atteindre de 2.5V
Une autre approche plus généraliste pourrait être de se baser sur justement une formule générique..
voltage = la tension mesurée, ici le résultat du getValue(203)
minCell = tension minimale par cellule
maxCell = tension en pleine charge
countCell = nombre de cellules de l'accu.
On aurait alors quelque chose dans ce genre :
charge = (( voltage/countCell ) - minCell ) / ( maxCell - minCell )
charge va alors de 0 à 1 en fonction des critères choisi, il faut ajoute un *100 pour l'affichage du baregraph en %
Après, à chacun d'adapter selon sa technologie de batterie et son usage...
Par exemple en lipo selon si la consommation (hélico vs motoplaneur par exemple), on aura tendance à choisir un seuil de tension mini plus ou moins important entre 2.9V et 3.2V ...
.AleX.- Messages : 1459
Date d'inscription : 24/11/2013
Localisation : Clermont-Fd(63) ou parfois Annecy(74)
Re: Petit Script LUA
je n'ai pas ma taranis sous la main pour tester mais voici l'idée
telemX.lua renommé et copier dans SCRIPT/Nom du modèle ---- script telemetry avec source et nombre de cellule lipo paramétrable
intcell.lua à copier dans SCRIPT/MIXES on ajoute le script dans custom script LUA et on choisit la source (A1 ou A2) et le nombre de cellule pour la lipo de réception (1 à 6)
telemX.lua renommé et copier dans SCRIPT/Nom du modèle ---- script telemetry avec source et nombre de cellule lipo paramétrable
intcell.lua à copier dans SCRIPT/MIXES on ajoute le script dans custom script LUA et on choisit la source (A1 ou A2) et le nombre de cellule pour la lipo de réception (1 à 6)
- Fichiers joints
Invité- Invité
Re: Petit Script LUA
l'approximation linéaire n'est valable que de 80% a 20% donc a 100% cette approximation n'est pas bonnepat31 a écrit:@ntoine a écrit:après tracage des courbes avec avec mon chargeur ultramat je confirme donc
les équations linéaires pour du lipo valable de 100 20 %
2S %=(T-7,1068)/0,0118
3S %=(T-10,6602)/0,0177
4S %=(T-14,2136)/0,0236
5S %=(T-17,767)/0,0295
et rajoute
les équations linéaires pour du life valable de 80 20 %
2S %=(T-6,0156)/0,0055
3S %=(T-9,0233)/0,0082
4S %=(T-12,031)/0,0109
5S %=(T-15,039)/0,0137
Bonjour Antoine et à tous les autres.
Je te remercie pour ton travail.
Si pour les lipo je retrouve bien les valeurs que j'obtiens sur mon testeur d'accu, il n'en est pas de même pour les Life où une différence significative apparaît. Ainsi pour 100%, la tension obtenue est de 9,84 volts pour une 3S, alors que mon contrôleur, ainsi que mon chargeur me donnent pratiquement 1 volt de plus.
Est ce moi qui fait une mauvaise manip, ou c'est il glissé une erreur dans tes équations?
Amicalement
Patrice
après ce pourcentage représente le % de capacité mAh et pas le % de la tension
pour ma batterie émetteur life 3s je suis passé a un calcul de % de tension qu' .Alex a donné
@ntoine
Invité- Invité
Re: Petit Script LUA
Bonjour,
Apparemment je me suis mal expliqué.
Un bon dessin valant mieux qu’un long discours je vous met en joint 2 photos de ma mesure d’une Life à partir d’un contrôleur de chez HK.
Comme vous pouvez le constater, mon accus Life est chargé à 69% et a une tension de 9,97 volts.
Si j’applique l’équation d’Antoine, le résultat est très différent.
(T_ 9,0233) / 0,0082 donne : ( 9,97 – 9,0233 ) / 0,0082 = 115%
Où est le bug ?
Apparemment je me suis mal expliqué.
Un bon dessin valant mieux qu’un long discours je vous met en joint 2 photos de ma mesure d’une Life à partir d’un contrôleur de chez HK.
Comme vous pouvez le constater, mon accus Life est chargé à 69% et a une tension de 9,97 volts.
Si j’applique l’équation d’Antoine, le résultat est très différent.
(T_ 9,0233) / 0,0082 donne : ( 9,97 – 9,0233 ) / 0,0082 = 115%
Où est le bug ?
pat31- Messages : 777
Date d'inscription : 11/11/2013
Age : 78
Localisation : Pays de l'Ovalie
Re: Petit Script LUA
Bonsoir
A priori ce scripte détermine le nombre de cellules jusque 12 cellules.
A priori ce scripte détermine le nombre de cellules jusque 12 cellules.
- Fichiers joints
blonblon- Messages : 214
Date d'inscription : 25/03/2014
Age : 73
Localisation : pres d'Uzes (Gard)
Re: Petit Script LUA
voila mon script de télémétrie mise à jour avec le paramétrage de la source de tension et le nombre de cellule de la lipo
mettre le script intcell.lua dans SCRIPT/MIXES sur la carte SD
Ajouter le script dans les custom scripts lua
paramètrer le script pour indiquer la source de tension - A1, A2 et le nombre de cellule de la lipo
mettre le script intcell.lua dans SCRIPT/MIXES sur la carte SD
Ajouter le script dans les custom scripts lua
paramètrer le script pour indiquer la source de tension - A1, A2 et le nombre de cellule de la lipo
- Fichiers joints
Invité- Invité
Re: Petit Script LUA
pat31 a écrit:Bonjour,
Apparemment je me suis mal expliqué.
Un bon dessin valant mieux qu’un long discours je vous met en joint 2 photos de ma mesure d’une Life à partir d’un contrôleur de chez HK.
Comme vous pouvez le constater, mon accus Life est chargé à 69% et a une tension de 9,97 volts.
Si j’applique l’équation d’Antoine, le résultat est très différent.
(T_ 9,0233) / 0,0082 donne : ( 9,97 – 9,0233 ) / 0,0082 = 115%
Où est le bug ?
Pour moi, dans la formule...
On ne sait pas trop quelles valeurs ton testeur HK utilise non plus....
Potentiellement, par approximation, son seuil de limite basse serait de 2,7V /élément, ce qui est une valeur moyenne pas trop pourrie, vu que l'accu commence à se dégrader à 2.5V
Avec la méthode que je propose, on obtient :
voltage = la tension mesurée = 9,97
minCell = 2,5 pour du LiFe (mais euh, là c'est vraiment le seuil limite !)
maxCell = 3,6 pour du LiFe
countCell = 3 pour ton pack
L'application de charge = (( voltage/countCell ) - minCell ) / ( maxCell - minCell ) nous donne
( ( 9,97/3 ) - 2,5 ) / ( 3,3 - 2,5 ) = 0,748 , soit quasiment 75%
En prenant une tension mini par cellule de 3V, ce qui est plus prudent, on obtient
( ( 9,97/3 ) - 3 ) / ( 3,3 - 3 ) = 0,5388, soit quasiment 60%
Et en prenant les 2.7V que ton testeur à probablement comme valeur de '0%', ça nous donne un résultat de
( ( 9,97/3 ) - 2,7 ) / ( 3,3 - 2,7 ) = 0,6925, en gros les 69% que tu lis sur ton testeur.
Dernière édition par .AleX. le Ven 25 Juil 2014 - 10:41, édité 1 fois
.AleX.- Messages : 1459
Date d'inscription : 24/11/2013
Localisation : Clermont-Fd(63) ou parfois Annecy(74)
Re: Petit Script LUA
n'ayant pas sauvegardé les valeurs de ma courbe je recommence
je vous donne ma procédure
je vide mon pack de life a 2.7 par élément
je lui applique une charge de 1C pour être sur qu'il est a 100%
je le décharge a 1C en branchant le pc sur le chargeur
je trace la courbe Tension V en fonction de capacité mAh
puis je fais une approximation linéaire de cette courbe
pour avoir un coeff de détermination R² relativement fort >0.95
je vous donne ma procédure
je vide mon pack de life a 2.7 par élément
je lui applique une charge de 1C pour être sur qu'il est a 100%
je le décharge a 1C en branchant le pc sur le chargeur
je trace la courbe Tension V en fonction de capacité mAh
puis je fais une approximation linéaire de cette courbe
pour avoir un coeff de détermination R² relativement fort >0.95
Invité- Invité
Re: Petit Script LUA
J'ai volé en utilisant l’équation pour les Lipo 3S. Les valeurs sont assez fiable par rapport à mon petit tester graupner
Dans la taranis d'origine j'ai un Ni MH 7.2V. Si il existe une équation un peu plus juste que celle implémentée dans mon script, je suis preneur. Je le rajouterai, avec en plus le choix du type de batterie d’émission (NiMh, LiFe, Lipo) et le nombre d'élément.
local percent = (getValue("tx-voltage")-settings.battMin) * 100 / (settings.battMax-settings.battMin)
Dans la taranis d'origine j'ai un Ni MH 7.2V. Si il existe une équation un peu plus juste que celle implémentée dans mon script, je suis preneur. Je le rajouterai, avec en plus le choix du type de batterie d’émission (NiMh, LiFe, Lipo) et le nombre d'élément.
local percent = (getValue("tx-voltage")-settings.battMin) * 100 / (settings.battMax-settings.battMin)
Invité- Invité
Page 2 sur 7 • 1, 2, 3, 4, 5, 6, 7
Sujets similaires
» quel petit recepteur pour un petit planeur 3 axes?
» Editeur de script LUA
» Bug sur script LUA
» Script LUA S6R
» vol script lua
» Editeur de script LUA
» Bug sur script LUA
» Script LUA S6R
» vol script lua
Page 2 sur 7
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum