• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
"Dwustanowy" sterownik pompy C.O.
#1
Witam. Nie wiem czy nazwa "dwustanowy" jest właściwa?
Ale chciałbym za pomocą mojego NANO z czujnikiem ds18b20 sterować pompą C.O. Oczywiście nie bezpośrednio. Nie chodzi tu o podłączenie elektroniki ani wyświetlanie bądź sygnalizację stanu pracy. Bo to nie jest problem.
Nie wiem jak ugryźć fakt żeby pompa była załączana przy 60stC z rozłączana przy 30stC. 
Np. wstaję rano i na kotle mam 28stC. Pompa rozłączona.
Rozpalam. Pompa załącza się dopiero przy 60stC.
Jako, że mam kocioł górnego spalania, nakładam raz, rozpalam od góry i pali się aż do wygaśnięcia  w kotle.
I procedura się powtarza. Ale nie o tym.
Chodzi o spadek temp. gdy już wygasa(do około 35-40stC).
I w tym czasie pompa ma pracować do czasu wychłodzenia się kotła poniżej 30stC.
Histereza na 30 stopni chyba tu nie pomoże?

Proszę o pomoc. Bo nie wiem Jak "wytłumaczyć" ARDUINO o co mi chodzi.
 
Odpowiedź
#2
Pseudokod:

Kod:
if temp > 60 zalącz-pompe=1
if temp < 30 zalacz-pompe=0

Do testów jako czujnika temperatury użyj potencjometru podpiętego pod wejście analogowe. Przykład znajdziesz w Plik->Przykłady->0.3 Analog
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#3
NAMOK JESTEŚ GENIUSZEM. To było banalnie proste, aczkolwiek chyba bez Twojej pomocy bym nie dał rady. DZIĘKI.
Dołożę  jeszcze obsługę pompy CWU, dwucyfrowy wyświetlacz 7-segmentowy i gotowe.

ps. To jest tylko wersja mocno wstępna i punkt zaczepienia.
Kod:
int czujnikPin = A0;  
int ledPin = 13; //symblizuje prace przekaznika    
int czujnikWartosc = 0;  

void setup() {

 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
}

void loop() {
 
 czujnikWartosc = analogRead(czujnikPin);
 
 czujnikWartosc = map(czujnikWartosc, 0, 1023, 0, 100);
 
 Serial.println(czujnikWartosc);

 if (czujnikWartosc > 60) {
   digitalWrite(ledPin, HIGH);
 }
 if (czujnikWartosc < 30) {
   digitalWrite (ledPin, LOW);

 }

}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości