Oscyloskop na bazie karty dźwiękowej
Oscyloskop na bazie karty dźwiękowej
Witam wszystkich:)
Moim zadaniem jest stworzenie oscyloskopu na bazie karty dźwiękowej. Mam zamiar pobierać dane z wejścia liniowego karty i wyświetlić przebieg. Chcę aby na jednym wykresie można było wyświetlić dwa kanały i można było sterować osobno ich amplituda. Z tego co doczytałem pomocna mogłyby być Property Node - ActiveYScale, ale nie wiem jak jej użyć. Do tego chciałbym Aby na wykresie była stała podziałka, tak jak to jest w rzeczywistym oscyloskopie - powiedzmy 10 podziałek w poziomie i 8 w pionie. Czy mógłby mi ktoś z szanownego grona forumowiczów pomóc?
Pozdrawiam
Tomek
Moim zadaniem jest stworzenie oscyloskopu na bazie karty dźwiękowej. Mam zamiar pobierać dane z wejścia liniowego karty i wyświetlić przebieg. Chcę aby na jednym wykresie można było wyświetlić dwa kanały i można było sterować osobno ich amplituda. Z tego co doczytałem pomocna mogłyby być Property Node - ActiveYScale, ale nie wiem jak jej użyć. Do tego chciałbym Aby na wykresie była stała podziałka, tak jak to jest w rzeczywistym oscyloskopie - powiedzmy 10 podziałek w poziomie i 8 w pionie. Czy mógłby mi ktoś z szanownego grona forumowiczów pomóc?
Pozdrawiam
Tomek
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Oscyloskop na bazie karty dźwiękowej
Witaj ]
Zanim zabierzesz się za tworzenie samego oscyloskopu
Tak nawiasem mówiąc... Stworzenie oscyloskopu działającego tak, jak prawdziwy, to nie jest trywialna sprawa.
Nawet podstawowe rzeczy, jak wyzwalanie czy zmiana podstawy czasu, bynajmniej nie sprowadzają się do funkcji Trigger Detection czy zmiany zakresu osi.
Pozdrawiam
Zanim zabierzesz się za tworzenie samego oscyloskopu
- usuń tę największą pętlę while
- z górnej pętli usuń event Timeout i bloczek Wait (ms)
- usuń strukturę event ze środkowej pętli
KLIK, KLIKChcę aby na jednym wykresie można było wyświetlić dwa kanały i można było sterować osobno ich amplituda. Z tego co doczytałem pomocna mogłyby być Property Node - ActiveYScale, ale nie wiem jak jej użyć.
Jak zapewne zauważyłeś, siatka na wykresie posiada dwa rodzaje linii główne i pomocnicze. Pomocnicze możesz wyłączyć (menu kontekstowe wykresu -> Properties -> Scales -> Grid Styles and Colors -> Minor Grid -> [T] w prawym, górnym rogu), a położeniem linii głównych możesz sterować za pomocą własności X Scale.Marker Values[] i Y Scale.Marker Values[].chciałbym Aby na wykresie była stała podziałka, tak jak to jest w rzeczywistym oscyloskopie - powiedzmy 10 podziałek w poziomie i 8 w pionie.
Tak nawiasem mówiąc... Stworzenie oscyloskopu działającego tak, jak prawdziwy, to nie jest trywialna sprawa.
Nawet podstawowe rzeczy, jak wyzwalanie czy zmiana podstawy czasu, bynajmniej nie sprowadzają się do funkcji Trigger Detection czy zmiany zakresu osi.
Pozdrawiam
Re: Oscyloskop na bazie karty dźwiękowej
Hej, zmienilem pare rzeczy ale dalej nie chce chodzic jak powinno. Moglby ktos na to spojzec fachowym okiem?
- spec.kolombo
- Posty: 126
- Rejestracja: 20 sie 2008 06:33
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Gdynia
- Kontakt:
Oscyloskop na bazie karty dźwiękowej
Dobrze by było jak byś napisał co dokładnie nie chodzi.
Z błędów które zauważyłem - to marnie działa pokrętło skali.
Podstawowy problem że ono wpływa na właściwości obiektu "waveform graph" co chyba mija się z celem - w prawdziwym oscyloskopie nie zmienia się siatka ani opis osi. Dlatego ja bym nie zmieniał ustawień "waveform graph" tylko bym zmieniał sygnał - np. podzieliłbym przez wartości kontrolki "V/DIV ". A w ustawieniach "properties" w zakładce "data entry" w kolumnie "response to value outside limits" ustaw "coerce" lub "coerce to the nearest". W zakładce scale ustaw "minimum" na 0,1.
Z offsetem trzeba zrobić podobnie - trza odjąć od sygnału wartość offsetu.
I powywalaj te wszystkie property node oscyloskopu. bo skala wariuje.
I opisz dokładnie co nie działa i z czym masz problem, bo pisanie "nie chodzi jak powinno" ma dość szerokie znaczenie.
Z błędów które zauważyłem - to marnie działa pokrętło skali.
Podstawowy problem że ono wpływa na właściwości obiektu "waveform graph" co chyba mija się z celem - w prawdziwym oscyloskopie nie zmienia się siatka ani opis osi. Dlatego ja bym nie zmieniał ustawień "waveform graph" tylko bym zmieniał sygnał - np. podzieliłbym przez wartości kontrolki "V/DIV ". A w ustawieniach "properties" w zakładce "data entry" w kolumnie "response to value outside limits" ustaw "coerce" lub "coerce to the nearest". W zakładce scale ustaw "minimum" na 0,1.
Z offsetem trzeba zrobić podobnie - trza odjąć od sygnału wartość offsetu.
I powywalaj te wszystkie property node oscyloskopu. bo skala wariuje.
I opisz dokładnie co nie działa i z czym masz problem, bo pisanie "nie chodzi jak powinno" ma dość szerokie znaczenie.
Ostatnio zmieniony 10 wrz 2009 10:20 przez spec.kolombo, łącznie zmieniany 2 razy.
Lepiej być bogatym i zdrowym, niż biednym i chorym.
Spec Kolombo
Spec Kolombo
Re: Oscyloskop na bazie karty dźwiękowej
Wprowadzilem kolejne modyfikacje i problem dotyczy tym razem petli obslugujacej komunikacje poprzez rs-232. Umiescilem wszystko w Event structure i nie wiem jak zrobic zeby zaraz po uruchomieniu programu wyslalo mi aktualnie ustawione parametry - wysyla sie dopiero przy zmianie wartosci radio buttonow albo pokretel amplitudy.
- Załączniki
-
- oscyloskop12.vi
- (64.46 KiB) Pobrany 597 razy
Re: Oscyloskop na bazie karty dźwiękowej
problem rozwiazany:))
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Oscyloskop na bazie karty dźwiękowej
No to czekamy na twoje rozwiązanie 

Re: Oscyloskop na bazie karty dźwiękowej
Cześc, mam dylemat nie wiem jak napisac oscyloskop na bazie karty dzwiękowej odbierany na laptopie. Czym mam się kierowac, może jakiś przykładzik;0). Za pomoc z góry dziękuję