Teraz jest poniedzia┼éek, 16 wrze┼Ťnia 2019, 15:07

Strefa czasowa: UTC + 2




Utw├│rz nowy w─ůtek Odpowiedz w w─ůtku
Przejd┼║ na stron─Ö 1, 2  Nast─Öpna strona
Autor Wiadomo┼Ť─ç
 Tytu┼é: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 12 maja 2019, 15:28 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
Założenia dla sterownika i potrzebne elementy

Za┼éo┼╝enia na pocz─ůtek bardzo proste i podstawowe.

  • Pomiar temperatury
  • Pomiar wilgotno┼Ťci
  • Obliczenie temperatury punktu rosy
  • Sterowanie prac─ů grza┼éki w zale┼╝no┼Ťci jaki mamy punkt rosy
  • Spos├│b sterowania grza┼ék─ů - w┼é─ůcz/wy┼é─ůcz (bez regulacji mocy grza┼éki)

Potrzebne elementy dla uk┼éadu modelowego (wyj┼Ťciowego)

  • Arduino UNO lub NANO - 1 szt.
  • Czujnik DHT22 (AM2302) - 1 szt.
  • Rezystor 220 Ohm - 2 szt.
  • Rezystor 10k Ohm - 1szt.
  • Dioda LED - czerwona
  • Dioda LED - zielona
  • P┼éytka stykowa - 1 szt.
  • Kilka przewod├│w do po┼é─ůczenia wszystkiego

Schemat układu

Za┼é─ůcznik:
Komentarz: Schemat układu
ASTRO_DHT22.png
ASTRO_DHT22.png [ 349.4 KiB | Przegl─ůdane 620 razy ]


Opis działania

Uk┼éad ma za zadanie dokonywa─ç pomiaru temperatury i wilgotno┼Ťci za pomoc─ů czujnika DHT22. Na podstawie zmierzonych warto┼Ťci program dokonuje oblicze┼ä temperatury punktu rosy. Maj─ůc te dane i na ich podstawie program steruje grza┼ék─ů. Czerwona dioda LED sygnalizuje (symuluje) w┼é─ůczenie grza┼éki. Zielona dioda LED sygnalizuje brak roszenia. Program nie ma zdefiniowanego pinu / pin├│w do sterowania grza┼ék─ů / grza┼ékami (uk┼éad pe┼éni na chwil─Ö obecn─ů zadanie modelowe, eksperymentalne). Komunikacja szeregowa (COM) s┼éu┼╝y jako "monitor" dzia┼éania programu - docelowo mo┼╝e by─ç wy┼é─ůczona w celu oszcz─Ödno┼Ťci pami─Öci programu.

Funkcje:
  • Pomiar temperatury
  • Pomiar wilgotno┼Ťci
  • Obliczenie punktu rosy
  • Sterowanie grza┼ék─ů teleskopu - w┼é─ůcz / wy┼é─ůcz (symulacja diodami LED)
  • Sygnalizacja b┼é─Ödu odczytu z czujnika DHT - (wizualna, diod─ů LED)

Wykorzystane biblioteki:
  • Adafruit Unified Sensor (Adafruit)
  • DHT Sensor Library (Adafruit)

Kod programu

Kod:
//  Automatyczny sterownik grza┼éek
//
//  Funkcje:
//    - Pomiar temperatury
//    - Pomiar wilgotno┼Ťci
//    - Obliczenie punktu rosy
//    - Sterowanie grza┼ék─ů teleskopu - w┼é─ůcz / wy┼é─ůcz
//    - Sygnalizacja b┼é─Ödu odczytu z czujnika DHT
//
//  Biblioteki:
//    - Adafruit Unified Sensor (Adafruit)
//    - DHT Sensor Library (Adafruit)
//
//  Uwagi:
//    - Program demonstruje dzia┼éanie automatycznego sterownika grza┼éek.
//    - Czerwona dioda LED sygnalizuje (symuluje) w┼é─ůczenie grza┼éki
//    - Zielona dioda LED sygnalizuje brak roszenia
//    - Program nie ma zdefiniowanego pinu / pin├│w do sterowania grza┼ék─ů / grza┼ékami
//    - Komunikacja szeregowa (COM) s┼éu┼╝y jako "monitor" dzia┼éania programu - docelowo mo┼╝e by─ç wy┼é─ůczona w celu oszcz─Ödno┼Ťci pami─Öci programu
//    - Rozwi─ůzanie programowe absolutnie nie jedynie s┼éuszne
//    - Za uszkodzenia wynikaj─ůce z dzia┼éania programu nie odpowiadam, program stworzony zosta┼é jako przyk┼éad dla urz─ůdzenia modelowego (bez grza┼éki)
//
//  Autor:
//    Rados┼éaw Deska
// 
//  Wersja:
//    - 1.0 (12.05.2019)
//
// -------------------------------------------------------------------------------------------------------------------------------------------------

#include "DHT.h"                                                      //  Biblioteka DHT

#define LED_R_PIN 3                                                   //  Czerwona dioda LED do pinu cyfrowego nr 3 (sygnalizacja pracy grza┼éki)
#define LED_G_PIN 4                                                   //  Zielona dioda LED do pinu cyfrowego nr 4 (sygnalizacja braku rosy)

#define DHTPIN 5                                                      //  Czujnik DHT pod┼éaczony do pinu cyfrowego nr 5
#define DHTTYPE DHT22                                                 //  Rodzaj czujnika DHT22

DHT dht(DHTPIN, DHTTYPE);


// Funkcja obliczaj─ůca temperature punktu rosy na podstawie pomiar├│w temperatury i wilgotno┼Ťci - wynik typu float

float pktRosy(float humi, float temp) {
  float k;
  k = log(humi/100) + (17.62 * temp) / (243.12 + temp);
  return 243.12 * k / (17.62 - k);
}


void setup() {

  Serial.begin(9600);                                                 //  W┼é─ůczenie komunikacji szeregowej - ustawienie pr─Ödko┼Ťci transmisji
  Serial.println("Automatyczny sterownik grza┼éek \n");                //  Tekst na powitanie

  pinMode(LED_R_PIN, OUTPUT);                                         //  Konfiguracja pinu cyfrowego nr 3 jako wyj┼Ťcie
  pinMode(LED_G_PIN, OUTPUT);                                         //  Konfiguracja pinu cyfrowego nr 4 jako wyj┼Ťcie

  dht.begin();                                                        //  W┼é─ůczenie i inicjalizacja komunikacji z czujnikiem DHT

}

