Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Ściemniacz oświetlenia 230V

darrrrek 15 Lis 2006 21:36 13016 20
  • #1 15 Lis 2006 21:36
    darrrrek
    Poziom 22  

    Witam !

    Wlasnie kombinuje ze ściemnianiem żarówki na 230V poprzez triak i uC...
    program pisze w Bascomie.

    Code:

    Enable Interrupts
    Enable Int0
    Set Tcon.0
    On Int0 Zero

    Do


    Loop

    Zero:
    P2.1 = 0
    $asm
    MOV R7,#20  ' czekaj 40 us
    Et1:
    DJNZ R7,ET1
    $end Asm
    P2.1 = 1
    Return


    Teoretycznie chyba powinna swiecic pelnym swiatlem a problem w tym ze nie zapala sie wogole...jezeli w petli glownej dam:

    P2.1=0

    TO wtedy sie zapala...Sprawdzilem ile w ciągu sekundy jest podawane na int0 impulsow...dokladnie 50 czyli sie zgadza 50Hz. Na poczatku bawilem sie z zaróweczką 12V na trafie...myslalem ze na sieci 230V bedzie to samo jednak nie chce mi to cos ruszyc...Obliczylem ze triak potrzebuje 40us aby sie wlaczyc. Co robie zle ??? bede wdzieczny za wszelką pomoc !

    Pozdrawiam:)

    Dodano po 1 [minuty]:

    dodam ze przy trafie i 12V dzialalo super

    0 20
  • #2 15 Lis 2006 22:20
    M. S.
    Poziom 34  

    Skoro działał to może teraz w grę wchodzą zakłócenia. Atmele są dość wrażliwe.

    0
  • #3 15 Lis 2006 22:24
    cyberdar
    Poziom 31  

    Witam

    Bez schematu to można tylko zgadywać co wykombinowałeś i dlaczego nie działa.

    --
    pzdrawiam

    0
  • #4 15 Lis 2006 22:37
    miekisz1
    Poziom 11  

    Zgadza się. Potrzebny jest schemat. Możliwe że błędnie działa wykrywanie przejścia fazy przez zero.

    Jaki moc zastosowałeś? Musi być taki bez wykrywania przejścia fazy przez zero

    Najlepiej np MOC 3020

    Właśnie robie taką lampkę ze sterowaniem fazowym. To akurat już mam za sobą. Teraz problem z łączeniem mikrokontrolerkó przez magistralę I2C. :-)

    0
  • #5 16 Lis 2006 08:24
    darrrrek
    Poziom 22  

    Schemat jest taki jak na obrazku:

    Ściemniacz oświetlenia 230V

    Pozdrawiam :)

    0
  • #6 16 Lis 2006 08:57
    Abili
    Poziom 19  

    Witam
    Przedstawiony układ grozi śmiercią lub kalectwem - brak galwanicznej separacji części niskonapięciowej od sieci.
    Zmienić sposób wykrywania przejścia przez zero, zastosować układ z tranzystorem. Weź pod uwagę w programie że z detektora zera otrzymujesz 100 impulsów w ciągu sekundy, 1 impuls co 10ms.

    AB

    0
  • #7 16 Lis 2006 09:24
    Bynio
    Poziom 16  

    Mysle ze kolega jednak zastosowal izolacje od sieci w postaci trafa. Co prawda przy mostku jest napisane 230V, ale takie napiecie przy tym ukladzie zabiloby wszystkie polprzewodniki w mgnieniu oka. Przy nizszym napieciu rzedu 10-20V wydaje sie ze R5 o wartosci 5,1M moze byc poprostu za duzy. Dodatkowo zamiast diody 1N4148 nalezaloby zastosowac diode zenera na 5,1V.

    0
  • #8 16 Lis 2006 09:44
    darrrrek
    Poziom 22  

    Takiej metody wykrywania zera ja nie wymyslilem :) podobno poleca ją sam Atmel, i w wielu projektach ją widzialem, z tego tez powodu zdecydowalem sie jej uzyc.

    W moim projekcie akurat zero łapie przez trafo, rezystor jaki dalem zamiast 5.1M to 10K przy 12V

    0
  • #9 16 Lis 2006 10:03
    marek_Łódź
    Poziom 36  

    Oprócz tego, że schemat narysowany jest dziwacznie, przydałby się jakiś rezystor na sterowaniu optotriaca. Rezystor na wykrywaniu zera przy 12V faktycznie rzędu 10k, natomiast przy 220V - 220k żeby dostać 1 mA na porcie. Jaki masz zegar procesora i skąd Ci wyszło 40us?

    0
  • #10 16 Lis 2006 10:57
    darrrrek
    Poziom 22  

    zegar 12 MHz, a 40us wyszło stąd ze sprawdzalem od jakiej dlugosci impulsu uruchomi sie triak, przy 36 us juz mial problemy, sprawdzalem juz nawet z 100us ale ciagle jest to samo...

    P.S schemat nie jest moj znalazlem go w jednym z postów na tym forum, w moim projekcie zastosowalem rezystor do sterowania optotriaka

    0
  • #11 16 Lis 2006 11:17
    Mirek D
    Poziom 15  

    Na zasilaniu MOC (strona diody) powinien być rezystor 200 omów np. Ale lepiej policzyć dokładnie dla prądu diody w MOC. Pewnie MOC już nie "żyje", zniszczona dioda.

    0
  • #12 16 Lis 2006 11:55
    marek_Łódź
    Poziom 36  

    darrrrek napisał:
    zegar 12 MHz, a 40us wyszło stąd ze sprawdzalem od jakiej dlugosci impulsu uruchomi sie triak, przy 36 us juz mial problemy, sprawdzalem juz nawet z 100us ale ciagle jest to samo...


    Nie mam 100% pewności co do jednoznaczności w BASCOMie, ale zakładając, że $ASM jest jednoznacznym przejściem na asembler, to 20 krotne wykonanie rozkazu djnz przy zegarze 12MHz trwa z pewnością znacznie krócej niż 40us (3.7us?).

    0
  • #13 16 Lis 2006 14:13
    darrrrek
    Poziom 22  

    Mirek D napisał:
    Na zasilaniu MOC (strona diody) powinien być rezystor 200 omów np. Ale lepiej policzyć dokładnie dla prądu diody w MOC. Pewnie MOC już nie "żyje", zniszczona dioda.
    pisalem ze u mnie jest rezystor na sterowaniu MOC:)

    Dodano po 1 [godziny] 7 [minuty]:

    co do asm to czytalem ze DJNZ bierze 2 takty zegara, czyli 1 przejscie petli = 2us ???

    0
  • #14 16 Lis 2006 14:27
    marek_Łódź
    Poziom 36  

    darrrrek napisał:
    co do asm to czytalem ze DJNZ bierze 2 takty zegara, czyli 1 przejscie petli = 2us ???

    Zgadza się (na schemacie "widziałem" AVR)
    Ja przy sterowaniu TRIACA nie ustawiałbym impulsu wyzwalającego tak blisko granicy zadziałania. Jeśli faktycznie wynosi ona 40us, daj chociaż dwukrotny zapas - te 100-200us). Jedyny czynnik ograniczający - moc tracona w bramce nie ma tu specjalnego znaczenia.

    0
  • #15 16 Lis 2006 14:29
    hunterhouse
    Poziom 26  

    hmm a czy procesory '51 niepotrzebują 12 cykli zegarowych na 1 cykla maszynowy ??

    czyli przy Xtal=12Mhz zeczywista czestotiwość programu to 1Mhz ??

    ale to tak tylko mi sie kojarzy bo w 51 nie siedze :P

    0
  • #16 16 Lis 2006 14:33
    marek_Łódź
    Poziom 36  

    hunterhouse napisał:
    hmm a czy procesory '51 niepotrzebują 12 cykli zegarowych na 1 cykla maszynowy ??

    czyli przy Xtal=12Mhz zeczywista czestotiwość programu to 1Mhz ??

    ale to tak tylko mi sie kojarzy bo w 51 nie siedze :P
    Sorry, nie doczytałem na schemacie ("widziałem" AVR). Masz rację.

    Mimo wszystko próbowałbym wydłużyć impuls

    0
  • #17 16 Lis 2006 15:27
    darrrrek
    Poziom 22  

    Przedstawie schemat ktory zrobilem...ten rezystor 220K ktory odzie od sieci moze zostac ??? czy dac tak jak bylo 5.1M ??

    0
  • #18 16 Lis 2006 15:28
    darrrrek
    Poziom 22  

    nie mialem niestety innej zenerki

    0
  • #19 16 Lis 2006 15:35
    marek_Łódź
    Poziom 36  

    220k byś dał, gdyby cały układ sterowania wisiał na sieci. Musiałbyś podciągnąć drugi biegun sieci do masy układu. Zener jest w tym przypadku zbędny, siec podajemy przez 220k prosto na port, program musi obsłużyć oba zbocza.

    Z tego co zrozumiałem żarówka 12V włączona po stronie wtórnej zachowywała się sensownie? Pytanie czy prąd na bramce triaca jest wystarczająco duży do jego wyzwolenia (te dwa rezystory po 3,3k to trochę dużo).

    0
  • #20 16 Lis 2006 21:08
    jony15
    Poziom 23  

    Zmień "on int0 zero" na "on int0 zero nosave" i sprawdź. Bascom bez nosave odkłada w przerwaniu dość dużo rejestrów na stos i to może byc przyczyna. Pozdrawiam

    0
  • #21 17 Lis 2006 06:52
    marek_Łódź
    Poziom 36  

    jony15 napisał:
    Zmień "on int0 zero" na "on int0 zero nosave" i sprawdź. Bascom bez nosave odkłada w przerwaniu dość dużo rejestrów na stos i to może byc przyczyna. Pozdrawiam
    Albo ustaw większy stos w opcjach BASCOMa. Akurat w tym przypadku w obsłudze przerwania użycie stosu jest żadne, więc raczej nie tu jest wilk pogrzebany. Jeśli użyjesz parametru nosave, na wszelki wypadek zeskładuj na początku (PUSH) i odzyskaj na końcu (POP) rejestr R7. Mimo, że pętla główna robi NIC, ten rejestr może być używany (kto wie?). Dla czystości sytuacji operacje na porcie najlepiej też wrzucić do wstawki asemblerowej.

    Ja bym jeszcze pomieszał opornikami w bramce TRIACA i długością impulsu wyzwalającego.

    0
  Szukaj w 5mln produktów