www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Arduino in akvarij

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
jure95
Neznanec
Neznanec



Pridružen-a: Sre 02 Dec 2015 19:15
Prispevkov: 7
Aktiv.: 0.07
Kraj: Koper

PrispevekObjavljeno: Sre Dec 02, 2015 7:24 pm    Naslov sporočila:  Arduino in akvarij Odgovori s citatom

Pozdravljeni, sem Jure in sem nov na forumu. Po izobrazbi sem strojnik, z elektroniko in programiranjem se ukvarjam ljubiteljsko.
Potreboval bi pa eno manjšo pomoč. Izdelujem si krmilnik za akvarij, vse sem naredil kot je treba, med drugim tudi prižiganje led diod preko tranzistorja. Led diode se prižigajo ob uri (s pomočjo RTC).
Problem nastane, ker Arduino ima izhodne vrednosti za PWM od 0-255. Kodo imam napisano tako, da se mi vsake tri sekunde vrednost PWM poveča za +1 od prejšnje. Ko priklopimo led diode na Arduino vidimo, da prižiganje diod poteka v intervalih vsake 3 sekude. Jaz bi pa rad, da se mi diode prižigajo "mehko", torej bnekako glajeno. Je kakšna možnost to narediti? Imel sem v mislih, da bi uporabil kakšen kondenzator, ampak nevem kako bi to vezal, in niti kakšno vrednost bi uporabil.

LP, Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Peter123
Član
Član



Pridružen-a: Tor 13 Jan 2009 15:34
Prispevkov: 1366
Aktiv.: 7.35
Kraj: Lj.

PrispevekObjavljeno: Sre Dec 02, 2015 7:45 pm    Naslov sporočila:   Odgovori s citatom

Lahko poizkusiš z kondenzatorjem a se bojim da bo moral biti zelo velik.
Nekateri Arduino moduli omogočajo PWM v 1000+ korakih, tak skoka nebi opazil.
Lahko pa zmanjšaš čas med 2 korakoma, bo za oko delovalo bolj zvezno in bolj prijetno.

Kondenzator vežeš na napajanje LED. Uporabi elektrolitskega, nazivne napetosti vsaj 2x napajalna za LED. Kapacitete 3000uF in več. Uporabi tiste ki so za 105stC. Pri priključitvi podi pozoren na polarizacijo!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
ElGrigon
Član
Član



Pridružen-a: Pon 24 Jul 2006 22:38
Prispevkov: 3880
Aktiv.: 17.96
Kraj: okolica Lenarta

PrispevekObjavljeno: Sre Dec 02, 2015 8:22 pm    Naslov sporočila:   Odgovori s citatom

Na bazo tranzistorja daj večji RC člen, ki bo časovno usklajen s 3s.

Ali pa uporabiš MFET in PWM mapiraš z izhodno napetostjo napram Vtreshold.

_________________
lp, ElGrigon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jure95
Neznanec
Neznanec



Pridružen-a: Sre 02 Dec 2015 19:15
Prispevkov: 7
Aktiv.: 0.07
Kraj: Koper

PrispevekObjavljeno: Sre Dec 02, 2015 10:24 pm    Naslov sporočila:   Odgovori s citatom

@Peter123, mogoče veš za kakšen tak modul? Sem nekaj iskal, večji problem je, ker skoraj nevem kaj iskat. Glede kondenzatorja, gre se o tokovih okoli 16A in napetosti okoli 12V (ciljam na okoli 180W luči), tako da nevem kakšen kondenzator bi tukaj prišel v poštev. Glede časa med 2 korakoma, pa bi rad imel takšen čas (mogoče tudi še večji), ker bi rad ustvaril približek naravnega okolja prebivalcem akvarija.

@ElGrigon, kako pa izračunati, kakšen RC člen potrebujem? Kot sem gledal po internetu, se da dobiti že v enem kosu cel rc člen? Vtreshold - lahko kaj več poveš o tem?

@protoncek, hvala, si bom pogledal!

