ESP8266 Primary GUI - Termostat

wrobel111
Posts: 62
Joined: Tue Jun 05, 2018 6:13 pm

Post

Schematu jako takiego nie mam, musiałbym narysować. Aktualny pinout:
D0 - przycisk config
D1 - przekaźnik
D2 - dodatkowy ds18b20
D3 - SDA
D4 - SCL
D5 - SCK
D6 - MISO
D7 - MOSI
D8 - CSN
Rx - CE

Kod zamieszczam w załączniku, nie wysyłam bin-a z racji tego, że wszystkie modyfikacje włącza się po przez #define w odpowiednich plikach. Starałem się to pisać w miarę czytelnie, mam nadzieję ,że sobie to ogarniesz. Dodatkowo potrzeba bibliotekę do oled-a z dodatkowymi czcionkami, również dodałem do archiwum.

Mam mały problem z NRF-em. Otóż po około dniu pracy przestaje wysyłać temperaturę, pomaga reset nadajnika. Może ma ktoś pomysł dlaczego?
Kod nadajnika:

Code: Select all

/*
 * Konfiguracja linii dołączonych do modułu nRF24L01:
 * 
 * MISO: 12
 * MOSI: 11
 * SCK: 13
 * CE: 8
 * CSN: 7
 *
 * Konfiguracja linii LED:
 * Katoda: GND
 * Anoda: 10 przez R = 1kOhm
 *
 *Linia czujnika DS18B20: 2 UWAGA - linia 1-Wire musi być podciągnięta do zasilania rezystorem o wartości 4,7k

 */
 
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float tempr = 0;                      // Zmienna typu float
int counter = 0;

void setup()
{ 
  Serial.begin(9600);
  pinMode(10, OUTPUT);                // linia 10 jako wyjście dla LED
  digitalWrite(10, LOW);              // dioda nie świeci
   
  sensors.begin();                    // Inicjalizacja czujnika
  
  Mirf.spi = &MirfHardwareSpi;        // konfiguracja SPI do użycia z biblioteką MIRF
  Mirf.init();                        // Inicjalizacja MIRF
  Mirf.setRADDR((byte *)"67890");     // Ustawienie adresu do odbioru
  Mirf.setTADDR((byte *)"12345");     // ustawienie adresu do nadawania
  Mirf.payload = sizeof(float);       // Maksymalny przesył przez moduły radiowe ustawiony na wielkośc zmiennej FLOAT (4 bajty)
  Mirf.config();                      // Konfiguracja biblioteki MIRF
  Serial.println("Setup");
 }

void loop()
{
  if (counter == 50) {
    digitalWrite(10, HIGH);
    sensors.requestTemperatures();        // Żądanie pomiaru temperatury za pomocą czujnika DS18B20 (czas wykonania < 1s)
    tempr = sensors.getTempCByIndex(0);   // Przypisanie wyniku pomiaru do zmiennej FLOAT 
    Mirf.send((byte *)&tempr);            // Nadanie zmiennej przez moduł nRF24L01
    while(Mirf.isSending()){              // Zapętlenie programu do czasu zakończenia wysyłania danych
    }
    digitalWrite(10, LOW);
    counter = 0;                          // Wyzerowanie licznika
    Serial.println(tempr);
  }
  delay(100);                             // Opóźnienie powtórnego wykonania pętli
  counter++;  
} 
  
You do not have the required permissions to view the files attached to this post.
wrobel111
Posts: 62
Joined: Tue Jun 05, 2018 6:13 pm

Post

Pracuję nad dalszym kolejną wersją mojej przeróbki, tym razem chciałbym do komunikacji wykorzystać moduły radiowe RFM69CW. Zainspirował mnie do tego temat o bezprzewodowych czujnikach: viewtopic.php?f=24&t=5047&start=30
W załączniku zdjęcia projektowanej płytki oraz schemat. W tej wersji jest możliwość podpięcia wyświetlacza oled 0,96" lub LCD 12864B. Przyciski można zrealizować po przez podłączenie do ekspandera I/O
termostat pcb bottom.png
termostat pcb top.png
You do not have the required permissions to view the files attached to this post.
andrzej.cwiklinski
Posts: 2
Joined: Mon Mar 16, 2020 10:34 am

Post

Serdeczne dzięki !
Niestety nie potrafię (jak zaznaczyłem jestem w tej materii zielony ) dostać się na tę niebieską tablicę !
Proszę o wyrozumiałość i pomoc.
Andrzej
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

wrobel111 wrote: Sat Mar 07, 2020 10:02 pm Pracuję nad dalszym kolejną wersją mojej przeróbki, tym razem chciałbym do komunikacji wykorzystać moduły radiowe RFM69CW. Zainspirował mnie do tego temat o bezprzewodowych czujnikach: viewtopic.php?f=24&t=5047&start=30
W załączniku zdjęcia projektowanej płytki oraz schemat. W tej wersji jest możliwość podpięcia wyświetlacza oled 0,96" lub LCD 12864B. Przyciski można zrealizować po przez podłączenie do ekspandera I/O

termostat pcb bottom.png
termostat pcb top.png
Jeśli termometry DS18B20 są na jednym GPIO, to R5 - R7 nie mają racji bytu. Przy takim połączeniu będzie to działało, jakbyś podłączył jeden rezystor ~1.2 kOhm.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
tijo
Posts: 264
Joined: Fri Dec 01, 2017 12:44 pm
Been thanked: 1 time

