RTV forum PL | NewsGroups PL

Problemy z działaniem PWM na ATTINY2313 przy użyciu kodu BASCOM dlaczego dioda gaśnie?

PWM na ATTINY2313

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Problemy z działaniem PWM na ATTINY2313 przy użyciu kodu BASCOM dlaczego dioda gaśnie?

Goto page 1, 2  Next

Melwin
Guest

Fri Dec 12, 2008 9:27 pm   



Znowu problem.
Kod (BASCOM):
$regfile = "attiny2313.dat"
$crystal = 8000000

Config Portb = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm
= Clear Down , Prescale = 1
dim X As Integer

Do
For X = 1 To 100 Step 2
Pwm1a = X
Waitms 100
Next

For X = 100 To 1 Step -2
Pwm1a = X
Waitms 100
Next
Loop
End


Na ATMedze8 było wszystko ok, natomiast na ATTiny2313, dioda świeci
coraz jaśniej, a później natychmiast gaśnie i znowu coraz jaśniej, tak
jakby druga pętla nie działała.

Co robię nie tak ?
Oscylator zewnętrzny 8MHz

--
Melwin

Adam Wysocki
Guest

Sat Dec 13, 2008 2:44 am   



Melwin <cemrzlfynj.ovreang-jljny-gb-@tznvy-jljny-gb-.pbz> wrote:

Quote:
For X = 100 To 1 Step -2
Pwm1a = X

Spróbuj zamiast tego:

For X = 1 To 100 Step 2
Pwm1a = 100 - X

--
http://www.extreme-photo.pl/

Melwin
Guest

Sat Dec 13, 2008 10:25 am   



Adam Wysocki pisze:
Quote:
Spróbuj zamiast tego:

For X = 1 To 100 Step 2
Pwm1a = 100 - X

Nic nie pomogło

Zrobilem taki test:
Pwm1a = 10
Waitms 500
Pwm1a = 20
Waitms 500
Pwm1a = 30
Waitms 500
Pwm1a = 40
Waitms 500
Pwm1a = 50
Waitms 500
Pwm1a = 60
Waitms 500
Pwm1a = 70
Waitms 500
Pwm1a = 80
Waitms 500
Pwm1a = 90
Waitms 500
Pwm1a = 100
Waitms 500
Pwm1a = 90
itd

To według obserwacji diody wygląda to tak 10,20,30,40,50,10,20,30,40,50.
Dlaczego nie idzie dalej ?

Jak zmienie program na taki:
Do
Pwm1a = 10
Waitms 500
Pwm1a = 20
Waitms 500
Pwm1a = 30
Waitms 500
Pwm1a = 40
Waitms 500
Pwm1a = 30
Waitms 500
Pwm1a = 20
Waitms 500
Loop

to od 10 do 40 idzie dobrze a potem od 40 do 10 z 5 razy szybciej.

BartekK
Guest

Sat Dec 13, 2008 11:38 am   



Melwin pisze:
Quote:
$regfile = "attiny2313.dat"
$crystal = 8000000
Na ATMedze8 było wszystko ok, natomiast na ATTiny2313, dioda świeci
coraz jaśniej, a później natychmiast gaśnie i znowu coraz jaśniej, tak
jakby druga pętla nie działała.
Co robię nie tak ?
Oscylator zewnętrzny 8MHz
A wiesz że attiny2313 ma domyślnie w fusebitach włączony podział zegara

/8 ? czyli realnie jakbyś miał 1MHz
A wiesz że ma on watchdoga, który chyba na 2s jest nastawiony? Może pora
robić "pełny konfig procesora" na początku programu, zamiast liczyć na
takie same wartości domyślne we wszystkich procesorkach.

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Melwin
Guest

Sat Dec 13, 2008 12:11 pm   



BartekK pisze:
Quote:
A wiesz że attiny2313 ma domyślnie w fusebitach włączony podział zegara
/8 ? czyli realnie jakbyś miał 1MHz
A wiesz że ma on watchdoga, który chyba na 2s jest nastawiony? Może pora
robić "pełny konfig procesora" na początku programu, zamiast liczyć na
takie same wartości domyślne we wszystkich procesorkach.

