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

Sterownik edukacyjny PID & On/Off

__Maciek__ 22 Sie 2015 20:35 5652 3
  • Sterownik edukacyjny PID & On/Off

    Witam, dziś przedstawić pragnę sterownik, który popełniłem kilka lat temu w ramach pracy na uczelni. Jest to sterownik edukacyjny PID – On/Off. Projekt zakładał stworzenie sterownika, który steruje rzeczywistym elementem, oraz reprezentuje wartości zadane oraz aktualne aby użytkownik mógł widzieć jak zmiany parametrów wpływają na ww. wartości. Według mnie jest to nieoceniona pomoc w nauce o funkcjonowaniu sterowników i doborze nastaw.


    Do sterowania wybrałem układ regulacji temperatury płytki aluminiowej zrealizowany za pomocą modułu Peltiera o mocy 80W ( ale z prezentowanym układem testowałem również mocniejsze ) . Układ taki ma powolne reakcje które bez trudu można obserwować, zarówno na wykresach jak i rzeczywistości, a jednocześnie przy małej masie i dosyć dużej mocy sterującej czas „zabawy” przy takim regulatorze nie musi być bardzo długi.

    Obudowa oczywiście być musi .. brak lub ograniczony dostęp do miejsc gdzie występuje napięcie sieciowe, no i oczywiście na ile to możliwe efektowna .. Z pomocą przyszłą plexa .. gięcie na gorąco, cięcie, szlifowanie, klejenie …. efekt można podziwiać na zdjęciach. Część przewodów poprowadzona jest w dnie drewnianej podstawy.

    Sterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/Off
    Sterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/Off

    Aby zasilić moduł Peltiera wybrałem zasilacz impulsowy z wyjściem 12V AC i prądzie maksymalnym 20A. Z uwagi iż bez obciążenia układ wyłączał zasilanie lub zasilacz nie 'podnosił się' dodałem eksperymentalnie określone obciążenie minimalne tak aby po podaniu zasilania zasilacz pozostawał w trybie pracy.


    Zarówno zasilaczem mocy, jak i innymi elementami wykonawczymi steruje poczciwa Atmega32. Płyta sterująca posiada swój własny zasilacz, wyjścia przekaźnikowe, wejścia cyfrowe, wyjścia tranzystorowe do sterowania wentylatorami ( wentylator chłodzący ciecz, oraz wentylator chłodzący elementy mocy ), wejścia pomiaru temperatur NTC, oraz DS18B20, Ledy informujące o stanie urządzenia, buzer w celu sygnalizacji stanów alarmowych, oraz interfejs komunikacyjny RS485.
    Z uwagi na zastosowanie zasilacza mocy w wykonaniu impulsowym, którego częstotliwość wyjściowa wynosi ok 14kHz ( Chińszczyzna z popularnego portalu aukcyjnego ) do uzyskania napięcia DC wykorzystałem mostek złożony z 4 diód Shottky.
    Natomiast aby umożliwić w 100% statyczne sterowanie modułem Peltiera sterownik HIP4082 zasiliłem poprzez dwie izolowane przetwornice DC/DC ( unikam w ten sposób konieczności kluczowania tranzystorów aby 'odnowić' zasilanie górnej gałęzi ). Tranzystory mocy to IRL2203.

    Sterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/Off
    Sterownik edukacyjny PID & On/OffSterownik edukacyjny PID & On/Off

    Zależało Mi również na tym aby sterownik ten był choć namiastką sprzętu automatyki przemysłowej więc wspomniana wcześniej Atmega32 posiada zaimplementowany stos MODBUS i komunikuje się z komputerem PC za pomocą interfejsu RS485. Cały program napisałem w C, korzystałem przy tym ze stosu freemodbus, oraz innych źródeł dostępnych w internecie. Poniżej zestaw rejestrów zaimplementowany w sterowniku.

    Sterownik edukacyjny PID & On/Off

    Program na PC komunikujący się ze sterownikiem napisałem we Freepascalu, dla środowiska Windows. W programie jest możliwość wyboru rodzaju sterownika, oraz ustawienia jego parametrów. Dodatkowo na bieżąco tworzone są wykresy temperatury zadanej, temperatury aktualnej, mocy wyjściowej, z możliwością ich wyłączenia.

    Sterownik edukacyjny PID & On/Off Sterownik edukacyjny PID & On/Off Sterownik edukacyjny PID & On/Off Sterownik edukacyjny PID & On/Off

    W razie pytań służę pomocą.

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    __Maciek__
    Poziom 20  
    Offline 
    __Maciek__ napisał 317 postów o ocenie 54, pomógł 23 razy. Mieszka w mieście Płock. Jest z nami od 2003 roku.
  • IGE-XAO
  • #2
    Imekxus
    Poziom 17  
    Praca inżynierska? magisterska? czy coś innego? udostępnisz kod z pid? z jakiej literatury korzystałeś w celu doboru nastaw dla obiektu grzewczego oraz ogólnie w celu doboru algorytmu/napisania programu? tak się składa, że akurat jestem w trakcie poszukiwań i doboru algorytmu PID do swojej pracy dyplomowej więc stąd te pytania
  • IGE-XAO
  • #3
    __Maciek__
    Poziom 20  
    Był to mały fragment pracy magisterskiej.
    Nie bardzo rozumiem kolegę w zakresie sformuowania "poszukiwania i doboru algorytmu PID ... " Trochę to bez sensu.

    Algorytm PID jest ogólnie dobrze udokumentowany w wielu pozycjach literatury jak równierz w internecie. np: WIKIPEDIA - PID

    Poniżej ogólna uproszczona koncepcja kodu " pseudokodu " jak poszukasz znajdziesz inne podobne.
    W przypadku implementacji na atmedze można ( nie trzeba ) napotkać problemy prawdopodobnie z wielkością stosu, szczególnie gdy operuje się na liczbach zmiennoprzecinkowych ... dlatego np. wyłączyłem człon I poza równanie kalkulacji wartości wyjścia.

    Code:

    e - uchyb regulacji
    Kp - wzmocnienie członu proporcjonalnego
    Ki - czas zdwojenia
    Kd - czas wyprzedzenia
    Ts - stała czasowa regulatora np.:(1)

    // uchyb regulacji
    e = Tz - Ta
    // człon całkujący   
    i = Ki * Ts * (e + e_poprzedni) / 2 + i_poprzedni
    // człon różniczkujacy
    de = (e - e_poprzedni) / Ts
    // Wyjście
    Y = ( Kp * e ) + ( Kd * de ) + i )

  • #4
    treker
    Poziom 25  
    @__Maciek__ bardzo fajny projekt. Brakuje na uczelniach takich praktycznych przykładów zastosowania regulatorów. Same wykresy z Matlaba to za mało, aby zrozumieć w praktyce sterowanie obiektami. Inny, ciekawy i obrazowy przykład to sterowanie silnikiem z enkoderem - mniejszy czas ustalania, więc łatwiej można zaobserwować wpływ poszczególnych członów.