Bonjour,
Je veux réaliser un voltmètre en utilisant ma carte STM32F4 discovery , en fait c'est mon premier pas dans ce domaine et j'ai besoin de l'aide.
Merci d'avance.
-----
Bonjour,
Je veux réaliser un voltmètre en utilisant ma carte STM32F4 discovery , en fait c'est mon premier pas dans ce domaine et j'ai besoin de l'aide.
Merci d'avance.
Et bien, qu'as-tu déjà fait?
Quels périphériques utilises-tu?
et quelle plage de tension ? Quelle précision ?
Bonjour
Désolé je n'ai pas fait attention à votre réponse j'ai cru que je vais recevoir des notifications par mail mais ce n'était pas le cas (l'option est déjà activée!!) , de toute façon je pense que je dois utiliser essentiellement l'ADC , GPIO et peut être l'USART.
comme je vous ai dit , c'est mon premier pas , peut être j'avais pas raison.
Si tu ne sais pas ce que tu veux toi-même, personne ne pourra t'aider; Un bon projet commence par un bon cahier des charges, sur papier, avant même d'ouvrir une datasheet ou un quelconque outil.
Oui bien sûr , mais comme je vous ai dit c'est mon premier pas , c'est à dire je n'ai aucune idée sur ce truc, pour cela j'ai demandé de l'aide , et je voulais pas dire par cette demande "s'il vous plait réalisez ce projet et donnez moi la solution!!" , par contre je veux des conseils , comme le cas d'un prof qui va donner des conseils à son étudiant (et je suis déjà un étudiant) , de ce fait j'attends des "conseils" comme: il faudra mieux faire ceci et ne pas faire cela , tu peux utiliser l'ADC... etc ,car je me suis trouvé face à des centaines de pages de description en anglais et j'ai plein d'autres tâches à faire, c'est pour cela j'ai demandé de l'aide.. car comme vous venez de dire il faut faire le bon choix dès le départ (cahier des charges) et c'est déjà un bon conseil.
De toute façon merci de votre aide.
Il faut un minimum de contrainte : plage de mesure et précision
dans ce cas tu as (de 0 à 5 Vdc) : un convertisseur Analogique --> Numérique (CAN) avec bus de donnés sur 8 fils, PCF8591 (bus I2C, 4 entrées analogiques et une sortie de précision), tu peux utiliser une entrée analogique de cartes, ...
Dernière modification par Mosfet_05 ; 02/02/2014 à 18h45.
S'il vous plait , je vais utiliser la méthode de diviseur de tension , est ce que vous avez une idée sur les valeurs de résistances que je dois utiliser ?
Merci d'avance.
Faut respecter juste le courant max de ton "chip", puis tu choisiras ce que tu veux comme valeur à partir de la tension désirée.
Bonjour,
S'il vous plait , je veux utiliser un afficheur 7 segments 4 digits , d'après la recherche qu j'ai faite, il en existe 2 types: afficheur à anode commune et afficheur à cathode commune.
Mais je n'arrive pas à comprendre:
- Dans le cas de la cathode commune : je dois relier les 7 segments (anodes) aux 7 GPIOs de ma carte stm et les cathodes (des 4 digits) à la masse (GND) , donc soit je peux allumer les 4 digits à la fois ayant tous le même chiffre , soit j'allume un seul digit. Or, je veux allumer les 4 digits avec des chiffres différents comment faire???
- Dans le cas de l'anode commune: je dois relier les 4 digits aux a GPIOS de ma carte et les 7 cathodes à la masse , dans ce cas comment faire pour obtenir le résultat désiré (allumer les 4 digits avec des valeurs différentes)???
NB: j'ai vu des vidéos qui montrent qu'on peut réaliser le but désiré (avec une carte arduino) sans utiliser ni des multiplexeurs ni des décodeurs , mais malheureusement cela n'était pas détaillé!!!
Afficheur 7 segments anode commune : http://fr.hobbytronics.co.uk/4digit-7segment-gr
Afficheur 7 segments cathode commune:
http://www.google.tn/imgres?sa=X&biw...tart=0&ndsp=25
Merci d'avance
C'est bon j'ai trouvé la bonne solution, pour ceux qui sont intéressés, il suffit de configurer les gpio en mode push-pull pour imposer le niveau logique 1 (+vcc) ou 0 (gnd) par la suite on allume chaque digit à part et on ajoute un delay après avoir allumé chaque digit comme ça l’œil humain ne pourra pas détecter le passage du digit à l'autre et on aura 4 digits qui s'allument à la fois avec des valeurs différentes.
C'est du multiplexage.
Tu peux utiliser des afficheurs à anodes où à cathodes communes.
C'est le logiciel que sera différent.
Attention, il faut aller vite, 25Hz pour qu'on ne voit pas de scintillement.
Oui exactement, j'ai mal expliqué la solution , il me manque encore le côté professionnel .
Merci.
Ca veut dire quoi le bon calibre ?
Quelle est la tension mesurée ?
En combien de bit est-elle convertie ?
Dernière modification par Gérard ; 07/02/2014 à 21h36.
je veux réaliser un voltmètre en utilisant une carte stm32f4 , donc l'ADC ( CAN en français) va recevoir une entrée de type analog (signal analogique , dans ce cas il s'agit bien d'une tension) par la suite il va la convertir en une valeur numérique ( sur 12 bits ayant un max de 4096) . Donc après avoir récupéré cette valeur (supposant qu'elle vaut 4005) , que dois-je afficher comme valeur finale de tension? Sachant que je veux l'afficher en volt (exemple 3.6 V)??
Merci d'avance
NB : la valeur récupérée est du type int , voici la ligne du code : int ConvertedValue = adc_convert(); // adc_convert() c'est la fonction qui va faire la conversion et retourne par la suite la valeur convertie.
OK, CAN sur 12 bit mais quelle étendue de mesure ? 3V, 5V ?
OK.
On sait que 5V représente 4095 points binaire.
Il faut faire une règle de 3 avec la valeur binaire acquise.
Tu disais 4005.
x = 5 * 4005 / 4095 = 4,89
x est en volt
Maintenant, tu dois faire une conversion vers l'afficheur.
Avec 3 afficheurs, il faut afficher 4 sur l'afficheur le plus à gauche (avec le DP, la virgule), 8 sur celui du milieu et 9 sur celui de droite.
Pour afficher 4, il faut allumer les segments b, c, f et g
Tu peux te faire une table en mémoire avec les segments à allumer en fonction du chiffre à afficher.
Il faut afficher les chiffres les uns après les autres à une fréquence d'au moins 25 Hz pour faire croire à l'oeil qu'ils sont allumés tous ensemble.
J'ai été clair ? Il est tard et mes neurones se brouillent.
Il n'y a pas plus clair que ça , merci infiniment.OK.
On sait que 5V représente 4095 points binaire.
Il faut faire une règle de 3 avec la valeur binaire acquise.
Tu disais 4005.
x = 5 * 4005 / 4095 = 4,89
x est en volt
Maintenant, tu dois faire une conversion vers l'afficheur.
Avec 3 afficheurs, il faut afficher 4 sur l'afficheur le plus à gauche (avec le DP, la virgule), 8 sur celui du milieu et 9 sur celui de droite.
Pour afficher 4, il faut allumer les segments b, c, f et g
Tu peux te faire une table en mémoire avec les segments à allumer en fonction du chiffre à afficher.
Il faut afficher les chiffres les uns après les autres à une fréquence d'au moins 25 Hz pour faire croire à l'oeil qu'ils sont allumés tous ensemble.
J'ai été clair ? Il est tard et mes neurones se brouillent.
Et pour l'afficheur tout est bon , veuillez m'excusez pour le dérangement.
Merci encore.
Déjà, tu ne déranges pas.
Pour l'afficheur, s'il est CC (cathodes communes), il faut un "1" pour allumer un segment, s'il est AC, c'est l'inverse, un "1" éteindra le segment.
oui il est CC , il suffit de configurer les GPIOs en Push-Pull pour imposer le niveau logique '1' ou '0' , 1 pour allumer les segments et 0 pour les digits tout en appliquant le multiplexage.
Merci
Quand tu dis push-pull, tu veux dire en sortie ?
Oui, c'est ce principe.
Tu mets la donnée pour AFF1, tu allumes, Tempo, tu éteints
Tu mets la donnée pour AFF2, tu allumes ...
Tous les segments identiques de tous les afficheurs doivent être connectés ensembles.