[Programmation] attiny13 pour LongLife 18650 + esp-01 + ds18b20
Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

attiny13 pour LongLife 18650 + esp-01 + ds18b20



  1. #1
    lolossien

    attiny13 pour LongLife 18650 + esp-01 + ds18b20


    ------

    Bonjour

    Pour commencer je connais absolument rien dans les attiny mais un peu les arduinos(UN PEU)

    J'ai fait mon code pour le ESP-01 et j'ai testé avec succès la publication MQTT de mon projet. Voici le code;

    Code:
    // Libraries
    
    #include <ESP8266WiFi.h>
    #include <PubSubClient.h>
    #include <OneWire.h>
    #include <DallasTemperature.h>
    
    
    #define wifi_ssid "SSID"
    #define wifi_password "WIFIPASSWORD"
    #define mqtt_server "MQTTIPSERVER"
    #define mqtt_user "mqttusername"
    #define mqtt_password "MQTTPASSWORD"
    #define temperature_topic "sensor/temperature"
    
    //Setup sensor
    // Data wire is connteced to pin 2
    #define ONE_WIRE_BUS 2
    // Setup a oneWire instance to communicate with any OneWire devices
    OneWire oneWire(ONE_WIRE_BUS);
    // Pass our oneWire reference to Dallas Temperature sensor 
    DallasTemperature DS18B20(&oneWire);
    
    WiFiClient espClient;
    PubSubClient client(espClient);
    
    
    
    //unsigned long lastMillis = 0;
    
    void setup(){
      Serial.begin(115200);
      client.setServer(mqtt_server, 1883);
      DS18B20.begin();
    
      delay(10);
      Serial.print("Connecting to WLAN");
      WiFi.begin(wifi_ssid, wifi_password);
      while (WiFi.status() != WL_CONNECTED) {
      delay(1000);
      }
      
    client.connected();{
      Serial.print("Attempting MQTT connection...");
      }
    
      if (client.connect("ESP8266Client", mqtt_user, mqtt_password)) {
        delay(10);
        DS18B20.requestTemperatures();
        float temp = DS18B20.getTempCByIndex(0);
        Serial.print("New temperature:");
        Serial.println(String(temp).c_str());
        client.publish(temperature_topic, String(temp).c_str(), true);
      }
    }
    
    
    
    void loop() {
    
    }
    Vous pouvez voir que le code ne contient aucune Loop. Mon désir est d'alimenter mon ESP_01 périodiquement au désir par un ATtiny13. J'avais pensé activer le watchdog par le GPio02 de mon ESP-01 à la fin du code.

    À moin que je me trompe ce set-up serait d'une efficacité redoutable pour l'économie de ma batterie.

    Donc ma question quel serait le code pour ATtiny13 et quel pin du ATtiny brancher à mon GPio02

    Merci

    -----
    Dernière modification par gienas ; 08/07/2019 à 07h36. Motif: Ajouté les balises code, obligatoires pour les programmes

  2. #2
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    A quoi sert l'ATtiny? Pourquoi l'ESP n'est-il pas suffisant?

  3. #3
    lolossien

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    L'ESP-01 serait amplement nécessaire. J'ai un code incluant une loop permettant un fonctionnement en continue.

    L'ESP-01 doit exécuté en quasi totalité la fonction delay.

    C'est à ce moment que l'ATtiny qui a une consommation minime peut venir prolonger la vie de la batterie VS l’inefficacité énergétique du ESP-01!

  4. #4
    abracadabra75

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Bonjour.
    Tous les AT, donc ton tyny13, me semblent avoir une fonction 'low power idle' qui met en sommeil le µc et réduit sa consommation durant le sommeil à.... environ très peu.
    idle sert à arrêter une boucle attendant le réveil par interruption.
    Regarde la section 7 du datashoot.
    Dernière modification par abracadabra75 ; 08/07/2019 à 20h04.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Citation Envoyé par lolossien Voir le message
    L'ESP-01 serait amplement nécessaire. J'ai un code incluant une loop permettant un fonctionnement en continue.

    L'ESP-01 doit exécuté en quasi totalité la fonction delay.

    C'est à ce moment que l'ATtiny qui a une consommation minime peut venir prolonger la vie de la batterie VS l’inefficacité énergétique du ESP-01!
    Difficile d'évaluer quoique ce soit puisque tu ne donnes pas ton cahier des charges.
    Je viens justement de faire quelques tests hier avec un ESP8266 que je réveille toutes les 1/2 heures pour envoyer par wifi quelques mesures et se remettre en "deep sleep".
    Il va donc consommer 100 à 200 mA pendant 10 secondes et qq µA durant le reste du temps. Ça permet de faire durer les batterie pendant un temps raisonnable.

  7. #6
    lolossien

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Voici le schema. Il ne manque que le LDO regulator

    De cette manière à la fin de mon code ESP-01 je pourrais avec la pin GPio01 activer le sleep du ATtiny13.

    en delay le esp01 semble consommer 20µA

    Tandis que c'est 5µA pour l'attiny

    Il n'y a pas de petite économie semblerait-il


    Nom : attiny.JPG
