Spisu treści:
- Krok 1: Wymagania sprzętowe
- Krok 2: Mikrokontroler CloudX M633
- Krok 3: Połączenia pinowe
- Krok 4: Schemat obwodu
- Krok 5: Zasada działania
- Krok 6: Oprogramowanie
Wideo: Woltomierz cyfrowy z CloudX: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Baterie zapewniają czystszą formę prądu stałego (prądu stałego), gdy są stosowane w obwodach. Ich niski poziom hałasu sprawia, że zawsze idealnie pasują do niektórych bardzo wrażliwych obwodów. Jednak w chwilach, gdy ich poziom napięcia spadnie poniżej pewnego punktu progowego, obwody (które mają zasilać) mogą wejść w nieprawidłowe zachowanie; zwłaszcza, gdy nie są dobrze zaprojektowane, aby sobie z tym poradzić.
W związku z tym pojawia się potrzeba regularnego monitorowania poziomu naładowania akumulatora, aby właściwie wskazać nam, kiedy należy go całkowicie wymienić lub naładować – w przypadku akumulatora. Dlatego w tym DIY (Zrób to sam) mamy zaprojektować prosty miernik napięcia baterii przy użyciu CloudX – wykorzystując 7Segment jako nasz wyświetlacz.
Krok 1: Wymagania sprzętowe
Moduł mikrokontrolera CloudX
CloudX USB
Karta miękka
Wyświetlacz 7-segmentowy
Rezystory
Zasilacz
Deska do krojenia chleba
Przewody połączeniowe (łączące)
Krok 2: Mikrokontroler CloudX M633
Moduł mikrokontrolera CloudX
Moduł CloudX to narzędzie do projektowania elektroniki, które pozwala w bardzo wygodny i łatwy sposób komunikować się ze światem fizycznym za pomocą prostej płytki mikrokontrolera. Cała platforma oparta jest na fizycznym przetwarzaniu open-source. Jego prostota IDE (zintegrowanego środowiska programistycznego) naprawdę sprawia, że jest to idealne rozwiązanie dla początkujących, zachowując jednocześnie wystarczającą funkcjonalność, aby umożliwić zaawansowanym użytkownikom końcowym nawigację. W skrócie, CloudX zapewnia znacznie uproszczony proces obsługi mikrokontrolera −poprzez wyabstrahowanie normalnych złożonych szczegółów z nim związanych; oferując jednocześnie bardzo bogatą platformę user-experience. Znajduje szerokie zastosowanie we wszystkich dziedzinach: w szkołach, jako doskonałe narzędzie edukacyjne, produkty przemysłowe i komercyjne oraz jako doskonałe narzędzie użytkowe w rękach hobbystów.
Krok 3: Połączenia pinowe
7-segmentowe piny: A, B, C, D, E, F, G, 1, 2 i 3 są podłączone do pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9 w CloudX-MCU, odpowiednio pin10 i pin11.
Krok 4: Schemat obwodu
Moduł mikrokontrolera, będący tutaj centralnym elementem, może być zasilany:
albo przez punkty Vin i Gnd (tj. podłączając je odpowiednio do zacisków +ve i –ve zewnętrznego zasilacza) na płycie;
lub przez moduł karty softcard USB CloudX
. Co więcej, jak można łatwo zauważyć na powyższym schemacie obwodu, napięcie akumulatora wejściowego jest połączone z modułem MCU (mikrokontrolera) w taki sposób, że punkt sieci dzielnika napięcia (utworzony przez i) jest podłączony do A0 pinu MCU.
i są dobierane w taki sposób, aby:
ograniczyć ilość prądu przepływającego przez sieć;
limit w bezpiecznym zakresie (0 – 5) V dla MCU.
Korzystając ze wzoru: VOUT = (R2/(R1+R2)) * VIN; i można je łatwo ocenić.
Voutmax = 5V
a do tego projektu wybieramy: Vinmax = 50V;
5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Przyjmując na przykład R2 = 10kΩ; R1 = 45/5 * 10 = 90kΩ
Krok 5: Zasada działania
Gdy zmierzone napięcie wejściowe jest odczytywane przez punkt VOUT sieci dzielnika napięcia, dane są dalej przetwarzane w MCU w celu oceny końcowej wartości rzeczywistej wyświetlanej na jednostce segmentu. To (projekt systemu) jest automatycznym układem przecinka dziesiętnego, ponieważ (przecinek dziesiętny) faktycznie przesuwa pozycję na samym wyświetlaczu zgodnie z tym, co dyktuje wartość zmiennoprzecinkowa w danym momencie. Następnie cały sprzętowy 7-segmentowy wyświetlacz jest okablowany w trybie multipleksowym. Jest to specjalny układ, w którym ta sama magistrala danych (8 pinów danych) z MCU zasila trzy aktywne 7-segmenty na wyświetlaczu. Wysyłanie wzorca danych do każdej z części składowych odbywa się w procesie zwanym skanowaniem. Skanowanie to technika polegająca na przesyłaniu danych do każdego z 7-segmentów składowych; i włączanie (tj. włączanie) ich w krótkim odstępie czasu, gdy nadejdą ich odpowiednie dane. Tempo adresowania każdego z nich odbywa się w taki sposób, że udaje się oszukać ludzką wizję w przekonaniu, że wszystkie z nich (części składowe) są włączone (zaadresowane) w tym samym czasie. Po prostu (skanowanie) wykorzystuje zjawisko znane jako Persistence Of Vision.
Krok 6: Oprogramowanie
#włączać
#włączać
#włączać
#definiuj segment1 pin9
#definiuj segment2 pin10
#definiuj segment3 pin11
pływak batt_napięcie;
int dziesiętnyPoint, batt;
/*tablice przechowujące wzór segmentu dla każdej podanej cyfry*/
char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
char CANodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
int disp0, disp1, disp2;
wyświetlacz() {
znak bez znaku i;
jeśli (punkt dziesiętny < 10) {
disp0 = (int)batt_napięcie /100; //pobiera MSD (najbardziej znaczącą cyfrę)
//być najwyższą wagą
/* pobiera następną cyfrę ważoną; i tak dalej */
disp1 = ((int)batt_napięcie % 100)/10;
disp2 = ((int)batt_napięcie % 10);
}
w przeciwnym razie {
disp0 = (int)batt_napięcie /1000;
disp1 = ((int)batt_napięcie % 1000)/100;
disp2 = ((int)batt_napięcie % 100)/10;
}
/*Wzory są wylewane do wyświetlenia; oraz znak 0x80 dodając kropkę dziesiętną
jeśli skojarzony warunek jest prawdziwy*/
dla(i=0;i<50;i++) {
pin9 = pin10 = pin11 = WYSOKI;
if (Punkt Dziesiętny < 10)
portWrite(1, CCathodeDisp[disp0] | 0x80);
w przeciwnym razie portWrite(1, CCathodeDisp[disp0]);
segment1 = NISKI;
segment2 = WYSOKI;
segment3 = WYSOKI;
opóźnienieMs(5);
pin9 = pin10 = pin11 = WYSOKI;
if((Punkt Dziesiętny >= 10) && (Punkt Dziesiętny < 100))
portWrite(1, CCathodeDisp[disp1] | 0x80);
w przeciwnym razie portWrite(1, CCathodeDisp[disp1]);
segment1 = WYSOKI;
segment2 = NISKI;
segment3 = WYSOKI;
opóźnienieMs(5);
pin9 = pin10 = pin11 = WYSOKI;
jeśli (punkt dziesiętny >= 100)
portWrite(1, CCathodeDisp[disp2] | 0x80);
w przeciwnym razie portWrite(1, CCathodeDisp[disp2]);
segment1 = WYSOKI;
segment2 = WYSOKI;
segment3 = NISKI;
opóźnienieMs(5);
}
}
setup(){ //ustaw tutaj
Ustawienie analogowe(); //port analogowy zainicjowany
portMode(1, WYJŚCIE); //Piny od 1 do 8 skonfigurowane jako piny wyjściowe
/* skanowanie pinów skonfigurowanych jako piny wyjściowe */
pin9Mode = WYJŚCIE;
pin10Mode = WYJŚCIE;
pin11Mode = WYJŚCIE;
portWrite(1, LOW);
pin9 = pin10 = pin11 = WYSOKI; //skanuj piny (które są aktywne-niskie)
//są wyłączone na początku
loop(){ //Zaprogramuj tutaj
napięcie_battu = odczyt analogowy (A0); //przyjmuje zmierzoną wartość
napięcie_batu = ((napięcie_batu * 5000) / 1024); //współczynnik konwersji dla 5Vin
napięcie_batu = (napięcie_batu * 50)/5000; //współczynnik konwersji dla 50Vin
decimalPoint = batt_napięcie; //oznacza, gdzie pojawia się przecinek dziesiętny
//oryginalna wartość przed manipulacją danymi
wyświetlacz();
}
}
Zalecana:
Nakładka dla Arduino ze starych rosyjskich lamp VFD: zegar, termometr, woltomierz: 21 kroków (ze zdjęciami)
Tarcza dla Arduino ze starych rosyjskich lamp VFD: zegar, termometr, woltomierz…: Ukończenie tego projektu zajęło prawie pół roku. Nie potrafię opisać ile pracy włożono w ten projekt. Samo wykonanie tego projektu zajęłoby mi wieki, więc miałem pomoc od moich przyjaciół. Tutaj możesz zobaczyć naszą pracę zebraną w jedną bardzo długą instrukcję
Woltomierz analogowy retro: 11 kroków
Retro woltomierz analogowy: wprowadzenie Zanim diody LED i ekrany komputerowe były powszechnymi metodami wyświetlania informacji, inżynierowie i naukowcy polegali na analogowych miernikach panelowych. W rzeczywistości są one nadal używane w wielu sterowniach do dnia dzisiejszego, ponieważ: można je
Cyfrowy woltomierz Arduino: 3 kroki
Cyfrowy woltomierz Arduino: Woltomierz lub miernik napięcia to przyrząd pomiarowy używany do pomiaru napięcia
Akumulatorowy woltomierz cyfrowy za pomocą ICL7107 ADC: 7 kroków (ze zdjęciami)
Akumulatorowy woltomierz cyfrowy wykorzystujący ICL7107 ADC: W tym samouczku pokażę, jak zrobić bardzo prosty woltomierz cyfrowy, który może mierzyć napięcia od 20 mV do 200 V. Ten projekt nie będzie wykorzystywał żadnego mikrokontrolera takiego jak arduino. Zamiast tego ADC, czyli ICL7107 będzie używany z niektórymi passi
Woltomierz cyfrowy: 5 kroków
Woltomierz cyfrowy: jest to łatwy w użyciu i tani woltomierz dla majsterkowiczów. Całkowity koszt wykonania tego projektu to mniej niż 200 INR lub tylko 2,5$