Se opravičujem, ampak moje znanje elektronike ni na višku, zato so mogoče kakšna moja vprašanja malo čudna.


LP, Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5773
Aktiv.: 25.90
Kraj: Grosuplje

PrispevekObjavljeno: Sre Dec 02, 2015 10:31 pm    Naslov sporočila:   Odgovori s citatom

Jure95, kolikšen je čas v katerem želiš počasi prižgati ledice?
_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
robert
Član
Član



Pridružen-a: Sob 29 Maj 2004 21:48
Prispevkov: 1871
Aktiv.: 8.39
Kraj: Tolmin

PrispevekObjavljeno: Sre Dec 02, 2015 10:32 pm    Naslov sporočila:   Odgovori s citatom

Mislim, da bo najbolje, da prilepiš trenutno Arduino kodo ter napišeš z katerim delaš.
Pa za take tokove bo potrebno shemo prilagoditi za mosfet tranzistor razen če ga ne boš uporabljal še za gretje vode (velike izgube) Wink

_________________
LP Robert
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jure95
Neznanec
Neznanec



Pridružen-a: Sre 02 Dec 2015 19:15
Prispevkov: 7
Aktiv.: 0.07
Kraj: Koper

PrispevekObjavljeno: Sre Dec 02, 2015 10:34 pm    Naslov sporočila:   Odgovori s citatom

Zdravo Jaka57. Rad diode bi rad prižigal okoli 20min (še najboljše bi bilo, če bi se čas užiganja dalo nastavljat - programsko vem kako, nevem pa kako to narediti z elementi).

LP, Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jure95
Neznanec
Neznanec



Pridružen-a: Sre 02 Dec 2015 19:15
Prispevkov: 7
Aktiv.: 0.07
Kraj: Koper

PrispevekObjavljeno: Sre Dec 02, 2015 10:38 pm    Naslov sporočila:   Odgovori s citatom

@robert V priponki prilagam kodo v beležnici. Delam pa z Arduino Mega 2560. Trenutno je vse še v testni verziji (kasneje se bo uporabilo v večjem akvariju). Delam z 500mA, uporabljam tranzistor 2N2222. Kasneje bom pa uporabil MOSFET (kakšnega bi uporabil, bom vas potreboval za pomoč), kateri bo hlajen preko alu. reber.


LP, Jure



akvarij_kontroler_28.10.2015_ArduinoMega.txt
 Opis:

Download
 Ime datoteke:  akvarij_kontroler_28.10.2015_ArduinoMega.txt
 Velikost datoteke:  9.2 KB
 Downloadano:  19 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jure95
Neznanec
Neznanec



Pridružen-a: Sre 02 Dec 2015 19:15
Prispevkov: 7
Aktiv.: 0.07
Kraj: Koper

PrispevekObjavljeno: Čet Dec 03, 2015 1:23 am    Naslov sporočila:   Odgovori s citatom

Z tistim fade primerom sem delal v tej kodi. Nekaj sprememb in je. Problem je bil, ko je bil zamik med intervali po tri sekunde, potem vse skupaj samo še "trokira" oz. prehod ni "gladek" ampak stopničast..

LP, Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Peter123
Član
Član



Pridružen-a: Tor 13 Jan 2009 15:34
Prispevkov: 1366
Aktiv.: 7.35
Kraj: Lj.

PrispevekObjavljeno: Čet Dec 03, 2015 8:22 am    Naslov sporočila:   Odgovori s citatom

Kondenzator, ki sem ti ga predlagal odpade za take moči.

