reset sur PIC16F877 MCLR - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 50 sur 50

reset sur PIC16F877 MCLR



  1. #31
    Voltron

    Re : reset sur PIC16F877 MCLR


    ------

    bonjour,

    l'extrait ci-dessous du lien de RISC (http://www.best-microcontroller-proj.../pic-icsp.html,
    VPP Signal (Signal a programming action)

    Vpp connects to the reset input of the pic microcontroller labelled MCLR. During programming or verify this signal is raised to the programming voltage (13.5V) - or VCC+3.5V. This signals to the microcontroller that programming/verification is about to start and for older parts, supplies current.

    Note: Older pic micros used this line to directly power the programming circuit that updates the Flash memory. So this connection had to supply some current. With the newer parts that allow LVP (Low Volt programming) the programming voltage is generated internally so the Vpp signal from the pic ICSP is only used as an indicator i.e. it doesn't have to supply current.


    VDD/VCC Signal (Power)

    This connection may supply power to your board - usually using a 5V regulator (probably a 7805). This is ok for some use as you can develop a prototype board without needing any other power supply (just a power brick that plugs into the pic programmer circuit).

    The only problem with it is that the programmer circuit is not designed for your circuit (does it have a heatsink) and it can also introduce noise to your circuit. If the programmer uses a 78L05 then you will only get 100mA maximum current output.
    Je ne comprends pas dans le deuxième paragraphe de cet extrait comment un programmateur peut être incompatible ou causer des parasites avec une carte à PIC muni d'un connecteur ICSP alors qu'on programme le PIC dont la carte et périphériques sont hors tension (le VCC viens du programmateur), et puis comment le besoin en courant , pendant la programmation en ICSP, peut dépasser le besoin du programmateur en courant pendant une programmation classique (PIC sur ce dernier) ????

    pour mon cas, j'utilise le mini-programmateur d'EP (n°283 ) qui a un régulateur 78L05 (courant délivré <=100mA) connecté a une carte à PIC (voir fichier joint), il y a une résistance à 220 ohm sur l'entrée /MCLR-VPP du PIC (schéma de Hulk), risque-t-elle de faire chuter le courant (à 100mA) et d'altérer la programmation ?



    de même, avec une recherche sur google, je suis tombé sur cette page http://www.melabs.com/support/icsp.htm :

    extrait (en bas de page):
    7. Connect a 5V supply to the Vdd pins on the PIC. You can do this with the normal power supply on your board or with an external supply. The ICSP header on the programmer has a 5V pin (pin-1) that can be used, but only if your board doesn't consume too much power. The Vdd pin (pin-4) on the header shouldn't be used. Such use will probably cause errors during programming, and it's possible that it will damage the programmer hardware.
    +5V always on (It is not recommended that you use this supply to power your target board. Current capability is limited.)
    je ne suis pas convaincu.

    Excusez moi si je pose trop de questions, mais c'est que je voudrais être sûr de mon schéma avant de passé au dessin du circuit, merci, merci,merci, d'avance pour le temps que vous prendriez à me répondre.


    @modérateurs: dois-je ouvrir un nouveau topic vu que je suis un peu trop sorti du sujet initial ?

    -----
    Images attachées Images attachées  
    Dernière modification par Voltron ; 30/11/2008 à 11h14.

  2. #32
    freepicbasic

    Re : reset sur PIC16F877 MCLR

    En programmation in situe , on a le choix entre utiliser le 5V du programmateur et celui de l'alimentation de la carte.
    Si on utilise le 5V du programmateur celui ci doit pouvoir débiter suffisamment de courant et va donc chauffer surtout que la plupart du temps le 5V est alimenté par un régulateur 12V donc plus d'énergie est perdu dans le régulateur 7805 que dans l'alimentation utile du prog et de la carte.
    Le watt est donc atteint assez vite avec 140 ma.
    De plus les découplages normalement conseillés de 100nf entre entrée-masse et sortie-masse sur le 7805 et un chimique en sortie ne sont pas toujours présents ce qui engendre parfois des oscillations parasites.

    La distance des câbles data et clock , ne peut guère dépassée 10cm sans un blindage correct , les signaux de sortie étant parfois plus proche de 3V que de 5V.
    Et leur courant assez faible, surtout avec des sorties MosFet 40xx par exemple, il serait d'ailleurs préférable d'utiliser de la logique ECL si l'on voulait faire de la longueur de câble et avec une charge d'assez faible impédance au bout des signaux.
    A défaut un câble bindé sur 40 ou 50 cm fonctionne bien ou un simple papier d'alu relié a la masse entourant les fils.

    Pour la tension de prog , elle est souvent plus proche d'un 12V faiblard que d'un 14V musclé.
    L'ajout de la résistance comme le courant est très faible a normalement peu d'impacte.
    Mais dans le cas d'une tension de prog minimum cela pourrait faire basculer entre bon et mauvais fonctionnement.

    Les pins RB6 et RB7, enfin, data et clock plus exactement, dans ce cas doivent être réservées à la prog, si l'on a vraiment besoin de ces 2 pins, il faudra prévoir 2 cavaliers ou commutateurs pour les désolidariser des I/O de la carte pendant la prog.

    Dans un système plus complexe (chaine de montage) on pourrait réalisé un commutateur avec des 4066 (data, clock) pour limiter les fausses manips et augmenter l'ergonomie.

    penser aussi au MCLR qui doit pouvoir descendre à 0V
    La résistance de rappel de la carte peut gêner.
    dans ce cas ajouter une résistance entre MCLR et masse
    Dernière modification par freepicbasic ; 30/11/2008 à 11h49.
    A+, pat

  3. #33
    invite03481543

    Re : reset sur PIC16F877 MCLR

    La résistance en série sur l'entrée de MCLR (220 Ohms) est là pour prévenir le phénomène de "latch-up" qui peut compte tenu de la longueur de ligne de l'ICSP raccordé, provoquer des transitoires importants.
    Comme l'entrée d'une porte Cmos est essentiellement capacitive, c'est une protection souhaitable.

    Pour la définir:

    Vpeak(Vpp_prog)/I(latch-up)<Rsérie<V(prog)-Vi(MCLR_µC-Vgnd)/Iih(MCLR_µC)

    @+

  4. #34
    Voltron

    Re : reset sur PIC16F877 MCLR

    Bonjour freepicbasic,

    merci pour votre intérêt

    Citation Envoyé par freepicbasic Voir le message
    En programmation in situe , on a le choix entre utiliser le 5V du programmateur et celui de l'alimentation de la carte.
    Si on utilise le 5V du programmateur celui ci doit pouvoir débiter suffisamment de courant et va donc chauffer surtout que la plupart du temps le 5V est alimenté par un régulateur 12V donc plus d'énergie est perdu dans le régulateur 7805 que dans l'alimentation utile du prog et de la carte.
    Le watt est donc atteint assez vite avec 140 ma.
    De plus les découplages normalement conseillés de 100nf entre entrée-masse et sortie-masse sur le 7805 et un chimique en sortie ne sont pas toujours présents ce qui engendre parfois des oscillations parasites.
    mon programmateur ne peut fournir que 100mA au maximum, par contre la carte PIC peut fournir jusqu'à 500mA (voir les deux figures jointe).



    Citation Envoyé par freepicbasic Voir le message
    La distance des câbles data et clock , ne peut guère dépassée 10cm sans un blindage correct , les signaux de sortie étant parfois plus proche de 3V que de 5V.
    Et leur courant assez faible, surtout avec des sorties MosFet 40xx par exemple, il serait d'ailleurs préférable d'utiliser de la logique ECL si l'on voulait faire de la longueur de câble et avec une charge d'assez faible impédance au bout des signaux.
    A défaut un câble bindé sur 40 ou 50 cm fonctionne bien ou un simple papier d'alu relié a la masse entourant les fils.
    Si je comprends bien, c'est le type de câble utilisé qui fait chuter le courant et la tension Vcc et Vpp à la sortie du connecteur ICSP.


    Citation Envoyé par freepicbasic Voir le message
    Pour la tension de prog , elle est souvent plus proche d'un 12V faiblard que d'un 14V musclé.
    L'ajout de la résistance comme le courant est très faible a normalement peu d'impacte.
    Mais dans le cas d'une tension de prog minimum cela pourrait faire basculer entre bon et mauvais fonctionnement.
    avec un câble blindé, la tension Vpp devrait être très proche de 13V, non ?, quant au le courant je ne connais pas sa valeur exacte.


    Citation Envoyé par freepicbasic Voir le message
    Les pins RB6 et RB7, enfin, data et clock plus exactement, dans ce cas doivent être réservées à la prog, si l'on a vraiment besoin de ces 2 pins, il faudra prévoir 2 cavaliers ou commutateurs pour les désolidariser des I/O de la carte pendant la prog.

    Dans un système plus complexe (chaine de montage) on pourrait réalisé un commutateur avec des 4066 (data, clock) pour limiter les fausses manips et augmenter l'ergonomie.
    pour mon application, je n'ai pas besoin de les isoler lors de la programmation du PIC (même pas avec des résistances ), car ils sont reliés aux lignes d'un clavier matriciel, donc même un 5V sur RB6 ou RB7 n'aura pas d'effets sur ma carte.


    Citation Envoyé par freepicbasic Voir le message
    penser aussi au MCLR qui doit pouvoir descendre à 0V
    j'ai prévu un circuit de RESET (voir figure sur mon avant dernier message).


    Citation Envoyé par freepicbasic Voir le message
    La résistance de rappel de la carte peut gêner.
    dans ce cas ajouter une résistance entre MCLR et masse
    j'ai pas compris ce qu'est une résistance de rappel de la carte ?, il y a déjà une résistance de pull-up relié à MCLR (circuit de RESET).



    merci bien de m'éclairer.
    Images attachées Images attachées
    Dernière modification par Voltron ; 30/11/2008 à 15h39.

  5. #35
    Voltron

    Re : reset sur PIC16F877 MCLR

    Citation Envoyé par HULK28 Voir le message
    La résistance en série sur l'entrée de MCLR (220 Ohms) est là pour prévenir le phénomène de "latch-up" qui peut compte tenu de la longueur de ligne de l'ICSP raccordé, provoquer des transitoires importants.
    Comme l'entrée d'une porte Cmos est essentiellement capacitive, c'est une protection souhaitable.

    Pour la définir:

    Vpeak(Vpp_prog)/I(latch-up)<Rsérie<V(prog)-Vi(MCLR_µC-Vgnd)/Iih(MCLR_µC)

    @+
    une encore une fois, merci HULK,
    à part Vpeak(Vpp_prog)=13.3V et Vprog (Valeur moyenne =13),je n'ai pas compris les autres paramètres (Iih,Vi, , estimer I(latch-up)?? ) pouvez vous me les expliquer, si ce n'est pas trop demander bien sûr.

  6. #36
    freepicbasic

    Re : reset sur PIC16F877 MCLR

    Citation Envoyé par Voltron Voir le message
    mon programmateur ne peut fournir que 100mA au maximum, par contre la carte PIC peut fournir jusqu'à 500mA (voir les deux figures jointe).
    Donc mettre la carte sous tension en même temps que l'on programme

    Si je comprends bien, c'est le type de câble utilisé qui fait chuter le courant et la tension Vcc et Vpp à la sortie du connecteur ICSP.
    Non ça ça dépend du type de programmateur.
    Le câble rapporte des parasites s'il est trop long.

    avec un câble blindé, la tension Vpp devrait être très proche de 13V, non ?, quant au le courant je ne connais pas sa valeur exacte.
    ça n'a rien à voir , la tension est donné par le programmateur selon le type.
    La résistance du câble est insignifiante , sauf en cas de faux contact.


    pour mon application, je n'ai pas besoin de les isoler lors de la programmation du PIC (même pas avec des résistances ), car ils sont reliés aux lignes d'un clavier matriciel, donc même un 5V sur RB6 ou RB7 n'aura pas d'effets sur ma carte.
    OK , ça c'est bien effectivement utiliser les 2 pins avec une petite charge , ça aide.
    Dans le cas ou le pic utilise ses pins en sortie.
    La programmation peut être difficile surtout ceux qui ont des MCLR en I/O Pic12F675. Dans ce cas la tension MCLR doit être présente avant le 5V. Ce qui peut posé un problème sur un chip in situe.

    j'ai prévu un circuit de RESET (voir figure sur mon avant dernier message).
    OK

    j'ai pas compris ce qu'est une résistance de rappel de la carte ?, il y a déjà une résistance de pull-up relié à MCLR (circuit de RESET).

    si j'ai 10k sur la carte d'essai et que le prog ne peux pas mettre 0 V (tirage bas trop faible) sur mclr alors il y aura jamais de reset , il faudra ajouter 1k pour que le niveau bas soit suffisant.
    A+, pat

  7. #37
    freepicbasic

    Re : reset sur PIC16F877 MCLR

    j'ai prévu un circuit de RESET (voir figure sur mon avant dernier message).
    R6 résistance de rappel à la masse fait 10k
    si la résistance de MCLR sur la carte fait 10k alors on aura 2.5V sur Mclr au lieu de 0V et pas de reset.
    A+, pat

  8. #38
    Voltron

    Re : reset sur PIC16F877 MCLR

    Bonsoir freepicbasic,

    vraiment merci pour votre patience et pour le temps que vous avez pris pour me répondre.

    Citation Envoyé par freepicbasic Voir le message
    si j'ai 10k sur la carte d'essai et que le prog ne peux pas mettre 0 V (tirage bas trop faible) sur mclr alors il y aura jamais de reset , il faudra ajouter 1k pour que le niveau bas soit suffisant.
    c'est OK, pour toute vos réponses, quoique j'ai une petite question , peut être un peu bête sur la dernière, au fait, pourquoi le programmateur aura "RESETer" ? , et si j'ajoute cette résistance comme vous me dites entre le /MCLR et la masse , j'aurais tout compte fait, un MCLR à la fois avec un PULL-UP et un PULL-DOWN pour le PIC en mode de fonctionnement normal !!

  9. #39
    Voltron

    Re : reset sur PIC16F877 MCLR

    Citation Envoyé par freepicbasic Voir le message
    R6 résistance de rappel à la masse fait 10k
    si la résistance de MCLR sur la carte fait 10k alors on aura 2.5V sur Mclr au lieu de 0V et pas de reset.
    j'ai pas vu ce message,

    sur mon schéma, il n' y a pas de résistance marquée R6, parlez vous de celle que je devrais ajouter ?

  10. #40
    Voltron

    Re : reset sur PIC16F877 MCLR

    -résistance de PULL-UP MCLR = 4.7k
    -résistance de rappel à la masse pour "reset" par programmateur=1k

    je ne sais pas si mon schéma ou mes valeurs sont correctes, vu que j'ai pas bien saisi votre dernier message (ci-dessous).


    Envoyé par freepicbasic

    R6 résistance de rappel à la masse fait 10k
    si la résistance de MCLR sur la carte fait 10k alors on aura 2.5V sur Mclr au lieu de 0V et pas de reset.
    Images attachées Images attachées  

  11. #41
    freepicbasic

    Re : reset sur PIC16F877 MCLR

    post #34 la res R6 sous T2.

    je parle d'une resistance sur le prog pas sur la carte.
    Le MCLR fonctionne avec un seuil dessous c'est reset au dessus c'est RUN et au dessus de VCC normalement VPP pour la prog.

    Je me sert du prog pour mettre 0V reset ou 5V RUN ou VPP pour prog.
    Mais ce n'est pas forcément prévu pour faire ça sur tous les prog.
    ça permet de tester sans rien déconnecter.

    Le reset est nécessaire pour initialiser le pic si une des opérations se passe mal , il ya plus moyen de faire quoi ce soit.
    A part sortir le pic ou déconnecter.
    Et l'alime de la carte le met en mode run si on déconnecte le prog , donc on doit tout éteindre.

    De plus le reset va mettre le pic en mode run si les RB6 et RB7 sont en sortie , terminer sa bloque tout.
    A+, pat

  12. #42
    Voltron

    Thumbs up Re : reset sur PIC16F877 MCLR

    Salut freepicbasic,

    je vous remercie de votre patience et je m'excuse de vous avoir fait écrire autant de messages.

    je crois vous avoir compris cette fois,

    R6 résistance de rappel à la masse fait 10k
    si la résistance de MCLR sur la carte fait 10k alors on aura 2.5V sur Mclr au lieu de 0V et pas de reset.
    vu que ma résistance est de 4.7k, elle sera même plus que ça
    [ 10k/(10k+4.7k)*5V=3.4V ]


    si maintenant j'ajoute la résistance de rappel à la masse de l'MCLR (prenant une à 470ohm), comme elle est en // avec R6 (résistance de rappel à la masse du programmateur), la résistance résultante aura une valeur de 0.4489k, si maintenant je la mets à la place du 10k, de l'expression précédente, j'obtiens une tension de 0.21V à l'entrée de MCLR lorsque le programmateur tente de "RESETer" le PIC, ce qui devrait le "RESETer ".

    (voir schéma)


    est ce que c'est correct ?
    Images attachées Images attachées  
    Dernière modification par Voltron ; 30/11/2008 à 22h17.

  13. #43
    freepicbasic

    Re : reset sur PIC16F877 MCLR

    remplacé simplement R6 par R11 sur le prog
    une résistance au moins est une pull down.
    Et au plus pull up.
    vérifier si le 13v de prog ne s'effondre pas avec cette résistance.
    A+, pat

  14. #44
    Voltron

    Re : reset sur PIC16F877 MCLR

    Citation Envoyé par freepicbasic Voir le message
    remplacé simplement R6 par R11 sur le prog
    une résistance au moins est une pull down.
    Et au plus pull up.
    bonjour freepicbasic ,

    Vous avez raison, le R11 que je viens d'ajouter, fera chuter la pull-down du programmateur (de 10k à à peu près 448 ohm).
    la solution comme vous dites est de n'en mettre qu'une .

    remplacer le R6 (=10k) par R11(=470ohm ou même plus mais, en veillant à ce que R11/(R11+10k)x5V soit toujours suffisament faible pour permetre le "RESET" du PIC par le programmateur), me semble donc la solution, mais condamnera le programmateur a être utiliser uniquement en ICSP, à moins d'utiliser une résistance ajustable, vu que le 470 est faible pour être une PULL-DOWN sur la carte de ce dernier.

    Citation Envoyé par freepicbasic Voir le message
    vérifier si le 13v de prog ne s'effondre pas avec cette résistance.
    en ICSP ou en Programmation classique (PIC sur programmateur) ?


    merci d'avance.
    Dernière modification par Voltron ; 01/12/2008 à 08h42.

  15. #45
    freepicbasic

    Re : reset sur PIC16F877 MCLR

    Citation Envoyé par Voltron Voir le message
    en ICSP ou en Programmation classique (PIC sur programmateur) ?
    en mode programmation
    A+, pat

  16. #46
    Voltron

    Re : reset sur PIC16F877 MCLR

    rebonjour,

    êtes vous d'accord avec ce que je viens d'écrire ?

    Citation Envoyé par Voltron Voir le message
    bonjour freepicbasic ,
    remplacer le R6 (=10k) par R11(=470ohm ou même plus mais, en veillant à ce que R11/(R11+10k)x5V soit toujours suffisament faible pour permetre le "RESET" du PIC par le programmateur), me semble donc la solution, mais condamnera le programmateur a être utiliser uniquement en ICSP, à moins d'utiliser une résistance ajustable, vu que le 470 est faible pour être une PULL-DOWN sur la carte de ce dernier.

  17. #47
    freepicbasic

    Re : reset sur PIC16F877 MCLR

    Citation Envoyé par Voltron Voir le message
    rebonjour,

    êtes vous d'accord avec ce que je viens d'écrire ?
    pour la modif Ok
    Mais ça ne condamne rien , tout doit fonctionner !
    A+, pat

  18. #48
    Voltron

    Cool Re : reset sur PIC16F877 MCLR

    Citation Envoyé par freepicbasic Voir le message
    pour la modif Ok
    Mais ça ne condamne rien , tout doit fonctionner !
    j'ai voulu dire que si je remplaçais le R6 du programmateur avec une résistance à 470ohm, et que, pour une autre application, je programme un PIC "placé sur la carte programmateur", il y a de forte chance que la programmation ne s'effectue pas correctement parce que 470ohm est faible pour être une PULL-DOWN, ou est ce que je me trompe ? .

  19. #49
    freepicbasic

    Re : reset sur PIC16F877 MCLR

    Citation Envoyé par Voltron Voir le message
    j'ai voulu dire que si je remplaçais le R6 du programmateur avec une résistance à 470ohm, et que, pour une autre application, je programme un PIC "placé sur la carte programmateur", il y a de forte chance que la programmation ne s'effectue pas correctement parce que 470ohm est faible pour être une PULL-DOWN, ou est ce que je me trompe ? .
    Si la résistance de reset sur l'autre carte fait 300 ohms ça fonctionnera pas évidemment , mais généralement on fait des montages sur le même modèle , sauf cas particulier.
    Si le prog a un support libre il est facile de mettre une res provisoire.
    A+, pat

  20. #50
    Voltron

    Re : reset sur PIC16F877 MCLR

    Citation Envoyé par freepicbasic Voir le message
    Si la résistance de reset sur l'autre carte fait 300 ohms ça fonctionnera pas évidemment , mais généralement on fait des montages sur le même modèle , sauf cas particulier.
    Si le prog a un support libre il est facile de mettre une res provisoire.
    ou mettre une résistance ajustable, ou bien jumper pour basculer entre les deux résistances placés sur le programmateur ,470 ohm(pour ICSP) et 10k (programmation avec pic sur carte), .... la solution existe toujours.

    merci pour tout freepicbasic.

    lorsque je testerai la carte je viendrais poster mes résultats ici.

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. reset sur pic ou atmel
    Par inviteac54bf81 dans le forum Électronique
    Réponses: 1
    Dernier message: 18/11/2007, 22h05
  2. PIC : pins multiplexées avec l'ICSP / MCLR
    Par Toufinet dans le forum Électronique
    Réponses: 5
    Dernier message: 17/10/2007, 17h18
  3. patte mclr ou reset
    Par inviteada012db dans le forum Électronique
    Réponses: 1
    Dernier message: 28/05/2006, 14h49
  4. patte 1 du pic 16F876 : MCLR ?!???
    Par inviteada012db dans le forum Électronique
    Réponses: 3
    Dernier message: 24/02/2006, 22h16
  5. Obligé de faire reset pour pouvoir démarrer un programme en cliquant sur l'icône corr
    Par invitef0b77be6 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 09/10/2005, 09h30
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...