IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Fréquence horloge sur mega2560


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    A la retraite...
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : A la retraite...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Par défaut Fréquence horloge sur mega2560
    Bonjour à tous,

    J'ai une mega 2650 et j'ai voulu la programmer en ISP car le port USB ne répond plus. Le code est bien présent, le led clignote mais 2 fois moins vite. J'ai utilisé le Blink standard avec un Delay(1000); pour allumer et éteindre la led. Je devrais donc allumer/éteindre toutes les secondes ?

    A priori la vitesse d'horloge est à 8MHz au lieu de 16 MHz.

    Comment puis-je modifier la fréquence d'horloge par soft ?

  2. #2
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 634
    Par défaut Clock cloche
    Bonjour,

    Je ne vois pas comment la fréquence horloge aurait pu bouger toute seule.

    A moins que la défaillance de l'USB résulte d'un stress qui a fait d'autres dégâts.

    Il faudrait programmer de la même manière un autre Méga. Je doute qu'elle ait le même problème d'horloge.

    Salutations

  3. #3
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    avec un delay(1000) vous avez une fréquence de clignotement de 2Hz (un cycle allumé + éteint dure 2 secondes)

    voyez vous 4s ?

    vous avez bien chargé le code avec la bonne carte sélectionnée ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Retraité de l'électronique analogique
    Inscrit en
    Avril 2021
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité de l'électronique analogique

    Informations forums :
    Inscription : Avril 2021
    Messages : 50
    Par défaut
    Comment as-tu fait ta programmation ?

    Explication sur les avr :
    Pour simplifier les tests "sortie usine" à l'état naturel, les micros sont configurés :
    1) sur leur horloge interne à 8 MHz (donc sans utiliser le quartz externe)
    2) diviseur interne par 8.
    Ce qui fait que l'horloge "sortie usine" est réglée sur 1 MHz et non pas 16 MHz.

    Pour mettre un avr à la sauce arduino il faut faire deux opérations qui n'ont aucun rapport en elles.
    1) Programmer les "fuses". Les "fuses" ne sont plus des fusibles, mais une zone spéciale de l'eeprom.
    2) Installer un bootloader.

    Là où Arduino sème la confusion, c'est quand, pour soi-disant simplifier, il réunit les deux opérations en une seule.

    On peut très bien programmer un avr sans installer de bootloader.
    Avec un bootloader, la programmation est juste plus simple.

    AMHA si la fréquence horloge est changée, c'est que, sans t'en rendre compte, tu as modifié des fuses.

    "Re-graver la séquence d'initialisation" selon le vocabulaire arduino devrait remettre les choses dans l'ordre.

    D'un autre côté, si la partie USB ne fonctionne plus, c'est que la carte a été quelque peu maltraitée et rien ne permet d'affirmer que le micro n'a subi aucun outrage.

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Pareil, je me demande si tu n'as pas reprogrammé ton Arduino pour ne plus utiliser l'horloge externe mais l'horloge interne par défaut.
    Je me pose la question : si l'horloge externe grille pour une raison ou pour une autre, est-ce que l'Arduino rebascule automatiquement sur son horloge interne ?

  6. #6
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    Salut
    Citation Envoyé par Auteur Voir le message
    Je me pose la question : si l'horloge externe grille pour une raison ou pour une autre, est-ce que l'Arduino rebascule automatiquement sur son horloge interne ?
    Malheureusement non.
    En règle général les micro démarrent sur leur horloge interne le temps d'aller lire leur config comme l'explique Bernard, d'ailleurs les MSP430 de Texas démarre aussi par défaut sur 1MHz avec OSC interne, puis c'est le programme/ou les registres fuses chez AVR qui définissent l'horloge a utiliser.

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 282
    Par défaut
    Bonjour

    Sur les AVR, le micro démarre directement sur l'horloge définie par les fusibles.

    Il n'y a aucun contrôle sur son fonctionnement, car le signal d'horloge extérieur peut être changé (moyennant une bonne dose de précautions) et très bas. Avec un quartz ce n'est pas possible, mais si le signal est généré par une autre puce, il est possible de modifier la fréquence en fonctionnement. Les AVR peuvent fonctionner avec un quartz d'horloger à 32kHz, voir même encore plus bas (valeur minimal 0Hz) , cela pour réduire drastiquement leur consommation (qui est, à peu de chose près, proportionnelle à la fréquence)
    En interne, les seules actions que le code peut avoir c'est:
    - Modifier le diviseur de fréquence d'horloge
    - Arrêter l'horloge (une parties des sleep modes)

    A ma connaissance d'Arduino, à part les sleep, ce point n'est pas traité, Arduino c'est fait pour apprendre découvrir les µC, donc capacité maximale (le quartz avec la plus haute fréquence admise) et on ne fait pas attention à la consommation.

    Delias

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    Citation Envoyé par GGaston Voir le message
    A priori la vitesse d'horloge est à 8MHz au lieu de 16 MHz.
    Ou que la gestion de millis / delay ne s’appuie pas sur les bons paramètres pour calculer le temps

Discussions similaires

  1. Horloge sur cerbuino bee
    Par NarisEvil dans le forum C
    Réponses: 0
    Dernier message: 09/03/2015, 16h51
  2. Horloge sur Access
    Par AZERTYUIOP1957 dans le forum VBA Access
    Réponses: 7
    Dernier message: 30/07/2011, 06h04
  3. Horloge sur fichier Excel
    Par Micky58 dans le forum Excel
    Réponses: 5
    Dernier message: 23/04/2007, 19h40
  4. Problème de fréquence µproc sur portable
    Par proner dans le forum Windows Vista
    Réponses: 2
    Dernier message: 13/02/2007, 16h54
  5. Synchronisation de l'horloge sur le controleur de domaine
    Par EvilAngel dans le forum Administration système
    Réponses: 4
    Dernier message: 30/03/2006, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo