interface commandée par internet - Page 4
Répondre à la discussion
Page 4 sur 5 PremièrePremière 4 DernièreDernière
Affichage des résultats 91 à 120 sur 124

interface commandée par internet



  1. #91
    Jack
    Modérateur

    Re : interface commandée par internet


    ------

    J'ai fait le schéma de la doc (figure 8: hot ligne switching)
    de quelle circuit?

    A+

    -----

  2. #92
    inviteaf09c809

    Re : interface commandée par internet

    Pour le MOC3041, pour pouvoir envoyer ou non le 220V en sortie.

    a+

  3. #93
    Jack
    Modérateur

    Re : interface commandée par internet

    Tu as mis quoi comme charge? Une ampoule?

    Et elle est éclairée en permanence?

    Ben faudrait faire des mesure à l'oscillo, mais c'est dangereux. Il faudrait savoir pourquoi ton triac est toujours conducteur (commande de la gachette).

    Ca m'embête quand même niveau sécurité. Il n'y a pas moyen de travailler en 24V?

    A+

  4. #94
    inviteaf09c809

    Re : interface commandée par internet

    Heu en fait j'ai testé sans charge pour l'instant et j'ai toujours les 220V entre les 2 bornes où je suis censé brancher l'objet (une ampoule par exemple).

    Sinon pour la sécurité c'est clair que c'est pas top vu que ca n'a pas l'air de fonctionner, je vais tester avec une plus faible tension...


    Sinon je viens de tester le microcontroleur, j'ai changé quelques trucs dans le programme (mais sur la gestion de la touche * pas des fonctions "basiques") et j'ai changé dans le configuration du uc j'avais laissé monitor mode et je suis passé à user mode (j'ai laissé activé maskable CPU interrupts) et lors la mise sous tension j'ai 8 des 9 sorties à 5v et une autre (PTD5) à 0V hors lors de l'initialisation des entrés j'ai bien choisi 1 logique pour toutes les sorties. Sinon lorsque j'appui sur une touche j'ai bien le code du MT8870 qui entre sur les 4 entrées du microcontroleur mais les sorties ne changent pas...
    Pourtant j'ai vérifié 10 fois le programme et rien ne me choque...

    a+

  5. #95
    inviteaf09c809

    Re : interface commandée par internet

    Si tu as un peu le temps de m'aider, voici mon programme:

    /* MODULE interface1 */


    /* Including used modules for compiling procedure */
    #include "Cpu.h"
    #include "Bits1.h"
    #include "Bits2.h"
    #include "Bits3.h"
    #include "Bits4.h"
    /* Include shared modules, which are used for whole project */
    #include "PE_Types.h"
    #include "PE_Error.h"
    #include "PE_Const.h"
    #include "IO_Map.h"


    /* Définition des noms des entrées/sorties */

    #define Q1 PTD_PTD6
    #define Q2 PTD_PTD7
    #define Q3 PTB_PTB5
    #define Q4 PTB_PTB6
    #define S1 PTD_PTD4
    #define S2 PTD_PTD5
    #define S3 PTD_PTD2
    #define S4 PTD_PTD3
    #define S5 PTB_PTB0
    #define S6 PTB_PTB1
    #define S7 PTB_PTB2
    #define S8 PTB_PTB3
    #define S9 PTB_PTB4


    /* Déclaration des variables utilisées */

    int t_1,t_2,t_3,t_4,t_5,t_6,t_7,t_ 8,t_9,t_etoile=0,t_dieze;
    int duree=0,actif=0;


    /* Fonction Timer1 permettant d'effectuer un comptage de 0.5 seconde */

    void Timer1(void){
    /* Nombre à atteindre pour une durée de 0.5 seconde
    Bus à 8Mhz, prédiviseur par 64, valeur souhaitée 0.5 seconde
    Calcul: 0.5s/(1/8Mhz * 64) = 62500
    0.5s car timer 16 bits donc nombre maximum = 65535 */
    T1MOD=62500;

    /* Configuration du Timer1 (de gauche à droite)
    0: initialisation à 0 de l'état représentant la fin du comptage
    1: activation des interruptions
    0: activation du compteur
    1: initialisation du timer à 0
    0: aucune signification
    110: prédiviseur par 64 (permet une grande précision) */
    T1SC=0b01010110;
    }


    /* Fonction activée lors des interruptions de la fonction précédente
    permettant de compter jusqu'à 10 secondes */

    void interrupt 6 _TimerOverflow_1(void){
    /* Compte le nombre de fois que 0.5 seconde s'est écoulée depuis
    l'activation du timer */
    duree++;

    /* Réinitialisation du timer à 0 */
    T1SC_TOF = 0;

    /* Si 10 secondes se sont écoulées: réinitialisation de duree à 0 et
    arrêt de la mémorisation de la touche * et du timer (sinon le timer
    est relancé pour 0.5s supplémentaire */
    if (duree==20){
    duree = 0;
    actif = 0;
    T1SC_TSTOP = 1;
    }
    }


    /* Programme principal */

    void main(void)
    {
    /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/
    PE_low_level_init();
    /*** End of Processor Expert internal initialization. ***/


    /* Désactive le watchdog (permet de faire un reset automatique
    en cas de problème) */

    CONFIG1_COPD = 1;


    /* Détection de la touche saisie par l'utilisateur */

    if(Q4==0 && Q3==0 && Q2==0 && Q1==1){
    t_1 = 1;
    }else{
    t_1 = 0;
    }

    if (Q4==0 && Q3==0 && Q2==1 && Q1==0){
    t_2 = 1;
    }else{
    t_2 = 0;
    }

    if (Q4==0 && Q3==0 && Q2==1 && Q1==1){
    t_3 = 1;
    }else{
    t_3 = 0;
    }

    if (Q4==0 && Q3==1 && Q2==0 && Q1==0){
    t_4 = 1;
    }else{
    t_4 = 0;
    }

    if (Q4==0 && Q3==1 && Q2==0 && Q1==1){
    t_5 = 1;
    }else{
    t_5 = 0;
    }

    if (Q4==0 && Q3==1 && Q2==1 && Q1==0){
    t_6 = 1;
    }else{
    t_6 = 0;
    }

    if (Q4==0 && Q3==1 && Q2==1 && Q1==1){
    t_7 = 1;
    }else{
    t_7 = 0;
    }

    if (Q4==1 && Q3==0 && Q2==0 && Q1==0){
    t_8 = 1;
    }else{
    t_8 = 0;
    }

    if (Q4==1 && Q3==0 && Q2==0 && Q1==1){
    t_9 = 1;
    }else{
    t_9 = 0;
    }

    if (Q4==1 && Q3==0 && Q2==1 && Q1==1) {
    if (actif == 0){
    t_etoile = 1;
    }
    }

    if (Q4==1 && Q3==1 && Q2==0 && Q1==0){
    t_dieze = 1;
    }else{
    t_dieze = 0;
    }


    /* Attention: activation du relais avec un niveau logique bas et désactivation
    du relais avec un niveau logique haut */



    /* Si la touche * est saisie on lance un timer de 10s pendant lequel on
    mémorise que cette touche a été saisie */

    if (t_etoile == 1){
    Timer1();
    actif = 1;
    t_etoile = 0;
    }


    /* Si la touche * n'a pas été saisie dans les 10 dernières secondes et
    qu'une touche comprise entre 1 et 9 est saisie alors activation du relais
    correspondant */

    if (actif == 0){

    if(t_1 == 1){
    S1 = 0;
    }
    if(t_2 == 1){
    S2 = 0;
    }
    if(t_3 == 1){
    S3 = 0;
    }
    if(t_4 == 1){
    S4 = 0;
    }
    if(t_5 == 1){
    S5 = 0;
    }
    if(t_6 == 1){
    S6 = 0;
    }
    if(t_7 == 1){
    S7 = 0;
    }
    if(t_8 == 1){
    S8 = 0;
    }
    if(t_9 == 1){
    S9 = 0;
    }
    }


    /* Si la touche * a été saisie dans les 10 dernières secondes et qu'une
    touche comprise entre 1 et 9 est saisie alors désactivation du relais
    correspondant et arrêt de la mémorisation de la touche * */

    if (actif == 1){

    if(t_1 == 1){
    S1 = 1;
    actif=0;
    }
    if(t_2 == 1){
    S2 = 1;
    actif=0;
    }
    if(t_3 == 1){
    S3 = 1;
    actif=0;
    }
    if(t_4 == 1){
    S4 = 1;
    actif=0;
    }
    if(t_5 == 1){
    S5 = 1;
    actif=0;
    }
    if(t_6 == 1){
    S6 = 1;
    actif=0;
    }
    if(t_7 == 1){
    S7 = 1;
    actif=0;
    }
    if(t_8 == 1){
    S8 = 1;
    actif=0;
    }
    if(t_9 == 1){
    S9 = 1;
    actif=0;
    }
    }


    /* Si la touche # est saisie: désactivation de l'ensemble des relais */

    if (t_dieze == 1){
    S1 = 1;
    S2 = 1;
    S3 = 1;
    S4 = 1;
    S5 = 1;
    S6 = 1;
    S7 = 1;
    S8 = 1;
    S9 = 1;
    }


    /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/
    for(;{}
    /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/
    } /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/

    /* END interface1 */


    Merci !

  6. #96
    Jack
    Modérateur

    Re : interface commandée par internet

    Heu en fait j'ai testé sans charge pour l'instant et j'ai toujours les 220V entre les 2 bornes où je suis censé brancher l'objet (une ampoule par exemple).
    S'il n'y a pas de charge, le triac ne peut pas être passant.

    Ton programme ne peut pas fonctionner, enfin si, mais une seule fois car une fois qu'il sera dans la boucle for ( ; ; ) à la fin, il n'en sortira plus.

    A+

  7. #97
    inviteaf09c809

    Re : interface commandée par internet

    Citation Envoyé par Jack
    S'il n'y a pas de charge, le triac ne peut pas être passant.
    J'avais pensé au problème de la charge mais c'est dangereux d'avoir du 220V entre les bornes si rien n'est branché dessus non ?

    Citation Envoyé par Jack
    Ton programme ne peut pas fonctionner, enfin si, mais une seule fois car une fois qu'il sera dans la boucle for ( ; ; ) à la fin, il n'en sortira plus.
    Ah...moi je pensais que c'était un truc à lui pour qu'il fasse le programme tout le temps...
    Il faut donc que je rajoute un while(1) dans mon main alors...

    Merci beaucoup pour ton aide !!!

  8. #98
    inviteaf09c809

    Re : interface commandée par internet

    Ah ben il ne veut pas de mon while(1) il me dit que la condition est toujours valide (logique ca...lol)

  9. #99
    Jack
    Modérateur

    Re : interface commandée par internet

    Il faut donc que je rajoute un while(1) dans mon main alors...
    Ben non, c'est inutile le for ( ; ; ) est équivalent à while (1).

    A+

  10. #100
    Jack
    Modérateur

    Re : interface commandée par internet

    Ah ben il ne veut pas de mon while(1) il me dit que la condition est toujours valide (logique ca...lol)
    C'est normal. Mais ça n'est qu'un warning, ce qui n'empêche pas la compilation du programme.

    C'est pareil pour le for ( ; ; ) {

    }

    A+

  11. #101
    inviteaf09c809

    Re : interface commandée par internet

    Heu...et je fais comment alors pour qu'il fasse mon programme en boucle si je met pas de while(1) et qu'il reste bloqué dans le for?

    Je met le main dans cette boucle ? mais c'est marqué don't modify this code...

  12. #102
    Jack
    Modérateur

    Re : interface commandée par internet

    ben tu y mets la partie du programme qui scrute en permanence le code généré par le 8870.

    A+

  13. #103
    inviteaf09c809

    Re : interface commandée par internet

    Ok donc en fait je met ce qui scrute les touches et également ce qui active ou non les relais, bref tout à part l'initialisation.

    Par contre pour les relais, enfin moc + triac, je viens d'essayer et même si je met rien en entré du moc l'ampoule s'allume...

    J'ai vérifié 15 fois la doc et ce que j'ai câblé et je vois pas de différence pourtant, à part si les brochages du moc ou du triac ne sont pas les mêmes que dans les docs que j'ai téléchargé...mais ca m'étonnerais...

    Merci

    a+

  14. #104
    inviteaf09c809

    Re : interface commandée par internet

    Bonjour,

    J'ai un peu testé en enlevant les différent liens qu'il y a entre le MOC et le triac et en fait la lumière ne s'allume plus lorsque j'enlève la résistance de 330 ohms qu'il y a entre la gachette du triac (et la broche 4 du MOC) et la broche A2 du triac.
    Et comme j'avais déja enlevé le lien entre la borche 6 du MOC et le 220V on dirait que ca passe entre la gachette et A2 via cette resistance...
    Pourtant la résistance n'a pas l'air morte,elle donne toujours 330 ohms à l'ohmmètre et j'ai bien vérifié le brochage du triac sur la doc et ca correspond...

    En plus c'est un schéma typique qu'il y a dans la doc du MOC c'est pas un truc que moi j'ai fait...bizar bizar...

    a+

  15. #105
    inviteaf09c809

    Re : interface commandée par internet

    Je viens de tout rebrancher pour voir si c'était bien ca le problème, et en fait quand j'ai branché la lumière ne sait pas allumée et quand j'ai mis le 5V sur le MOC la lumière s'est allumée....le seul problème c'est qu'après coup j'ai vu que j'avais oublié de refaire le lien entre la broche 4 du MOC et la gachette du triac et que les 2 résistances de 330 et 360 ohms qui sont sur les broches 4 et 6 du MOC ont fumée....

    Donc avec ma connerie j'ai pu voir que le MOC fonctionne ...par contre je ne sais pas pourquoi ca ne marche pas alors qu'il n'y a que 2 résistances et 1 triac derrière (sans compter la résistance et condo en parallèle mais ca c'est pas obligatoire)

  16. #106
    Jack
    Modérateur

    Re : interface commandée par internet

    le seul problème c'est qu'après coup j'ai vu que j'avais oublié de refaire le lien entre la broche 4 du MOC et la gachette du triac et que les 2 résistances de 330 et 360 ohms qui sont sur les broches 4 et 6 du MOC ont fumée....

    Donc avec ma connerie j'ai pu voir que le MOC fonctionne
    Il est anormal que les résistances aient fumé. Il doit y avoir un problème pas évident dans ton montage.

    Le MOC peut passer jusqu'à 60mA. Disons 50mA pour assurer. Il faudrait trouver une charge que le MOC pourrait directement commander, sans le triac de puissance.

    Sinon, je ne vois plus quoi te conseiller. A distance, c'est pas simple.

    A+

  17. #107
    inviteaf09c809

    Re : interface commandée par internet

    Oui effectivement il y a un problème quelque part mais je ne vois pas ce que ca pourrait être non plus...

    Je vais laisser ca un peu de côté pour l'instant, je vais essayé de faire marcher le microncontroleur...

    D'ailleur j'avais mis une partie du programme dans le for à la fin et à la compilation ce con il m'a supprimé tout ce que j'avais mi dedans !!! Heureusement que j'avais une sauvegarde, j'ai mis un while(1) comme j'avais pensé au départ et je vais essayer comme ca.

    En tout cas merci pour ton aide !

  18. #108
    Jack
    Modérateur

    Re : interface commandée par internet

    D'ailleur j'avais mis une partie du programme dans le for à la fin et à la compilation ce con il m'a supprimé tout ce que j'avais mi dedans !!!
    Je procède pourtant toujours comme ça et je n'ai jamais eu ce problème.

    Mais si un while te rassure, n'hésite pas.

    A+

  19. #109
    inviteaf09c809

    Re : interface commandée par internet

    Bon ben ca ne marche toujours pas, sur les 9 sorties elles sont toutes à 0 sauf la 3ème (PTD2) alors qu'elles devraient être toutes à 1 au début et l'envoi des différents codes en entrés ne changent rien.

    En plus je viens de remarquer un autre problème, le MT8870 garde le code en sortie en permanence et donc ca me pose un problème pour la gestion de la touche * (je voulais qu'il ait 10 secondes apres avoir tapé * pour entrer le numero de la sortie à désactivé, mais s'il ne tape rien pendant ces 10 secondes et qu'il tape de nouveau * pour relancer les 10 secondes ben ca ne marchera pas vu que le code n'aura pas changé entre les 2 appuis...)

    Je commence à désespérer la...

    a+

  20. #110
    inviteaf09c809

    Re : interface commandée par internet

    Quoi que pour ce dernier problème j'ai peut être trouvé une solution.

    D'après la doc du MT8870 lorsqu'un nouveau code est présent et décodé TOE=1.
    Le composant envoie le code en sortie si STD=1.

    Il suffit donc que je relie STD à TOE au lieu de relier TOE à +5V.
    Comme ca dès qu'un nouveau code est présent il me l'envoi en sortie et au bout d'un certain temps STD passe à 0 et donc désactive les sorties.

  21. #111
    inviteaf09c809

    Re : interface commandée par internet

    Cette solution marcherait pour les 2 solutions (à base de logique (pour le rapport...) et le microcontroleur).

    Pour le microcontroleur je pourrais également envoyer sur la dernière entrée qui me reste STD comme ca je pourrais savoir quand un nouveau code arrive et j'ai juste à modifier le code en conséquence (malgré que le programme ne marche pas...cette plaque est maudite je crois...).

  22. #112
    inviteaf09c809

    Re : interface commandée par internet

    Bonjour,

    en fait je vais simplement faire une détection d'une nouvelle touche en mettant STD sur une entré du microcontroleur.

    Par contre je viens de voir en essayant la fonction "debug" dans le logiciel qu'il me fait une erreur quand j'essai de désactiver le "watchdog".

    Il me dit : Error: Error - CONFIG register can be written only once after RESET.

    Pour le désactiver j'avais mi au début du main: CONFIG1_COPD = 1;

    Par contre si j'enleve ca, le uc va me faire des resets automatique lors de l'attente d'une nouvelle touche si j'ai bien compri, non ?

    Attente de la saisie d'une touche
    while(new_touche == 0){}

    Par contre j'ai pas encore pu tester sans pour essayer car la pile du programmteur est un peu fatiguée...

    Sinon depuis j'ai pas trouvé le problème du uc, il ne fait rien lorsque je lui envoi qqc en entré...

    a+

  23. #113
    Jack
    Modérateur

    Re : interface commandée par internet

    Il me dit : Error: Error - CONFIG register can be written only once after RESET.
    C'est qu'il y a déjà eu une écriture dans ce registre depuis le reset.

    while(new_touche == 0){}
    Comment est initialisé "new_touche"?

    A+

  24. #114
    inviteaf09c809

    Re : interface commandée par internet

    Bonjour,

    Citation Envoyé par Jack
    C'est qu'il y a déjà eu une écriture dans ce registre depuis le reset.
    Ok et sinon ca peut se désactiver directement depuis processor expert ?

    Citation Envoyé par Jack
    Comment est initialisé "new_touche"?
    J'ai fait : #define new_touche PTB_PTB7

    a+

  25. #115
    Jack
    Modérateur

    Re : interface commandée par internet

    Ok et sinon ca peut se désactiver directement depuis processor expert ?
    Oui, surement.

    A+

  26. #116
    inviteaf09c809

    Re : interface commandée par internet

    Pour le watchdog dans processor expert, c'est marqué que ca valeur initial est à 1 (donc désactivé) mais apres reset il est à 0 (donc activé).

    Le "problème" c'est que je ne peux pas changer la valeur dans le tableau.
    Par contre j'ai vu qu'il laisse le choix de le laisser activer dans processor expert ou de choisir "used by external device" et c'est marqué à côté "disabled for usage in PE" donc ca devrait à priori le désactiver et je pourrais laisser la commande dans le .c non ?

    a+

    Edit : ah ben non j'ai toujours l'erreur...

  27. #117
    Jack
    Modérateur

    Re : interface commandée par internet

    je ne maîtrise pas processor expert et je n'ai pas trop le temps de fouiller dans ses options pour l'instant.

    Trouve où le registre a été configuré dans les fichiers générés par processor expert, et vérifie que le cop est bien désactivé.

    A+

  28. #118
    inviteaf09c809

    Re : interface commandée par internet

    Bonjour,

    D'après ce que j'ai trouvé il est bien initialisé à 1 mais il passe à 0 lors d'un reset.
    Mais logiquement vu que le reset est câblé à +5v et que le watchdog est désactivé à l'initilisation il ne devrait pas y avoir de reset donc ca devrait être bon.

    Merci pour ton aide !

    a+

  29. #119
    Jack
    Modérateur

    Re : interface commandée par internet

    il y a toujours un reset à la mise sous tension.

    A+

  30. #120
    inviteaf09c809

    Re : interface commandée par internet

    Ah ben ca va va poser un p'tit problème alors, faut que je regarde encore où je peux modifier ca alors...

    Merci

    a+

Page 4 sur 5 PremièrePremière 4 DernièreDernière

Discussions similaires

  1. Interface commandée par téléphone
    Par inviteaf09c809 dans le forum Électronique
    Réponses: 29
    Dernier message: 22/07/2008, 13h05
  2. interface autoguidage par usb!
    Par AF06 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 2
    Dernier message: 18/04/2006, 10h22
  3. serrure commandée par carte magnétique
    Par invite11d8270a dans le forum Électronique
    Réponses: 3
    Dernier message: 24/01/2006, 21h06
  4. chenillard commandée par pc ??
    Par invite0b8beced dans le forum Électronique
    Réponses: 1
    Dernier message: 18/12/2004, 20h11
Découvrez nos comparatifs produits sur l'informatique et les technologies.