Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.
SterControl
  • #1
    Anonymous
    Anonymous  
  • SterControl
  • #2
    Steryd3
    Level 33  
    Może da się takie sterowanie przeprowadzić za pomocą jakiegoś dobrego sterownika programowalnego PLC ale moim zdaniem jest to dość ryzykowna i kosztowna droga. Nie siedzę w sterownikach PLC jakoś bardzo mocno (czasem napiszę jakieś proste sterowanie) więc nie bardzo mogę się wypowiadać co który może, co który da radę a który nie -zwłaszcza, że moce obliczeniowe sterowników PLC są coraz większe.
    Nie mniej jednak na najprostszy sterownik który mógłby w miarę dobrze (czyli szybko) realizować algorytm PID sterujący tego typu zagadnieniem z dobrym skutkiem trzeba na pewno wydać grubo powyżej tysiąca zł ( a w przypadku niektórych firm nawet kilka tyś. zł). Dodatkowa kwestia to taka, że PLC pracują w tzw. pętli która w zależności od mocy obliczeniowej na której są zrealizowane i "objętości" programu który muszą realizować, może trwać-czasem długie dziesiątki ms -co może przy tak dynamicznym obiekcie jakim jest silnik okazać się zgubne.
    Choćby właśnie z tych powodów lepszym rozwiązaniem problemu jest stworzenie własnego regulatora opartego o mikrokontroler.
  • #3
    aut0matyk

    Level 16  
    dżonusławiec wrote:
    Witam

    Potrzebny mi regulator PID (może sam PI, jeszcze nie wiem) w postaci urządzenia. Najlepiej dostępny w jakimś tanim sterowniku PLC. Musi obsługiwać wejście, wyjście analogowe i szybkie wejście cyfrowe lub jeszcze lepiej licznik częstotliwości.

    Czym ma sterować ? Mamy silnik spalinowy ZI, przepustnicę z zadawaniem otwarcia sygnałem 0-5V lub podobnym napięciowym. Czujnik prędkości o dowolnej liczbie impulsów na jeden obrót wału korbowego (może być enkoder, lub jeden, kilka, kilkanaście impulsów na jeden obrót wału korbowego). Przewidywana praca w zakresie prędkości 750-4000rpm.
    Jak ma to działać ? Zadajemy potencjometrem żądaną prędkość obrotową, sterownik mierzy sobie aktualną prędkość obrotową wału korbowego ileś razy w ciągu sekundy (tu ważna ilość impulsów i sposób pomiaru) i regulator PID zajmuje się kontrolą położenia przepustnicy tak aby utrzymać prędkość na stałym poziomie w pewnej tolerancji która nie musi być zbyt wąska. Oczywiście obciążenie silnika jest zmienne i razem z nim potrzeba regulacji ilości dostarczanej mieszanki aby utrzymywać prędkość na stałym poziomie.

    Pytanie co kupić, jaki PLC obsłuży mi to wszystko. I jak w praktyce realizuje się pomiary prędkości za pomocą PLC, chętnie poczytam jakieś tematyczne materiały jeżeli znacie takie. Jeżeli nie jest łatwo z prędkością, można by rozważyć jakiś przetwornik częstotliwość-napięcie.

    PS. Zasilanie najlepiej DC 24V. 12V jeszcze milej widziane ale raczej niedostępne.

    EASY800 da radę to ogarnąć lub jakieś LOGO ?


    Może ten sterownik by podszedł:
    http://www.e-tronix.eu/3,sterownik-plc-programowalny-su-1-5.html
  • SterControl
  • #4
    revcorey
    Level 12  
    Ja powiem tak.
    Jak chcesz to robić na PLC masz dwa wyjścia. Potrzebujesz PLC z jakimś szybkim wejściem ale to bym sobie odpuścił(generalnie zajmuje się wolnymi procesami także mi ciężko powiedzieć jak to wygląda PLC+ pomiar obrotów). Ja po prostu kupił bym miernik prędkości z wyjściem analogowym/cyfrowym(rs485) i po prostu czytał prędkość z niego i przetwarzał.
    Mam kumpla co m.in się interesuje przeróbkami silników spalinowych Oni generalnie używają tutaj rdzeni ARM(ale nie M a serii A tylko nie wiem której).
    Ja bym tu skorzystał z jakiegoś rdzenia DSP texasa(seria picollo jest tania parę set złotych)
    oni dostarczają biblioteki do obsługi silników(regulatory i co tam chcesz). Tylko musiał być dziergać w C, rdzenie texasa są trochę trudniejsze niż ARM.
    Albo taniego ARM na rdzeniu M4(np. płytkę f4discovery) lub może nawet A5. Generalnie też C/c++ a biblioteki są.
    Ja powiem tyle jak ktoś do jakiegoś poważnego sterowania(szczególnie szybkich procesów) poleca Atmegę 8-bit to chyba żartuje. Raz że obliczenia na liczbach float zajadą taką atmegą dwa że tam naprawdę szybki proces może działać źle. 8-bitowce nadają się do prostych sterowań, współpracy jako końcówka albo procesów niezbyt szybkich(Tak widziałem dość ciekawy projekt oparty o atmegę który nawet był szybki ale według mnie to była lipa nie do przyjęcia). Z resztą nie te czasy dziś 32-bitowe rdzenie ARM serii M0 zjadają na śniadanie atmela.
    BTW. Można kupić już gotowe regulatory PID tylko trzeba by sobie pomyśleć jak rozwiązać sterowanie, np. Lumel ma takie.
  • #5
    Steryd3
    Level 33  
    Oczywiście zgadzam się z kolegą revcorey z tym, że pozwolę sobie na kilka dopowiedzeń.
    Co do sterowników PLC które wspólnie wykluczyliśmy (a w każdym razie odradzamy)-posiadają one często dedykowane moduły służące pomiarom prędkości obrotowych więc tu nie ma problemu. Ale to tylko w ramach dopowiedzenia.
    Co do sterowania silnikiem przy pomocy mikrokontrolera... tu kolega potrzebuje zbudować bardzo proste sterowanie -na wejściu pomiar obrotów na wyjściu procent przepustnicy. To nie jest sterowanie typu obliczenia dawki wtrysku czy kąta wyprzedzenia. Kolega nie chce zbudować ekwiwalentu sterowników BOSH'A EDC17 czy coś podobnego.
    Myślę więc, że nawet wspomniana ATmega8 jest tu w stanie podołać zadaniu. Nawiasem mówiąc sterowanie tego typu może być z powodzeniem zrealizowane bez używanie liczb zmiennoprzecinkowych. Pamiętam, że mój kolega (jak już mówimy o kolegach), zrealizował na ATmega128 sterownik sterujący silnikiem od malucha (sterowanie kątem zapłonu, dorobionym wtryskiem,...) więc można. Oczywiście ATmega128 jest bogatszym mikrokontrolerem od ATmega8 ale tylko w peryferia i zasoby pamięciowe- obliczeniowo są tak samo wydajne.
    Oczywiście nie twierdze, że wpakowanie tam 8-bitowego AVRa to wspaniałe rozwiązanie ale pierwszy lepszy STM32 powinien już zaspokoić temat takiego sterowania w zupełności.
  • #6
    revcorey
    Level 12  
    Przy dzisiejszych cenach :) Gdzie M0 jest tańszy od Atmela. Ale atmel ma jedną zaletę nadal(chociaż niby seria nxp też), obudowa dip i oklepany na wszystkie strony. Wszystko w dip można polutować lutownicą za 30 zł i najłatwiej.
    Ogólnie tak o temacie. Kiedyś jak procki były słabe(intel 8051) to i człowieka na księżyc potrafili wysłać, tylko że wtedy programy to była sztuka, co pochłaniała olbrzymie ilości czasu(analizowałem program siemens s5 z 1993 naprawdę sztuka ale analiza w cholerę skomplikowana). Ba jak robiłem swoja pracę mgr na Texasie 32-bitowym a moi poprzednicy na pochodnych intel 8051 i działało( estymacja momentu elek. silnika ind. ale ja miałem jeszcze sieci neuronowe co to już by zabiło 8-bitowce).
    A wracając do samych procesów. Generalnie nie znam tego procesu i ciężko mi powiedzieć jak tu miała by pętla sterowania wyglądać. Ale przeca sam nie raz korzystałem z FWD(feedforward) a wtedy w grę wchodzi różniczkowanie i inne działania. A pamiętajmy mnożenie i dzielenie kosztuje. Kolega co się tymi silnikami zajmuje, to mówił że oni zbierają też dane z czujników w samochodzie, przerabiają sterowania itp. I drobne opóźnienie i im wał wychodzi bokiem(co przetestowali), mają tam jakiegoś ARM klepanego w C i mają problemy z wyrobieniem się w czasie.
    I podstawowe czy to będzie rozbudowywane. Szczerze? Może by atmega dała radę ale jakoś jestem uprzedzony co do niej jeśli idzie o poważne zadania. Ale z drugiej strony sterowałem całym procesem(kocioł parowy) na pentium 2 233 mhz(sterowniki plc schnaidera), także nie takie rzeczy się robiło.
  • #7
    jupi23
    Level 16  
    A może zrobić wszystko analogowo albo dodać taką opcję obok opcji z mikrokontrolerem. Z tego co rozumiem to będziemy kontrolować przepustnicę, a ta z kolei silnikiem. Mamy tutaj same stałe napięcia (jeżeli będziemy mieli czujnik obroty-napięcie), do których regulator PID, cyfrowy czy analogowy, w sam raz się nadaje (aby uzyskać zerowy błąd). Oczywiście ma to swoje zalety i wady.
  • #8
    Anonymous
    Anonymous  
  • #9
    revcorey
    Level 12  
    Generalnie przecież nic innego nie siedzi w środku układów sterowania jak mikropocki(m.in arm) tylko że tam producent zapewnia kompatybilność elektromagnetyczną. To sobie zwykłe logo pewnie poradzi albo jakiś chiński PLC za 200 zł.
    http://cq.cx/ladder.pl
    tylko jak tu regulator PID zaszyć? Cóż można by spróbować w LD zaimplementować tylko że nie wiem jak ten LD działa na avr i jak duże są ograniczenia.
  • #10
    gacore
    Automation specialist
    Z tak przedstawionym problemem poradzi sobie sterownik PLC kompaktowy OMRON-a serii CP1L (http://industrial.omron.pl/pl/products/catalogue/automation_systems/programmable_logic_controllers/compact_plc_series/cp1l/default.html)
    Na pokładzie są zarówno szybkie wejścia w tym licznikowe (enkoder do 100kHz), zaimplementowane regulatory PID, i moduł wyjść analogowych.
    Jest to sterownik, który wykorzystujemy nawet w bardzo dynamicznych procesach jak synchronizacja (latająca piła).
    Sterowniki, a raczej przekaźniki programowalne jak LOGO i EASY raczej nie, nie ma tam w standardzie choćby szybkiego licznika (enkoder) czy regulator PID.
    Jestem pracownikiem OMRON-a daj znać na priva czy jesteś zainteresowany?
    Jest możliwość aby wspólnie zrobić takie sterowanie.
    Pozdrawiam,
    Andrzej Łacinnik
    e-mail: andrzej.lacinnik(małpa)eu.omron.com
    tel. kom. +48 697 066 003
  • #11
    revcorey
    Level 12  
    Jak siemens twierdzi nie ma implementacji PID w logo ale jest PI czyli to wystarczy.
    Jak wyżej wspomniano może być problem z wejściami i licznikami.
    Ale jak się orientuję s7 200 sobie już radzi z enkoderami, to jakieś 250 zł na allegro. i masz całego PID a nie tylko pi.