Sterowanie silnikiem krokowym - podstawy

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
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Sterowanie silnikiem krokowym - podstawy

Post autor: fajfi »

Cześć.
Chciałbym za pomocą Labview sterować silnikiem krokowym. Niestety nie mam jeszcze w dziedzinie sterowania żadnego doświadczenia.
Posiadam silnik krokowy 6-cio końcówkowy, 5V, oporność 4,8 - 5 omów.
Czego jeszcze potrzebuję do sterowania od strony sprzętowej i programowej.
I czy da się rozwiązać to w sposób w miarę niedrogi?
Pozdrawiam
Łukasz
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Sterowanie silnikiem krokowym - podstawy

Post autor: Mikrobi »

Układ scalony ULN2803, wtyczka DB25 męska, dobrze było by też mieć cztery transoptory PC817 dla separacji galwanicznej i oczywiście plytka uniwersalna. Tyle o sprzęcie.
Od strony programowej - obsługa portu LPT w LabVIEW.
Najlepiej bedzie zacząć od istniejących przykładów.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
groovebox
Posty: 29
Rejestracja: 11 maja 2007 00:00
Lokalizacja: warszawa

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: groovebox »

to ja jeszcze dorzuce troche w miarę przystępnej teorii o sterowaniu silnikow skokowych...

http://www.automatykaonline.pl/poradnik ... ?kat=4&l=0
Ostatnio zmieniony 19 maja 2008 21:00 przez groovebox, łącznie zmieniany 1 raz.
"...wszystko sie kiedys konczy, oprocz Mody na Sukces...."
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: fajfi »

Dziękuję.
Ale jak
to wszystko połączyć, żeby działało?

Łukasz
Awatar użytkownika
Koza
Administrator
Posty: 152
Rejestracja: 20 gru 2006 00:00
Wersja środowiska: LabVIEW 2011
Lokalizacja: Olsztyn

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: Koza »

Możesz skorzystać z pomocy internetu:
http://www.elektroda.pl/rtvforum/topic637364.html

Przykład jest prosty, myślę, że warto zastanowić się nad wykorzystaniem transoptorów a już na pewno diod zabezpieczających.

Pozdrawiam,
Koza
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Sterowanie silnikiem krokowym - podstawy

Post autor: fajfi »

Cześć,
Układ już został zmontowany z uwzględnieniem transoptorów.
Gdy podaję z "zewnątrz" impulsy na odpowiednie końcówki, to silnik robi kroki.
Niestety sprawa komplikuje się, gdy podłączam się do portu równoległego:
1. Próbowałem użyć tego przykładu "stepper_motor.vi", niestety nie działa.
Tak przy okazji doczytałem w tym przykładzie - cytuję:
"In Port.vi and Out Port.vi, which this example uses, are not supported on Windows Vista or later"
Tak się składa, że mam Vistę. Czy da się jakoś ominąć ten problem?
dla jasności mam LV8.5
2. Sprawdziłem w BIOSie, że LPT mam ustawione jako SPP.
3. Jeden z forumowiczów napisał, że należy ściągnąć "Port and Memory Utilities for Windows", niestety pod podanym linkiem - http://www.labview.pl/Downloa...cid=3.html nie mogę nic podobnego znaleźć.
4. Przyjrzałem się dostępnym przykładom w helpie dotyczącym portu równoległego, ale skąd mam wiedzieć jaki powinien być "O/p port address" oraz w jaki sposób skierować impuls na konkretny pin? Interesują mnie tylko piny: 2, 3, 4 i 5.
Pozdrawiam i proszę o pomoc
Łukasz
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Sterowanie silnikiem krokowym - podstawy

Post autor: fajfi »

Cześć!
Silnik chodzi jak brzytwa.
Bardzo przepraszam, za panikę, której uległem przy poprzednim poście.
Trochę odpoczynku rozjasnia umysł i sprawa okazała się nadzwyczaj banalna.
Aż mi wstyd...

Pozdrawiam
Łukasz
tatamisi
Posty: 26
Rejestracja: 07 lip 2008 15:29
Kontakt:

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: tatamisi »

