Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
MetalworkMetalwork
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Ściemniacz 230V na Arduino

ghost666 02 May 2017 23:53 38592 75
  • MetalworkMetalwork
  • #62
    michcior
    Level 30  
    BILGO wrote:
    Ja używałem PC814. Sprawdza się.

    Tak, tylko że rezystor ograniczający to co najmniej 0.5W. Chyba że masz jakiś  inny układ.

    1) Ja lubię to:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=13624503#13624503
    Tyle że rezystor R3 zastąpiłem diodą zenera 6V8 co znacznie zawęziło piki. Transoptor przewodzi w zerze w odróżnieniu od nap. PC814 gdzie przewodzi poza zerem, czyli pobiera znacznie mniej prądu i nie ma ogromnej mocy wydzielanej na oporniku.

    2) Mam to podłączone do LPC111x, tam jest taki liczniki/timer który realizuje wszystko w sprzęcie, wpisuje się tylko do rejestru wartość.

    3) Podstawowa uwaga: to jest efektywnie WARTOŚCIĄ ŚREDNIA napięcia. Czyli wartość to całka oznaczona z funkcji sinus. Jak sobie policzycie, to wartość średnia nie jest liniowa w funkcji kąta. Na mikroprocesorze można to korygować. Jeśli chcemy regulować liniowo mocą, to mamy całkę z sinus do kwadratu!

    4) Silniki indukcyjne (aka klatkowe, aka asynchroniczne) zarówno 3F jak i ze zwojem zwartym czy kondensatorem. Napiszę to po raz kolejny: moment obrotowy jest proporcjonalny do kwadratu napięcia. Dlatego silnik tak szybko słabnie przy regulacji napięciowej. Te silniki NIE NADAJĄ SIĘ DO TAKIEJ REGULACJI w taki prosty sposób. WYJĄTEK: obciążenie wentylatorowe, bo obciążenie to rośnie w kwadracie prędkości obrotowej i wraz z charakterystyką momentu silnika dobrze współgra. Dlatego jest to stosowane w dmuchawach kotłów, bo tanie.
  • MetalworkMetalwork
  • #63
    BILGO
    Level 38  
    michcior wrote:
    3) Podstawowa uwaga: to jest efektywnie WARTOŚCIĄ ŚREDNIA napięcia. Czyli wartość to całka oznaczona z funkcji sinus. Jak sobie policzycie, to wartość średnia nie jest liniowa w funkcji kąta. Na mikroprocesorze można to korygować. Jeśli chcemy regulować liniowo mocą, to mamy całkę z sinus do kwadratu!

    Dokładnie, można wprowadzać korekty w algorytmie aby układ był w przybliżeniu liniowy.
    michcior wrote:

    Tak, tylko że rezystor ograniczający to co najmniej 0.5W. Chyba że masz jakiś  inny układ.

    1) Ja lubię to:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=13624503#13624503
    Tyle że rezystor R3 zastąpiłem diodą zenera 6V8 co znacznie zawęziło piki. Transoptor przewodzi w zerze w odróżnieniu od nap. PC814 gdzie przewodzi poza zerem, czyli pobiera znacznie mniej prądu i nie ma ogromnej mocy wydzielanej na oporniku.

    Zgadza się, zależy wszystko od układu do czego jest to potrzebne. Jest wiele sposobów detekcji zera. Każdy wybiera dla siebie najbardziej optymalny.
    Co do punktu 4 zgadzam się z tym.
    Jeśli ktoś naprawdę lubi kombinować to może sie bawić w sprzężenie zwrotne prędkości obrotowej :)
  • #64
    oscdev
    Level 6  
    Mam pytanie:
    Dlaczego, gdy usunę zasilanie 5V z rezystorem R1 10K na kolektorze (4) PC814 układ działa poprawnie, czyli odpalane jest przerwanie w Arduino.
    Natomiast, gdy jest właśnie w tej konfiguracji 5V/10K jak na rysunku to przerwanie nie jest uruchamiane?
    Nawet producent podał, aby było to +5V, ale tak nie działa :/
    Zasilanie +5V jest brane z tego samego źródła co zasilanie dla Arduino.

    Aktualnie mój układ nie ma tego +5V i rezystora R1 i wszystko śmiga. Dlaczego?
    Ściemniacz 230V na Arduino
  • #65
    michcior
    Level 30  
    Nie wiem co tam jest w tym arduino, ale generalnie wprowadzając jakiś sygnał do mikroprocesora trzeba pamiętać i mieć świadomość tego jak skonfigurowane i jak skonstruowane jest to wejście.
    Najprawdopodobniej jest tam ustawiony jakiś weak-pullup i dlatego działa.
    A nie działa dlatego, że impulsy z takiego synchronizatora są bardzo krótkie. W związku z tym, rezystor R1 z pojemnościami pasożytniczymi, szybkością działania transoptora itd. nienadąża sprowadzić napięcia do "0" bo tranzystor przewodzi bardzo krótko. Zmniejsz opornik R1 do <1k i możesz też podłączyć do 3.3V jeśli jest.
  • #66
    krzysiek_krm
    Level 39  
    Witam,
    oscdev wrote:
    Natomiast, gdy jest właśnie w tej konfiguracji 5V/10K jak na rysunku to przerwanie nie jest uruchamiane?

    powodem jest pewna "słabość" układu detektora zera oraz (prawdopodobnie) bardzo uproszczony algorytm.
    Może trafił Ci się transoptor o bardzo małej wartości CTR, który załącza się przy bardzo dużej wartości chwilowego napięcia sieci, które jest "dość daleko" od zera sieci.
    oscdev wrote:
    Aktualnie mój układ nie ma tego +5V i rezystora R1 i wszystko śmiga. Dlaczego?

    Zapewne załączony jest na tym wejściu pull-up w procesorze, którego zastępcza rezystancja jest znacznie większa niż 10 kΩ.
    michcior wrote:
    Zmniejsz opornik R1 do <1k

    To akurat trochę bez sensu, żeby wymusić niski poziom logiczny, przez opornik 1 kΩ będzie musiał płynąć prąd około 4 mA, przy małym CTR może to nie mieć miejsca nigdy, nawet w szczytowym napięciu sieci.
    Można ten układ nieco ulepszyć.
    Można trochę zwiększyć rezystor podciągający oraz trochę zmniejszyć rezystancję sterującą wejściem transoptora (wtedy niestety wzrosną straty na tej rezystancji).
    Można byłoby również ulepszyć program. Wykrywać przerwaniem oba zbocza, zero sieci powinno być w środku pomiędzy nimi, z dobrym przybliżeniem, zakładając przyzwoitą symetrię transoptora. Program będzie jednak nieco bardziej skomplikowany.

    Pozdrawiam
  • #67
    michcior
    Level 30  
    krzysiek_krm wrote:
    To akurat trochę bez sensu, żeby wymusić niski poziom logiczny

    No racja, jakoś wydała mi się że problem to pojemności a tu chyba tak jak piszesz za słabe otwarcie tranzystora dlatego może mu działać na weak-pullup wejścia bo to są setki kohm.

    W ogóle ten układ w swej prostocie jest kiepski bo cały czas pobiera prąd grzejący oporniki. Było kilka propozycji i coś takiego mi się sprawdziło:
    Ściemniacz 230V na Arduino
  • #68
    oscdev
    Level 6  
    [quote="michcior"]
    A jaka moc W rezystorów?
  • #70
    oscdev
    Level 6  
    oscdev wrote:
    Mam pytanie:
    Dlaczego, gdy usunę zasilanie 5V z rezystorem R1 10K na kolektorze (4) PC814 układ działa poprawnie, czyli odpalane jest przerwanie w Arduino.
    Natomiast, gdy jest właśnie w tej konfiguracji 5V/10K jak na rysunku to przerwanie nie jest uruchamiane?
    Nawet producent podał, aby było to +5V, ale tak nie działa :/
    Zasilanie +5V jest brane z tego samego źródła co zasilanie dla Arduino.

    Aktualnie mój układ nie ma tego +5V i rezystora R1 i wszystko śmiga. Dlaczego?
    Ściemniacz 230V na Arduino


    OK, ogarnąłem o co chodzi.
    Nie dając rezystora spaliłem diodę w PC814, to było zaraz po podłączeniu i potem dalej na tym uszkodzonym budowałem układ.
    Działało to błędnie. W między czasie zakupiłem oscyloskop i dopiero wówczas zobaczyłem wykres pracy PC814.
    Oto wykres działania uszkodzonego układu w dużym zoomie nanoSek, aby efektowniej wyglądało :)
    A powinny być równe ładne szpilki...
    Ściemniacz 230V na Arduino
  • #71
    radek04
    Level 10  
    Trochę stary temat, ale wciąż żyje. Próbuję zrobić taki układ do ściemniania oświetlenia LED 230V.
    Pierwsza sztuka LED przepaliła się jeszcze na testach, więc coś mogłem mieć nie tak. Zrobiłem porządnie na zwykłej żarówce, zamieniłem na LED i jakiś czas działało. Podczas programowania arduino miałem podłączone zasilanie 230V, LED troszkę brzęczała i też się przepaliła (była ciepła). Powodem przepalenia LED były moje błędy, czy też coś powinienem zmienić w układzie?
    Stosuję takie elementy, jak w schemacie na pierwszej stronie (różnice: prostownik - DB107 1A; triak BT136 600E).
  • #72
    User removed account
    User removed account  
  • #73
    radek04
    Level 10  
    Szczerze to nie wiem, nie sprawdzałem. I tak docelowo ma to działać z innymi LED-ami (tzn. takimi, do których teraz nie mam dostępu).
    Czyli różnie może być z różnymi LED-ami?

    Edit:
    Zmodyfikowałem program, by móc sterować pilotem (usunąłem delay-e) i działa bardzo fajnie, ale przy niektórych poziomach jasności LED mruga. Z żarówką nie ma problemu, a przy LED-ach chyba trzeba do każdego egzemplarza doświadczalnie dobierać czasy załączania tak, by działało dobrze. Bardzo ogranicza to możliwość wymiany źródła światła na inne - konieczność przeprogramowywania.
  • #74
    oscdev
    Level 6  
    Radek, z tego co zrozumiałem to chcesz ściemniać LEDy bazując na tym układzie.
    To jest błędne. Ten układ służy do ściemniania żarówek, które działają bezpośrednio na 230V prądzie zmiennym (AC).
    Każdy LED jest zawsze zasilany prądem stałym (DC). Mają w sobie układ, który zamienia prąd zmienny 230V na stały np. 12V.

    Musisz wywalić ten układ i zbudować swój wraz z możliwością sterowania sygnałem PWM.
    LEDy ściemnia się sygnałem PWM przy prądzie stałym, a nie sterowaniem fazowym prądu zmiennego.
  • #75
    User removed account
    User removed account  
  • #76
    Razor1711
    Level 10  
    A jakby wyglądał kod programu, gdyby zadawać temperaturę grzałki za pomocą potencjometru?

    Tak?
    int pot=analogRead(A3); //pin dla odczytywania wartosci z potencjometru dla grzalki

    dimming=pot+600;

    delayMicroseconds(10);