void loop() {

  delay(500);                                                        //  Odczekaj 0,5 sekundy

  float h = dht.readHumidity();                                       //  Odczyt wilgotno┼Ťci h - typ zmiennej float
  float t = dht.readTemperature();                                    //  Odczyt temperatury t - typ zmiennej float


  // Kontrola odczytu danych z czujnika DHT, sygnalizacja b┼é─Ödu czerwon─ů diod─ů LED

  if (isnan(h) || isnan(t)) {
    Serial.println("B┼é─ůd odczytu z czujnika DHT!");                   //  Wy┼Ťlij komunikat o b┼éedzie
   
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diode LED
    delay(150);                                                       //  Odczekaj 150ms
    digitalWrite(LED_R_PIN, LOW);                                     //  Wy┼é─ůcz czerwon─ů diode LED
   
    return;
  }


  float td = pktRosy(h, t);                                           //  Wywo┼éanie funkcji pktRosy z warto┼Ťciami h i t, przypisanie wyniku do zmiennej td

 
  // Wys┼éanie na port COM danych o temperaturze (t), wilgotno┼Ťci (h) i temeraturze punktu rosy (td)
 
  Serial.print("Wilgotno┼Ť─ç: ");
  Serial.print(h);
  Serial.print("%  Temperatura: ");
  Serial.print(t);
  Serial.print("┬░C ");
  Serial.print(" Punkt rosy: ");
  Serial.print(td);
  Serial.print("┬░C \n");

  // Sprawdzamy na podstawie wyliczonego punktu rosy (td) i mierzonej temperatury z czujnika DHT czy nale┼╝y w┼é─ůczy─ç grza┼ék─Ö
  // Je┼╝eli td > t = uruchamiamy grza┼ék─Ö, w przeciwnym razie td < t = wy┼é─ůczamy grza┼ék─Ö
  // W uk┼éadzie modelowym czerwona dioda LED sygnalizuje prac─Ö grza┼éki, zielona dioda LED brak rosy.
  // Je┼╝eli spe┼éniony jest warunek td > t w├│wczas za┼Ťwieci si─Ö czerwona dioda LED (grza┼éka pracuje), zielona dioda LED zga┼Ťnie (rosa)

  if (td > t) {
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka pracuje
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
  }
  else{
    digitalWrite(LED_R_PIN, LOW);                                     //  Wy┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka nie pracuje
    digitalWrite(LED_G_PIN, HIGH);                                    //  W┼é─ůcz zielon─ů diod─Ö LED - brak rosy
  }
}


Starałem się maksymalnie opisać komentarzami program. Sama idea wcale nie jest jedyna i słuszna.
Jest to wersja 1.0, modelowa i ma s┼éu┼╝y─ç jako punkt wyj┼Ťcia do w pe┼éni dzia┼éaj─ůcego urz─ůdzenia.
Dlatego sygnalizację działania oparłem na dwóch diodach LED.

Miejcie lito┼Ť─ç nigdy nigdzie nie publikowa┼éem swoich program├│w wi─Öc nie bior─Ö odpowiedzialno┼Ťci za wszelkie uszkodzenia czy to programowe czy te┼╝ sprz─Ötowe :mrgreen:

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 

 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 12 maja 2019, 18:36 
Offline
Administrator
Administrator
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): poniedzia┼éek, 24 sierpnia 2009, 14:27
Posty: 9527
Lokalizacja: Chorz├│w
Radku. Super robota.
Jutro zabieram si─Ö za konstrukcj─Ö.

_________________
Pozdrawiam, Marek Substyk
Portal AstroCD, http://www.astrocd.pl, Forum AstroCD, http://www.forum.astrocd.pl
Sklep Allegro AstroCD - literatura i pomoce naukowe dla mi┼éo┼Ťnik├│w astronomii ÔÇô Obrazek facebook.com/Wydawnictwo.AstroCD
Obrazek M├│j profil na Facebooku
tel. 880-184-000 (prywatny), e-mail: astrocd@astrocd.pl (prywatne), m.substyk@urania.edu.pl (Urania-PA), marek.substyk@ptma.pl, zarzad@ptma.pl (PTMA);
tel. 575-572-330 (praca), e-mail: katowice@deltaoptical.pl
------------------------------------------------------------

Wielkie Wyprawy Polskiego Towarzystwa Mi┼éo┼Ťnik├│w Astronomii. Islandia 2019/USA 2020



G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 12 maja 2019, 18:45 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
To tylko pierwsza wersja programu. Jak si─Ö uda zmie┼Ťci─ç w 8kB programu spokojnie finalnie mo┼╝na wrzuci─ç to do tego male┼ästwa :)

Obrazek

ATTINY85 + PCB + czujnik + kilka element├│w i ma┼ée sprytne urz─ůdzenie gotowe :)

Wersja 1.0 programu bez wysyłania komunikatów na port COM zajmuje 3,8kB

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 12 maja 2019, 21:58 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
Jeszcze dobrze nie ostygła wersja 1.0 a już jest aktualizacja do wersji 1.1 programu.

Robi─ůc test pracy wrzuci┼éem uk┼éad do zamra┼╝arki na kilka minut. Nast─Öpnie wyj─ů┼éem uk┼éad i pod┼é─ůczy┼éem do zasilania.
Wim, wiem, ryzykowne ale czego to si─Ö nie robi. Ca┼éo┼Ť─ç ┼éadnie si─Ö "zmoczy┼éa" i efekt jaki uzyska┼éem to brak sygnalizacji, ┼╝e grza┼éka dzia┼éa (czerwona dioda LED).

Wynik z tego co pokazywał serial monitor:
Kod:
Wilgotno┼Ť─ç: 99.00%  Temperatura: 06.70┬░C  Punkt rosy: 06.69┬░C
Wilgotno┼Ť─ç: 99.00%  Temperatura: 06.70┬░C  Punkt rosy: 06.69┬░C
Wilgotno┼Ť─ç: 99.00%  Temperatura: 06.71┬░C  Punkt rosy: 06.70┬░C
Wilgotno┼Ť─ç: 99.00%  Temperatura: 06.72┬░C  Punkt rosy: 06.71┬░C

Przy warunku td > t po prostu nie miało prawa zadziałać.
Zmieni┼éem warunek na td+1 > t, ma┼éa prosta modyfikacja sprawiaj─ůca, ┼╝e uk┼éad modelowy zadzia┼éa┼é.

Teraz wa┼╝ne pytanie do m─ůdrych g┼é├│w. Na ile przed "zbli┼╝aj─ůcym si─Ö" punktem rosy powinien uk┼éad w┼é─ůczy─ç grza┼ék─Ö i w kt├│rym momencie j─ů wy┼é─ůczy─ç ?