Tole piše v datasheetu od čipa:
Four 8-bit PWM Channels
– Six/Twelve PWM Channels with Programmable Resolution from 2 to 16 Bits
(ATmega1281/2561, ATmega640/1280/2560

Torej je možno na določenih PWMjih nastavljat več kot 8bit-256. Pri 16 bitih pa ne boš opazil vmesnih korakov. Tole je še nejboljša rešitev. Obstaja pa vprešenje kako to uporabljat v arduinotu.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5773
Aktiv.: 25.90
Kraj: Grosuplje

PrispevekObjavljeno: Čet Dec 03, 2015 11:32 am    Naslov sporočila:   Odgovori s citatom

Jure95:
- uporabljaš RTC, ali je potrebno, da izpisuješ sekunde?
- v void loop() odstrani izpisovanje na LCD in naredi funkcijo (proceduro) izven osnovne zanke, saj bo program bistveno bolj pregleden,
- prav tako branje temperature in vlage,
- pri izpisovanju na LCD izpisuj samo tisto kar se spremeni,
- vse public spremenljivke daj na začetek.

v glavnem, tvoj program bi moral izgledati nekako takole:
Koda:
void loop(){
  preberi_RTC();
  preberi_okolje(); // temperatura, vlaga
  izpiši_ekran();
  alarm(); //ker ga zagotovo želiš vključiti
  priziganje_LED();
}


Protoncek, glede na to, da omenjaš interupt ali si pogledal pripeti program? Torej, kje lahko zmanjša interval timerja za interupt rutino in seveda, kje si jo videl v njegovem programu?

Peter123, seveda je možno nastavljat PWM več kot 8 bit, tudi v Arduino in teh primerov je na Netu kar nekaj.
Toda, če narediš svojo funkcijo z direktnim dostopom do časovnikov, se s tem odpoveš standardnim časovnim funkcijam vključenih v Arduino IDE, ena med njimi je tudi millis().

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
jure95
Neznanec
Neznanec



Pridružen-a: Sre 02 Dec 2015 19:15
Prispevkov: 7
Aktiv.: 0.07
Kraj: Koper

PrispevekObjavljeno: Čet Dec 03, 2015 11:48 am    Naslov sporočila:   Odgovori s citatom

Hvala vsem trem za odgovore!

@Jaka57
-izpisovanje sekund ni potrebno, sem pa jih hotel kasneje uporabiti za nadzor hranilnika
-se bom potrudil, da bom uredil vse skupaj
-na lcd-ju se spreminja celoten izgled (zaslon#1 - datum, ura, temp in vlaga, zaslon#2 - temp. akvarija, svetlost ledic, in pa timer)
-glede kode pa: temp. alarm obvezno žeim vključiti, ker mi je kakšen mesec nazaj zatajil termostat na grelcu in je grelec delal celo noč na "full", zjutraj ko sem rpišel pogledat, je bilo v akvariju 43°C, si lahko samo predstavljate kaj se je zgodilo nekaj prebivalci (na srečo ni bil polno naseljen), ki so bili noter. Takrat bi mi ta alarm "rešil rit". BKom pa sproti dodal še nekaj drugi elementov (pH sondo, ventilatorje za pod pokrov akarija (v primeru prevelike temp pod pokrovom in pa vlage), el. magnetni ventil,...

No, ampak sedaj mi je prioriteta zgladiti PWM od luči.


LP, Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jure95
Neznanec
Neznanec



Pridružen-a: Sre 02 Dec 2015 19:15
Prispevkov: 7
Aktiv.: 0.07
Kraj: Koper

PrispevekObjavljeno: Pet Dec 04, 2015 12:18 pm    Naslov sporočila:   Odgovori s citatom

Jaka, vem, da za delovanje akvarija ni potrebno delovanje ledic "u nulo". Ta akvarij je testen, ker sem hotel najprej vse skupaj stestirat, če dela, kako dela, če pod ledicami rastejo rastline,...
Imaš idejo, kako bi lahko ugotovil (izračunal), kakšen RC člen potrebujem, da nebo takih preskokov v teh 5sekundah?
Glede LCD-ja, morem malo premislit kako to naredit, ker namreč moje znanje glede programiranja je bolj na osnovnem nivoju, zato gre pri meni vse bolj počasi, tako, da tukaj bo še kar nekaj igranja...


LP, Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 74 dni


Powered by phpBB © 2001, 2005 phpBB Group