Opis działania układu
Schemat elektryczny układu przedstawiono na rysunku 1. Sterownik zbudowano na 8-wyprowadzeniowym mikrokontrolerze AT90S2343, który jest wyposażony między innymi w nieulotną pamięć EEPROM, gdzie przechowywane są kody poszczególnych komend sterujących pracą układu. Elementy R2, C2 odpowiedzialne są za zerowanie procesora podczas włączania zasilania. Mikrokontroler nie wymaga zastosowania zewnętrznego rezonatora kwarcowego, gdyż ma wbudowany generator RC. Odbiornik podczerwieni TFMS5360 dołączono do wejścia PB4 procesora. Dioda świecąca D1 służy do sygnalizacji stanu przekaźnika PK1 sterowanego tranzystorem T7 z wyjścia PB2 procesora, pełni także użyteczną rolę podczas programowania kodów wysyłanych przez pilota. Układ powinien być zasilany napięciem stałym o wartości ok. 12 VDC. Część cyfrowa urządzenia zasilana jest napięciem +5 VDC, dostarczanym przez scalony stabilizator napięcia US2.
Każda odebrana komenda pochodząca z nadajnika kodu RC5 jest przez procesor analizowana. Jeżeli odebrana komenda odpowiada jednemu z zarejestrowanych wcześniej poleceń, to następuje wprowadzenie w ruch silnika na czas określony czasem transmisji i w zadanym kierunku. Każde odebranie komendy przypisanej przekaźnikowi PK1 powoduje zmianę jego stanu na przeciwny.
Przekaźnik typu RM96 jest przeznaczony do przełączania prądów o wartości do 8 A, co w większości przypadków powinno w zupełności wystarczyć do załączania obwodów wzmacniacza. Dioda D2 zabezpiecza tranzystor T7 przed skutkami przepięć pojawiających się na cewce przekaźnika w chwili wyłączania.
Cześć wykonawcza jest typowym dwukierunkowym sterownikiem silnika prądu stałego, którego pracą sterują dwa sygnały cyfrowe. Silnik włączono w przekątną mostka utworzonego przez tranzystory mocy typu BD139 i BD140. Pojawienie się stanu wysokiego na wyjściu PB0 układu US1 spowoduje spolaryzowanie tranzystora T5, a także tranzystorów T4 i T1. Prąd elektryczny popłynie na drodze: +zasilania, tranzystor T1, uzwojenie silnika, tranzystor T4 i masa zasilania. Silnik podłączony do złącza CON1 zacznie się obracać w jedną stronę. Analogiczna sytuacja wystąpi, jeżeli zostanie spolaryzowany tranzystor T6 z tym że silnik zacznie obracać się w przeciwną stronę.
Programowanie i obsługa
Aby w pamięci układu zapisać komendy sterujące, należy wyłączyć zasilanie układu i założyć zworkę na styki JP1. Po włączeniu zasilania procesor przejdzie w tryb programowania, sygnalizując ten fakt krótkotrwałym obracaniem się potencjometru w jednym kierunku. Po zakończeniu ruchu silnika musimy usunąć zworkę JP1 oraz nacisnąć ten przycisk w pilocie, który będzie odpowiedzialny za ruch silnika w tymże kierunku. Odebranie poprawnej transmisji sygnalizowane jest krótkim błyskiem diody D1 oraz krótkotrwałym obrotem silnika w przeciwnym kierunku, co jest zachętą do podania kolejnej komendy z pilota. Jeżeli procesor odebrał poprawną komendę, błyśnie dioda D1, a układ przejdzie w tryb programowania przycisku sterującego przekaźnikiem, powodując równocześnie z diodą LED jego krótkotrwałe załączenie. Po odebraniu poprawnej komendy urządzenie jest gotowe do pracy. Po zarejestrowaniu komend program sterujący pracą procesora pozostaje w niekończącej się pętli, przedstawionej na list. 1 (program sterujący napisano w Bascomie).
Sub Main
Set Portb.2: Set Portb.3 'ustalenie stanu wysokiego na wyjściach sterujących
'przekaźnikiem i diodą LED
Readeeprom Com1 , 1 'odczytaj z pamięci EEPROM wartość komendy
'nakazującej obracanie silnika
Readeeprom Com2 , 2 'odczytaj z pamięci EEPROM wartość komendy
'nakazującej obracanie silnika
Readeeprom Com3 , 4 'odczytaj z pamięci EEPROM wartość komendy sterującej
'przekaźnikiem
Do
Getrc5(address , Command) 'próba odebrania kodu RC5
Command = Command And &B10111111
If Command = Com3 And Portb.2 = 0 Then 'jeżeli odebrana komenda odpowiada komendzie
'sterującej przekaźnikiem i przekaźnik nie jest
'załączony to:
Set Portb.3: Set Portb.2 'załącz przekaźnik i diodę LED
End If
If Command = Com3 And Portb.2 = 1 Then 'jeżeli odebrana komenda odpowiada komendzie
'sterującej przekaźnikiem i przekaźnik jest załączony
'to:
Reset Portb.3: Reset Portb.2 'wyłącz przekaźnik i diodę LED
End If
If Command = Com1 Then 'jeżeli odebrana komenda odpowiada komendzie
'nakazującej obracanie silnika w jednym kierunku to:
Reset Portb.1: Set Portb.0 'wysteruj jeden z tranzystorów
Do
Getrc5(address , Command)
Command = Command And &B10111111
If Command <> Com1 Then Exit Do 'jeżeli odebrana komenda jest inna niż komenda
'nakazująca obracanie silnika w jednym kierunku to
'wyjdź z pętli:
Loop
Reset Portb.0 'zakończ obracanie silnikiem
End If
If Command = Com2 Then 'jeżeli odebrana komenda odpowiada komendzie
'nakazującej obracanie silnika w drugim kierunku to:
Reset Portb.0: Set Portb.1 'wysteruj drugi z tranzystorów
Do
Getrc5(address , Command)
Command = Command And &B10111111
If Command <> Com2 Then Exit Do 'jeżeli odebrana komenda jest inna niż komenda
'nakazująca obracanie silnika w drugim kierunku to
'wyjdź z pętli:
Loop
Reset Portb.1 'zakończ obracanie silnikiem
End If
Loop
End Sub
Jeżeli po jakimś czasie chcielibyśmy zmienić komendy sterujące potencjometrem i przekaźnikiem, to ponowne wejście w tryb rejestracji komend jest możliwe po wyłączeniu zasilania, zwarciu jumpera JP1, ponownym włączeniu zasilania i usunięciu jumpera.
Na rysunku 2 przedstawiono rozmieszczenie elementów na płytce drukowanej wykonanej na laminacie dwustronnym z metalizacją. Montaż układu rozpoczynamy od wlutowania w płytkę rezystorów, podstawki pod procesor, kondensatorów, a zakończymy, montując tranzystory, odbiornik podczerwieni oraz przekaźnik, o ile zdecydujemy się na jego użycie. Na rysunku 3 pokazano funkcje wyprowadzeń potencjometru RK16814MG firmy ALPS.
Sterownik zmontowany ze sprawdzonych elementów nie wymaga regulacji i po zarejestrowaniu poleceń wysyłanych przez pilota nadaje się od razu do eksploatacji.
Proponowany układ, głównie dzięki zastosowaniu procesora, jest prosty w obsłudze i łatwy do wykonania nawet dla zupełnie początkującego elektronika. Jego praktyczne zalety zostały potwierdzone podczas długotrwałego używania sterownika do regulacji głośności wzmacniacza audio.
Grzegorz Becker
- R1: 100 Ω
- R2: 10 kΩ
- R3: 220 Ω
- R4: 1 kΩ
- R5, R6, R13: 2 kΩ
- R7…R12: 300 Ω
- C1, C3: 100 µF/16 V
- C2: 4,7 µF/16 V
- US1: 90S2343 zaprogramowany
- US2: 7805
- US3: TFMS5360 lub podobny
- T1, T3: BD138
- T2, T4: BD139
- T5, T6, T7: BC547
- D1: LED
- D2: 1N414
- PK1: RM96P12
- JP1: Jumper + goldpin 1×2
- ARK2/500
- ARK3/500 3,5 mm