Spisu treści:

Moduł dwukanałowego czujnika napięcia Arduino: 8 kroków
Moduł dwukanałowego czujnika napięcia Arduino: 8 kroków

Wideo: Moduł dwukanałowego czujnika napięcia Arduino: 8 kroków

Wideo: Moduł dwukanałowego czujnika napięcia Arduino: 8 kroków
Wideo: 58. . Projekt Robot - sterownik L298N i omijanie przeszkód 2024, Listopad
Anonim
Dwukanałowy moduł czujnika napięcia Arduino
Dwukanałowy moduł czujnika napięcia Arduino
Dwukanałowy moduł czujnika napięcia Arduino
Dwukanałowy moduł czujnika napięcia Arduino
Dwukanałowy moduł czujnika napięcia Arduino
Dwukanałowy moduł czujnika napięcia Arduino

Minęło kilka lat, odkąd napisałem instrukcję, myślałem, że nadszedł czas, aby wrócić. Chciałem zbudować czujnik napięcia, aby móc podłączyć się do zasilacza stołowego. Mam dwukanałowy zasilacz zmienny, nie ma wyświetlacza, więc do ustawienia napięcia muszę użyć woltomierza. Nie jestem inżynierem elektrykiem ani programistą, robię to jako hobby. Powiedziawszy to, zamierzam opisać to, co będziemy tutaj budować i może nie jest to najlepszy projekt ani najlepsze kodowanie, ale zrobię co w mojej mocy.

Krok 1: O projekcie

O projekcie
O projekcie
O projekcie
O projekcie
O projekcie
O projekcie

Przede wszystkim jest to tylko wstępny projekt czegoś bardziej stabilnego i niezawodnego, niektóre elementy nie trafią do ostatecznego projektu. Większość komponentów została wybrana tylko ze względu na dostępność (miałem je w domu), a nie ze względu na ich niezawodność. Ten projekt jest przeznaczony dla zasilacza 15 V, ale można wymienić kilka elementów pasywnych i sprawić, że będzie działał na dowolnym napięciu lub prądzie. Czujniki prądu są dostępne w wersjach 5A, 20A i 30A, wystarczy wybrać natężenie i zmodyfikować kod, tak samo z czujnikiem napięcia zmienić wartość rezystorów i kod do pomiaru wyższych napięć.

Płytka nie ma ustawionych wartości, ponieważ możesz wymienić elementy pasywne na potrzeby swojego zasilacza. Został zaprojektowany z myślą o dołączeniu do dowolnego zasilacza.

Krok 2: Czujniki napięcia

Czujniki napięcia
Czujniki napięcia
Czujniki napięcia
Czujniki napięcia
Czujniki napięcia
Czujniki napięcia
Czujniki napięcia
Czujniki napięcia

Zaczniemy od czujników napięcia i czujników prądu. Używam Arduino Mega do testowania obwodów i kodu, więc niektórzy początkujący, tacy jak ja, mogą tworzyć i testować własne w locie, zamiast budować cały moduł na płytce prototypowej.

Możemy zmierzyć tylko 0-5 woltów za pomocą wejść analogowych Arduino. Abyśmy mogli zmierzyć do 15 woltów, musimy stworzyć dzielnik napięcia, dzielniki napięcia są bardzo proste i można je utworzyć za pomocą tylko 2 rezystorów, w tym przypadku używamy 30k i 7,5k, co dałoby nam stosunek 5:1, dzięki czemu możemy zmierzyć wartości 0-25 woltów.

Lista części do czujnika napięcia

Rezystory R1, R3 30k

Rezystory R2, R4 7,5k

Krok 3: Czujniki prądu

Czujniki prądu
Czujniki prądu
Czujniki prądu
Czujniki prądu
Czujniki prądu
Czujniki prądu
Czujniki prądu
Czujniki prądu

Do obecnych czujników będę używał ACS712 firmy Allegro. Teraz pierwszą rzeczą, o której muszę wspomnieć, jest to, że wiem, że te czujniki nie są zbyt dokładne, ale to, co miałem pod ręką, projektując ten moduł. ACS712 jest dostępny tylko w pakiecie do montażu powierzchniowego i jest jednym z niewielu komponentów SMD używanych w tym module.

Lista części czujnika prądu

IC2, IC3 ASC712ELC-05A

Kondensator C1, C3 1nF

C2, C4 0.1uF kondensator

Krok 4: Czujnik temperatury i wentylator

Czujnik temperatury i wentylator
Czujnik temperatury i wentylator
Czujnik temperatury i wentylator
Czujnik temperatury i wentylator
Czujnik temperatury i wentylator
Czujnik temperatury i wentylator

Postanowiłem dodać do modułu kontrolę temperatury, ponieważ większość zasilaczy generuje sporą ilość ciepła i potrzebujemy zabezpieczenia przed przegrzaniem. Jako czujnik temperatury używam HDT11, a do sterowania wentylatorem użyjemy MOSFET-a 2N7000 N-Channel do napędzania wentylatora procesora 5V. Obwód jest dość prosty, musimy przyłożyć napięcie do Drain tranzystora i przykładać napięcie dodatnie do bramki, w tym przypadku używamy wyjścia cyfrowego arduino, aby zapewnić to napięcie, a tranzystor włącza się, umożliwiając pracę wentylatora pod napięciem.

