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:
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

)
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

)
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:
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