In lucrare se prezintă înlocuirea sistemului de comandă pentru un panou de afișaj cu LED. [307490]
Introducere
Motivația alegerii acestei teme s-a [anonimizat]. Acestea reprezintă o [anonimizat]: [anonimizat], [anonimizat].
In lucrare se prezintă înlocuirea sistemului de comandă pentru un panou de afișaj cu LED.
Acest nou sistem conține un microcontroller de tip Atmel AVR 8-[anonimizat]. Microcontrollerul a fost programat pentru diferite moduri si tipuri de afisaj care s-au dovedit utile in aplicațile reale.
In realizarea acestui proiect de diplomă au fost folosite noțiuni și cunoștințe din mai multe discipline cum ar fi: [anonimizat], [anonimizat], Circuite electronice fundamentale care reflectă elementele necesare realizării practice a temei de licentă.
In acest sens primul capitol abordează aspectele teoretice cu privire la tehnologia actuală a [anonimizat], avantajele și dezavantajele pe care le prezintă.
[anonimizat]-lea se proiectează sistemul de comandă și se prezintă modalitatea de realizare hardware.
In ultimul capitol se abordează subiectul referitor programări panoului de afișare.
Stadiul actual al sistemelor de afișare
De ce este acest lucru semnificativ pentru educație? [anonimizat], învățarea electronică a conținutului și a [anonimizat], prin urmărirea materialelor proiectate sau a programelor TV. În procesul de învățare și predare aceasta a fost întărită prin tendința către 'învățarea combinată', [anonimizat], material online și material multimedia interactiv. Prin procesul de educație devenim din ce în ce mai conștienți de nivelul calitativ al ecranelor pe care le privim și de modul în care acesta afectează lucrul pe care îl desfășurăm [1].
Sistemul de afișaj este legătura finală dintre procesul de calcul și utilizator. [anonimizat]. De aceea capacitățile senzoriale și caracteristicile de performanță ale utilizatorului sunt factori de care trebuie să se țină seama la alegerea sistemului de afișare. [anonimizat]. Dacă sunt luate în considerație următoarele aspecte:
Mediul înconjurător: Afișajul va funcționa în lumina soarelui sau noaptea?
Aplicație: [anonimizat], grafică sau o combinație?
Scenariu de sarcină: [anonimizat]?
Caracteristicile sistemului: Greutate, volum, putere, întreținere, costuri etc.
Se poate restrânge aria căutării sistemelor aplicabile și pot fi prevenite frustrările care pot să apară în decursul utilizării sistemului. Acest capitol începe cu definițiile de bază ale luminii și ale vederii. Apoi continuă discuțiile privitoare la capacitățile vizuale și la caracteristicile dispozitivelor de afișare care să corespundă cu acestea.
Bazele măsurării luminii
Principala marime care caracterizeaza lumina este fluxul luminos, care este puterea la care este emisă energia luminoasă dintr-o sursă, și este exprimată în lumeni (lm). Intensitatea luminoasă este fluxul luminos pe unitatea de unghi solid, și unitatea de măsură a acesteia este candela (cd). Aceasta este diferită față de iluminanță, sau iluminație, care este pur și simplu fluxul luminos pe aria de suprafață, exprimată în lux (lx). Luminanța este măsura strălucirii, adică este cantitatea de lumină pe unitatea de suprafață, fie emisă, fie reflectată de o suprafață. Unitatea de măsură a luminanței este candela pe metrul pătrat (cd/m2) sau unitățile de bază.
Reflectanța este raportul adimensional al cantității de lumină ce cade pe o suprafață și al celei care o părăsește:
Reflectanța ridicată poate crea străluciri, care reduce dramatic performanțele vizuale [2].
Performanțele dispozitivelor de afișaj
Rezoluția este o măsură a celui mai mic obiect care poate fi analizat pe un ecran și este exprimată ca linii de afișare pe milimetru sau centimetru. Deși claritatea și inversul acesteia neclaritatea sunt în mod normal definite de reacția subiectivă a utilizatorului de afișare, claritatea a fost măsurată în mod oficial ca raportul dintre zona neclară a literelor și lățimea liniei acestora [3]. Lizibilitatea este legată de calitatea literei sau de posibilitatea de citire și depinde de claritatea literelor. Contrastul sau raportul de contrast reprezintă măsura diferenței de luminanță dintre un obiect și fundalul acestuia. În timp ce în literatură există definiții diferite, contrastul luminanței adoptat de Comisia Internațională de Iluminare (CIE) este dat ca:
Dispozitivele de afișaj care au luminozitate mai redusă necesită un contrast mai mare pentru a obține aceeași vizibilitate a obiectelor. Contrastul sau raportul de luminanță între două suprafețe din câmpul vizual central (de exemplu, un dispozitiv de afișaj și biroul pe care se sprijină) ar trebui să fie de aproximativ 3:1, în timp ce raportul dintre câmpul central și suprafețele mai îndepărtate (de ex. o cameră) poate fi până la 10:1. Raporturile mai mari decât acestea pot produce străluciri. Cele mai simple metode de îmbunătățire a contrastului constau în utilizarea de dispozitive de afișaj cu capișon de umbrire sau dispozitive de afișaj care pot fi înclinate față de lumina supărătoare. Filtrele care îmbunătățesc contrastul pot fi însă mai eficiente.
Toate filtrele implică reducerea cantității de lumină ambiantă reflectată înapoi către utilizator, lăsând lumina emisă din conținutul dispozitivului de afișajul cât mai nemodificată posibil. Mulți parametri de afișare sunt specificați în termeni de pixel sau element de imagine. Pixelul este cel mai mic element care poate fi citit într-un dispozitiv de afișaj electronic sau cel mai mic element de informație văzut de utilizator care poate fi citit. Rata de reîmprospătare este frecvența cu care pixelii de afișare sunt reiluminați. Vitezele de reîmprospătare sub 50 până la 80 Hz pot determina pâlpâiri perceptibile. Rata de actualizare este frecvența cu care se schimbă conținutul informațional al dispozitivului de afișaj. Linearitatea este abaterea unei linii drepte de la forma sa exactă, exprimată în procente din lungimea totală a liniei. Deformarea modelului este abaterea oricărui element al unui model (de exemplu, o rețea) din locația sa exactă, exprimată în dimensiuni ale întregului model. Deși cu acești parametri nu sunt asociate limite specifice, interpretarea datelor de măsurare poate fi afectată în mod evident, dacă nelinearitățile sunt observabile pe ecran [4].
Următoarele secțiuni abordează diferite tehnologii de afișare în lumina principiilor discutate aici. In timp ce instrucțiunile de afișare sunt disponibile pentru absolut orice parametru, este important să vă amintiți că percepția vizuală este un proces integrativ. Dispozitivele de afișaj, fiind interfețe psihoelectrovizuale complexe, au numeroase trăsături, în ceea ce privește dimensiunile, caracteristicile și proprietățile. Examinarea acestor proprietăți pentru diferitele tipuri de dispozitive de afișare este o sarcină care necesită un timp lung.
În concluzie, caracteristicile principale importante ale unui dispozitiv de afișaj electronic sunt: raport de contrast, strălucire (luminanță), viteză, rezoluție (puncte/inci), profunzime și gamă de culoare, lipsa de artefacte.
Alte caracteristici importante și, de fapt, neajunsuri din aceste zone care pot împiedica utilizarea anumitor tipuri de dispozitive de afișare în anumite aplicații sunt: costul de fabricație, preț, durata de viață, consumul de energie, gama de temperaturi de funcționare, vizibilitatea în lumină solară, greutate, volum.
Lista poate fi extinsă și mai mult pentru a explica zonele care ar putea să nu fie evidente pentru un observator inițial: cerințe de tensiune, eficiență, gama de temperaturi de depozitare, emisii electromagnetice, sensibilitatea electromagnetică, conținut de materiale toxice [5].
Dispozitive de afișare cu cristale lichide (LCD)
Fig.1.1 Modul LCD
LCD-urile sunt, de departe, cea mai importantă tehnologie de panou plat din punct de vedere comercial, deoarece sunt utilizate în computerele portabile. În 1998, au fost vândute în jur de 11 milioane de notebook-uri. Aproape toate (peste 99%) din aceste notebook-uri au avut un LCD în ele. După cum sugerează și numele lor, LCD-urile prezintă unele proprietăți ale unui lichid și unele asociate cu un cristal. Acestea curg ca niște lichide și prezintă o mare parte din dependența lichidului de temperatură, stres, câmpuri electrice și mediu chimic [6].
Ecranele LCD pot fi împărțite în următoarele tipuri:
LCD-uri nematic răsucite (TN-LCDs), o formă de LCD cu matrice pasivă
LCD-uri nematic superrăsucite (STN-LCDs), alt tip de LCD cu matrice pasivă
LCD-uri tranzistor subțiri pe peliculă (TFT-LCDs), denumite și LCD-uri cu matrice activă
LCD-urile active de abordare (AA-LCDs), un hibrid de tehnologii cu matrice pasive și matrice active
Avantaje:
Consum de energie foarte redus, tensiune de lucru joasă (5-20 volți), dispozitiv de afișare foarte subțire (aproximativ 5 cm fără lumina de fundal), cost mai redus (TNs), raport de contrast ridicat (STNs), capacitate de afișaj full-color, viteză mare de scriere, pot fi citite în lumină solară, disponibile din numeroase surse comerciale.
Dezavantaje:
Unghiul de vedere este ingust (TN-uri și STN-uri), contrast limitat (TN-uri), viteză de scriere redusă (STN-uri), dificil de fabricat panouri aproape fără defecte (în special TFT-uri), investiții de capital ridicate în echipamente (în special TFT-uri), transmisibilitatea scăzută a filtrelor de culoare necesită lumină de fundal puternică, este necesar un set polarizator costisitor, circuitele integrate pentru controlere și drivere sunt scumpe.
Dispozitive de afișaj cu emisii de câmp (FED)
Această tehnologie este în esență un tub cu fascicul catodic (CRT) plat cu o mie de catozi (emițători) per pixel, eliminând astfel distanța lungă de aruncare a fasciculului de electroni de scanare unic al CRT. Se acumulează cele mai multe dintre avantajele tubului catodic, fără ineficiența puterii sistemului de deflexie, și masca de umbrire.
Avantaje:
Unghi de vedere complet (160 grade) pe orizontală și pe verticală, mișcare video completă fără artefacte sau pierdere de contrast (timp de răspuns 20 microsecunde), temperaturi de funcționare -45°C până la +85°C, conectare instant la orice temperatură de funcționare, eficiență energetică ridicată, costuri la sau sub AMLCD, este posibilă o luminozitate foarte ridicată.
Dezavantaje:
Tehnologie nouă, care nu este încă probată, driverele de la 20 la 85 de volți sunt mai mari, cu impact asupra miniaturizării, durata de viață (10.000 ore) sub nivelul câtorva dintre tehnologiile competitive.
Fig.1.2 Tub cu fascicul catodic și afișaj cu emisii de câmp
Diode emițătoare de lumină (LED)
Aplicațiile de dispozitive de afișare sunt clasificate fie ca având conținut redus de informații (în cazul în care se afișează o cantitate limitată de informații, frecvențele de actualizare sunt lente, iar natura informațiilor afișate este previzibilă), fie ca având conținut de informație ridicat (unde se aplică condițiile opuse). În general vorbind, LED-urile, EL-urile și VFD-urile sunt cele care se încadrează în cele dintâi, în timp ce plasma și toate tipurile de LCD-uri se încadrează în acestea din urmă.
Fig.1.3 Modul P10 pentru panouri publicitare
Panouri de afișare cu plasmă (PDP)
Această tehnologie de afișare cu panou plat (FPD) se bazează pe descărcarea luminoasă care apare atunci când gazul ionizat este supus recombinării. Electronii sunt îndepărtați din atomi pentru a produce ioni, mai târziu se recombină cu ionii pentru a elibera energia sub formă de lumină [8].
Avantaje:
Tehnologie stabilită, dovedit a fi robust și de încredere, circuit de comandă simplificat, construcția simplă se pretează la producția cu costuri reduse și cu volum mare, culoarea este realizabilă, durată lungă de viață.
Dezavantaje:
Cerințe de înaltă tensiune ale circuitelor de comandă (150-200 volți), în lumina puternică a soarelui imaginea e spălăcită, limitată la nivel de scală gri.
Fig.1.4 Modul PDP
Fig.1.5 Modul PDP
Dispozitive de afișare electroluminescente (EL)
Această tehnologie este foarte asemănătoare cu cea a LED-urilor. Totuși, EL-urile sunt dopate (ca un semiconductor) cu impurități specifice pentru a furniza stări de energie care se situează ușor sub cele ale electronilor mobili și celor care sunt ușor peste stările locuite de electroni legați de atomi. Stările de impurificare sunt folosite pentru a asigura stările inițiale și finale în tranzițiile emițătoare de lumină.
Avantaje:
Foarte subțire și compactă, viteză mare de scriere (rate video), o bună lizibilitate și luminozitate
unele abilități la scară gri, funcționare la joasă tensiune, nici un eșec catastrofal.
Dezavantaje:
Drivere de tensiune ridicată (170-200 volți), cost ridicat datorită dificultăților de producție la volume mari, consum mare de energie (eficiență scăzută), imagine spălăcită în lumină ambiantă puternică, culoarea progresează cu viteză redusă.
Fig.1.6 Gemini laser pentru țesut moale
Dispozitive de afișare cu fluorescență în vacuum (VFD)
O formă de dispozitiv de afișaj catodoluminiscent care poate funcționa la tensiuni mici, deoarece straturile foarte subțiri de fosforuri foarte eficiente sunt depuse direct pe fiecare anod transparent. Aceste dispozitive de afișaj sunt limitate la o matrice de puncte de fosfor situate la distanțe mari și sunt concepute pentru a fi utilizate în aplicații cu conținut scăzut de informații.
Avantaje:
Tensiune mai mică decât alte dispozitive de afișaj emisive, cost redus pentru afișajele cu conținut scăzut de informații, multiplex capabile să realizeze afișe mari, vizibil în lumina soarelui.
Dezavantaje:
Cost ridicat pentru dimensiunile mari ale ecranului, costuri ridicate pentru afișaje cu conținut ridicat de informații, varianta cu culoarea completă nu este încă disponibilă în dimensiuni potrivite pentru televizoarele de acasă sau pentru monitoarele de computer.
Fig. 1.7 Modul Nixie
Diode organice cu emisie de lumină (OLED)
Relativ mai recente în ceea ce privește originea față de celelalte tehnologii cu ecran plat,
OLED-urile utilizează compuși organici ca surse de emisii de lumină. Ele sunt destul de asemănătoare în ceea ce privește construcția cu ecranele EL anorganice, deoarece sunt pelicule groase și sunt mai puțin costisitoare de construit decât LCD-urile. În mod curent se crede că OLED-urile nu vor fi mai ieftine decât TFT-LCD-urile, dar vor face posibilă realizarea dispozitivelor de afișare de înaltă calitate pe substraturi din plastic și/sau flexibile [5].
Fig. 1.8
Fig. 1.9
Următoarele tipuri de dispozitive de afișare care nu sunt dispozitive de afișare de ecran plat care concurează cu FPD-urile pe piața generală de afișare sunt:
Tuburi cu fascicul catodic (CRT)
Tuburile cu raze catodice sunt bine stabilite și formează baza pentru majoritatea dispozitivelor de afișare utilizate în prezent. Acceptarea lor largă pe piață se bazează pe durata lor de viață pe piață și pe costul redus. Cu toate acestea, CRT-urile sunt înlocuite într-o gamă largă de piețe, deoarece necesită un spațiu fizic mare în care să funcționeze și cantități de energie relativ mari. Persoanele care utilizează CRT-urile ca monitoare pe computer trec de multe ori la utilizarea dispozitivelor de afișare cu ecran plat care au mai puține pâlpâiri "flicker" și dau radiații electromagnetice mai puțin dăunătoare, în ciuda costurilor mai mari ale ecranelor plate [7].
Fig.1.10 Osciloscop cu tub catodic
Dispozitive de afișare cu proiecție
Există multe tipuri de dispozitive de afișare cu proiecție. O modalitate de a le clasifica este după sursa imaginii. Multe dispozitive de afișare cu proiecție de pe piață utilizează CRT-uri foarte luminoase și mici ca sursă de imagini. Alții folosesc LCD-uri sau procesoare de lumină digitală (DLP) ca surse de imagini. Dispozitivele de afișare cu proiecție pot proiecta imaginea înainte pe un perete sau pe un ecran plat care este la distanță de mai mulți metri sau mai mult față de proiector (poartă numele "proiecție din față") sau pot proiecta imaginea pe un ecran relativ apropiat de proiector (denumit "proiecție din spate"). Proiecția din față este folosită în principal în afaceri și educație pentru prezentarea materialelor informatice și video. Proiecția din spate este folosită în special în casele la televizoarele cu ecran mare.
Viitorul tehnologiilor de afișare
În secțiunile anterioare am analizat unele dintre tendințele actuale în stadiul actual al tehnicii. În următoarea secțiune, analizăm tendințele în dezvoltarea viitoare a tehnologiilor de afișare. Așa cum vom vedea, va continua dezvoltarea unităților mai subțiri care vor oferi mai mult o corespondență pentru HVS, cu noi evoluții în domeniul materialelor și al tehnologiilor de afișare. Deseori, adoptarea acestora va fi determinată de disponibilitatea unor noi tipuri de conținut, dar, puțin mai departe, vom vedea și unele abordări complet diferite ale naturii procesului de afișare. O tendință esențială în dezvoltarea dispozitivelor de afișare este că, în general, ne îndreptăm spre dezvoltarea culturii bazate pe multimedia și că însuși conținutul evoluează. Suntem martorii unei convergențe a televiziunii, a computerelor și a dezvoltărilor în bandă largă, care deschid calea pentru introducerea conținutului de înaltă definiție (HD video și HDTV) accesat prin Web, prin satelit, prin cablu. Aceste evoluții vor duce la conștientizarea oamenilor cu privire la tehnologia de afișare pe care o folosesc. În special, trecerea la HDTV conduce la dezvoltarea unor tehnologii de afișare cu ecran plat de mari dimensiuni pe acele piețe (SUA, Japonia), unde acest format devine larg răspândit. Aceasta înseamnă că rezoluția de 1920 x 1080 va deveni standardul de bază pentru dispozitivele de afișare. Același lucru se va aplica viitoarei introduceri a conținutului educațional care devine disponibil, de exemplu prin jocuri și modele virtuale 3-D ale expozițiilor și clădirilor muzeale, care vor constitui o conștientizare a ceea ce aceste noi tehnologii sunt capabile să conducă așteptări cu privire la ceea ce poate fi livrat. În acest context, este demn de remarcat faptul că software-ul și conținutul durează mult mai mult decât hardware-ul de afișare [1].
Ecrane flexibile și hârtie electronică
O serie de evoluții ale tehnologiei indică o tendință spre suprafețe reflectoare, flexibile (bazate pe OLED și LED-uri Polimer), care pot fi laminate, cum ar fi hârtia. Există o cercetare considerabilă și interesul industriei, iar concurența este feroce (Lemon, 2004). Se preconizează multe tipuri diferite de aplicații, cum ar fi dispozitivele de afișare integrate în telefoanele mobile sau sistemele de navigație portabile bazate pe GPS care oferă ecrane de informare mai mari pentru a fi efectuate în mișcare și poate exista, de asemenea, o piață considerabilă de carduri inteligente și bilete de avion. Furnizarea de suprafețe mari de afișare, care sunt, de asemenea, extrem de portabile, va avea, de asemenea, beneficii pentru persoanele cu deficiențe de vedere. Așa-numitul "tapet activ" pentru acoperirea unei încăperi întregi este, de asemenea, prevăzut și se desfășoară lucrări de realizare a unor dispozitive de afișare care se pot purta, încorporate în îmbrăcăminte.
Fig. 1.11 Hârtie electronică flexibila LG
Pe termen lung există un interes și mai mare pentru dezvoltarea hârtiei electronice electroforetice sau a "hârtiei electronice". Această tehnologie de afișare își propune să realizeze un nivel extrem de ridicat de lizibilitate și flexibilitate a hârtiei obișnuite, dezvoltând afișaje care sunt foarte portabile, ușoare și flexibile. E-hârtia constă dintr-o foaie de plastic formată din mii de bule mici, fiecare conținând "cerneală" care este activată la aplicarea unei încărcări electrice. Fiecare bulă acționează ca un singur pixel pe afișajul "hârtie", fiind fie neagră fie albă, în funcție de încărcarea aplicată. În mod ideal, aceste sisteme ar trebui să fie bistabile (efectul vizibil fiind acela că, odată ce particulele de cerneală se află în poziția necesară, vor rămâne acolo chiar și după ce încărcarea este îndepărtată), solicitând un consum redus de energie și permițând imaginii să fie "fixată" ca o imagine de hârtie. Mai multe detalii despre e-cerneală pot fi găsite într-un raport anterior al JSC TechWatch privind hârtia electronică.
Dispozitive de afișare 3D Volumetric
Afișajele volumetrice au o abordare complet diferită, făcând o imagine 3D într-un spațiu fizic mai degrabă decât pe un ecran plat static. În aceste sisteme, o imagine este construită dintr-o serie de pixeli volumetrici sau "voxeli" care sunt distribuite într-un volum sau spațiu 3D închis. Voxelurile au trei coordonate, x, y, și adâncimea, z și apar la adâncimi fizice diferite în acest spațiu, permițând ochiului să se convertească și să se concentreze așa cum ar face în viziunea 3D reală a lumii. Din nou, aceasta este o tehnică care nu necesită purtarea de ochelari sau ochelari speciali. Există două tehnici principale: volumul măturat și starea multiplanară sau solidă. Afișajele dispozitivelor de afișaj în volum folosesc un proiector DLP de înaltă definiție sau o serie de lasere colorate pentru a proiecta imagini pe un ecran rotativ. Ecranul se rotește la viteză mare, astfel încât, într-o cameră întunecată, ochiul nu poate percepe ecranul, ci este "înșelat" să vadă o imagine 3D. De exemplu, sistemul Perspecta de la Actuality (www.actuality-systems.com) folosește tehnologia de proiecție DLP pentru a genera imagini cu 100 de milioane de voxeli în interiorul unei cupole emisferice de 20 inch (a se vedea figurile 7 și 8). Deoarece suprafața de afișare este o cupolă, imaginea poate fi văzută pe toate laturile, oferind un unghi de vizibilitate de 360 grade. O problemă de cercetare actuală cu astfel de tehnologii volumetrice este cum să interacționezi cu imaginea. Cercetătorii de la Universitatea din Toronto au pus la punct un sistem care permite interacțiunea gestuală directă cu obiectele virtuale conținute într-un afișaj volumetric prin monitorizarea mișcărilor mâinilor în jurul și pe domul afișajului folosind tehnologia cu cameră. Atragerea și interacțiunea cu informațiile vizuale prin intermediul dispozitivelor de afișare reprezintă o parte integrantă a vieții noastre de zi cu zi de lucru și educaționale.
Tehnologia care se află în spatele acesteia are o lungă istorie de eforturi de a se corela cu capacitatea sistemului vizual uman. Toate aceste evoluții vor avea implicații asupra educației, a unei zone a societății în care accesul facil la informații și abilitatea de a atrage privitorul cu mijloace de informare vizuală este profund importantă. Ecranele devin din ce în ce mai plane, apar într-o gamă tot mai mare de medii, iar gadgeturile tehnice oferă noi formate de conținut. Curând, ecranul poate dispărea cu totul. Ritmul acestei schimbări poate crește doar în următorii ani, iar natura schimbătoare a afișării informațiilor va avea implicații pentru educație ca și pentru orice alt domeniu al societății [5].
Fig.1.14 Afișaj volumetric 3D Voxon
Proiectarea hardware a sistemului
Schemă bloc și funcționarea
Sistemul are la bază un microcontroller folosit ca bloc de comandă iar structura bloc este prezentată in fig 2.1
fig 2.1 Schemă bloc a sistemului
Blocul de alimentare: furnizează o tensiune stabilizată necesară funcționării intregului sistem.
Bloc achizitie temperatură: folosește un sensor de temperatură de tip integrat LM35 pentru a măsura temperatura. Senzorul LM35 este calibrat in scara Celsius, prezintă o precizie bună ( + / – 0.5C temperatură ambiantă ) și acoperă un interval mare de valori ( -40, +110C ). Semnalele analogice preluate de la senzorul de temperatură sunt aplicate pe o intrare analogică a microcontrollerului unde e convertită prin intermediul convertorului analogic numeric incorporat. Acest semnal e prelucrat de catre microcontroller prin intermediul programului inscris in memoria sa.
Unitate programare: este un programator cu interfața ISP ( “in-system programming” ) avănd posbilitatea de a programa microcontrollerul util in blocul de comandă fara a-l demonta din circuit. Programatorul se conectează la blocul de comandă și la portul USB al Pc-ului. Odată conectat transferă fișierul hexazecimal (programul scris de utilizator) in memoria program a microcontrollerului. Indată ce este efectuată realizarea software, programatorul se deconectează de la blocul de comandă.
Bloc de comandă : execută instrucțiunile din memorie, datele prelucrate fiind transmise pe cale serială catre panoul de leduri ce are rol de afișa semnalele sub forma grafică. Are la bază un microcontroller de tip Atmel AVR 8-bit.
Panoul de afișare
Acest panou de afișaj modular cu LED poate fi utilizat pentru realizarea oricărui fel de panouri de afișare de exterior cu LED, aranjând modulele pe orizontală și pe verticală. Un panou are o rezoluție de 32×16 pixeli ceea ce reprezintă un total de 512 LED-uri. Are o carcasă din material plastic de bună calitate, ceea ce îl face disponibil pentru utilizări în exterior. Modulul are un circuit complet de comandă încorporat și are o interfață simplă necesitând doar șapte linii de conexiune cu panoul regulator. Poate fi legat ușor prin interfață cu MCU (Unități de comandă cu microprograme) de cost redus, cum sunt AVR (Sisteme de Comandă Automate Atmega8, Atmega16 etc.)
Principiul de funcționare:
Comanda unui număr mare de LED-uri cu un număr limitat de linii de control utilizează două principii sau tehnici:
Conversie serial către paralel
Persistența de vedere
Pentru a converti datele de semnal de conversie care vin de la MCU sunt folosire în module de deplasare. Aceste module 75HC595 reprezintă un circuit integrat ce conține un registru de deplasare cu ajutorul căruia putem transforma informația transferată prin interfață serială în informație pe interfață paralelă. Acest IC este un 8 bite serial, în paralel la ieșirea IC. Există patru linii principale pentru interfață: ceas de deplasare, ceas de stocare, data. Pentru a deplasa 8 biți de date, primul bit de date (adică bitul 0) este pus pe linia DATA. De exemplu, dacă acest bit este 0 atunci linia DATA este trasă LOW sau dacă acest bit este 1 atunci linia de date este trasă HIGH (+ 5V). Odată ce datele valide sunt introduse pe linia DATA, ceasul de schimbare este ridicat și apoi scăzut. Aceasta transferă bitul pe linia de date la IC de la MCU. În același fel toți cei 8 biți sun transferați către IC.
Fig. 2.2 Modul P10 pentru panouri publicitare
Fig. 2.3 Modul P10 pentru panouri publicitare
Fig. 2.4 Conectarea multipla a modulelor P10
În panoul de afișaj, 16 asemenea registre de deplasare sunt suprapuse. Astfel trebuie să fie transferate 8×16=128 biți pentru a comanda 128 LED-uri.
S-ar putea să vă întrebați dacă există 512 de LED-uri pe bord, dar trimitem doar date pentru 128 de LED-uri, cum va funcționa? Aici vine tehnica de persistență a vederii care este folosită în toate afișajele electronice (chiar televizoare)
În acest dispozitiv de afișare vedem doar ¼ din imaginea totală într-un cadru, celălalt cadru arată numai ¼ din imagine. În acest fel 4 cadre sunt necesare pentru a arăta o imagine completă. Aceste subcadre sunt comutate atât de repede încât ochii umani văd imaginea completă.
După cum puteți vedea în imaginea de mai jos, 16 linii ale dispozitivului de afișaj sunt împărțite în patru grupe. Astfel prima linie este grupa 1 apoi după 3 alte linii linia a 5-a este față în față cu grupa 1. Astfel 512/4 = 128 LED-uri. Astfel în fiecare grup există 128 LED-uri, de aceea trebuie să transferăm 128 biți pentru a comanda cele 128 LEDuri.
Există două linii numit A și B pe conectorul panoului. Nivelul logic al acestor pini decide care grup este selected. Numai LED-urile de pe linia selectată luminează în funcție de grupa de 128 de biți de date primite de la MCU.
Astfel dacă selectați grupul 1 prin setarea A=0 și B=0 au fost selectate următoarele linii: 1, 5, 8, 13. Astfel datele care vor fi trimise folosind interfața serială, vor fi reprezentate pe aceste LED-uri. Apoi trebujie să schimbați rapid la grupul 2 și să transferați datele pentru aceste linii
În același fel se transferă datele aparținând grupelor 3 și 4. Aceasta face să apară întreaga imagine pe cadru. Însă această comutare trebuie să fie atât de rapidă încât ochiul uman să n-o observe. În mod normal o frecvență de comutare de 400 Hz este cea mai bună. În acest fel este posibil să apară 100 cadre complete pe secundă.
Configurația PIN-ilor
EN = intrare
GND = (neutru) împământare
Shift Clock = Ceas de deplasare
Store Clock = Ceas de Stocare
DATA = DATE
Fig.2.5 Configuratia pinilor modului P10
Proiectarea blocului de comandă
Schema acestul bloc este prezentată in fig. 2.3.1
Alături de chip-ul ATMEGA 8 pot fi observate 6 conectoare utilizate pentru senzorul de temperatură, modulul de leduri, un cristal cu cuarț, sursa de tensiune în comutație, un set de rezistori, condensatori etc.
Tensiunea de alimentare a microcontrollerului este de 5v. Aceasta tensiune se aplică pinilor de alimentare ai microcontrolerului în felul următor: +5v pe pinul 7 (VCC) și 0v pe pinul 8 (GND). În schema prezentată alimentarea este realizată prin intermediul unei surse de tensiune in comutație. Dioda electroluminiscentă (LED) are rolul de a indica prezenta tensiunii pe placa de dezvoltare. Cristalul de cuarț este obțional atâta timp cât nu se utilizează un circuit de ceas extern.
Fig. 2.6 Schemă electrică placa de dezvoltare
Schema electrică are la baza un microcontroller care este un sistem de calcul intr-un singur cip care integrează procesorul, circuite suport, memoria și dispozitivele de intrare-iesire.
Micronctrollerele oferă posibilitatea realizării unor sisteme de comandă și control cu un număr foarte mic de componente, lucru care conduce la prețuri de cost mici și fiabilitate ridicată. Un aspect deosebil de important este acela ca sistemele cu microcontroller permit cu aceași structura hardware realizarea unei game large de aplicații fiecare cu software-ul corespunzător.
Elementul de baza din structura unui microntroller (sau microprocesor) este procesorul.
Microcontrollerul AVR Atmel este format dintr-un procesor RISC (set redus de instrucțiuni, "reduced intruction set computers") cu o arhitectura Harvad. Arhitectura de baza AVR a fost conceputa de doi studenti de la Norvegian institute of technology. Ele au fost introduce pe piata in 1996, fiind printre primele controllere care foloseau memoria Flash pentru program in locul memorilor OTPROM sau ERROM, folosite de competitie.
Principalul avantaj al arhitecturii Harvard este acela ca permite un grad mare de paralelism in executia instructiunilor, prin suprapunerea fazei de executie a instructiunii curente cu faza de aducere a instructiunii urmatoare (fig.2.3.2).
Acest fapt conduce la realizarea unor procesoare teoretic mai rapide.
Fig.2.7 Arhitectura Harvard
D-date, C-comenzi, I-intrucțiuni, AD- adrese memorie de date, AP- adrese memorie program
Fig.2.8 Execuția paralelă a instrucțiunilor
In, In+1 – instructiuni; Tn, Tn+1- cicluri-instructiuni
Un alt avantaj al arhitecturii Harvad, derivat din paralelism in executia instructiunilor este acela ca durata de executie a majoritatii instructiunilor este aceasi. Aceasta caracteristica prezinta interes in special in realizarea sistemelor in timp real.
Porturile unui microcontroler sunt cele mai folosite dispozitive de schimb de date cu exteriorul. Avantajul este că ele sunt paralele, putându-se astfel realiza schimbul mai multor biți de date simultan. Lungimea unui port este influențată de numărul de biți pe care procesorul îi poate executa la un moment dat. În cazul nostru, microcontrolerul ATMega8 este pe 8 biți deci și dimensiunea regiștrilor va fi tot de 8 biți. De obicei unui port sunt asociați 2 regiștrii, unul care setează direcția pinilor iar altul care realizează schimbul de date între unitatea centrală a microcontrolerului și exterior.
Microcontrolerului ATMega8 are asociat unui port 3 regiștri, DDR care setează direcția pinilor, PORT care setează datele de ieșire ale portului la nivel de pin și PIN care memorează intrările microcontrolerului la nivel de pin. Numărul porturilor este tot 3 și sunt numite B,C și D. Dacă ne uităm pe schema generală (fig. 2.3.4) avem următoarea configurație:
Pinii PB0-PB7 corespund portului B, PC0-P6 portului C iar PD0-PD7 portului D.
VCC-Alimentarea cu tensiune, GND-Masa
Fig.2.9 Configuratie pini Atmega8
Port B (PB7..PB0)XTAL1/XTAL2/TOSC1/TOSC2
Portul B este un port de iesire bidirectional pe 8 biti cu rezistoare interne, selectate pentru fiecare bit. Depinzand de setarile selectiei de ceas, PB6 poate fi folosit ca intrare pentru amplificatorul oscilatorului sau circuitului operational intern de ceas. PB7 poate fi folosit ca iesire pentru amplificatorul oscilatorului
Port C(PC5…PC0)
Portul C este un bidirectional I/O pe 7 biti cu rezistoare interne selectate pentru fiecare bit. Iesirea portului C are caracteristici simetrice. Pini portului C sunt “tri-stated” cand o conditie de resetare devine activa, chiar daca ceasul nu functioneaza.
PC6/RESET
Daca FUSE RSTDISBL este programat, PC6 este folosit ca pin de I/O. Caracteristicile electrice ale portului PC6 difera de cele ale altor pini ai portului C.
Daca continutul RSTDISBL-ului este neprogaramat, PC6 este folosit ca o resetare a iesiriilor. Un nivel scazut pe acest pin pentru mai mult de o lungime minima de puls va genera o resetare, chiar daca ceasul nu este functionabil. Pulsurile mai mici nu garanteaza o resetare.
Port D ( PD7..PD0 )
Portul D este un port de I/O bidirectional pe 8 biti cu rezistoare interne selectate pentru fiecare bit.
RESET
Un nivel scazut pe acest pin pentru mai mult de o lungime minima de puls va genera o resetare, chiar daca ceasul nu este functionabil. Pulsurile mai mici nu garanteaza o resetare.
AVCC
Este un pin pentru alimentarea de la sursa a convertorului A/D, a Port-ului C ( 3..0 ) și ADC ( 7..6 ). Ar trebui sa fie conectat extern la VCC chiar dac ADC nu este folosit. Daca ADC este folosit ar trebui sa fie conectat la VCC printr-un filtru trece jos.
AREF
Este un pin analogic de referinta pentru convertorul A/D.
In cazul in care dorim sistemul poate fi folosit pe post de termometru digital prin intermediul adaugarii unei placute cu un senzor de temperatura pe baza schemei in fig. 2.3.2
Fig.2.10 Schemă electrică senzor de temperatură
In cadrul sistemul s-a folosit un senzor de temperatura analogic LM35 care este un senzor de temperatura full-range, adica poate masura temperaturi de la -55°C pana la 150°C. Valoarea tensiunii de la iesirea senzorului este proportionala cu temperatura si variaza liniar, astfel: 10mV/°C. Astfel valorile de tensiuni de la iesirea senzorului pot varia de la -550mV pana la 1500mV. Senzorul s-a alimentat la 5V si s-a folosit si o rezistenta suplimentara de 4k7ohm legata la iesirea senzorului la un capat. Caracteristicile senzorului LM35, sunt următoarele:
Calibrare direct în grade Celsius (°C); Precizie garantată de 0,5 °C la +25°C; Gama de măsurare de la 55 °C la +150°C; Tensiune de alimentare de la 4V la 30 V; Curentul consumat 60 μA; Auto-încălzire în timpul funcționării 0,08°C. Impedanță de ieșire scăzută, 0,1 Ohm pentru 1 sarcină mA. LM35 are astfel următoarele avantaje:
Fiind calibrat direct în grade Celsius utilizatorul nu mai este nevoit să folosească
constante pentru a obține o scalare convenabilă în grade Celsius;
Nu necesită calibrare externă pentru a furniza o precizie de ± 0.25°C la temperatură
de 25°C și de ±0.75°C pe tot domeniul de temperatură;
Este un circuit ușor de interfațat cu alte circuite de citire sau de control; Consumul de curent este foarte scăzut; Este potrivit pentru aplicațiile la distanță.
Pentru conectarea blocului de achizitie temperatură cu blocul de comandă vom folosi conectoare de tip fisă. Conectorii blocului de achizitie temperatură sunt conectati electric in grup de patru. Corespodenta dintre pini este descrisa in fig.
Fig.2.11 Corespodența dintre pini
Pentru a evita situația in care firele se pot desprinde la orice mica mișcare, ducând la funcționare greșită sau la defecțiuni, vom folosi un pistol de lipit cu baghete de silicon pentru a rigidiza montajul.
Blocul de comandă este componenta de baza al sistemului avand rolul de a comunica cu afisajul. Prin cablaj imprimat (PCB-Printed mounted board) se intelege circuitul electric in care conductoarele de legatura sunt realizate sub forma de benzi sau suprafete conductoare de metal pe un suport izolant.
Dupa numarul de straturi metalice (conductoare) depuse, cablajele imprimate se impart in: cablaje simplu placat, dublu placat si multistrat.
La realizareea cablajului imprimat folosim un material izolant (sticlotextolit, pertina etc.) care este placat cu cupru. Materialul de placare este cupru electrolitic de inalta puritate (99,5%) cu grosimea de: 17,5 µm, 35µm, 70 µm și 105 µm. In anumite situații, conductoarele de cupru se acoperă cu pelicule metalice de protecție din cositor, aur, paladiu etc.
Tehnologiile de realizare a cablajelor imprimate pot fi grupate in două categorii:
Tehnologii substractive (metode de corodare) prin care traseele conductoare rezultă dupa corodarea parțiala a foliei conductoare depuse deja pe suportul izolant.
Tehnologii aditive (metode de depunere) prin care traseele conductoare rezulta prin depunerea cuprului electrolitic pe suportul izolant: galvanic sau prin pulverizarea prin mască.
Metodele de corodare au la bază procedee chimice care constau in:
Realizarea desenului de cablaj
Realizarea filmului fotografic pentru partea placata (traseele de cupru)
Imprimarea imaginii de pe filmul fotografic pe folia de cupru (partea placată)
Tehnologia de realizarea ca cablajelor prin metoda corodarii consta in urmatoarele etape:
Realizarea originalului
Pentru transpunerea circuitului pe cablaj imprimat sunt necesare filme fotografice, numite masti, care se obtin dupa desenele orginale. Desenul original se poate realiza manual sau pe baza unui program de realizare a layoutului circuitului (de ex. Orcad, Eagle, Target 3001!). Aceasta etapa consta in alocarea pe cablaj a unui spatiu corespunzator fiecarei componente din schema electrica si interconectarea acestora prin trasee conductoare dispuse pe un nivel.
Am utilizat aplicatia Eagle PCB beneficiind de licenta profesionala gratuita oferita de Autodesk, pentru studentii din cadrul Universitatii Petrol-Gaze din Ploiesti.
Aplicatia Eagle are trei module principale denumita Control Panel, Schematic si Board.
In modul Control Panel se gasesc proiectele realizate, librariile de componente, reguli de proiectare etc. In modulul Schematic se deseneaza schema electrica (fig. 2.3.1) și se verifica de erori, iar in modulul Board se realizeaza layoutul circuitului (fig.2.3.3)
Realizarea filmului fotografic
Indiferent de metoda de fabricare ca cablajului (fotolitografica sau serigrafica) este necesara obtinerea filmului fotografic, negativul originalului cablajului imprimat.
Fig. 2.12 Layoutul circuitului placii de dezvoltare
Fig.2.13 Filmul fotografic pentru placa de dezvoltare
Transpunerea imaginii pe suportul placat
Aceasta operatiune are drept scop formarea pe suprafata placatului a zonelor opace care urmeaza sa formeze conductoarele imprimate dupa corodarea selectiva. Pentru imprimare se foloseste metoda fotografica si metoda serigrafica.
Imprimarea prin metoda fotografica consta in transpunerea imaginii de pe film pe cablaj cu ajutorul fotorezistului care a fost depus uniform pe acesta. Fotorezistul este o solutie de alcool polivnitic sensibilizat cu bicromat de potasiu care se depune prin centrifugare. Dupa expunerea la o sursa de ultraviolet prin cliseul negativ al cablajului si developare intr-o solutie specifica, stratul fotosensibil expus se dizolva ramanand in final desenul original transpus pe placat.
Imprimarea prin metoda serigrafica foloseste pentru realizarea maștii pe cablajul imprimat o pasta specială numită cerneală serigrafică. Cerneala serigrafică este greu sicativă fiind rezistentă la acțiunea de corodare a unor substante chimice. Depunerea pe suprafața placatului se face prin intermediul unui ecan numit sită serigrafică. Sita serigrafică este o tesatura din material sintetic (fibră poliamidice sau poliesterice) cu ochiuri foarte mici (100-200 fire/cm).
Imprimarea prin metoda offset consta in transpunerea desenului pe cablaj printr-un procedeu asemanator cu cel folosit de tiparire. Se foloseste un cliseu offset (zincografic) format dintr-o placa metalica pe care este executat in relief imaginea cablajului.
Fig.2.14 Transpunerea imaginii pe suportul placat
Fig.2.15 Placa de dezvoltare dupa operațiunea de corodare
Corodarea
Se face pentru indepartarea cuprului din zonele de fotorezist sau cerneală serigrafică. Pentru corodare se foloseste clorura ferică sau clorură cuprica.
Fig.2.16 Plantarea componentelor pe placa de dezvoltare
Viteza de corodare depinde de concentratia solutiei și de temperatura băii. Pentru neutralizarea urmelor de clorura ferica, cablajul corodat este trecut printr-o serie de bai bazice si apoi spalat in apa rece curgatoare. Indepartarea cernelii de protectie se face in tricloretilena sau in bai alcaline.
Echiparea cablajului imprimat
Se disting doua moduri de echipare a placilor imprimate: plantarea componentelor electronice in gaurile prevazute pe cablaj si asezarea componentelor electronice pe contactele de lipire.
Ehiparea consta in: plasarea componentelor in pozitie asemanatoare in gaurile cablajului in cadrul tehnologiiei THT- trough Hole Tehnology. Echiparea s-a realizat manual respectand schema electrica.
Pe cablajul imprimat componentele au fost plasate foarte aproape de suprafata placii deaoarece se fixeaza in terminale si vibratiile sau socurile mecanice se transmit terminalelor.
Pentru echiparea manuala plasarea componentelor s-a realizat dupa ce acestea au fost pregatite prin aducerea terminalelor in forma cea mai avantajoasa pentru echipare si contactare.
Contactarea componentelor implantabile pe cablajul imprimat s-a realizat prin lipire pe partea placata parte care a format si fata de lipire.
Dupa echiparea cablajului imprimat realizam montajul fizic final.
Fig.2.17 Montajul fizic al sistemul de afisare
Programarea sistemului de afisaj
Principii generale
Microcontrolerele AVR execută cod din memoria Flash internă (numită și memorie program). Codul se asamblează sau compilează pe PC, rezultând în final un fișier .hex ce conține o imagine a memoriei program. Această imagine trebuie scrisă în memoria microcontrolerului (operație denumită "programare") printr-una din următoarele metode:
La fabrică, după ce codul a ajuns la o versiune stabilă, se trimite la producător, care va vinde controlerele gata programate. Numai pentru producție de serie mare.
Programarea cipului în modul paralel – necesită multe fire, se efectuează cu un programator specializat prevăzut cu o serie de socluri (pentru toate tipurile de microcontrolere – unele au 8 pini, 20, 28, altele tot 40 dar cu semnalele dispuse altfel). Cipul se introduce în soclul corespunzător, se programează rulând comenzile specifice pe PC, apoi se scoate și se pune pe placa unde va funcționa. Este o metodă dezavantajoasă pentru dezvoltare, implicând extracția și inserția repetată a cipului, o activitate ce necesită atenție și îndemânare și care va duce în final la ruperea pinilor.
Programarea în circuit / în sistem. Se realizează fără ca cipul să trebuiască scos de pe placă. În mod normal pinii controlerului ce fac parte dintr-un port sunt sub controlul direct al programului sau al dispozitivelor periferice integrate (controlate tot de program).
În reset (pinul /RESET tras la nivel logic 0) 3 dintre pini (SCK, MOSI, MISO – serial clock, master out slave in, master in slave out, sau PDO și PDI – program data out, in) au funcție de programare serială. Protocolul fizic folosit este SPI (serial peripheral interface), un protocol serial sincron (cu ceas) folosit și în funcționarea normală pentru a "vorbi" cu diverse circuite integrate. Protocolul logic este definit în datasheet/manual.
Softul de pe PC (PonyProg, uisp, avrdude etc.) se ocupă de toate detaliile protocolului, putând efectua operații de scriere și citire asupra memoriei program a microcontrolerului.
Fig.3.1 Organigramă binară a programului care afișează temperatura
#include <string.h>
#include <avr/io.h> //Includerea in program a unor biblioteci
#include <util/delay.h>
#include <avr/interrupt.h>
#include "types.h" //Includerea in program a unor biblioteci
#include "font.h" //Includerea in program a unor biblioteci spre exemplu font.h
#include "fonts/ArialB16.h"
/***************************************
Configurarea Conexiunilor
****************************************/
#define HC595_PORT PORTD //Face asocierea intre două elemente spre exemplu
la portul D al microprocesorului i se asociază variabila
HC595_PORT
#define HC595_DDR DDRD
#define HC595_DS_POS PD3 //Locatia pinului de date (DS)
#define HC595_SH_CP_POS PD4 //Shift Clock (SH_CP) locație pin
#define HC595_ST_CP_POS PD5 //Store Clock (ST_CP) locație pin
#define P10_CH_PORT PORTD
#define P10_CH_DDR DDRD
#define P10_CH_A_POS PD6
#define P10_CH_B_POS PD7
#define P10_EN_PORT PORTB
#define P10_EN_DDR DDRB
#define P10_EN_POS PB0
#define GFX_SCREEN_WIDTH 32
#define GFX_SCREEN_HEIGHT 16
#define GFX_CHAR_SPACING 3
/***************************************
Configurarea Conexiunilor***SFĂRȘIT***
****************************************/
uint8_t p10_vram[64];
INT8 GFXWriteStringXY(INT8 x,INT8 y,const char *string,UINT8 color);
INT8 GFXGetCharWidth(char c);
uint8_t CharIndexOfPixel(const char *s, uint16_t pixel);
void ScrollMsg(const char *msg);
void P10SelCh(uint8_t ch);
void P10DispOff();
void P10DispOn();
//initializeaza variabila HC595
void HC595Init()
{
//Make the Data(DS), Shift clock (SH_CP), Store Clock (ST_CP) lines output
HC595_DDR|=((1<<HC595_SH_CP_POS)|(1<<HC595_ST_CP_POS)|(1<<HC595_DS_POS));
P10_CH_DDR|=((1<<P10_CH_A_POS)|(1<<P10_CH_B_POS));
P10_EN_DDR|=(1<<P10_EN_POS);
P10SelCh(3);
}
void P10SelCh(uint8_t ch)
{
P10_CH_PORT&=(~((1<<P10_CH_A_POS)|(1<<P10_CH_B_POS)));
switch(ch)
{
case 0:
break;
case 1:
P10_CH_PORT|=(1<<P10_CH_A_POS);
break;
case 2:
P10_CH_PORT|=(1<<P10_CH_B_POS);
break;
case 3:
P10_CH_PORT|=((1<<P10_CH_A_POS)|(1<<P10_CH_B_POS));
break;
}
}
void P10DispOff()
{
P10_EN_PORT&=~(1<<P10_EN_POS);
}
void P10DispOn()
{
P10_EN_PORT|=(1<<P10_EN_POS);
}
void P10PutPixel(int8_t x,int8_t y)
{
if(x<0 || x>=GFX_SCREEN_WIDTH || y<0 || y>=GFX_SCREEN_HEIGHT) return;
x=GFX_SCREEN_WIDTH-x-1;
uint8_t xx=x/8;
uint8_t d=p10_vram[xx*16+y];
uint8_t dd=x%8;
dd=7-dd;
d&=~(1<<dd);
p10_vram[xx*16+y]=d;
}
void P10Clear()
{
for(uint8_t i=0;i<64;i++)
p10_vram[i]=0xff;
}
//Low level macros to change data (DS)lines
#define HC595DataHigh() (HC595_PORT|=(1<<HC595_DS_POS))
#define HC595DataLow() (HC595_PORT&=(~(1<<HC595_DS_POS)))
//Sends a clock pulse on SH_CP line
void HC595Pulse()
{
//Pulse the Shift Clock
HC595_PORT|=(1<<HC595_SH_CP_POS);//HIGH
HC595_PORT&=(~(1<<HC595_SH_CP_POS));//LOW
}
//Sends a clock pulse on ST_CP line
void HC595Latch()
{
//Pulse the Store Clock
HC595_PORT|=(1<<HC595_ST_CP_POS);//HIGH
_delay_loop_1(1);
HC595_PORT&=(~(1<<HC595_ST_CP_POS));//LOW
_delay_loop_1(1);
}
/*
Main High level function to write a single byte to
Output shift register 74HC595.
Arguments:
single byte to write to the 74HC595 IC
Returns:
NONE
Description:
The byte is serially transfered to 74HC595
and then latched. The byte is then available on
output line Q0 to Q7 of the HC595 IC.
*/
void HC595Write(uint8_t data)
{
//Trimite 8 biți intrare serială
//Prima comandă catre cel mai semnificativ bit (MSB – Most Significant Bit)
for(uint8_t i=0;i<8;i++)
{
//Output the data on DS line according to the
//Valuarea cel mai semnificativ bit (MSB – Most Significant Bit)
if(data & 0b10000000)
{
//MSB is 1 so output high
HC595DataHigh();
}
else
{
//MSB is 0 so output high
HC595DataLow();
}
HC595Pulse(); //Pulse the Clock line
data=data<<1; //Now bring next bit at MSB position
}
//Cei 8 biți au fost transferati catre registrul de deplasare
//Move them to output latch at one
//HC595Latch();
}
void main()
{
HC595Init();
GFXSetFont(ArialB16);
P10Clear();
//Setup timer 0 to automatically refresh the display
// Prescaler = FCPU/64
TCCR0|=((1<<CS01)|(1<<CS00));
//Enable Overflow Interrupt Enable
TIMSK|=(1<<TOIE0);
//Initialize Counter
TCNT0=0;
//Enable Global Interrupt
sei();
while(1)
{
P10Clear();
ScrollMsg("UPG");
_delay_ms(1500);
}
}
ISR(TIMER0_OVF_vect)
{
static uint8_t ch=0;
for(uint8_t i=0;i<16;i++)
{
HC595Write(p10_vram[i*4+ch]);
}
P10DispOff();
HC595Latch();
P10SelCh(3-ch);
P10DispOn();
ch++;
if(ch==4)
ch=0;
}
int8_t GFXPutCharXY(int8_t x, int8_t y,char c,uint8_t color)
{
uint8_t width = 0;
uint8_t height = __GFXReadFontData(FONT_OFFSET_HEIGHT);
uint8_t bytes = (height+7)/8;
uint8_t firstChar = __GFXReadFontData(FONT_OFFSET_FIRSTCHAR);
uint8_t charCount = __GFXReadFontData(FONT_OFFSET_CHARCOUNT);
UINT16 index = 0;
if(c < firstChar || c >= (firstChar+charCount)) {
return -1;//Error
}
c-= firstChar;
// read width data, to get the index
for(uint8_t i=0; i<c; i++) {
index += __GFXReadFontData(FONT_OFFSET_WTABLE+i);
}
index =index*bytes+charCount+FONT_OFFSET_WTABLE;
width = __GFXReadFontData(FONT_OFFSET_WTABLE+c);
//Draw
int8_t _x,_y,fx,fy,b;
UINT16 address;
_y=y;
uint8_t shift_val;
shift_val=(bytes*8)-height;
bytes–;
for(b=0;b<bytes;b++)
{
uint8_t mask=0b00000001;
for(fy=0;fy<8;fy++)
{
if((_y+fy)>(GFX_SCREEN_HEIGHT-1))
break;
address=(index+b*width);
for(_x=x,fx=0;fx<width;fx++,_x++)
{
if(_x>(GFX_SCREEN_WIDTH-1)) break;
uint8_t data=__GFXReadFontData(address);
uint8_t bit= (data & mask);
if(bit)
P10PutPixel(_x,_y+fy);
//else
//GFXRawPutPixel(_x,_y+fy,color_invert);
address++;
}
mask=mask<<1;
}
_y+=8;
}
//Last Byte May require shifting so draw it separately
uint8_t mask=0b00000001<<shift_val;
for(fy=0;fy<(8-shift_val);fy++)
{
if((_y+fy)>(GFX_SCREEN_HEIGHT-1))
break;
address=(index+b*width);
for(_x=x,fx=0;fx<width;fx++,_x++)
{
if(_x>(GFX_SCREEN_WIDTH-1)) break;
uint8_t data=__GFXReadFontData(address);
uint8_t bit= (data & mask);
if(bit)
P10PutPixel(_x,_y+fy);
//else
//GFXRawPutPixel(_x,_y+fy,color_invert);
address++;
}
mask=mask<<1;
}
return 1;
}
INT8 GFXWriteStringXY(INT8 x,INT8 y,const char *string,UINT8 color)
{
INT8 w;
while(*string!='\0')
{
if(GFXPutCharXY(x,y,*string,color)==-1)
return -1;
w=GFXGetCharWidth(*string);
if(w==-1)
return -1;
x+=w;
x+=GFX_CHAR_SPACING; //Blank Line after each char
string++;
}
return 1;
}
INT8 GFXGetCharWidth(char c)
{
UINT8 firstChar = __GFXReadFontData(FONT_OFFSET_FIRSTCHAR);
UINT8 charCount = __GFXReadFontData(FONT_OFFSET_CHARCOUNT);
if(c < firstChar || c >= (firstChar+charCount)) {
return -1;//Eroare
}
c-= firstChar;
return __GFXReadFontData(FONT_OFFSET_WTABLE+c);
}
INT16 GFXGetStringWidth(const char *string)
{
INT16 w,r;
w=0;
while(*string!='\0')
{
r=GFXGetCharWidth(*string);
if(r==-1) return -1;
w+=r;
w+=GFX_CHAR_SPACING;//Extra Spacing Between Chars
string++;
}
return w;
}
INT16 GFXGetStringWidthN(const char *string,UINT8 n)
{
INT16 w,r;
INT8 i=0;
w=0;
while(*string!='\0')
{
r=GFXGetCharWidth(*string);
if(r==-1) return -1;
w+=r;
w+=GFX_CHAR_SPACING;//Extra Spacing Between Chars
string++;
if(i==n) break; else i++;
}
return w;
}
uint8_t CharIndexOfPixel(const char *s, uint16_t pixel)
{
uint8_t index=0;
while(1)
{
if(pixel<GFXGetStringWidthN(s,index))
return index;
else
index++;
}
}
void ScrollMsg(const char *msg)
{
uint16_t msg_pixel_len=GFXGetStringWidth(msg);
msg_pixel_len-=GFX_SCREEN_WIDTH;
//msg_pixel_len+=4;
for(uint16_t scroll=0; scroll<msg_pixel_len;scroll++)
{
uint8_t start_char=CharIndexOfPixel(msg,scroll);
char temp_string[18];
strncpy(temp_string,msg+start_char,17);
uint8_t first_char_width=GFXGetCharWidth(temp_string[0]);
first_char_width+=GFX_CHAR_SPACING;
for(uint8_t scroll2=0;scroll2<first_char_width;scroll2++)
{
P10Clear();
GFXWriteStringXY(-scroll2,0,temp_string,0);
if(scroll==0)
{
_delay_ms(3000);
}
else
{
_delay_ms(25);
}
scroll++;
}
}
}
Exemple de utilizare
Fig.3.2
Punerea in funcțiune și exploatare
Concluzii
Rezumat
Proiectarea și realizarea practică a unui sistem de afișare a mesajelor comerciale
Coordonator: Conf. Univ. dr. ing. Adrian Moise Absolvent: Mocanu Ciprian Claudiu
Conținutul proiectului de licență are ca scop înlocuirea sistemului de comandă pentru un panou de afișaj cu LED. Acest nou sistem conține un microcontroller de tip Atmel AVR 8-bit și un senzor de temperatură pentru măsurarea temperaturii exterioare.
In realizarea acestui proiect de diplomă au fost folosite noțiuni și cunoștințe din mai multe discipline cum ar fi: Tehnologii electronice, Circuite integrate analogice, Circuite integrate digitale, Dispozitive electronice, Circuite electronice fundamentale care reflectă elementele necesare realizării practice a temei de licentă.
In acest sens primul capitol abordează aspectele teoretice cu privire la tehnologia actuală a modulelor de afișare, informații privind clasificarea lor, avantajele și dezavantajele pe care le prezintă.
In capitolul al-II-lea se proiectează sistemul de comandă și se prezintă modalitatea de realizare hardware.
In ultimul capitol se abordează subiectul referitor programări panoului de afișare.
Summary
The practical realization of a commercial messaging system
Coordinating teacher: Conf. Univ. dr. ing. Adrian Moise Graduate: Mocanu Ciprian Claudiu
The content of the license project aims to replace the control panel for an LED display panel. This new system contains an 8-bit Atmel AVR microcontroller and a temperature sensor for measuring outdoor temperature.
In the realization of this diploma project, notions and knowledge have been used in several disciplines such as: Electronic technologies, Analog integrated circuits, Integrated digital circuits , Electronic devices , Basic electronic circuits, which reflects the elements necessary for the practical implementation of the license theme.
In this regard, the first chapter addresses the theoretical aspects regarding the current technology of display modules, information on their classification, the advantages and disadvantages they pose.
In the second chapter, the command system is designed and the hardware is presented.
In the last chapter, the topic related to the display panel programming is addressed.
Bibliografie
1. Advanced Display Technologies Paul Anderson, Nottingham Trent University
2. Electrical measurements, signal processing, and displays John G. Webster (Principles and applications in engineering) July 15, 2003 by CRC Press
3. E. Grandjean, Design of VDT workstations, in G. Salvendy, Ed., Handbook of Human Factors, NewYork: John Wiley & Sons, 1987
4. S. Sherr, Electronic Displays, 2nd ed. New York: John Wiley & Sons, 1993
5. State of Flat-Panel Display Technology and Future Trends DAVID E. MENTLEY Stanford Resources
6. The Global Flat Panel Display Industry A Study Funded by the Alfred P. Sloan Foundation, INDIANA UNIVERSITY BLOOMINGTON
7. L. E. Tannas, Jr., Ed., Flat Panel Displays and CRTs. New York: Van Nostrand, 1985
8. Y. Amano, A new hybrid ac–dc plasma display panel, J. Soc. Inf. Display, 1994
Moise, A., Automate Programabile, Editura Universității Petrol-Gaze Ploiești, 2005
Tehnologii electronice – Mihail Minescu și Viorel Avramescu,editura UPG 2003
24. Electronică aplicată generală – Cristian Bucur , editura UPG 2007
Anexe
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: In lucrare se prezintă înlocuirea sistemului de comandă pentru un panou de afișaj cu LED. [307490] (ID: 307490)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
