Zaprojektowałem softstarty za pomocą procesorów PIC16C74A / F77. Przejście przez zero może być trudne, jeśli musisz pracować w hałaśliwym otoczeniu.
Jeśli nie potrzebujesz, aby procesor był izolowany od linii, nie ma nic złego w kilku wysokiej wartości opornikach zasilających pin procesora. Użyłbym kilku strzelających diod, aby wzmocnić wewnętrzne diody ochronne tylko ze względu na solidność, ale zadziała dobrze. Jeśli potrzebujesz izolacji, użyj optoizolatora z wyjściem tranzystorowym. Zwróć uwagę na prędkość przełączania opto i zminimalizuj prąd kolektora tranzystora, aby zmaksymalizować prędkość przełączania.
Powiedziawszy to, przejdźmy do hałasu. Jeśli kontrolujesz fazę w czymkolwiek innym niż ogrzewanie rezystancyjne, będziesz musiał zmagać się z hałasem, co oznacza, że prawdopodobnie będziesz miał do czynienia z hałasem przechodzącym przez zero. Nie popełniaj błędu nowicjusza, wprowadzając sygnał przejścia przez zero do pinu przerwania; które zamieniają twoje oprogramowanie w masę paskudnych dymów, gdy procesor próbuje poradzić sobie z przerwaniami gazillionów. (Mówię z doświadczenia.) Rzucenie na linię RC lub bardziej zaawansowanego filtra dolnoprzepustowego wprowadzi przesunięcie fazowe. Jeśli możesz z tym pracować, świetnie. Jeśli nie (miałem do czynienia z systemami 50/60 i 400 Hz), musisz wypróbować inne środki.
Na własny projekt zająłem się tym w oprogramowaniu, odpytując linię i zasadniczo wykonując procedurę głosowania, która ignorowała stany przejściowe. Przesunięcie fazowe mieściło się w granicach tego, co mogłem poradzić, było szybkie i nie rozbiłoby się nawet przy dużym hałasie. (Testowane w zakładzie, w którym zdjęli kapturki filtracyjne z pieca indukcyjnego, nigdy wcześniej nie widziałem tak hałaśliwej linii!) Gdybym ją przeprojektował, myślę, że mógłbym wypróbować zewnętrzne rozwiązanie obejmujące jednorazowy zastrzyk, który „ zatrzasnąć ”krzyż zerowy, a następnie mikrokontroler potwierdzi to, zanim możliwe będzie ustawienie następnego przerwania.
Podsumowując, uważam, że wiarygodne znalezienie rzeczywistego przekroczenia zera w każdej praktycznej sytuacji było jednym z trudniejszych elementów konstrukcji softstartu. Zamknięcie pętli kontrolnej było drugorzędne, ale w większości było to po prostu dostrojenie. Wydaje się to bardzo proste, ale nauczyłem się sporo o różnicy między teorią a praktyką w tym czasie. :-)
edytuj, aby opisać procedurę „głosowania”:
Jeśli dobrze pamiętam, miałem linię we / wy, która była wysoka, gdy linia była powyżej zera, i niska, gdy linia była poniżej zera. Procedura głosowania po prostu sondowała tę linię i jeśli 2 z 3 ostatnich próbek były takie same, zaakceptowałem fakt, że linia przekroczyła zero. Jest bardzo podobny do obwodu głosowania UART do wykrywania znaku i przestrzeni. Zaletą takiego obwodu jest to, że przesunięcie fazowe jest stałe (częstotliwość próbkowania 2 *) i można go dostroić pod kątem rodzaju odczuwanego szumu. Nie pamiętam od razu, jak szybki był sondaż, ale gdybym zaryzykował, powiedziałbym, że 8 kHz, ponieważ ta liczba wystaje mi do głowy.