Dzieki wielkie, Podział miałem wyłaczony, ale nie pomyślałem o tym

watchdogu.

m.
Guest

Sat Dec 13, 2008 7:26 pm   



nie wiem co robisz nie tak, bo sztuczki bascoma sa mi obce,

Quote:
A wiesz że attiny2313 ma domyślnie w fusebitach włączony podział zegara /8
? czyli realnie jakbyś miał 1MHz
A wiesz że ma on watchdoga, który chyba na 2s jest nastawiony? Może pora
robić "pełny konfig procesora" na początku programu, zamiast liczyć na
takie same wartości domyślne we wszystkich procesorkach.

po resecie jeżeli nie programowaleś fuse WDTON Watchdog Timer always on
to watchdog jest _wylaczony_ i chyba ze twoja aplikacja podczas fazy brown
out
(niestabilne zasialnie) lub póżniej blednie go właczy. Nie wykluczam
problemow z
watchdog'iem ale domyślnie jest on wylaczony.

michal m.

Quote:

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173


Melwin
Guest

Sun Dec 14, 2008 2:40 am   



m. pisze:
Quote:
po resecie jeżeli nie programowaleś fuse WDTON Watchdog Timer always on
to watchdog jest _wylaczony_ i chyba ze twoja aplikacja podczas fazy brown
out
(niestabilne zasialnie) lub póżniej blednie go właczy. Nie wykluczam
problemow z
watchdog'iem ale domyślnie jest on wylaczony.

W moim był włączony i do tego ustawiony kwarc 8MHz zewnetrzny (a ja nie
widzialem czemu nie chce sie programowac Smile )


Ale teraz mam inny problem, podłaczona dioda LED ładnie się ściemnia i
rozjaśnia. Podłaczyłem Triaka przez Optotriaka MOC3021 i do tego żarówkę
halogenową 20W. No i niestety żarówka tylko się zapala i gasnie, mimo,
że w tym samym czasie podłaczona pod ten sam port dioda LED się ściemnia
i rozjaśnia.

Czy muszę wykrywac zero ? Czy niewykrywanie zera powoduje tylko
zakłócenia, czy jest wymagane do działania układu ?

Mario
Guest

Sun Dec 14, 2008 12:06 pm   



Melwin pisze:
Quote:
m. pisze:
po resecie jeżeli nie programowaleś fuse WDTON Watchdog Timer
always on
to watchdog jest _wylaczony_ i chyba ze twoja aplikacja podczas fazy
brown out
(niestabilne zasialnie) lub póżniej blednie go właczy. Nie wykluczam
problemow z
watchdog'iem ale domyślnie jest on wylaczony.

W moim był włączony i do tego ustawiony kwarc 8MHz zewnetrzny (a ja nie
widzialem czemu nie chce sie programowac Smile )


Ale teraz mam inny problem, podłaczona dioda LED ładnie się ściemnia i
rozjaśnia. Podłaczyłem Triaka przez Optotriaka MOC3021 i do tego żarówkę
halogenową 20W. No i niestety żarówka tylko się zapala i gasnie, mimo,
że w tym samym czasie podłaczona pod ten sam port dioda LED się ściemnia
i rozjaśnia.

Czy muszę wykrywac zero ? Czy niewykrywanie zera powoduje tylko
zakłócenia, czy jest wymagane do działania układu ?

Widać nie przemyślałeś odpowiedzi w swoim wątku o MOC3041. Nie może być
włączany w zerze bo nie da się posteropwać fazowo. Jeśli chcesz sterować
fazowo to sygnał z PWM musisz zamienić z ciągu impulsów o zadanym
wypełnieniu na napięcie stałe czyli przepuścić przez filtr
dolnoprzepustowy np zwykły RC. W przeciwnym wypadku pierwszy nadchodzący
impuls zapali triaka i już przez resztę półokresu on nie zgaśnie.

--
Pozdrawiam
MD

Melwin
Guest

Sun Dec 14, 2008 12:43 pm   



