FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs  Galerie PhotosGalerie Photos   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

"fonction chronomètre" (débutant inside^^)



 
Poster un nouveau sujet   Répondre au sujet    forums.jelectronique.com Index du Forum -> Electronique numérique et logique programmable Electronique numérique et logique programmable
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
jloup
Invité





MessagePosté le: 08 Mai 2008 19:26    Sujet du message: "fonction chronomètre" (débutant inside^^) "fonction chronomètre" (débutant inside^^) Répondre en citant

Bonjour

Je réalise un projet en classe, un anémomètre à ultrasons.

Là j'attaque la programmation, mais je précise que je suis un débutant.Donc voilà en gros je cherche à determiner le temps que mettent les ultrasons pour aller de l'emmeteur au recepteur, sachant qu'ils fonctionnent avec des niveaux logiques: l'emission est déclenchée en envoyant un "1" logique à l'émetteur et le recepteur envoie un "1" logique dès qu'il reçoit le signal.

Le microcontrolleur utilisé est un atmel 8535 je crois (je vous confirme ça demain soir)

Donc mon problème est : Comment déterminer le temps écoulé entre l'émission du signal et la reception?

Merci d'avance à tous ceux qui répondront
Revenir en haut de page
marsu
INSATIABLE
INSATIABLE


Inscrit le: 13 Juin 2005
Messages: 159
Localisation: Paris

MessagePosté le: 14 Mai 2008 14:53    Sujet du message: "fonction chronomètre" (débutant inside^^) Répondre en citant

En gros tu dois réaliser un télémètre, non?
Tu peux déja voir par ici : http://l.lefebvre.free.fr/tele/tele_01.html ou là : http://www.iutenligne.net/ressources/etudes_realisations/Montagny/telemetre/index.html
Tu dois certainement avoir des réponses pour t'orienter...

_________________
Marsu
BLOG d'electronique, informatique, humour, sexy, ... :
http://forire.free.fr
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
The Dude
Invité





MessagePosté le: 14 Mai 2008 22:39    Sujet du message: "fonction chronomètre" (débutant inside^^) Répondre en citant

Tu as deux solutions qui sont très simples pour faire ca.

La plus basique, si ton microcontrolleur n'a rien à faire d'autre que d'attendre que le signal revienne, c'est de faire une simple boucle qui incrémente une variable. Quand tu recois le signal tu sors de la boucle et tu regarde ou en est la variable. Connaissant la fréquence du contrtolleur et le nombre d'instructions par cycle tu peux en déduire le temps écoulé.

Attention par contre si tu programmes en C. Une instruction en C n'est pas égal à une instruction machine (ou ASM). Donc au choix tu regardes en combien d'instruction le prog fait ta boucle, ou tu étalonnes à la main.

La deuxième solution, pas vraiment plus complexe que la précédante mais qui nécéssite plus de connaissances c'est d'utiliser un timer et une interruption. Tu règles l'interruption pour se déclancher quand tu recoit un '1', puis tu regardes ou en est le timer.

L'avantage du timer c'est qu'il est indépendant du code, il s'incrémente tout seul à la vitesse que tu lui donne. Ca couplé à une interruption ca te permet de faire faire autre chose à ton controlleur pendant que tu attends le signal.
Revenir en haut de page
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    forums.jelectronique.com Index du Forum -> Electronique numérique et logique programmable Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Vous ne pouvez pas joindre des fichiers
Vous pouvez télécharger des fichiers


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com