Schemat ideowy
Układ regulatora znajduje się na jednej płytce drukowanej, której schemat ideowy przedstawia rysunek 2. Głównym podzespołem, który steruje pracą urządzenia, jest mikrokontroler ATmega8. Częstotliwość sygnału zegarowego jest ustalona przez zewnętrzny rezonator kwarcowy 16 MHz. Znacząco zmniejsza to wpływ temperatury na funkcjonowanie układu oraz pozwoliło na dużą częstotliwość odświeżania ekranu. Jako wyświetlacz zastosowano czytelny, 7-segmentowy ekran LED o wysokości cyfr 14,2 mm. Sterowanie nim odbywa się w trybie multipleksowym. W celu uzyskania dużej jasności świecenia poszczególne cyfry są załączane przez tranzystory bipolarne o polaryzacji PNP.
Świeceniem segmentów steruje rejestr 74HC595. Jego wejście aktywujące bufory wyjściowe jest stale aktywne (wyprowadzenie 13 zwarte z masą), a wejście zerujące stale nieaktywne (wyprowadzenie 10 na potencjale +5 V). Dlatego do obsługi rejestru są potrzebne tylko trzy wyprowadzenia mikrokontrolera sterujące: linią danych (DS), zegarową (SHCP) i aktualizacji przerzutników wyjściowych po wpisaniu nowej zawartości (STCP). Prąd pojedynczego segmentu jest ograniczony do ok. 6 mA.
Kolektor T5 ma małą rezystancję przy wchodzeniu w nasycenie, a wielokrotnie wyższą, bo zbliżoną do rezystancji R20, przy wychodzeniu zeń, co jest niepożądane. Takiej sytuacji można zapobiec, stosując tranzystor T6, który pełni funkcję wtórnika napięciowego dla zboczy narastających. Gdy potencjał jego bazy się podnosi, wtedy emiter „wlewa” prąd do obciążenia. Impedancja wyjściowa jest wtedy rzędu pojedynczych omów. Natomiast zbocze opadające jest obsługiwane za pośrednictwem diody D3, która cechuje się dużą odpornością na udary prądowe. Nasycający się T5 „wyciąga” prąd z obciążenia, polaryzując ją w kierunku przewodzenia.
Połączone równolegle rezystory R21 i R22 ograniczają prąd płynący przez bramkę w chwili jej przeładowywania. Rezystorem R23 bramka jest rozładowywana w chwili zaniku sygnału sterującego, polaryzuje również tranzystor T6. Dioda Zenera D4 chroni izolację bramki przed przebiciem wskutek przekroczenia maksymalnego napięcia UGS.
Zasilany silnik powinien być dołączony do zacisków złącza J6. Równolegle do niego włączono obwód zabezpieczający tranzystor MOSFET przed uszkodzeniem wywołanym przez przepięcia pochodzące od uzwojenia. Wartości tych elementów (R24, C18, D5) można dobrać w zależności od potrzeb (np. zmienić stałą czasową), lecz dla większości przypadków wystarczą te przykładowe.
Nieużywane wyprowadzenia mikrokontrolera są podciągnięte do dodatniego bieguna zasilania poprzez zewnętrzne rezystory. W ten sposób mamy gwarancję ustalenia ich potencjału, nawet wtedy, gdy w pobliżu pracuje silne źródło zaburzeń. W tym układzie jest to o tyle istotne, że w pobliżu może pracować zasilany impulsowo silnik, zaś na samej płytce znajdują się ścieżki przewodzące prąd impulsowy o dużym natężeniu.
Napięć niezbędnych do prawidłowego działania układu dostarczają dwa stabilizatory liniowe, typu 7812 i 7805, połączone kaskadowo. Rozkłada to pomiędzy nie straty mocy. Dioda D1 doładowuje kondensator C1, z którego pierwszy stabilizator pobiera prąd. W ten sposób, nawet jeżeli napięcie z zasilacza ulega drastycznym zmianom wskutek cyklicznego załączania silnika, stabilizator zawsze ma do dyspozycji zapas napięcia niezbędny do prawidłowego działania.
Na płytce jest wiele kondensatorów o różnych pojemnościach, których rolą jest filtrowanie zasilania układów cyfrowych. Kondensatory C2…C5 zapobiegają wzbudzeniu się stabilizatorów liniowych. Z kolei kondensator C17 stanowi rezerwuar energii dla sterownika bramki tranzystora MOSFET. W miarę możliwości powinien być typu Low-
ESR, ponieważ uzyskiwana szybkość narastania napięcia na bramce jest wysoka.
Układ regulatora zmontowano na dwustronnej płytce drukowanej o wymiarach 105 mm×61 mm. Jej schemat montażowy pokazano na rysunku 3. W odległości 3 mm od krawędzi płytki przewidziano otwory montażowe. Montaż polecam przeprowadzić w typowy sposób – od najniższych elementów, montowanych powierzchniowo, do najwyższych, przewlekanych. Złącza śrubowe J1, J4, J5 i J6 należy przylutować od spodniej strony płytki, aby był do nich swobodny dostęp po dokręceniu jej do płyty czołowej obudowy. Kondensatory przewlekane C1, C17 i C18 należy położyć na powierzchni laminatu – wtedy najwyższymi elementami są wyświetlacz oraz przycisk. Podzespoły w obudowach TO220 można przylutować na płasko od góry (fotografia 4). Jeżeli istnieje obawa, że wydzielana ilość ciepła będzie zbyt duża do rozproszenia dla samej wkładki obudowy, można je przylutować od tyłu i zastosować radiator o odpowiednich gabarytach. W układzie prototypowym zastosowano kątowe złącze goldpin J2, do którego dołączono potencjometr ustalający żądaną prędkość obrotową. Dzięki temu można zastosować typ jedno- lub wieloobrotowy, w zależności od potrzeb. Rezystancja jego ścieżki nie jest krytyczna, lecz nie powinna stanowić znaczącego obciążenia dla stabilizatora 7805.
W mikrokontrolerze należy zmienić ustawienia bitów zabezpieczających na takie, jak podano w tabeli 1. Należy skonfigurować pracę z zewnętrznym rezonatorem kwarcowym 16 MHz z krótkim czasem startu, aktywować detektor Brown-Out i ustawić na 4 V, co zapobiegnie zawieszeniu się mikrokontrolera podczas krótkotrwałego zaniku napięcia. Po dokonaniu tych zmian można zaprogramować układ załączonym programem. Układ nie wymaga innych czynności uruchomieniowych, poza ewentualnym dostrojeniem potencjometru P1, który winien być wyjściowo ustawiony w połowie.
Po zaprogramowaniu, w stanie początkowym, domyślna wartość dzielnika to 1, a częstotliwość wytwarzanego sygnału PWM to 10 Hz. Można, a nawet należy, dostosować je do swoich potrzeb. Częstotliwość sygnału PWM zmienia się przez zwieranie dwóch wyprowadzeń złącza programowania ISP: GND oraz SCK. Są one oznaczone na płytce „f PWM”. Przyjęto założenie, że ten parametr zostanie ustalony raz, dlatego nie trzeba zapewniać użytkownikowi wygodnego dostępu do tej opcji. W razie potrzeby można dołączyć zewnętrzny przycisk zwierny do tych wyprowadzeń. Po każdej zmianie silnik jest zatrzymywany i rusza na nowo, ponieważ aktualizacji wymagają również inne rejestry mikrokontrolera. Ustawiona częstotliwość jest pokazywana przez 1 s na wyświetlaczu. Jeżeli jest mniejsza od 10 kHz, to odczyt jest bezpośrednio w hercach, a jeśli jest równa lub przekracza tę wartość, to w kilohercach z dwoma miejscami po przecinku (rysunek 5). Wybór zostaje zapamiętany w nieulotnej pamięci EEPROM.
Wciskanie przycisku S1 powoduje przełączanie stopnia podziału impulsów. Dzięki temu można dostosować wartość pokazywaną przez wyświetlacz do swoich potrzeb. Trzymanie przycisku powoduje narastanie wartości, po przeskoczeniu piątej czas między kolejnymi wartościami zmniejsza się. Możliwe stopnie podziału są z zakresu 1…99. Ustawiony wybór również jest zapamiętywany w pamięci EEPROM.
Podczas prawidłowej pracy kontrolera na ekranie jest pokazywana liczba impulsów nadchodzących z transoptora podzielona przez zadaną wartość dzielnika. Jeżeli uzyskana prędkość obrotowa nie różni się od zadanej o więcej niż 2%, to załącza się prawa kropka (rysunek 6). Z testów wynika, że przy zbyt małej częstotliwości sygnału PWM utrzymanie stabilnej prędkości obrotowej jest trudne do uzyskania. Silnik bez przerwy rozpędza się i hamuje, co utrudnia prawidłowe sterowanie nim. Sytuację poprawia obciążenie osi silnika – to dodatkowo wyrównuje wszelkie szarpnięcia. Z tego względu przedstawione urządzenie będzie dobrze się sprawowało np. w samodzielnie wykonanym gramofonie.
Możliwości modyfikacji
Zaprezentowany układ regulatora nie został zaprojektowany z myślą o konkretnym urządzeniu, dlatego istnieje szeroki wachlarz możliwości dostosowania go do swoich potrzeb. Oprócz wielu częstotliwości sygnału PWM i swobody w ustaleniu żądanej prędkości istnieją również sprzętowe możliwości przeróbki. W prototypie użyto tranzystora wykonawczego typu BUZ11A. To wytrzymały tranzystor, który dobrze radzi sobie z obciążeniami indukcyjnymi, co zostało potwierdzone przez stosowanie go w wielu podobnych projektach. Jest jednak nieco przestarzały, co sugeruje wysoka rezystancja otwartego kanału (55 mV). Można zastąpić go innym, np. IRF2804, jeżeli moc tracona okaże się nieakceptowalnie duża. Rezystancja ograniczająca prąd przeładowywania bramki tego tranzystora jest w dużej mierze ustalona przez równolegle połączone rezystory R21 i R22. Przy stosowaniu wartości pokazanych na schemacie czas narastania napięcia na bramce to ok. 350 ns. Jeżeli zostanie użyty tranzystor o wyższej pojemności bramki niż BUZ11A, wówczas może zachodzić konieczność zmniejszenia tej rezystancji.
Zasilania dla obwodu sterującego tranzystorem wykonawczym dostarcza stabilizator, który do prawidłowego działania wymaga min. 15 V na wejściu (niektóre egzemplarze 14 V). Jeżeli zajdzie konieczność sterowania silnika pracującego z niższym napięciem, wówczas wystarczy wylutować ten stabilizator, a skrajne wyprowadzenia na płytce drukowanej (wejście i wyjście) zewrzeć zworką. Minimalne napięcie jest jednak ograniczone przez napięcie wymagane do pełnego otwarcia tranzystora MOSFET i wynosi ok. 8…9 V.
Kondensator C1 wyrównuje tętnienia zasilania podawanego na stabilizator, jeżeli źródło ma relatywnie wysoki opór wewnętrzny. Nic nie stoi na przeszkodzie, aby pojemność tego kondensatora zwiększyć, jeżeli zajdzie taka potrzeba, tj. mikrokontroler będzie nieoczekiwanie się restartował wskutek chwilowych zaników napięcia.
Dla ciekawskich
Do sterowania silnikami najlepiej nadaje się tryb licznika, w którym ściśle kontrolowane są faza i częstotliwość wytwarzanych impulsów – Phase and Frequency Correct. Bit WGM13 ma wartość 1, pozostałe WGM1x są równe 0.
Tak szeroki zakres wytwarzanych impulsów wymaga zarówno zmiany dzielnika częstotliwości zegara dla licznika, jak i górnego ograniczenia licznika (tzw. wartość Top). Tabela 2 zawiera wartości dzielnika, ustawiane w rejestrze TCCR1B i wartości rejestru ICR1A, który przechowuje wartość Top. Tutaj ważna uwaga: uzyskana częstotliwość jest dwukrotnie mniejsza, niż wynikałoby to z podziału 16 MHz/(dzielnik·ICR1A), ponieważ licznik w czasie jednego okresu liczy zarówno w górę, jak i w dół, co zapewnia stabilność fazową.
Do tego typu zastosowań, gdzie potrzebna jest stabilizacja danej wartości na określonym poziomie, najczęściej stosuje się sterowniki typu PID. Niestety, do prawidłowego działania wymaga dokładnego dobrania współczynników skalujących wyjście z każdego członu: proporcjonalnego, całkującego i różniczkującego. Bez tego układ może wpadać w oscylacje, bardzo długo dochodzić do zadanej wartości lub wcale jej nie osiągać. Dobór współczynników można wykonać poprzez analizę odpowiedzi jednostkowej układu, lecz jest to zadanie zbyt złożone, aby mogło być stosowane w uniwersalnym sterowniku.
Michał Kurzela, EP