W tym samouczku opracujemy zmienne źródło napięcia 5 V z Arduino Uno. W tym celu użyjemy funkcji ADC (konwersja analogowo-cyfrowa) i PWM (modulacja szerokości impulsu).
Niektóre cyfrowe moduły elektroniczne, takie jak akcelerometr, działają na napięciu 3,3 V, a niektóre na 2,2 V. Niektórzy pracują nawet na niższych napięciach. Dzięki temu nie możemy uzyskać regulatora dla każdego z nich. Więc tutaj utworzymy prosty obwód, który zapewni napięcie wyjściowe od 0 do 5 woltów przy rozdzielczości 0,05 V. Dzięki temu możemy dokładnie podać napięcia dla innych modułów.
Obwód ten może dostarczać prądy do 100 mA, więc możemy bez problemu zastosować ten zasilacz dla większości modułów czujników. To wyjście obwodu może być również używane do ładowania akumulatorów AA lub AAA. Mając wyświetlacz na miejscu, możemy łatwo zobaczyć wahania mocy w systemie. Ten zmienny zasilacz zawiera interfejs przycisków do programowania napięcia. Działanie i obwód wyjaśniono poniżej.
Sprzęt: Arduino Uno, zasilacz (5v), kondensator 100uF (2 sztuki), przycisk (2 sztuki), rezystor 1KΩ (3 sztuki), wyświetlacz LCD 16 * 2 znaków, tranzystor 2N2222.
Oprogramowanie: Atmel studio 6.2 lub AURDINO nightly.
Schemat obwodu i objaśnienie robocze
Obwód jednostki zmienna napięcia przy Arduino pokazano na schemacie poniżej.
Napięcie na wyjściu nie jest całkowicie liniowe; będzie głośno. Aby odfiltrować szum, kondensatory są umieszczone na zaciskach wyjściowych, jak pokazano na rysunku. Dwa przyciski służą do zwiększania i zmniejszania napięcia. Wyświetlacz pokazuje napięcie na zaciskach OUTPUT.
Przed przystąpieniem do pracy musimy przyjrzeć się funkcjom ADC i PWM Arduino UNO.
Tutaj weźmiemy napięcie dostarczone na terminalu OUTPUT i wprowadzimy je do jednego z kanałów ADC Arduino. Po przeliczeniu weźmiemy tę wartość CYFROWĄ, odniesiemy ją do napięcia i pokażemy wynik na wyświetlaczu 16 * 2. Ta wartość na wyświetlaczu reprezentuje zmienną wartość napięcia.
ARDUINO ma sześć kanałów ADC, jak pokazano na rysunku. W nich jeden lub wszystkie z nich mogą być użyte jako wejścia dla napięcia analogowego. UNO ADC ma rozdzielczość 10 bitów (czyli wartości całkowite z (0- (2 ^ 10) 1023)). Oznacza to, że będzie mapował napięcia wejściowe od 0 do 5 woltów na wartości całkowite z przedziału od 0 do 1023. Tak więc dla każdego (5/1024 = 4,9 mV) na jednostkę.
Tutaj użyjemy A0 z UNO.
|
Przede wszystkim kanały UNO ADC mają domyślną wartość odniesienia 5V. Oznacza to, że możemy podać maksymalne napięcie wejściowe 5 V do konwersji ADC na dowolnym kanale wejściowym. Ponieważ niektóre czujniki dostarczają napięcia od 0-2,5 V, przy wartości odniesienia 5 V uzyskujemy mniejszą dokładność, więc mamy instrukcję, która umożliwia nam zmianę tej wartości odniesienia. Tak więc do zmiany wartości odniesienia mamy („analogReference ();”) Na razie zostawiamy ją jako.
Domyślnie otrzymujemy maksymalną rozdzielczość ADC płyty, która wynosi 10 bitów, rozdzielczość tę można zmienić za pomocą instrukcji („analogReadResolution (bits);”). Ta zmiana rozdzielczości może się przydać w niektórych przypadkach. Na razie zostawiamy to jako.
Teraz, jeśli powyższe warunki są ustawione na domyślne, możemy odczytać wartość z ADC kanału '0' bezpośrednio wywołując funkcję „analogRead (pin);”, tutaj „pin” oznacza pin, do którego podłączyliśmy sygnał analogowy, w tym przypadku jest to byłoby „A0”.
Wartość z ADC można przyjąć jako liczbę całkowitą jako „float VOLTAGEVALUE = analogRead (A0); ”, W tej instrukcji wartość po ADC zostaje zapisana jako liczba całkowita„ VOLTAGEVALUE ”.
PWM UNO można uzyskać na dowolnym z pinów oznaczonych jako „~” na płytce drukowanej. W UNO jest sześć kanałów PWM. Zamierzamy używać PIN3 do naszych celów.
analogWrite (3, VALUE); |
Z powyższego warunku możemy bezpośrednio uzyskać sygnał PWM na odpowiednim pinie. Pierwszy parametr w nawiasach służy do wyboru numeru pinu sygnału PWM. Drugi parametr służy do zapisu współczynnika wypełnienia.
Wartość PWM UNO można zmienić w zakresie od 0 do 255. Od „0” jako najniższego do „255” jako najwyższego. Z 255 jako współczynnikiem wypełnienia otrzymamy 5V na PIN3. Jeśli współczynnik wypełnienia podano jako 125, na PIN3 otrzymamy 2,5V
Jak wspomniano wcześniej, są dwa przyciski podłączone do PIN4 i PIN5 UNO. Po naciśnięciu wartość współczynnika wypełnienia PWM wzrośnie. Po naciśnięciu innego przycisku wartość współczynnika wypełnienia PWM maleje. Więc zmieniamy współczynnik wypełnienia sygnału PWM na PIN3.
Ten sygnał PWM na PIN3 jest doprowadzany do bazy tranzystora NPN. Ten tranzystor dostarcza zmienne napięcie na swoim emiterze, działając jako urządzenie przełączające.
Przy zmiennym współczynniku wypełnienia PWM u podstawy będzie napięcie zmienne na wyjściu emitera. Dzięki temu mamy pod ręką zmienne źródło napięcia.
Wyjście napięcia jest podawane do UNO ADC, aby użytkownik mógł zobaczyć napięcie wyjściowe.