Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

sterowanie sekwencyjne, czy to jest możliwe ? silnik krokowy

Radek8263 29 Gru 2016 16:40 948 10
  • #1 29 Gru 2016 16:40
    Radek8263
    Poziom 5  

    Witam wszystkich.

    Przymierzam się do realizacji projektu w którym będę badał koncepcje bezpośredniego sterowania silnika krokowego z PLC za pośrednictwem stopnia mocy. PLC-> stopień mocy(wzmacniacz sygnału)->silnik krokowy.

    Moje pytane do starszych kolegów odnośnie możliwości sprzętowych i softwerowych czy jest to realizowalne i w jakim stopniu skomplikowane.

    Czyli z 4 wyjść sterownika o odpowiedniej częstotliwości generował bym impulsy o różnej sekwencji czyli->
    dla sekwencji falowej
    sterowanie sekwencyjne, czy to jest możliwe ? silnik krokowy
    oraz sekwencja dwufazowa

    Z wejść sterownika chciałbym móc ustalać liczbę kroków(ilość impulsów), prędkość (częstotliwość impulsów), pracę reversyjną (zmiana kolejności sekwencji impulsów).

    0 10
  • Pomocny post
    #2 29 Gru 2016 17:13
    drobok
    Poziom 28  

    Spokojnie da się to zrobić, nie jest skomplikowane ;) Ale z pewnością gotowym scalakiem będzie szybciej prościej :P

    0
  • Pomocny post
    #3 29 Gru 2016 22:28
    Pittt
    Poziom 31  

    Można. Tylko zastanów się jaką funkcjonalność otrzymasz ? Do sprawdzenia działania i wprawki ok, ale do praktycznego zastosowania to raczej będzie mało funkcjonalne.

    0
  • Pomocny post
    #4 04 Sty 2017 12:36
    jam_es
    Poziom 24  

    Koncepcja niepraktyczna i niestosowana w realnych projektach.
    PLC jest zbyt wolny, aby na wielu wyjściach generować zsynchronizowane ze sobą impulsy (sterowanie wielu faz silnika).
    W konkretnych realizacjach używa się dedykowanych kontrolerów silników krokowych, gdzie PLC wystawia im tylko sygnały STEP/DIR oraz ENABLE.
    W tym przypadku PLC jest generatorem impulsów STEP (jedno wyjście dla jednego napędu) oraz wybiera kierunek obrotu DIR.
    Poczytaj o trybie PTO (Pulse Train Output). Pamiętaj, że sterownik musi mieć wyjścia tranzystorowe, aby były odpowiednio szybkie!

    0
  • #5 04 Sty 2017 16:58
    Radek8263
    Poziom 5  

    Na początku chciałbym podziękować za zainteresowanie się tematem oraz wpisy pod nim.

    Zdaję sobie sprawę ,że takie rozwiązanie jest niepraktyczne. Jednak dostałem projekt do samodzielnego wykonania, i stoję przed trudnym i kosztownym dla mnie zadaniem. Ze względu na bardzo małe doświadczenie w obyciu ze sterownikami PLC nie jestem w stanie przekonać ( nie posiadam wystarczających argumentów) osobę prowadza do zmiany koncepcji i wykorzystania dedykowanego rozwiązania-> obawiam się o koszty ,które będę musiał ponieść ze stworzeniem takiego stanowiska ,które może okazać się niewypałem. Jeżeli znajdzie się życzliwa osoba ,która sensownie to wyargumentuje będzie to dla mnie bezcenna wiedza.

    Cała koncepcja stanowiska opierać się będzie na wykorzystaniu algorytmu sterowania z PLC (pełno krokowe, Pół krokowe algorytmy sekwencja 4 wyjsc)-> za pomocą wejść PLC chciałbym mieć możliwość: wyboru liczby impulsów impulsów, możliwość zmiany prędkości, pracę rewersyjną. -> czy taki rodzaj sterowania jest możliwy ( da mierzalne rezultaty) ? -> koncepcją stanowiska jest pomiar prędkości i drogi kątowej( czyli wpływ rodzaju sterowania na poprawne przestawienie silnika pod wpływem i bez obciążenia; synchronizm(gubienie kroków)-> czyli ocena jakości sterowania przesunięciem kątowym i prędkością.( enkoder ->karta pomiarowa-> komputer, obciążać będę za pomocą dynamometru bądź dodatkowej masy zwiększając inercje rotora i badać wpływ).
    Przykładowa sekwencja sterowanie pełno krokowe (dwufazowe). sterowanie sekwencyjne, czy to jest możliwe ? silnik krokowy

    Z poprzednich wpisów wniosku ,że jest to możliwe do wykonania ( sprzętowo muszę posiadać 4 szybkie wyjścia impulsowe), ale ze względu na małe doświadczenie ze sterownikami PLC za bardzo nie wiem jak programowo to ugryźć -> na jakich sterownikach się skupić (sprzętowo i programowo zależy mi na łatwość w programowaniu) oraz w jaki sposób taki algorytm miałby wyglądać ,który pozwala mi sekwencyjnie sterować wyjściami sterownika. Każdy rodzaj informacji jest dla mnie bezcenny.

    0
  • Pomocny post
    #6 04 Sty 2017 18:14
    drobok
    Poziom 28  

    Jeśli to stanowisko ma być dydaktyczne to takie podejście jest dobre. Tylko jak będziesz robił mostek to zabezpiecz go sobie bo pójdzie dym przy testach i za żadne skarby nie podłączaj bezpośrednio, na każdym sterowniku to zrobisz - kup najtańszy, jedyny argument to wyjście, co do strony programowej - rozpisz siatkę z wykresu który podałeś, i zrób na liczniku - tak jest chyba najprościej ;)

    PS. co do obniżenia kosztów to wcale nie musi być PLC taki silnik wysterujesz nawet avr - nawet będzie płynniej chodził

    0
  • #7 04 Sty 2017 19:06
    Radek8263
    Poziom 5  

    Bardzo mnie zaciekawiło stwierdzenie " taki silnik wysterujesz nawet avr -nawet będzie płynniej chodził -> czy mógłbyś rozwinąć to stwierdzenie z płynnością bo to kluczowe zagadnienie dla mnie "wpływ sterownika na jakość sterowania".
    Tak to stanowisko jest do celów pomiarowych.
    Co do doboru sterownika najtańszy-> nie znaczy szybki, z tego co się zorientowałem będę potrzebował 4 wyjść impulsowych 20 kHz powinny być wystarczająco szybkie. Próbowałem wykorzystać millenium crouzet 3 z 4 wyjsciami PWM ale jak się okazało mam możliwość wybrania na stałe częstotliwości (chyba 5 w zakładce ustawienia)
    Czy jest ktoś życzliwy ,który doradzi mi jakim sterownikiem się zainteresować ( zależy mi na łatwości w programowaniu (oraz łatwym dostępie do wiedzy no i w miarę przystępnej cenie) myślałem o sterownikach FATEK co o tym myślicie ?
    -> Jak za pomocą wejść sterownika zadawać /sterować ( wybór ilości impulsów, prędkość v1,v2,v3 itd ,ruch nawrotny, zmiana trybu pracy pełen /pół krok) nie przewiduję żadnego HMI ani sterowania za pomoca programów typu intouch.

    0
  • Pomocny post
    #8 05 Sty 2017 12:31
    drobok
    Poziom 28  

    Zacznij od tego, że plc nie jest klikolubny - trzeba mu wpisać jakiś wsad,a nie ustawić w edytorze, niby jest lad, ale tutaj też liczy się arytmetyka i czasówka.

    Przecież masz wyżej napisane, że to nie jest praktyczne bo sterowniki nie są do tego, mając jakiś scalak który obsługuje silnik dałbyś se na niego jakiś pwm i wsio. Zakładając że chcesz użyć tych pwm musisz je względem siebie synchronizować (z większym lub mniejszym skutkiem). Lub generować ten przebieg programowo - napisać sobie funkcję logiczne i ustawiać je kolejno np licznikiem (tutaj liczy się zegar który w tanich plc jest niewiadomą). W jednym i drugim przypadku będzie to działać, lecz nie licz na zawrotne prędkości.

    Dlatego zaproponowałem ci avr, masz pewne taktowanie.
    Najlepszą opcją byłoby fpga, lub zwyczajne bramki - tutaj synchronizację zapewnioną z automatu - a cenę podobną a wręcz wiele niższą od dobrego plc, lecz wyższą od scalaka który praktycznie to samo ma w sobie ;)

    Rozumiem, że obudowa fajnie wygląda itd, ale patrz na to praktycznie - jeśli ten sterownik ma służyć tylko do tego celu to pieniądze w błoto.

    0
  • #9 05 Sty 2017 15:43
    Radek8263
    Poziom 5  

    Czy mógł by ktoś mi wyjaśnić lub odesłać do źródła informacji, zależność szybkości taktowania procesora sterownika od taktowania portów. Nie wiem czy dobrze rozumuje, jeżeli chciałbym wykorzystać sekwencje 4 sygnałów po 20kHz, to taki cykl musiał by być odpracowany przez procesor 4-5x szybszy od taktowania portów ?

    0
  • #10 05 Sty 2017 22:07
    jam_es
    Poziom 24  

    W specyfikacji jest zwykle jasno określone jaka jest maksymalna częstotliwość tzw. szybkich wyjść (obsługiwanych w trybie PWM/PTO itp.).
    Obsługa wyjść poza tymi trybami w uproszczeniu będzie zależna od czasu cyklu sterownika (kilka do kilkudziesięciu milisekund).

    0
  • #11 06 Sty 2017 00:31
    Pittt
    Poziom 31  

    Radek8263 napisał:
    Czy mógł by ktoś mi wyjaśnić lub odesłać do źródła informacji, zależność szybkości taktowania procesora sterownika od taktowania portów. Nie wiem czy dobrze rozumuje, jeżeli chciałbym wykorzystać sekwencje 4 sygnałów po 20kHz, to taki cykl musiał by być odpracowany przez procesor 4-5x szybszy od taktowania portów ?


    Z punktu widzenia programu, szybkie wyjścia są sterowane "sprzętowo".
    Podajesz w programie jeden parametr (częstotliwość/wypełnienie) i tu się kończy Twój wpływ na to co sterownik generuje na danym szybkim wyjściu.
    Po za tym typowy sterownik PLC ma czas skanu mierzony w milisekundach, a minimalna rozdzielczość czasowa na przerwaniach to 1 ms.
    A dla AVRa przy 8MHz jest 0,000125 ms.

    0