Poni┼╝ej kod dla wersji 1.1 wraz z komentarzami.
Kod:
//  Automatyczny sterownik grza┼éek
//
//  Funkcje:
//    - Pomiar temperatury
//    - Pomiar wilgotno┼Ťci
//    - Obliczenie punktu rosy
//    - Sterowanie grza┼ék─ů teleskopu - w┼é─ůcz / wy┼é─ůcz
//    - Sygnalizacja b┼é─Ödu odczytu z czujnika DHT
//
//  Biblioteki:
//    - Adafruit Unified Sensor (Adafruit)
//    - DHT Sensor Library (Adafruit)
//
//  Uwagi:
//    - Program demonstruje dzia┼éanie automatycznego sterownika grza┼éek.
//    - Czerwona dioda LED sygnalizuje (symuluje) w┼é─ůczenie grza┼éki
//    - Zielona dioda LED sygnalizuje brak roszenia
//    - Program nie ma zdefiniowanego pinu / pin├│w do sterowania grza┼ék─ů / grza┼ékami
//    - Komunikacja szeregowa (COM) s┼éu┼╝y jako "monitor" dzia┼éania programu - docelowo mo┼╝e by─ç wy┼é─ůczona w celu oszcz─Ödno┼Ťci pami─Öci programu
//    - Rozwi─ůzanie programowe absolutnie nie jedynie s┼éuszne
//    - Za uszkodzenia wynikaj─ůce z dzia┼éania programu nie odpowiadam, program stworzony zosta┼é jako przyk┼éad dla urz─ůdzenia modelowego (bez grza┼éki)
//
//  Autor:
//    Rados┼éaw Deska
// 
//  Wersja:
//    - 1.1 (12.05.2019)
//
//  Poprawki do wersji:
//    - zmieniono warunek kiedy ma zosta─ç w┼é─ůczona grza┼éka
//    - dodano komunikat wysy┼éany na port COM o w┼é─ůczonej / wy┼é─ůczonej grza┼éce (ON/OFF)
//
// -------------------------------------------------------------------------------------------------------------------------------------------------

#include "DHT.h"                                                      //  Biblioteka DHT

#define LED_R_PIN 3                                                   //  Czerwona dioda LED do pinu cyfrowego nr 3 (sygnalizacja pracy grza┼éki)
#define LED_G_PIN 4                                                   //  Zielona dioda LED do pinu cyfrowego nr 4 (sygnalizacja braku rosy)

#define DHTPIN 5                                                      //  Czujnik DHT pod┼éaczony do pinu cyfrowego nr 5
#define DHTTYPE DHT22                                                 //  Rodzaj czujnika DHT22

DHT dht(DHTPIN, DHTTYPE);


// Funkcja obliczaj─ůca temperature punktu rosy na podstawie pomiar├│w temperatury i wilgotno┼Ťci - wynik typu float

float pktRosy(float humi, float temp) {
  float k;
  k = log(humi/100) + (17.62 * temp) / (243.12 + temp);
  return 243.12 * k / (17.62 - k);
}


void setup() {

  Serial.begin(9600);                                                 //  W┼é─ůczenie komunikacji szeregowej - ustawienie pr─Ödko┼Ťci transmisji
  Serial.println("Automatyczny sterownik grza┼éek \n");                //  Tekst na powitanie

  pinMode(LED_R_PIN, OUTPUT);                                         //  Konfiguracja pinu cyfrowego nr 3 jako wyj┼Ťcie
  pinMode(LED_G_PIN, OUTPUT);                                         //  Konfiguracja pinu cyfrowego nr 4 jako wyj┼Ťcie

  dht.begin();                                                        //  W┼é─ůczenie i inicjalizacja komunikacji z czujnikiem DHT

}

void loop() {

  delay(500);                                                        //  Odczekaj 2 sekundy

  float h = dht.readHumidity();                                       //  Odczyt wilgotno┼Ťci h - typ zmiennej float
  float t = dht.readTemperature();                                    //  Odczyt temperatury t - typ zmiennej float


  // Kontrola odczytu danych z czujnika DHT, sygnalizacja b┼é─Ödu czerwon─ů diod─ů LED

  if (isnan(h) || isnan(t)) {
//    Serial.println("B┼é─ůd odczytu z czujnika DHT!");                   //  Wy┼Ťlij komunikat o b┼éedzie
   
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diode LED
    delay(150);                                                       //  Odczekaj 150ms
    digitalWrite(LED_R_PIN, LOW);                                     //  Wy┼é─ůcz czerwon─ů diode LED
   
    return;
  }


  float td = pktRosy(h, t);                                           //  Wywo┼éanie funkcji pktRosy z warto┼Ťciami h i t, przypisanie wyniku do zmiennej td

 
  // Wys┼éanie na port COM danych o temperaturze (t), wilgotno┼Ťci (h) i temeraturze punktu rosy (td)
 
  Serial.print("Wilgotno┼Ť─ç: ");
  Serial.print(h);
  Serial.print("%  Temperatura: ");
  Serial.print(t);
  Serial.print("┬░C ");
  Serial.print(" Punkt rosy: ");
  Serial.print(td);
  Serial.print("┬░C ");

  // Sprawdzamy na podstawie wyliczonego punktu rosy (td) i mierzonej temperatury z czujnika DHT czy nale┼╝y w┼é─ůczy─ç grza┼ék─Ö
  // Je┼╝eli td > t = uruchamiamy grza┼ék─Ö, w przeciwnym razie td < t = wy┼é─ůczamy grza┼ék─Ö
  // W uk┼éadzie modelowym czerwona dioda LED sygnalizuje prac─Ö grza┼éki, zielona dioda LED brak rosy.
  // Je┼╝eli spe┼éniony jest warunek td > t w├│wczas za┼Ťwieci si─Ö czerwona dioda LED (grza┼éka pracuje), zielona dioda LED zga┼Ťnie (rosa)

  if (td+1 > t) {                                                     //  Zmodyfikowany warunek. Do punktu rosy (td) doda┼éem jeden (testy zamra┼╝arka)
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka pracuje
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("   ON ");                                           //  Znacznik grza┼éki - ON (kiedy dt+1 > t)
  }
  else{
    digitalWrite(LED_R_PIN, LOW);                                     //  Wy┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka nie pracuje
    digitalWrite(LED_G_PIN, HIGH);                                    //  W┼é─ůcz zielon─ů diod─Ö LED - brak rosy
    Serial.print("   OFF ");                                          //  Znacznik grza┼éki - OFF (kiedy dt+1 < t)
  }

  Serial.print("\n");
}

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: poniedzia┼éek, 13 maja 2019, 15:17 
Offline
Moderator globalny
Moderator globalny
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): wtorek, 25 sierpnia 2009, 15:33
Posty: 5142
Lokalizacja: Katowice-Jan├│w
A kiedy wersja z PWM i sterowaniem moc─ů grza┼éki zale┼╝nie od temperatury i punktu rosy ? :)

