Sterownik Arduino + Blynk według robert4you - kontynuacja

Teoria, praktyka, sprzęt, kolumna
zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-02-26, 21:45

Chyba odbiegliście od tematu...
Wiadomym jest że ilość alku w kręgu jest wprost proporcjonalna do temperatury wrzenia
W moim programie zbieram takie informacje bo zamierzam narysować krzywą... Tak dla zabawy już bo to nie do końca jest potrzebne do procesu
I tak na przykład przy temp 88.7 °C wrzenia zacieru mam 22% alku
Tak jak przedstawił andrzejg11 nie jest to prosta
I jeszcze wpływ ma ciśnienie atmosferyczne
Tak że w praktyce pewnie to w przybliżeniu wyliczenia

laurentp
100%
100%
Posty: 1368
Rejestracja: 2013-07-08, 22:08
Lokalizacja: Mazowieckie

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: laurentp » 2021-02-27, 06:39

andrzejg11 pisze:
2021-02-26, 10:19
Ech programiści .. najprostsza "jakaś" metoda to :...
...Opisany sposób jest w miarę dokładny i na pewno szybszy od działań matematycznych zmiennoprzecinkowych związanych z obliczaniem wielomianu.
Zaimplementowane od dawna u mnie w programie termometru / sterownika. Jeśli kogoś interesują szczegóły zapraszam do kodu źródłowego "tabela_Akasa" i "Akas_lookup" :).
https://nowyekran24.com/ prawda 24h, POLSKIE forum poza zasięgiem "głównego ścieku", taki informacyjny "DETOX"!
Nienawidzę.mechaniki.Za to przemiany fazowe zaczynają mnie fascynować

Awatar użytkownika
geoorge
50%
50%
Posty: 118
Rejestracja: 2007-10-20, 02:00
Lokalizacja: Podkarpackie

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: geoorge » 2021-03-05, 15:41

Ma ktoś zrobioną regulację temperatury wody chłodzącej przy pomocy zaworu z siłownikiem?
Kupiłem okazyjne taki zawór sterowany napięcie 0-5V lub 0-10V i chcę wykorzystać.
Interesuje mnie fragment kodu odpowiedzialny za sterowanie takim zaworem, udostępni ktoś?

zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-03-05, 16:16

Ja mam zrobione na silniku synchronicznym zasprzęglonym do zaworu grzybkowego(samoróbka)
u mnie sterowany jest czas pracy silnika
i u mnie wygląda to tak
void ster_chodzeniem(){
if(WODA<(temp_chl-2)){deltaP=(temp_chl*10)-(WODA*10);
int tP = map(deltaP, 0, 50, 0, 1000);
if(tP>1000){tP=1000;}
if(kor_luzu==1){tP=tP+1000;
kor_luzu=0;
ilosc_kor=0;
deltaP_last=0;}
if(deltaP>=deltaP_last){
digitalWrite(ST_CHLODZENIAp, LOW);
Blynk.virtualWrite(73,255);
delay(tP);
digitalWrite(ST_CHLODZENIAp, HIGH);
Blynk.virtualWrite(73,0);
ilosc_kor=ilosc_kor+1;}
deltaP_last=deltaP;
//if(ilosc_kor==5){Blynk.notify("!!!5x KOREKTA W GÓRĘ!!!"); ilosc_kor=0;}
}
if(WODA>(temp_chl+2)){deltaM=(WODA*10)-(temp_chl*10);
int tM = map(deltaM, 0, 50, 0, 1000);
if(tM>2000){tM=2000;}
if(kor_luzu==0){tM=tM+1000;
kor_luzu=1;
ilosc_kor=0;
deltaM_last=0;}
if(deltaM>=deltaM_last){
digitalWrite(ST_CHLODZENIAm, LOW);
Blynk.virtualWrite(74,255);
delay(tM);
digitalWrite(ST_CHLODZENIAm, HIGH);
Blynk.virtualWrite(74,0);
ilosc_kor=ilosc_kor+1;}
deltaM_last=deltaM;
//if(ilosc_kor==5){Blynk.notify("!!!5x KOREKTA W DÓŁ!!!"); ilosc_kor=0;}
}}


Awatar użytkownika
geoorge
50%
50%
Posty: 118
Rejestracja: 2007-10-20, 02:00
Lokalizacja: Podkarpackie

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: geoorge » 2021-03-05, 16:57

Dziękuję.
Ale trochę inna zasada, w moim przypadki sterowanie np. 0-10V.
5V oznacza 50% otwarcia.
Chyba że podepnę się bezpośredni do silnika (prawdopodobnie też synchroniczny bo zasilanie 24 AC), to by załatwiło sprawę.

rastro
40%
40%
Posty: 91
Rejestracja: 2013-02-15, 23:10
Lokalizacja: Polska

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: rastro » 2021-03-05, 19:11

Sterowanie 0-5V - można ogarnąć przez wystawienie PWM na którymś z pinów + jakiś bufor (bo ESP jest zasilane 3v3) i kondensator.

zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-03-05, 19:36

geoorge pisze:
2021-03-05, 16:57
Ale trochę inna zasada, w moim przypadki sterowanie np. 0-10V.
Nie do końca
Możesz to zrobić na prostym układzie z tranzystorkiem i PWM
i zamiast wartości czasu podajesz wartość PWM... :oki
Obrazek

A tak naprawdę wartość 5 voltów być i zupełnie wystarczyła
Bo żeby uzyskać przepływ około 1 l na minutę zawór jest ledwo otwarty
Załączniki
Zrzut ekranu9.png

Awatar użytkownika
geoorge
50%
50%
Posty: 118
Rejestracja: 2007-10-20, 02:00
Lokalizacja: Podkarpackie

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: geoorge » 2021-03-05, 20:54

zojsan, rastro dzięki.
Bardziej chodzi mi o sam kod, zamieżam sterować właśnie przez PWM.

zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-03-05, 20:59

masz ESP32 CZY ESP8266
W ESP32 PWM TO
ledcWriteTone(kanał, pin);
W ESP 8266
analogWrite(pin, wypełnienie)

rastro
40%
40%
Posty: 91
Rejestracja: 2013-02-15, 23:10
Lokalizacja: Polska

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: rastro » 2021-03-05, 21:05

geoorge pisze:
2021-03-05, 20:54
zojsan, rastro dzięki.
Bardziej chodzi mi o sam kod, zamieżam sterować właśnie przez PWM.
Tak na szybko to:
ESP8266 - https://randomnerdtutorials.com/esp8266 ... duino-ide/
ESP32 - https://randomnerdtutorials.com/esp32-pwm-arduino-ide/

Awatar użytkownika
geoorge
50%
50%
Posty: 118
Rejestracja: 2007-10-20, 02:00
Lokalizacja: Podkarpackie

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: geoorge » 2021-03-05, 22:12

Mam esp8266, analogWrite(pin, wypełnienie) i co dalej ?...
Jak PWM działa to ja wiem.

rastro
40%
40%
Posty: 91
Rejestracja: 2013-02-15, 23:10
Lokalizacja: Polska

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: rastro » 2021-03-05, 22:22

Wydaje się że magia jest zaszyta pod spodem ustawiasz i na pnie jest sygnał PWM o zadanych parametrach.

zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-03-05, 22:29

no na przykład...
wypełnienie = 50


If(wodachłodnica>65){wypełnienie = (wypełnienie +10);
analogWrite(pin, wypełnienie) }

If(wodachłodnica<55){wypełnienie = (wypełnienie - 10);
analogWrite(pin, wypełnienie) }


Bardzo ogólnie
przejrzyj to co wysłałem wcześniej...

geoorge pisze:
2021-03-05, 22:12
Jak PWM działa to ja wiem.
To co nie wiesz....?

Awatar użytkownika
geoorge
50%
50%
Posty: 118
Rejestracja: 2007-10-20, 02:00
Lokalizacja: Podkarpackie

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: geoorge » 2021-03-06, 20:57

Liczyłem na gotowca :D
W takim formacie to raczej nie zadziała.
Pierwsze zrobię manualnie (suwak) i poobserwuję w jamim zakresie pracuje, jaki czas reakcji itd.
Chyba że jakiś PID?

Awatar użytkownika
geoorge
50%
50%
Posty: 118
Rejestracja: 2007-10-20, 02:00
Lokalizacja: Podkarpackie

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: geoorge » 2021-03-07, 07:33

Naskrobałem coś w notatniku:
int woda0 = 0; // 0 = STOP regulacji wody, 1 = START regulacji wody
int woda = 0; // 0 = woda zamknięta, 1 = woda otwarta
int pwm = 0;

if(woda==1 && woda0==0)
{
pwm=200;
analogWrite(pwmPin, pwm);
delay(20000);
woda0=1;
}

if(woda0==1)
{
for(pwm=pwm; TempWody<55 && pwm<1023; pwm++){
analogWrite(pwmPin, pwm);
delay(10);
}
for(pwm=pwm; TempWody>55 && pwm>100; pwm--){
analogWrite(pwmPin, pwm);
delay(10);
}

if(woda==0 && woda0==1)
{
woda0=0;
analogWrite(pwmPin, 0);
}

Wszelkie uwagi mile widziane.

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości