Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Precyzja układu: silnik 3f z hamulcem <-> enkoder

rafal.jpg 08 Aug 2013 22:59 4521 14
  • #1
    rafal.jpg
    Level 15  
    Witam
    Panowie interesuje mnie taka sytuacja. Kto ma doświadczenie i mógły się coś wiecej wypowiedzieć. Od jakiegoś czasu zajmuję się układem typu silnik 3f z hamulcem elektrycznym/pneumatycznym-enkoder-sterownik PLC z HMI. Działanie układu polega na cięciu blachy (różne grubości i różne szerokosci) na zadany wymiar, który oczywiście zadaje ze sterownika. Dodaje, że koło na enkoderze jest dobrane tak abym przelicznik miał 1:1, tzn jeden impuls odpowiada 1 milimetrowi. Mam różne wyniki tzn. w seryjnym puszczeniu powiedzmy 5/20 sztuk wymiar mam w miarę zachowany. Po wprowadzeniu za każdym razem innego wymiaru mam odchyłki dochodzące do powiedzmy max 3mm (pracuje mechanika).

    Jakie macie doświadczenia z powtarzalnością na hamulcu elektrycznym/pneumatycznym. Wiem, że w przypadku medium powietrza dochodzi tolerancja wahania ciśnienia, które w układzie rozwiązałem przez zastosowanie zbiornika i zaworu zwrotnego. Można powiedzieć, że wahania mam rzędu 0,1-0,2bar (dochodzi załączanie np. pneumatyczne cięcie przez gilotynę).

    Teraz tak, wiem że zachowanie wymiaru zależy od mechaniki (luzy, czy to na zębatkach czy innych rozwiązaniach). Sam uważam, że zgranie precyzyjnie machaniki jest kluczowe bo to jest w tym przypadku układem zmiennym. Czy macie jakieś sugestie, propozycje co można zastosować aby poprawić rozbieżność powiedzmy do 1mm? Dodam, że odchodzi zastosowanie serwonapędu bo mi chodzi o zbadanie układu na takim właśnie rozwiązaniu. Jakie Wy macie doświadczenia?

    Pozdrawiam
  • #2
    jazda_gazda
    Level 19  
    Jeśli pominiemy mechanikę to uważam że rozdzielczość pomiarowa jest stanowczo za mała. Wystarczającą rozdzielczością było by 1 inc = 0,1 mm. Zastosował bym falownik i dojazd z rampą na pozycję dzięki czemu znacznie by się poprawiła dokładność,a hamulec traktował bym jako przytrzymanie a nie zatrzymanie silnika.
    Takie rozwiązanie idzie osiągnąć nawet na najprostszym falowniku. Robiłem tak kilka razy i świetnie się to sprawdza.
  • #3
    rafal.jpg
    Level 15  
    Małe sprostowanie. 2 impulsy enkodera odpowiadają 1mm. Mogę dodatkowo dwukrotnie zwiększyć precyzję stosując większe koło enkodera gdzie będzie to odpowiadało dokładności 0,25mm czyli 4 impulsom na 1mm (teraz mam 0,5mm na impuls). Natomiast wartość wprowadzana na wyświetlacz jest 1:1 z rozdzielczością 1mm (nie ma możliwości wpisania po przecinku). W moim przypadku nie stosuję falownika do posuwu, prędkość jest stała. Interesuje mnie rozwiązanie na enkoderze, rampa odpada. Proszę o dalsze sugestie.
  • #4
    jam_es
    Level 24  
    rafu84 wrote:
    Małe sprostowanie. 2 impulsy enkodera odpowiadają 1mm. Mogę dodatkowo dwukrotnie zwiększyć precyzję stosując większe koło enkodera gdzie będzie to odpowiadało dokładności 0,25mm czyli 4 impulsom na 1mm (teraz mam 0,5mm na impuls).

    Chyba koło o 2x mniejszym obwodzie. Mniejszy obwód - jeden impuls ma krótszy dystans.

    Uważam, że jazda ze stałą prędkością jest błędnym założeniem.
    Połowicznym rozwiązaniem może być wcześniejsze wyłączanie silnika przed punktem docelowym.
    Jednak nie jest to dobre rozwiązanie.

    Tak jak wcześniej zauważył to kolega jazda_gazda, hamulec powinien być używany do zablokowania silnika w pozycji STOP, a nie wytracania jego prędkości.

    Mając falownik, widziałbym to tak:
    - startujesz i jedziesz z max prędkością,
    - jeśli się zbliżasz do pozycji STOP (dystans mniejszy od ustalonej wartości), zmniejszasz prędkość do wolnej,
    - jeśli jesteś blisko miejsca zatrzymania, wyłączasz silnik i rampą w sposób kontrolowany zatrzymuje się w docelowym punkcie.

    Oczywiście można jeszcze zwiększyć dokładność, płynnie zmieniając prędkość silnika przy dojeżdżaniu do punktu zatrzymania.

    To że zadajesz pozycję z dokładnością do 1mm, nie znaczy że tak samo powinieneś ją obliczać w PLC.
    Jeśli chcesz uzyskać odpowiednią dokładność, to odczyt pozycji powinien być realizowany co najmniej 2x dokładniej (dokładność 1mm, odczyt co najmniej co 0,5mm).
    Osobiście to dałbym rozdzielczość 0,1mm. Co do pozycji, to realizowałbym skalowanie do liczb rzeczywistych, a nie całkowitych (zużycie się koła i zmiana jego średnicy).
    Oczywiście możesz również zadawać w sofcie ilość impulsów jako drogę.
  • #5
    jestam
    Automation specialist
    Dokładność na wyświetlaczu może być jaka chcesz, ale 0,25 mm na impuls to IMO za dużo, jeśli chcesz dokładność 1mm. Zamiast zmieniać koło, może zastosuj enkoder z większą liczbą impulsów na obrót?

    rafu84 wrote:
    W moim przypadku nie stosuję falownika do posuwu, prędkość jest stała. Interesuje mnie rozwiązanie na enkoderze, rampa odpada


    To jak ten układ cięcia ma działać? Włączasz silnik, blacha się przesuwa, wyłączasz silnik, blacha się zatrzymuje? I chcesz dodać hamulec żeby szybciej zatrzymać ruch blachy?
  • #6
    Smokey68
    Level 13  
    Jaki masz enkoder?
    Jeżeli AB, to możesz pokusić się o inkrementowanie impulsów na każdym zboczu, nie tylko po pełnym cyklu - tryb ABx4, o ile jeszcze tego nie robisz :)
    Przy 8 impulsach na mm i odpowiednim sterowaniu, powtarzalna dokładność <1mm jest do osiągnięcia nawet bez falownika.
    Trzeba by wiedzieć jakie parametry mogą być zmienne podczas pracy - nawet drobny detal może być istotny - i które spośród nich jesteś w stanie wiarygodnie zmierzyć, a których nie.
    Wtedy można zastanowić się już nad tym co i jak będzie trzeba zamodelować i sklecić jakieś sensowne prawo sterowania
  • #7
    tufus
    Level 14  
    Witam,

    Stosowałem kiedyś taki układ w zgrzewarkach do folii, taki układ miał małą dokładność około +/-0,5 cm także jedna torebka miał np.49,5 cm a druga 50,5cm.
    Co z tego że miałem podłączony enkoder o dużej rozdzielczości do PLC, skoro hamowanie silnika wykonuje falownik, który robi to różnie i zależy od temperatury silnika. Przy małych prędkościach uzyskałem dokładność +/-1mm ale nie było wydajności. Z hamulcem też nie wyszło, również nagrzewa się podczas pracy, ale to był tani hamulec elektryczny, który przy krótkich cyklach pracy zaczyna działać jak chce. Servo nawet chińskie jest lepsze.
  • #8
    pafciowaw
    Automation specialist
    Można hamować silnik 3-fazowy prądem dc.
    Uzyskuje się dobrą powtarzalność; Silnik mający prędkość 400-500 obr/min zatrzymuje się w 2-3 obroty - żaden inny sposób nie jest tak szybki, a przy pozycjonowaniu to podstawa...
    Oczywiście, zastosowanie servo byłoby najlepszym sposobem na uzyskanie powtarzalności...
  • #9
    rafal.jpg
    Level 15  
    W moim układzie nie chodzi za specjalnie o wydajność. Prędkość posuwu jest w miarę wolna. Dodaje, że układ mechaniczny mam z góry narzucony (ale zmieniam myślenie pewnych osób) i występują luzy - m.in. silnik ma przekładnię/reduktor osiową i już tu jest luz. Pytanie poboczne, stosował ktoś zwykłą przekładnię kątową do serwomotoru i chciał mieć precyzyjne podawanie co do 0,1mm? Są przecież dedykowane przekładnie bezluzowe do serwomotorów. Uważam, że zwykła przekładnia to grzech przy wymaganiu takiej precyzji. Sam miałem na zakładzie do czynienia z takim przypadkiem.

    jestam: układ działa tak, włączam silnik, blacha się przesuwa, wyłączam silnik i łapie hamulec pneumatyczny na tarczy już na wyjściu z silnika po przekładni, rolki napędowe są sprzęgnięte za pomocą łańcucha. W tej chwili występuje bezwładność i blacha przesuwa mi się jeszcze do około 40mm co rozwiązałem tak, że do zadanej wartości impulsów wyłączenia dodaje w programie rejestr o tej wartości co te 40mm. Kaliber blachy to 3mm grubości (ma być do 4mm).

    jam_es i jazda_gazda: rozwiązanie z falownikiem i wcześniejszym zwolnieniem była uwzględniana, jednak jak wcześniej pisałem, odgórnie ktoś chciał być mądrzejszy i jak widać testuje układ. Jak się realizuje skalowanie do liczb rzeczywistych?
    Czy dobrze rozumie rampę - wyłącznik krańcowy do już zwolnionej blachy?

    jazda_gazda: czyli rozumiem, że wyhamowanie silnika realizujesz przez hamowanie falownikiem z ustawionym czasem? czy zastosowany jest rezystor hamujący?

    Smokey68: inkrementację mam ustawioną na x2. Chyba dobrze pisze. Ustawienie w sterowniku High Speed Shaft Encoder(x2).

    Co do rozdzielczości enkodera. Zastosowałem enkoder 400imp i wyliczyłem średnicę koła tak aby po obrocie sterownik rejestrował w rejestrze pełne liczby a nie żeby wychodziły mi jeszcze ułamki. Rozdzielczośc enkodera i średnica koła jest dodatkowo dobrana tak, żeby wprowadzona długość blachy np.6mb (max ma być 9mb) nie przekroczyła mi wartości maksymalnej rejestru w sterowniku czyli 32768 imp. Stąd rozdzielczość 2 impulsy na 1mm. Czyli enkoder o większej rozdzielczości odpada bo przekroczy mi wartość rejestru. Sterownik to Unitronics M90. Wiem, że dochodzi też wolniejsze wykonywanie programu w tego typu sterownikach (mikrosterownik, czasy w ms), w tym przypadku wykonywanie programu plus czytanie enkodera.

    tufus: kolega, który ze mną pracuje wspomina (i sam o tym wiem), że np. okładziny hamulca pracują, że ze wzgledu na rozwiązanie mechaniczne układu napędowego są luzy itp.

    pafciowaw: silnik pracuje przy pełnych obrotach czyt. znamionowych, bo jest zatosowany reduktor. O hamowaniu pradem dc w falowniku wiem ale nigdy nie stosowałem.

    Widzę, że sam sobie odpowiadam na niektóre moje bolączki, z których wynika ta tolerancja, mimo wszystko słucham Was koledzy dalej..
  • #10
    pafciowaw
    Automation specialist
    Ostatnio robiłem ucinanie drutu na wymiar...silnik 3-fazowy napędzał ramię noża (ruch dół/góra na momośrodzie) - bardzo istotne było zatrzymanie silnika w górnym położeniu - silnik wykonywał trzy obroty (mając nominalnie 700 obr/min) - zatrzymanie następowało przez wyłączenie zasilania 3-fazowego (stycznik) i zasilanie dwóch uzwojeń gwiazdy prądem stałym - stawał prawie natychmiast (robił na hamowaniu do 2 obrotów).
    Takie rozwiązanie wymaga obcego chłodzenia.
    Maszyna działa już parę miesięcy i wykonała ok. pół miliona cięć, a sterowanie i silnik jeszcze nie padł...hihi.
    Wracając do tematu: wbudowany hamulec elektromagnetyczny (pomysł nr. 1, który "wypadł" z realizacji) zatrzymywał silnik w ok. 0,6-0,7 sek - co było nie do przyjęcia - silnik wykonywał (po starcie hamulca) jeszcze kilka/kilkanaście obrotów...
  • #11
    Smokey68
    Level 13  
    Pojemnością rejestrów się nie przejmuj, zawsze możesz użyć dwóch rejestrów (np inkrementując pomocniczy po przekroczeniu zera, szczególnie łatwo, jeżeli masz sygnał zera w enkoderze) i tutaj dochodzimy też do podstawowej kwestii. Czy ten sterownik posiada i czy wykorzystujesz przerwania? Najczęściej nie ma takiego luksusu by spokojnie czekać na koniec cyklu sterownika w zadaniach pozycjonowania.

    Wspominałeś o bezwładności - blacha ślizga się po rolkach, gdy mechanicznie cały układ jest już "unieruchomiony"?

    Miałem już przyjemność reanimować podobne tematy po błędnych wstępnych założeniach i da się doprowadzić takie wynalazki do używalności, ale z tego co piszesz, raczej może się okazać, że będziesz musiał w pewnym momencie dość stanowczo zażądać pewnych zmian. Bo widzę ktoś próbował ciąć koszty za wszelką cenę (wliczając koszty czasu na pomyślunek dla inżyniera :D ). Nie pakuj się w takie wyzwania jak zleceniodawca nie zgodzi się na pewną elastyczność i swobodę myśli...

    Luzy mechaniczne da się obejść, różne błędy wynikające z poszczególnych zjawisk, czasem łatwiej, czasem trudniej, często niewspółmiernie drożej w stosunku do poprawek mechanicznych ;> Podstawa to doprowadzić do powtarzalności.

    Masz możliwość wrzucić jakieś schematy, fotki, filmik?
  • #12
    jazda_gazda
    Level 19  
    Jeśli chodzi o sterowanie ruchem i pozycjonowanie napędu to do sterownika mam podpięty ecoder, za pomocą wejścia analogowego lub jakiejś komunikacji steruje prędkością falownika. Zadając pozycje, prędkość i nachylenie rampy program wylicza rampę po której hamuje aby osiągnąć "prędkość zerową" będąc na zadanej pozycji. Nie możesz hamować na rampie czasowej falownika bo to nie gwarantuje osiągnięcia pozycji (rampa "DEC"w falowniku na 0)

    Jeśli chodzi o zamianę na liczby rzeczywiste to potrzebna jest duża rozdzielczość encoder-a a następnie przeliczenie na np. [mm] ale z dokładnością co najmniej 0,1 [mm]
  • #13
    jestam
    Automation specialist
    rafu84 wrote:
    Sterownik to Unitronics M90.

    Smokey68 wrote:
    i tutaj dochodzimy też do podstawowej kwestii. Czy ten sterownik posiada i czy wykorzystujesz przerwania? Najczęściej nie ma takiego luksusu by spokojnie czekać na koniec cyklu sterownika w zadaniach pozycjonowania.


    Unitronics M90 ma tylko 1 przerwanie zegarowe aktywowane co 2,509 ms.

    rafu84 wrote:
    Czy dobrze rozumie rampę - wyłącznik krańcowy do już zwolnionej blachy?

    Rampa = płynna zmiana prędkości napędu realizowana np. przez falownik.

    rafu84 wrote:
    Mam różne wyniki tzn. w seryjnym puszczeniu powiedzmy 5/20 sztuk wymiar mam w miarę zachowany. Po wprowadzeniu za każdym razem innego wymiaru mam odchyłki dochodzące do powiedzmy max 3mm (pracuje mechanika).


    rafu84 wrote:
    co rozwiązałem tak, że do zadanej wartości impulsów wyłączenia dodaje w programie rejestr o tej wartości co te 40mm.


    Jeśli dla ustalonych parametrów w serii wymiar jest zadowalający, to może wystarczy stablicować wartości, jakie mają być dodawane dla każdego z używanych wymiarów/grubości blach, a później tylko wybierać z listy?

    Z jaką szybkością przesuwa się blacha?
  • #14
    rafal.jpg
    Level 15  
    jestam wrote:
    Z jaką szybkością przesuwa się blacha?

    1400rpm/50Hz minus reduktor, który już nie pamiętam ile miał.

    jestam wrote:
    Jeśli dla ustalonych parametrów w serii wymiar jest zadowalający, to może wystarczy stablicować wartości, jakie mają być dodawane dla każdego z używanych wymiarów/grubości blach, a później tylko wybierać z listy?

    Myślę, że to nie wypali bo wymiary/grubości nie są mi znane a i u klienta zamówienia są różne z tego co zauważyłem. Uważam, że jeśli parametry układu (całej linii i mechaniki) nie będą się zmieniać to powinno być ok. Czas pokaże jeśli linia wypali.

    Smokey68: Blacha "idze" bezwładnością gdy układ już wyłącza stycznik (nic się nie ślizga), dopiero hamulec łapie tarcze i jest wtedy amen.

    A to całe cięcie kosztów to mój szef i firma gdzie wykonuję linię :) jako, że nie mam myślenia "mechaników" (bez urazy dla moich kolegów) staram się pewne rzeczy zmieniać. Jest o tyle (nie)ciekawie, że linia stoi już u klienta i dopiero tam tak naprawdę testuję mój układ bo wcześniej nie było jak. Tylko po drodze było sporo przeróbek mechanicznych. Ach te machaniki ;)
    Zbiorę schematy, fotki do k.py i wrzucę w najbliższym czasie.

    pafciowaw: hamowanie dc muszę w najbliższym czasie przetestować bo już mi się to podoba..

    jazda_gazda: dzisiaj założyłem falownik, prędkość posuwu blachy ustawiłem na 30Hz i zastosowałem drugą prędkość (80mm przed końcem) ustawioną na 8Hz, po osiągnięciu w programie zadanej długości wyłączany jest falownik i łapie hamulec. Powtarzalność póki co mam zachowaną. Wprowadzony od razu inny wymiar też jest zachowany. Dodatkowo jutro ma być założony silnik z hamulcem elektrycznym zamiast obecnego z pneumatycznym. Jutro dalsze testy. Jak wszystko bedzie dobrze to bedzie ok a ja dzięki Wam będe miał nowe rozwiązania, które myśle, że uda mi się zastosować w przyszłości.

    cdn...
  • #15
    rafal.jpg
    Level 15  
    Temat na upartego mogę uznać za zamknięty, zmieniłem pracę.

    Dołączam zdjęcie jak wyglądają rolki napędowe, drugie foto, które ukazuje mocowanie silnika z założonymi sprężynami dociskającymi silnik do podstawy oraz filmik ukazujący luzy podczas pracy (w trybie ręcznym). Jeszcze na odchodne hamulec (szczęki) został zmieniony na elektryczny, podstawa silnika została przytwierdzona "bezluzowo" i bez sprężyn. Automatyka nie była zmieniana. Co do rozbieżności w pomiarach były ale nieznaczne, nie jestem w stanie określić ile bo po drodze wynikały inne kwiatki.

    Precyzja układu: silnik 3f z hamulcem <-> enkoder

    Precyzja układu: silnik 3f z hamulcem <-> enkoder