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 

PWM Bascom ali ARDU-IDE

 
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
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.77
Kraj: Mengeš

PrispevekObjavljeno: Sre Dec 02, 2015 8:31 pm    Naslov sporočila:  PWM Bascom ali ARDU-IDE Odgovori s citatom

Lahko poskusiš s softverskim pwmjem - uporabi timer. Tako lahko korak nastaviš višje od 255 . Mislim da na netu najdeš kak primer za take sorte pwm.







offtopic

Prenešena razprava iz te teme.

Branez
(hud ko kača. Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jakey
Član
Član



Pridružen-a: Sre 11 Jul 2012 0:38
Prispevkov: 651
Aktiv.: 4.13
Kraj: Ravne/LJ/Kobarid

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

protoncek je napisal/a:
Lahko poskusiš s softverskim pwmjem - uporabi timer. Tako lahko korak nastaviš višje od 255 . Mislim da na netu najdeš kak primer za take sorte pwm.

Nekaj takega, ma mislim da ima arduino že med exampli en lep primer in sicer "fade". Poskusi sčarat kaj z njim, je namenjen ravno temu.

_________________
Predlagam, da kar napišem, si čimprej skopirat, saj bodo šerifi tega foruma verjetno pobrisali s predpostavko, da ne prispeva (dosti) k vrednosti foruma.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.77
Kraj: Mengeš

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

Pri softvrskem pwmju se to ponavadi dogaja če interrupt ne sledi ritmu, oz. Če je nastavljen na prekratek interval ali pa če je v njegovi rutini preveč kode in se dolgo zadržuje tam. Tako se zgodi, da se med izvajanjem interrupta že zgodi naslednji interrupt, kar povzroči zmedo. Poskusi zmanjšati interval timerja za interrupt rutino. Tako za primer: jaz sem pri 16 kanalih in 16 MHz uri prišel največ do dobrih 60Hz(frekvence pulza), ko sem delal prižiganje za stopnice.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.77
Kraj: Mengeš

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

Jaka57 je napisal/a:
Protoncek ali si pogledal pripeti program? .

(jaka, zdaj bi pa že skoraj moral vedeti, da "sovražim" C Very Happy )
Ne, in ga tudi ne nameravam, iz navedenega razloga. Zato ne dajem specifičnih nasvetov, ampak splošne, ker sem imel sam natanko enak problem: trokiranje je posledica nepravilno narejenega softverskega PWM-ja. Tip prevajalnika tu nima veze...narobe je narobe v bascomu ali v C-ju. Nekako pa ne vidim, kako bi lahko kvalitetno naredil softverski PWM brez prekinitve... Think
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jaka57
Moderator
Moderator



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

PrispevekObjavljeno: Pet Dec 04, 2015 1:48 am    Naslov sporočila:   Odgovori s citatom

Eh, protonček tvoji nasveti so velikokrat dejansko preveč splošni, v stilu, bela barva ne more biti istočasno črna.
Torej, enostavno ne znese tvoje modrovanje o interuptih, ki dejansko v sketchupu niso potrebni in se jih, vsaj jaz, izogibamo, če je le to mogoče.
Prav tako ne znese modrovanje o softwerskem PWMju, kajti ta je v tem primeru zelo enostaven s funkcijo AnalogWrite(analog pin, vrednost pwm) in ta funkcija PWM dela že dolgo časa brez vsakih problemov.
Kako je to v Bascomu pa ne bi vedel, ker ga ne uporabljam, niti se ne ukvarjam z njim.
Obstaja pa rešitev, pokaži, kako bi ti to naredil v Bascomu, ampak v tem primeru ne gre samo za prižiganje lučk.

jure95 je napisal/a:
-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
Jure, mislim, da je za zanesljivo delovanje akvarija, delovanje PWM ledic še najmanj pomembno. S tem se lahko ukvarjaš pozneje in brez uporabe millis() za PWM, saj ni potrebe,
enostavno povečuješ (zmanjšuješ) izhod z AnalogWrite(), ki krmili LED za eno (od 255) ob vsakem obratu v void loop(), da pa ne utripa ob preskokih za 1 , pa dejansko lahko uporabiš nek RC člen, ki ga določiš z malo preizkušanja.
Da se spremeni stanje od 0 do 255 v 20 minutah, potrebuješ spremembo PWMja na nekaj manj kot 5 sekund in v teh petih sekundah lahko Arduino dela vse ostalo v zanki void loop(), funkcijo millis() pa uporabiš, da prešteješ kdaj je minilo teh pet sekund.
Na LCDju lahko izpisuješ nekaj v točno določeni vrstici in točno določeni koloni, torej zakaj izpisovati cel LCD? Izpisuješ samo tisto, kar se spremeni.

In če boš še dodajal stvari, ki jih mora Arduino narediti, potem moraš obvezno vse funkcije in procedure definirat zunaj void loop() zanke ali celo zunaj glavnega sketcha, kajti veliko enostavneje je popravljat neko funkcijo ali proceduro, kot pa sketch v katerem je vse skupaj nametano.

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.77
Kraj: Mengeš

PrispevekObjavljeno: Pet Dec 04, 2015 8:29 am    Naslov sporočila:   Odgovori s citatom

Jaka, AnalogWrite seveda dela, ampak rečeno je bilo, da je 255 nivojev premalo, kajne? Zato pa sem predlagal softverski PWM, kjer število nivojev določiš sam.
Včasih preslabo prebereš zahteve...

Ne rečem, da brez interuptov ne dela, ampak kako, je pa drugo vprašanje.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jaka57
Moderator
Moderator



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

PrispevekObjavljeno: Pet Dec 04, 2015 11:42 am    Naslov sporočila:   Odgovori s citatom

protoncek je napisal/a:
Jaka, AnalogWrite seveda dela, ampak rečeno je bilo, da je 255 nivojev premalo, kajne? Zato pa sem predlagal softverski PWM, kjer število nivojev določiš sam.
Včasih preslabo prebereš zahteve....
Kje si prebral to zahtevo?
_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.77
Kraj: Mengeš

PrispevekObjavljeno: Pet Dec 04, 2015 2:11 pm    Naslov sporočila:   Odgovori s citatom

Jaka57--> tukaj:
Citiram:
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"

Jasno je bilo napisano, da ko po treh sekundah zviša PWM za eno, se svetlost ledic poveča momentalno, kar pa noče. Zato je tudi omenil uporabo elektrolita. Jaz sem kot alternativo predlagal softverski PWM, kjer lahko število nivojev povečaš recimo na več korakov, pa potem lahko jakost ledice višaš pogosteje in z manjšo spremembo svetlosti, ki ne bo več vidna.

Celotna zadeva je itak izgubila smisel zaradi (povsem nepotrebne) prestavitve v noto temo, zato se umikam iz debate in se zaradi mene lahko tudi briše.

Branez --> kje hudiča si pa ti videl, da je prvi post v tejle temi OT? če sem samo predlagal uporabo alternative z več nivoji? Saj ni problema, če ni več želje po tem, da se nekomu svetuje, potem sploh ni težav. Bom od sedaj naprej samo bralec, pa bo, ali pa še to ne.
In, ni potrebe po "bananju", če imaš to željo. Se bom sam odstranil, ne bo noben jokal za menoj. Ampak imej jajca in to povej direktno!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Branez
Moderator
Moderator



Pridružen-a: Pon 14 Apr 2003 7:21
Prispevkov: 7831
Aktiv.: 33.04
Kraj: Koprivnica HR

PrispevekObjavljeno: Pet Dec 04, 2015 2:19 pm    Naslov sporočila:   Odgovori s citatom

Samo sem odrezal od trenutka, ko je začelo iti s poti. Izgleda, da sem se zmotil v "nadstropju", a vrniti se ne da. Očitno nisem vsega dobro prečital.
Sem kdajkoli omenjal to?:
protoncek je napisal/a:
...In, ni potrebe po "bananju", če imaš to željo. Se bom sam odstranil, ne bo noben jokal za menoj. Ampak imej jajca in to povej direktno!
Niti nimam te moči in je tudi ne želim. Samo trudim se, da bi bilo vse pisanje-čitanje vsaj malo v normalnih tokovih in razumljivo. Whistle
_________________
The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!

Albert Einstein


Nazadnje urejal/a Branez Pet Dec 04, 2015 2:31 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.77
Kraj: Mengeš

PrispevekObjavljeno: Pet Dec 04, 2015 2:30 pm    Naslov sporočila:   Odgovori s citatom

S poti je zašlo pri mojem tretjem postu, ko sem odgovoril @Jaka57, nič prej.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Branez
Moderator
Moderator



Pridružen-a: Pon 14 Apr 2003 7:21
Prispevkov: 7831
Aktiv.: 33.04
Kraj: Koprivnica HR

PrispevekObjavljeno: Pet Dec 04, 2015 2:32 pm    Naslov sporočila:   Odgovori s citatom

OK, se oproščam!
_________________
The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!

Albert Einstein
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.77
Kraj: Mengeš

PrispevekObjavljeno: Pet Dec 04, 2015 2:52 pm    Naslov sporočila:   Odgovori s citatom

Hvala, vzeto na znanje. Se oproščam tudi jaz za "izpad".
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
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: 495 dni


Powered by phpBB © 2001, 2005 phpBB Group