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

Sterowanie fazowe na triaku

24 Lut 2009 20:26 9590 27
  • Poziom 16  
    Witam,
    Chcę zrealizować sterowanie fazowe silnika indukcyjnego jednofazowego (dmuchawa do pieca węglowego) przy pomocy mikrokontrolera i triaka.
    Problem jest taki, że poniżej zamieszczony układ działa ale tylko w wypadku obciążenia czysto rezystancyjnego np. żarówki. Natomiast gdy podłączę silnik, to stopniowo rozpędza się on przekraczając zadany pułap mocy.
    Wygląda to trochę tak jakby triak non stop przewodził. Czy coś jest nie tak? Może coś z układem gasikowym triaka?

    Proszę o wskazówki

    Sterowanie fazowe na triaku

    Dodano po 9 [minuty]:

    Zauważyłem, że silnik po ustawieniu na moc np. 30% zachowuje się tak jakby powoli się rozpędzał...
  • Poziom 32  
    Tak sie dzieje w takich ukladach z obciazeniami znacznie rozniacymi sie od czysto R.
  • Poziom 16  
    Tyle to sam zauważyłem. Ale brzmiało: jak można takiemu czemuś przeciwdziałać. A można na pewno, ponieważ mam w domu jeden taki układ który steruje w ten sposób tym samym silnikiem. I działa poprawnie. Z tym że chciałem zrobić podobny sterownik od podstaw.
    Czy inne wartości kondensatorów albo rezystancji mogą to zmienić? Zastosowane przeze mnie wartości pochodzą z datasheeta układu moc3021. Proszę o wskazówki które wartości mogą doprowadzić mnie do sukcesu. Będę też wdzięczny za wyjaśnienie dlaczego takie są te wartości a nie inne (nie wiem czy tu chodzi o stałą czasową RC czy o coś innego?)
  • Użytkownik usunął konto  
  • Poziom 16  
    Sterowanie częstotliwościowe nie wchodzi w grę- za duży kaliber na tego rodzaju problem. Z tym dławikiem to ciekawe... Ale chodzi o to żeby zatrzymać silnik całkowicie. A co do regulacji mocy i prędkości obrotowej to nie jest to najistotniejsza kwestia. Najbardziej chodzi mi o utrzymywanie stałej prędkości i sterowanie tą prędkością (zwiększanie lub zmniejszanie).
    No i niestety nie mogę skopiować układu z sterownika w którym on jest zamontowany ponieważ jest jeszcze na nim plomba gwarancyjna ;)

    Przelutowałem układ gasikowy na taki: R=22 i C=100n
    Ale efekt jest identyczny jak w poprzednim...
  • Poziom 33  
    Może wystarczy dołączyć kondensator równolegle do silnika. Odbiornik nabierze charakteru bardziej rezystancyjnego.
  • Poziom 16  
    Kondensator już jest. Dodany fabrycznie przez producenta dmuchawy. Zamieszczam link z tą dmuchawą:

    Link
  • Poziom 33  
    Kondensator fabryczny dotyczy drugiego uzwojenia. Myślałem o dodatkowym między fazą i zerem.
    Chyba mam w pracy podobny sterownik przy centrali wentylacyjnej, zobaczę jutro co w nim siedzi.
  • Użytkownik usunął konto  
  • Poziom 16  
    Będę bardzo wdzięczny czesiu. Bo to jedyny mankament sprzętowy który pozostał mi do rozwiązania. Będę czekał jutro. A ten dodatkowy kondensator to jakiej pojemności? I na jakie napięcie? Bo silnik generuje przepięcia no nie... Czy tak na 400V wystarczy? 600?

    Dodano po 10 [minuty]:

    :arrow:WojcikW
    Napisałem póki co prosty program, który ustawia moc jaka jest dostarczana do silnika. Algorytm wygląda tak:
    1) wykrywam moment przejścia sinusoidy przez 0 i uruchamiam timer, który odmierza mi czas z zakresu 0-10ms
    2) po odliczeniu danego czasu załączam triak i od tego miejsca do ponownego przejścia sin przez 0 triak przewodzi
    3) później cykl się powtarza

    Jak już pisałem przykładowo na sztywno programuje moc na 30%, czyli timer musi odliczyć powiedzmy czas około 7-8ms i dopiero następuje załączenie triaka. Niestety rzeczywistość okazuje się brutalna bo silnik przy takich ustawienia rozpędza się powoli do maxa. No i moim ze zwiększającą się prędkością silnika coraz częściej triak nie zostaje w ogóle wyłączony, aż w końcu mamy sytuację gdy przewodzi non stop pomimo odliczania timera i detekcji 0.
    Dlatego moim zdaniem należy coś poprawić z doborem rezystancji i pojemności. Tylko że kompletnie się na tym nie znam. Co robi taki układ szeregowego RC? No idea...
  • Poziom 33  
    Kondensator to metodą prób i błędów, napięcie min 400V AC.
    Co do układu RC to służy on raczej eliminacji przepięć i nic się nim tu raczej nie zdziała.
    Załączasz triaka po jakimś tam czasie od chwili przejścia sinusoidy napięcia przez 0. Wtedy narasta prąd i gdy napięcie osiąga znowu zero triak przestaje przewodzić - zacznie znowu przy następnym załączeniu - tak pięknie jest tylko w obwodach rezystancyjnych.
    W obwodzie z indukcyjnością triaka otworzysz ale jak napięcie osiągnie 0 to prąd w obwodzie nie będzie =0 tylko bedzie jeszcze płynął jakiś czas i triak się nie zamknie. Prąd osiągnie 0 jakis czas poźniej a w między czasie juz może pójść następny impuls do triaka. I stąd problem, zresztą znany nie od dziś
  • Poziom 16  
    Hmm... No a może sterowanie grupowe? Z tym, że z opinii innych użytkowników forum wynika, że ten rodzaj sterowania powoduje hałas. Jakieś "terkotanie" silnika...
    A pojemności tego dodatkowego kondensatora to jakiego rzędu powinny być? Czy nano, czy mikro?
  • Poziom 27  
    Wlacz rownolegle do silnika zarowke np; 10-40W.Uklad wtedy powinien zaczac pracowac poprawnie.
  • Poziom 16  
    Sprawdzę z tą żarówką, ale suma sumarum i tak nie może tak być. Dodatkowy odbiornik, dodatkowe straty... Nie...
    A może zamiast sterowania triakiem zastosować sterowanie jakimś MOSFETem?? Dla tranzystorów ten problem chyba nie istnieje prawda??
  • Użytkownik usunął konto  
  • Poziom 16  
    Nie za bardzo rozumiem o co chodzi z tymi 13ms... Po wykryciu 0 sinusoidy odliczam 13ms i dopiero załączam triaka? Przecież w tym momencie omijam zupełnie jedną połówkę sinusoidy. Od początku zakładałem, że z każdej połówki sinusoidy będę wycinał fragment. No ale dzięki. Sprawdzę zachowanie silnika po odmierzaniu czasu z zakresu 0-20ms.
    A co do minimalnych obrotów to nie mają one znaczenia w przypadku dmuchawy którą posiadam ponieważ na jej wylocie znajduje się jakaś klapka, która przy małych obrotach blokuje przepływ powietrza. Dlatego obroty minimalne, które zamierzam stosować muszą być na tyle duże, żeby ciśnienie powietrza otwierało tą klapkę.
  • Użytkownik usunął konto  
  • Poziom 16  
    No ale wyeliminowanie połówki napięcia sinusoidy oznacza wyeliminowanie połówki prądu.
    Sterowanie fazowe na triaku
    A co z tym opóźnieniem prądu względem napięcia? Rozumiem to w ten sposób, że np. jeżeli załączę napięcie w szczycie sinusoidy, to prąd pojawi się w uzwojeniu dopiero po tym opóźnieniu i dopóki ten prąd nie zmaleje do 0, to triak jest w stanie przewodzenia. Dopiero kiedy prąd zmaleje do 0 to mogę ponownie wyzwolić triaka. No to przy założeniu, że mam do czynienia z czystą indukcyjnością prąd w obwodzie pojawia się po upływie 5ms od załączenia sin napięcia w szczycie. Oczywiście silnik to również rezystancja więc ten czas będzie krótszy od tych 5ms.
    A czy prąd w obwodzie będzie płynął tyle samo czasu przez ile było załączone napięcie?
    I dlaczego odradziłeś mosfeta? On mógłby załączać napięcie na określony czas i później bez czekania aż prąd zmaleje do 0 można by go było wyłączyć. Co jest błędnego w tym rozumowaniu?

    Dodano po 10 [minuty]:

    I kombinowałem z tymi czasami 7... 13ms.... No zawsze taki sam efekt. Silnik powoli rusza i rozpędza się. Co prawda nie do wartości maksymalnej ale na pewno większej od oczekiwanej. Totalna dolina...
    No i jeszcze mówisz, że w programie może być błąd. No to żarówka też chyba nie powinna działać prawidłowo. Ale działa.
    Code:
    SIGNAL (SIG_INTERRUPT0)
    
    {
           dmuchawa_stop();   
           TCNT2 = 0;
    }

    SIGNAL (SIG_OUTPUT_COMPARE2)
    {
        dmuchawa_start();
    }


    Jest to kod pod AVR-a. Działa to mniej więcej tak: Na przerwaniu zewnętrznym INT0 wykrywam moment przejścia sin przez 0. W tym momencie dmuchawa zostaje zatrzymana. Zeruje zawartość licznika timera. Następnie gdy timer odliczy swoje, to w przerwaniu wynikającym z pozytywnego porównaniu TCNT2 z rejestrem zawierającym wartość do porównania, włączam dmuchawe.
  • Użytkownik usunął konto  
  • Poziom 16  
    Diodę MOC-a załączam (dmuchawa_start()) w przerwaniu od timera i wyłączam dopiero, gdy zostanie wykryte przejście sin napięcia przez 0. Czyli jeżeli odliczam sobie od jednego przejścia sin przez 0 czas np. 7ms, to przez około 3 następne ms dioda sobie świeci. Aż nie zostanie zgaszona w przerwaniu od detekcji 0 (dmuchawa_stop()).
    I podobnie chciałem postąpić z mosfetem. Załączać go w przerwaniu od timera i wyłączać przy wykryciu 0.

    Dodano po 1 [minuty]:

    A to przepięcie spowodowane zerwaniem prądu przez mosfeta rozwaliło by mi silnik tak?
  • Użytkownik usunął konto  
  • Poziom 33  
    Rozebrałem taki regulator "fabryczny". Niczym szczególnym się nie odróżnia. Z triakiem szeregowo jest dławik indukcyjny i do tej gałęzi równolegle gałąź z szeregowymi R 22om i C 22nf. Szczegółowego schematu nie rozrysowałem, bo to trochę żmudne. Sterowanie odbywa się chyba w zawężonym zakresie kątów i to cała filozofia.
  • Poziom 12  
    zastosuj moc3020 ,a po stronie 250v na wyjściach z moc3020 rezystory 220-250OM do bramki triaka i Anody1 - triak na 800V i nie potrzeba żadnych kondensatorów i rezystorów po stronie silnika w celu filtrowania zakłóceń itp. Duży nadmiar triaka zamortyzuje to.

    Czyli ogranicz układ do rezystora prądu diody Moc3020 i dwóch rezystorów 220om + triak i silnik to wszystko. Spróbuj dobrać największy rezystor powodujący pewny start silnika - pewne zapalenie diody. (minimalny prąd zapalenia diody ).

    Jak ten układ zadziała pomyślnie - dodawaj dodatkowe kondensatory i rezystory jeśli uznasz że to potrzebne.
  • Poziom 16  
    :arrow:WojcikW
    Zrobiłem tak jak radziłeś. No i teraz mam problem z interpretacją wyników. Więc impuls wyzwalający trwa 1ms. Później po kolei ustawiałem czas do odliczenia:
    -5ms - silnik stoi. lekko buczy.
    -5,5ms - bardzo powoli się rozpędza do prędkości pozwalającej przetłoczyć trochę powietrza (ciśnienie jest wystarczające żeby otworzyć klapkę)
    -6ms - silnik ruszył. Widać było wyraźnie, że moc jest już ograniczona.
    -6,5ms - tylko i wyłącznie ledwo słyszalne pomruki życia
    -7ms - silnik buczał mocniej niż przy 5ms. Obracał się z baaaaaaardzo małą prędkością.
    -7,5ms - silnik się obraca, ale zbyt słabo aby otworzyć klapkę zaporową.
    -8ms - silnik zachowuje się podobnie jak dla 6ms.
    -9 i 10ms - silnik rozpędzał się do dużych prędkości w krótkim czasie.

    :arrow:czesiu
    Dzięki że pamiętałeś o tym problemie. Pewnie masz rację co do tego sterowania z ograniczonymi kątami. Może powyższe wyniki coś tobie mówią?

    :arrow:skit123 Niestety nie mam na stanie takiego mocnego triaka

    Dodano po 29 [minuty]:

    Zrobiłem też testy dla innych opóźnień. Poniżej 5ms dmuchawa dawała z siebie wszystko. Mniej więcej od okolicy 12ms i dłuższych opóźnień wirnik silnika toczył się praktycznie tak powoli jak kółko od taczki z gnojem.
    Tak na oko to widać, że można regulować wydajność tej dmuchawy ustawiając opóźnienia z zakresu 7,5ms - 11ms. Wtedy można regulować wydajność dmuchawy od praktycznie null do max.
    Proszę mi jeszcze wytłumaczyć dlaczego impuls wyzwalający miał trwać tylko 1ms? Bo domyślam się, że to też przyczyniło się do tak dużego postępu.
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 26  
    Kondensator C2 wprowadza ci przesunięcie fazowe. Wywal go i sprawdź.
  • Poziom 16  
    Dziękuję wszystkim za odpowiedzi. Spróbuje jeszcze wyrzucić ten kondensator C2. Ogólnie rzecz biorąc sprawa jest prawie rozwiązana. Myślę, że pewne problemy wynikają jeszcze z programowania procka. Ale to już sprawa nie na to forum.
    Szczególne podziękowania dla WojcikW
    W razie dalszych pytań będę kontynuował temat.

    Pozdrawiam
  • Użytkownik usunął konto