Lab 4.1 Actuatori - Releu
Lucrare de laborator Nr. 4.1: Actuatori cu Interfață Binară - Control Releu (Serial/Keypad și LCD)
Scopul lucrării
Realizarea unei aplicații modulare pentru un microcontroler (MCU) care să controleze dispozitive de acționare binare (bec electric sau ventilator) folosind comenzi recepționate prin interfața STDIO, fie prin terminal serial, fie prin tastatură (Keypad), și să raporteze starea actuatorului către un afișaj LCD sau prin interfața serială.
Obiectivele lucrării
- Familiarizarea cu principiile de funcționare și control al releelor în aplicații embedded.
- Utilizarea bibliotecii STDIO pentru interacțiunea cu utilizatorul prin intermediul terminalului serial și/sau tastaturii matriciale (Keypad).
- Implementarea controlului binar al actuatoarelor (bec electric sau ventilator) prin intermediul unui releu.
- Dezvoltarea unei soluții modulare, structurată pe fișiere separate pentru fiecare periferic, asigurând astfel reutilizarea în proiecte viitoare.
- Documentarea arhitecturii software și prezentarea schemelor bloc și schemelor electrice ca parte integrantă a metodologiei de proiectare.
Definirea problemei
Să se realizeze o aplicație bazată pe MCU care va controla dispozitivele binare de acționare (bec electric sau ventilator), respectând următoarele cerințe:
-
Control prin interfața STDIO:
-
Recepționarea comenzilor utilizatorului fie prin intermediul unui terminal serial, fie prin intermediul tastaturii matriciale 4x4.
-
Comenzile acceptate vor fi:
-
relay onpentru activarea dispozitivului de acționare; -
relay offpentru dezactivarea dispozitivului de acționare.
-
-
-
Raportarea stării actuatorului:
-
Aplicația trebuie să raporteze confirmarea comenzilor și starea curentă a actuatorului prin intermediul afișajului LCD și/sau a interfeței seriale folosind funcțiile bibliotecii STDIO (ex.:
printf()).
-
-
Interfață hardware-software clar definită:
-
Componentele periferice (releu, keypad, LCD etc.) să fie implementate în module separate cu interfețe clar definite.
-
Materiale și resurse
Componente hardware:
- Microcontroler (ESP32, Arduino Uno sau similar)
- Modul releu (5V)
- Bec electric (de joasă tensiune) sau ventilator (DC de joasă tensiune)
- Rezistoare (220 Ω pentru LED-uri, dacă sunt utilizate pentru raportare vizuală adițională)
- Tastatură matricială (4x4, opțională dacă nu se utilizează interfața serială)
- LCD (2x16, 4x20 sau similar, pentru afișare)
- Breadboard
- Cabluri jumper
- Sursă de alimentare (USB și/sau alimentare externă pentru actuator)
Resurse software:
- Visual Studio Code cu extensia PlatformIO instalată
- Emulator terminal (Monitor Serial din PlatformIO, TeraTerm sau Putty)
- Biblioteci pentru LCD (LiquidCrystal sau LiquidCrystal_I2C) și Keypad
- Simulator hardware (opțional, ex.: Proteus)
Recomandări
- Pentru validare, se recomandă utilizarea unui simulator hardware (ex.: Proteus).
- Funcționalitățile pentru fiecare echipament periferic (LCD, releu, keypad etc.) trebuie realizate în fișiere separate pentru reutilizare ușoară.
- Respectarea convențiilor de codare (CamelCase).
- Implementarea unei interfețe clare și intuitive pentru comenzile primite și raportarea stărilor.
Indicații pentru implementare
-
Control Releu:
-
Utilizarea pinilor digitali ai MCU pentru a controla releul cu funcția
digitalWrite(). -
Implementarea unei logici clare pentru ON/OFF pe baza comenzilor primite.
-
-
Comunicare STDIO:
-
Pentru terminal serial, utilizarea funcțiilor
scanf()șiprintf()pentru interacțiunea cu utilizatorul. -
Pentru Keypad, citirea și interpretarea comenzilor cu biblioteci specifice (ex. Keypad.h).
-
-
Task-uri (opțional FreeRTOS):
-
Implementarea în task-uri dedicate FreeRTOS, pentru gestionarea clară a citirii comenzilor, controlului releului și afișării informațiilor.
-
Cerințe obligatorii
- Respectarea structurii modulare a proiectului.
- Prezentarea schițelor arhitecturale, schemelor bloc și schemelor electrice.
- Respectarea formatului raportului conform normelor UTM.
Pontaj
- 50% – Aplicația de bază funcțională (control ON/OFF releu, comenzi STDIO prin Serial/Keypad).
- 10% – Utilizarea corectă a funcțiilor STDIO (
printf(),scanf()) pentru interacțiune și raportare. - 10% – Claritatea și modularitatea interfeței hardware-software a dispozitivelor periferice.
- 10% – Prezentarea schemelor electrice și a diagramelor bloc arhitecturale.
- 10% – Demonstrarea funcționării fizice a soluției implementate.
- 10% – Implementarea unui comportament adițional improvizat (ex.: afișarea unei avertizări speciale în caz de eroare sau comenzi invalide).
NOTĂ:
Pontajul maxim este posibil doar la prezentarea funcționării fizice complete a soluției și implementarea comportamentului adițional improvizat!
-
Penalizare: -10% pentru fiecare săptămână întârziere față de termenul stabilit.
Întrebări de control
-
Care este principiul de funcționare al unui releu electromagnetic utilizat în aplicațiile embedded?
-
Cum se realizează citirea comenzilor text folosind interfața STDIO (
scanf) și cum sunt acestea interpretate? -
Care sunt avantajele implementării modulare a funcționalităților perifericelor în proiectele embedded?
-
Ce probleme pot apărea la comandarea unui releu și cum pot fi rezolvate acestea (ex.: interferențe electromagnetice)?
-
De ce este importantă raportarea stărilor actuatorului și cum poate influența această raportare utilizarea aplicației finale?
- 3 April 2020, 12:09