[Autre] Pic16f877a - tlp621 - rd0 input
Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

Pic16f877a - tlp621 - rd0 input



  1. #1
    invite47370946

    Pic16f877a - tlp621 - rd0 input


    ------

    Bonjour à tous, si une bonne âme peu m'expliquer mon problème cela m'aiderait beaucoup merci.

    MCU 16F877A
    TRISD = 0XFF
    PORTD = 0X00

    if(RD0 == 1)
    {
    //------------------------------//
    }

    Donc voilà le souci maintenant;
    Quand j'applique un 5V sur l'entrée RD0 [tout fonctionne correctement;
    Quand je passe par un optocoupleur TLP621 celui-ci commute bien le 5V sur l'émetteur depuis le collecteur [RAS;

    Par contre j'applique la broche d'emeteur sur l'entrée RD0 et la plus rien .
    je remplace l'optocoupleur par un relais Reed et là tous fonctionnent.


    Donc visiblement le problème se situe au niveau de l'optocoupleur mais j'avoue je comprends par vu qu il fonctionne j'ai bien un 5V ?

    -----

  2. #2
    freepicbasic

    Re : Pic16f877a - tlp621 - rd0 input

    ve = vb - 0.6v
    Si la tension de base est de 1V ve=0.4V
    vraiment insuffisant pour un niveau haut.
    A+, pat

  3. #3
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input

    OK merci j'ai compris je regarde ça

  4. #4
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input

    ve = 4.6 et avec un 3.5v j'ai bien mon niveau haut également.
    le fait de passer par l'optocoupleur ne fonctionne plus

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

    Re : Pic16f877a - tlp621 - rd0 input

    Tu mesure avec quoi ?
    Il faut voir avec un scope si le signal est bien continu.
    mettre une capa pour filtrer.

    Après, il faudra voir le schéma et le code.
    A+, pat

  7. #6
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input

    Je mesure bien avec un oscilloscope

    schéma :
    Nom : fs20.PNG
Affichages : 110
Taille : 21,5 Ko

    code :
    Code:
    #include <xc.h>
    
    #pragma config FOSC = HS        // Oscillator Selection bits (HS oscillator)
    #pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
    #pragma config PWRTE = ON       // Power-up Timer Enable bit (PWRT enabled)
    #pragma config BOREN = ON       // Brown-out Reset Enable bit (BOR enabled)
    #pragma config LVP = OFF        // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
    #pragma config CPD = OFF        // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
    #pragma config WRT = OFF        // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
    #pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)
    
    
    void main(void)
    {
    TRISD=0XFF;
    PORTD=0X00;
    
      while(1)
        {  
           if(RD0 == 1) 
            {
                //----------------------------//
            }
        }
    }
    comme je disais si j'applique directement le 5v sur l'entrée RD0 tous fonctionne correctement, également si j'utilise un relais Reed pour la partie commutation 12v/5 v.
    Dans le cas de l'utilisation d'un TLP621 en remplacement du relais j'ai bien un 5v en sortie mais rien ne sa passe au niveau du MCU visiblement pas de niveau haut alors que 4.6v est bien présent ?
    Dernière modification par Antoane ; 03/11/2019 à 15h08. Motif: Ajout balises code et rappatriement de la PJ

  8. #7
    invite03481543

    Re : Pic16f877a - tlp621 - rd0 input

    Vous déclarez le port en entrée et faites PORTD=0; ça n'a pas de sens pour une entrée.

  9. #8
    invite03481543

    Re : Pic16f877a - tlp621 - rd0 input

    Vu le schéma, vous devez détecter la situation RD0=0, puisque par défaut RD0=1 tant que l'opto n'est pas sollicité.
    Tout ça n'est donc pas très clair.

  10. #9
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input

    Bonjour HULK28 merci pour votre réponse.
    En fait le souci ne vient pas de la programmation tous fonctionnent correctement j'ai bien mes états hauts et bas si j’applique un 5v sur les PINs RD0 à RD7 ou pour une commande 12V si le 5V passe via un relais reed.
    Idéalement je souhaitais utiliser un optocoupleur et ces justement là le problème que je constate j'ai 4.8V en sortie d'optocoupleur et le MCU ne réagi pas que ce soit niveau haut ou bas ???

  11. #10
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input


  12. #11
    jiherve

    Re : Pic16f877a - tlp621 - rd0 input

    bonjour
    quel opto car avec 1ma dans la LED c'est trop faible pour un grand nombre d'opto non darlington. Diviser la resistance par 10!
    ex :https://www.vishay.com/docs/83646/ild1.pdf voir figures 8,9,11
    @ 1mA led le transfert est de 25% donc IC= 250µA => Vout = 2,5V=> '1' avec une entrée compatible TTL
    cela peut être pire avec d'autre modèles.
    JR
    l'électronique c'est pas du vaudou!

  13. #12
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input

    Merci jiherve, je suis parti sur ce que j'avais dans les tiroirs TLP621 et TLP621X

  14. #13
    freepicbasic

    Re : Pic16f877a - tlp621 - rd0 input

    1ma c'est vraiment trop faible. Les MOC par exemple nécessitent 8ma.
    Notez aussi que le signal est inversé avec l'opto coupleur émetteur à la masse.
    Donc inverser la logique en conséquence.
    A+, pat

  15. #14
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input

    Bon merci à tous pour votre aide mais je viens de trouver après avoir fait une pause-café le problème
    je n'ai pas fait attention sur ma carte de développement Open16F877A j'ai oublié de supprimer certains cavaliers notamment pour joystick et S0 S1 (je sais).
    Maintenant tous fonctionnent correctement avec TLP621, ci-après mon code et schéma.

    Code:
    #include <xc.h>
    
    #pragma config FOSC = HS        // Oscillator Selection bits (HS oscillator)
    #pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
    #pragma config PWRTE = ON       // Power-up Timer Enable bit (PWRT enabled)
    #pragma config BOREN = ON       // Brown-out Reset Enable bit (BOR enabled)
    #pragma config LVP = OFF        // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
    #pragma config CPD = OFF        // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
    #pragma config WRT = OFF        // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
    #pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)
    
    
    void main(void)
    {
        TRISD=0XFF;
        PORTD=0XFF; 
    
        while(1)
        {  
           if(RD0 == 1) 
            {
               //############################ performs the function ##########################  
            }
        
        }
    }
    Nom : fonctionne.jpg
Affichages : 93
Taille : 43,7 Ko
    Dernière modification par Antoane ; 04/11/2019 à 15h16. Motif: Remplament des balises QUOTE pas code

  16. #15
    antek

    Re : Pic16f877a - tlp621 - rd0 input

    Citation Envoyé par afaes Voir le message
    . . . ma carte de développement Open16F877A . . .
    Tu l'as achetée où ?
    Merci !
    L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .

  17. #16
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input


  18. #17
    invite03481543

    Re : Pic16f877a - tlp621 - rd0 input

    Pensez quand même à supprimer la ligne de code PORTD=0x00; elle ne sert à rien.
    Et plutôt que 0x00 écrivez juste 0
    A+

  19. #18
    invite47370946

    Re : Pic16f877a - tlp621 - rd0 input

    Merci c'est fait

Discussions similaires

  1. input name='identique[]'
    Par bouglie dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 12/11/2019, 16h24
  2. Entrée Xlr Input bal
    Par invitee82daedd dans le forum Électronique
    Réponses: 3
    Dernier message: 17/06/2012, 21h04
  3. No signal input
    Par invite107d9dde dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 2
    Dernier message: 19/07/2010, 10h04
  4. Input d'un transformateur
    Par invitea01369d3 dans le forum Physique
    Réponses: 1
    Dernier message: 12/07/2010, 17h42
  5. 2,5 V sur l'input d'un PIC ???
    Par Voltron dans le forum Électronique
    Réponses: 23
    Dernier message: 08/09/2007, 19h05
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...