[Autre] création pcb gestion d'aquarium - Page 5
Répondre à la discussion
Page 5 sur 11 PremièrePremière 5 DernièreDernière
Affichage des résultats 121 à 150 sur 304

création pcb gestion d'aquarium



  1. #121
    invitef86a6203

    Re : création pcb gestion d'aquarium


    ------

    Effectivement c est une habitude à prendre au début.
    Par définition on ne touche pas a ce qu'il y a derrière les // ou /* */

    Le Ctrl T de Arduino c'est le C beautifier (prononcé cé biouti failleur LOL) d'UNIX
    En fait le C c'est pour Code et non pas le C de "langage C"

    Renommer parfois en "C formater" maintenant.
    Il faut dire que les sources d'UNIX des années 70 ont tellement fait des petits qu'on trouve des variantes de tout ces programmes originaux.

    Il existe peut être des progs qui formatent les comments.
    Ou alors il faut l'écrire...

    -----

  2. #122
    djbouns

    Re : création pcb gestion d'aquarium

    Citation Envoyé par freepicbasic Voir le message
    Ou alors il faut l'écrire...
    lol, ouai ba je laisse sa a quelqu'un d'autre lol
    J'ai déjà assez a faire lol
    1h30 pour commenter 1 .cpp, reste plus que 15

  3. #123
    invitef86a6203

    Re : création pcb gestion d'aquarium

    J'en ai retrouvé un;

    Dans le zip un ancien CBEAUTIFIER sur DOS
    le mettre dans un répertoire avec le fichier.
    ouvrir un cmd et exécuter.

    Je ne sais pas s'il met en forme les comments.
    Faire une copie du fichier traité avant juste au cas où ...
    Fichiers attachés Fichiers attachés

  4. #124
    djbouns

    Re : création pcb gestion d'aquarium

    Le programme plante au moment ou il modifie le fichier que se soit option 1 ou option 2.
    Il crée tout de même un fichier temporaire que je peut ouvrir.
    En faite, il supprime toute les ligne vide et met a la ligne du dessous tout les commentaires.
    Donc pas vraiment grande utilité dans mon cas :/
    Dommage mais merci quand même

  5. #125
    djbouns

    Re : création pcb gestion d'aquarium

    J'ai commenter la première page
    Ça vous parais claire, lisible et compréhensif ? exemple la partie sur AREF ?
    Code:
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ SETUP $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    void setup() {
    
      /*  Initialise et configure la vitesse de communication du moniteur serie (74880 baud)*/
      Serial.begin(74880);
    
      /* Initialisation de l'ecran nextion
         configure la vitesse de communication (115200 baud)
         Communication sur RX2/TX2
         !!! IMPORTANT !!! >>> Si vous utiliser la biblioteque officiel telecharger a partir de https://github.com/itead/ITEADLIB_Arduino_Nextion vous devez effectuer des modification :
         >>> Dans NexConfig.h, ligne 27, vous devez modifier #define DEBUG_SERIAL_ENABLE par:
         //#define DEBUG_SERIAL_ENABLE
         Cela désactive le debug dans le moniteur serie.
         >>> Toujours dans NexConfig.h, ligne 37, vous devez modifier #define nexSerial Serial1 par:
         #define nexSerial Serial2
         Serial2 correspond a RX2/TX2
         >>> Dans NexHardware.cpp, ligne 226, vous devez modifier nexSerial.begin(9600); par:
         nexSerial.begin(115200);
         Cela Correspond a la vitesse de communication (115200 baud) entre l'ecran et l'arduino <<< !!! IMPORTANT !!! */
      nexInit();
      pageActuelNextion = demarrage; // indique que l'ecran est sur la page de demarrage
    
    
      // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CONFIGURATION DES BROCHES DE L'ARDUINO
      /* Prend comme reference analogique le pin AREF de l'arduino
        !!! IMPORTANT !!! >>> vous devez fournir une tension de reference de 4.096V pour avoir des mesures PH coherente et stable
        vous pouvez utiliser la Référence de tension, 4.096V du Microchip MCP1541-I-TO <<< !!! IMPORTANT !!! */
      analogReference(EXTERNAL);
    
      pinMode(pinOutEclairage[0], OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutEclairage[1], OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutEclairage[2], OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutEclairage[3], OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutBrassage[0], OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutBrassage[1], OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutBrassage[2], OUTPUT); // Définit la broche comme sortie
      oscillo[0].attach(pinOUTOscillo1); // Définit la broche comme sortie
      oscillo[1].attach(pinOUTOscillo2); // Définit la broche comme sortie
      oscillo[2].attach(pinOUTOscillo3); // Définit la broche comme sortie
      pinMode(pinInFloteurOsmolation, INPUT_PULLUP); // Définit la broche comme entrée et active la resistance pull-up
      pinMode(pinInFloteurNiveauEcumeur, INPUT_PULLUP); // Définit la broche comme entrée et active la resistance pull-up
      pinMode(pinInFloteurGodetEcumeur, INPUT_PULLUP); // Définit la broche comme entrée et active la resistance pull-up
      pinMode(pinInFloteurSecurite, INPUT_PULLUP); // Définit la broche comme entrée et active la resistance pull-up
      pinMode(pinInFloteurReserve, INPUT_PULLUP); // Définit la broche comme entrée et active la resistance pull-up
      pinMode(pinInRelaisEdf, INPUT_PULLUP); // Définit la broche comme entrée et active la resistance pull-up
      pinMode(pinOutRelaisRemontee, OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutRelaisChauffage, OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutRelaisVentilateurBac, OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutRelaisVentilateurRampe, OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutRelaisOsmolation, OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutRelaisDistributeurNouriture, OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutRelaisElectovanneRac, OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutRelaisEcumeur, OUTPUT); // Définit la broche comme sortie
      pinMode(pinOutbuzzer, OUTPUT); // Définit la broche comme sortie
      pinMode(hardRestPIN, OUTPUT); // Définit la broche comme sortie
    
      // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Debut de l'initialisation
      strncpy_P (bufferTexte, texteNextion1, maxbufferTexte); // recupere "char" en memoire flash et le copie
      texte1.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
      DPRINT(bufferTexte); DPRINTLN(); // debug
      delay(2000); // delais de 2 secondes
    
      /* Verifie si il y a des parametres dans l'eeprom
        Si il n'y a rien, chargement des parametre par default
        Sinon, chargement des parametre de l'eeprom */
      etablirValeursParDefaut();
    
      /* Initialisation de l'horloge */
      rtc.begin();
      strncpy_P (bufferTexte, texteNextion3, maxbufferTexte); // recupere "char" en memoire flash et le copie
      texte2.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
      delay(2000); // delais de 2 secondes
      if (rtc.lostPower()) { // si horloge non initialisé
        texte2.Set_font_color_pco(63488); // text couleur rouge
        strncpy_P (bufferTexte, texteNextion4, maxbufferTexte); // recupere "char" en memoire flash et le copie
        texte2.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
        DPRINT(bufferTexte); DPRINTLN(); // debug
        rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));// met a jour l'horloge en utilisant l'heure de televersement
      }
      else { // si horloge bien initialisé
        texte2.Set_font_color_pco(1632); // texte couleur vert
        strncpy_P (bufferTexte, texteNextion5, maxbufferTexte); // recupere "char" en memoire flash et le copie
        texte2.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
        DPRINT(bufferTexte); DPRINTLN(); // debug
      }
    
      /* Initialisation des sonde de temperature ds18b20 */
      sensors.begin();
      strncpy_P (bufferTexte, texteNextion6, maxbufferTexte); // recupere "char" en memoire flash et le copie
      texte3.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
      delay(2000); // delais de 2 secondes
      if (!sensors.getDeviceCount()) { // si aucune sonde de temperature detectée
        texte3.Set_font_color_pco(63488); // text couleur rouge
        strncpy_P (bufferTexte, texteNextion7, maxbufferTexte); // recupere "char" en memoire flash et le copie
        texte3.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
        DPRINT(bufferTexte); DPRINTLN(); // debug
      }
      else {
        if (sensors.getDeviceCount() == 1) { // Si 1 sonde detectée
          texte3.Set_font_color_pco(64962); // texte couleur orange
          strncpy_P (bufferTexte, texteNextion8, maxbufferTexte); // recupere "char" en memoire flash et le copie
          texte3.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
          DPRINT(bufferTexte); DPRINTLN(); // debug
        }
        else if (sensors.getDeviceCount() == 2) { // si 2 sondes detectées
          texte3.Set_font_color_pco(1632); // texte couleur vert
          strncpy_P (bufferTexte, texteNextion9, maxbufferTexte); // recupere "char" en memoire flash et le copie
          texte3.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
          DPRINT(bufferTexte); DPRINTLN(); // debug
        }
        sensors.getAddress(sondeBac, sauvegarde.adresseSondeBac) ; // indique l'adresse de la sonde
        sensors.getAddress(sondeRampe, sauvegarde.adresseSondeRampe); // indique l'adresse de la sonde
        sensors.setResolution(sondeBac, 12);//resolution 9 = 0.5°= 93.75ms pour mesurer;, 10 = 0.25° = 187.5ms pour mesurer , 11 = 0.125° = 375ms pour mesurer, 12 = 0.0625° = 750ms pour mesurer
        sensors.setResolution(sondeRampe, 12);//resolution 9 = 0.5°= 93.75ms pour mesurer;, 10 = 0.25° = 187.5ms pour mesurer , 11 = 0.125° = 375ms pour mesurer, 12 = 0.0625° = 750ms pour mesurer
        sensors.setWaitForConversion(false); // on travaillera en asynchrone, on n'attend pas les lectures
        sensors.requestTemperatures(); // on lance une demande de lecture qui sera prête plus tard
      }
    
      /* Initialisation de la carte SD */
      strncpy_P (bufferTexte, texteNextion10, maxbufferTexte); // recupere "char" en memoire flash et le copie
      texte4.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
      DPRINT(bufferTexte); DPRINTLN(); // debug
      delay(2000); // delais de 2 secondes
      if (!SD.begin(SD_CS_PIN)) { // Si carte SD non détéctée
        texte4.Set_font_color_pco(63488); // text couleur rouge
        strncpy_P (bufferTexte, texteNextion11, maxbufferTexte); // recupere "char" en memoire flash et le copie
        texte4.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
        DPRINT(bufferTexte); DPRINTLN(); // debug
      }
      else { // Si carte SD bien initialisée
        texte4.Set_font_color_pco(1632); // texte couleur vert
        strncpy_P (bufferTexte, texteNextion12, maxbufferTexte); // recupere "char" en memoire flash et le copie
        texte4.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
        DPRINT(bufferTexte); DPRINTLN(); // debug
        delay(2000); // delais de 2 secondes
        lisSurSd("ssid.txt", ssid, maxSsid); // lance la lecture/copie du fichier
        lisSurSd("mdp.txt", mdp, maxMdp); // lance la lecture/copie du fichier
        lisSurSd("numero2tel.txt", numero2tel, maxnumero2tel); // lance la lecture/copie du fichier
      }
    
      /* Initialise et configure la vitesse de communication du GSM avec l'arduino (57600 baud) */
      gsm.begin(57600);
      strncpy_P (bufferTexte, texteNextion13, maxbufferTexte); // recupere "char" en memoire flash et le copie
      texte5.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
      DPRINT(bufferTexte); DPRINTLN(); // debug
      if (gsmPrintlnAndWaitATCommand(ATString, OKLongString, 5 * oneSecond, true)) {
        delay(2000); // delais de 2 secondes
      }
      else {
        texte5.Set_font_color_pco(63488); // text couleur rouge
        strncpy_P (bufferTexte, texteNextion14, maxbufferTexte); // recupere "char" en memoire flash et le copie
        texte5.setText(bufferTexte);// envoi le texte a l'ecran nextion// envoi le texte a l'ecran nextion
        DPRINT(bufferTexte); DPRINTLN(); // debug
        gsmOn = false; // Met le GSM en OFF
      }
      if (gsmOn == true) { // si le GSM est ON
        if (!gsmPrintlnAndWaitATCommand("AT+CMGF=1", OKLongString, oneSecond, true)) { // on passe en les SMS en mode texte
          texte5.Set_font_color_pco(63488); // text couleur rouge
          strncpy_P (bufferTexte, texteNextion15, maxbufferTexte); // recupere "char" en memoire flash et le copie
          texte5.setText(bufferTexte);// envoi le texte a l'ecran nextion
          DPRINT(bufferTexte); DPRINTLN(); // debug
          gsmOn = false; // Met le GSM en OFF
        }
      }
      if (gsmOn == true) { // si le GSM est ON
        if (!gsmPrintlnAndWaitATCommand("AT+CNMI=1,0,0,0,0", OKLongString, oneSecond, true)) {  // on passe en mode routage des SMS vers le terminal
          texte5.Set_font_color_pco(63488); // text couleur rouge
          strncpy_P (bufferTexte, texteNextion16, maxbufferTexte); // recupere "char" en memoire flash et le copie
          texte5.setText(bufferTexte);// envoi le texte a l'ecran nextion
          DPRINT(bufferTexte); DPRINTLN(); // debug
          gsmOn = false; // Met le GSM en OFF
        }
      }
      if (gsmOn == true) { // si le GSM est ON
        texte5.Set_font_color_pco(1632); // texte couleur vert
        strncpy_P (bufferTexte, texteNextion17, maxbufferTexte); // recupere "char" en memoire flash et le copie
        texte5.setText(bufferTexte);// envoi le texte a l'ecran nextion
        DPRINT(bufferTexte); DPRINTLN(); // debug
      }
    
      /* Initialise et configure la vitesse de communication du modul Wifi avec l'arduino (115200 baud) */
      // rebootwifi(); // reboot le modul avant initialisation
      //d1mini.begin(115200);
      //WiFi.init(&d1mini); // initialisation de la librairie et du module ESP
      strncpy_P (bufferTexte, texteNextion18, maxbufferTexte); // recupere "char" en memoire flash et le copie
      texte6.setText(bufferTexte);// envoi le texte a l'ecran nextion
    
      texte6.Set_font_color_pco(1632); // texte couleur vert
      strncpy_P (bufferTexte, texteNextion19, maxbufferTexte); // recupere "char" en memoire flash et le copie
      texte6.setText(bufferTexte);// envoi le texte a l'ecran nextion
       // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  Initialisation terminé
    
      // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< MAJ des valeurs avant d'afficher la page menu sur l'ecran
      temperature(); // lance la fonction
    
      /* prend 20 mesure PH sur chaque sonde afin d'avoir un resultat stable*/
      for (int i = 0; i < nombreDeMesure; i++) {
        phBac += map(analogRead(pinInPhBac), valeurAnalogiquePh401, valeurAnalogiquePh918, etalonnagePhBas, etalonnagePhHaut);
        phRac += map(analogRead(pinInPhRac), valeurAnalogiquePh401, valeurAnalogiquePh918, etalonnagePhBas, etalonnagePhHaut);
      }
      phBac = phBac / nombreDeMesure; // divise le cumul par le nombre de mesure
      phRac = phRac / nombreDeMesure;// divise le cumul par le nombre de mesure
    
      horaire();// lance la fonction
      eclairage();// lance la fonction
      brassage();// lance la fonction
      definiTempeteAleatoire(); // lance la fonction
      affichePageMenu();// lance la fonction
      oscillo[0].write(positionOscillo[0]); // met l'oscillateur a sa position initial
      oscillo[1].write(positionOscillo[1]); // met l'oscillateur a sa position initial
      oscillo[2].write(positionOscillo[2]); // met l'oscillateur a sa position initial
    
      /* Active le watchdog de l'arduino
        Si plus de remise a zero du compteur "reboot" (fait dans le loop) au bout de 8 secondes = bug de l'arduino = reboot automatique ! */
      wdt_enable(WDTO_8S);
    
    } // fin du setup

  6. #126
    invitef86a6203

    Re : création pcb gestion d'aquarium

    4.096V on le fait comment ?
    L'horloge n'a pas de pile de sauvegarde ?
    La carte est indispensable ou pas ?
    (je demande parce que si elle ne répond pas on continue comme si de rien était)

  7. #127
    djbouns

    Re : création pcb gestion d'aquarium

    Citation Envoyé par freepicbasic Voir le message
    4.096V on le fait comment ?
    C'est precisé "vous pouvez utiliser la Référence de tension, 4.096V du Microchip MCP1541-I-TO"
    Si ta remarque concerne le montage, il seras indiqué dans le poste dédier au montage et dans la notice"

    L'horloge n'a pas de pile de sauvegarde ?
    oui il y a une pile

    La carte est indispensable ou pas ?
    (je demande parce que si elle ne répond pas on continue comme si de rien était)
    L'horloge est obligatoire.
    La carte sd le gsm le wifi, non.
    Que se soit l'horloge, les sondes, le gsm ... Il fallait fait un choix si l'un ou l'autre ne répondait pas.
    arrêter le démarrage ou l'indiquer (message en rouge sur l’écran d'initialisation) et continuer.
    J'ai préféré le dernière option.
    Dernière modification par djbouns ; 31/07/2018 à 22h13.

  8. #128
    djbouns

    Re : création pcb gestion d'aquarium

    Concernant l'horloge je suppose que tu demandait pour la pile pars que j'ai laisser non commenter la ligne de MAJ de l'horloge au televersement.
    C'est un oubli, ainsi que l'explication pour la première utilisation.
    Mais en plus j'ai ajouter une page "horloge" ou l'on ajuste manuellement l'heure via l’écran.
    Dernière modification par djbouns ; 31/07/2018 à 22h18.

  9. #129
    djbouns

    Re : création pcb gestion d'aquarium

    un petit aperçu du pcb.
    Je suppose que vos remarques m'obligerons a encore le modifier
    Sur la partie alimentation je le ferait en amont (pour ceux qui voudrais un système sur batterie en cas de coupure EDF) dans un boitier dédier. a moins qu'il y est une contre indication ?
    Pour les sorties flotteur et oscillateur il y auras 2 très petite carte déporter pour diviser les flotteurs/oscillateurs (cela évite d'avoir 5x 2fils flotteurs partant du boitier et 3x 3 fils oscillateur)

    fs33.jpg
    fs32.jpg
    fs34.jpg
    Dernière modification par Antoane ; 02/08/2018 à 11h40. Motif: Rapatriement des PJ sur le serveur du forum

  10. #130
    djbouns

    Re : création pcb gestion d'aquarium

    cc tout le monde,

    ça avance ...

    IMG_20180823_111528.jpg
    IMG_20180823_111807.jpg
    IMG_20180823_111649.jpg
    IMG_20180823_111606.jpg
    IMG_20180823_111551.jpg

    le montage ma permis de mettre le doit sur des petit bug/erreur dans le code que je n'avait pas vu jusque la.

  11. #131
    djbouns

    Re : création pcb gestion d'aquarium

    Citation Envoyé par DAUDET78 Voir le message
    Y a pas de parasites sur les relais . Sur les contacts, oui. On mets des snubbers sur les contacts.
    bjr,

    Les snubbers sont il également utile/nécessaire pour les parasites des servomoteurs ?

  12. #132
    invitee05a3fcc

    Re : création pcb gestion d'aquarium

    Citation Envoyé par djbouns Voir le message
    Les snubbers sont il également utile/nécessaire pour les parasites des servomoteurs ?
    Y a pas de parasite sur les servomoteurs vu que c'est commandé en PWM . Par contre, il y a des appels de courant .
    Les alimentations doivent être découplées par chimique//céramique

  13. #133
    djbouns

    Re : création pcb gestion d'aquarium

    a ok
    Pour le momment sur ma carte "dispatch oscillo", elle peut comporter jusque a 3 servo moteur (s3003)
    Sur l'arrivé Dc j'ai mis un 220uF (n°13)
    juste avant chaque servo moteur un 100pF (n°15)
    Nom : xwfdghb.JPG
Affichages : 199
Taille : 142,8 Ko
    C'est bon ou alors il faut également un chimique par servo moteur ?

  14. #134
    invitee05a3fcc

    Re : création pcb gestion d'aquarium

    Un 220µF pour 3 servos, c'est bon
    100pF, ça sert à rien. Faut du 0,1µF ou du 0,22µF
    Par contre tu aurais pu laisser le maximum de cuivre pour la piste 0V

  15. #135
    djbouns

    Re : création pcb gestion d'aquarium

    ok merci je modifie la valeur.
    Que veut tu dire par laisser le maximum de cuivre ? le plan de masse est trop espacé ?

  16. #136
    invitee05a3fcc

    Re : création pcb gestion d'aquarium

    Citation Envoyé par djbouns Voir le message
    le plan de masse est trop espacé ?
    je vois des pistes en vert clair. c'est quoi en vert foncé ?

  17. #137
    djbouns

    Re : création pcb gestion d'aquarium

    Le vert foncé c'est le plan de masse donc le 0v.
    J'ai fait une bêtise ? il ne falait pas tracé la piste 0v avec le plan de masse ?

  18. #138
    invitee05a3fcc

    Re : création pcb gestion d'aquarium

    Citation Envoyé par djbouns Voir le message
    Le vert foncé c'est le plan de masse donc le 0v.
    J'ai fait une bêtise ? il ne falait pas tracé la piste 0v avec le plan de masse ?
    Donc en fait le vert clair et le vert foncé, c'est du cuivre pareil ? ou c'est un double couche ?

  19. #139
    djbouns

    Re : création pcb gestion d'aquarium

    Citation Envoyé par DAUDET78 Voir le message
    Donc en fait le vert clair et le vert foncé, c'est du cuivre pareil ? ou c'est un double couche ?
    oui, meme couche donc vert et vert foncé = cuivre.
    Donc la piste vert claire (0v) ne se verras pas une fois imprimé puisque dans le plan de masse.

  20. #140
    djbouns

    Re : création pcb gestion d'aquarium

    Mes postes avec le PCB restant sans réaction je me suis dit que peut être, il ne représentait rien a vos yeux et thermes technique.
    Meme si cela me prend beaucoup de temps je vais schématisé tout cela petit a petit.
    J’espère susciter un peu plus d'interet et de conseille comme cela.
    Le premier schema représente de l'arduino au relais 12v actuellement.
    SCHEMA ARDUINO RELAIS.jpg
    Les snubbers évoquer par daudet78 ne sont pas en place vu que je suis resté avec des relais 12v et une alim 12v qui m'ait également nécessaire pour alimenter ventilateur, pompe ect ...
    a moins que cela soit tout de même nécessaire dans ce montage ou uniquement si j'utilisait des relais 5v sur la même alim que le PCB ??


    Les diode était inversé, j'ai rectifié.
    Images attachées Images attachées  
    Dernière modification par djbouns ; 25/08/2018 à 19h00.

  21. #141
    mag1

    Re : création pcb gestion d'aquarium

    Bonjour,

    Les diodes seraient à l'envers, mais elles sont câblées dans l'uln (commun broche 10)

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  22. #142
    invitee05a3fcc

    Re : création pcb gestion d'aquarium

    Sur ton schéma SCHEMA ARDUINO RELAIS.jpg
    Il y a une connexion entre le 0V de l'ULN et la cathode des LEDs des optocoupleurs ?
    Si c'est le cas, tes optocoupleurs servent à rien .

  23. #143
    djbouns

    Re : création pcb gestion d'aquarium

    Citation Envoyé par mag1 Voir le message
    Bonjour,

    Les diodes seraient à l'envers, mais elles sont câblées dans l'uln (commun broche 10)

    MM
    non elle sont sur la piste 12v

    (ps j'ai modifier le schema et posté mais l'ancien reste en grand )
    Dernière modification par djbouns ; 25/08/2018 à 19h38.

  24. #144
    djbouns

    Re : création pcb gestion d'aquarium

    Citation Envoyé par DAUDET78 Voir le message
    Sur ton schéma SCHEMA ARDUINO RELAIS.jpg
    Il y a une connexion entre le 0V de l'ULN et la cathode des LEDs des optocoupleurs ?
    Si c'est le cas, tes optocoupleurs servent à rien .
    Non, non elle sont bien séparé, c'est juste que j'ai pas trouver comment indiquer gnd du 5v et gnd du 12v

  25. #145
    invitee05a3fcc

    Re : création pcb gestion d'aquarium

    Citation Envoyé par djbouns Voir le message
    non elle sont bien séparé, c'est juste que j'ai pas trouver comment indiquer gnd du 5v et gnd du 12v
    Mais alors, à quoi ça sert d'avoir une double isolation galvanique ???? Photocoupleur et relais .... c'est ceinture ET bretelles !

  26. #146
    mag1

    Re : création pcb gestion d'aquarium

    Citation Envoyé par djbouns Voir le message
    non elle sont sur la piste 12v

    (ps j'ai modifier le schema et posté mais l'ancien reste en grand )
    C'est comme tu veux...

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  27. #147
    djbouns

    Re : création pcb gestion d'aquarium

    Citation Envoyé par DAUDET78 Voir le message
    Mais alors, à quoi ça sert d'avoir une double isolation galvanique ???? Photocoupleur et relais .... c'est ceinture ET bretelles !
    J'ai besoin de 5v et de 12v
    Si j'utilise juste le photocoupleur pour ensuite alimenter des relais 5v il me faut une deuxième alim 5v sinon sa sert a rien ?
    (ma réponse est peut etre a coté car je suis pas sur de comprendre)

  28. #148
    djbouns

    Re : création pcb gestion d'aquarium

    Citation Envoyé par mag1 Voir le message
    C'est comme tu veux...
    on doit pas se comprend :/ ou c'est encore moi qui débloque
    La broche 10 de l'ULN est l'entree 12V
    La piste 12v passe avant par les diodes (inversé) se qui (si j'ai bien compris) sert a "detourner" le courant invers lors de l'arret d'alimentation de la bobine
    Dernière modification par djbouns ; 25/08/2018 à 19h54.

  29. #149
    mag1

    Re : création pcb gestion d'aquarium

    Citation Envoyé par djbouns Voir le message
    on doit pas se comprend :/ ou c'est encore moi qui débloque
    C'est la seconde option.
    Il n'y a pas d'entrée 12V sur l'uln (darlintons à collecteurs ouverts)
    Il y a une diode de roue libre sur chaque sortie, les cathodes communes sont à relier au +Vcc (ici même 12V sur les relais).
    Les amplis uln sont à collecteurs ouverts, et donc, le +Vcc (12V ici) est de l'autre côté des relais
    https://wiki.mchobby.be/index.php?ti...03-Sch%C3%A9ma

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  30. #150
    djbouns

    Re : création pcb gestion d'aquarium

    si je comprend bien mes diode 4148 ne servent a rien car il y en a déjà a l’intérieur de l'ULN brancher en non passant ?
    Si oui, supportent elles le courant inverse d'un relais ? je vais voir le datasheet
    Dernière modification par djbouns ; 25/08/2018 à 21h48.

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

Discussions similaires

  1. Que faire après un bac pro gestion administration (en dehors de la gestion)...
    Par invite3e9ba5f2 dans le forum Orientation après le BAC
    Réponses: 0
    Dernier message: 23/12/2015, 20h14
  2. Réponses: 16
    Dernier message: 12/03/2015, 17h29
  3. Script de création de dossier perso par utilisateur avec gestion des droits en bat
    Par invited65ce622 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 17/02/2012, 15h34
  4. Réponses: 2
    Dernier message: 24/11/2009, 22h23
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...