_________________
Moje Fotki
tel.512174124 , 511960672
gg: 11790876 e-mail: grzegorzczerneckiastro@interia.pl
TS APO 65Q, SW 12"Dobson, HEQ5 Pro SynScan(modyfikowany), SBIG ST2000XCM, Canon EOS 550D, SONY DSC H7, IDAS LPS P2 2", UHCs 2".
------------------------------------------------------------


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: poniedzia┼éek, 13 maja 2019, 16:02 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
PWM dorzucimy :) Powiedz mi jaka zale┼╝no┼Ť─ç mia┼éa by by─ç? W sensie kiedy grza┼éka powinna grza─ç najmocniej a kiedy s┼éabo?

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: poniedzia┼éek, 13 maja 2019, 17:59 
Offline
Moderator globalny
Moderator globalny
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): wtorek, 25 sierpnia 2009, 15:33
Posty: 5142
Lokalizacja: Katowice-Jan├│w
Przyk┼éadowo jak temperatura zbli┼╝a┼éa by si─Ö do punktu rosy dajmy na to na 2 stopnie to grza┼éka za┼é─ůcza┼é─ů by si─Ö na 30% , 1 stopie┼ä 50% punkt rosy 60% itd

_________________
Moje Fotki
tel.512174124 , 511960672
gg: 11790876 e-mail: grzegorzczerneckiastro@interia.pl
TS APO 65Q, SW 12"Dobson, HEQ5 Pro SynScan(modyfikowany), SBIG ST2000XCM, Canon EOS 550D, SONY DSC H7, IDAS LPS P2 2", UHCs 2".
------------------------------------------------------------


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: poniedzia┼éek, 13 maja 2019, 18:53 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
To tak napisze program żeby w taki sposób działał.
Podejrzewam, że opcja ustawiania progów działania grzałki bylaby ciekawym pomysłem.

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: ┼Ťroda, 15 maja 2019, 19:17 
Offline
Administrator
Administrator
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): poniedzia┼éek, 24 sierpnia 2009, 14:27
Posty: 9527
Lokalizacja: Chorz├│w
Informuje, że doszedłem już do tego punktu


Za┼é─ůczniki:
grzalka0.jpg
grzalka0.jpg [ 192.64 KiB | Przegl─ůdane 563 razy ]

_________________
Pozdrawiam, Marek Substyk
Portal AstroCD, http://www.astrocd.pl, Forum AstroCD, http://www.forum.astrocd.pl
Sklep Allegro AstroCD - literatura i pomoce naukowe dla mi┼éo┼Ťnik├│w astronomii ÔÇô Obrazek facebook.com/Wydawnictwo.AstroCD
Obrazek M├│j profil na Facebooku
tel. 880-184-000 (prywatny), e-mail: astrocd@astrocd.pl (prywatne), m.substyk@urania.edu.pl (Urania-PA), marek.substyk@ptma.pl, zarzad@ptma.pl (PTMA);
tel. 575-572-330 (praca), e-mail: katowice@deltaoptical.pl
------------------------------------------------------------

Wielkie Wyprawy Polskiego Towarzystwa Mi┼éo┼Ťnik├│w Astronomii. Islandia 2019/USA 2020

G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: ┼Ťroda, 15 maja 2019, 19:31 
Offline
Administrator
Administrator
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): poniedzia┼éek, 24 sierpnia 2009, 14:27
Posty: 9527
Lokalizacja: Chorz├│w
Wersja na ATTINY85 powinna by─ç rewelacyjna!

_________________
Pozdrawiam, Marek Substyk
Portal AstroCD, http://www.astrocd.pl, Forum AstroCD, http://www.forum.astrocd.pl
Sklep Allegro AstroCD - literatura i pomoce naukowe dla mi┼éo┼Ťnik├│w astronomii ÔÇô Obrazek facebook.com/Wydawnictwo.AstroCD
Obrazek M├│j profil na Facebooku
tel. 880-184-000 (prywatny), e-mail: astrocd@astrocd.pl (prywatne), m.substyk@urania.edu.pl (Urania-PA), marek.substyk@ptma.pl, zarzad@ptma.pl (PTMA);
tel. 575-572-330 (praca), e-mail: katowice@deltaoptical.pl
------------------------------------------------------------

Wielkie Wyprawy Polskiego Towarzystwa Mi┼éo┼Ťnik├│w Astronomii. Islandia 2019/USA 2020



G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: ┼Ťroda, 15 maja 2019, 20:53 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
Marek Substyk napisał(a):
Informuje, że doszedłem już do tego punktu
Super, że się udało!

Marek Substyk napisał(a):
Wersja na ATTINY85 powinna by─ç rewelacyjna!
Tez mam takie zdanie. Jest szansa na ma┼ée urz─ůdzenie. Limit 8kB programu jest jak najbardziej mo┼╝liwy.

Za nim dojdziemy do tego etapu trzeba dopracować program i jego działanie tak by wszystko działało zgodnie z planem.

Grzegorz Czernecki napisał(a):
Przyk┼éadowo jak temperatura zbli┼╝a┼éa by si─Ö do punktu rosy dajmy na to na 2 stopnie to grza┼éka za┼é─ůcza┼é─ů by si─Ö na 30% , 1 stopie┼ä 50% punkt rosy 60% itd
Trzeba teraz napisa─ç wrunek tak by grza┼éka dzia┼éa┼éa z zalo┼╝eniami jakie podsun─ůl Grzegorz. Oczywi┼Ťcie sterowanie PWM.

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: sobota, 18 maja 2019, 22:51 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
Dzisiaj powsta┼éa wersja 1.2 z obs┼éug─ů PWM.

Poprawki do wersji 1.2
  • poprawiono komentarze
  • zmieniony zosta┼é blok zwi─ůzany z obs┼éug─ů grza┼éki, inna budowa warunku
  • dodanie pinu obs┼éuguj─ůcego grza┼ék─Ö (pin cyfrowy nr 6)
  • dodanie funkcji PWM dla pinu nr 6
  • zmienione zosta┼éy typy zmiennych t, h, td z float na int
  • zmieniono warunek braku komunikacji/danych z czujnika DHT

Ca┼ékowicie zosta┼é przebudowany blok warunku sprawdzaj─ůcego jak "przesuwa si─Ö" punkt rosy
Kod:
  if ((t - td <= 7) && (t - td >= 5)) {                               //  Je┼╝eli r├│┼╝nica t-td jest mniejsza lub r├│wna 7 i wi─Öksza lub r├│wna 5
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - sygnalizacja pracy grza┼éki
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("ON\t");                                             //  Wy┼Ťlij tekst - ON i dodaj tabulator

    analogWrite(HEATER, 2);                                           //  PWM  - wype┼énienie 2 (grza┼ék─Ö symuluje dioda LED)
    Serial.print("PWM 2, 7 - 5");                                     //  Wy┼Ťlij tekst o wype┼énieniu PWM i zakresie

  }
  else if ((t - td < 5) && (t - td >= 3)) {                           //  Je┼╝eli r├│┼╝nica t-td jest mniejsza 5 i wi─Öksza lub r├│wna 3
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka pracuje
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("ON\t");                                             //  Wy┼Ťlij tekst - ON i dodaj tabulator

    analogWrite(HEATER, 32);                                          //  PWM  - wype┼énienie 2 (grza┼ék─Ö symuluje dioda LED)
    Serial.print("PWM 32, 5 - 3");                                    //  Wy┼Ťlij tekst o wype┼énieniu PWM i zakresie
  }
  else if ((t - td < 3) && (t - td > 1)) {                            //  Je┼╝eli r├│┼╝nica t-td jest mniejsza 3 i wi─Öksza 1
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka pracuje
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("ON\t");                                             //  Wy┼Ťlij tekst - ON i dodaj tabulator

    analogWrite(HEATER, 64);                                          //  PWM  - wype┼énienie 64 (grza┼ék─Ö symuluje dioda LED)
    Serial.print("PWM 64, 3 - 1");                                    //  Wy┼Ťlij tekst o wype┼énieniu PWM i zakresie
  }
  else if (t - td == 1) {                                             //  Je┼╝eli r├│┼╝nica t-td jest r├│wna 1
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka pracuje
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("ON\t");                                             //  Wy┼Ťlij tekst - ON i dodaj tabulator

    analogWrite(HEATER, 255);                                         //  PWM  - wype┼énienie 255 (grza┼ék─Ö symuluje dioda LED) - grza┼éka pracuje pe┼én─ů moc─ů
    Serial.print("PWM 255, 1");                                       //  Wy┼Ťlij tekst o wype┼énieniu PWM i zakresie
  }
  else {
    digitalWrite(LED_R_PIN, LOW);                                     //  Wy┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka nie pracuje
    digitalWrite(LED_G_PIN, HIGH);                                    //  W┼é─ůcz zielon─ů diod─Ö LED - brak rosy
    Serial.print("OFF\t");                                            //  Znacznik grza┼éki - OFF (kiedy td+1 < t)

    analogWrite(HEATER, 0);                                           //  PWM  - wype┼énienie 0 (grza┼ék─Ö symuluje dioda LED)
    Serial.print("PWM 0");                                            //  Wy┼Ťlij tekst o wype┼énieniu PWM
  }


Warunek oparty zosta┼é na r├│┼╝nicy mi─Ödzy temperatur─ů (t) i temperatur─ů punktu rosy (td). W zale┼╝no┼Ťci jaki wynik otrzymujemy odpowiednio sterujemy PWM na pinie nr 6.
Stopie┼ä wype┼énienia jest "na oko" z tego wzgl─Ödu, ┼╝e zamiast grza┼éki do pinu nr 6 pod┼é─ůczy┼éem diod─Ö LED symuluj─ůc─ů ju┼╝ sam─ů grza┼ék─Ö. Pod┼é─ůczenie identyczne jak pozosta┼ée diody LED (przez rezystor).

Oczywi┼Ťcie absolutnie nie pod┼é─ůczajcie grza┼éki bezpo┼Ťrednio do pinu nr 6! To nadal uk┼éad modelowy bez ko┼äc├│wki wykonawczej dla samej grza┼éki!

Czekam na uwagi, propozycje zmian :)

Cały kod wersji 1.2 poniżej

Kod:
//  Automatyczny sterownik grza┼éek
//
//  Funkcje:
//    - Pomiar temperatury
//    - Pomiar wilgotno┼Ťci
//    - Obliczenie punktu rosy
//    - Sterowanie grza┼ék─ů teleskopu - w┼é─ůcz / wy┼é─ůcz
//    - Sygnalizacja b┼é─Ödu odczytu z czujnika DHT
//
//  Biblioteki:
//    - Adafruit Unified Sensor (Adafruit)
//    - DHT Sensor Library (Adafruit)
//
//  Uwagi:
//    - Program demonstruje dzia┼éanie automatycznego sterownika grza┼éek.
//    - Czerwona dioda LED sygnalizuje (symuluje) w┼é─ůczenie grza┼éki
//    - Zielona dioda LED sygnalizuje brak roszenia
//    - Program nie ma zdefiniowanego pinu / pin├│w do sterowania grza┼ék─ů / grza┼ékami
//    - Komunikacja szeregowa (COM) s┼éu┼╝y jako "monitor" dzia┼éania programu - docelowo mo┼╝e by─ç wy┼é─ůczona w celu oszcz─Ödno┼Ťci pami─Öci programu
//    - Rozwi─ůzanie programowe absolutnie nie jedynie s┼éuszne
//    - Za uszkodzenia wynikaj─ůce z dzia┼éania programu nie odpowiadam, program stworzony zosta┼é jako przyk┼éad dla urz─ůdzenia modelowego (bez grza┼éki)
//
//  Autor:
//    Rados┼éaw Deska
//
//  Wersja:
//    - 1.2 (18.05.2019)
//
//  Poprawki do wersji 1.2
//    - poprawiono komentarze
//    - zmieniony zosta┼é blok zwi─ůzany z obs┼éug─ů grza┼éki, inna budowa warunku
//    - dodanie pinu obs┼éuguj─ůcego grza┼ék─Ö (pin cyfrowy nr 6)
//    - dodanie funkcji PWM dla pinu nr 6
//    - zmienione zosta┼éy typy zmiennych t, h, td z float na int
//    - zmieniono warunek braku komunikacji/danych z czujnika DHT
//
//  Poprawki do wersji 1.1
//    - zmieniono warunek kiedy ma zosta─ç w┼é─ůczona grza┼éka
//    - dodano komunikat wysy┼éany na port COM o w┼é─ůczonej / wy┼é─ůczonej grza┼éce (ON/OFF)
//
// -------------------------------------------------------------------------------------------------------------------------------------------------

#include "DHT.h"                                                      //  Biblioteka DHT

#define LED_R_PIN 3                                                   //  Czerwona dioda LED do pinu cyfrowego nr 3 (sygnalizacja pracy grza┼éki)
#define LED_G_PIN 4                                                   //  Zielona dioda LED do pinu cyfrowego nr 4 (sygnalizacja braku rosy)

#define HEATER 6                                                      // Pin steruj─ůcy prac─ů grza┼éki (pin cyfrowy nr 6, PWM)

