Spisu treści:
- Krok 1: Wyjaśnienie
- Krok 2: Części i instrumenty
- Krok 3: Schematy elektryczne
- Krok 4: Tworzenie obudowy 3D
- Krok 5: Drukowanie 3D
- Krok 6: Montaż i lutowanie
- Krok 7: Programowanie
- Krok 8: Parowanie i testowanie
Wideo: Zdalnie sterowane biurko komputerowe: 8 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Ostatnio spotkałem się z problemem, że moje lenistwo stało się dla mnie ogromnym problemem w domu. Jak tylko idę spać, lubię umieścić jakąś ładną lampkę zasilaną diodami LED z serią odtwarzaną na moim komputerze. Ale… jeśli chcę wyłączyć te rzeczy, za każdym razem muszę WSTAWAĆ i wyłączać je ręcznie. Postanowiłem więc zbudować kompletny kontroler dla całego pulpitu PC, w którym mogę włączać i wyłączać monitory i światło, regulować głośność głośników i jasność podświetlenia paska LED, naciskając odpowiedni przycisk na pilocie.
Projekt to skrzynka kontrolera pulpitu PC / stołu warsztatowego, obsługiwana za pomocą pilota na podczerwień. Obecnie dostępnych jest wiele rodzajów pilotów na podczerwień, ale to nie jest problem. Ten kontroler jest regulowany i może być sparowany z dowolnym rodzajem pilota na podczerwień, który obsługuje odpowiedni protokół dla naszego używanego czujnika (omówimy to później).
Sterowane biurko komputerowe wyposażone jest w:
- Sterowanie zasilaniem AC: Włączanie/wyłączanie zasilania monitora podłączonego do 220VAC
- Sterowanie zasilaniem prądem stałym: włączanie/wyłączanie zasilania monitora podłączonego do zasilania prądem stałym (do 48 V)
- Kontrola głośności dźwięku: pełna kontrola głośności stereo przekazywanej do głośników
- Kontrola oświetlenia taśmy LED: pełna kontrola jasności oświetlenia taśmy LED
Urządzenie posiada odpowiednio zaprojektowany interfejs użytkownika oraz regulowane przegrody mechaniczne, dzięki czemu jest łatwe w budowie i łatwe w obsłudze:
- Wyświetlacz: Status wszystkich sterowanych systemów w czasie rzeczywistym jest prezentowany na wyświetlaczu LCD 16x4
- LED RGB: W celu uzyskania dodatkowej informacji zwrotnej dla systemu, celem tego jest potwierdzenie dla użytkownika, że odebrany został sygnał z pilota na podczerwień
- System parowania: Urządzenie zawiera pojedynczy przycisk, który należy wcisnąć w celu parowania. Po zainicjowaniu procesu parowania możemy sparować dowolnego pilota na podczerwień z naszym urządzeniem, postępując zgodnie z instrukcjami wyświetlanymi na wyświetlaczu.
Po omówieniu podstaw, zbudujmy to!
Krok 1: Wyjaśnienie
Działanie urządzenia można uznać za proste, ze względu na brak złożoności konstrukcyjnej. Jak widać na schemacie blokowym, „mózgiem” jest mikrokontroler AVR, podczas gdy wszystkie pozostałe części są sterowane przez ten „mózg”. Aby uporządkować cały obraz w naszym umyśle, opiszmy projekt blok po bloku:
Zasilacz: Źródłem zasilania wybranego urządzenia jest zasilacz taśmy LED, który może dostarczyć do systemu wejście 24VDC. Mikrokontroler, przekaźniki, potencjometry cyfrowe i wzmacniacze audio działają przy napięciu 5V, dlatego do projektu dodano konwerter obniżający napięcie DC-DC. Głównym powodem zastosowania DC-DC zamiast regulatora liniowego jest rozpraszanie mocy i brak wydajności. Załóżmy, że używamy klasycznego LM7805 z wejściem 24V i wyjściem 5V. Gdy prąd osiągnie znaczne wartości, moc, która rozproszy się w postaci ciepła na regulatorze liniowym, będzie ogromna i może się przegrzać, dołączając szum buczący do obwodów audio:
Pout = Pin + Pdiss, więc przy 1A osiągamy: Pdiss = Pin - Pout = 24*1 - 5*1 = 19W (rozproszenia mocy).
Mikrokontroler: Aby jak najszybciej napisać kod, wybrałem oparty na AVR ATMEGA328P, który jest szeroko stosowany w płytach Arduino UNO. Zgodnie z wymaganiami projektowymi, wykorzystamy prawie całą obsługę urządzeń peryferyjnych: przerwania, liczniki czasu, UART, SPI i tak dalej. Ponieważ jest to główny blok w systemie, łączy się ze wszystkimi częściami urządzenia
-
Interfejs użytkownika: Panel przedni urządzenia zawiera wszystkie części, z którymi użytkownik powinien wchodzić w interakcje:
- Czujnik podczerwieni: czujnik do dekodowania danych pilota na podczerwień.
- Przycisk: jest wymagany do sparowania pilota na podczerwień z urządzeniem
- RGB LED: Estetyczne mocowanie zapewniające informację zwrotną o otrzymywaniu informacji przez system
- LCD: Graficzna reprezentacja tego, co dzieje się wewnątrz urządzenia
Sterowanie monitorami: Aby urządzenie było w stanie przełączać zasilanie na monitorach PC, istnieje potrzeba radzenia sobie z dużymi wartościami napięcia. Na przykład moje monitory Samsung w ogóle nie współdzielą konfiguracji zasilania: jeden jest zasilany 220 V AC, a drugi jest zasilany przez własny zasilacz 19,8 V. W związku z tym rozwiązaniem był obwód przekaźnikowy dla każdej z linii zasilania monitora. Przekaźniki te są sterowane przez MCU i są całkowicie odseparowane, co sprawia, że transmisja zasilania monitora jest niezależna dla każdego monitora
Light Control: Mam listwę LED, do której dołączony jest zasilacz 24VDC, który służy jako wejście zasilania systemu. Ponieważ istnieje potrzeba przewodzenia dużego prądu przez taśmę LED, jej mechanizm jasności obejmuje obwód ogranicznika prądu oparty na tranzystorze MOSFET, który działa w liniowym obszarze strefy aktywnej
Regulacja głośności: Ten system opiera się na przepuszczaniu sygnałów audio na kanałach LEWYM i PRAWYM przez dzielniki napięcia, gdzie przyłożone napięcie jest zmieniane za pomocą ruchu wycieraczki potencjometrem cyfrowym. Istnieją dwa podstawowe obwody LM386, w których na każdym wejściu znajduje się pojedynczy dzielnik napięcia (omówimy to później). Wejście i wyjście to gniazda stereo 3,5 mm
Wygląda na to, że omówiliśmy wszystkie integralne części obwodów. Przejdźmy do schematów elektrycznych…
Krok 2: Części i instrumenty
Wszystko, czego potrzebujemy do zbudowania projektu:
Części elektroniczne
-
Wspólne składniki:
-
Rezystory:
- 6x10K
- 1x180R
- 2x100R
- 1x1K
- 2x1M
- 2x10R
- Kondensatory:
-
- 1 x 68nF
- 2x10uF
- 4x100nF
- 2 x 50nF
- 3x47uF
-
Różne:
- Diody: 2 x 1N4007
- Trymer: 1x10K
- BJT: 3 x 2N2222A
- P-MOSFET: ZVP4424
-
Obwody scalone:
- MCU: 1 x ATMEGA328P
- Wzmacniacz audio: 2 x LM386
- Podwójny potencjometr cyfrowy: 1 x MCP4261
- Pojedynczy potencjometr cyfrowy: 1 x X9C104P
- DC-DC: 1 x BCM25335 (Może być zastąpiony dowolnym urządzeniem przyjaznym dla DC-DC 5V)
- Wzmacniacz operacyjny: 1 x LM358
- Przekaźniki: Podwójny SPDT odporny na 5 V
- Zewnętrzny zasilacz 24 V
-
Interfejs użytkownika:
- LCD: 1x1604A
- Czujnik podczerwieni: 1 x CDS-IR
- Przycisk: 1 x SPST
- LED: 1 x LED RGB (4 styki)
-
Złącza:
- Bloki zaciskowe: 7 x 2 styki TB
- Złącza Board-to-Wire: kabel stykowy 3 x 4 + złącza obudowy
- Audio: 2x3.5mm żeńskie złącza jack
- Zasilacz wyjściowy: 2 x 220VAC złącza zasilania (męskie)
- Gniazdo DC: 2 x męskie złącza DC Jack
- Taśma LED i zewnętrzne zasilanie: 1 x 4-stykowe złącza zmontowane płytka-przewody + kabel
Komponenty mechaniczne
- Filament do drukarki 3D - PLA+ w dowolnym kolorze
- 4 śruby o średnicy 5mm
- Płyta prototypowa o wymiarach co najmniej 9 x 15 cm
- Zapas nieużywanych przewodów
Narzędzia
- Drukarka 3D (użyłem Creality Ender 3 z dołączonym szklanym łóżkiem)
- Pistolet na gorący klej
- Pinceta
- Obcęgi
- Nóż
- Zewnętrzny zasilacz 24 V
- Oscyloskop (opcjonalnie)
- Programator AVR ISP (do flashowania MCU)
- Wkrętak elektryczny
- Lutownica
- Generator funkcji (opcjonalnie)
-
Krok 3: Schematy elektryczne
Schemat ideowy podzielony jest na oddzielne obwody, co może ułatwić nam zrozumienie jego działania:
Jednostka mikrokontrolera
Jest to ATMEGA328P oparty na AVR, jak opisano powyżej. Wykorzystuje wewnętrzny oscylator i działa z częstotliwością 8 MHz. J13 to złącze programatora. W świecie AVR jest wielu programistów, w tym projekcie użyłem ISP Programmer V2.0 z eBay. J10 to linia UART TX i jest używana głównie do celów debugowania. Podczas konstruowania procedury obsługi przerwań czasami dobrze jest wiedzieć, co system ma nam do powiedzenia od środka. D4 to dioda LED RGB, która jest sterowana bezpośrednio z MCU, ze względu na niski prąd znamionowy. Kołek PD0 dołączony jest do przycisku typu SPST z zewnętrznym podciąganiem.
Czujnik podczerwieni
Czujnik podczerwieni użyty w tym projekcie to uniwersalny, trzypinowy czujnik podczerwieni, który jest dostępny na eBayu w bardzo przyjaznych cenach. Pin sygnału wyjściowego IR jest podłączony do pinu wejściowego przerwania (INT1) MCU,
LCD
Wyświetlacz to prosta implementacja wyświetlacza 1604A z 4-bitową transmisją danych. Wszystkie piny sterujące/dane są połączone z MCU. Należy zauważyć, że wyświetlacz LCD jest podłączony do płyty głównej za pomocą dwóch złącz J17, J18. Do włączania/wyłączania modułu LCD służy pojedynczy przełącznik BJT, przełączający linię masy dla LCD.
Zasilacz
Wszystkie obwody wewnętrzne, poza paskiem LED, pracują pod napięciem 5V. Jak wspomniano wcześniej, źródło zasilania 5V to prosty moduł DC-DC (tu rozwiązanie pomógł mi eBay), który zamienia 24V na 5V, bez problemu z nagrzewaniem, który mógłby wystąpić na regulatorze liniowym. Kondensatory C[11..14] są używane do bocznikowania i są niezbędne do tego projektu ze względu na szum przełączania występujący na liniach zasilających DC-DC - zarówno wejściowych, jak i wyjściowych.
Kontrola monitora
Obwody sterowania monitorami to tylko układy przełączania przekaźników. Ponieważ mam dwa monitory, jeden jest zasilany z 220VAC, a drugi z 19,8V, wymagana jest inna implementacja.: Każde wyjście MCU jest podłączone do 2N2222 BJT, a cewka przekaźnika jest podłączona jako obciążenie od 5V do pinu kolektora BJT. (Nie zapomnij dołączyć odwróconej diody dla odpowiedniego rozładowania prądu!). Przy 220VAC przekaźnik przełącza linie LINE i NEUTRAL, a przy 19,8V przekaźnik przełącza tylko linię zasilania DC - ponieważ ma własne zasilanie, linie uziemienia są wspólne dla obu obwodów.
Regulacja głośności dźwięku
Chciałem użyć wzmacniaczy audio LM386 jako buforów dla dzielników napięcia, aby zapewnić ostrożną transmisję sygnału audio. Każdy kanał - lewy i prawy pochodzi z wejścia audio jack 3,5 mm. Ponieważ LM386 implementuje przy minimalnej konfiguracji części standardowe wzmocnienie G = 20, dla obu kanałów jest rezystor 1 MOhm. W ten sposób możemy zmniejszyć całkowitą moc kanałów wejściowych systemu głośników:
V(wyjście maks.) = R(maks.) * V(wejście) / (R(maks.) + 1 MOhm) = V(w) * 100K / 1,1M.
A całkowity zysk to: G = (Vout / Vin) * 20 = 20 / 11 ~ 1,9
Dzielnik napięcia to prosta sieć potencjometrów cyfrowych, w której wycieraczka przekazuje sygnał do bufora LM386 (U2 to układ scalony). Urządzenie współdzieli SPI dla wszystkich obwodów peryferyjnych, gdzie tylko linie ENABLE są rozdzielone dla każdego z nich. MCP4261 to 8-bitowy liniowy cyfrowy potencjometr IC 100K, więc każdy krok wzrostu głośności jest wyrażony: dR = 100 000 / 256 ~ 390 Ohm.
Piny A i B dla każdego kanału LEWY i PRAWY są połączone z GND i 5V. W ten sposób w pozycji wycieraczki na dole cały sygnał audio przechodzi do GND za pośrednictwem rezystora 1MOhm MUTING.
Kontrola jasności taśmy LED:
Idea regulacji jasności jest podobna do regulacji głośności, ale tutaj mamy problem: potencjometr cyfrowy może przesyłać tylko sygnały, których amplitudy nie przekraczają 5V do GND. Pomysł polega więc na umieszczeniu prostego bufora wzmacniacza operacyjnego (LM358) za dzielnikiem napięcia potencjometru cyfrowego. i napięcie sterujące związane bezpośrednio z tranzystorem PMOS.
X9C104P to pojedynczy 8-bitowy potencjometr cyfrowy o wartości 100KOhm. Obliczenie napięcia bramki możemy otrzymać posługując się jedynie algebraicznymi regułami przepływu prądu:
V(bramka) = V(wiper) * (1 + R10/R11) = 2V(wiper) ~ 0 - 10V (co wystarcza do włączenia/wyłączenia i sterowania jasnością)
Krok 4: Tworzenie obudowy 3D
Do obudowy urządzenia użyłem FreeCAD v0.18, który jest świetnym narzędziem nawet dla nowicjuszy takich jak ja.
Typ obudowy
Chciałem stworzyć pudełko, w którym znajduje się pojedyncza powłoka, która będzie spawać lutowaną płytkę. Panel przedni zawiera wszystkie części interfejsu użytkownika, a panel tylny zawiera wszystkie złącza do elektroniki biurka. Panele te są wkładane bezpośrednio do obudowy głównej za pomocą 4-śrubowego zespołu w górnej pokrywie.
Wymiary
Prawdopodobnie najważniejszy krok w sekwencji. Należy wziąć pod uwagę wszystkie odpowiednie odległości i obszary odcięcia. Jak widać na zdjęciach, przede wszystkim wymiary jakie zostały zrobione są na przednim i tylnym panelu:
Panel przedni: obszary odcięcia dla LCD, przełącznika, diody LED i czujnika podczerwieni. Wszystkie te wymiary pochodzą z arkusza danych producenta dla każdej części. (W przypadku, gdy chcesz użyć innej części, musisz upewnić się, że wszystkie wycięte obszary są bezpieczne.
Panel tylny: Dwa otwory na gniazda audio 3,5 mm, Dwa 3-liniowe złącza zasilania 220 V, Dwa gniazda męskie do zasilania prądem stałym oraz dodatkowe otwory na pasek LED i zasilanie urządzenia
Top Shell: Ta powłoka służy tylko do łączenia wszystkich części razem. Ponieważ przedni i tylny panel są wkładane do dolnej skorupy.
Powłoka dolna: podstawa urządzenia. Mieści panele, płytkę elektroniczną lutowaną oraz wkręty przymocowane do górnej pokrywy.
Projektowanie części
Po utworzeniu paneli możemy przejść do dolnej powłoki. Zaleca się, aby po każdym kroku zapewnić całkowite rozmieszczenie części. Dolna skorupa ma prosty, wytłaczany kształt na bazie prostokąta, z symetrycznymi kieszeniami w pobliżu krawędzi skorupy (patrz rys. 4).
Po etapie kieszeniowania należy wykonać 4-śrubowe podstawy do mocowania okładki. Zostały zaprojektowane jako wkładka prymitywnych cylindrów o różnych promieniach, gdzie wycięty cylinder jest dostępny po operacji XOR.
Teraz mamy kompletną dolną skorupę. Aby stworzyć odpowiednią osłonę, należy naszkicować wierzch skorupy i stworzyć te same punkty walcowe (ja dołączyłem tylko punkty do nawiercenia, ale istnieje możliwość wykonania otworów o stałych średnicach).
Po skompletowaniu całej obudowy urządzenia, możemy to sprawdzić, montując ze sobą części.
Krok 5: Drukowanie 3D
Wreszcie jesteśmy tutaj i możemy przejść do drukowania. Dostępne są pliki STL dla tego projektu, oparte na moim projekcie. Może być problem z tymi plikami do wydrukowania, ponieważ nie są brane pod uwagę tolerancje. Te tolerancje można dostosować w aplikacji slicera (użyłem Ultimaker Cura) dla plików STL.
Opisane części zostały wydrukowane na Creality Ender 3, ze szklanym łożem. Warunki nie odbiegają od standardowych, ale należy wziąć pod uwagę:
- Średnica dyszy: 0,4 mm
- Gęstość wypełnienia: 50%
- Wsparcie: w ogóle nie ma potrzeby mocowania podpory
- Zalecana prędkość: 50mm/s dla projektu
Jak tylko części obudowy zostaną wydrukowane, trzeba je sprawdzić w praktyce. Jeśli nie ma problemów z dołączeniem części obudowy, możemy przystąpić do etapu montażu i lutowania.
Jest pewien problem z przeglądarką STL w instrukcjach, więc sugeruję najpierw ją pobrać:)
Krok 6: Montaż i lutowanie
Proces lutowania jest trudny, ale jeśli rozdzielimy sekwencję na różne obwody, będzie nam znacznie łatwiej ją dokończyć.
- Obwód MCU: należy najpierw przylutować z żeńskim złączem do programowania. Na tym etapie możemy faktycznie przetestować jego działanie i łączność.
- Obwód audio: drugi. Nie zapomnij dołączyć listew zaciskowych na lutowanej płytce. Bardzo ważne jest odizolowanie toru powrotnego układów audio od cyfrowych – zwłaszcza układów potencjometrów cyfrowych, ze względu na ich zaszumiony charakter.
- Obwody monitorujące: Podobnie jak w przypadku obwodów audio, nie zapomnij podłączyć listwy zaciskowej do portów we/wy.
- Złącza i panel interfejsu użytkownika: Ostatnie rzeczy, które należy podłączyć. Panel interfejsu użytkownika jest podłączony do lutowanej płytki poprzez złącze Board-To-Wire, gdzie przewody są wlutowane bezpośrednio do części zewnętrznych.
Po procesie lutowania następuje prosta sekwencja mocowania części mechanicznych. Jak zostało zauważone powyżej, należy w rogach przykręcić 4 śruby (ja użyłem tych o średnicy 5mm) znajdujące się na obudowie. Następnie istnieje potrzeba podłączenia części interfejsu użytkownika i złączy tylnego panelu do świata zewnętrznego. Preferowanym narzędziem jest pistolet do klejenia na gorąco.
Bardzo przydatne będzie sprawdzenie rozmieszczenia części w drukowanej obudowie. Jeśli wszystko wygląda dobrze, możemy przejść do etapu programowania.
Krok 7: Programowanie
Ten krok jest zabawny. Ponieważ istnieje wiele rzeczy, które muszą działać, użyjemy w sumie 5 usług MCU: przerwanie zewnętrzne, urządzenia peryferyjne SPI, UART do logowania, zegary do precyzyjnego zliczania i EEPROM do przechowywania naszych zdalnych kodów IR.
EEPROM jest niezbędnym narzędziem dla naszych przechowywanych danych. W celu zapamiętania kodów pilotów IR należy wykonać sekwencję naciśnięć przycisków. Po każdej sekwencji system zapamięta kody niezależnie od stanu, czy urządzenie jest zasilane czy nie.
Możesz znaleźć cały projekt Atmel Studio 7 zarchiwizowany jako RAR na dole tego kroku.
Programowanie odbywa się za pomocą programatora AVR ISP V2, 0 za pomocą prostej aplikacji ProgISP. Jest to bardzo przyjazna aplikacja z kompletnym interfejsem użytkownika. Wystarczy wybrać odpowiedni plik HEX i pobrać go do MCU.
WAŻNE: Przed przystąpieniem do programowania MCU należy upewnić się, że wszystkie odpowiednie ustawienia są zdefiniowane zgodnie z wymaganiami projektowymi. Podobnie jak częstotliwość zegara wewnętrznego - domyślnie ma bezpiecznik dzielnika aktywny w ustawieniu fabrycznym, więc musi być zaprogramowany na stan logiczny HIGH.
Krok 8: Parowanie i testowanie
W końcu tu jesteśmy, po całej ciężkiej pracy, która została wykonana:)
Aby prawidłowo korzystać z urządzenia, konieczna jest sekwencja parowania, dzięki czemu urządzenie "zapamięta" dołączonego pilota IR, który będzie używany. Etapy parowania są następujące:
- Włącz urządzenie, poczekaj na inicjalizację głównego wyświetlacza UI
- Naciśnij przycisk po raz pierwszy
- Zanim licznik osiągnie zero, naciśnij przycisk jeszcze raz
- Naciśnij odpowiedni klawisz, który chcesz mieć określoną funkcję, zgodnie z urządzeniem
- Zrestartuj urządzenie, upewnij się, że teraz reaguje na zdefiniowane klawisze.
I to wszystko!
Mam nadzieję, że ta instrukcja będzie przydatna, Dziękuje za przeczytanie!
Zalecana:
Zdalnie sterowane oczy LED i maska kostiumowa: 7 kroków (ze zdjęciami)
Zdalnie sterowane oczy LED i maska kostiumowa: Twin Jawas! Podwójne Orko! Dwóch duchowych czarodziejów z Bubble-Bobble! Ten kaptur kostiumowy może być dowolnym stworzeniem o oczach LED, które wybierzesz, zmieniając tylko kolory. Po raz pierwszy wykonałem ten projekt w 2015 roku z bardzo prostym obwodem i kodem, ale w tym roku chciałem
Zdalnie sterowane oświetlenie pulpitu RGB: 5 kroków
Zdalnie sterowane oświetlenie pulpitu RGB: Ten projekt demonstruje użycie Firebase jako serwera do kontrolowania i manipulowania diodami LED wzdłuż tylnej części mojego stołu
Aluminiowe biurko komputerowe za 30 USD: 4 kroki
Aluminiowe biurko komputerowe za 30 USD: Zgrabne biurko komputerowe wykonane z materiałów pochodzących z recyklingu. Dostałem kilka desek offsetowych od lokalnej drukarni gazetowej. Całkowity koszt poniżej 30 $
Jak zrobić zdalnie sterowane urządzenie do usuwania kolców lub tablicę rozdzielczą za pomocą samodzielnego Atmega328P: 6 kroków (ze zdjęciami)
Jak zrobić zdalnie sterowany Spike Buster lub Switch Board przy użyciu samodzielnego Atmega328P: W tym projekcie pokażę, jak zbudować zdalnie sterowany Spike Buster lub Switch Board przy użyciu samodzielnego Atmega328P. Ten projekt jest zbudowany na niestandardowej płytce PCB z bardzo małą liczbą komponentów. Jeśli wolisz oglądać wideo, umieściłem to samo lub
Zdalnie sterowane oświetlenie nastrojowe Power RGB LED.: 3 kroki (ze zdjęciami)
Zdalnie sterowane światło nastrojowe Power RGB LED.: Kontroluj kolor potężnej wiązki światła LED za pomocą pilota, przechowuj kolory i przywołuj je do woli. trzy podstawowe kolory: czerwony zielony