Skocz do zawartości

Kurs STM32L4 – #9 – przetworniki analogowo-cyfrowe (ADC)


Pomocna odpowiedź

Kurs STM32L4 – #9 – przetworniki analogowo-cyfrowe (ADC)

Układy STM32L4 są wyposażone w rozbudowane przetworniki ADC, które pozwalają na precyzyjny i szybki pomiar napięcia (do 5,33 mln pomiarów na sekundę przy 12-bitowym pomiarze). Pora przećwiczyć podstawy pracy z ADC i DMA. Przy okazji poznamy też program STM Studio, a na koniec uruchomimy także DAC i komparator.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Link do komentarza
Share on other sites

Przypominamy: w komentarzach do kursów rozmawiamy wyłącznie na tematy związane z konkretnym kursem. Mile widziane są również informacje od osób, które korzystały wcześniej z naszych poradników. Wszystko po to, aby kursanci, którzy mają zamiar korzystać z tego kursu nie musieli "przedzierać" się przez dziesiątki postów na inne tematy. Tematy na pytanie, które nie są związane z kursem można zadawać na naszym forum o mikrokontrolerach.

Link do komentarza
Share on other sites

Zachęcam do lektury kolejnej części kursu STM32L4. Tym razem oczywiście głównym tematem odcinka był przetwornik ADC, ale dodatkowo udało nam się przemycić również informacje na temat innych analogowych peryferiów, które można znaleźć wewnątrz naszego mikrokontrolera.

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

A ja mam pytanie takie 🙂 A gdybym chciał mierzyć na wejściach analogowych nie napięcie, a np. prąd 4-20 mA albo podłączyć sondę Rezystancyjną PT100, PT1000 to jak do tego podjeść?

Edytowano przez Treker
Poprawa interpunkcji.
Link do komentarza
Share on other sites

@tktofi głównym celem tej części kursu było omówieni ADC. Rysowanie wykresów to tylko mały dodatek (w kategoriach ciekawostki). Zdecydowaliśmy się na STM Studio dlatego, że ma ono jedną dużą zaletę - jest po prostu bajecznie proste w użyciu. W wielu przypadkach taki program w zupełności wystarcza. STM32CubeMonitor to oczywiście ciekawy projekt, ale znacznie bardziej rozbudowany. Ciężko byłoby sensownie wspomnieć o tym narzędziu wyłącznie w ramach krótkiej ciekawostki, bo jego obsługa nie jest już tak banalna i może budzić sporo pytań. Ten program zasługuje raczej na osobny "minikurs" lub przynajmniej osobny, długi artykuł - niewykluczone, że takie materiały pojawią się na Forbocie w przyszłości, ale już poza tym cyklem, który i tak będzie najobszerniejszym kursem w historii Forbota 😉

Link do komentarza
Share on other sites

@donpedro52 skoro chcesz mierzyć prąd to potrzebujesz konwerter prąd-napięcie (https://pl.wikipedia.org/wiki/Konwerter_prąd-napięcie). Najprostsze rozwiązanie to zwykły rezystor, ale nie zawsze jest to wystarczająca opcja i może być potrzebny nieco bardziej skomplikowany układ, przykładowo oparty o wzmacniacz operacyjny. Jeśli napięcie jest w granicach akceptowalnych dla STM32 to możesz wykorzystać wzmacniacz operacyjny dostępny w STM32L476, będziemy o tym pisać w dalszej części kursu.

  • Lubię! 1
Link do komentarza
Share on other sites

Hej, zaczynam zabierac sie za ta czesc kursu i juz na pierwszym cwiczeniu trafilem na niescislosc wynikow po mojeje stronie wzgledem opisu co udalo mi sie syzbko wyprostowac ale nasunelo to pytanie.

Problemem po mojej stronie bylo to ze CubeMx podstawil 64Mhz jako czestotliwosc ADC i dobral reszte wartosci poprawnie (nie mialem bledow o ktorych bylo wspomniane), gdy wrzucilem kod na nucleo moje wyniki byly nizsze o ~120mV co zaczelo minie zastnawiac ze na rozpietosci 0-3.3V to nie tak malo zeby uznac ze to moze roznica w egzeplarzach plytki. Zaczolem sobie wertowac dokumentacje chipa i nawet do zajrzalem AN2834 - How to get the best ADC accuracy ale nie trafilem na informacje ze jest jakas zaleznosc pomiedzy Vrefint a czestotliwoscia pracy ADC, jedynie wzmianka o zaleznosci od teperatury ale to sa wartosci pomijalne. (ale zaznaczam ze czytanie not katalogowych nie jest moja specjalnoscia wiec moglem to przeoczyc :))

Wiec po tym przydlugim wstepie czy macie pomysl czym to jest spowodowane?
Zrobilem nawet male porownanie jak zmienia sie ta wartosc napiecia wzgledem czestotliwosci. Wykres zaczyna sie o 16Mhz bo nizsze wartosci nie pozwalaly na utrzymanie stalej wartosci HCLK. I wychodzi ze im wyzsza czestotliwosc tym odczytana wartosc jest nizsza od tej z noty katalogowej.

W trakcie moich poszukiwan sprawdzalem tez rozne rozwiazania wzgledem zasilania plytniki podlaczajac zewnetrzne zasilanie w "rozne miejsca" takie jak 3.3, 5V, VDD, VIN, E5V, i AVDD (tu liczylem na poprawe, ale moze to trzeba jakos aktywowac, dowiem sie pewnie wiecej wracajac do lektury kursu).

ADC.GIF

Link do komentarza
Share on other sites

@Frantick nie masz zarejestrowanego zestawu do tego kursu, więc dla formalności zanim przejdziemy dalej, dopytam: czy korzystasz z dokładnie tej samej płytki Nucleo, która jest używana w kursie? Co dokładnie masz podłączone do wejścia ADC, z którego mierzysz to napięcie?

Link do komentarza
Share on other sites

@Treker przyznaje nie kupilem pelnego zestawu wiec nie bylo i czego rejestrowac bo wiekszoszc elementow juz mialem, co do Nucleo kupilem na Botlandzie takie jakie jest omawiane w kursie czyli L476RG

A co do mojego poprzedniego pytania to do Nucleo fizycznie nie bylo podpiete nic gdyz pierwszy przyklad mial sprawdzac wartosc wewnetrznego napiecia odniesienia, ale skala zjawiska drastycznie zmieniszyla sie jak doszedlem do czesci kursu mowiacej o zwiekszeniu ilosci cykli na odczyt.
Wiec mozna uznac ze da sie to opanowac, choc nie ukrywam ze dalej mnie to ciekawi czemu w pierwotniej wersji byly takie roznice. 

 

Link do komentarza
Share on other sites

@Frantick Efekt, który opisujesz to najprawdopodobniej rezystancja źródła sygnału, czyli w tym przypadku napięcia odniesienia. Takie źródło nie jest w stanie dostarczać dużych prądów, a jeśli używasz domyślnych ustawień ADC, to czas próbkowania wynosi 2.5 cyklu, więc przy małej wydajności źródła (czyli wysokiej impedancji), pojawiają się takie efekty jak opisujesz. Przeczytaj w kursie akapit "Pomiar napięcia zewnętrznego przez STM32", w nim opisujemy to samo zjawisko na przykładzie pomiaru napięcia ustawionego potencjometrem. Jako eksperyment proponuję ustawić taktowanie ADC na 80MHz, zmierzyć napięcie referencyjne - a później zwiększać liczbę cykli próbkowania. Przy maksymalnej, czyli 640.5, wynik powinien być zgodny z oczekiwaniami.

  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.