#define DHTPIN 5                                                      //  Czujnik DHT pod┼éaczony do pinu cyfrowego nr 5
#define DHTTYPE DHT22                                                 //  Rodzaj czujnika DHT22

DHT dht(DHTPIN, DHTTYPE);


// Funkcja obliczaj─ůca temperature punktu rosy na podstawie pomiar├│w temperatury i wilgotno┼Ťci - wynik typu float

float pktRosy(float humi, float temp) {
  float k;
  k = log(humi / 100) + (17.62 * temp) / (243.12 + temp);
  return 243.12 * k / (17.62 - k);
}


void setup() {

  Serial.begin(9600);                                                 //  W┼é─ůczenie komunikacji szeregowej - ustawienie pr─Ödko┼Ťci transmisji
  Serial.println("Automatyczny sterownik grza┼éek \t Wersja 1.2 \n");  //  Tekst na powitanie

  pinMode(LED_R_PIN, OUTPUT);                                         //  Konfiguracja pinu cyfrowego nr 3 jako wyj┼Ťcie
  pinMode(LED_G_PIN, OUTPUT);                                         //  Konfiguracja pinu cyfrowego nr 4 jako wyj┼Ťcie

  pinMode(HEATER, OUTPUT);                                            //  Konfiguracja pinu cyfrowego nr 6 jako wyj┼Ťcie

  dht.begin();                                                        //  W┼é─ůczenie i inicjalizacja komunikacji z czujnikiem DHT

}

void loop() {

  delay(500);                                                         //  Odczekaj 500 ms

  int h = dht.readHumidity();                                         //  Odczyt wilgotno┼Ťci h - typ zmiennej int
  int t = dht.readTemperature();                                      //  Odczyt temperatury t - typ zmiennej int

  if (h == 0 || t == 0) {
    Serial.println("B┼é─ůd odczytu z czujnika DHT!");                   //  Wy┼Ťlij komunikat o b┼éedzie
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diode LED
    delay(150);                                                       //  Odczekaj 150ms
    digitalWrite(LED_R_PIN, LOW);                                     //  Wy┼é─ůcz czerwon─ů diode LED
    return;
  }

  //  Wywo┼éanie funkcji pktRosy z warto┼Ťciami h i t, przypisanie wyniku do zmiennej td (int)
 
  int td = pktRosy(h, t);

  // Wys┼éanie na port COM danych o temperaturze (t), wilgotno┼Ťci (h) i temeraturze punktu rosy (td)

  Serial.print("Wilgotno┼Ť─ç: ");                                       //  Wy┼Ťlij tekst
  Serial.print(h);                                                    //  Warto┼Ť─ç wilgotno┼Ťci - zmienna h
  Serial.print("┬░%");                                                 //  Wy┼Ťlij tekst
  Serial.print("\t");                                                 //  Znak tabulatora
  Serial.print("Temperatura: ");                                      //  Wy┼Ťlij tekst
  Serial.print(t);                                                    //  Warto┼Ť─ç temperatury - zmienna t
  Serial.print("┬░C");                                                 //  Wy┼Ťlij tekst
  Serial.print("\t");                                                 //  Znak tabulatora
  Serial.print(" Punkt rosy: ");                                      //  Wy┼Ťlij tekst
  Serial.print(td);                                                   //  Warto┼Ť─ç punktu rosy - zmienna td
  Serial.print("┬░C");                                                 //  Wy┼Ťlij tekst
  Serial.print("\t");                                                 //  Znak tabulatora
  Serial.print("t-td = ");                                            //  Wy┼Ťlij tekst
  Serial.print(t - td);                                               //  Oblicz r├│┼╝nic─Ö mi─Ödzy zmienn─ů t i zmienn─ů td i wy┼Ťwietl
  Serial.print("\t");                                                 //  Znak tabulatora

  // Sprawdzamy na podstawie wyliczonego punktu rosy (td) i mierzonej temperatury z czujnika DHT czy nale┼╝y w┼é─ůczy─ç grza┼ék─Ö
  // Je┼╝eli td > t = uruchamiamy grza┼ék─Ö, w przeciwnym razie td < t = wy┼é─ůczamy grza┼ék─Ö
  // W uk┼éadzie modelowym czerwona dioda LED sygnalizuje prac─Ö grza┼éki, zielona dioda LED brak rosy.
  // Je┼╝eli spe┼éniony jest warunek td > t w├│wczas za┼Ťwieci si─Ö czerwona dioda LED (grza┼éka pracuje), zielona dioda LED zga┼Ťnie (rosa)

  // !!! UWAGA !!! Do pinu nr 6 pod┼é─ůczona jest dioda LED wraz z rezystorem 220Ohm jako symulator grza┼éki

  if ((t - td <= 7) && (t - td >= 5)) {                               //  Je┼╝eli r├│┼╝nica t-td jest mniejsza lub r├│wna 7 i wi─Öksza lub r├│wna 5
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - sygnalizacja pracy grza┼éki
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("ON\t");                                             //  Wy┼Ťlij tekst - ON i dodaj tabulator

    analogWrite(HEATER, 2);                                           //  PWM  - wype┼énienie 2 (grza┼ék─Ö symuluje dioda LED)
    Serial.print("PWM 2, 7 - 5");                                     //  Wy┼Ťlij tekst o wype┼énieniu PWM i zakresie

  }
  else if ((t - td < 5) && (t - td >= 3)) {                           //  Je┼╝eli r├│┼╝nica t-td jest mniejsza 5 i wi─Öksza lub r├│wna 3
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka pracuje
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("ON\t");                                             //  Wy┼Ťlij tekst - ON i dodaj tabulator

    analogWrite(HEATER, 32);                                          //  PWM  - wype┼énienie 2 (grza┼ék─Ö symuluje dioda LED)
    Serial.print("PWM 32, 5 - 3");                                    //  Wy┼Ťlij tekst o wype┼énieniu PWM i zakresie
  }
  else if ((t - td < 3) && (t - td > 1)) {                            //  Je┼╝eli r├│┼╝nica t-td jest mniejsza 3 i wi─Öksza 1
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka pracuje
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("ON\t");                                             //  Wy┼Ťlij tekst - ON i dodaj tabulator

    analogWrite(HEATER, 64);                                          //  PWM  - wype┼énienie 64 (grza┼ék─Ö symuluje dioda LED)
    Serial.print("PWM 64, 3 - 1");                                    //  Wy┼Ťlij tekst o wype┼énieniu PWM i zakresie
  }
  else if (t - td == 1) {                                             //  Je┼╝eli r├│┼╝nica t-td jest r├│wna 1
    digitalWrite(LED_R_PIN, HIGH);                                    //  W┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka pracuje
    digitalWrite(LED_G_PIN, LOW);                                     //  Wy┼é─ůcz zielon─ů diod─Ö LED - rosa
    Serial.print("ON\t");                                             //  Wy┼Ťlij tekst - ON i dodaj tabulator

    analogWrite(HEATER, 255);                                         //  PWM  - wype┼énienie 255 (grza┼ék─Ö symuluje dioda LED) - grza┼éka pracuje pe┼én─ů moc─ů
    Serial.print("PWM 255, 1");                                       //  Wy┼Ťlij tekst o wype┼énieniu PWM i zakresie
  }
  else {
    digitalWrite(LED_R_PIN, LOW);                                     //  Wy┼é─ůcz czerwon─ů diod─Ö LED - grza┼éka nie pracuje
    digitalWrite(LED_G_PIN, HIGH);                                    //  W┼é─ůcz zielon─ů diod─Ö LED - brak rosy
    Serial.print("OFF\t");                                            //  Znacznik grza┼éki - OFF (kiedy td+1 < t)

    analogWrite(HEATER, 0);                                           //  PWM  - wype┼énienie 0 (grza┼ék─Ö symuluje dioda LED)
    Serial.print("PWM 0");                                            //  Wy┼Ťlij tekst o wype┼énieniu PWM
  }

Serial.println(" ");                                                  //  Przejdz do nast─Öpnego wiersza (Serial Monitor)

}


