Arduino i LabView

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Awatar użytkownika
chamakus
Posty: 37
Rejestracja: 19 cze 2012 15:20
Wersja środowiska: LabVIEW 2017

Arduino i LabView

Post autor: chamakus »

Witam,

Mam pytanie, może śmieszne...
Jestem początkującym użytkownikiem LabView oraz Arduino UNO.
Potrzebuję odczytać enkoder inkrementalny (mechaniczny) zwykły potencjometr cyfrowy za 7 zł...
W środowisku Arduino opanowałem sprawę, tzn. w podglądzie SERIAL MONITOR (arduino) pojawiają mi się wartości w zależności od obracania enkoderem.
Ale chciałbym uzyskać to zdarzenie w LabView... Nie wiem jak to zrobić.

Mam zainstalowane interfejs dla Arduino w Labview, skonfigurowany port na którym jest, wgrany plik LIFA BASE.PDE... pojawia mi się zakładka dla Arduino w oknie LV itd...
Ale wiem jak teraz programować Arduino z poziomu LV?

W pamięci ARDUINO jest tylko program LIFA BASE z interfejsem...
dzojstik22
Posty: 103
Rejestracja: 17 gru 2011 21:33
Wersja środowiska: LabVIEW 2011

Re: Arduino i LabView

Post autor: dzojstik22 »

Jeśli chodzi o arduino to nie ma głupich pytań- czasami trzeba się nieźle namęczyć aby coś znaleźć albo rozszyfrować- jak pewnie wiesz u nas na forum też niewiele jest takich informacji. Siedzę nad Arduino i labview od jakiegoś czasu- chętnie pomogę ale napisz dokładnie z czym masz problem.
Awatar użytkownika
chamakus
Posty: 37
Rejestracja: 19 cze 2012 15:20
Wersja środowiska: LabVIEW 2017

Arduino i LabView

Post autor: chamakus »

dzięki za szybki odzew.

Jest to trochę zagmatwane... ale spróbuje wytłumaczyć.

Przymierzam się do realizacji projektu o którym pisałem już kiedyś w czerwcu: http://www.labview.pl/viewtopic.php?f=3&t=4135

Potrzebuję odczytać ruch dwóch elementów na maszynie.
Oczywiście chciałbym zrobić to najtaniej. Mam Arduino oraz LabView 2011.
W Arduino po wgraniu kodu do obsługi enkodera kwadraturowego uzyskuję dane w oknie SERIAL MONITOR.
Teraz te dane które daje enkoder (Arduino) chciałbym odczytać w LabView - zbudować wykres itd...

1. Czy jest możliwość wgrania kodu dla Arduino z poziomu LabView? bo z tego wiem aby LV obsługiwało wogóle Arduino musi być wgrany niezmieniony plik LIFA BASE.PDE.
Czyli gdzie umieścić kod dla arduino, który czyta ruch enkodera? w tym pliku LIFA BASE.PDE???

2. Czy w LV LIFA można zbudować aplikację czytającą 2 enkodery kwadraturowe podłączone poprzez kontroler Arduino??
dzojstik22
Posty: 103
Rejestracja: 17 gru 2011 21:33
Wersja środowiska: LabVIEW 2011

Re: Arduino i LabView

Post autor: dzojstik22 »

Wyślę Ci przykładowy plik odczytu zwykłego potencjometru.
1. Czy jest możliwość wgrania kodu dla Arduino z poziomu LabView?- tak w labview budujesz projekt i i uruchamiasz go z poziomu Labview. Po naciśnięciu uruchomienia poczekaj chwilę bo potrzeba kilku (czasami kilkunastu) sekund na wgranie tego do pamięci karty- na karcie wtedy mi migać dioda wczytania.

2. bo z tego wiem aby LV obsługiwało wogóle Arduino musi być wgrany niezmieniony plik LIFA BASE.PDE- tak plik ten musi być wgrany- jak go nie wgrasz to możesz zapomnieć o komunikacji.

3. Czyli gdzie umieścić kod dla arduino, który czyta ruch enkodera? w tym pliku LIFA BASE.PDE??? - kod dla Arduino?-hmm rozumiem że masz na myśli schemat blokowy labview? Bo jeśli mówisz o kodzie pisanym z palca to się go wpisuje w IDE Arduino- ale skoro pytasz o labview to raczej mówimy o schemacie blokowym.... Plików PDE nie zmieniaj bo to są biblioteki.

4.Czy w LV LIFA można zbudować aplikację czytającą 2 enkodery kwadraturowe podłączone poprzez kontroler Arduino?? W karcie arduino masz piny które są przez Ciebie ustalane czy to są wejścia czy wyjścia -patrz plik który załączyłem. Dla przykładowego potencjometru użyłem jednego wejścia a wejść analogowych jest 6 więc da się coś jeszcze podpiąć.

A jaki jest rodzaj sygnału z tego enkodera- analogowy czy cyfrowy?
Użyłeś narzędzia VI Package Manager do wgrania sterowników Lifa?
Załączniki
Untitled 3.vi
(423.47 KiB) Pobrany 511 razy
Awatar użytkownika
chamakus
Posty: 37
Rejestracja: 19 cze 2012 15:20
Wersja środowiska: LabVIEW 2017

Arduino i LabView

Post autor: chamakus »

Nie wiem czy pisałem, ale dla informacji podam mój model Arduino UNO R3.

Czyli rozumiem, że po wgraniu do Arduino pliku LIFA BASE.PDE (dla komunikacji z LV) prograwować można już tylko blokowo w LV? tzn, nie ruszamy już tego (LIFA BASE.PDE) i nie piszemy nowego kodu " z palca" w IDE Arduino? stosujemy tylko zapis graficzny pod LV obsługujący wejścia (piny) na płytce Arduino?
Podsumowując, NIE MOŻNA dopisać do LIFA BASE.PDE swojego kodu w IDE (np. obsługującego enkodery kwadraturowe) - wgrać to do płytki i potem korzystać z tego kodu w LabView? = kod LIFA BASE.PDE nie może być zmieniony?


A jaki jest rodzaj sygnału z tego enkodera- analogowy czy cyfrowy?
Obecnie mam enkoder cyfrowy, tzn. inkrementalny - impulsator - 24 impulsy na obrót 360stopni.
Jest to enkoder kwadraturowy i na IDE Arduino jest kod rozróżniający kierunek obrotu. Enkoder posiada dwa kanały A i B i w zależności który pierwszy pokaże "jedynkę" to wtedy można wykryć w jakim kierunku się obraca.
W IDE Arduino taki enkoder podłączało się do wejść cyfrowych np. 2 i 4 i kod rozróżniał kierunek obrotu.


Użyłeś narzędzia VI Package Manager do wgrania sterowników Lifa?
Tak, sprawdziłem. W VI Package Manager mam LIFA wgrane.


W przypadku zastosowania potencjometru analogowego (biore to również pod uwagę, ale interesuje mnie dokładnośći powtarzalność) to jakość uzyskiwanych wartości zależy od przetwornika A/C płytki mojego Arduino.
Z tego co wiem to dla pomiaru analogowego 0-5 V ma rozdzielczość pomiaru 1024
dzojstik22
Posty: 103
Rejestracja: 17 gru 2011 21:33
Wersja środowiska: LabVIEW 2011

Re: Arduino i LabView

Post autor: dzojstik22 »

"
chamakus pisze:Czyli rozumiem, że po wgraniu do Arduino pliku LIFA BASE.PDE (dla komunikacji z LV) prograwować można już tylko blokowo w LV? tzn, nie ruszamy już tego (LIFA BASE.PDE) i nie piszemy nowego kodu " z palca" w IDE Arduino? stosujemy tylko zapis graficzny pod LV obsługujący wejścia (piny) na płytce Arduino?
Odpowiedź brzmi tak. Tam nie dopisujemy programów.
chamakus pisze:Podsumowując, NIE MOŻNA dopisać do LIFA BASE.PDE swojego kodu w IDE (np. obsługującego enkodery kwadraturowe) - wgrać to do płytki i potem korzystać z tego kodu w LabView? = kod LIFA BASE.PDE nie może być zmieniony?
Sprawdź działanie tego enkodera na pinach cyfrowych arduino. Niektóre elementy/ urządzenia które sterowane są cyfrowo nie muszą mieć specjalnych bibliotek. Nie jestem tego pewny ale mam przeczucie że da się te sygnały odczytywać za pomocą pinów cyfrowych za pomocą labview. Ten plik co zamieściłem odczytuje wartości analogowe- trzeba będzie to przerobić i ustawić wejścia cyfrowe.
Awatar użytkownika
chamakus
Posty: 37
Rejestracja: 19 cze 2012 15:20
Wersja środowiska: LabVIEW 2017

Arduino i LabView

Post autor: chamakus »

Potrzebuję odczyt z dwóch takich enkoderów cyfrowych jednocześnie - co pozwoli mi zbudować wykres XY.
Są to enkodery obrotowe posiadające dwa kanały A i B.
Np. jeżeli kanał A dostanie pierwszy sygnał "1" (wysoki) to oznacza, że enkoder obraca się zgodnie z kierunkiem zegara, a jeżeli kanał B jest pierwszy to przeciwnie do zegara.
Kanał A z enkodera np. jest podłączony do pinu 2 a kanał B do pinu 4...
czy zależność (który pierwszy - wyprzedzenie w fazie) na pinach w Arduino jest do zrealizowania w LV? a co za tym idzie czy pozwoli zdecydować o ile wartość jest dodawana lub odejmowana na potencjometrze?

http://allegro.pl/enkoder-24-impulsy-pr ... 83379.html
przykład takiego enkodera


Myślałem również o wykorzystaniu myszki pod USB jako urządzenia wskazującego przebyty dystans. Tylko tak aby taka myszka traktowana była jako urządzenie zewnętrzne, nie mające wpływu na obsługę komputera.

Dzięki za zainteresowanie tematem :)

P.S. Dzisiaj rano znalazłem w starych "elektro" śmieciach zwykły potencjometr analogowy - podłączyłem go do Arduino, później w LV odpaliłem Twój kod i działa ładnie :)

Świetnie, że opisałeś poszczególne bloki, do czego są itp... Bardzo mi to pomogło. Dobre na start w LV.
ODPOWIEDZ