ovládání klapky vzduchu servomotorem a regulace otáček ventilátoru

Odpovědět
Mira007
Příspěvky: 2
Registrován: 20 led 2018, 14:53
Reputation: 0

ovládání klapky vzduchu servomotorem a regulace otáček ventilátoru

Příspěvek od Mira007 » 20 led 2018, 15:03

Zdravím všechny :)
Potřebuji pomoct se seskládáním v podstatě dvou funkčních elektromechanismů. Jsem amatér, jsem ochoten zaplatit návod.

1) Ovládání klapky - potřebuji v závislosti na teplotě ovládat klapku vzduchu v potrubí. se zvyšující se teplotou se musí klapka otevírat víc.Nejlépe plynule, ale pokud by byl problém, klidně stačí tři polohy klapky. Je to do skleníku, takže by tam bylo například 25stupnu až 30 stupnu a v tomto rozsahu by se klapka otevírala a zavírala

2) otáčky ventilátoru - zase, čím vyšší teplota, tím vyšší otáčky, prodává se takový regulátor za 1700 kč na conrad elektro, ale rád bych to seskládal dle návodu sám, předpokládám asi, že by bylo potřeba znát vykon ventilátoru, aby se to pevně nastavilo, nebo to udělat nastavitelné, ventilator je na stridavy proud, radialni ventilator...

co by bylo potřeba tak info doplním a děkuji

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: ovládání klapky vzduchu servomotorem a regulace otáček ventilátoru

Příspěvek od martinius96 » 20 led 2018, 20:35

1.) Tak napr.. ak sa využije senzor teploty DS18B20 a 3 polohy servomotora:
Kontrolné výpisy na serial monitor:
Obrázek
Servo som nikdy nemal, tak som to vyskúšal iba cez TinkerCad --> online simulátor a vyzerá to, že to bude chodiť, možno by sa zišlo doplniť mikrokroky, aby sa počet stupňov neprestrelil.
Kód:

Kód: Vybrat vše

#include <OneWire.h>                 //KNIZNICA ONEWIRE PRE VYUZITIE ONEWIRE ZBERNICE
#include <DallasTemperature.h>       //KNIZNICA PRE TEPLOTNE CIDLA
#define ONE_WIRE_BUS 4               //DEFINICIA PINU AKO ZBERNICE PRE ONEWIRE ZARIADENIA
OneWire oneWire(ONE_WIRE_BUS);       //ONEWIRE ČÍTAŤ IBA NA PORTE DEFINOVANOM VYSSIE
DallasTemperature sensors(&oneWire); //Zarad senzory na zbernicu
#include <Servo.h> //knižnica pre servo
Servo myservo; //objekt serva
void setup() { 
    myservo.attach(9); //Servo na Pin 9, mozne pouzit aj pin 10
    sensors.begin(); //spust senzor na OneWire zbernici
    Serial.begin(9600); //rychlost serial monitoru
    myservo.write(0);  // daj servo do uvodnej pozicie
} 

void loop() {
   sensors.requestTemperatures();
   delay(250); //pockame pokym nam pride teplota od DS18B20 senzoru
   float teplota = sensors.getTempCByIndex(0);
   if(teplota == -127.00 || teplota == -127){
      sensors.requestTemperatures();
    Serial.println("Citam teplotu pre platny udaj!");
      delay(250);
   }else if(teplota == 85.00 || teplota == 85){
    Serial.println("Zle zapojenie, skontrolujte kable!");
    }else{
    Serial.println("Namerali sme teplotu!");
    Serial.println(teplota);
if(teplota<24.99){
 myservo.write(0); //klapka zatvorena
 Serial.println("Zavieram klapku!");
}else if(teplota>=25 && teplota<30){
  myservo.write(45); //klapka pootvorena na polovicu
  Serial.println("Klapka pootvorena!");
  }else if(teplota>=30){
    myservo.write(90); //klapka otvorena na maximum
  Serial.println("Klapka otvorena!");
    }
  } 
delay(5000); //pockame 5 sekund pred novym meranim
}


Schéma:
Obrázek
Knižnice: https://www.ulozto.sk/!9CiV8ji2LfHP/ds1 ... iznice-rar
* Ak bude problém v DallasTemperature.cpp s WConstants.h prepísať na Arduino.h
* Rezistor v schéme je 4,7Kohm!

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: ovládání klapky vzduchu servomotorem a regulace otáček ventilátoru

Příspěvek od AstroMiK » 20 led 2018, 22:24

A pro spojité ovládání klapky by se místo těch podmínek použila funkce map().
https://www.arduino.cc/reference/en/lan ... /math/map/

Příklad:

Kód: Vybrat vše

myservo.write(map(teplota, 5, 40, 0, 90));

Tohle by mělo nastavit plynule klapku pro teplotu v rozsahu 5°C až 40°C na úhel 0° až 90°.


A s řízením otáček ventilátoru pomocí PWM to bude podobné:

Kód: Vybrat vše

analogWrite(ovladaci_pin, map(teplota, 20, 30, 0, 255));
Tohle zase nastaví ventilátor, který bude ovládaný pinem "ovladaci_pin", pro teplotu 20°C až 30°C na 0% (vypnuto) až 100% (plný výkon)

U ventilátoru by to chtělo ještě, v případě rozjezdu z vypnutého stavu, na krátkou chvíli pustit do motoru plný výkon na roztočení.


V tomhle případě ale bude spíš zajímavější, jak se to bude řešit hardwérově (a to záleží na tom, jaké bude to servo a jaký bude motor na ventilátoru).

Mira007
Příspěvky: 2
Registrován: 20 led 2018, 14:53
Reputation: 0

Re: ovládání klapky vzduchu servomotorem a regulace otáček ventilátoru

Příspěvek od Mira007 » 22 led 2018, 23:13

Bohužel jsem na foru kratce a tak vam nemohu zaslat soukromou zpravu.
V tom programovani se ja nevyznam, potreboval bych to vysvetlit krok za krokem a nebo nejlepe doporucit komponenty a vše vysvetlit, samozrejme vas cas zaplatim rad.

U toho ventilatoru budu muset znat vykon? Nebo pokud vymenim ventilator tak se to pak jen preprogramuje? Bude mit dle stitku 60w. Ale asi jej nepujde ovladat od nuly, neposkodi se tak ventilator? Musi jit na nejake minimum, napriklad 15w minimum a pak zvysovat vykon.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 13 hostů