Pozycjonowanie silnika krokowego.

Dyskusje na temat silników krokowych i sterowników silników krokowych.
Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#71

Post napisał: MlKl » 18 lis 2012, 16:45

hecza - nie chcesz czytać konkretnego usera, to masz przycisk "ignoruj". Możesz ignorować też konkretne tematy - jeżeli ci nic nie wnoszą.

A kamar zawsze porusza konkretny, wynikający z roboty na konkretnej maszynie, problem do rozwiązania. To, że nie zawsze oczekuje rozwiązania zgodnego z kanonem, nic tu nie zmienia - cały postęp bierze się głównie z tego, że do kogoś nie dociera, że "się nie da" i po prostu robi to, co inni uważają za niemożliwe do wykonania.

Przy okazji tuxcnc mi rozwiązał mój problem, z którym borykałem się od dawna. A wielu czytelników dowiedziało się czegoś nowego o pozycjonowaniu osi i sterowaniu silnikami krokowymi.



Tagi:

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 7
Posty: 4463
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

#72

Post napisał: pitsa » 18 lis 2012, 17:02

MlKl pisze:A wielu czytelników dowiedziało się czegoś nowego o pozycjonowaniu osi i sterowaniu silnikami krokowymi.
Dobra dyskusja to uczta dla umysłu. :-)

Z tej dyskusji wynika, że możliwe jest ustalenie propozycji wyłączania w odpowiednim bezpiecznym miejscu:
https://www.cnc.info.pl/topics65/pozycj ... 081,42.htm
jednej z 50 w silniku 200 krokowym/obrót jak tu opisał jarekk:
https://www.cnc.info.pl/topics65/pozycj ... 081,60.htm

Być może dałoby się zrobić takie "makro: kontrolne, które po skończonej robocie zatrzymywałoby silnik na właściwej bezpiecznej pozycji.
Zastanawiam się jak zbazować silnik aby to zbazowanie było w tym odpowiednim położeniu? Jak to zrobić aby po dojechaniu do krańcówki znaleźć jedną z 50 pozycji "FRAM?" silnika krokowego i to bez użycia enkoderów?
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 45
Posty: 16283
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#73

Post napisał: kamar » 18 lis 2012, 17:10

No to mam lamerskie pytanie - sterownik jest w stanie rozpoznać czy jest na pełnym kroku czy na mikro ?
A jeśli nie to czy da sie zrobić żeby wiedział.


Raven
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 681
Rejestracja: 24 paź 2011, 11:54
Lokalizacja: Warszawa

#74

Post napisał: Raven » 18 lis 2012, 17:31

Jest pewne rozwiązanie problemu, niestety wymaga zaprojektowania sterownika od zera.

Wymagania - krokowiec + enkoder o rozdzielczości większej niż ustawiony podział - tutaj mogą być pewne problemy... ale dało by się to mechanicznie ogarnąć.

Realizacja "kasowania" dygnięcia:
1. włączenie zasilania sterownika;
2. uruchomienie obsługi enkodera;
3. załączenie zasilania krokowca;
4. obrót krokowca kompensujący wykryty ruch.

W ten sposób nieważne w którą stronę silnik dygnie (zakładam stanięcie w połowie drogi pomiędzy stanami stabilnymi) to zostanie przywrócony do tego na czym stał przed załączeniem zasilania.

Można by jeszcze wysłać ze sterownika sygnał "ready", a mając enkoder z krokowca można by właściwie zrobić na takim sterowniku serwo.


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 45
Posty: 16283
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#75

Post napisał: kamar » 18 lis 2012, 18:31

Raven pisze:
Realizacja "kasowania" dygnięcia:
1. włączenie zasilania sterownika;
2. uruchomienie obsługi enkodera;
3. załączenie zasilania krokowca;
4. obrót krokowca kompensujący wykryty ruch.
.
Chyba skórka rzeczywiście nie warta wyprawki :) Jakoś trzeba sobie radzić mechanicznie, W tym jestem lepszy :)
Dzięki wszystkim.

