Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Trouver la valeur Adc
Bonsoir paulfjujo, et tous le forum,
Je ne comprends pas ce que tu veux dire, sory
A+
paulfjujo a écrit :Source du message il serait aussi interessant d'afficher la résolution effective obtenue du pas ADC ; xx mV / bit
Je ne comprends pas ce que tu veux dire, sory
A+
Trouver la valeur Adc
Trouver la valeur Adc
- paulfjujo
Expert- Messages : 2794
- Âge : 74
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Temps-x a écrit :paulfjujo a écrit :Source du message il serait aussi interessant d'afficher la résolution effective obtenue du pas ADC ; xx mV / bit
Je ne comprends pas ce que tu veux dire, sory
A+
en fonction de la tension de referenc ADC en V ou mV
et de la resolution ADC 10b 1024, 12bits 4096
afficher le delta mV/point obtenu
Comparaison Excel et RapidQ
Ecarts dûs à ?
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Trouver la valeur Adc
Bonsoir gwion, paulfjujo,
Ok je vais rajouter
Normalement le courant doit corresponde à l'impédance de l'entrée ADC, je peux éventuellement le rajouté, mais il faut que je me renseigne
je suppose... sûrement à la précission du calcul, après la vircule, je controlerais par la suite
A+
gwion a écrit :Source du message Comme Paul, je voudrais bien voir directement la valeur du pas (une valeur de 1 lue correspond à x mV).
Ok je vais rajouter
gwion a écrit :Source du message Un autre renseignement intéressant serait le courant consommé par l'ADC, surtout pour les montages sur pile/batterie.
Normalement le courant doit corresponde à l'impédance de l'entrée ADC, je peux éventuellement le rajouté, mais il faut que je me renseigne
paulfjujo a écrit :Source du message Ecarts dûs à ?
je suppose... sûrement à la précission du calcul, après la vircule, je controlerais par la suite
A+
Trouver la valeur Adc
Trouver la valeur Adc
- paulfjujo
Expert- Messages : 2794
- Âge : 74
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
gwion a écrit :Source du message
Un autre renseignement intéressant serait le courant consommé par l'ADC, surtout pour les montages sur pile/batterie.
Temps-x a écrit :Normalement le courant doit corresponde à l'impédance de l'entrée ADC, je peux éventuellement le rajouté, mais il faut que je me renseigne
Ne pas oublier qu'on est dans le cas ADC du PIC
la consommation globale est plutot celle du PIC ...avec ses autres devices ou connections de R, ou leds ou ....
elle est donc tres variable.
par contre dans le cas d'un ADC ,composant externe
il faut se renseigner avec la data sheet de l'ADC utilisé.
encore faut-il rajouter la conso de l'equipement traitant la sortie dudit ADC
extrait de :
https://learn.microsoft.com/fr-fr/offic ... ate-result
Precision liée au format du flottant utilisé : 64bits ou 32 bits ?
Microsoft Excel stocke et calcule les nombres à virgule flottante selon la norme IEEE 754. IEEE
un test à faire sous excel t RapidQ
Sub Main()
MySum = 0
For I% = 1 To 10000
MySum = MySum + 0.0001
Next I%
Debug.Print MySum
End Sub
Cet exemple génère la sortie PRINT 0,999999999999996.
La faible erreur dans la représentation de 0,0001 au format binaire se propage à la somme
Trouver la valeur Adc
Bonsoir paulfjujo, et tout le forum,
En RapidQ tout dépends la déclaration des variables, après essai voisi ce que je trouve avec le code que tu as mis ci-dessus
Dim MySum single
Résultat : 1.00005352
Dim MySum integer
Résultat : 0
Dim MySum long
Résultat : 0
Dim MySum Double
Résultat : 1
Seule Double me permets de traiter la demande de ce calcul, dans mon programme AdcCon j'utilise Double
RapidQ est donc plus précis que excel (ça explique la différence des écarts)
Ouais.... une faible erreur.... mais qui se multiplie d'opération en opération, (les petites taille, parfois, engendre des grosses conséquence)
Je vais controler tout ça avec Proteus
A+
En RapidQ tout dépends la déclaration des variables, après essai voisi ce que je trouve avec le code que tu as mis ci-dessus
Dim MySum single
Résultat : 1.00005352
Dim MySum integer
Résultat : 0
Dim MySum long
Résultat : 0
Dim MySum Double
Résultat : 1
Seule Double me permets de traiter la demande de ce calcul, dans mon programme AdcCon j'utilise Double
RapidQ est donc plus précis que excel (ça explique la différence des écarts)
paulfjujo a écrit :Source du message La faible erreur dans la représentation de 0,0001 au format binaire se propage à la somme
Ouais.... une faible erreur.... mais qui se multiplie d'opération en opération, (les petites taille, parfois, engendre des grosses conséquence)
Je vais controler tout ça avec Proteus
A+
Trouver la valeur Adc
- paulfjujo
Expert- Messages : 2794
- Âge : 74
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Bonjour TempsX et à tous,
mon test avec excel 2007 :
erreur 9E-14 !
y a pas photo ... Excel est bien plus precis que RapidQ en single float 32 bits.
De tout façon le float avec PIC 8 bits n'est que sur 32 bits !
même si on utilise des doubles !
ou alors se tourner sur des PIC32 ou DSP ,ou avec un FPU ( voir discussions sur co-processeur arithmetique FPU)
la preuve ci dessous , test avec PIC18F27K42 et XC8 2.36
(F1 : Single 32 bits) Somme= 1.00005352
(D1 : Double 64 bits) Somme= 1.00005352
On trouve (heureusement) le meme resultat qu'avec RapiQ en single ...
Question :
Quel resultat obtiens-tu avec Rapidq en double ?
l' ADC 12 bits sera de toute façon à +-1 bit !
Je ne pense pas que la difference 32b ou 64bits pour le float explique les ecarts observés .
Une autre piste pouvant etre l'ordre des calculs intermediaires.
mon test avec excel 2007 :
erreur 9E-14 !
y a pas photo ... Excel est bien plus precis que RapidQ en single float 32 bits.
De tout façon le float avec PIC 8 bits n'est que sur 32 bits !
même si on utilise des doubles !
ou alors se tourner sur des PIC32 ou DSP ,ou avec un FPU ( voir discussions sur co-processeur arithmetique FPU)
la preuve ci dessous , test avec PIC18F27K42 et XC8 2.36
Code : Tout sélectionner
F1=0.0;
for (i=0;i<10000;i++)
{
F1=F1 + 0.0001;
}
sprintf(CRam1,"(F1 : Single 32 bits) Somme= %2.8f \r\n",F1);
Print(CRam1);
D1=0.0;
for (i=0;i<10000;i++)
{
D1=D1 + 0.0001;
}
sprintf(CRam1,"(D1 : Double 64 bits) Somme= %2.8f \r\n",D1);
Print(CRam1);
(F1 : Single 32 bits) Somme= 1.00005352
(D1 : Double 64 bits) Somme= 1.00005352
On trouve (heureusement) le meme resultat qu'avec RapiQ en single ...
Question :
Quel resultat obtiens-tu avec Rapidq en double ?
l' ADC 12 bits sera de toute façon à +-1 bit !
Je ne pense pas que la difference 32b ou 64bits pour le float explique les ecarts observés .
Une autre piste pouvant etre l'ordre des calculs intermediaires.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Trouver la valeur Adc
Bonsoir paulfjujo, et tout le forum,
Je crois que tu lis pas tous ce que s'écrit...... Indingué dans la réponse du post #17
Aller comme je suis de bonne fois voici la réponse c'est 1 que je trouve, y a pas plus précis, RapidQ reprends l'avantage
A+
Je crois que tu lis pas tous ce que s'écrit...... Indingué dans la réponse du post #17
Aller comme je suis de bonne fois voici la réponse c'est 1 que je trouve, y a pas plus précis, RapidQ reprends l'avantage
A+
Trouver la valeur Adc
- paulfjujo
Expert- Messages : 2794
- Âge : 74
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Temps-x a écrit : Je crois que tu lis pas tous ce que s'écrit...... Indingué dans la réponse du #17
, effectivement ,mal vu.
Temps-x a écrit :Aller comme je suis de bonne fois voici la réponse c'est 1 que je trouve
je ne doute pas de ta bonne foi, mais sans etre d'accord pour autant.
Combien de décimales peut-tu afficher derriere ce 1 ?
ne pas oublier que les fonctions d'affichages de resultats de valeurs en flottant , peuvent arrondir les resultats..
A mon avis les differences de resultats >0,7% ne s'expliquent pas par la précison intrinèque du flottant qui , en single ou double,
reste tres grande par rapports aux écarts de valeurs constatés ...
peux-tu poster ta partie de code RapidQ affichant le calcul du résultat en volts sur l'entree Adc .
.... je viens de trouver où est le BUG ...
au niveau du choix du pas ... qui arrondi les resultats affichés !
avec pas = 0.001
l'ecart initial execel-rapidQ de 21 pts
tombe à 1 point ..
avec un pas=0.0001 le programme plante ( division par zero ?)
je te propose de limiter seulemnt les resultats pour la valeur mini et la valeur maxi
plutot qu'à chacun des pas ... en laissant la resolution de calcul au mV pres.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Zone de téléchargements »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 11 invités