Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Witam
Tym razem prezentuję proste urządzenie, które z założeń ma służyć do regulacji mocy lutownicy z popularnego serwisu aukcyjnego za kilkanaście zł, którą o dziwo lutuje się zadowalająco. Jest ona zasilana napięciem 230V.
Schemat nie jest estetyczny, gdyż powstał tylko po to aby zrobić na jego postawie bezbłędnie płytkę. Jeszcze jakiś czas temu robiłem takie płytki prosto w edytorze PCB i po kilku błędach nauczyłem się, że lepiej jednak jest zrobić ten schemat ;)
Co do schematu to nie ma tu nic nadzwyczajnego - typowa synchronizacja z siecią na PC814, sterowanie triakiem z MOC3021 bez gasików tak samo triak bez zabezpieczeń - może to właśnie ich brak sprawia, że układ poniżej 15% (regulacja nie jest liniowa, w % wyrażam próg regulacji) układ świruje. Dopiero jak udam się na uczelnie może dojdę do oscyloskopu by sprawdzić co tu się dzieje. Może to błąd w programie a może błąd fizyczny. Wartość nastawy (od 0 do 100) jest mnożona razy 100us dając opóźnienie załączenia triaka (od 0 do max 10ms).
Jak widać układ posiada zasilacz beztransforamtorowy dzięki czemu płytka jest stosunkowo nieduża, jednostronna, kilka elementów SMD, reszta przewlekana:
Zdjęć sporo po to aby miło się oglądało:)
Układ tak naprawdę ma bardzo szerokie zastosowanie. Od regulacji mocy lutownicy na 230V, jasności świecenia żarówek czy mocy grzania nawet mocnych grzałek (wymagany radiator) aż do regulacji prędkości obrotowej wiertarek, wyrzynarek i tego typu urządzeń. Ponadto po wymianie 3 rezystorów może regulować moc grzania lutownicy kolbowej na 24V lub nawet jako prosty regulator spawarki 1 fazowej lub między fazowej.
Poniżej opóźnienia w granicach 1,7ms między przejściem sinusoidy przez zero a załączeniem triaka widać owe anomalie. Do normalnego lutowania w niczym to nie przeszkadza.
W układzie występują napięcia niebezpieczne dla zdrowia i życia ludzkiego!
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Ja też kiedyś zrobiłem podobny sterownik, na M8 i u mnie również te dziwne rozbłyski i niestabilności przy niskich wartościach występowały Niestety mnie nie starczyło cierpliwości a może i umiejętności, żeby doprowadzić sprawę do końca Na oscyloskopie nic mi istotnego nie pokazywało Podejrzewam, że sam MOCXXXX ma jakieś pojemności wewnętrzne albo inne parametry które uniemożliwiają stosowanie tak krótkich czasów załączania. Chętnie poczytam co inni koledzy mają do powiedzenia. Bardzo ciekawi mnie rozwiązanie, liczę na rozwój tematu
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Flaman11 wrote:
Twoje sterowanie ma jedynie 50% skuteczności gdyż działa tylko w jednej połówce sinusoidy. Wydłuż czas do 20ms, czyli 50Hz.
Układ działa w każdej połówce sinusoidy a nie w jednej, więc założenia są ok - tak sądzę. Zatem nie żadne 50% tylko 100%.
Dodano po 6 [minuty]:
eurotips wrote:
No ale kto w takiej aplikacji stosuje optotriaka z detekcją przejścia przez zero?
szkolny błąd!
zastosuj MOC3021 a problem zniknie jak ręką odjął.
No tak, pewnie że lepiej zrobić to na triaku bez detekcji zera, kolega ma pełną rację. A czy problem zniknie jak ręką odjął to się okaże, bo przez to dopasowywanie parametrów do pracy na MOC3031 może się okazać, że będzie trzeba jeszcze pogrzebać w kodzie. No ale na pewno się uda.
Tak się tylko zastanawiam jakie kolega autor dał wartości tch elementów w zasilaczu beztransformatorowym??? chodzi mi o to jest przed mostkiem? Bo przecież działa jeszcze wyświetlacz LED - a to musi razem sporo prądziku wciągać. Może zatem to świrowanie bierze się właśnie z tego? (ale może się mylę)
Generalnie pomijając ew takie tam problemy z zasilaniem, to oczywiście regulacja musi ładnie działać w całkowicie pełnym zakresie od 0 do 100% bez żadnych problemów ;) migotań, rozbłysków itd. Da się to spokojnie zrobić i to nawet dla sterowania wielokanałowego. Jest to nawet fajnie opisane w pewnej książce ;)
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Widze, że koledzy nie czytają tego co autor napisał. Na schemacie jest zły opis optotriaka, lecz w tekście kolega napisał, że stosuje MOC3021. Swoją droga przy bezwładności lutownicy, sterowanie grupowe też nie byłoby złe.
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
A, sorry, zapomniałem, ten rezystor był zdaje się do detekcji zera.
Ustaw po prostu jakąś minimalną wartość przy której żarówka się jeszcze żarzy (oprócz oczywiście zera w którym jest całkowicie wyłączona).
Częstotliwość sieci nie musi wynosić 50Hz. Może to problem z tą niedokładnością.
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
...albo program lub procek jest za wolny. Nie wiem jakiego algorytmu użył autor projektu ale coś mi się widzi, że przy małych wartościach program po prostu nie nadąża liczyć i przeskakuje do następnego okresu przepuszczając całą połówkę co w efekcie jak by nie patrzył da właśnie taki efekt. Może trochę zamotałem ale myślę, że większość się domyśli o co mi chodzi...
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Witam ponownie
Nie wiem nawet jak to się stało, że na schemacie jest MOC3031 - to pewnie z pośpiechu. Świadomie stosuje w takich układach MOC3021 a nie np MOC3041.
Procesor działa na wewnętrznym kwarcu 8 MHz.
Wartości zasilacza mam nieco zaniżone. Zwykle stosuje np 820nF, do niego równolegle bez większego znaczenia można dać np 470kΩ, a w szereg z kondensatorem 56 Ω. Napięcie mi tu trochę sadło poniżej 5V. Zdaje się nawet do niecałych 4V więc możliwe, że wartości rezystancji przy PC814 są nieprawidłowe.
Generalnie często stosuję te zasilacze. Przy tego typu aplikacjach działają bezbłędnie:
No może poza sterownikiem z 12 kanałami - wtedy widać jak przy jednoczesnym włączeniu większej ilości wyjść (diod w szereg z optotriakami) diody przygasają. Nie ma to jednak wpływu na poprawne załączenie triaka. Dodam, że przy tych układach akurat MOC3041 spisał by się dużo lepiej ;)
Algorytm sterowania jest standardowy. Na początku ustawienia:
Code:
// konfiguracja timerów oraz przerwań
TCCR1B |= (1 << WGM12); // Ustawia timer1 w tryb CTC
OCR1A = 40000; // Ustawia wartość pożądaną ...
TCCR1B |= (1 << CS10); // Ustawia timer z preskalerem Fcpu/1
TCCR0A |= (1 << WGM01); // Ustawia timer w tryb CTC
OCR0A = 100; // Ustawia wartość pożądaną na 10000Hz dla preskalera 8
//TCCR0B |= (1 << CS01); // Ustawia timer z preskalerem Fcpu/8
TIMSK |= (1 << OCIE0A); // Zezwolenie na przerwania dla CTC dla T0
TIMSK |= (1 << OCIE1A); // Zezwolenie na przerwania dla CTC dla T1
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Twój problem z rozbłyskami w okolicach zera jest związany z jego błędną detekcją. Przerwanie otrzymujesz tuż przed zerem, w zależności od doboru rezystorów to może być 1-3ms orientacyjnie. W efekcie sterując triakiem możesz go załączyć w następnym cyklu i otrzymujesz dla małych wartości efekt odwrotny. Co do timera0 - zamiast trybu CTC nie lepiej wykorzystać jego wyjście OCx? Wtedy możesz zaprogramować rejestr porównania, w efekcie stan wyjścia OCx zmieni się po zaprogramowanym czasie, wyzwalając triaka.
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
O! kolega @tmf dokładnie i technicznie opisał to o co mi chodziło w moim wcześniejszym poście :)
Moją programową propozycją rozwiązania problemu było by wprowadzenie opóźnienie o jeden okres od momentu wykrycia zera. Dla działania układu nie miałoby to znaczenia, a program można by tak skalibrować, że praktycznie załączanie mogłoby być już od samego zera z dokładnością do mikrosekund.
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Może źle to rozumuję ale skoro mam wykrywanie zboczy opadających to wykrywam detekcję tuż po przejściu przez zero a nie przed. To o czym koledzy piszą ma związek z doborem rezystancji i dopiero na oscyloskopie będę wiedział co i jak. Już raz miałem podobny problem i rozwiązałem go z oscyloskopem - również chodziło o dobór rezystancji.
Co do dołożenia opóźnienia jednego okresu to nie wiem jak kolega SylwekK to rozumuje ale na moje dołożenie do tego 10ms spowoduje start w podobnym miejscu a nie w zerze... Jedynie doświadczalnie można by dobrać to opóźnienie co mija się z celem - metodą prób i błędów równie dobrze można już podmieniać rezystancje. Moje podejrzenie pada na rezystor kolektorowy transoptora. Taką wartość dobrałem przy równo 5V napięciu zasilania a w tym układzie napięcie zasilające jest nawet poniżej 4V.
Dodano po 2 [minuty]:
Aa, co do OCx to jest za późno bo jak widać układ już jest zbudowany a w związku z tym, że mam nieustanne problemy z efektywnym wykonywaniem płytek i zawsze muszę je poprawiać ręcznie pisakiem w stosunkowo dużym stopniu wystarczająco mocno mnie demotywuje od wykonywania ponownie jakiegoś urządzenia... ;)
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Czy wykrywasz przez zerem, czy po zerze to nie ma znaczenia - mechanizm powstawania błędu jest taki sam. To co powinieneś zrobić to wykrywać moment przejścia po zerze tak jak teraz, lecz blokować możliwość włączenia triaka na chwilę przed kolejnym zerem. Czyli przerwanie musi być na obu zboczach. Na opadającym blokujesz możliwość wyzwolenia triaka, na narastającym odblokowujesz i liczysz czas do włączenia triaka. Powinno pomóc i jest niezależne od rezystorów. Jedyne co tracisz to te 1-2ms w okolicach zera, ale że napięcie wtedy jest niewielkie to na regulacji się to praktycznie nie odbije.
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
adass wrote:
Na zdjęciach widać żarówki 12V i chciałem regulować .
Takie układy działają jedynie dla zasilania przebiegami przemiennymi. W maluchu masz stałe 12V. Na zdjęciu jest też, oprócz żarówki 12V, transformator, zapewne coś w rodzaju 230/12V
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Trzeba zmienić wartości rezystorów przy transoptorze. Poza tym triak wyzwalany przez optotriak przy tak małych napięciach to kiepski pomysł. W oryginalnym układzie ten transoptor i optotriak zresztą też są niepotrzebne, skoro całość zasila się i tak bez izolacji galwanicznej z sieci 230V.
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Wyłączenie/załączenie transoptora nie następuje idealnie w zerze z przyczyn oczywistych. Należy to korygować programowo. Nie wiem, czy stabilność wewnętrznego generatora RC jest wystarczająca do odmierzania opóźnienia - być może jest. Zrobiłem onegdaj podobny układ, tyle, że 4-kanałowy i bez wyświetlacza i prrzycisków (sterowany przez UART). Działał on bardzo stabilnie. Nie było żadnych rozbłysków ani innych problemów z regulacją od bardzo małych wartości. Mój układ zbudowałem z użyciem zewnętrznego kwarcu 20MHz, ale ja po prostu "nie lubię" niestabilnego zegara.
Re: Fazowy regulator mocy ze sterowaniem mikroprocesorowym
Quote:
Wystarczy triak, diak, kondensator, kilka opornikow i potencjometr do regulacji i masz ten sam efekt
Co jest Twoim zdaniem takim samym efektem? Chyba nawet tematy konstrukcji nie przeczytałeś. Do samej regulacji oczywiście wystarczy kilka elementów tak jak to jest zrobione w odkurzaczach wiertarkach, wyrzynarkach itp. Z tą małą różnicą, że tam regulacja jest całkowicie analogowa bez czytelnego odczytu nie jak w tej konstrukcji.
Po woli powstaje obudowa do tego regulatora. Tak aby powstała z tego zgrabna stacja lutownicza. Zastanawiam się jakie gniazdo zastosować do podłączania lutownicy - to nie są 24V a 230 więc wszelkie proste odpadają z uwagi na bezpieczeństwo.