Post

a można gdzieś kupić gotowe płytki??

PS. Widzę że koronawirus panuje i wszyscy pouciekali bo odpowiedzi zero...
User avatar
dzikusk
Posts: 219
Joined: Tue May 01, 2018 7:24 pm
Location: Bolesławiec

Post

Proszę o podpowiedź. Piec węglowy bez podajnika. Chce sterować pompę podłogówki tak aby: załączała się od 45 stopni w piecu i grzała do osiągnięcia 23 stopni w salonie. Następnie wyłączyłem. Histereza 2 stopnie. No i żeby płynnie tym sterować. Mam czujniki w salonie, na piecu. Praktycznie w każdym pomieszczeniu. Słyszałem że można na skryptach fracz i najlepiej w tryb chłodzenia. Proszę w wskazówki jak to dobrze ustawić.
Mój czujnik pogodowy
https://krasnikgorny.aqi.eco/pl
tijo
Posts: 264
Joined: Fri Dec 01, 2017 12:44 pm
Been thanked: 1 time

Post

dzikusk wrote: Sat Mar 21, 2020 2:13 pm Proszę o podpowiedź. Piec węglowy bez podajnika. Chce sterować pompę podłogówki tak aby: załączała się od 45 stopni w piecu i grzała do osiągnięcia 23 stopni w salonie. Następnie wyłączyłem. Histereza 2 stopnie. No i żeby płynnie tym sterować. Mam czujniki w salonie, na piecu. Praktycznie w każdym pomieszczeniu. Słyszałem że można na skryptach fracz i najlepiej w tryb chłodzenia. Proszę w wskazówki jak to dobrze ustawić.
termostat a( z odczytem w salonie) ma załączać termostat b(z odczytem na piecu). gdy temperatura spadnie poniżej 23 stC termostat a załączy zasilanie na termostat b na którym ustawione jest 45stC po osiągnięciu których załączy pompę. Osobiście nie używałbym termostatu b w wersji supla tylko jakiś oryginalny od sterownika od pieca. Wtedy wszystko bezproblemowo ogarniasz jednym termostatem zasuplowanym
mirizag
Posts: 123
Joined: Mon Jan 02, 2017 6:36 pm

Post

Witam. Do Wemosa mam podpięte 4 czujniki DS i co pewien czas temperatura skacze o 0,2 stopnia. Na jednym Wemosie jest jeden czujnik w salonie, a na drugim Wemosie są 4 czujniki DS. I jest tak, że nie raz temp. skacze ta tym czujniku co jest w salonie, a nie raz na czujnikach z drugiego Wemosa tylko po kolei. I też jest tak temperatura jest stabilna.
Wemosy ma zasilane przez ładowarkę USB od komórki.
Czy mogę prosić o pomoc. Co może być powodem.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

mirizag wrote: Wed Apr 15, 2020 5:59 pm Witam. Do Wemosa mam podpięte 4 czujniki DS i co pewien czas temperatura skacze o 0,2 stopnia. Na jednym Wemosie jest jeden czujnik w salonie, a na drugim Wemosie są 4 czujniki DS. I jest tak, że nie raz temp. skacze ta tym czujniku co jest w salonie, a nie raz na czujnikach z drugiego Wemosa tylko po kolei. I też jest tak temperatura jest stabilna.
Wemosy ma zasilane przez ładowarkę USB od komórki.
Czy mogę prosić o pomoc. Co może być powodem.
0,2 stopnia to nie jest skok temperatury ;)

A tak na serio: problemem może być ustawiona precyzja przy odczycie temperatury. Jeśli aktualna rozdzielczość jest na poziomie 0,2 stopnia, to skoki o taką wartość będą widoczne. Np. gdy realnie jest 23,1 +- 0,005, to raz odczyt może pokazać 23,2 a raz 23,0
Najlepsze suple dla Twojego domu :mrgreen:
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

klew wrote: Thu Apr 16, 2020 8:50 am
mirizag wrote: Wed Apr 15, 2020 5:59 pm Witam. Do Wemosa mam podpięte 4 czujniki DS i co pewien czas temperatura skacze o 0,2 stopnia. Na jednym Wemosie jest jeden czujnik w salonie, a na drugim Wemosie są 4 czujniki DS. I jest tak, że nie raz temp. skacze ta tym czujniku co jest w salonie, a nie raz na czujnikach z drugiego Wemosa tylko po kolei. I też jest tak temperatura jest stabilna.
Wemosy ma zasilane przez ładowarkę USB od komórki.
Czy mogę prosić o pomoc. Co może być powodem.
0,2 stopnia to nie jest skok temperatury ;)

A tak na serio: problemem może być ustawiona precyzja przy odczycie temperatury. Jeśli aktualna rozdzielczość jest na poziomie 0,2 stopnia, to skoki o taką wartość będą widoczne. Np. gdy realnie jest 23,1 +- 0,005, to raz odczyt może pokazać 23,2 a raz 23,0
z tego co pamiętam to precyzja była ustawiona na 10 bitów.
https://gui-generic-builder.supla.io/

Return to “Projekty użytkowników”