Programme minimaliste (mais votre CDC l'est aussi : que doit-on faire de la tension mesurée ?)Bonsoir à tous
Je suis nouveau et je découvre les Picaxes...
Je voudrais pouvoir mesurer une tension évoluant de 0 à 50VDC.
Après adaptation par un pond diviseur, bien sur.
Mais je n'arrive pas à faire le programme.
Si quelqu'un pouvais m'aider se serait super.
Merci
do
readadc C.1,b0
sertxd (#b0,13,10)
loop
'Affichage de U de 0 à 50V
;tension var sur C.7
symbol U=w0 'Variable de la tension
'===== Directives de compilation ==========================
#picaxe 20x2 'Microcontrôleur utilisé : PICAXE-20X2
#no_data 'Pas de données en EEPROM
#terminal off 'Pas de terminal sur PC
; Initialisation LCD *********
serout C.0, N2400, (254,1) 'Effacement de l'afficheur LCD
serout C.0, N2400,(" ") 'Effacement du nombre
pause 50
U=0
; Affichage texte ***********************
serout C.0, N2400, (254,128) 'Positionnement Ligne 0, Colonne 0
serout C.0, N2400,("Tension stabilisée") 'Affichage du texte
do
pause 50
; Affichage variable actualisée **********
readadc10 C.7,U
U= U*50/102*5 ;mise é l'échelle avec approximation
bintoascii U,b7,b6,b6,b5,b4 ;2 chiffres avant la virgule et 2 aprés
serout C.0, N2400, (254,192) 'Positionnement Ligne 1, Colonne 0
serout C.0, N2400,(b7,b6,",",b5,b4," Volts") 'Affichage de la tension
loop
[code]
Mais le résultat n'est pas bon.
J'ai fait un diviseur de tension par 5 en amont de mon entrée ADC.
Sur mon afficheur je lis bien la tension présente en C7 (broche 3 du 20x2), mais arrivé à 9.99 cela repasse à 0. Le chiffre des dizaines ne s'affiche jamais.
Mon afficheur est un "Axe133"
Merci de votre réponse
Même avis !Faire un pont diviseur par 5 avec une tension max de 50V est une mauvaise idée , car vous aurez 10Volts sur le broche readadc ! . Le µC ne va certainement pas aimer ; ... au minimum un pont diviseur par 10 je pense
Ceci me semble miraculeux : avez-vous utilisé un voltmètre en parallèle pour mesurer cette tension ?Sur mon afficheur je lis bien la tension présente en C7 (broche 3 du 20x2),
Toutes mes excuses également :Oui j'ai utilisé un multimètre, c'était bon.
Excusez moi pour la balise, je ne suis pas habitué
Ca a sauvé votre PICAXE ! N'oubliez pas de diviser par 10 et non par 5 !En fait pour l'instant mon entrée ADC est un potar qui envoie une tension max de 5 volts sur l'entrée.
Vous ne pouvez mettre que des variables après bintoascii. Par exemple :J'ai mis 2 fois "b6" parceque en mettant b7,b6,","b5,b4 le logiciel me dis qu'il y a une erreur avec b7.
Merci d'enlever l'espace dans la première balise (je l'ai mis juste pour que la balise ne soit pas interprétée, mais il n'en faut pas !)j'ai mis ceci:
[ CODE]
bintoascii U,b7,b6,b6,b5,b4
[/CODE]
;tension var sur C.7
symbol U=w0 'Variable de la tension
'===== Directives de compilation ==========================
#picaxe 20x2 'Microcontrôleur utilisé : PICAXE-20X2
#no_data 'Pas de données en EEPROM
#terminal off 'Pas de terminal sur PC
; Initialisation LCD *********
serout C.0, N2400, (254,1) 'Effacement de l'afficheur LCD
serout C.0, N2400,(" ") 'Effacement du nombre
pause 50
U=0
; Affichage texte ***********************
serout C.0, N2400, (254,128) 'Positionnement Ligne 0, Colonne 0
serout C.0, N2400,("Tension stabilisée") 'Affichage du texte
do
pause 50
; Affichage variable actualisée **********
readadc10 C.7,U
U= U*50/102*5 ;mise à l'échelle avec
approximation
bintoascii U,b8,b7,b6,b5,b4 ;2 chiffres avant la virgule et 2 aprés
serout C.0, N2400, (254,192) 'Positionnement Ligne 1, Colonne 0
serout C.0, N2400,(b7,b6,",",b5,b4," Volts") 'Affichage de la tension
loop
Bintoascii décompose un nombre vers chacun des chiffres qui le compose.J'ai fait ce programme, mais c'est un peut par hasard car je ne comprend pas tout.
Remarque plus générale (et donc un peu hors sujet...)J'ai fait ce programme, mais c'est un peut par hasard car je ne comprend pas tout.
et donc raisonner avant de programmerappréhender la démarche de .... raisonnement...
;tension var sur C.4
;Résonnateur piezo sur C.2
symbol U=w0 'Variable de la tension
'===== Directives de compilation ==========================
#picaxe 08m2 'Microcontrôleur utilisé : PICAXE-08M2
#no_data 'Pas de données en EEPROM
#terminal off
'Pas de terminal sur PC
sound C.2,(100,100) 'Sonorité aigue de 200 mS.
; Initialisation LCD *********
serout C.1, N2400, (254,1) 'Effacement de l'afficheur LCD
serout C.1, N2400,(" ") 'Effacement du nombre
pause 50
U=0
; Affichage texte ***********************
serout C.1, N2400, (254,128) 'Positionnement Ligne 0, Colonne 0
serout C.1, N2400,("Tension stabilisée") 'Affichage du texte
do
pause 50
; Affichage variable actualisée **********
readadc10 C.4,U
U= U*50/102*10 ;mise à l'échelle avec approximation
bintoascii U,b8,b7,b6,b5,b4 ;2 chiffres avant la virgule et 2 aprés
serout C.1, N2400, (254,192) 'Positionnement Ligne 1, Colonne 0
serout C.1, N2400,(b7,b6,",",b5,b4," Volts") 'Affichage de la tension
loop
Non seulement c'est plus conforme, mais surtout la résolution est deux fois meilleure.Avec "U=U**64000*10+1/2", cela donne pour 50V en entrée une tension affichée de 49.95V, effectivement c'est mieux.
Mais pourquoi 2 * après le "U"?
Rien à ajouter si ce n'est que R1 n'est pas normalisé. Si vous avez la place, le plus simple est de prendre 9 résistances type R2 qui seront donc probablement identiques si prises dans la même bande, et ceci même si le code couleur indique une précision médiocre.
Votre raisonnement est exact. C'est le même coté V+. C'est juste une protection et on mise sur le fait que la source va s'effondrer (ou cramer...)Désolé d'insister car je ne comprends pas trop le principe de protection d'inversion de polarité sur ce schéma ?
Pour moi en l'état le courant passe par les résistances les diodes sont bloquées .
En cas d’inversion de polarité le courant passe par les diodes et courtcircuite l'alim ? non ? Il ne faudrait pas mettre la diode en série entre le moins de l'alim et R2 ( cathode vers le moins ) ? Attentio nca creer une chute de tension de la Vf de la diode pour la mesure ( a mesuré) !
Heureux homme...Pour ce qui est des R. de 9K, j'en ai récupéré d'ancien stock de composant militaire et il m'en reste quelque une des 1K pareil...