Affichages : 286
Taille : 88,8 Ko

  8. #7
    abracadabra75

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Quant à chasser, le gaspi, il faut aller jusqu'au bout.
    Tu dis que ton code ne contient aucun loop.... oui, si tu parles des visibles.
    Comment crois tu que les 'delay' fonctionnent?
    Je ne connais pas esp-01, mais il ne doit pas être différent des confrères: il consomme quand il tourne.
    Et un delay n'arrête pas le fonctionnement.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  9. #8
    abracadabra75

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    La fin de mon message a disparu, donc voici la fin.

    Tu te compliques la vie en rajoutant un Tiny.
    Il faut suspendre le ESP-01 en remplaçant les delay par une commande analogue à idle qui devrait exister pour ce shild.
    ESP ne consommera alors qu'aux moments utiles.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  10. #9
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Citation Envoyé par abracadabra75 Voir le message
    La fin de mon message a disparu, donc voici la fin.

    Tu te compliques la vie en rajoutant un Tiny.
    Il faut suspendre le ESP-01 en remplaçant les delay par une commande analogue à idle qui devrait exister pour ce shild.
    ESP ne consommera alors qu'aux moments utiles.
    C'est exactement ce que je propose dans mon message #5

    Il faudrait faire le bilan de l'énergie consommée sur une journée pour voir si l'économie des 15 µA est rentable.
    Dernière modification par Jack ; 09/07/2019 à 09h33.

  11. #10
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Dans le cas d'un fonctionnement toutes les 30 min, et en supposant que l'ESP fonctionne pendant 10 secondes à chaque fois et consomme 200 mA (c'est un maximum il me semble), la charge consommée sera égale à:
    48 * 200 * 10 / 3600 = 26 mAh

    L'économie de 15 µA grâce à un tiny équivaut sur une journée à : 0.015 * 24 = 0,36 mAh. A priori, tu ne va pas économiser grand chose.

  12. #11
    abracadabra75

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Citation Envoyé par Jack Voir le message
    C'est exactement ce que je propose dans mon message #5
    Voui.... mais s'il n'aurait pas compris....j'ai explicité.

    Un sleep (ou analogue) coûte encore moins qu'un tiny, et atteint le but cherché même si le gain est marginal.
    Dernière modification par abracadabra75 ; 09/07/2019 à 13h42.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  13. #12
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Citation Envoyé par abracadabra75 Voir le message
    Voui.... mais s'il n'aurait pas compris....j'ai explicité.
    C'est juste, tu as sûrement bien fait.

    Un sleep (ou analogue) coûte encore moins qu'un tiny, et atteint le but cherché même si le gain est marginal.
    Pas compris ...
    De quel coût veux-tu parler? Si c'est en terme d'énergie, un tiny en mode sleep consommera moins qu'un ESP en mode deep sleep. Mais, pour reprendre ton expression, le gain en faveur de l'ATtiny sera marginal.

  14. #13
    lolossien

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Bonjour encore

    Gardons en tête que j'ai bien indiqué mon ignorance et que vous participez à l'aventure d'un curieux qui quelques fois réalise un petit projet cool

    Je vous suggère une des lectures m'ayant mené dans la voie où je suis actuellement engagé.

    https://quadmeup.com/esp8266-esp-01-...it-for-months/

    J'aimerais aussi spécifier que dans mon plan le ESP n'est pas du bon modèle, n'ayant pas trouvé le ESP-01 dans Fritzing

    À plusieurs endroit on prévient très bien que l'ESP-01 est énergivore et je veux faire les plans finaux avant de démarrer l'assemblage car je vais imprimer le boitier ensuite avec ma CR-10

    Merci de votre participation

  15. #14
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Le lien que tu donnes montre pourtant que l'ESP n'est pas si énergivore que cela: tenir 6 mois sur 2 batteries AA avec un réveil toutes les 15 min, c'est pas mal je trouve.
    Si tu veux tenir plus longtemps, tu peux utiliser une "powerbank" comme celles utilisées pour recharger les portables, on en trouve à tous les prix.

  16. #15
    abracadabra75

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Lis attentivement ce dument. Il t'est donné la solution:

    After this is done, deep sleep can be entered (when using Arduino) using:
    ESP.deepSleep([sleep_time_in_seconds] * 1000000);
    After defined period of time, ESP8266 will reboot itself and do setup phase.
    Bien que mon anglais soit encore moins que primaire, je pense avoir compris que cette instruction fait entrer en sommeil ta bêbête (Jack te l'avait indiqué...) qui ne consomme plus que quelques µA. Donc le tiny ne sert à rien d'autre (en admettant qu'on puisse le connecter à l'esp) à te bouffer de précieux électrons.

    Cette instruction placée en fin de boucle de traitement fait entrer en mode 'sommeil' pour se réveiller au bout du temps que tu auras indiqué.

    Je ne sais si l'esp a les instructions nécessaires pour éliminer les boucles 'delay'. Mais comme tu dis ne pas en savoir beaucoup sur les µp, cela doit dépasser tes compétences car cela ferait intervenir des notions qu'on n'apprend pas avant le chapitre 2: les timers, et au chapitre 3 les interruptions (sans aucune moquerie: nous sommes tous passés par les phases initiales d'apprentissage quasiment incontournables).

    @Jack: le but recherché étant de réduire la consommation, il revient plus cher d'utiliser un matos supplémentaire qu'on paye, qu'une ou plusieurs instructions gratuites puisque fournies avec le matériel ( en plus sans être sûr du résultat).
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  17. #16
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Citation Envoyé par abracadabra75 Voir le message
    @Jack: le but recherché étant de réduire la consommation, il revient plus cher d'utiliser un matos supplémentaire qu'on paye, qu'une ou plusieurs instructions gratuites puisque fournies avec le matériel ( en plus sans être sûr du résultat).
    C'est précisément pour cela que je proposais de se débarrasser de l'ATtiny.

    Cette instruction placée en fin de boucle de traitement fait entrer en mode 'sommeil' pour se réveiller au bout du temps que tu auras indiqué.

    Je ne sais si l'esp a les instructions nécessaires pour éliminer les boucles 'delay'
    Il n'y a pas de boucle delay. En mode deep sleep, seule la RTC est en fonctionnement, les 2 coeurs de l'ESP et le modem sont "éteints". Pour sortir du mode deep sleep, il faut faire un reset manuel ou grâce à une pin activée par la RTC en fin de comptage, d'où le câblage sur l'ESP-01 qui possède peu de pin accessibles.
    L'ESP repart donc d'un reset classique à chaque réveil.

  18. #17
    lolossien

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Je vais étudier le tout et me décider... Faut que je vous avoue que mon expérience en soudure électronique est logiquement au même niveau que le reste!

  19. #18
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Prends un modèle un peu plus gros que l'ESP-01, avec un peu plus d'I/O et tu n'auras pas à faire ce genre de bricolage.

  20. #19
    lolossien

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Avec le recule je comprend que ca aurait été la chose à faire, mais maintenant j'ai un lot de esp-01 qui traine...au pire ils subiront mes premières expériences

  21. #20
    Jack
    Modérateur

    Re : attiny13 pour LongLife 18650 + esp-01 + ds18b20

    Bon, si tu as des doigts de fée, un bon fer à panne fine et un peu de tresse à dessouder en cas de gros pâté, c'est de la rigolade.
    A éviter également si tu as une maladie de parkinson.

Discussions similaires

  1. [Outils/Fab/Comp] BMS pour accus li-ion 18650
    Par gerardpta dans le forum Électronique
    Réponses: 1
    Dernier message: 01/06/2019, 15h11
  2. 18650 en parallèle
    Par cevennol dans le forum Bricolage et décoration
    Réponses: 1
    Dernier message: 30/01/2019, 15h05
  3. [Programmation] Modification/ programmation attiny13
    Par moijerem59 dans le forum Électronique
    Réponses: 43
    Dernier message: 01/06/2016, 08h12
  4. programmation attiny13
    Par gepeto dans le forum Électronique
    Réponses: 6
    Dernier message: 13/01/2014, 12h58
  5. Réponses: 9
    Dernier message: 14/06/2011, 11h03
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...