Arduino 10: MIERZYMY NAPIĘCIA

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024
  • O mierzeniu napięć przez Arduino. Przetworniki analogowo-cyfrowe wykorzystywane przez potencjometry - intuicyjne i wygodne elementy sterujące, jak również określające położenie części ruchomych.
    Kod, na którym bazuje odcinek można pobrać stąd:
    adamsmialek.co...
    Zapraszam do wsparcia mojego kanału:
    patronite.pl/s...
    PayPal.Me/smialekadam
    oraz do subskrybowania:
    www.youtube.co...
    #Arduino #potencjometry #analogowocyfrowy

Комментарии • 84

  • @Informatykwakcji
    @Informatykwakcji 2 года назад +10

    😎👍🖐 Podziwiam, że pomimo długiego weekendu, pojawia się kolejny odcinek! Trzymam kciuki, by oglądających było równie wielu, a nawet więcej niż zazwyczaj! Ale coś mi nos mówi, że dziś będzie niestety skromniej... U siebie też widzę dużo mniejszy ruch...

  • @uzyszkodnikaplikacji5757
    @uzyszkodnikaplikacji5757 2 года назад +4

    Łapka w górę w ciemno bez oglądania!

  • @rekawek6
    @rekawek6 2 года назад +3

    Tak po cichu liczyłem, na to jak zastosować napięcie odniesienia. Ale po deklaracji, że w następnym odcinku będzie o zastosowaniu praktycznym już nie mogę się doczekać.

  • @piomio8583
    @piomio8583 2 года назад +5

    ciekawy materiał

  • @MotocykleSerwisRybnik
    @MotocykleSerwisRybnik 2 года назад +2

    Dziękuję za kolejny wspaniały materiał,wszystkiego dobrego.

  • @bene8114
    @bene8114 2 года назад +1

    Panie! Toż to siok, jak przyjemnie i rzeczowo przekazane. Więcej proszę :)

  • @namesurename-fotografiaana3168
    @namesurename-fotografiaana3168 2 года назад +3

    Istnieje wiele wspaniałych kursów Arduino. Poza tym polecam książki Pana Piotra Góreckiego traktujące o mikrokontrolerach (i nie tylko) . Warto je poznać nieco bardziej od środka.

  • @JerrySmithKociak
    @JerrySmithKociak 2 года назад +4

    Warte uwagi jest to że otwarcie terminala z poziomu IDE restartuje Arduino, sam się nieraz na tym naciąłem :) Więc wbijmy sobie do główek - otwarcie terminala resetuje Arduino.

  • @FoHsi
    @FoHsi 2 года назад +1

    Szanuję, za dzielenie przez 1024, a nie jak często się widuje, 1023 😉. W ogóle szanuję Pana pracę. Ostatnio zmieniono standard nadawania TV i przez kilka dni jedyne co mogłem odebrać, to programy TVP, a tam tylko odmóżdżające, tureckie seriale. Programów popularno-naukowych praktycznie brak. To właśnie ta misja telewizji publicznej.

  • @adamcichowicz1474
    @adamcichowicz1474 2 года назад +1

    Świetny materiał edukacyjny!

  • @adamt1201
    @adamt1201 Год назад +2

    dziękuje - pomocne!!!

  • @1DEADBEEF1
    @1DEADBEEF1 2 года назад +1

    Jakbym uczyl elektroniki czy elektrotechniki to filmiki pana Adama byly by jako codzienna praca domowa. Informacje edukacyjne na najwyzszym poziomie do tego dobra elokwencja i umiejetnosc przekazywania informacji w przejrzysty sposob

  • @wojciechlenardt9870
    @wojciechlenardt9870 2 года назад +1

    Prawie jak u Adama Słodowego. Czy są transile na 5v ?? Chyba są szybsze ??

  • @bartoszcelmer
    @bartoszcelmer 2 года назад +1

    Panie Adamie lubię tworzone przez Pana materiały, ale port != wyprowadzenie

    •  2 года назад +1

      W tym przypadku wychodzi na to samo i tak się mówi potocznie.

    • @bartoszcelmer
      @bartoszcelmer 2 года назад

      @ Panie Adamie, owszem wychodzi na to samo, bo słowo jest używane w sposób powtarzalny(równie dobrze sprawdziło by się np. styk), ale takiego argumentu bym się nie spodziewał :) . W potocznym użyciu, w podobnej roli kojarzę "pin", za którego nieużywanie dziękuję. ATMega na, której bazuje Nano używa portów B, C, D, które są czymś innym. Określanie wyprowadzeń w ten sposób może zainteresowanych widzów wprowadzić w błąd przy samodzielnych poszukiwaniach. Naprawdę doceniam treści tworzone przez Pana i dlatego pozwalam sobie na tę uwagę.

    •  2 года назад

      Ale w świecie Arduino nie używamy natywnych portów ATMega, tylko po prostu portów 0-13 i A0-A7, jak to też mówią "wyprowadzeń". W zasadzie bez portu 0 i 1. Pin przyjął się bardziej, ale ma dobre, polskie określenie.

  • @kotedet6542
    @kotedet6542 2 года назад +4

    Nie 5 mikro woltów a miliwoltow czyli tysięcznych części wolta

    •  2 года назад +1

      Zgadza się, przejęzyczenie (ale w napisach już jest dobrze).

  • @arkadiusz1932
    @arkadiusz1932 2 года назад +1

    Czy jest możliwość takim potencjometrem. Wysterować czułość (próg zadziałania) MPU6050? MPU ma działać jako czujnik wstrząsu. Nie znalazłem nigdzie takiego rozwiązania.

    •  2 года назад +2

      Dane z potencjometru mają dziesięciobitową rozdzielczość (w praktyce ośmio-dziewięcio, po eliminacji stanów niestabilnych). Mamy zatem taką zmienną, której możemy już użyć do dowolnych celów, jakie sobie wymyśli twórca urządzenia. Zawsze też można tę daną rozciągnąć na niewielki przedział np. przy regulacjach progu zadziałania, a użycie dwóch potencjometrów może zrealizować prosty zespół "zgrubnie/dokładnie".

  • @piotrodzysk4444
    @piotrodzysk4444 2 года назад +1

    Pozdrawiam.#

  • @michal199011
    @michal199011 2 года назад +1

    Jak zmierzyć napięcie za pomocą wejścia Analog jeżeli mierzone napięcie jest jednocześnie źródłem zasilania płytki? Przedstawiona metoda zawsze da pomiar 1023 (docelowo mój projekt ma być na samej atmedze nie arduino).

    • @poldoford
      @poldoford 2 года назад +1

      Potrzebujesz mierzyć napięcie odniesienia. Np źródełko na 1,25V. Bo rozumiem, że dla przetwornika odniesieniem jest napięcie zasilania. Przy 5V przetwornik mierzący te 1,25 da Ci odczyt 1023/4. Zatem wynik pomiaru musisz przeliczyć. Uzas/Uref=1023/wynik pomiaru

    •  2 года назад +1

      Zawsze będzie wynik maksymalny równy 1023, tylko przeliczać będzie się w zależności od napięcia odniesienia. Można korzystać z wewnętrznego 1,1 V albo dołączonego do AREF (ale nie większego niż 5 woltów). Bez deklaracji źródła jest nim napięcie zasilające, co daje wyniki najmniej dokładne.

  • @arivaldarivald3212
    @arivaldarivald3212 2 года назад

    Skoro już mamy porządny miernik, to można było programowo skalibrować zbudowany na Arduino miernik. Sprawdzić ile analogRead() pokaże dla 0V i tyle zawsze odjąć, sprawdzić ile analogRead() pokaże dla 5V I odpowiednio dostosować mnożnik (5/1204). O ile oczywiście zależy nam na pomiarze voltów, a nie pozycji potencjometru.

    •  2 года назад

      Nie tędy droga, najpierw należałoby podłączyć referencyjne źródło napięcia, ponieważ domyślny sposób jest niestabilny. Ale o tym za jakiś czas.

  • @KH-lg3xc
    @KH-lg3xc 2 года назад +1

    Czasami podłącza się do wejść przetworników A/C przyciski (przez rezystory dzielące napięcie).

    •  2 года назад

      To popularny sposób na podłączenie kilku przycisków jednym przewodem (plus masa) bez angażowania elektroniki czynnej. Uprawiany często w pilotach przewodowych na kablu słuchawkowym.

  • @MsToshinori
    @MsToshinori 2 года назад +1

    Chciałem podłączyć do PCF8574 wiele diod świecących Ale okazuje się że natężenie podawane na pinach to mniej niż 20mA. Czy można jakoś podnieść ampery? Żeby podłączyć więcej niż jedną diodę np 4. Za pomocą diod czy tylko pozostaje przekaźniki podłączyć? Z innej beczki , za pomocą diód można do jednego gpio analogowego podłączyć więcej urządzeń. Trzeba tylko po kolei włączać napięcie urządzeniom. Bardzo dziękuję.

    •  2 года назад +1

      O podłączaniu dużych obciążeń będzie niebawem.

    • @MsToshinori
      @MsToshinori 2 года назад +1

      @ Bardzo dziękuję za materiały i będę czekać.

    • @polskizwiazeknaczelnychhej1100
      @polskizwiazeknaczelnychhej1100 2 года назад +1

      Po prostu podłączyć odwrotnie. Pcf ma prąd wsteczny rzędu 60mA. A tak to chyba 40uA. Można też zastosować mosfet na wyjściu.

    • @MsToshinori
      @MsToshinori 2 года назад +1

      ​@@polskizwiazeknaczelnychhej1100 Działa doskonale :) No ale i tak muszę ogarnąć rozdzielenie zasilania nodeMCU plus ledy na 5V i silników L239D na 9V z pakietu 18650x4 połączonych szeregowo. Jeszcze pasuje mi podłączyć do tego ładowanie. Kłaniają się podstawy elektroniki. Ale rozgryzanie tego jest fascynujące. Dziękuję.

  • @daro0352
    @daro0352 2 года назад +2

    Jedne źródła podają żeby napięcie mierzone liczyć tak:
    V=N*Vref/1023
    Inne znowu tak:
    V=N*Vref/1024
    Jeszcze inne tak:
    V=(N+0.5)*Vref/1024
    I jak tu nie zgłupieć z tym wszystkim?

    •  2 года назад

      Generalna zasada uniwersalna brzmi: odczytany ułamek z całości razy napięcie odniesienia. Jeśli odczytujemy 319, a całość obejmuje 1024 przedziały, to 319/1024 razy 5 woltów (w programie jest ten wzór przekształcony).
      Trzeba jeszcze pamiętać, że stosujemy tutaj uproszczenia, zaokrąglając całość w dół (wynik może osiągnąć 0V, ale nigdy nie osiągnie 5V), więc teoretycznie należałoby dodać do wyniku połowę działki, czyli tutaj 5V/2048, ale biorąc pod uwagę marną dokładność pracy bez napięcia referencyjnego, to nie ma sensu. Zresztą i z referencyjnym dokładność całkowite jest chyba niższa niż dziesięć bitów i w przypadku jego doboru (wewnętrzne to też nie dokładnie 1,1V, gdyż zakładana jest pewna tolerancja) należy po prostu do wzoru przeliczającego dopisać dodatkowe współczynniki po zmierzeniu rzeczywistych wartości dobrej klasy miernikiem.

    • @daro0352
      @daro0352 2 года назад

      @ Z tego co czytałem to +/- 2 LSB. Używam dwóch mierników, DT-830B oraz analogowego YX-360TR i nie wiem czy jest jakikolwiek sens cokolwiek porównywać przy ich użyciu. W każdym razie dokładnych mierników bym na Arduino nie budował, choć ciekawą rzeczą jest możliwość oversamplingu w celu zwiększenia rozdzielczości aż do 16 bitów kosztem 4096 pomiarów z sygnałem randomizującym, dzięki czemu udało mi się nawet odczytać sygnał z termopary typu K.

    •  2 года назад

      A poza przypadków robienia multimetru o wysokiej dokładności z Arduino w praktyce znajdziemy niewiele. Nawet gdy trzeba liczyć minimalnie zmieniające się wartości, wystarczy narzucić offset i rozciągnąć skalę powiedzmy ośmiobitową na zakres przewidywanych zmian. W każdym razie do wszelkich potencjometrów nawet proste pomiary jak w filmie wystarczają aż za dość.

    • @gordongecko9405
      @gordongecko9405 2 года назад

      @@daro0352 Nawet wynik 8 bitowy (po odrzuceniu 2 LSB) i rezygnacji z oversamplingu to dokładność 0.5% - wystarczająco dużo do większości amatorskich i połprofesjonalnych zastosowań. A rakiet kosmicznych nikt na tym i tak nie buduje. Adam dobrze temat opisuje.
      A jak ktoś chce na popularnym i tanim 10-bitowym ADC budować dokładny miernik ...to sam sobie wystawia świadectwo.

    • @gordongecko9405
      @gordongecko9405 2 года назад

      Wzór zależy od pojętności majstra. Jak ktoś nie myśli to kopiuje bezmyślnie co znajdzie w necie 🤪

  • @kubaamazon65
    @kubaamazon65 2 года назад

    Mylisz posty rownoległe z szeregowymi. USB jest szeregowe, a w 5:06 pokazaleś porty równoległe.

    •  2 года назад

      Zdjęcie z 5.06 pokazuje przede wszystkim RS232, zwane tutaj COM-em i ilustruje zdanie "dziś komputera z takimi portami już właściwie nie znajdziemy" :) USB jest szeregowe, ale ciężko go traktować w ten sposób wprost.

  • @eRBartek
    @eRBartek 2 года назад

    Kolejny super poradnik!
    Pytanie: jak zmierzyć napięcie przemienne? Da się?

    •  2 года назад +2

      Każdy współczesny multimetr mierzy wszystko, sprowadzając wartości do napięć stałych, więc da się na pewno :)

    • @eRBartek
      @eRBartek 2 года назад

      @ to, to oczywiście wiem wiem ;) ale jak ma się sprawa z Arduino?

    •  2 года назад +1

      Można jak w starych multimetrach: prostownikiem, można też ograniczyć zakres do 5 woltów i przesunąć oś symetrii na poziom 2,5 wolta (dzielnikami z rezystorów), o ile zasilanie Arduino nie ma nic wspólnego z napięciem mierzonym - tak będzie bardziej liniowo. I pewnie jeszcze na kilka sposobów.

    • @bartoszcelmer
      @bartoszcelmer 2 года назад

      @@eRBartek Zależy od częstotliwości. Dla 50Hz będzie OK, ale przy dużej częstotliwości okaże się, że wejścia analogowe są za wolne. Dodatkowo wspomniana rozdzielczość 10bit może być czasem nieco mała. Nie wszystko stracone ponieważ istnieją układy ADC komunikujące się po np. i2c które do Arduino można w miarę prosto podłączyć.

    • @eRBartek
      @eRBartek 2 года назад

      @@bartoszcelmer właśnie chodzi mi o pomiar napięcia z przekładnika prądowego przez który bedzie zasilane z sieci urządzenie. Nie musi to być pomiar dokładny co powtarzalny.

  • @dejaeprouve
    @dejaeprouve 2 года назад +1

    Ciekawe ale 9:00 małe bubu, czy aby na pewno +10V można podłączyć do GND ? :)

    • @MultiKomentator
      @MultiKomentator 2 года назад +1

      Ale to inne +10V przez separację galwaniczną :)

    •  2 года назад +3

      No właśnie po to jest zabezpieczająca dioda Zenera, która w tą stronę pracuje jako zwykła dioda. Ściślej - troszkę wyższe napięcie się na niej odkłada (zwykle 0,8V) wobec deklarowanej maksymalnej (0,5V), ale raczej układ to przeżyje. Oczywiście ujemnego napięcia nie zmierzymy, to jest sytuacja awaryjna, gdy ktoś pomyli bieguny.

    • @bene8114
      @bene8114 2 года назад +3

      Raz można nawet i bez diody. To jak z patrzeniem w laser, można dwa razy. Raz jednym raz drugim okiem.

    • @MultiKomentator
      @MultiKomentator 2 года назад

      @ o coś innego chodziło koledze. Na płytce jest GND i bezpośrednio +10 zresztą -10V też by było źle. U góry powinna być cały czas masa a na dole +/-10V

    •  2 года назад

      A to zasilanie układu to inna inszość. Odwrócenie polaryzacji wyśle go do aniołków. Generalnie to ja bardzo nie polecam zasilania układu z wyższego napięcia niż 7-8 woltów (oczywiście mowa o wejściu VIN), bo na tych chińskich wersjach nano stabilizatory te łatwo padają.

  • @tielusik
    @tielusik 2 года назад

    Witam.
    Jak zwykle materiał świetny i wspaniale zaprezentowany. Chcę więcej!
    ALE
    Wgrałem program z udostępnionego źródła do mojego A. UNO, i nie kompiluje się.
    Dopiero po przełączeniu w ustawieniach edytora na NANO kompiluje się, no ale oczywiście nie mogę go wgrać do UNO.
    Oniemiałem.
    Pozdrwiam

    • @tielusik
      @tielusik 2 года назад

      Źle napisałem. Nie wgrałem do UNO, bo się nie da. Wgrałem do edytora ustawionego na UNO, i wtedy się nie kompiluje.
      Po przestawieniu na NANO , kompiluje się.

    •  2 года назад

      Uno nie akceptuje A6 i A7 z tego co pamiętam, ale tu takich nie ma. Poza tym różnic brak (pojawią się przy wgrywaniu dopiero). Szczerze powiedziawszy, to nigdy UNO nie miałem, od razu te małe, Mega i na nie Atmelach.

    • @tielusik
      @tielusik 2 года назад

      @ Będę drążyć temat. Tego nie można tak zostawić. Dam znać o wynikach dochodzenia. Pozdrawiam.

    • @tielusik
      @tielusik 2 года назад

      Mam to !
      Otóż działając rutynowo, kliknąłem w pobrany plik "arduino_mierzy_napiecia.ino", a ten uruchomił edytor, i tam się otworzył. Przed kompilacją edytor zapisuje plik, ale ponieważ ja po instalowaniu na nowo WIN10, jeszcze nie założyłem katalogu dla plików Arduino, ten plik zapisał się gdzieś w temp-ach. W efekcie edytor nie umiał go odnaleźć i skompilować.
      Warto przed rozpoczęciem pracy założyć na dysku katalog dla plików Arduino, i wskazać go w preferencjach
      Plik/preferencje/ustawienia/lokalizacja szkicownika.
      Tak mi to wygląda na chwilę obecną.
      Pozdrawiam

  • @extremejacek
    @extremejacek 2 года назад

    Zaczynam dopiero swoją przygodę z Arduino stąd moje może banalne ptanie. Jak zaokraglic wartość napięcia do jednego miejsca po przecinku?

    • @extremejacek
      @extremejacek 2 года назад

      @@potupecznikmrukowski3772 Dzięki, będę próbował.

    • @extremejacek
      @extremejacek Год назад

      @@potupecznikmrukowski3772 Wszystko działa ale mam kolejny problem. Załóżmy że chcę wyświetlić napięcieV z jednym miejscem po przecinku co jest w miarę proste. Ale... potrzebuję wartości tego napięcia do dalszych obliczeń i to właśnie z dokładnością jednego miejsca po przecinku. Jak sprawić żeby "napięcieV" było faktycznie wartością z jednym miejscem po przecinku a nie tylko taka wartośc była wyświetlana?

  • @marcinrojek8995
    @marcinrojek8995 2 года назад

    No dobra, ale jak zmierzyć napięcie wyższe np. 48V? Pozdro.

  • @Inktvis_777
    @Inktvis_777 2 года назад +2

    Popsułem komuś zabawę?

  • @szulat
    @szulat 2 года назад +1

    zupełnie nie rozumiem skąd ten ekstrawagancki pomysł robienia filmów o rzeczach, których nie było w PRLu! 😅

    •  2 года назад +2

      Bo to praktyczne, a nie modne :)

    • @KH-lg3xc
      @KH-lg3xc 2 года назад

      Łatwiej robić film o rzeczach, których nie było w PRL, niż film o rzeczach, które były w PRL, a już ich nie ma (n.p. prawdziwa szynka).

  • @Jedendwa0
    @Jedendwa0 2 года назад +2

    Opowiem Wam kawał o napięciu...
    Na pięciu napadło dziesięciu.

  • @moreo3505
    @moreo3505 Год назад +1

  • @TomekNagisa
    @TomekNagisa 2 года назад +3

    Ciekawostka, zapis "5.0" oznacza double a nie float. Na 8bit AVR to i tak nie znaczenia, bo tam nie ma double (bo to tak na prawdę float), ale tam gdzie double jest, cała operacja będzie wykonana jako operacja na double (aka "dodanie zbędnego kodu obsługi operacji na double") a potem skonwertowana do float. Float to formalnie "5.0f". ;)

    •  2 года назад +1

      Oczywiście, tylko w Arduino jest uproszczone (acz nie do końca, bo niektóre klony mają podwójną dokładność). Z tego powodu nie zrobi się sensownego kalkulatora na Arduino.