Sterowanie zasilaczem w LV

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.
spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Sterowanie zasilaczem w LV

Post autor: spalinowy » 16 lis 2016 18:13

Mam zasilacz, którym można sterować z kompa. Ma on złącza USB i RS232. Zainstalowały mi się jakieś sterowniki VISA i zupełnie nie wiem co dalej z tym zrobić.
Może mnie ktoś naprowadzić?

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Sterowanie zasilaczem w LV

Post autor: aaddaas » 16 lis 2016 20:19

Jakiś model?
Co chcesz osiągnąć?
Obrazek

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Re: Sterowanie zasilaczem w LV

Post autor: spalinowy » 16 lis 2016 20:49

Zasilacz to KD-3005P a chcę zwyczajnie sterować napięciem według zadanego przebiegu.

pawhan11
Posty: 54
Rejestracja: 21 wrz 2011 16:25
Wersja środowiska: LabVIEW 2012

Re: Sterowanie zasilaczem w LV

Post autor: pawhan11 » 16 lis 2016 21:44

najprosciej to po RS komendy wysyłać, tylko trzeba jakas sensowna dokumentacje poszukać.
https://sigrok.org/wiki/Korad_KAxxxxP_series
CLS - Certified LabVIEW Student

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Re: Sterowanie zasilaczem w LV

Post autor: spalinowy » 16 lis 2016 21:49

Ok, mam pierwsze kroki za sobą.
Trzeba skorzystać ze ścieżki: Help -> Find Instruments Drivers...
Potem zainstalować sterownik i jest gotowy VI.

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Re: Sterowanie zasilaczem w LV

Post autor: spalinowy » 20 lis 2016 00:46

Pierwsze kroki za mną, jednak nadal coś jest nie tak. Chciałbym ten kod zrobić minimalistycznie, aby mógł pracować na cRIO przez RS232. Poza tym sterować chcę płynnie wartością napięcia, a nie tylko ustalać jakąś wartość co jakiś czas.
Zasilacz słychać, że się odzywa, ale wartości się nie zmieniają. Czego brakuje jeszcze w tym kodzie?

Gotowy kod i opis
Dokumentacja
Załączniki
Apli.vi
(18.84 KiB) Pobrany 49 razy

Awatar użytkownika
micard
Posty: 134
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

Sterowanie zasilaczem w LV

Post autor: micard » 20 lis 2016 11:35

Z czym konkretnie w tej chwili masz problem? Co rozumiesz jako
sterować chcę płynnie wartością napięcia, a nie tylko ustalać jakąś wartość co jakiś czas
Sterując urządzeniem przez port szeregowy zawsze ustalasz wartość "co jakiś czas" tylko czasem jest to 10 min a czasem 100ms

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Sterowanie zasilaczem w LV

Post autor: spalinowy » 20 lis 2016 15:16

Mam na myśli, że wartość ma być regulowana w miarę możliwości dynamicznie, a nie być ustawiona na 12 V i tak utrzymywana ciągle. Zdaję sobie sprawę ze zwłoki zadziałania układu, ale chcę ją ograniczyć do minimum na jakią pozwala sam zasilacz.

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Sterowanie zasilaczem w LV

Post autor: aaddaas » 20 lis 2016 15:34

No ok, a co się teraz dzieje? Bo ta pętla co ją wrzuciłeś co 200ms (timeout) ustala napięcie, prąd i włącza wyjście. Jest to zbyt mało płynnie? Jak często chcesz zmieniać napięcie?
Obrazek

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Re: Sterowanie zasilaczem w LV

Post autor: spalinowy » 20 lis 2016 16:53

Prace nad tym kodem chcę zrealizować tak:
1. Chcę dać na wyjście jakiekolwiek napięcie i prąd, jako Constant.
2. Jak to zadziała 1, to zamienię Constanty na Knoby.
3. Na koniec podłączę sobie jakąś funkcję zależną od czasu i podciągnę maksymalnie prędkość wykonywania pętli.

Jednak już w pierwszym punkcie mam problem. Zasilacz się odzywa, ale na wyświetlaczu nic się nie zmienia. I teraz nie wiem, czy w konfiguracji coś pomieszałem (teraz są ustawienia domyślne) czy w pętli brakuje jeszcze czegoś. Nie orientuję się za bardzo w tych wszystkich protokołach dlatego też nie wiem co jest niezbędne, aby komunikacja była poprawna.

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Sterowanie zasilaczem w LV

Post autor: aaddaas » 20 lis 2016 17:42

A soft Labview Korad KA3005P Software V0.1 z pierwszego linku co podałeś Ci działa? Widzisz urządzenie w managerze urządzeń?
Obrazek

Awatar użytkownika
ksyhu
Posty: 31
Rejestracja: 06 lis 2009 19:15
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Sterowanie zasilaczem w LV

Post autor: ksyhu » 20 lis 2016 18:15

1. Czy wyjścia error zgłaszają jakieś błędy?
2. Czy IDN zwraca jakieś informacje? Może odczytaj coś czasem, a nie tylko wysyłaj.
3. Twój problem leży prawdopodobnie w tym, że wysyłasz nastawy z wartością dziesiętną rozdzieloną przecinkiem, a nie kropką (sprawdź wysyłany string i zmień ustawienia regionalne lub zamień znaki w LV)
4. Możesz użyć jednego format into string do polecenia, zamiast dwóch.
5. Nie wysyłaj IDN z każdym obrotem pętli (szkoda, czasu przetwarzania zasilacza, na to polecenie).
Często prowadzę z sobą długie rozmowy i jestem przy tym tak mądry, że czasami nie rozumiem ani jednego słowa z tego, co mówię.

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Re: Sterowanie zasilaczem w LV

Post autor: spalinowy » 20 lis 2016 20:05

aaddaas pisze:A soft Labview Korad KA3005P Software V0.1 z pierwszego linku co podałeś Ci działa? Widzisz urządzenie w managerze urządzeń?
W sumie działa, ale powoduje czasami blue scren jak chcę zatrzymać VI. A sam zasilacz jest widoczny w managerze.
ksyhu pisze:1. Czy wyjścia error zgłaszają jakieś błędy?
2. Czy IDN zwraca jakieś informacje? Może odczytaj coś czasem, a nie tylko wysyłaj.
3. Twój problem leży prawdopodobnie w tym, że wysyłasz nastawy z wartością dziesiętną rozdzieloną przecinkiem, a nie kropką (sprawdź wysyłany string i zmień ustawienia regionalne lub zamień znaki w LV)
4. Możesz użyć jednego format into string do polecenia, zamiast dwóch.
5. Nie wysyłaj IDN z każdym obrotem pętli (szkoda, czasu przetwarzania zasilacza, na to polecenie).
1. Nic nie wyskakuje
2. Szczerze powiedziawszy nie pamięta, sprawdzę jutro.
3. Zastanawiałem się nad tym czy może to być problemem. Do tej pory w innych aplikacjach to nie przeszkadzało. Jednak z tym zasilaczem mam do czynienia zaledwie od paru dni.
4. Zmienię
5. Zmienię

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Sterowanie zasilaczem w LV

Post autor: spalinowy » 24 lis 2016 13:17

Kończąc w tym temacie, mogę napisać tyle, że zasilacz ten nie nadaje się do sterowania napięciem jako poprzez przebieg czasowy. W aplikacji trzeba uwzględniać za dużo Delay-ów, przez co opóźnienia na wyjściu są nieakceptowalne.

Awatar użytkownika
ksyhu
Posty: 31
Rejestracja: 06 lis 2009 19:15
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Re: Sterowanie zasilaczem w LV

Post autor: ksyhu » 24 lis 2016 16:21

Czyli udalo się go wysterowac? Co było problemem. Ten typ komunikacji, nie jest najszybszy, zasilacz tez ma pewne opoznienia.

Jak jest możliwość, spróbuj przestawić się na sterowanie sygnalami analogowymi. Możesz też wkleić kod, zobaczymy czy nie da się go zoptymalizować. Czy zasilacz sterowany analogowo pokrętłem odpowiada wystarczajaco szybko?

Co do samego zasilacza. Z reguły dobiera się zasilacz, do zalozen projektowych, nie odwrotnie. Takze to że się nie nadaje do sterowania przebiegami to trochę za ostro powiedziane. W zaleznowsci od wymagan np 1sekundowa reakcja moze być wystarczajaca.
Często prowadzę z sobą długie rozmowy i jestem przy tym tak mądry, że czasami nie rozumiem ani jednego słowa z tego, co mówię.

ODPOWIEDZ