[ Dodano: 2012-11-18, 18:30 ]
kamar pisze: To pytanie dodatkowe ?
Bazuje oś i usztywniam (mam blokadę w podzielnicy) Po starcie silnik dyga do pełnego kroku
ale offset nie powinien się zmienić ? (silnik powinien pożądanie zgubić te mikrokroki)
No niestety jestem zmuszony wrócić do tematu :)
Ponieważ forum traktuje trochę jak żone - wierzę we wszystko i trzy razy sprawdzam :)
polazłem do maszyny i zrobiłem jak wyzej. Może to niemożliwe ale na naniesionych kreseczkach
przekłamania nie widać . Jutro oczywiście posprawdzam na czujnik ale zapowiada się nieżle.
Silnik usiłuje dygnąć ale oś mu nie daje. Przejeżdzałem po 10 stp w obie strony i się pokrywa.
Bazowałem w kilku przypadkowych miejscach i to samo.


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 9
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#76

Post napisał: jarekk » 18 lis 2012, 18:54

kamar pisze:No to mam lamerskie pytanie - sterownik jest w stanie rozpoznać czy jest na pełnym kroku czy na mikro ?

A jeśli nie to czy da sie zrobić żeby wiedział.
Sterownik ( jego wewnętrzna logika ) wie. Ale nikt tego nie wyporowadza na zewnątrz ani też uzywa.
W momencie startu wiesz, że jest w pozycji stabilnej ( jeżeli oczywiście przy starcie nie masz migotania sygnałów step/dir). A potem - jezeli liczysz impulsy - wiesz że co N ( gdzie N jest podziałem) są pozycje stabilne.


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 45
Posty: 16283
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#77

Post napisał: kamar » 18 lis 2012, 19:08

To co sie dzieje z silnikiem zostawionym w pozycji niestabilnej gdy po starcie fizycznie nie może się ustawić ?
I podobne :
Jezeli zmusimy silnik do gubienia kroków ( terkotania) to zatrzyma się na stabilnej czy nie ?


piotr_olbrysz
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 16
Posty: 478
Rejestracja: 04 mar 2012, 13:51
Lokalizacja: Warszawa

#78

Post napisał: piotr_olbrysz » 18 lis 2012, 19:38

To mogło by zadziałać. Niestety wciąż nie ma takiego sterownika.
No właśnie kolega jarekk robi sterownik to można to w nim zaimplementować.
Ostatnio zmieniony 18 lis 2012, 19:45 przez piotr_olbrysz, łącznie zmieniany 1 raz.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 9340
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#79

Post napisał: tuxcnc » 18 lis 2012, 19:39

kamar pisze:To co sie dzieje z silnikiem zostawionym w pozycji niestabilnej gdy po starcie fizycznie nie może się ustawić ?
Chyba ciągle nie bardzo kumasz jak silnik krokowy jest zbudowany i jak działa.
Tu masz piękne zdjęcie :
Obrazek
Wirnik i stojan są ząbkowane, przy czym wirnik jest silnym magnesem, a stojan jest ze stalowej blachy.
Jak prąd nie płynie, to ząbki wirnika przyciągają się z ząbkami stojana i jest tyle stabilnych pozycji ile par ząbków.
Ale jak prąd płynie, to wytworzone pole magnetyczne daje siły dużo większe niż przyciąganie się blach i magnesów.
Przy płynącym w uzwojeniach prądzie wirnik może zająć dowolne położenie, zależne od różnicy prądów w uzwojeniach.

I to stąd się bierze cały problem, że zasilany silnik może stać w pozycji absolutnie niemożliwej dla silnika nie zasilanego.
Nie ma prądów w uzwojeniach, to są tylko siły przyciągania ząbków.
Są prądy w uzwojeniach, to wytwarzają siły dużo większe od przyciągania się ząbków.

Dlatego też można próbować doprowadzić silnik do pozycji pokrywania się ząbków i wtedy wyłączyć prąd i mieć nadzieję, że po włączeniu sterownik przywróci takie same prądy i w tych samych kierunkach co przed wyłączeniem.
Jest to teoretycznie możliwe, ale upierdliwe w realizacji i podatne na błędy.

Dużo prostszym i dużo pewniejszym rozwiązaniem jest jednak olać całe zagadnienie, postawić bazy przed wyłączeniem i ręcznie zgrać je po włączeniu zasilania.
To raptem minuta przed wyłączeniem, minuta po włączeniu i zero możliwości błędu, i zero możliwości spieprzenia detalu, który przecież sporo kosztuje, jeśli całe dniówki maszyny mu się poświęca.

Ja Ci naprawdę radzę zainstalować camview, zobaczysz że życie stanie się prostsze.
Najtańszą kamerkę 680x400 pikseli można za dwie dyszki kupić, a mikroskop USB to raptem niewiele ponad stówkę.
Z powiększeniem 200x to się pewnie na czubku szpilki można zabazować.

.


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 9
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#80

Post napisał: jarekk » 18 lis 2012, 20:25

To co sie dzieje z silnikiem zostawionym w pozycji niestabilnej gdy po starcie fizycznie nie może się ustawić ?
I podobne :
Jezeli zmusimy silnik do gubienia kroków ( terkotania) to zatrzyma się na stabilnej czy nie ?

Kolega tuxcnc pokazał rysunek - ja spróbuję to opisać.

Klasyczny silnik korkowy ma 200 kroków. Czyli pozycje stabilne to 0d, 1.8d, 3.6d etc
Silnik bez obciążenia na wale zawsze będzie w jednej z tych pozycji - odpowiada to "zgraniu" ze sobą ząbków stojana i wirnika. Jeżeli silnik jest zasilany i sterowany pełnokrokowo, to moment trzymający przy braku ruchu będzie będzie równy znamionowemu. Jezeli wyłączysz zasilanie - moment będzie znikomy, bo stojanie będzie jedynie szczątkowe pole magnetyczne.

Jezeli będziesz sterował używając mikrokrok i wyłączysz silnik w przypadkowym momencie - to szczątkowe pole magnetyczne "przestawi" silnik w pozycję stabilną ( z praktyki widać że raczej zawsze jest wystarczające). Będzie to najbliższa pozycja będąca wielokrotnością 1.8 stopnia.

Co się stanie jeżeli na wale będzie jakieś obciążenie ( np. przekładnia slimakowa ) oraz będziesz sterował używając mikrokroku ?

Zgdaywał bym, że po wyłączeniu zasilania silnik zostanie w swoim miejscu - opory ruchy będą większe niż moment wynikający ze szczątkowego pola magnetycznego silnika.
W momencie gdy załączasz ponownie sterownik - słychać zgrzyt. Wynika on z faktu, że sterownik startując zaczyna zawsze z pozycji będącej wielokrotnością 1.8 stopnia - jeżeli silnik nie był w takiej pozycji to się w niej ustawi po tym jak sterownik zasili jego cewki.

Gdyby to była przekładania pasowa (lub jakaś nie samohamowna ślimakowa - nie wiem czy są takie) - sprawa byłaby jeszcze bardziej zabawna, bo wtedy mogła by się zupełnie "przekręcić ".

Dołóżmy hamulec - włączamy go tuż przed wyłączeniem silnika i oś obrotowa "zamiera".

Wyłączamy i wyłączmy sterownik silnika krokowego. Co się stanie ? Póki hamulec będzie trzymać, oś się nie ruszy - sterownik prawdopodobnie będzie wył na tę okoliczność :-) . Co się stanie gdy puścimy hamulec ? Niestety oś obrotowa prawdopodobnie się poruszy.

Sterownik silnika z mikrokrokiem N ( powiedzmy dla uproszczenia 1/16) ustawia 16 kombinacji prądu na uzwojeniach silnika bipolarnego. Odpowiednia ich sekwencja powoduje obrót wału silnika. Dla jednego obrotu wału sterownik musi powtórzyć 200 takich samych sekwencji każda 16 różnych ustawień prądu na uzwojeniach.

Dlatego aby po puszczeniu hamulca oś nie drgnęła, musisz wiedzieć dla której sekwencji ( tej 1 z 16 ) silnik został zatrzymany.

Mozna to robić dwojako - albo sterownik pamięta w pamięci nieulotnej jaka była ostatnia sekwencja, albo tuż przed zatrzymaniem doprowadzasz silnik do sekwencji początkowej ( powiedzmy nr 1) z której sterownik zaczyna pracę po włączeniu zasilania ( to wymaga pamiętaniu w programie że pozycja bazowa nie jest 0 ale jakaś inna).


Maszyny z górnej półki mają enkodery abosultne, choć częściej się spotyka taki psudo-absolutne w których enkodery wraz z układem odczytu są zasilane cały czas ( nawet bateryjnie). Coś takiego bym polecał jakie rozwiązanie najbardziej niezawodne - nawet jeżeli taki enkoder jest czytany tylko podczas postoju.




W tej chwili robię sterownik krokowca który ma interfejs do enkodera i paru innych rzeczy ( jak komunikacja z PC), ale to jeszcze daleka droga do działającego urządzenia.
Ostatnio zmieniony 18 lis 2012, 20:30 przez jarekk, łącznie zmieniany 2 razy.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Silniki Krokowe / Sterowniki Silników Krokowych”