[PROJEKT] Rejestrator sygnałów analogowych na STM32 – jednokanałowy oscyloskop USB

W funkcji obsługi przerwania od kanału 1 timera 1 jest inicjowany kolejny pomiar, czyli ten który zostanie wykonany przy następnym wyzwoleniu oraz jest ustawiana następna wartość do której ma liczyć Timer1 po czym wygeneruje przerwanie. Gdy zostanie wykonany cykl pomiarowy liczący 320 próbek kontroler DMA wygeneruje zdarzenie, a w konsekwencji zostanie wywołana funkcja obsługi przerwania DM1_Channel1_IRQHandler(), w której Timer1 zostanie wyłączony i ustawiona będzie flaga gotowości danych do wysłania.

 

Rys. 5. Sygnał prostokątny, F=19,2 kHz

 

Rys. 6. Sygnał prostokątny, F=1920 Hz

 

Rys. 7. Napięcie na rezystorzew układzie różniczkującym RC

 

Po przeprowadzeniu kilku testów można stwierdzić, że urządzenie-rejestrator dość dobrze sprawuje się z sygnałami do 20 kHz. Powyżej tej granicy obraz na oscylogramie staje się mniej czytelny, a nawet przekłamany. Tak jak wcześniej wspomniano w przypadku sygnałów do 3,3 V można je podawać bezpośrednio na wejście A/C, jednak przy wyższych napięciach należy stosować odpowiednie konwertory, np. najprostszy dzielnik rezystorowy tylko należy pamiętać, żeby odpowiednio przeliczyć wskazywaną wartość.

Do pobrania

O autorze