Niestety forum nie zgadza si─Ö na przyj─Öcie pliku z rozszerzeniem *.ino dlatego musz─Ö prezentowa─ç kod w pe┼énej okaza┼éo┼Ťci zamiast gotowego piku do pobrania.

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 9 czerwca 2019, 10:14 
Offline
Nowy na forum
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): poniedzia┼éek, 27 maja 2019, 22:04
Posty: 5
Mam pytanie zwi─ůzane DHT22. Stosuj─Ö go ju┼╝ od kilku lat i zauwa┼╝y┼éem zwi─ůzane z nim ciekawe (a w┼éa┼Ťciwie nieciekawe :) zjawisko). Uruchamiam uk┼éad i wszystko pracuje jak nale┼╝y. Po kilku miesi─ůcach stwierdzam, ┼╝e mierzona przez niego wilgotno┼Ť─ç jest zawy┼╝ana. Z biegiem czasu proces si─Ö pog┼é─Öbia. Po 1.5 roku czujnik pokazuje ju┼╝ niemal wy┼é─ůcznie 100% (przy wyj─ůtkowo ma┼éej wilgotno┼Ťci - 80%). Wymieniam DHT22 na nowy i na pocz─ůtku wszystko jest OK, ale z czasem sytuacja zn├│w si─Ö powtarza jak z poprzednikiem. Temperatur─Ö natomiast ca┼éy czas mierzy bezb┼é─Ödnie. Czy kto┼Ť z Was spotka┼é si─Ö z takim zjawiskiem ?

_________________
http://www.supernowe.pl


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 9 czerwca 2019, 20:09 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
Radosław Deska napisał(a):
Mam pytanie zwi─ůzane DHT22. Stosuj─Ö go ju┼╝ od kilku lat i zauwa┼╝y┼éem zwi─ůzane z nim ciekawe (a w┼éa┼Ťciwie nieciekawe :) zjawisko). Uruchamiam uk┼éad i wszystko pracuje jak nale┼╝y. Po kilku miesi─ůcach stwierdzam, ┼╝e mierzona przez niego wilgotno┼Ť─ç jest zawy┼╝ana. Z biegiem czasu proces si─Ö pog┼é─Öbia. Po 1.5 roku czujnik pokazuje ju┼╝ niemal wy┼é─ůcznie 100% (przy wyj─ůtkowo ma┼éej wilgotno┼Ťci - 80%). Wymieniam DHT22 na nowy i na pocz─ůtku wszystko jest OK, ale z czasem sytuacja zn├│w si─Ö powtarza jak z poprzednikiem. Temperatur─Ö natomiast ca┼éy czas mierzy bezb┼é─Ödnie. Czy kto┼Ť z Was spotka┼é si─Ö z takim zjawiskiem ?

Osobi┼Ťcie nie spotka┼éem si─Ö z takim objawem w przypadku mojego czujnika poniewa┼╝ stosunkowo kr├│tko go posiadam i nie pracuje on non stop.
Z tego co uda┼éo mi si─Ö natkn─ů─ç w czelu┼Ťciach internetu pow├│d takiego dzia┼éania to po prostu sama konstrukcja czujnika i to z czego jest wykonany ma zasadniczy wp┼éyw na jego ┼╝ywotno┼Ť─ç i wiarygodno┼Ť─ç. Osobi┼Ťcie zauwa┼╝y┼éem, ┼╝e m├│j egzemplarz zawy┼╝a temperatur─Ö o oko┼éo 2 stopnie i to troch─Ö nieliniowo.

Przy okazji kto znajdzie dwa b┼é─Ödy w kodzie (sposobie dzia┼éania) dostanie za ka┼╝dy znaleziony b┼é─ůd piwo :)

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 16 czerwca 2019, 22:09 
Offline
Moderator globalny
Moderator globalny
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): wtorek, 25 sierpnia 2009, 15:33
Posty: 5142
Lokalizacja: Katowice-Jan├│w
Jarosław Grzegorzek napisał(a):
Mam pytanie zwi─ůzane DHT22. Stosuj─Ö go ju┼╝ od kilku lat i zauwa┼╝y┼éem zwi─ůzane z nim ciekawe (a w┼éa┼Ťciwie nieciekawe :) zjawisko). Uruchamiam uk┼éad i wszystko pracuje jak nale┼╝y. Po kilku miesi─ůcach stwierdzam, ┼╝e mierzona przez niego wilgotno┼Ť─ç jest zawy┼╝ana. Z biegiem czasu proces si─Ö pog┼é─Öbia. Po 1.5 roku czujnik pokazuje ju┼╝ niemal wy┼é─ůcznie 100% (przy wyj─ůtkowo ma┼éej wilgotno┼Ťci - 80%). Wymieniam DHT22 na nowy i na pocz─ůtku wszystko jest OK, ale z czasem sytuacja zn├│w si─Ö powtarza jak z poprzednikiem. Temperatur─Ö natomiast ca┼éy czas mierzy bezb┼é─Ödnie. Czy kto┼Ť z Was spotka┼é si─Ö z takim zjawiskiem ?
U mnie jest podobnie mam go w astropude┼éku i raz wog├│le nie chcia┼é dzia┼éa─ç a innym razem pokazywa┼é dziwne warto┼Ťci wilgotno┼Ťci i punktu rosy