Kod jest bardzo prosty pobieramy odczyt temperatury z czujnika DHT11 jeśli temperatura jest wyższa od naszej ustawionej wartości ustawia pin wyjściowy HIGH i włącza się wentylator. Gdy temperatura spadnie poniżej ustawionej temperatury, wentylator wyłącza się. Zbudowałem obwód na płytce prototypowej, aby przetestować mój kod, zrobiłem kilka szybkich zdjęć komórką, niezbyt dobrze przepraszam, ale schemat jest łatwy do zrozumienia.

Lista części czujnika temperatury i wentylatora

Czujnik temperatury J2 DHT11

Rezystor R8 10K

WENTYLATOR J1 5V

Q1 2N7000 MOSFET

Dioda D1 1N4004

Rezystor R6 10K

Rezystor R7 47K

Krok 5: Obwód zasilania

Obwód zasilania
Obwód zasilania
Obwód zasilania
Obwód zasilania
Obwód zasilania
Obwód zasilania

Moduł działa na 5V więc potrzebujemy stabilnego źródła zasilania. Używam regulatora napięcia L7805, aby zapewnić stałe zasilanie 5 V, niewiele do powiedzenia na temat tego obwodu.

Lista części obwodu zasilania

1 regulator napięcia L7805

C8 0.33uF kondensator

C9 0.1uF kondensator

Krok 6: LCD i wyjścia szeregowe

Wyjścia LCD i szeregowe
Wyjścia LCD i szeregowe
Wyjścia LCD i szeregowe
Wyjścia LCD i szeregowe
Wyjścia LCD i szeregowe
Wyjścia LCD i szeregowe
Wyjścia LCD i szeregowe
Wyjścia LCD i szeregowe

Zaprojektowałem moduł do użytku z wyświetlaczem LCD, ale potem zdecydowałem się dodać wyjście szeregowe do celów debugowania. Nie zamierzam wchodzić w szczegóły, jak skonfigurować wyświetlacz LCD I2C, ponieważ omówiłem go już w poprzednim instruktażowym wyświetlaczu LCD I2C W prosty sposób dodałem diody LED do linii Tx i Rx, aby pokazać aktywność. Używam adaptera usb na szeregowy, który podłączam do modułu, następnie otwieram monitor szeregowy w Arduino IDE i widzę wszystkie wartości, upewniam się, że wszystko działa tak, jak powinno.

Lista części LCD i seryjnych

I2C 16x2 I2C LCD (20x4 opcjonalnie)

LED7, LED8 0603 SMD LED

R12, R21 1K R0603 Rezystor SMD

Krok 7: Programowanie ISP i ATMega328P

Programowanie ISP i ATMega328P
Programowanie ISP i ATMega328P
Programowanie ISP i ATMega328P
Programowanie ISP i ATMega328P
Programowanie ISP i ATMega328P
Programowanie ISP i ATMega328P

Jak wspomniałem na początku ten moduł jest przeznaczony do budowania dla różnych konfiguracji, musimy dodać sposób na zaprogramowanie ATMega328 i wgrać nasze szkice. Istnieje kilka sposobów programowania modułu, jednym z nich jest użycie Arduino jako programisty ISP, jak w jednym z moich poprzednich Instructable Bootloading ATMega z Arduino mega.

Uwagi:

- Nie potrzebujesz kondensatora do załadowania szkicu ISP na Arduino, potrzebujesz go do wypalenia bootloadera i wgrania szkicu czujnika napięcia.

-W nowszych wersjach Arduino IDE należy połączyć pin 10 z pinem 1 RESET ATMega328.

Lista części obwodów ISP i ATMega328P

U1 ATMega328P

Kryształ XTAL1 16MHz HC-49S

Kondensatory C5, C6 22pf

6-pinowe złącze ISP1

Rezystor R5 10K

Zresetuj przełącznik 3x4x2 Tact SMD

Krok 8: Notatki i pliki

Notatki i pliki
Notatki i pliki
Notatki i pliki
Notatki i pliki
Notatki i pliki
Notatki i pliki

To był dla mnie tylko sposób na wprowadzenie kilku pomysłów do działającego urządzenia, jak wspomniałem wcześniej, to tylko mały dodatek do mojego dwukanałowego zasilacza stołowego. Dołączyłem wszystko, czego potrzebujesz do zbudowania własnego modułu, wszystkie pliki Eagle CAD i schematy. Załączyłem szkic Arduino, jest bardzo prosty i starałem się, aby był łatwy do zrozumienia i modyfikacji. Jeśli masz jakieś pytania, nie wahaj się ich zadać, postaram się na nie odpowiedzieć. Jest to projekt otwarty, sugestie są mile widziane. Staram się podać jak najwięcej informacji, ale późno dowiedziałem się o konkursie Arduino i chciałem to przesłać. Resztę napiszę wkrótce. Usunąłem również komponenty SMD (rezystory i diody LED) i zastąpiłem je komponentami TH, jedynym komponentem SMD jest czujnik prądu, ponieważ jest dostępny tylko w pakiecie SOIC, plik ZIP zawiera pliki z komponentami TH.

Zalecana: