Strona 1 z 2
Sterowanie silnikiem krokowym - podstawy
: 18 maja 2008 16:35
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
Sterowanie silnikiem krokowym - podstawy
: 19 maja 2008 07:39
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.
Re: Sterowanie silnikiem krokowym - podstawy
: 19 maja 2008 20:59
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
Re: Sterowanie silnikiem krokowym - podstawy
: 26 maja 2008 09:18
autor: fajfi
Dziękuję.
Ale jak
to wszystko połączyć, żeby działało?
Łukasz
Re: Sterowanie silnikiem krokowym - podstawy
: 26 maja 2008 12:30
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
Sterowanie silnikiem krokowym - podstawy
: 05 cze 2008 11:36
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
Sterowanie silnikiem krokowym - podstawy
: 06 cze 2008 09:34
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
Re: Sterowanie silnikiem krokowym - podstawy
: 07 lip 2008 18:32
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
Re: Sterowanie silnikiem krokowym - podstawy
: 07 lip 2008 22:57
autor: AzazeL
Zapoznaj się z tym tematem, może ci pomoże.
LPT i transoptory
Re: Sterowanie silnikiem krokowym - podstawy
: 08 lip 2008 09:55
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?
Re: Sterowanie silnikiem krokowym - podstawy
: 08 lip 2008 13:56
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
Sterowanie silnikiem krokowym - podstawy
: 09 lip 2008 00:11
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
Re: Sterowanie silnikiem krokowym - podstawy
: 09 lip 2008 17:47
autor: tatamisi
dodam BARDZO zainteresowany :0
sslo(małpka)inbit.pl
chetnie sie swoim tez podziele jak ruszy
Re: Sterowanie silnikiem krokowym - podstawy
: 12 lip 2008 22:22
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
Re: Sterowanie silnikiem krokowym - podstawy
: 13 lip 2008 10:22
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.