Mario pisze:

Quote:
Widać nie przemyślałeś odpowiedzi w swoim wątku o MOC3041. Nie może być
włączany w zerze bo nie da się posteropwać fazowo. Jeśli chcesz sterować
fazowo to sygnał z PWM musisz zamienić z ciągu impulsów o zadanym
wypełnieniu na napięcie stałe czyli przepuścić przez filtr
dolnoprzepustowy np zwykły RC. W przeciwnym wypadku pierwszy nadchodzący
impuls zapali triaka i już przez resztę półokresu on nie zgaśnie.

RC pomiędzy A1 i A2 triaka ?


T.M.F.
Guest

Sun Dec 14, 2008 4:22 pm   



Melwin wrote:
Quote:
Mario pisze:

Widać nie przemyślałeś odpowiedzi w swoim wątku o MOC3041. Nie może
być włączany w zerze bo nie da się posteropwać fazowo. Jeśli chcesz
sterować fazowo to sygnał z PWM musisz zamienić z ciągu impulsów o
zadanym wypełnieniu na napięcie stałe czyli przepuścić przez filtr
dolnoprzepustowy np zwykły RC. W przeciwnym wypadku pierwszy
nadchodzący impuls zapali triaka i już przez resztę półokresu on nie
zgaśnie.

RC pomiędzy A1 i A2 triaka ?

Nie, musisz wykrywac zero i regulowac jasnosc poprzez czas pomiedzy
wykryciem zera a odpaleniem triaka. Czas przy 50Hz 0-10ms.

--
Inteligentny dom - http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.

Melwin
Guest

Sun Dec 14, 2008 9:07 pm   



T.M.F. pisze:
Quote:
Melwin wrote:
Mario pisze:

Widać nie przemyślałeś odpowiedzi w swoim wątku o MOC3041. Nie może
być włączany w zerze bo nie da się posteropwać fazowo. Jeśli chcesz
sterować fazowo to sygnał z PWM musisz zamienić z ciągu impulsów o
zadanym wypełnieniu na napięcie stałe czyli przepuścić przez filtr
dolnoprzepustowy np zwykły RC. W przeciwnym wypadku pierwszy
nadchodzący impuls zapali triaka i już przez resztę półokresu on nie
zgaśnie.

RC pomiędzy A1 i A2 triaka ?

Nie, musisz wykrywac zero i regulowac jasnosc poprzez czas pomiedzy
wykryciem zera a odpaleniem triaka. Czas przy 50Hz 0-10ms.

Dolutowałem wykrywanie zera, no i kolejny problem.

W tej chwili mam takie coś:

$regfile = "attiny2313.dat"
$crystal = 16000000

Config Pind.4 = Output
Bramka Alias Portd.4

Config Int1 = Rising

On Int1 Zero
Enable Int1
Enable Interrupts

Do
Loop

Zero:
Bramka = 1
Waitms 10
Bramka = 0
Return


I żarówka się sie ściemnia, dlaczego ?
Przecież powinna świecić jednakowo

T.M.F.
Guest

Sun Dec 14, 2008 10:31 pm   



Melwin wrote:
Quote:
T.M.F. pisze:
Melwin wrote:
Mario pisze:

Widać nie przemyślałeś odpowiedzi w swoim wątku o MOC3041. Nie może
być włączany w zerze bo nie da się posteropwać fazowo. Jeśli chcesz
sterować fazowo to sygnał z PWM musisz zamienić z ciągu impulsów o
zadanym wypełnieniu na napięcie stałe czyli przepuścić przez filtr
dolnoprzepustowy np zwykły RC. W przeciwnym wypadku pierwszy
nadchodzący impuls zapali triaka i już przez resztę półokresu on nie
zgaśnie.

RC pomiędzy A1 i A2 triaka ?

Nie, musisz wykrywac zero i regulowac jasnosc poprzez czas pomiedzy
wykryciem zera a odpaleniem triaka. Czas przy 50Hz 0-10ms.

Dolutowałem wykrywanie zera, no i kolejny problem.
W tej chwili mam takie coś:

