Zajęcia stacjonarne:

Zakres laboratorium:
  1. Przetwornik A/D
  2. Timer – generator sygnału PWM (link, link2)
  3. Regulator dwustawny (link)
  4. Regulator dwustawny z histerezą
  5. Regulator trójstawny
  6. Regulator PID(link)

 

Przed wysłaniem programu należy sprawdzić jego działanie dla wszystkich wykonanych regulatorów i w każdym zakresie ustawienia potencjometrów.

Czy program poprawnie reaguje na wartości ujemne itd.

Zastanowić się nad przykładami urządzeń, w jakich występują zaprezentowane regulatory, potrafić wymienić minimum 3 urządzenia dla każdego regulatora.

Zadanie 1 – ocena 3

Program realizujący funkcję woltomierza:

  • podłączyć LCD, potencjometr (kanał A0) do mikrokontrolera
  • podłączyć elementy i napisać program, gdzie mikrokontroler wykorzystuje przetwornik A/D do pomiaru napięcia i  wyświetla je na wyświetlaczu LCD
  • w pierwszej linii LCD wyświetlana jest wartość mierzonego napięcia w woltach i wartość od 0-100, proporcjonalnie odpowiadająca mierzonemu napięciu, 0V to 0, 2,5V to 50 itd.
Zadanie 2 – ocena 4

Program realizujący funkcję regulatora dwupołożeniowego bez histerezy i z histerezą oraz regulatora trójpołożeniowego:

  • do programu z zadania 1 dodajemy:
    • podłączyć 4 diody z linijki diodowej i nazwać je L1, L2,L3A i L3B
  • tworzymy 3 funkcje, jedna funkcja to jeden regulator, funkcja przyjmuje parametr (uint8_t wartośćZadana, uint8_t wartoscRzeczywista)
  • zadaniem każdej funkcji jest realizacja następującego działania:
    • regulator dwupołożeniowy – realizuję działanie regulatora dwustanowego i wyświetla swoje stany na diodzie L1
    • regulator dwupołożeniowy z histerezą – realizuję działanie regulatora dwustanowego z histerezą i wyświetla swoje stany na diodzie L2, histerezę ustawić na 0,5V
    • regulator trójpołożeniowego – realizuję działanie regulatora trójpołożeniowego i wyświetla swoje stany na diodach L3A i L3B
  • wartość zadana to wartość stała (ustawić połowę zakresu pomiarowego), a wartość rzeczywista to napięcie z potencjometru,
  • jak działają poszczególne regulatory, jakie są ich wady i zalety?
Zadanie 3 – ocena 4,5

Do programu z zadania 2 dodajemy regulator PID:

  • dodajemy funkcję, realizującą zdanie regulatora PID – przyjmuje takie same parametry jak pozostałe funkcje regulatorów
    • w obecnym zadaniu działanie regulatora PID ograniczamy tylko do członu “P”,
    • wyliczamy uchyb regulacji,
    • uchyb przeliczamy przez współczynnik członu proporcjonalnego “Kp” i otrzymujemy wartość sterującą,
    • wartość sterująca powinna być w zakresie 0-100, gdzie 50 to gdy uchyb wynosi 0 a pozostałe wartości są proporcjonalne i wypełniają cały zakres sterowania,
    • wartość wyświetlamy na  wyświetlaczu LCD w postaci: MOC:xxx%
Zadanie 4 – ocena 5

Do programu z zadania 3 dodajemy wyjście PWM ustawiane przez regulator PID:

  • należy ustawić Timer1 do pracy w trybie PWM, należy wybrać odpowiedni tryb i skonfigurować układ licznikowy,
  • funkcja PID z zdania 3 powinna sterować wypełnieniem sygnału PWM w zakresie 0-100,
  • podłączyć do wyprowadzenia mikrokontrolera (tam gdzie będzie generowany sygnał PWM) miernik/oscyloskop – zapytać prowadzącego zajęcia o sprzęt

 

 

 

Zajęcia zdalne:
Dodatkowe materiały:
  1. Laboratorium 1.1
  2. Laboratorium 1.2
Podłączyć:
  • 8 x dioda LED do portu D, wykorzystać linijkę diodową (LedBar)
  • podłączyć klawiaturę do portu C (KeyPad) – klawiaturę należy zmodyfikować zgodnie z rysunkiem poniżej (ustawiamy zgodnie z parametrami po lewej stronie):
Zadania na symulatorze:
  1. napisać funkcję setLED(uint8_t led,uint8_t stan), gdzie led to numer diody od 1-8, a stan 1-dioda świeci 0 – dioda nie świeci,
  2. napisać funkcję getButton(), która zwraca numer przyciśniętego przycisku na klawiaturze z zakresu 1-12, oraz numer 13-16 dla dodatkowych przycisków. Informacje o obsłudze klawiatury matrycowej można znaleźć w zadaniu 4 z laboratorium 1.2,
  3. stworzyć program (wykorzystując stworzone funkcje), który po wciśnięciu przycisku 1-8 (z klawiatury spowoduje zaświecenie odpowiedniej diody), ponowne przyciśnięcie przycisku wyłączy diodę, dodatkowo “*” włącza wszystkie diody, “#” wyłącza wszystkie diod led.

 

Zaliczenie:
  1. kod programu i plik symulacji wysłać przez e-portal w odpowiednim terminie,
  2. zaprezentować działanie programu prowadzącemu.

 

Dodatkowe materiały:
  1. Laboratorium 1.1
  2. Laboratorium 1.2
Zadania na symulatorze:
  1. podłączyć klawiaturę do portu C (KeyPad) i zmodyfikować zgodnie z rysunkiem klawiatury:
  2. podłączyć wyświetlacz LCD według rysunku z paczki (pliki) i sprawdzić działanie przykładowego programu (po uruchomieniu w pierwszej linii LCD będą wyświetlać się kolejne cyfry),
  3. stworzyć program realizujący obsługę kalkulatora, umożliwiającego wprowadzanie liczb od 0-999, wykonującego działania dodawanie, odejmowanie, mnożenie oraz kasowanie obliczeń.

 

Zaliczenie:
  1. kod programu i plik symulacji wysłać przez e-portal w odpowiednim terminie,
  2. zaprezentować działanie programu prowadzącemu.