_________________
Moje Fotki
tel.512174124 , 511960672
gg: 11790876 e-mail: grzegorzczerneckiastro@interia.pl
TS APO 65Q, SW 12"Dobson, HEQ5 Pro SynScan(modyfikowany), SBIG ST2000XCM, Canon EOS 550D, SONY DSC H7, IDAS LPS P2 2", UHCs 2".
------------------------------------------------------------


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 23 czerwca 2019, 10:39 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
Zam├│wi┼éem czujnik DHT21 wi─Öc b─Ödzie mo┼╝liwo┼Ť─ç por├│wnania jak si─Ö sprawuje na tle DHT22.

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 4 sierpnia 2019, 02:37 
Offline
Nowy na forum
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): poniedzia┼éek, 27 maja 2019, 22:04
Posty: 5
Poczyta┼éem sobie troch─Ö na temat czujnik├│w (higrometr├│w). Okazuje si─Ö, ┼╝e faktycznie DHT22 maj─ů problem z d┼éugoterminow─ů stabilno┼Ťci─ů. Po pewnym czasie najzwyczajniej "padaj─ů". Z r├│┼╝nych ┼║r├│de┼é dowiedzia┼éem si─Ö, ┼╝e bardzo dobrze oceniany jest natomiast BME280. W Botlandzie go maj─ů, ale bardzo drogo (prawie 100 z┼é), wi─Öc sprowadz─Ö kilka sztuk z "dalekich kraj├│w". A┼╝ tak mi si─Ö nie spieszy i mog─Ö poczeka─ç. Przetestuj─Ö i dam zna─ç czy jest lepiej.
Obrazek

_________________
http://www.supernowe.pl


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 4 sierpnia 2019, 20:12 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
Jarek to koniecznie daj zna─ç jak przyjd─ů czujniki jak si─Ö spisuj─ů. Na marginesie w jakich uk┼éadach i do czego wykorzystujesz, bo domy┼Ťlam si─Ö, ┼╝e w podobnym charakterze jak w temacie w─ůtku. Do mnie dotar┼é ju┼╝ HTU21D wiec b─Ödzie mo┼╝na por├│wna─ç "┼╝ywotno┼Ť─ç" w warunkach bojowych.

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: niedziela, 4 sierpnia 2019, 23:37 
Offline
Nowy na forum
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): poniedzia┼éek, 27 maja 2019, 22:04
Posty: 5
Radek. Oczywi┼Ťcie, b─Öd─Ö informowa┼é o tym jak si─Ö sprawuj─ů. Do czego je stosuj─Ö ? W moim obserwatorium u┼╝ywam ich w dw├│ch systemach:
Pierwszy to kamera AllSky, kt├│r─ů skonstruowa┼éem kilka lat temu. Czujnik monitoruje wilgotno┼Ť─ç pod jej kopu┼ék─ů i dzi─Öki temu wiem kiedy powinienem zregenerowa─ç/wymieni─ç silica gel, kt├│ry r├│wnie┼╝ umieszczony jest wewn─ůtrz obudowy kamery.
Drugi to system podgrzewania 3 punkt├│w mojego newtona - lusterka wt├│rnego, g┼é├│wnego oraz reduktora ogniskowej do poziomu temperatury powy┼╝ej punktu rosy, czyli co┼Ť zbli┼╝onego do tematu tego w─ůtku.

_________________
http://www.supernowe.pl


G├│ra
 Zobacz profil  
 
 Tytu┼é: Re: Arduino w Astronomii - Sterownik grza┼éek
PostNapisane: poniedzia┼éek, 5 sierpnia 2019, 18:00 
Offline
Ranga: [3]
Avatar u┼╝ytkownika

Do┼é─ůczy┼é(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 334
Lokalizacja: Świętochłowice
Jarosław Grzegorzek napisał(a):
Drugi to system podgrzewania 3 punkt├│w mojego newtona - lusterka wt├│rnego, g┼é├│wnego oraz reduktora ogniskowej do poziomu temperatury powy┼╝ej punktu rosy, czyli co┼Ť zbli┼╝onego do tematu tego w─ůtku.


Oczywi┼Ťcie ju┼╝ mnie ciekawi rozwi─ůzanie sterownika, a zw┼éaszcza wzoru, z kt├│rego korzystasz do obliczania punktu rosy, samej ko┼äc├│wki "mocy" do sterowania grza┼ékami.

Jarosław Grzegorzek napisał(a):
Poczyta┼éem sobie troch─Ö na temat czujnik├│w (higrometr├│w). Okazuje si─Ö, ┼╝e faktycznie DHT22 maj─ů problem z d┼éugoterminow─ů stabilno┼Ťci─ů. Po pewnym czasie najzwyczajniej "padaj─ů". Z r├│┼╝nych ┼║r├│de┼é dowiedzia┼éem si─Ö, ┼╝e bardzo dobrze oceniany jest natomiast BME280. W Botlandzie go maj─ů, ale bardzo drogo (prawie 100 z┼é), wi─Öc sprowadz─Ö kilka sztuk z "dalekich kraj├│w". A┼╝ tak mi si─Ö nie spieszy i mog─Ö poczeka─ç. Przetestuj─Ö i dam zna─ç czy jest lepiej.


Zauwa┼╝, ┼╝e ca┼éy modu┼é BME280 to ods┼éoni─Öta elektronika, warto by┼éoby zabezpieczy─ç j─ů przed czynnikami atmosferycznymi. Oczywi┼Ťcie dbaj─ůc by samego sensora nie "upa─çka─ç".
Po┼é─ůczenie elektryczne musz─ů by─ç zabezpieczone, jak sam dobrze o tym wiesz. Jaki┼Ť sprawdzony spos├│b zawsze mile widziany.

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zr├│b to sam"


G├│ra
 Zobacz profil  
 
Wy┼Ťwietl posty nie starsze ni┼╝:  Sortuj wg  
Utw├│rz nowy w─ůtek Odpowiedz w w─ůtku
Przejd┼║ na stron─Ö 1, 2  Nast─Öpna strona

Strefa czasowa: UTC + 2


Kto przegl─ůda forum

U┼╝ytkownicy przegl─ůdaj─ůcy ten dzia┼é: Brak zidentyfikowanych u┼╝ytkownik├│w i 1 go┼Ť─ç


Nie mo┼╝esz rozpoczyna─ç nowych w─ůtk├│w
Nie mo┼╝esz odpowiada─ç w w─ůtkach
Nie mo┼╝esz edytowa─ç swoich post├│w
Nie mo┼╝esz usuwa─ç swoich post├│w
Nie mo┼╝esz dodawa─ç za┼é─ůcznik├│w

Szukaj:
Skocz do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Przyjazne u┼╝ytkownikom polskie wsparcie phpBB3 - phpBB3.PL