Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterowanie fazowe na triaku

golas17 24 Lut 2009 20:26 7940 27
  • #1 24 Lut 2009 20:26
    golas17
    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ł...

  • #2 24 Lut 2009 20:35
    mr.Sławek
    Poziom 31  

    Tak sie dzieje w takich ukladach z obciazeniami znacznie rozniacymi sie od czysto R.

  • #3 24 Lut 2009 20:43
    golas17
    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?)

  • #4 24 Lut 2009 21:41
    WojcikW
    Poziom 38  

    A nie możesz skopiować ten działający układ? Musisz wiedzieć, że silniki indukcyjne (bezszczotkowe) dobrze się reguluje częstotliwością. Dla obciążenia wentylatorowego da się sterować fazowo ale nie znaczy to że jak wypełnienie dasz 50% to prędkość obrotowa będzie 50% znamionowej.
    Zbocznikowanie triaka dławikiem o dużej indukcyjności, (np. dławikiem od tradycyjnych świetlówek małej mocy) może pomóc, ale stracisz regulację od zera i możliwość zatrzymania silnika triakiem. Dławik tak należy dobrać by silnik się obracał z małą prędkością gdy prąd nie płynie przez triak. Tylko nie wiem czy taka praca Ci odpowiada.

  • #5 24 Lut 2009 21:59
    golas17
    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...

  • #6 24 Lut 2009 22:16
    czesiu
    Poziom 32  

    Może wystarczy dołączyć kondensator równolegle do silnika. Odbiornik nabierze charakteru bardziej rezystancyjnego.

  • #7 24 Lut 2009 22:19
    golas17
    Poziom 16  

    Kondensator już jest. Dodany fabrycznie przez producenta dmuchawy. Zamieszczam link z tą dmuchawą:

    Link

  • #8 24 Lut 2009 22:37
    czesiu
    Poziom 32  

    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.

  • #9 24 Lut 2009 23:02
    WojcikW
    Poziom 38  

    Z reguły takie silniki sterowane są przez wyspecjalizowane układy scalone. Jak wygląda sterowanie z tego mikrokontrolera? Czy jak przesuwasz fazę załączania triaka od zera do 180° to silnik nie zwalnia?

  • #10 24 Lut 2009 23:14
    golas17
    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...

  • #11 24 Lut 2009 23:56
    czesiu
    Poziom 32  

    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ś

  • #12 25 Lut 2009 00:30
    golas17
    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?

  • #13 25 Lut 2009 00:53
    Dioda52
    Poziom 27  

    Wlacz rownolegle do silnika zarowke np; 10-40W.Uklad wtedy powinien zaczac pracowac poprawnie.

  • #14 25 Lut 2009 08:54
    golas17
    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??

  • #15 25 Lut 2009 17:02
    WojcikW
    Poziom 38  

    golas17 napisał:
    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?

    Nie załamuj mnie. Sterowanie grupowe do silnika? :?::?::?: Z mosfetem nie kombinuj, chyba że zbudujesz falownik. Masz źle napisany program. Silnik to nie żarówka, prąd opóźnia się względem napięcia. Musisz doświadczalnie dobrać czas opóźnienia. Na początek zrób tak:
    Ustaw czas 7 ms na samo załączenie (rozruch).
    Później czas ten stopniowo wydłużaj np. co sekundę niech dodaje 1 ms.
    Musisz wyczaić do jakiego momentu silnik jeszcze kręci, czyli np. minimalne obroty będą dla opóźnienia 13 ms. Musisz wiedzieć, że dla niskich obrotów silnik ma bardzo mały moment obrotowy i może utknąć.
    Wskazane jest wtrącić rezystor kilka omów szeregowo w obwód z kondensatorem silnika by uchronić triak przed udarami prądowymi.

  • #16 25 Lut 2009 17:16
    golas17
    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ę.

  • #17 25 Lut 2009 17:26
    WojcikW
    Poziom 38  

    Gubi jedną połówkę sinusoidy napięcia, ale nie prądu. Prąd może maksymalnie być opóźniony o 90° (względem napięcia) gdy obciążeniem jest idealny dławik co daje max 15 ms. Tak więc 20 ms jest bez sensu.
    Na rozruch musisz dać mniej, np. 7 ms.

  • #18 25 Lut 2009 19:27
    golas17
    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.

  • #19 25 Lut 2009 20:36
    WojcikW
    Poziom 38  

    Rzeczywiście, tak jak na rysunkach pełne sterowanie
    dla rezystancji będzie: 0° ÷ 180°, czyli 0 ÷ 10 ms,
    dla indukcyjności będzie: 90° ÷ 180°, czyli 5 ÷ 10 ms.
    W przypadku silnika coś pośredniego.
    Wyjaśniam dlaczego nie mosfet:
    Mosfet skomplikuje układ, MOC-a trzeba wymienić na coś innego. W przypadku triaka wyłącza się on automatycznie gdy prąd spadnie do zera. Gdy damy tranzystor to skąd będziesz wiedział kiedy go wyłączyć? Zerwanie prądu o charakterze indukcyjnym kończy się przepięciem.
    Mam jeszcze pytanie:
    jak długo trwa impuls wyzwalający (podawany na diodę MOC-a)?

  • #20 25 Lut 2009 21:41
    golas17
    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?

  • #21 25 Lut 2009 21:58
    WojcikW
    Poziom 38  

    golas17 napisał:
    A to przepięcie spowodowane zerwaniem prądu przez mosfeta rozwaliło by mi silnik tak?
    Coś by rozwaliło, albo silnik, albo mosfeta. Układy antyprzepięciowe są dobre na sporadyczne przepięcia a nie na takie z częstotliwością 50Hz. Tak więc tranzystor odpada.
    Zrób tak:
    - ustaw czas trwania impulsu załączającego na 1ms.
    - sprawdź jak silnik działa dla różnych opóźnień w granicach 5 ÷ 10ms (początek odmierzania czasu się nie zmienia - przejście sinusoidy napięcia przez zero).

  • #22 25 Lut 2009 22:23
    czesiu
    Poziom 32  

    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.

  • #23 25 Lut 2009 22:23
    skit123
    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.

  • #24 25 Lut 2009 23:43
    golas17
    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
    #25 26 Lut 2009 11:34
    WojcikW
    Poziom 38  

    Sprawa jest banalna. Kiedyś robiłem regulator do wentylatora i niepotrzebnie zasugerowałem się indukcyjnością, ale tam był zastosowany silnik ze zwojem zwartym, który jest odbiornikiem rezystancyjno-indukcyjnym. Ten Twój silnik jest z kondensatorem, więc jest to odbiornik rezystancyjno-indukcyjno-pojemnościowy. Bardzo możliwe, że wypadkowo silnik widziany od strony zasilania jest odbiornikiem rezystancyjno-pojemnościowym (jest przewaga pojemności nad indukcyjnością). Triaka lepiej wyzwalać krótkim impulsem. Raz załączony przewodzi do momentu spadku prądu do zera, wtedy wyłączy się automatycznie. Dla długiego czasu załączania i przesunięcia prądu względem napięcia triak był cały czas załączony. Dla obciążenia o charakterze pojemnościowym prąd wyprzedza napięcie, stąd takie dziwne wyniki.

  • #26 26 Lut 2009 21:33
    marek_ka
    Poziom 26  

    Kondensator C2 wprowadza ci przesunięcie fazowe. Wywal go i sprawdź.

  • #27 28 Lut 2009 14:15
    golas17
    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

  • #28 28 Lut 2009 14:58
    WojcikW
    Poziom 38  

    Chciałbym jeszcze zwrócić uwagę na możliwość udarów prądowych na jakie może być narażony triak. Dlatego proponuję włączyć rezystancję np. 5,6Ω/2W (najlepiej drutowy, może być większej mocy) w szereg z kondensatorem silnika. Tak mała rezystancja nie powinna wpływać na pracę silnika. Lepszym rozwiązaniem byłby mały dławik włączony w szereg z triakiem, ale źle dobrana indukcyjność dławika może doprowadzić do rezonansów i trudnych do określenia tego konsekwencji.

 
Black Friday do -15%
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
Ferguson