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 :

ATmega328 arduino et breadboard


Sujet :

Arduino

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut ATmega328 arduino et breadboard
    Bonjour à tous
    J'ai besoin d'aide pour un problème sûrement élémentaire.
    J'aimerais utiliser un atmega328p en standalone.
    J'ai donc fait un essai avec le programme de test "blink"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      int LedPin = 13;
     
      void setup() {
        pinMode(LedPin, OUTPUT);
      }
      void loop() {
          digitalWrite(LedPin, HIGH);  
          delay(3000);
          digitalWrite(LedPin, LOW);
          delay(3000);
      }
    J'ai téléversé celui-ci dans l'arduino uno
    La led s'allume pendant 3 secondes et s'éteint 3 secondes etc.

    J'ai ensuite retiré l'atmega de l'arduino et je l'ai installé sur un breadboard (voir schéma en fichier attaché)

    Après mise sous tension, la led clignote 3 secondes (!!!!) puis s'éteint 3 secondes, etc

    Merci pour votre aide
    Images attachées Images attachées
    • Type de fichier : pdf 1.pdf (209,1 Ko, 136 affichages)

  2. #2
    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
    bonjour,

    il manque une résistance de 1M en parallèle à ton quartz (à placer aussi sur les broches 9 et 10). Quelle est la valeur de la résistance sur ton reset (broche 1) ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    J'ai essayé avec une 1M entre 9 et 10. Sans succès
    La résistance de reset est de 10K
    J'ai aussi essayé avec un oscillateur sur la pin XTAL1. Sans succès.
    Par contre ...... quand j'enlève l'oscillateur (XTAL1), elle continue à clignoter de la même façon mais ne s'éteint plus 3 secondes

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    Je m'attendais à ce qu'elle s'éteigne !

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 278
    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 278
    Par défaut
    Bonjour

    Le schéma telle que tu le présentes n’explique pas le clignotement.
    Faudrait mettre une photo du montage, car le plus probable reste une erreur de câblage. Même si comme cela, je ne vois pas quelle erreur peut amener à ce comportement.

    A titre d'amélioration, ton schéma devrait encore inclure un condensateur de 100n entre la pin AREF et GND. Et les pins d'E/S non utilisés devrait être référencés, le plus simple étant d'activer les pull-up internes dans le setup().

    La résistance de 1M sur le clk n'est pas nécessaire avec un quartz.

    Quand tu retires le quartz, c'est en fonctionnement ou alimentation débranchée? Dans le premier cas le micro reste dans son état, dans le deuxième la Led ne devrait pas s’allumer.

    Delias

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    Voici la photo.
    Nom : 2.jpg
