paperfalse Napisano Luty 7, 2019 Udostępnij Napisano Luty 7, 2019 (edytowany) Mankamenty arduino. Najlepiej sterować silnikiem za pomocą maski wczytywanej do portu ale trzeba by zrezygnować z biblioteki do silnika. W tej konfiguracji spróbuj podać na wszystkie piny stan wysoki, powinien stanąć w miejscu w najbliższej połówce. Z ciekawości zapytam jeszcze czego używasz do dekodowania rc5? Dodam tylko celem sprostowania. Można zawsze po zatrzymaniu wyłączyć zasilanie silnika, najlepiej jednak było by zewrzeć cewki tylko to by wymagało dodatkowej ingerencji w układ. Spróbuj sobie pozwierać cewki ręcznie bez podłączania silnika do zasilania i poruszać osią to będziesz wiedział o co chodzi. Edytowano Luty 7, 2019 przez paperfalse uzupełnienie Link do komentarza Share on other sites More sharing options...
ethanak Luty 7, 2019 Udostępnij Luty 7, 2019 Dlaczego mankamenty arduino? Po prostu trzeba użyć właściwej biblioteki (np. AccelStepper)... Link do komentarza Share on other sites More sharing options...
paperfalse Luty 7, 2019 Autor tematu Udostępnij Luty 7, 2019 Ta biblioteka nie obsługuje mikrokroków tylko połówki, ćwiartki by się przydały jeszcze ale to też zależy do czego to komu potrzebne. Ta biblioteka wykorzystuje PWM w ogóle? Link do komentarza Share on other sites More sharing options...
narbej Luty 7, 2019 Udostępnij Luty 7, 2019 (edytowany) 8 minut temu, paperfalse napisał: Ta biblioteka wykorzystuje PWM w ogóle? Jestem zagubiony, i przyznaję, że nie robiłem [praktycznie] jeszcze tej lekcji. Więc się pytam, czy silniki krokowe uruchamia się PWM w ogóle, czy tylko "normalne" silniki i ewentualnie serwomechanizmy z takimi silnikami? No i oczywiście diody. Edytowano Luty 7, 2019 przez narbej Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
paperfalse Luty 7, 2019 Autor tematu Udostępnij Luty 7, 2019 Nie ma się co zastanawiać, silniki można sterować na różne sposoby. PWM pozwala na precyzyjne sterowanie mocą silnika, zamiast ciągłych sygnałów daje się PWM co pozwala uzyskać płynną pracę i precyzyjną pracę za pomocą mikrokroków połówek, ćwiartek i więcej w zależności od możliwości silnika. W praktyce na silnikach jakimi sterowałem nie udało się uzyskać więcej niż ćwiartki przy stabilnie utrzymywanych pozycjach. Tak więc komutacje swoją drogą a PWM swoją w tym samym czasie. Link do komentarza Share on other sites More sharing options...
FlyingDutch Luty 7, 2019 Udostępnij Luty 7, 2019 (edytowany) Cześć, silników krokowych nie obsługuje się poprzez PWM. Przeważnie mają kilka trybów pracy. Najprostszy jest tryb "Pulse and Direction" - w takim trybie są przeważnie trzy sygnały sterujące (poziomy logiki 3,3 lub 5V). I tak: 1) Pin "STEP" - tutaj podajemy przebieg prostokątny (o odpowiednio dobranej częstotliwości). Wystarczy przesłać odpowiednią liczbę impulsów (odmierzyć), aby silnik przesunął się o określoną liczbę kroków. Oczywiście trzeba uwzględnić przekładnię mechaniczną jeśli jest zamontowana na silniku. Jeśli odmierzymy odpowiednią liczbę impulsów (kroków) silnik zatrzyma się po przesunięciu o odpowiadający im kąt. Jeśli impulsy na wejściu STEP nie są generowane silnik się zatrzymuje. Oczywiście jeśli inercja (bezwładność) mechaniczna układu jest duża mogą wystąpić drgania o malejącej amplitudzie po zatrzymaniu silnika. Lepsze silniki pozwalają na uwzględnienie inercji układu (jako parametr silnika) co usuwa ten efekt. 2) Pin "Direction" - steruje kierunkiem obrotów silnika (wartość sygnału określa kierunek obrotów: wartości LOW i HIGH 3) Lepsze silniki mają Pin "Enable" - poziom logiczny na tym pinie pozwala na zatrzymanie/ruch silnika Lepsze silniki mają pamięć konfiguracji i możliwość zmiany dużej ilości parametrów (np. liczba kroków na pełen obrót: od kilkudziesięciu do np. 30 000). Możliwość ustalenia prądów na krok, idle, hamowanie itp. Ustawianie wielu parametrów mechanicznych silnika i podłączonego układu. Itd. itp. Takie silniki nie są sterowane sygnałem PWM. Nie wiem jak to jest z serwami opartymi na takich silnikach. UWAGA: podane informacje dotyczą silników krokowych ze zintegrowanym sterownikiem. Nie dotyczy to "gołych" silników krokowych bez sterownika. Silniki ze sterownikami w większości sterowane w sposób jaki opisałem. Oczywiście w praktyce może występować więcej pinów sterujących np. związanych z obsługą sytuacji awaryjnych związanych z silnikiem itp. Pozdrawiam Edytowano Luty 7, 2019 przez FlyingDutch 2 Link do komentarza Share on other sites More sharing options...
paperfalse Luty 7, 2019 Autor tematu Udostępnij Luty 7, 2019 Proponuje zainteresowanym lekturę dotyczącą mikrokroków w silnikach krokowych. Jest tego w necie masa informacji. Nie będzie wtedy żadnych niejasności. Oczywiście PWMem należy sterować w odpowiedni sposób. Na prośbę zainteresowanych mogę przedstawić ogólną zasadę mimo to zachęcam do zapoznania się z tematem bliżej we własnym zakresie. @FlyingDutch mowa tu o samym silniku bez dodatkowych sterowników. Link do komentarza Share on other sites More sharing options...
ethanak Luty 7, 2019 Udostępnij Luty 7, 2019 różnica jest tylko taka, że krok jest realizowany sprzętowo (typowe stepsticki) czy programowo (wspomniany w temacie silniczek). gdzie tu miejsce na pwm? no, ale ja się nie znam, z chęcią się dowiem. Link do komentarza Share on other sites More sharing options...
narbej Luty 7, 2019 Udostępnij Luty 7, 2019 (edytowany) 26 minut temu, paperfalse napisał: Proponuje zainteresowanym lekturę dotyczącą mikrokroków w silnikach krokowych. Jest tego w necie masa informacji. W necie jest faktycznie masa, ale trudno czasami znaleźć w tej masie prawdziwe, rzetelne informacje. Zgodnie z twoją sugestią zerknąłem [do netu] i w dwu pierwszych [linkach http://silniki-krokowe.com.pl/informacje-techniczne/sterowanie-silnikami-krokowymi/, http://www.heilig.up.krakow.pl/mikrokontrolery/Pomoc/Sterowanie silnikami krokowymi.pdf] nic nie ma o pwm. Jest natomiast o Poglądowy przebieg chopper techniqueg do sterowania tranzystorami: ale to nie ma nic wspólnego z pwm. W drugim jest mowa między innymi o sterowaniu mikrokrokami i ... i też nie znalazłem nic o pwm. Bo z opisu mikrokroków wynika, moim zdaniem, że to nie pwm. Dalej już mi się nie chciało czytać. Może ty masz lepsze, swoje własne źródła? "Najbardziej efektywną metoda jest zastosowanie tzw. pracy siekanej (metoda chopper technique). Która polega na podaniu nie jak wyżej wspomnianych pojedynczych impulsów na cewkę silnika, ale w danej chwili serii impulsów, która kształtem przypomina sygnał PWM. W pierwszej chwili impulsu z generatora jest podawane napięcie wyższe co przyspiesza narastanie prądu, później zostaje one ograniczone po przez pracę cykliczną tranzystora." Powyżej cytat, z pierwszego linku. Edytowano Luty 7, 2019 przez narbej Link do komentarza Share on other sites More sharing options...
paperfalse Luty 7, 2019 Autor tematu Udostępnij Luty 7, 2019 (edytowany) Faktycznie niewiele to rozjaśnia. Ta praca "siekana" pełni tu tę samą funkcję jak pwm w arduino tylko inaczej. Nie korzystając z procesora łatwiej jest sterować analogowo napięciem i częstotliwością niż wypełnieniem. Na szczęście arduino ma pwm i to od 2 do kilku kanałów i nie widzę przeszkód aby używać go dowolnie skoro się za niego zapłaciło. Proponuję poszukać dokładniej. Ogólnie tylko dodam, że przy każdej komutacji należy dostarczać do cewek tyle mocy aby oś przyjęła pożądane położenie i robić to w taki sposób aby w każdym położeniu moc oddawana przez silnik była taka sama. Drgania silnika podczas stanów stabilnych, trzeszczenie podczas pracy i inne wibracje to wynik błędnego wysterowania. ####################### przykładowe sterowanie półkrokowe ćwierćkrokowe bez kompensacji mocy skompensowane (wyliczone wartości PWM 8bit) cewki 1 2 3 4 1 2 3 4 H L L L H | L | L | L H H L L 235| 98 | L | L L H L L 180|180 | L | L L H H L 98 | 235| L | L L L H L L | H | L | L L L H H L | 235 | 98 | L L L L H L |180 | 180 | L L | 98 | 235 | L L | L | H | L itd. Mam nadzieję, że to zrozumiałe 🙂 Edytowano Luty 7, 2019 przez paperfalse uzupełnienie Link do komentarza Share on other sites More sharing options...
FlyingDutch Luty 7, 2019 Udostępnij Luty 7, 2019 (edytowany) Dnia 7.02.2019 o 15:55, paperfalse napisał: Proponuje zainteresowanym lekturę dotyczącą mikrokroków w silnikach krokowych. Jest tego w necie masa informacji. Nie będzie wtedy żadnych niejasności. Oczywiście PWMem należy sterować w odpowiedni sposób. Na prośbę zainteresowanych mogę przedstawić ogólną zasadę mimo to zachęcam do zapoznania się z tematem bliżej we własnym zakresie. @FlyingDutch mowa tu o samym silniku bez dodatkowych sterowników. Cześć, piszesz bzdury z kilku powodów. Po pierwsze sterowanie "gołym" silnikiem krokowym odbywa się poprzez podanie na (przeważnie cztery wejścia) impulsów prostokątnych przesuniętych w fazie o stałym kształcie i wypełnieniu wygenerowanych na podstawie przebiegu prostokątnego z generatora. Nie ma tu żadnego PWM ! Kształt impulsów sterujących każdym uzwojeniem jest stały - nie ma tu zmiany wypełnienia. Po drugie silniki krokowe mogą dość znacznie różnić się konstrukcją i kształtem impulsów sterujących, dlatego bez sensu są stosowane przez Ciebie uogólnienia. Silnik krokowy powinien być traktowany jako "całość" wraz ze swoim sterownikiem , co znajduje potwierdzenie w fachowej literaturze. Niezależnie od budowy "gołego" silnika sterowanie zawsze polega na podaniu sekwencji kilku sygnałów przesuniętych w fazie - nigdy nie słyszałem o sterowaniu silnikami krokowymi za pomocą sygnału PWM. No chyba, że mówisz o jakimś bardzo nietypowym silniku połączonym właśnie ze sterownikiem w jedność i sterowanym przez PWM, ale ja nigdy o takim silniku nie słyszałem. Większość silników krokowych do zastosowań przemysłowych ma dzisiaj zintegrowany sterownik. Podajesz na wejście "STEP" sterownika przebieg prostokątny (o wypełnieniu 50 % i odpowiednio dobranej częstotliwości) a on na jego podstawie sam generuje tą odpowiednią do sterowania danego silnika liczbę sygnałów o odpowiednim kształcie przesuniętych w fazie. Pozdrawiam Edytowano Luty 9, 2019 przez FlyingDutch Link do komentarza Share on other sites More sharing options...
paperfalse Luty 7, 2019 Autor tematu Udostępnij Luty 7, 2019 3 minuty temu, FlyingDutch napisał: No chyba, że mówisz o jakimś bardzo nietypowym silniku połączonym właśnie ze sterownikiem w jedność i sterowanym przez PWM, ale ja nigdy o takim silniku nie słyszałem. Mówię o bardzo typowym silniku krokowym, najtypowszym z możliwych z czterema wyprowadzeniami cewek. Nie obraź się ale mimo fragmentarycznych prawdziwych informacji to takie wypowiedzi jak powyższa wprowadzają tylko niepotrzebny zamęt w głowach niedoświadczonych entuzjastów. Sposób jaki zaprezentowałem to najprostsza realizacja micro-steps w silniku sterowanym przez uC za pomocą półmostków jak ULN2... To nie jest żadna czarna magia czy "magic numbers" tylko trygonometria w najprostszej postaci. Uściślając dodam tylko, że moment obrotowy nieco zmaleje na rzecz płynnej pracy i wyższej precyzji. Często nie jest konieczne stosowanie specjalizowanych sterowników aby osiągać równie dobre efekty. Proponuję zamiast się spierać zaimplementować sobie tą sekwencję i sprawdzić w praktyce. Ps. nie prowadzę korepetycji z trygonometrii 😉 Link do komentarza Share on other sites More sharing options...
FlyingDutch Luty 7, 2019 Udostępnij Luty 7, 2019 14 minut temu, paperfalse napisał: Mówię o bardzo typowym silniku krokowym, najtypowszym z możliwych z czterema wyprowadzeniami cewek. Nie obraź się ale mimo fragmentarycznych prawdziwych informacji to takie wypowiedzi jak powyższa wprowadzają tylko niepotrzebny zamęt w głowach niedoświadczonych entuzjastów. Sposób jaki zaprezentowałem to najprostsza realizacja micro-steps w silniku sterowanym przez uC za pomocą półmostków jak ULN2... To nie jest żadna czarna magia czy "magic numbers" tylko trygonometria w najprostszej postaci. Uściślając dodam tylko, że moment obrotowy nieco zmaleje na rzecz płynnej pracy i wyższej precyzji. Często nie jest konieczne stosowanie specjalizowanych sterowników aby osiągać równie dobre efekty. Proponuję zamiast się spierać zaimplementować sobie tą sekwencję i sprawdzić w praktyce. Ps. nie prowadzę korepetycji z trygonometrii 😉 To może najpierw napisz jak się realizuję obsługę podstawowych "steps" - tam nigdy nie stosuje się PWM . Jak kupisz silniczek który ma 32 kroki to musisz się bawić w takie 'wynalazki'. Najpierw napisz niedoświadczonym adeptom jak się zapewnia podstawowe sposoby obsługi takiego silnika w zakresie "normalnych" króków. A jak wyłożysz podstawy to wtedy możesz opisać jak sztucznie zwiększać rozdzielczość takich silników za pomocą PWM realizują połówki, ćwiartki, szestnaski itd. Tak to mieszasz tylko ludziom w głowach. Po co mi reqalizacja "micro-steps" w silniku w którym liczsba kroków wynosi np. 25 000? Pozdrawiam Link do komentarza Share on other sites More sharing options...
Elvis Luty 7, 2019 Udostępnij Luty 7, 2019 Wydaje mi się, że macie panowie trochę racji oraz stanowczo za dużo nerwów - ale ponieważ czasem sam się za bardzo wciągnę w temat, proponuję na spokojnie wrócić do dyskusji. Po pierwsze właściwie każdy silnik wymaga sterownika. Podłączanie nawet małego silniczka bezpośrednio do wyprowadzeń mikrokontrolera to kiepski pomysł - a nawet jeśli użyjemy prostego tranzystora, to budujemy sterownik, prosty ale zawsze. Więc ULNxxxx jest też sterownikiem, tylko prostym. Natomiast sterowniki są różne, różniste, zaczynając od prostych jak wspomniane, a kończąc na "inteligentnych", gdzie przez SPI, czy inny UART podajemy obwiednię ruchu i wszystko robi sterownik. Wydaje mi się, że cale nieporozumienie wynika z tego, że piszecie o różnych typach sterowników. Warto za to zrozumieć różnicę między sterowaniem napięciowym, a prądowym. PWM daje nam wyjście napięciowe, które możemy uśrednić i dostać w ten sposób prymitywny DAC. Natomiast silniki steruje się prądem, a nie napięciem i dlatego bezpośrednie sterowanie PWM to raczej kiepski pomysł. Niektóre sterowniki, jak np. wiekowa para L297 + L298 potrafią generować przebieg prądu proporcjonalny do napięcia i tutaj faktycznie można zastosować PWM z odpowiednim filtrem. Natomiast bezpośrednie sterowanie PWM cewkami silnika raczej pasuje tylko do Arduino... 2 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Luty 7, 2019 Udostępnij Luty 7, 2019 Posty wydzielone z: Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »