Witam wszystkich, jestem tahir ul haq z innego projektu.
Tym razem był czas na MC, z którego korzystał 2017-11-407.
To koniec programu średniookresowego.
Mam nadzieję, że ci się spodoba.
Wymaga to wielu koncepcji i teorii, więc przyjrzyjmy się temu najpierw.
Wraz z pojawieniem się komputerów i procesem uprzemysłowionym w historii człowieka podjęto badania mające na celu opracowanie metod ponownego zdefiniowania procesu, a co ważniejsze, wykorzystania maszyn do autonomicznego sterowania procesem.
Celem jest ograniczenie udziału człowieka w tych procesach, a tym samym ograniczenie błędów w tych procesach.
Dlatego powstała dziedzina „inżynierii systemów sterowania”.
Inżynierię systemów sterowania można zdefiniować jako zastosowanie różnych metod kontroli pracy procesu lub utrzymania stałego i preferowanego środowiska, zarówno ręcznego, jak i automatycznego.
Prostym przykładem jest kontrola temperatury w pomieszczeniu.
Sterowanie ręczne odnosi się do obecności osoby, która sprawdza aktualne warunki na miejscu (czujnik)
, z oczekiwaniami (przetwarzanie)
i podejmuje odpowiednie działania, aby uzyskać żądaną wartość (siłownik).
Problem z tym podejściem polega na tym, że nie jest ono zbyt niezawodne, ponieważ jest podatne na błędy lub zaniedbania w pracy.
Dodatkowo kolejnym problemem jest to, że tempo procesu uruchamianego przez siłownik nie zawsze jest równomierne, co oznacza, że czasami może być ono szybsze niż wymagana prędkość, a czasami może być wolne.
Rozwiązaniem tego problemu jest zastosowanie mikrokontrolera do sterowania systemem.
Zgodnie z podaną specyfikacją mikrokontroler jest zaprogramowany do sterowania procesem łączenia w obwodzie (
omówimy później)
Wartość lub stan, kontrolując w ten sposób proces w celu utrzymania żądanej wartości.
Zaletą tego procesu jest to, że nie ma potrzeby ingerencji człowieka w ten proces.
Ponadto szybkość tego procesu jest stała.
Zanim przejdziemy dalej, istotne jest określenie w tym miejscu różnych terminów: Sterowanie ze sprzężeniem zwrotnym: W tym systemie dane wejściowe w określonym czasie zależą od jednej lub większej liczby zmiennych, w tym od wyjścia systemu.
Negatywne sprzężenie zwrotne: W tym systemie odniesienie (wejście)
Jako sprzężenie zwrotne odejmuje się błąd, a faza wejścia wynosi 180 stopni.
Pozytywne sprzężenie zwrotne: W tym systemie
błędy odniesienia (wejście) są dodawane, gdy sprzężenie zwrotne i wejście są w fazie.
Sygnał błędu: różnica pomiędzy żądaną mocą wyjściową a rzeczywistą mocą wyjściową.
Czujnik: urządzenie służące do wykrywania określonej liczby urządzeń w obwodzie.
Zwykle umieszcza się go na wyjściu lub w dowolnym miejscu, w którym chcemy dokonać pomiarów.
Procesor: część systemu sterowania przetwarzana w oparciu o algorytmy programowania.
Pobiera pewne dane wejściowe i generuje pewne dane wyjściowe.
Siłownik: w układzie sterowania siłownik służy do wykonywania zdarzeń w oparciu o sygnał generowany przez mikrokontroler w celu oddziaływania na wyjście.
System z pętlą zamkniętą: system z jedną lub większą liczbą pętli sprzężenia zwrotnego.
System otwartej pętli: nie ma systemu pętli sprzężenia zwrotnego.
Czas narastania: Czas wymagany do wzrostu sygnału wyjściowego z 10% maksymalnej amplitudy sygnału do 90%.
Czas opadania: Czas wymagany do spadku wydajności z 90% do 10%.
Przekroczenie szczytowe: przekroczenie szczytowe to ilość sygnału wyjściowego przekraczająca wartość stanu ustalonego (
normalne podczas reakcji systemu na stany przejściowe).
Czas stabilny: Czas wymagany do osiągnięcia stabilnego stanu wyjścia.
Błąd stanu ustalonego: różnica między rzeczywistą mocą wyjściową a oczekiwaną mocą wyjściową, gdy system osiągnie stan ustalony. Powyższy obrazek przedstawia bardzo uproszczoną wersję układu sterowania.
Mikrokontroler jest sercem każdego systemu sterowania.
Jest to bardzo ważny element, dlatego należy go starannie dobrać pod kątem wymagań stawianych systemowi.
Mikrokontroler otrzymuje dane wejściowe od użytkownika.
To wejście definiuje warunki wymagane dla systemu.
Mikrokontroler otrzymuje również sygnał wejściowy z czujnika.
Czujnik jest podłączony do wyjścia, a jego informacje są podawane z powrotem na wejście.
To wejście można również nazwać negatywnym sprzężeniem zwrotnym.
Negatywne opinie zostały wyjaśnione wcześniej.
Na podstawie swojego programowania mikroprocesor wykonuje różne obliczenia i przekazuje dane do siłownika.
Układ sterujący siłownikiem oparty na wyjściu stara się utrzymać te warunki.
Przykładem może być sterownik silnika napędzający silnik, gdzie sterownik silnika jest kierowcą, a silnik jest fabryką.
Dlatego silnik obraca się z określoną prędkością.
Podłączony czujnik odczytuje stan bieżącej fabryki i przekazuje go z powrotem do mikrokontrolera.
Mikrokontroler jest ponownie porównywany i obliczany, więc pętla się powtarza.
Proces jest powtarzalny i nieskończony, a mikrokontroler potrafi utrzymać pożądane warunki.
Oto dwa główne sposoby kontrolowania prędkości silnika prądu stałego)
Ręczna kontrola napięcia: w zastosowaniach przemysłowych mechanizm kontroli prędkości silnika prądu stałego ma kluczowe znaczenie.
Czasami możemy potrzebować prędkości wyższych lub niższych niż normalnie.
Dlatego potrzebujemy skutecznej metody kontroli prędkości.
Sterowanie napięciem zasilania jest jedną z najprostszych metod sterowania prędkością.
Możemy zmienić napięcie, aby zmienić prędkość. b)
Sterowanie PWM za pomocą PID: innym, bardziej efektywnym sposobem jest użycie mikrokontrolera.
Silnik prądu stałego jest podłączony do mikrokontrolera poprzez sterownik silnika.
Sterownik silnika to układ scalony odbierający sygnał PWM (
modulacja szerokości impulsu)
Wejście z mikrokontrolera i wyjście do silnika prądu stałego zgodnie z wejściem. Rysunek 1.
2: Rozdział 1 sygnału PWM.
Wprowadzenie 3 Biorąc pod uwagę sygnał PWM, najpierw można wyjaśnić działanie PWM.
Składa się z ciągłych impulsów przez określony czas.
Okres czasu to czas, jaki przebywa punkt poruszający się na odległość równą długości fali.
Impulsy te mogą mieć tylko wartości binarne (WYSOKI lub NISKI).
Mamy także dwie inne wielkości: szerokość impulsu i cykl pracy.
Szerokość impulsu to czas, w którym wyjście PWM jest wysokie.
Cykl pracy to procent szerokości impulsu w stosunku do okresu czasu.
Przez resztę okresu moc wyjściowa jest niska.
Cykl pracy bezpośrednio steruje prędkością silnika.
Jeśli silnik prądu stałego zapewni napięcie dodatnie w określonym czasie, będzie się poruszał z określoną prędkością.
Jeśli napięcie dodatnie będzie zapewnione przez dłuższy czas, prędkość będzie większa.
Dlatego cykl pracy PWM można zmienić, zmieniając szerokość impulsu.
Zmieniając cykl pracy silnika prądu stałego, można zmienić prędkość silnika.
Kontrola prędkości w przypadku problemów z silnikiem prądu stałego: problem związany z pierwszą metodą kontroli prędkości polega na tym, że napięcie może zmieniać się w czasie.
Zmiany te oznaczają nierówną prędkość.
Dlatego pierwsza metoda jest niepożądana.
Rozwiązanie: Używamy drugiej metody do kontrolowania prędkości.
Jako uzupełnienie drugiej metody stosujemy algorytm PID.
PID reprezentuje proporcjonalną pochodną całkową.
W algorytmie PID mierzona jest aktualna prędkość silnika i porównywana z prędkością żądaną.
Ten błąd jest wykorzystywany do skomplikowanych obliczeń w celu zmiany cyklu pracy silnika w zależności od czasu.
Ten proces zachodzi w każdym cyklu.
Jeśli prędkość przekracza żądaną prędkość, cykl pracy jest zmniejszany, a cykl pracy wzrasta, jeśli prędkość jest niższa niż żądana.
Regulacja ta nie jest wykonywana do momentu osiągnięcia najlepszej prędkości.
Stale sprawdzaj i kontroluj tę prędkość.
Poniżej znajdują się komponenty systemu użyte w tym projekcie oraz krótkie wprowadzenie do szczegółów każdego komponentu.
STM 32F407: mikrokontroler zaprojektowany przez ST Micro-section.
Działa na korze ARM. Architektura M.
Przewodzi w swojej rodzinie wysoką częstotliwością taktowania 168 MHz.
Sterownik silnika L298N: Ten układ scalony służy do uruchamiania silnika.
Posiada dwa wejścia zewnętrzne.
Jeden z mikrokontrolera.
Mikrokontroler dostarcza do niego sygnał PWM.
Prędkość silnika można regulować poprzez regulację szerokości impulsu.
Drugie wejście stanowi źródło napięcia potrzebnego do napędzania silnika.
Silnik prądu stałego: Silnik prądu stałego działa na zasilaniu prądem stałym.
W tym eksperymencie silnik prądu stałego jest obsługiwany za pomocą sprzęgła fotoelektrycznego podłączonego do sterownika silnika.
Czujnik podczerwieni: czujnik podczerwieni jest w rzeczywistości nadajnikiem-odbiornikiem podczerwieni.
Wysyła i odbiera fale podczerwone, które można wykorzystać do wykonywania różnych zadań.
Łącznik optyczny enkodera podczerwieni 4N35: sprzęgacz optyczny to urządzenie służące do izolowania części obwodu niskonapięciowego od części wysokonapięciowej.
Jak sama nazwa wskazuje, działa w oparciu o światło.
Kiedy część niskiego napięcia otrzyma sygnał, prąd przepływa przez część wysokiego napięcia.
System jest systemem kontroli prędkości.
Jak wspomniano wcześniej, układ jest realizowany przy użyciu PID całki proporcjonalnej i pochodnej.
Układ kontroli prędkości składa się z powyższych elementów.
Pierwsza część to czujnik prędkości.
Czujnik prędkości to obwód nadajnika i odbiornika podczerwieni.
Kiedy ciało stałe przechodzi przez szczelinę w kształcie litery U, czujnik przechodzi w stan niski.
Zwykle jest w stanie wysokim.
Wyjście czujnika jest podłączone do filtra dolnoprzepustowego w celu wyeliminowania tłumienia spowodowanego stanem przejściowym generowanym podczas zmiany stanu czujnika.
Filtr dolnoprzepustowy składa się z rezystorów i kondensatorów.
Wartości wybrano zgodnie z wymaganiami.
Zastosowany kondensator ma pojemność 1100 nf, a rezystancja wynosi około 25 omów.
Filtr dolnoprzepustowy eliminuje niepotrzebne warunki przejściowe, które mogą skutkować dodatkowymi odczytami i wartościami śmieciowymi.
Filtr dolnoprzepustowy jest następnie wyprowadzany przez kondensator na wejście cyfrowe mikrokontrolera stm.
Druga część to silnik sterowany przez pwm zapewniany przez mikrokontroler stm.
To ustawienie zostało wyposażone w izolację galwaniczną za pomocą układu sprzęgającego optycznego.
Sprzęgacz optyczny zawiera diodę LED, która emituje światło w układzie scalonym, a gdy na zacisk wejściowy zostanie podany wysoki impuls, powoduje to zwarcie na zacisku wyjściowym.
Zacisk wejściowy podaje pwm przez rezystor, który ogranicza prąd diody podłączonej do sprzęgacza optycznego.
Na wyjściu podłączony jest rezystor opadający, dzięki czemu w przypadku zwarcia zacisku na rezystorze opadającym generowane jest napięcie, a pin podłączony do zacisku rezystora otrzymuje stan wysoki.
Wyjście sprzęgacza fotoelektrycznego jest podłączone do wejścia IN1 układu scalonego sterownika silnika, który utrzymuje wysokość sworznia włączającego.
Kiedy zmienia się cykl pracy pwm na wejściu sprzęgacza optycznego, pin sterownika silnika przełącza silnik i steruje prędkością silnika.
Po dostarczeniu pwm do silnika, sterownik silnika zwykle dostarcza napięcie 12 woltów.
Następnie sterownik silnika umożliwia pracę silnika.
Przedstawmy algorytm, którego użyliśmy przy realizacji tego projektu regulacji prędkości silnika.
Pwm silnika jest zapewniany przez pojedynczy timer.
Konfiguracja timera jest wykonana i ustawiona tak, aby zapewniała pwm.
Kiedy silnik się uruchamia, obraca szczelinę przymocowaną do wału silnika.
Szczelina przechodzi przez wnękę czujnika i wytwarza niski impuls.
Przy niskich impulsach kod uruchamia się i czeka na ruch szczeliny.
Gdy szczelina zniknie, czujnik podaje stan wysoki i timer rozpoczyna odliczanie.
Timer podaje nam czas pomiędzy dwiema szczelinami.
Teraz, gdy pojawi się kolejny niski impuls, instrukcja IF zostanie wykonana ponownie, czekając na kolejne zbocze narastające i zatrzymując licznik.
Po obliczeniu prędkości oblicz różnicę pomiędzy prędkością a rzeczywistą wartością odniesienia i podaj pid.
Pid oblicza wartość współczynnika wypełnienia, która w danym momencie osiąga wartość odniesienia.
Wartość ta przekazywana jest do CCR (
rejestru porównawczego).
W zależności od błędu prędkość timera jest zmniejszana lub zwiększana.
Zaimplementowano kod Atollic Truestudio.
Do debugowania może być konieczne zainstalowanie studia STM.
Zaimportuj projekt do studia STM i zaimportuj zmienne, które chcesz wyświetlić.
Niewielka zmiana dotyczy 2017-11-4xx.
Zmień dokładnie częstotliwość zegara na plik h przy 168 MHz.
Fragment kodu został podany powyżej.
Wniosek jest taki, że prędkość silnika jest kontrolowana za pomocą PID.
Jednak krzywa nie jest dokładnie gładką linią.
Powodów jest wiele: chociaż czujnik podłączony do filtra dolnoprzepustowego nadal wykazuje pewne defekty, są one spowodowane pewnymi nieuniknionymi przyczynami, takimi jak rezystory nieliniowe i analogowe urządzenia elektroniczne, silnik nie może płynnie obracać się przy niskim napięciu lub pwm.
Zapewnia dupki, które mogą spowodować, że system wprowadzi błędną wartość.
Ze względu na jitter czujnik może przeoczyć jakąś szczelinę zapewniającą wyższą wartość, a główną przyczyną kolejnego błędu może być częstotliwość taktowania rdzenia stm.
Taktowanie rdzenia Stm wynosi 168 MHz.
Chociaż w tym projekcie zajęto się tym problemem, istnieje holistyczna koncepcja tego modelu, która nie zapewnia tak wysokiej częstotliwości.
Prędkość w otwartej pętli zapewnia bardzo gładką linię z tylko kilkoma nieoczekiwanymi wartościami.
PID również działa i zapewnia bardzo krótki czas stabilności silnika.
PID silnika testowano przy różnych napięciach, które utrzymywały stałą prędkość odniesienia.
Zmiana napięcia nie powoduje zmiany prędkości silnika, co oznacza, że PID działa.
Oto niektóre segmenty końcowego sygnału wyjściowego PID. a)
Pętla zamknięta przy 110 obr/minb)
Pętla zamknięta przy 120 obr/minTen projekt nie mógłby zostać ukończony bez pomocy członków mojej grupy.
Chcę im podziękować.
Dziękuję za obejrzenie tego projektu.
Mam nadzieję, że ci pomogę.
Proszę czekać na więcej.
Pobłogosław wcześniej :)
Grupa HOPRIO, profesjonalny producent sterowników i silników, została założona w 2000 roku. Siedziba grupy znajduje się w mieście Changzhou w prowincji Jiangsu.