Affichages : 792
Taille : 308,4 Ko
    Je vais essayer le pullup

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    Quand je débranche l'oscillateur, je ne débranche que la pin 9 XTAL1.
    L'atmega est toujours alimenté.
    Dès que je remets la pin 9, la led s'éteint à nouveau 3 secondes puis clignote 3 secondes, puis s'éteint, etc.

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 278
    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 278
    Par défaut
    Alors c'est pas un quartz, mais un oscillateur , le CKSEL de l'ATmega devrait être modifié en conséquence. (Même si j'ai utilisé pendant de nombreuses années un oscillateur avec le CKSEL en quartz.)

    Les condo ne sont pas du bon type, et sont super mal placés. Cela doit être des petits (céramique au mika, par exemple type X7R) enfichés sur les mêmes lignes que les pin d'alimentation des puces.
    Dans ce cas, il en faut 4 de 100n: Un sur l'oscillateur, un sur les alim digitale de ATmega (pins 7 et 8), un sur les alims analogique de l'ATmega (pins 20 et 22) et un pour l'AREF (pins 21 et 22). l'électrolytique lui est à placer en arrivée d'alim sur la plaque.

    C'est quoi le type et la tension de la batterie?

    Delias

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    J'avais également essayé avec un crystal. Sans résultat.
    Je vais faire les modif

    Concernant le pull up, dois je mettre toutes les "digital pins" à 5V : pinMode (x,INPUT) et digitalwrite(x,HIGH) ?

    La batterie est une Ni-NH 4,8V

    J'ai fait les modif (les capa 100nF) et le problème est toujours là.
    J'ai remis un crystal 16MHz avec les 2 capa, c'est la même chose.
    J'ai modifié le code à sa plus simple expression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void setup() {
      pinMode(13, OUTPUT);
    }
    void loop() {
      digitalWrite(13, HIGH);
    }
    Et ça clignote toujours (0,5s ON et 0,5s OFF) sans arrêt
    Mais cette fois-ci qd j'enlève le crystal, la led s'éteint.
    J'ai mis une résistance pull up de la pin 19 à +5V et ça ne change rien.
    C'est flippant
    A l'aide

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 278
    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 278
    Par défaut
    Bonsoir

    Et si au lieu de la batterie, tu utilises le 5V de la carte Arduino (et provenant de l'USB?)

    Si c'est cela c'est vraiment un coup de chance d'avoir un clignotement.
    Led éteinte, la tension de la pile est juste supérieur au seuil BOD (Brown-out Detector, cf la datascheet) et avec la Led allumée, la chute de tension de la pile est juste suffisant pour activer la protection.
    Cela est possible si l'ATmega est configuré en fonctionnement 5V (BOD à 4.5V ±0.2V et hystérèse de 50mV max) , et si la batterie est plutôt vide. Il faudrait le configurer en mode 3.3V, cela ce fait avec les fusibles, je ne sais pas si le programmateur Arduino sait y toucher.

    Delias

  11. #11
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 242
    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 242
    Par défaut
    Salut,
    C'est assez bizarre comme comportement, on dirait le Watchdog qui "reset" ton micro au bout d'un certain temps, c'est d'ailleurs sa fonction mais il n'y a aucune raison qu'il soit activé.
    Par contre ça ressemble a un reset et comme dit Delias, il faut s'assurer qu'on est pas dans le cas d'un reset lié a l'alimentation qui chute.


    Accessoirement mais très important lorsque ça fonctionnera, ta condition de démarrage est très mauvaise et tu risques le Oscillator Fault (plantage au premier démarrage)
    1) L'alimentation doit s'établir et se stabiliser
    2) Le micro peut alors démarrer.

    Nom : Capture du 2017-04-23 01-57-21.png
Affichages : 897
Taille : 95,2 Ko

    Sur la broche 1, il te faut un RC pour créer un retard volontaire entre l'alimentation du micro et son démarrage.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    Bonsoir et merci pour vos commentaires
    Demain, je m'occupe du BOD (vérification des fuses)
    j'ajoute la capa sur le reset et j'utiliserai une alim 5V
    Puis je reviens vers vous.

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    Voilà ce que j'ai fait:
    Puisque la batterie est peut-être en cause,
    j'ai enlevé l'atmega du breadboard
    je l'ai remis sur le uno
    j'ai connecté la même batterie qui à maintenant 5,04V aux pins GND et +5V du uno et la led du UNO clignote comme il faut.
    Je me suis dit que la led du breadboard consommait peut-être plus que la led du uno
    j'ai remis l'atmega sur le breadboard j'ai ajouté la capa sur le reset et j'ai branché une alim stabilisée de 5V dessus : ca ne fonctionne tjrs pas . Pffffff
    Le BOD est donc bon et le reset aussi ......

    Encore un essai :

    Si ca fonctionne sur l'arduino, je vais laisser le socket du uno sans son atmega
    mettre l'atmega sur un breadboard vide.
    et raccorder le socket de l'uno fil par fil vers l'atmega du breadboard.

    Je connecte les fils 7, 8, 9, 10 et 19 seulement, toutes les autres pins sont en l'air
    Je raccorde ma pile 5V sur les pins 7 et 8 du breadboard et la led du uno clignote comme il faut.
    Je deviens fou.

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Pensionne
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

    Informations professionnelles :
    Activité : Pensionne

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    Bon ............... J'ai trouvé ...........
    Mais j'ai assez honte de l'expliquer .

    J'ai une boîte d'une trentaine de led rouges.
    Il y avait deux led clignotantes .....
    Je ne savais même pas que j'en avais.

    Je suis désolé d'avoir fait perdre votre temps.
    Merci encore pour votre aide.

Discussions similaires

  1. [Électronique] Recherche connecteur arduino/breadboard
    Par julien terrier dans le forum Embarqué
    Réponses: 4
    Dernier message: 09/02/2017, 22h02
  2. Xbee et arduino: pourquoi un arret ?
    Par alx4t1 dans le forum Embarqué
    Réponses: 0
    Dernier message: 05/07/2011, 11h25
  3. arduino et début en dev
    Par zerros dans le forum C
    Réponses: 1
    Dernier message: 23/02/2011, 11h32
  4. Réponses: 3
    Dernier message: 01/02/2010, 09h54

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