Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 20 kwi 2024, o 03:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 17 mar 2018, o 22:44 
Offline
Nowy

Dołączył(a): 27 gru 2017
Posty: 14
Pomógł: 0

Witam.
Złożyłem jeden projekt z dwóch obrotomierzy ,z 1 czujnika są podawane impulsy zliczające przepływ wody a z 2 czujnika są
podawane impulsy zliczające prędkość w k/h ,program mi oblicza ile mi przepływa wody w litrach na kilometr i wtedy reguluje mi
zadaną dawkę za pomocą zaworu, problem jest szybkością reagowania na zmianę prędkości jazdy i czy ten kod jest dobry ,czy
coś trzeba zmienić , procesor atmega328p taktowany 8mhz ,jestem początkującym i chciałbym żeby mi ktoś pomógł .
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 mar 2018, o 01:38 
Offline
Użytkownik

Dołączył(a): 05 wrz 2017
Posty: 169
Pomógł: 31

Regulacja proporcjonalna nigdy nie będzie szybsza niż wynika to z współczynnika proporcjonalności...
Jeśli oczekujesz szybszej reakcji na wymuszenie rozważ regulator PI, część całkująca znacznie przyśpiesza proces regulacji, jednak nastawę musiał byś albo wyliczyć albo dobrać doświadczalnie. Podyktowane jest to możliwym zmniejszeniem stabilności lub nawet niestabilnością wynikającą z stopnia całkującego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 mar 2018, o 20:06 
Offline
Nowy

Dołączył(a): 27 gru 2017
Posty: 14
Pomógł: 0

DZIĘKUJĘ ZA ODPOWIEDŻ
Regulator pid byłby dobry do sterowania prędkością silnika proporcjonalną do zadawanej temperatury ,nawet jeśli bym próbował przerobić
kod to na całkowaniu z timerami i przerwaniami nie dałbym sobie rady.
Ale te całkowanie to z dziesięć operacji i to ma przyśpieszyć, czytałem że operacje +-*/ opcjążają procesor .
Zliczanie impulsów z INTO i obliczanie litrów na minutę idzie dobrze .
Zliczanie impulsów z ICP i obliczanie kilometrów na godzinę też dobrze .
wolno oblicza litry na kilometr
i po tym zamyka lub otwiera zawór z wodą ,po ustawieniu dawki litrów np 250L/5KM/H
Morze jakięś przykłady by mi pomogły.
Uczę się programowani od 3 miesięcy z internetu dla swoich potrzeb i interesuje mnie to
Edukacje zakończyłem w latach 90 w innym kierunku
morze coś uda się zrobić



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 mar 2018, o 21:51 
Offline
Użytkownik

Dołączył(a): 05 wrz 2017
Posty: 169
Pomógł: 31

Całkowanie w dyskretnej dziedzinie czasu sprowadza się do sumowania - upraszczając jeśli masz całkę od 0 do T w ciągłej dziedzinie czasu to w dyskretnej będzie to suma od 0 do T.
Zasadniczo ALU potrafi tylko dodawać (8 bitowe uC), odejmowanie to sumowanie liczb z przeciwnym znakiem, mnożenie to sukcesywne sumowanie. Czyli w wielkim uproszczeniu nie mającym przełożenia na asemblera 3*3 to będą 2 operacje sumowania 3+3+3. W układach 16 bitowych i wyżej sprzętowe mnożenie i dzielenie jest już standardem.

Czas wykonania programu można przyspieszyć poprzez dobranie właściwych długości zmiennych do żądanej operacji (nie dłuższych niż jest to niezbędnie konieczne), o ile się da nie stosowanie operacji zmiennoprzecinkowych (pochłaniają dużo mocy obliczeniowej), porządnie napisany kod - bez bezsensownych delay() itp.

Z resztą jeśli dopiero rozpoczynasz naukę to myślę, że bardzo pomoże Ci lektura http://atnel.pl/mikrokontrolery-avr-jezyk-c.html. Książka naprawdę jest dobrze napisana, część zagadnień opisana wręcz "łopatologicznie" - ciężko ich nie zrozumieć. Sam nabyłem tą pozycję jak już przebrnąłem przez większość mniej przystępnych zagadnień i do dziś żałuje, że nie kupiłem jej wcześniej.

Tu masz przykładowy PID, tyle że ten kod nie jest w żadnym razie przenośny (wyliczony metodą kompensacji dynamiki obiektu regulacji), wymaga też operacji zmiennoprzecinkowych (był połączony z filtrem cyfrowym).
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Bing [Bot] i 10 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO