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
ovládání klapky vzduchu servomotorem a regulace otáček ventilátoru
-
- 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
1.) Tak napr.. ak sa využije senzor teploty DS18B20 a 3 polohy servomotora:
Kontrolné výpisy na serial monitor:
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:
Schéma:
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!
Kontrolné výpisy na serial monitor:
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
}
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!
Re: ovládání klapky vzduchu servomotorem a regulace otáček ventilátoru
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:
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é:
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).
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));
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).
Re: ovládání klapky vzduchu servomotorem a regulace otáček ventilátoru
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.
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.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 14 hostů