mam prosbe...jako ze radze sobie jakotako z labview...genialny jest...to z elektroniki jestem noga...ale na tyle ze potrafie polutowac conieco...wiec mam prosbe o schemacik jak wlutowac owe transoptory w uklad...mam jakis domysl ale chyba zle mysle
Awatar użytkownika
AzazeL
Posty: 46
Rejestracja: 05 cze 2008 19:00
Lokalizacja: Mikołów
Kontakt:

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: AzazeL »

Zapoznaj się z tym tematem, może ci pomoże.

LPT i transoptory
tatamisi
Posty: 26
Rejestracja: 07 lip 2008 15:29
Kontakt:

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: tatamisi »

nie wiem czy pomoglo...zlutowalem uklad....teraz zobaczymy czy ruszy..

i jeszcze pytanie o podstawy... na port lpt wysyla sie paczke 8 bitow i kazdy odpowiada za inny pin?
Awatar użytkownika
AzazeL
Posty: 46
Rejestracja: 05 cze 2008 19:00
Lokalizacja: Mikołów
Kontakt:

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: AzazeL »

Port LPT ma 3 rejestry:
danych, statusowy i kontrolny.

Rejestr danych odpowiada za piny portu D0-D7, każdy z bitów rejestru za odpowiedni pin na porcie.

Żeby ustawić konkretny bit możesz użyć takiego sposobu:
Pobierasz aktualną wartość portu, konwertujesz przy pomocy Number to Boolean Array (dostajesz 1-D boolean Array), ustawiasz interesujący cię bit (Replace Array Subset), znów konwertujesz Boolean Array to Number i wysyłasz z powrotem na port.

Więcej na temat programowania portu LPT znajdziesz tu:

Programowanie portu LPT

Pozdrawiam
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Sterowanie silnikiem krokowym - podstawy

Post autor: fajfi »

Cześć.
Tatamisi, jeśli nadal jesteś tym zainteresowany, to podeślij mi na priva swój email, to wyślę ci to co mam zrobione i działające.
Łącznie z vi-ajem :)
Pozdrawiam
Łukasz
tatamisi
Posty: 26
Rejestracja: 07 lip 2008 15:29
Kontakt:

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: tatamisi »

dodam BARDZO zainteresowany :0

sslo(małpka)inbit.pl

chetnie sie swoim tez podziele jak ruszy
tatamisi
Posty: 26
Rejestracja: 07 lip 2008 15:29
Kontakt:

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: tatamisi »

AzazeL podstawy pojalem..Dziekować :) w sumie to proste jest :)...jesli nie liczyc tego ze ktos kiedys wymyslil XP...chodzilo mi w sumie o doswiadczenia z LV jak to zrobic praktycznie i ladnie :) bo moje myslenie w LV jest chyba dosc siermiezne ciagle
Awatar użytkownika
AzazeL
Posty: 46
Rejestracja: 05 cze 2008 19:00
Lokalizacja: Mikołów
Kontakt:

Re: Sterowanie silnikiem krokowym - podstawy

Post autor: AzazeL »

Takiego programu nie mam napisanego, a w zasadzie narysowanego :]

Z czym masz właściwie problem? Ja nie mam obecnie wolnego czasu na tyle aby zrobić ci cały program.

Mogę polecić takie podejście:
Stwórz tablicę z kolejnymi ustawieniami bitów dla każdego z kroków (masz silnik 2 fazowy z odczepem w środku, tak więc to będą 4 ustawienia bitów dla pracy pełnokrokowej lub 8 dla półkrokowej).

Utwórz zmienną określającą index w tej tablicy i podłącz ją do shift register w pętli.

Jeżeli krok będzie np. w prawo to przy zakończeniu kroku zwiększasz wartość tej zmiennej, w przeciwnym wypadku odejmujesz (pamiętaj o tym że musisz dodać warunki. Dla pracy pełnokrokowej: Jeżeli zmienna > 3 to zmienna = 0 i Jeżeli zmienna < 0 to zmienna = 3).

Oczywiście zmienna podajesz w pętli na Index Array tablicy z poszczególnymi krokami. Wyjście z tego bloczku wysyłasz na port LPT.
ODPOWIEDZ