logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Detektor zera + MOC3020 + BT136 = Fazowa regulacja napiecia

mgiro 27 Lis 2009 15:50 29425 73
REKLAMA
  • #1 7315409
    mgiro
    Poziom 22  
    Witam,

    Chcę zrobić fazową regulacje napięcia, aby sterować żarówką.

    Schemat:
    Detektor zera + MOC3020 + BT136 = Fazowa regulacja napiecia

    Kod:

    
    #include <avr/io.h>
    #include <avr/interrupt.h>
    
    
    volatile uint8_t g_licznik = 0;
    volatile uint8_t wart = 100; //190 krokow
    
    
    SIGNAL(TIMER1_COMPA_vect)
    {
    	if(!(PIND & 0x80))  //sprawdzenie, czy tranzystor jest zatkany => napiecie sieci przechodzi przez zero
    	{
    		g_licznik = 0;
    		PORTA = 0x00;
    
    	}	
    	else
    	{
    		if(g_licznik++>wart)  //opoznienie dla zalaczenie triaka
    		{
    			PORTA = 0x01;
    		}
    		else
    		{
    			PORTA = 0x00;
    		}
    	}
    }
    
    int main(void)
    {
    	DDRA = 0xff; //wyjscia
            DDRD = 0x00;
    //	PORTD = 0xff;
    	TCCR1B |= (1 << WGM12); // Ustawia timer w tryb CTC
           OCR1A = 100; // Ustawia wartość pożądaną na 20kHz(50us) dla preskalera 8
    	TCCR1B |= (1 << CS11); // Ustawia timer z preskalerem Fcpu/8
    	TIMSK |= (1 << OCIE1A); // Zezwolenie na przerwania dla CTC
    	sei();
    	
    	while(1)
    	{
    	
    	}
    
    }
    
    


    Regulacja jasności odbywa sie z rozdzielczością 190 kroków.
    Przerwanie na TIMER1 jest co 50us

    Na poczatek, jako obciązenie podłaczylem zwykle diody(dwie) czerwone przez rezystor 1k, jako zasilanie diod napiecie za transformatora TS2/14(ok 10VAC).

    Diody nie swieca sie w ogole. Moim zdaniem podowdem tego jest to, ze transystor ciagle jest zatkany => g_licznik = 0;
    PORTA = 0x00;

    Wiec optotriak nie jest w ogole właczany.

    Jak poprawic ta detekcje zera?
  • REKLAMA
  • #2 7316303
    ZbeeGin
    Poziom 39  
    Kolego, jak już to detektor zera podłącz pod przerwanie np. INT0, INT1 reagujące na Rising Edge, a nie pod normalny port. Układ nie pominie żadnego impulsu jak dobrze rozwiążesz priorytety przerwań.

    Ponadto zauważ, że transformator - jako iż jest indukcyjnością - może wprowadzić Ci niepożądane przesunięcie fazowe.
  • REKLAMA
  • #3 7316414
    mgiro
    Poziom 22  
    Widzialem uklad do regulacji fazowej napiecia w elektronice dla wszystkich. I wlasnie detekcja zera i opoznienie wlaczenia triaka byla zrobiona w jednym przerwaniu(co okolo 54us). Ja wlasnie chcialem zrobic podobnie.
  • #4 7381823
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #5 7381832
    LiutenetMaria
    Poziom 28  
    Ja do portu przetwornika AC wpinałem się poprzez wzmacniacz w konfiguracji wzmacniacza odwracającego o duże imp. wejściowej. Praktycznie bez przesunięć itd. Jak masz sygnał próbkowany to już sprawa prosta wykrycie zera, zaimplementowanie filtru czy cokolwiek innego...
  • #6 7382313
    Konto nie istnieje
    Konto nie istnieje  
  • #7 7421436
    Samuraj
    Poziom 35  
    Chyba prościej było by tak:
    Detektor zera + MOC3020 + BT136 = Fazowa regulacja napiecia
    Odpada mostek i transformator który jak napisali poprzednicy wprowadzi nie potrzebne błędy w pomiarze detekcji 0.
  • #8 7422759
    klops_mops
    Poziom 17  
    Ja też proponuje Ci podłączyć detekcję zera sieci do INTx, sam tak zrobiłem i jestem bardzo zadowolony z urządzenia.
  • #9 7439017
    bolek
    Poziom 35  
    Wykrywam zero praktycznie tak samo gmiro, nie ma najmniejszego problemuz takim układem, tak że przesuniecia z trafa nie nalezy się bać. Ewentualnie, żeby było cycuś glancuś można go sobie uwzględnić.
  • #10 7516020
    acid12
    Poziom 21  
    witam, zbudowałem układ detekcji zera, taki sam jak 3 posty wyżej na schemacie, na układzie LTV814.

    problem mam taki, że ja zamiast ~230V mam ~12V, dałem wiec rezystory 47k zamiast 100k jak na schemacie, jednak nie wykrywam zera.

    nie wiem co może być przyczyną, jaką wartość powinny mieć te rezystory dla 12V wejścia ??

    program testowy ma w przerwaniu zapalić diodę i nic więcej, i gdy ręcznie zewrę pin do GND, dioda się zapala, wiec program działa, gdyby na wyjściu układu pojawiło się GND, to by działało, tylko że sie nie pojawia ...

    byłby ktoś chętny podzielić się sugestiami ??
    (nie mam dostępu do oscyloskopa niestety)
  • #11 7516070
    bolek
    Poziom 35  
    masz 20x mniejsze napięcie... daj 20x mniejszy opornik...
  • #12 7516316
    Konto nie istnieje
    Poziom 1  
  • #13 7516435
    bolek
    Poziom 35  
    A jakie jest w ogóle zadanie 330R
  • #14 7516506
    Konto nie istnieje
    Poziom 1  
  • #15 7528828
    Konto nie istnieje
    Konto nie istnieje  
  • #16 7529344
    mgiro
    Poziom 22  
    to triak podlączony wg tego schematu nie będzie działać??
  • #17 7529402
    Konto nie istnieje
    Poziom 1  
  • #18 7533526
    acid12
    Poziom 21  
    bolek napisał:
    masz 20x mniejsze napięcie... daj 20x mniejszy opornik...


    mam 12V podlaczyłem oporniki 4.7KΩ (20 razy mniej niz 100kΩ na schemacie wyżej)

    problem dalej istnieje, dokopałem sie do oscyloskopa, zrobiłem fotke, jakość nie jest najlepsza ale widac co sie dzieje

    1) niebieskie - wyjście z transformatora 230 / 12, nie wiem czemu ta 'sinusoida' jest aż tak zniekształcona, ale to jest sygnał który dostaje ... nic na to nie poradze

    2) zółte, sygnał na wyjściu z LTV814 (idzie do INT0, oraz podciągnięty do 5V przez 1kΩ)

    Detektor zera + MOC3020 + BT136 = Fazowa regulacja napiecia

    GND jest dla obu sygnałów pośrodku 'sinusoidy', tam gdzie żółty prostokącik po lewej.

    i tutaj moje pytanie, bo wyjscie z LTV814, Vmax = 5.12V, ale Vmin = 2.38V
    (zmierzone na oscyloskopie, akurat nie zrobiłem zdjecia pomiaru, ale widać że żółty sygnał nie dochodzi do GND tylko gdzieś do połowy)

    czy powinienem zmniejszyć jeszcze rezystory na wejściu ??, w tej chwili prad jest 12V/4.7KΩ = (+/-) 2.55mA, z noty wyczytałem, że przy 1mA działa, ale maximum było 20mA.



    chciałem sie jeszcze upewnić, do uC podłączam do INT0 na rising edge, tak ma być ?
  • REKLAMA
  • #19 7533712
    Konto nie istnieje
    Poziom 1  
  • #20 7533880
    acid12
    Poziom 21  
    atom1477 napisał:
    Sinusoida faktycznie masakryczna.
    Rozumiem obcięcie wierzchołów, ale skąd niesymetria względem osi X?
    No i co to za chwila zawahania w okolicach zera (wygląda to tak jak by w tym momencie był włączany triak)?

    Skoro napięcie nie spada do zadowalająco niskiego poziomu to nadal masz za dużą wartość rezystora.


    tak jak mówiłem, też bylem zaskoczony tym co dostaje z transformatora, takiego dostałem od uczelni, kupiony w TME, normalny toroidalny, wyglada jak wiele innych ;) .

    co do tego zawachania, sam nie wiem skad sie bierze, podczas pomiarów, triak zalaczający zarowke byl caly czas aktywny, zarowka sie paliła caly czas (narazie moge nia sterować ON/OFF bo wlasnie detekcja zera leży).

    bede wtakim razie zmniejszał rezystory, dzięki za odpowiedź
  • #22 7766026
    michalko12
    Specjalista - Mikrokontrolery
    acid12 napisał:

    czy powinienem zmniejszyć jeszcze rezystory na wejściu ??, w tej chwili prad jest 12V/4.7KΩ = (+/-) 2.55mA, z noty wyczytałem, że przy 1mA działa, ale maximum było 20mA.?


    To masz 1 czy 2 rezystory 4k7?
    Jak 2 to masz 9,4k do tego spadek napięcia na diodzie. Przy 9,4k masz prąd ok 1mA. Biorąc pod uwagę CTR transoptora to tranzystor transoptora może przepuścić nawet tylko do 200uA, co dla rezystora podciągającego o wartości 4k7 daje tylko około 1V spadku napięcia, a to jest za mało. Optymalny prąd IF wynosi 5mA a to przy 12V daje około 2,2k sumarycznej rezystancji. Czyli jeden rezystor 2k2 lub dwa 1k1.
  • #23 7791138
    mgiro
    Poziom 22  
    atom1477 ale ja używam układu MOC3020(nie ma detekcji zera). To jak wg tego schematu podłączyć zasilanie 230V i obciążenie??

    Detektor zera + MOC3020 + BT136 = Fazowa regulacja napiecia

    bo ten schemat nie jest jednoznaczny
  • #24 7791361
    acid12
    Poziom 21  
    jak dla mnie schemat jest jednoznaczny, pisze gdzie podlaczyc faze (HOT), kabel neutralny (NEUTRAL) oraz obciazenie (LOAD)
  • #25 7791473
    mgiro
    Poziom 22  
    a jak zamienię HOT z NEUTRAL to triak nie będzie działał??
  • #26 7799658
    Mar-el
    Poziom 11  
    atom1477 napisał:
    mgiro: odwrotnie podłączyłeś triaka. Zamień miejscami anody A1 i A2. I jeszcze dołóż rezystor od G do A1 o wartości 330R.
    O tak:
    Detektor zera + MOC3020 + BT136 = Fazowa regulacja napiecia


    Bzdura. To tak, jakby podłączyć odwrotnie wyłącznik jednobiegunowy.Kolejność
    anod nie ma żadnego znaczenia.
  • #27 7800273
    Konto nie istnieje
    Poziom 1  
  • #28 7964694
    mgiro
    Poziom 22  
    A jaki jest najefektywniejszy sposób tłumienia zakłóceń??

    Wiem, że jednym z nich jest filtr:
    Detektor zera + MOC3020 + BT136 = Fazowa regulacja napiecia

    Tylko brak indukcyjności cewki(dławika).

    Słyszałem również, że należy stosować układ "gasikowy" z elementów RC(rezystor z kondensatorem połączone szeregowa) połaczonych równolegle z triakiem. Bo chyba te wartości 39 omów i kondensator o wartosci 0,01 nie sa najlepsze??
  • #29 7964831
    LiutenetMaria
    Poziom 28  
    mgiro napisał:
    Bo chyba te wartości 39 omów i kondensator o wartości 0,01 nie są najlepsze??


    Jeszce raz roszę o wytłumaczenie o co w tym daniu chodzi...

    A najlepszy sposób na zakłócenia to sterowanie grupowe a nie fazowe, jeżeli takie da się zastosować...
  • #30 7965161
    mgiro
    Poziom 22  
    Detektor zera + MOC3020 + BT136 = Fazowa regulacja napiecia

    Rezystor 39 omow i kondensator 0,01 to uklad zapobiegajacy wzbudzaniu sie triaka??
REKLAMA