PIC et RESET
Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

PIC et RESET



  1. #1
    Gérard

    PIC et RESET


    ------

    Bonjour,

    J'ai une application avec un BP RAZ branché sur MCLR avec une résistance vers VDD.
    Un appui court ne fait pas un bon RESET. Comment faire pour être sûr d'avoir à chaque fois une bonne remise à zéro ?

    Merci pour vos idées.

    -----

  2. #2
    inviteede7e2b6

    Re : PIC et RESET

    une bon créneau bien raide , avec une bascule de schmitt (40106)

  3. #3
    invitef86a6203

    Re : PIC et RESET

    un monostable entre le BP et le reset

  4. #4
    invite1f39ae77

    Re : PIC et RESET

    Ou mettre un condensateur en parallèle au bp.

  5. A voir en vidéo sur Futura
  6. #5
    inviteeb160de1

    Re : PIC et RESET

    Citation Envoyé par Gérard Voir le message
    J'ai une application avec un BP RAZ branché sur MCLR avec une résistance vers VDD.
    Un appui court ne fait pas un bon RESET. Comment faire pour être sûr d'avoir à chaque fois une bonne remise à zéro ?
    La pulse nécessaire doit faire 2µs au minimum, difficile de faire moins avec un doigt sur un bouton...Je n'ai toujours mis qu'un simple BP sans capa juste une pull up et sans aucun souci...
    Qu'entends tu par un "BON" reset ?

  7. #6
    vincent66

    Re : PIC et RESET

    Ou alors appui d'au moins une seconde sur le bouton reset...
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  8. #7
    Gérard

    Re : PIC et RESET

    Citation Envoyé par Aurélien Voir le message
    La pulse nécessaire doit faire 2µs au minimum, difficile de faire moins avec un doigt sur un bouton...Je n'ai toujours mis qu'un simple BP sans capa juste une pull up et sans aucun souci...
    Qu'entends tu par un "BON" reset ?
    Je constate que toutes les sorties ne sont pas à 0. Elles sont commandées par des MCP23016.

    Un 2e appui remet tout en ordre ou alors un appui plus long.
    C'est ça que j'appelle un "bon reset".

  9. #8
    Gérard

    Re : PIC et RESET

    Citation Envoyé par vincent66 Voir le message
    Ou alors appui d'au moins une seconde sur le bouton reset...
    Ca marche avec un appui long.

  10. #9
    invite936c567e

    Re : PIC et RESET

    Bonsoir
    Citation Envoyé par Gérard Voir le message
    Je constate que toutes les sorties ne sont pas à 0. Elles sont commandées par des MCP23016..
    Le problème n'est donc pas un problème de RAZ du PIC, mais plutôt celui des MCP23016.

    Vu qu'il n'y a pas d'entrée de reset sur les MCP23016, juste un circuit POR (Power On Reset) relié à l'alimentation VDD, il faudrait que tu nous précises comment tu réalises la réinitialisation de ces circuits via le bouton-poussoir de RAZ.

    S'agit-il d'une coupure franche de l'alimentation des MCP23016, ou d'une séquence d'initialisation transmise par le bus I2C ? (... ou bien n'as-tu simplement pas prévu la RAZ de ces circuits ?)

  11. #10
    Gérard

    Re : PIC et RESET

    Un appui sur le BP va redémarrer le PIC.
    AU début du programme, je commence par initialiser les 23016 en sortie et je mets toutes les sorties à 0.

  12. #11
    invitef86a6203

    Re : PIC et RESET

    j'ai déjà eu des problèmes de reset, la cause en était l'interrupteur secteur qui crachouillait un max.
    L'alime au départ faisait donc des "vagues".
    Sur une trentaine de montage allumé en même temps certains plantaient aléatoirement au démarrage.

    La solution économique a été de mettre des 100µf sur le reset avec des diodes en inverse sur la résistance de charge.
    Mais la solution correcte aurait été des monostables avec une tempo de l'ordre de secondes.

  13. #12
    paulfjujo

    Re : PIC et RESET

    bonjour,

    Citation Envoyé par Gérard Voir le message
    Un appui sur le BP va redémarrer le PIC.
    AU début du programme, je commence par initialiser les 23016 en sortie et je mets toutes les sorties à 0.
    J'ai eu un probleme similaire mais avec un MCP23017 (I2C au lieu de SPI)
    alea des sorties à la mise sous tension ..
    Il a fallu que je fasse le contraire
    forcer TOUS LES BITS des latches AVANT de definir le sens
    mise à 1 des registres OLATA et OLATB avant de definir le sens via les registres IODIRA et IODIRB
    sachant que mes sorties sont des leds tirees au +5V


    exemple d"init pour la version I2C


    Code:
    void I2C_MCP23017_Init(Byte Adresse)
    {
    I2C_Start();
    Tempo(100L);
    Ve=I2C_Write(Adresse); //envoi de l'adresse
    Ve=I2C_Ack();
    Ve=I2C_Write(0x0A); //@0A IOCON avec BANK=0
    Ve=I2C_Ack();
    Ve=I2C_Write(0x00); //config_MCP23017 ); // 0x00  bank0
    Ve=I2C_Ack();
    I2C_Stop();
    
    // rajout modif suite sugestion de Claudy Rouge  31/05/2011
    I2C_Start();
    Ve=I2C_Write(Adresse); //envoi de l'adresse
    Ve=I2C_Ack();
    Ve=I2C_Write(0x14); // adresse  OLATA
    Ve=I2C_Ack();
    Ve=I2C_Write(0xFF);  // tous les Bits forcés a 1 pour OLATA      
    Ve=I2C_Ack();
    Ve=I2C_Write(0xFF);  // tous les Bits forcés a 1 pour OLATB   
    Ve=I2C_Ack();
    I2C_Stop();
    
    I2C_Start();
    Ve=I2C_Write(Adresse);		 //envoi de l'adresse
    Ve=I2C_Ack();
    Ve=I2C_Write(0x00);	 //@00 adresse de depart = 00
    Ve=I2C_Ack();
    Ve=I2C_Write(0x00); 	//@00=IODIRA direction = 00 = output
    Ve=I2C_Ack();
    Ve=I2C_Write(0xFF);	 //@01 IODIRB direction = FF = port B en entree
    Ve=I2C_Ack();
    Ve=I2C_Write(0x00);	 //@02 IOPOLA polarite =FF  sortie idem que pin
    Ve=I2C_Ack();
    Ve=I2C_Write(0xFF);   	//@02 IOPOLB polarite =FF  sortie idem que pin
    Ve=I2C_Ack();
    I2C_Stop();
    
    I2C_Start();
    Ve=I2C_Write(Adresse); //envoi de l'adresse
    Ve=I2C_Ack();
    Ve=I2C_Write(0x0D); // adresse  GPPUB= 0D
    Ve=I2C_Ack();
    Ve=I2C_Write(0xFF);  //@16 = FF =PULL UP portB Enabled
    Ve=I2C_Ack();
    I2C_Stop();
    
    }

  14. #13
    invite936c567e

    Re : PIC et RESET

    Citation Envoyé par Gérard Voir le message
    Un appui sur le BP va redémarrer le PIC.
    AU début du programme, je commence par initialiser les 23016 en sortie et je mets toutes les sorties à 0.
    Les MCP23016 étant déjà sous tension, s'ils ne se réinitialisent pas quand le PIC le leur demande, alors c'est probable parce que les ordres qu'il leur transmet (ou tente de leur transmettre) sont incorrects ou mal interprétés, du fait par exemple d'un contenu incorrect des trames envoyées, de trames ou de séquences mal formées au regard du protocole I2C, ou bien de l'état dans lequel l'interface I2C a été placée durant la séquence de réinitialisation du PIC.

  15. #14
    Gérard

    Re : PIC et RESET

    Comme le reset arrive n'importe quand, on ne peut pas savoir l'état du bus.

    Je vais essayer ce que propose Paul avec les registre OLAT.
    Je dirais ce que ça donne.

  16. #15
    inviteeb160de1

    Re : PIC et RESET

    Pour limiter les effets de rebonds du bouton reset qui ferait que le pilotage des MCP serait incertain au démarrarge, le plus simple est de mettre une petite tempo de 0.5 seconde dans ton soft avant d'entreprendre une quelconque action

  17. #16
    Gérard

    Re : PIC et RESET

    Citation Envoyé par Aurélien Voir le message
    Pour limiter les effets de rebonds du bouton reset qui ferait que le pilotage des MCP serait incertain au démarrarge, le plus simple est de mettre une petite tempo de 0.5 seconde dans ton soft avant d'entreprendre une quelconque action
    Tu veux dire tout au début du programme ?

  18. #17
    inviteeb160de1

    Re : PIC et RESET

    Oui, c'est le plus simple..

  19. #18
    Gérard

    Re : PIC et RESET

    Un grand merci à tous, ça marche.

    Ce que j'ai fait :
    - une tempo juste avant la séquence d'init des 23016
    - positionné les registres OLAT avant les registres IODIR.

    J'ai fait pas mal d'essais et aucun raté.

Discussions similaires

  1. Pb reset PIC
    Par invite0dbb8181 dans le forum Électronique
    Réponses: 20
    Dernier message: 20/01/2011, 15h27
  2. Reset logiciel sur un pic
    Par invitee6a3904a dans le forum Électronique
    Réponses: 45
    Dernier message: 23/10/2009, 10h50
  3. reset PIC
    Par invite1208e497 dans le forum Électronique
    Réponses: 7
    Dernier message: 13/11/2008, 00h25
  4. reset sur une clé usb?
    Par invite7bf023ca dans le forum Matériel - Hardware
    Réponses: 10
    Dernier message: 17/04/2008, 20h07
  5. reset
    Par inviteac09f73c dans le forum Électronique
    Réponses: 6
    Dernier message: 04/05/2007, 14h57
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...