$regfile = "attiny2313.dat"
$crystal = 16000000

Config Pind.4 = Output
Bramka Alias Portd.4

Config Int1 = Rising

On Int1 Zero
Enable Int1
Enable Interrupts

Do
Loop

Zero:
Bramka = 1
Waitms 10
Bramka = 0
Return


I żarówka się sie ściemnia, dlaczego ?
Przecież powinna świecić jednakowo

Po pierwsze zapodaj schemat. Po drugie, jak zrobiles wykrywanie zera?
Jesli podlaczyles po prostu faze przez opornik do pinu int to moment
detekcji zera mocno plywa, w efekcie zarowka bedzie pulsowac.
Inna sprawa to, ze 10ms to czas pomiedzy kolejnymi przejsciami przez
"0", czyli pierwsze wyzwala przerwanie, ktore trwa troche dluzej niz
10ms, kolejne nastepuje z pewnym przesunieciem, kolejne z jeszcze
wiekszym itd. az kolejne wypadnie i zabawa zaczyna sie od nowa.
A BTW, to cos w czym programujesz to chyba Bascom? Zainteresuj sie
AVR-gcc, na przyszlosc ci sie przyda.



--
Inteligentny dom - http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.

Melwin
Guest

Mon Dec 15, 2008 7:39 am   



T.M.F. pisze:
Quote:
Po pierwsze zapodaj schemat. Po drugie, jak zrobiles wykrywanie zera?
Jesli podlaczyles po prostu faze przez opornik do pinu int to moment
detekcji zera mocno plywa, w efekcie zarowka bedzie pulsowac.
Inna sprawa to, ze 10ms to czas pomiedzy kolejnymi przejsciami przez
"0", czyli pierwsze wyzwala przerwanie, ktore trwa troche dluzej niz
10ms, kolejne nastepuje z pewnym przesunieciem, kolejne z jeszcze
wiekszym itd. az kolejne wypadnie i zabawa zaczyna sie od nowa.
A BTW, to cos w czym programujesz to chyba Bascom? Zainteresuj sie
AVR-gcc, na przyszlosc ci sie przyda.

Schemat według Twojego http://idom.wizzard.one.pl/index.php?co=st_osw

,tylko dołożyłem drugą diodę przeciwnie do tej w transoptorze, bo mam
CNY17 a one są z jedną diodą w środku.

Jeśli chodzi o sterowanie to podobnie jak na
http://obrazki.elektroda.net/20_1187429004.gif ,tylko bez ULN2803
oczywiście.

Jak dam mniej niż 10ms to cholernie mruga.

Tak to jest Bascom, wiem, mam w planach ABR-gcc, ale od czegoś trzeba
zacząć.

--
Melwin

T.M.F.
Guest

Mon Dec 15, 2008 6:23 pm   



Quote:
Schemat według Twojego http://idom.wizzard.one.pl/index.php?co=st_osw
,tylko dołożyłem drugą diodę przeciwnie do tej w transoptorze, bo mam
CNY17 a one są z jedną diodą w środku.

Nie zadziala, gdyz w tym wypadku wykrywasz co drugie przejscie.

--
Inteligentny dom - http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.

T.M.F.
Guest

Mon Dec 15, 2008 9:43 pm   



T.M.F. wrote:
Quote:
Schemat według Twojego http://idom.wizzard.one.pl/index.php?co=st_osw
,tylko dołożyłem drugą diodę przeciwnie do tej w transoptorze, bo mam
CNY17 a one są z jedną diodą w środku.

Nie zadziala, gdyz w tym wypadku wykrywasz co drugie przejscie.

Chyba, ze masz przerwanie wyzwalane z obu zboczy, tylko, ze wtedy raz

masz je tuz przez rzeczywistym zerem sieci, nastepnym razem tuz po.
Przejrzyj noty aplikacyjne Atmela, jest tam przyklad dimmera.

--
Inteligentny dom - http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Problemy z działaniem PWM na ATTINY2313 przy użyciu kodu BASCOM dlaczego dioda gaśnie?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map