duminică, 28 octombrie 2018

Termostat simplu

   Desi pe parcursul anilor am prezentat diverse modele de termostate, pe diferse afisaje, dupa o discutie cu Tom, am zis sa il ajut sa-si faca un termostat simplu pentru pompa de recirculare a centralei de incalzire pe lemne, asa ca am facut o schema simpla:
unde se foloseste o placa Arduino Uno, dar merge fara modificari si Nano, Micro Pro, Pro Mini, etc. Ca senzor de temperatura e folosit un DS18B20, iar ca parte de comanda cu releu de 5V comandat de un tranzistor (bineinteles ca se poate pune si un releu de 12V, cu alimentarea dintr-o sursa separata sau modul de 5V, dar comenzile sunt inversate, ori se schimba contactele ori se schimba in program (sketch) HIGH cu LOW si LOW cu HIGH... In schema mai apar 2 butoane, care permit cresterea, respectiv scaderea valorii de prag cu cate un grad Celsius (oricum avem si un histerezis de 1 grad Celsius). Valorile sunt memorate in EEPROM-ul microntrolerului de pe placa Arduino.
    Programul (sketch-ul) folosit este DS18B20_thermostat.ino si permite alimentarea pompei la temperaturi mai mari decat cea dorita
respectiv oprirea la scaderea temperaturii
   Dupa cum se observa, Tom si-a modificat modul de afisare fata de ce am eu in sketch, ceea ce e indicat sa faceti si voi, ca de aia e Arduino, sa poti modifica usor prin el... urmariti filmuletul facut de el, Termostat cu Arduino
PS: Daca aveti nevoie de montaje si automatizari, apelati cu incredere la Tom...

14 comentarii:

  1. Felicitari si tie si lui Tom ! Inveti ca s a n e inveti iti multumesc mult pt efortul tau deosebit .Te apreciez !

    RăspundețiȘtergere
  2. Buna
    La acest termostat se poate adauga in plus un modul cu ceas ca sa fie programabil in felul urmator:
    Dimineata de la 06:00 pana la 23:00 sa opresca la 60grade
    si de la 23:01 pana la 05:59 sa opreasca la 50 grade si pe langa astea si Histerizisul sa fie modificabil
    Este vorba de comanda unui arzator pe pelet
    Multumesc pentru ajutor

    RăspundețiȘtergere
    Răspunsuri
    1. sigur ca s e poate, dar trebuie un modul de ceas RTC sau conectare la un server NTP prin Wi-Fi si atunci trebuie un modul cu ESP8266

      Ștergere
  3. si cand aveti timp sal faceti?
    cu un modul de ceas RTC

    RăspundețiȘtergere
    Răspunsuri
    1. sincer, nu stiu, ca sunt extrem de ocupat si abia imi gasesc timp sa ma "joc" cu modulele sosite, sa vad ca macar sunt functionale... daca aveti modulul, putem adapta pe asta, pentru a face ce doriti, in schema doar se adauga modulul cu RTC de tip DS3231 sau DS1307...

      Ștergere
  4. ok
    modulul il DS1307 am problema cea mai mare este programarea

    RăspundețiȘtergere
  5. de ce este asa mare pauza de citire? se mai poate micsora sau exista consecinte?

    RăspundețiȘtergere
    Răspunsuri
    1. 20 secunde nu este o periosfs mare de timp, variatiilr nu sunt asa bruste... poti reduce pana la o secunda (in functie de precizie, numar dd biti ADC, timpul necesar de citire este de 0.25..0,75s daca imi amintesc corect)... modifici timpul cum si nevoie, asta e spiritul "Arduino" si codul public

      Ștergere
    2. Acest comentariu a fost eliminat de autor.

      Ștergere
    3. Buna ziua d-le Nicu.Va rog imi puteti da si mie un program pt testarea RTC-ului DS3231?

      Ștergere
    4. in prima faza conectati modulul RTC la placa Arduino pe i2c si folositi programul i2c_scanner (vedeti https://playground.arduino.cc/Main/I2cScanner/ ) sa vedeti daca vedeti in serial o adresa ... sau ca in materialul de al https://randomnerdtutorials.com/guide-for-real-time-clock-rtc-module-with-arduino-ds1307-and-ds3231/

      Ștergere