This shows you the differences between two versions of the page.
|
pm:prj2026:vlad.radulescu2901:sebastian.barbu2707 [2026/05/07 14:27] sebastian.barbu2707 [Descriere generală] |
pm:prj2026:vlad.radulescu2901:sebastian.barbu2707 [2026/05/13 16:35] (current) sebastian.barbu2707 [Resurse Hardware] |
||
|---|---|---|---|
| Line 16: | Line 16: | ||
| Osciloscopul este organizat în jurul a cinci module hardware și trei module software, toate coordonate de ATmega328P. | Osciloscopul este organizat în jurul a cinci module hardware și trei module software, toate coordonate de ATmega328P. | ||
| - | **Module hardware:** | ||
| - | Lanțul de condiționare a semnalului se află la calea de intrare. | + | 2.A **Module hardware:** |
| - | Un semnal analogic intră prin mufa jack de 3.5mm, trece prin două | + | |
| - | diode 1N4148 care clampează tensiunea la 0–5V, apoi prin op-amp-ul | + | |
| - | MCP6002 configurat ca voltage follower (buffer unity-gain), și în | + | |
| - | final printr-un filtru RC trece-jos de 1kΩ/10nF (fc ≈ 16 kHz) care | + | |
| - | previne aliasing-ul înainte ca semnalul să ajungă la pinul ADC (A0). | + | |
| - | Placa ATmega328P Xplained Mini furnizează microcontrollerul ATmega328P | + | Semnalul analogic intră prin **mufa jack PJ392 3.5mm**, trece prin două **diode 1N4148** care îl protejează, apoi prin **op-amp-ul MCP6002** configurat ca buffer, și în final printr-un **filtru RC** care elimină zgomotul de înaltă frecvență înainte de ADC. |
| - | care rulează la 16 MHz, cu un debugger/programator integrat mEDBG | + | |
| - | accesibil direct prin USB — nu este necesar niciun programator extern. | + | |
| - | Placa operează la 5V și expune toți pinii MCU prin headere compatibile | + | |
| - | Arduino (J200, J201, J203). Un regulator onboard de 3.3V (disponibil | + | |
| - | pe J202 pin 4) alimentează display-ul ILI9341. | + | |
| - | Display-ul TFT ILI9341 de 3.2" (320×240 pixeli, 65K culori) se | + | **Placa ATmega328P Xplained Mini** este centrul proiectului. Rulează la 16MHz, se programează direct prin USB și coordonează toate perifericele — ADC, SPI, I2C, timere și întreruperi. |
| - | conectează la ATmega328P prin busul hardware SPI. Redă forma de undă | + | |
| - | ca o linie continuă, suprapusă pe o grilă. UI-ul afișează scalele | + | |
| - | curente de time/div și volt/div, măsurătorile în timp real ale Vpp | + | |
| - | și frecvenței, și indicatorul HOLD când display-ul este înghețat. | + | |
| - | Deoarece ILI9341 operează la logică de 3.3V, un level shifter | + | |
| - | bidirecțional cu 4 canale (Pololu 2595) este plasat pe liniile | + | |
| - | SCK, MOSI, CS, DC și RST. | + | |
| - | DAC-ul MCP4921 de 12 biți partajează busul SPI cu display-ul | + | **Display-ul ILI9341** de 3.2" se conectează prin SPI și afișează forma de undă în timp real împreună cu scalele și măsurătorile automate. Deoarece operează la 3.3V, **level shifter-ul Pololu 2595** face conversia de tensiune față de MCU-ul de 5V. |
| - | (CS separat pe D9) și generează semnalul intern de test prin | + | |
| - | primirea de valori de la ATmega328P la intervale regulate | + | |
| - | conduse de Timer2 ISR. Valorile sunt calculate dintr-un tabel | + | |
| - | de căutare (LUT) de 256 de puncte pre-calculat la startup, | + | |
| - | permițând generarea de semnale sinus, triunghi și dreptunghi. | + | |
| - | Ieșirea DAC-ului se întoarce în lanțul de intrare analogică, | + | |
| - | formând o buclă de demo standalone. Ieșirea DAC poate fi de | + | |
| - | asemenea conectată prin cablul jack la mufa de intrare pentru | + | |
| - | demonstrații complete. | + | |
| - | Modulul EEPROM AT24C256 se conectează pe busul I2C (A4/SDA, | + | **DAC-ul MCP4921** se conectează pe același bus SPI și generează semnalul intern de test (sinus, triunghi, dreptunghi), care se întoarce la intrarea analogică formând o buclă de demo completă. |
| - | A5/SCL) și stochează setările utilizatorului — trigger level, | + | |
| - | indexul time/div și indexul volt/div — astfel încât acestea | + | |
| - | persistă între sesiuni. | + | |
| - | **Module software:** | + | **Modulul EEPROM AT24C256** se conectează prin I2C și salvează setările utilizatorului între sesiuni. |
| - | Motorul de sampling rulează într-un ISR Timer1 CTC configurat | + | 2.B **Module software:** |
| - | să declanșeze la un interval programabil (de la 1µs la 1ms | + | |
| - | per sample). Implementează detecție de front pentru trigger — | + | |
| - | așteaptă ca semnalul de pe A0 să treacă un prag configurabil | + | |
| - | în direcția dorită înainte de a umple un buffer circular de | + | |
| - | 240 de eșantioane. Double-buffering previne glitch-urile pe | + | |
| - | display. | + | |
| - | Renderer-ul de display rulează în main loop. Citește buffer-ul | + | **Sampling engine** — rulează într-un Timer1 ISR și capturează 240 de eșantioane după detecția triggerului, folosind double-buffering pentru afișare stabilă. |
| - | front, mapează fiecare eșantion ADC la o coordonată pixel Y | + | |
| - | bazată pe setarea curentă volt/div, și desenează segmente de | + | **Display renderer** — rulează în main loop și desenează forma de undă, grila, scalele, Vpp și frecvența pe ecran. |
| - | linie între eșantioane consecutive. Grila, etichetele de scală, | + | |
| - | Vpp, frecvența și indicatorul HOLD sunt suprapuse deasupra. | + | **Measurement engine** — calculează automat Vpp și frecvența din buffer-ul capturat la fiecare frame. |
| - | Motorul de măsurători calculează Vpp = (max − min) × (3.3V / 1023) | ||
| - | și estimează frecvența din numărul de zero-crossings în buffer, | ||
| - | ambele actualizate la fiecare frame. | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| - | <note tip> | + | |
| - | Aici puneţi tot ce ţine de hardware design: | + | ** Listă componente: ** |
| - | * listă de piese | + | ^ Componentă ^ Model complet ^ Cantitate ^ Rol ^ Preț estimat ^ |
| + | | Placă MCU | ATmega328P Xplained Mini | 1 | MCU central | De la PM lab | | ||
| + | | Display TFT | LCD 3.2" ILI9341 240x320 Touch SD 3.3-5V | 1 | Afișare semnal | ~116 RON | | ||
| + | | DAC | MCP4921-E/P — DIP8 12-bit SPI | 1 | Generator semnal | ~12 RON | | ||
| + | | Op-Amp | MCP6002-I/P — DIP8 dual rail-to-rail | 1 | Buffer intrare analogică | ~2 RON | | ||
| + | | EEPROM | Modul AT24C256 I2C | 1 | Salvare setări | ~7 RON | | ||
| + | | Level Shifter | Pololu 2595 — 4ch bidirecțional | 1 | 5V↔3.3V SPI | ~16 RON | | ||
| + | | Diode | 1N4148 DO-35 | 2 | Clamp tensiune 0–5V | ~1 RON | | ||
| + | | Rezistori | 1kΩ, 2kΩ, 3.3kΩ, 10kΩ — 1/4W | ~25 | Pull-up, filtru RC, divizori | ~5 RON | | ||
| + | | Condensatori | 100nF ceramic, 10nF ceramic, 10µF electrolitic | ~15 | Decoupling, filtru RC | ~20 RON | | ||
| + | | Mufă jack | PJ392 3.5mm stereo mamă | 1 | Intrare semnal extern | ~3 RON | | ||
| + | | Potențiometru | WH148 10kΩ liniar | 1 | Trigger level | ~2 RON | | ||
| + | | Butoane | PCB 12×12×7.3mm + capace colorate | 6+4 | Interfață utilizator | ~10 RON | | ||
| + | | Breadboard | 830 puncte | 1-2 | Prototipare | Disponibil | | ||
| + | | Fire | Set jumper 140 fire + dupont M-F 40 fire | 1+1 | Conexiuni | ~20 RON | | ||
| + | | Card microSD | orice card 1–32GB | 1 | Salvare forme de undă | ~15 RON | | ||
| + | |||
| + | **Total estimat: ~229 RON** | ||
| * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | ||
| * diagrame de semnal | * diagrame de semnal | ||
| Line 113: | Line 92: | ||
| </note> | </note> | ||
| - | ===== Jurnal ===== | ||
| - | <note tip> | + | |
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
| - | </note> | + | |
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | <note> | + | ==== Resurse Hardware ==== |
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
| - | </note> | + | |
| - | + | ||
| - | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | |
| + | * ATmega328P Xplained Mini User Guide — Microchip Technology: https://ww1.microchip.com/downloads/en/DeviceDoc/50002659A.pdf | ||
| + | * ATmega328P Xplained Mini — OCW PM UPB: https://ocw.cs.pub.ro/courses/pm/proiect/xplainedmini | ||
| + | * ILI9341 TFT LCD Driver Datasheet — ILI Technology: https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf | ||
| + | * MCP4921 DAC Datasheet — Microchip Technology: https://ww1.microchip.com/downloads/en/DeviceDoc/21897B.pdf | ||
| + | * MCP6002 Op-Amp Datasheet — Microchip Technology: https://ww1.microchip.com/downloads/en/DeviceDoc/MCP6001-1R-1U-2-4-1-MHz-Low-Power-Op-Amp-DS20001733L.pdf | ||
| + | * AT24C256 EEPROM Datasheet — Microchip Technology: https://ww1.microchip.com/downloads/en/DeviceDoc/doc0670.pdf | ||
| + | * Pololu 2595 Level Shifter — Pololu: https://www.pololu.com/product/2595 | ||
| + | * WH148 Potentiometer Datasheet — Taiwan Alpha: https://www.taiwanalpha.com/downloads?target=products&id=52 | ||
| + | * PJ392 3.5mm Audio Jack Datasheet — CUI Devices: https://www.cuidevices.com/product/resource/sj-352x-smt.pdf | ||