Configurer Timer pour Atmega88
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Configurer Timer pour Atmega88



  1. #1
    invitee2f08ec4

    Configurer Timer pour Atmega88


    ------

    Bonjour,

    Je suis actuellement en train de fabriquer un Sonar avec un Atmega 88 programmable avec Bascom, et je n'arrive pas a mesurer le temps entre l'envoi et la réception de l'echo.

    L'ordinateur me renvoie effectivement des valeures courtes quand l'objet est proche, et des valeurs plus grandes quand l'objet est lointain, mais il n'y a absolument aucun précision : je peut faire 4 mesures sur un objet fixe, j'obtiendrais 4 valeurs différentes avec quelques dixaines de milliseconde de décalage (c'est énorme quand j'essaie de mesurer a 100 uSeconde près....) .

    Je joins ici mon code source, il n'y a pas d'erreur de syntaxe. Si quelqu'un peut m'aider je l'en remercie fortement. Je met en gras ce qui me semble important.



    $regfile = "m88def.dat"
    $crystal = 8000000

     Cliquez pour afficher
    Ici je définit les ports d'OutPut et les variables.

    Le port B0 sert a activer l'envoi des ultrasons.
    Entre le Port B4 et B7 il y a un optocoupleur 4N26 lié au circuitde reception des ultrasons
    (dont le temps de déclenchement aux alentours de 200 uS) .

     Cliquez pour afficher
    Définition du Timer - élément le plus important il y a la fonction Timer0Serv qui vas avec en bas.

     Cliquez pour afficher
    Le coeur du programme !

     Cliquez pour afficher
    la fonction Timer0Serv. (des éléments ont été amputés des fonctions annexes du code, mais ca ne change rien.)




    Voilà !

    Et au niveau de l'Emulateur Terminal, ca me met par exemple :
     Cliquez pour afficher


    Voilà tout !
    Si quelqu'un peutm'expliquer pourquoi ce tel manque de précision dans les mesures je le remercie d'avance chaleureusement !

    -----

  2. #2
    invitee2f08ec4

    Re : Configurer Timer pour Atmega88

    ( Et bien sur joyeux Noel a tous ! )

  3. #3
    adrien4607

    Re : Configurer Timer pour Atmega88

    Je dirais que ton fameux chifre "11208" est la car tu ne vérifie pas si tu a déja commencé la mesure, si "Sw1" passe à 0 juste avent "If Sw1 = 0 Then", la mesure n'a pas encore commencé et pourtant vus que Sw1 est à 0, il va t'afficher le temp_echo.

    Faudrais que tu aies un truc du genre

    Code:
    Do
    
    If B = 0 Then
    	Gosub Fin_echo Cette fonction arrete les echos.
    	Waitms 100 ' delai de 100 ms avant chaque lancement.
    	Gosub Lancer_echo ' Cette fonction lance les echos.
    	Temps_echo = 0 ' Je met le timer à 0 au moment de l'envoi de l'impultion
    	B = 1
    End If
    
    
    
    If B = 1 Then
    
    	If Sw1 = 1 Then ' Fonction qui s'active quand le port de reception des ultrasons (enfin via l'optocoupleur) passe a l'état haut.
    		Print "temps =" ; Temps_echo ' fonction qui affiche le temps 
    		B = 0
    	End If
    	'Il est fort probable que Sw1 soit repassé à 0!
    	If Sw1 = 0 and B = 1 Then 'Vérifie qu'une mesure est bien en cours
    		'Print Temps_echo ' j'affiche le temps écoulé sur la console pendant la mesure 
    	End If 
    
    End If
    
    Loop
    End
    PS : Je pense que ton langage de programmation est le VBA mais je ne suis pas sur que se que je viens de rajouté dans ton code soit fonctionnelle, a toi de modifier pour qu'il fonctionne

    Bonne fêtes

  4. #4
    invitee2f08ec4

    Re : Configurer Timer pour Atmega88

    Non malheureusement le problème viens d'ailleurs, j'ai essayé ...

    Mais finalement j'ai pris le probleme par l'autre bout, j'ai fait en sorte que le montage électronique fasse lui même la mesure du temps et envoie le chiffre au micro contrôleur qui n'a plus qu'à enregistrer ce temps ... Compliqué et encombrant .. Mais ça fonctionne et c'est l'essentiel :-/ ! Merci en tout cas !

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Problème communication ATmega88 usbasp v2
    Par invite40fc7240 dans le forum Électronique
    Réponses: 11
    Dernier message: 05/08/2013, 17h29
  2. Lecture Atmega88 avec PonyProg..Code crypté?
    Par invitee71724f2 dans le forum Électronique
    Réponses: 4
    Dernier message: 09/07/2011, 12h54
  3. Probléme Pour Configurer le PORTB
    Par invite7cda0f37 dans le forum Électronique
    Réponses: 6
    Dernier message: 06/02/2011, 11h26
  4. configurer VNC pour appeler le viewer
    Par invite4f1cafdb dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 08/11/2007, 17h49
  5. tension de sortie des I/O d un atmega88
    Par invite3c89308f dans le forum Électronique
    Réponses: 2
    Dernier message: 08/02/2007, 22h23
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...