Kontrola osvetljenosti LCD-a. Kontroliranje svjetline pozadinskog osvjetljenja Nextion ekrana u FLProgu

10.09.2021

Na iPhone X Apple kompanija pionir u upotrebi displeja zasnovanog na OLED tehnologiji. I ako su prednosti OLED ekrana očigledne, o njihovim nedostacima se retko piše. Jedan od ovih nedostataka je treperenje ekrana pri niskim nivoima osvetljenosti usled upotrebe modulacija širine impulsa za kontrolu sjaja LED dioda pri niskim nivoima svjetline. Na jeziku prosečnog korisnika, ekran treperi u mraku.

Proizvođači biraju učestalost treperenja ekrana na način da većina korisnika to ne primjećuje. Najčešće korištena frekvencija je 240 Hz. Čak i ako izuzmemo značajnu grupu ljudi koji primjećuju takvo treperenje, ostaju oni koji ga ne primjećuju, ali imaju pojačan umor, suzenje, upalu i crvenilo očiju, pa čak i migrene. Takvih ljudi nije tako malo: ovisno o studiji i korištenoj metodologiji, njihov broj se kreće od 20 do 30% svih korisnika.

U uređajima koji rade Android problem Treperenje OLED ekrana se često može rešiti instaliranjem aplikacije koja prikazuje filter za zatamnjivanje; možete čak i uštedjeti automatska kontrola svjetlinu, ako za to koristite aplikaciju Lux Dash (o tome kako je pravilno konfigurirati da isključi treperenje ekrana pisat ćemo u jednom od sljedećih članaka).

Kako se ispostavilo, iOS ima ugrađen mehanizam koji vam omogućava da postignete sličan efekat i potpuno se riješite treperenja ekrana u mraku. Pogledajmo korake potrebne za ovo, ali prvo ćemo odgovoriti na pitanje zašto OLED ekranima treba treperenje.

Zašto OLED-ovi trepere: PWM kontrola svjetline

Treperenje na OLED ekranima je direktan rezultat mehanizma koji se koristi za kontrolu svjetline takvih panela. Da biste promijenili svjetlinu ekrana (i konvencionalnog LCD-a na kojem su bazirane IPS matrice, i OLED-a), možete ili smanjiti napon koji se dovodi do pozadinskog osvjetljenja LED-a (ili pojedinačnih LED-ova u slučaju OLED-a), ili koristiti tzv. modulacija širine impulsa.

Modulacija širine impulsa kontrolira svjetlinu slike tako što uključuje i isključuje LED diode. Što je kraći period u kome je pozadinsko osvetljenje uključeno i što je duža pauza između uključivanja, to je manja osvetljenost koju percipira ljudsko oko. Ovako to izgleda:

Treperenje, a ne štetna plava komponenta boje ili prezasićene boje OLED-a, uzrokuje povećan umor i migrene. Treperenje izaziva najveće opterećenje za oči u mraku, kada je zjenica maksimalno proširena, a svijetli bljeskovi bukvalno bombardiraju mrežnicu.

OLED bez treperenja: mit ili stvarnost?

Da li je moguće prikupiti OLED ekran nema treperenja? Da, to je sasvim moguće, ali se u praksi rijetko koristi. Jedan od rijetkih primjera takvih ekrana je P-OLED matrica, koja je ugrađena u pametne telefone LG G Flex 2.

Bilo bi pogrešno vjerovati da je LG napravio matricu mnogo lošijom od svojih konkurenata. Samsungove matrice u to vrijeme imale su sličan kvalitet - s jednom bitnom razlikom. OLED paneli koje Samsung ugrađuje u sve svoje vodeće modele trepere na svim nivoima svjetline - čak i pri 100%. Zašto slika na matrici koja treperi izgleda mnogo čistije nego na OLED-u bez treperenja?

Učinak je povezan sa širenjem parametara između susjednih LED dioda. Scatter je prisutan na matricama svih proizvođača, ali se u većoj mjeri manifestira kada su LED diode isporučene niskog napona. Efekat je donekle sličan digitalnom šumu pri fotografisanju u mračnim uslovima sa kratkom brzinom zatvarača. Što manje fotona pogodi elemente matrice osjetljive na svjetlost - i što manje fotona emituje OLED dioda - vjerovatnije pojava greške, “digitalni šum u obrnutom smjeru”.

Samsung je riješio problem tako što ga je uvijek isporučivao na LED diode maksimalni napon i podešavanje svjetline korištenjem radnog ciklusa impulsa. Ali stalno treperenje ekrana nije po svačijem ukusu, a brojni proizvođači su se odlučili za hibridni pristup: do određene vrijednosti, svjetlina se prilagođava smanjenjem napona LED dioda; Nakon prelaska unaprijed određenog minimalnog nivoa (obično 15-50%), dalje smanjenje svjetline se postiže korištenjem PWM-a.

Ako govorimo konkretno o iPhoneu X, svjetlina u njemu se podešava na sljedeći način (prema iXBT):

Do nivoa od 50% nema treperenja; dalje smanjenje svjetline postiže se treperenjem na frekvenciji od 240 Hz. To su uvjerljivo pokazali njemački recenzenti sa stranice Notebookcheck.net:

Kako provjeriti treperenje ekrana

Treperi li ekran vašeg telefona? Čak i ako vaše oči ne primjećuju treperenje, njegovo prisustvo ili odsustvo možete lako provjeriti kod kuće bez posebne opreme. Sve što treba da uradite je da otvorite stranicu sa belom pozadinom na svom pametnom telefonu (na primer, about:blank u Safari ili Chrome pretraživaču), stavite telefon u mračnu prostoriju, smanjite osvetljenost na minimum i usmerite kameru drugog pametnog telefona na ekranu. Ako vidimo nešto slično onome što je prikazano u videu ispod, prisutno je treperenje ekrana:

Da biste odredili na kojem nivou svjetline ekran prestaje da treperi, otvorite kontrolni centar i glatko pomjerite klizač za svjetlinu. Nestanak dijagonalnih pruga znači odsustvo uključenog PWM-a ovom nivou osvetljenost

Eksperimentalno je utvrđeno da iPhone X ima minimalni nivo svjetline bez treperenja od 50%. Ali ako zadržite svjetlinu na ovom nivou, tada će u mračnim uvjetima uređaj biti neudoban za korištenje. Cilj je smanjiti efektivni nivo svjetline ekrana, ali izbjegavati treperenje.

Kako se ispostavilo, to je sasvim moguće. Da biste to učinili, postoji poseban način rada u iOS postavkama, koji se može pronaći u postavkama Pristupačnost > Display Accomodations.

U ovom režimu, ekran je zatamnjen softverskim filterom. Da biste omogućili ovaj način rada, morate otići na Display Accomodations i aktivirati klizač. Sada trebate kliknuti na natpis Display Accomodations i aktivirati klizač Reduce White Point (pogledajte snimak ekrana). Pokušajte započeti s vrijednošću između 85 i 100% i podesite na nivo koji je ugodan za vaše oči (osvjetljenje ekrana u kontrolnom centru treba biti na 50%).

Onemogućite PWM u tri klika

Dakle, uspjeli smo aktivirati softverski filter koji isključuje treperenje ekrana pri niskim nivoima svjetline. Međutim, korišćenje telefona sa uvek uključenim filterom je nezgodno: pri jakom svetlu ekran će uvek biti zatamnjen.

Na iPhoneu X uključivanje i isključivanje filtera se može obaviti pritiskom na bočno dugme tri puta, što je u prethodnim generacijama uređaja obavljalo funkcije uključivanja i isključivanja telefona. Da biste to učinili, morate pronaći opciju Prečica pristupačnosti u postavkama i dodijeliti joj da omogući ili onemogući funkciju Reduce White Point (pogledajte snimke ekrana).

To je sve. Nakon aktiviranja ove funkcije, dobili smo iPhone X, čije se treperenje ekrana može brzo uključiti i isključiti pritiskom na bočno dugme tri puta. Sada možete koristiti uređaj u mraku bez umora i možete brzo isključiti tamni filter pritiskom na bočno dugme tri puta.

Dodatne informacije

Za prikaz teksta i slika, proizvođači prenosive opreme, radnih stanica, laptop računara, mobilni telefoni i video igre koriste ekrane sa ravnim ekranom. Mehanički potenciometri se tradicionalno koriste za podešavanje kontrasta i svjetline ekrana. Međutim, danas se mijenjaju digitalnih uređaja menadžment. Za ilustraciju dijagrama sa digitalno upravljanje svjetline i kontrasta, koristit će se dva digitalna potenciometra Dallasstat DS1668/DS1669 familije, koji se u praksi mogu zamijeniti bilo kojim drugim digitalni potenciometar.

Modeli DS1668/DS1669 su odabrani zbog njihovog jednostavnog interfejsa sa dugmetom za kontrolu položaja klizača. Interfejs sa dugmetom je najpogodniji za podešavanje kontrasta ravnih LCD ekrana i u suštini je veoma blizak tradicionalnim mehaničkim potenciometrima. Ono što je najvažnije, DS1668/DS1669 imaju ugrađenu trajnu memorijsku jedinicu koja zadržava položaj srednjeg pina nakon što se sistem isključi. Zamjena mehaničke komponente digitalnom daje dodatne prednosti u oblasti kontrole, pouzdanosti i automatizacije finalnog proizvoda. Dodatno, DS1669 se može kontrolisati preko CPU. Ova fleksibilnost u primjeni nije dostupna kada se radi s mehaničkim varijabilnim otpornicima. Budući da je DS1669 integrisano monolitno rešenje bez pokretnih delova, njegova pouzdanost u poređenju sa tradicionalnim rešenjima je neosporna. U krugu za podešavanje kontrasta, potenciometar DS1669 može se nalaziti na ploči daleko od gumba odgovarajućeg dijela kontrolne ploče zaslona. DS1669 su dostupni u standardnim DIP-8 i SOIC-8 paketima za automatsku montažu ploče.

Displeji sa tečnim kristalima.

LCD ekrani se mogu podijeliti u dvije kategorije: alfanumerički i grafički moduli. Svaki od njih, ovisno o zahtjevima napajanja, ima ulaz upravljačkog napona, koji se u većini slučajeva može mijenjati radi podešavanja kontrasta. Kontrast ekrana se može promijeniti zbog promjena primijenjenog upravljačkog napona ili temperature okoline. Promene temperature obično imaju neželjeni efekat značajnog smanjenja kontrasta ekrana. Za podešavanje upravljačkog napona se koristi varijabilni otpornik u slučajevima kada povećanje napona može prevladati efekat temperaturnog pomaka. Ali najvažnija stvar je da potenciometar omogućava da zadovoljite sve želje korisnika u odnosu na svjetlinu i kontrast ekrana.

Alfanumerički LCD moduli.

Alfanumerički indikatori imaju male ukupne dimenzije i koriste se u prenosivi sistemi. Zahtjevi za napajanje za takve module svode se na jedno napajanje od 5V koje napaja i LCD zaslon i logički drajver. Dodatni napon je potreban za napajanje LCD kontrolnih funkcija (slika 1). Upravljački napon VO modula se uzima sa potenciometra VR. Tipična nominalna vrijednost takvih potenciometara kreće se od 10-20 kΩ. Modeli potenciometara serije DS1669 imaju iste ocjene.


Potenciometar DS1669 je pogodan za sve LCD module sa sličnim uvjetima napajanja. Slika 2 prikazuje konfiguraciju DS1669 koja ispunjava sve zahtjeve za napajanje i upravljački napon LCD modula prikazanih na dijagramu 65. Uređaj je ožičen kao jednostavno dugme za kontrolu kretanja srednjeg pina. Također možete koristiti topologiju dvostrukog gumba. U nastavku su opisane kontrole sa jednim i dva dugmeta. Pin klizača, RW, potenciometra DS1669 je direktno povezan sa pinom upravljačkog napona LCD modula, VO. Za strujni krug prikazan na sl. 1, nisu potrebne dodatne komponente za rad DS1669 sa LCD modulom.

Grafički LCD moduli.

Grafički moduli su značajno veće veličine od alfanumeričkih displeja i rade sa različitim naponima napajanja. Kao što je prikazano na slici 3, napajanje za takve module se sastoji od 5V napajanja za napajanje logike i VLCDC ulaza za napajanje modula. Kontrolni napon VO, koji kontroliše kontrast, uzima se iz kombinovanog logičkog izvora od 5V i napajanja VLCD modula preko potenciometra R. Kao što je slučaj sa alfanumeričkim displejima, nominalna vrednost potenciometra se kreće od 10 -20 kOhm. Napon na VO pinu se kreće od 0 do (VLCD+ 5V) V. Napon napajanja VLCD zavisi od tipa grafičkog prikaza koji se koristi.

Opseg VO napona onemogućava direktnu upotrebu DS1669, kao i drugih potenciometara proizvođača Dallas Semiconductor. Da bi se umanjile poteškoće s ograničenjem maksimalne struje motora i visokim naponom potrebnim za ovo kolo, koristi se digitalni potenciometar u kombinaciji s op-pojačalom (slika 4). Svrha operacioni pojačivač je da generiše kontrolni napon, VO, koji je van specifikacije kada se radi sa digitalnim potenciometrom. Osim toga, op-pojačalo ograničava količinu struje koja teče kroz motor i pruža puni raspon kontrolnog napona za LCD modul. Napajanje od 5V koje se koristi za napajanje logike modula također se koristi za napajanje potenciometra DS1669 (vidi sliku 4). Potenciometar djeluje kao atenuator za ulazni signal od 5V na neinvertirani izlaz op-pojačala. Izlaz op-pojačala kontrolira kontrastni napon LCD modula, VO, i izračunava se po formuli: gdje je N broj pozicija potenciometra. Nominalne vrijednosti otpornika R1 i R2 odabiru se prema formuli: Izbor otpornika R1 i R2 omogućava vam promjenu izlazni napon operativno pojačalo u zavisnosti od nominalnog napajanja LCD grafičkog modula (isporučuje se na VO pin). Srednji pin je direktno povezan sa neinvertujućim pinom op-amp kao što je prikazano na dijagramu. Također se preporučuje korištenje D1 Schottky diode (tip 1N5818 ili ekvivalentno) za dodatnu zaštitu od strujnih udara tokom uključivanja i isključivanja.

Princip rada DS1669.

Kao što je napomenuto, potenciometar DS1669 ima jednostavan UDC (Up/DownControl) interfejs dugmeta. DS1669 se može konfigurirati za kontrolu s jednim ili dva dugmeta. U ovom slučaju, digitalni ulaz D omogućava upravljanje potenciometrom pomoću mikrokontrolera ili procesora.

Šeme 5 i 6 prikazuju obje konfiguracije, redom. Zatvaranje kontakta se definiše kao prelaz od visokog ka niskom na visokom pinu (UC), niskom pinu (DC) ili digitalnom ulazu (D). Ovi ulazi su neaktivni kada su visoki.

Čip koristi širinu ulaznog impulsa kao sredstvo za kontrolu kretanja motora. Jedan ulazni impuls na UC, DC ili D ulazima mijenja položaj klizača za 1/64 konačnog otpora potenciometra. Idite na visoko ili nizak nivo na ovim ulazima aktivira uređaj i dovodi do zatvaranja kontakta. Jedan impuls okidača mora biti duži od 1 ms, ali ne duže od 1 s. Ovo je prikazano na sl. 7a.

Ponovljeni impulsi na ulazima potenciometra mogu se koristiti za brže pomeranje klizača (slika 7b). Zahtjevi za ulazne ponavljajuće impulse su sljedeći: moraju biti razdvojeni intervalom od najmanje 1 ms. Inače, DS1669 ih tretira kao jedan impuls. Pulsi duži od sekunde će uzrokovati da se klizač neprekidno pomera svakih 100 ms nakon prve sekunde. Ukupno vreme do dostizanja granične vrednosti potenciometra sa kontinuiranim impulsom može se izračunati po formuli: 1 (sek) + 63 x 100 ms = 7,3 (sek) Konfiguracija sa jednim dugmetom omogućava korisniku da kontroliše položaj klizač u oba smjera s jednim gumbom. Slika prikazuje tipičnu konfiguraciju takvog kola. UC ulaz se koristi za povećanje i smanjenje otpora motora, tj. implementira način rada s jednim dugmetom. DC ulaz nema operativnu funkciju u ovom načinu rada, ali pin mora biti spojen na pozitivno napajanje (VCC).

Digitalni pin (D) je u stanju mirovanja. Prilikom uključivanja uređaja potrebno je spojiti strujni krug kao što je prikazano na slici 5, tada će potenciometar omogućiti rad jednim dugmetom. DC ulaz mora biti povezan na izvor pozitivnog napona (VCC). Smjer kretanja srednjeg kontakta u konfiguraciji s jednim dugmetom određen je primarnim korakom. Promjena smjera kretanja motora vrši se kroz period neaktivnosti na UC ulazu sekundu ili više. Takođe, sa konfiguracijom sa jednim dugmetom, kada klizač dostigne svoju konačnu poziciju, njegov smer se menja. To će se dogoditi bez obzira na to da li je ulaz konstantan, kontinuirani ili pojedinačni impuls. Kada je potenciometar konfigurisan sa dva dugmeta, svaki smer klizača kontroliše UC up pin i DC down pin, respektivno. Ne postoji način pripravnosti za promjenu položaja klizača u načinu rada s dva gumba. Kada motor dostigne svoj krajnji položaj, smjer njegovog kretanja se ne mijenja. Položaj klizača će biti fiksiran na krajnjoj tački sve dok se ne aktivira kontakt za ulaz unatrag. Svi kontrolni kontakti tipke UC, DC i D su eksterno opterećeni otpornikom od 100 kOhm. UC i DC pinovi su interno zaštićeni od odbijanja kontakta i ne zahtijevaju vanjske komponente za generiranje signala.

Nepromenljiva memorija položaja motora.

Kada se napajanje isključi, DS1669 čip pamti posljednju poziciju klizača. Ovu funkciju pruža ugrađena EEPROM memorijska jedinica. U normalnom radu, položaj klizača određuje ulazni multiplekser. Povremeno, multiplekser ažurira EEPROM podatke memorijskih ćelija. Programeri su optimizirali redoslijed ažuriranja ćelija za veću pouzdanost, izdržljivost i efikasnost. Osim toga, operacija ažuriranja je potpuno otvorena za korisnika. Ako se postavke Dallasstata promijene nakon uključivanja, nova vrijednost se pohranjuje s odgodom do 2 sekunde. Nakon pohranjivanja početnih mjerenja, naknadne promjene u strukturi EEPROM memorije će se dogoditi samo ako se položaj klizača promijeni za više od 12,5% konačnog otpora potenciometra. Sve druge promjene nakon uključivanja manje od 12,5% se ne pohranjuju u EEPROM memorijske ćelije. Budući da Dallasstat ima 64-1 multiplekser, promjena od 12,5% odgovara promjeni četvrtog najmanje značajnog bita (LSB). Promjene ili pohranjivanja u EEPROM memoriju imaju kašnjenje od 2 sekunde kako bi se osiguralo ažuriranje podataka. EEPROM memorija ima 80.000 nominalnih ciklusa pisanja. Ako memorija dostigne svoj puni kapacitet, Dallastat će zadržati svoju funkcionalnost sve dok je napajanje uključeno. Međutim, ponovnim uključivanjem će se potenciometar vratiti na nivo otpora koji je posljednji pohranjen prije nego što se memorija istrošila.

Mikhail Kryukov
Moskva.

Korisnici Windows 7 operativnog sistema često nailaze na problem postavke svjetline ekrana. Da bismo riješili ovaj problem, sve ćemo rastaviti dostupne metode postavke svjetline ekrana u Windows 7. Podešavanje pozadinskog osvetljenja ekrana je prilično jednostavan proces, koji čak i početnik može podnijeti. Nakon što se upoznate sa materijalom, moći ćete sami podesite osvetljenost laptop ili desktop računar.

Podešavanje svjetline pomoću standardnih Windows 7 alata

Za podešavanje svjetline laptopa ili višenamenskog računara standardnim sredstvima sedam, prva stvar koju treba da uradite je da odete u Kontrolni paneli. Možete ići na kontrolnu tablu kroz meni " Počni"ili ukucajte program" Izvrši» kontrolna komanda

Nakon lansiranja Kontrolni paneli trebate otići u odjeljak "".

Sada možete povećati ili smanjiti pozadinsko osvjetljenje ekrana. Da biste to učinili, postavite klizač " Osvetljenost ekrana» na poziciju koja odgovara vašim željama pozadinskog osvjetljenja monitora.

Također možete otići na postavke plan napajanja i razotkriti osvetljenost, u kojem će laptop raditi na baterijsko ili mrežno napajanje.

Promjena postavki osvjetljenja ekrana pomoću drajvera video kartice

Još jedan zanimljiv način da promijenite osvjetljenje ekrana je da ga prilagodite pomoću drajveri za video karticu. Za naš primjer, razmotrit ćemo vozača iz kompanije Nvidia. Da biste otvorili postavke drajvera video kartice, potrebno je da kliknete desnim tasterom miša na prazan prostor na radnoj površini. Trebalo bi da se pojavi kontekstni meni.

U ovom meniju izaberite stavku “ Panel NVIDIA menadžment "(može biti drugačije za drugu video karticu), nakon čega će se otvoriti panel postavki drajvera video kartice.

Sada u ovom panelu morate ići na meni “ Video\Podesite postavke boje za video».

U meniju za podešavanje boje idite na „ 2. Kako izvršiti podešavanja boje" i postavite prekidač " WITH NVIDIA postavke " Odabirom ovih parametara, moći ćete podesiti četiri svojstva, uključujući svjetlinu ekrana. Da biste povećali ili smanjili svjetlinu ekrana, povucite klizač na plus ili minus i vidjet ćete kako se mijenja pozadinsko osvjetljenje ekrana.

Proizvođači video kartica također imaju takve programe koji reguliraju osvjetljenje ekrana pomoću drajvera video adaptera. Intel I AMD.

Takođe na Internetu možete pronaći mnoge programe koji podešavaju pozadinsko osvetljenje ekrana. Svi takvi programi rade pristupom drajveru video adaptera. Odnosno, u suštini, oni rade ono što možete učiniti u kontrolnom panelu video kartice (u našem slučaju Nvidia). Najzanimljiviji od svih ovakvih programa je F.lux. Njegova glavna karakteristika je automatsko podešavanje pozadinskog osvetljenja ekrana, što zavisi od doba dana.

Primjer podešavanja pozadinskog osvjetljenja laptopa pomoću tipke Fn

Na primjer, koristićemo Lenovo s110 netbook sa operativni sistem Windows 7.

Koristi modifikatorski taster Fn u kombinaciji sa tasterima kursora ← i → za podešavanje pozadinskog osvetljenja. Za povećanje pozadinskog osvetljenja Lenovo laptop s110, morate koristiti kombinaciju tipki Fn + → . Za smanjenje pozadinskog osvjetljenja potrebno je koristiti kombinaciju Fn + ←.

Kako podižete ili spuštate pozadinsko osvjetljenje, vidjet ćete kako se mijenja vrijednost grafičkog indikatora. Program je odgovoran za ovaj indikator Funkcije prečice.

Kao što vidite, povećajte ili smanjite postavke osvjetljenja ekrana laptopa pomoću " Fn“, jednostavno. Ovaj primjer možete koristiti na drugim prijenosnim računalima, jer su principi korištenja modifikatorskih tipki isti.

Posebno na laptopima SAMSUNG NP350 prečice na tastaturi:

  • za povećanje svjetline - Fn + F3;
  • za smanjenje - Fn + F2.

Ručno podešavanje pozadinskog osvjetljenja monitora

Za korisnike desktop računara, podešavanja osvetljenja ekrana mogu se podesiti na samom ekranu. Na primjer, koristit ćemo monitor LG Flatron W1943SS. Da biste podesili osvetljenje, potrebno je da odete u njegov meni. Da biste to uradili, pritisnite taster MENU na kontrolnoj tabli monitora.

Nakon toga pritisnite tipku AUTO/SET. Trebalo bi da se otvori prozor za podešavanje svjetline gdje ga možete promijeniti.

Također bih želio napomenuti da postavke monitora ne zavise od toga koji OS ili drajver je instaliran. Oni su regulisani isključivo u monitoru. Svaki monitor drugog proizvođača ima svoje parametre ručna podešavanja . Detalje podešavanja parametara osvjetljenja ekrana određenog monitora možete saznati u priručniku koji je priložen uz prodaju ili se može preuzeti sa elektronski oblik na web stranici proizvođača.

Hajde da sumiramo

Ovaj materijal pokazuje da čak i početnik PC korisnik može povećati i smanjiti svjetlinu zaslona u sustavu Windows 7. I nadamo se da će vam naš materijal pomoći da naučite kako promijeniti svjetlinu monitora vašeg računala.

Video na temu

Objašnjenja za dijagram

R2 je varijabilni otpornik nominalne vrijednosti 10K. Centralni terminal otpornika je povezan preko niskopropusnog filtera na nulti kanal ADC-a. Napon na otporniku se pretvara u digitalni kod, koji se upisuje u registar za poređenje tajmera T0. Tako se pomoću otpornika podešava radni ciklus PWM signala.

Led1 je moćna bijela LED dioda. Pad napona na njemu je oko 4 volta. Maksimalna LED struja je postavljena otpornikom R5 i iznosi 100 mA.

(Upit – Uled)/R5 = (5 - 4)/10 = 100 mA

IRLU024N – N-kanalni tranzistor sa efektom polja. Umjesto toga, možete koristiti bilo koje tranzistore sa efektom polja IRL serije (L - to znači da ih kontrolira logički nivo)

R3 je otpornik za ograničavanje struje za svaki slučaj. R4 – padajući otpornik. Kapija tranzistor sa efektom polja ne može se ostaviti da visi u vazduhu.

Program

//************************************************************
// Kurs obuke. Programiranje AVR mikrokontroleri u C
// Kontrolirajte opterećenje koristeći
// modulacija širine impulsa (PWM, PWM)

#include
#include

int glavni ( void)
{
//inicijalizirati portove
PORTB = 0;
DDRB = 0xff;

//inicijaliziranje tajmera T0
TIMSK = 0;
//dir. - brzi pwm, izlaz OC0 - neinvertovan. podmetač, clk/64
TCCR0 = (1<TCNT0 = 0;
OCR0 = 0;

//inicijalizirati ADC
//ion - napon napajanja, lijevo poravnanje, nulti kanal

ADMUX = (0<//on ADC, red. kontinuirano konvert., res. prekidi, frekvencija pretvarača = FCPU/128
ADCSRA = (1<//kontinuirani način konverzije
SFIOR = 0;

__enable_interrupt ();
dok (1);
povratak 0;
}

//********************************
//ADC prekid
#pragma vector=ADC_vect
__prekidvoid adc_my( void)
{

//čitanje visokog registra ADC-a i

//upisuje u registar za poređenje

Objašnjenja za kod

Operativna logika

Inicijalizacija periferije - tajmer T0, ADC modul. Omogući prekide. Beskrajna petlja. U ADC prekidu, očitani napon iz promjenjivog otpornika upisuje se u registar za poređenje OCR0. U AVR mikrokontroleru je bafer organizovan za ovaj registar i zapravo se prvo u njemu dešava upisivanje. Iz međuspremnika, vrijednost se prepisuje u OCR0 samo kada se registar brojača TCNT0 prelije. Paralelno sa while petljom i ADC modulom, tajmer T0 radi i generiše PWM signal na pinu OC0(PB2). Kada se registar brojanja TCNT0 prelije, OC0 se postavlja na 1, kada se vrijednost registra brojanja poklapa sa registrom za poređenje OCR0, izlaz se postavlja na 0.

Inicijalizacija tajmera

Prekidi tajmera se ne koriste, pa je TIMSK registar = 0.

Registar konfiguracije TCCR0 je odgovoran za postavljanje T0 tajmera.

Bitovi WGM01, WHM00 određuju način rada. 11 - Brzi PWM način rada.

Bitovi CS02, CS01, CS00 - postavljaju koeficijent predskalera tajmera. 011 - odgovara predskaleru 64. Frekvencija tajmera/brojala će biti Fcpu/64

Bitovi COM01, COM00 određuju ponašanje pina OC0. 10 - odgovara neinvertovanom PWM signalu. 1 - kada TCNT0 prelije, 0 - kada se TCNT0 poklapa sa OCR0.

Inicijalizacija ADC-a

Primjer br. 2. Generiranje sinusnog vala pomoću PWM-a

Objašnjenje dijagrama

Jednostavno sam zaboravio ukloniti otpornik R2 iz kruga. R3 i C8 integrator.

Program

//************************************************************

// Generiraj sinus koristeći

// modulacija širine impulsa (PWM, PWM)

//************************************************************

#include
#include
#include "TableSin.h"

int glavni ( void )
{
//inicijalizirati portove
PORTB = 0;
DDRB = 0xff;

//inicijaliziranje tajmera T0
TIMSK = (1<//dir. - brzi pwm, izlaz OC0 - neinvertovan. podmetač, predskaler - za 8
TCCR0 = (1<//resetirajte registar za brojanje i registar za usporedbu
TCNT0 = 0;
OCR0 = 0;

__enable_interrupt ();
dok (1);
povratak 0;
}

//**********************************************************

//Interrupt timer/counter T0

#pragma vector = TIMER0_COMP_vect

__prekidvoid Timer0CompVect( void)

Trenutno radim na Arduino projektu koji koristi TFT ekran. Nedavno sam mu htio dodati naizgled jednostavnu funkciju - funkciju kontrole svjetline. Pronašao sam potrebnu metodu u dokumentaciji za biblioteku za rad sa TFT ekranom (UTFT Library): setBrightness(br);

Šta nam treba?

  • Kao osnovu koristio sam Frearduino ADK v.2.2 baziran na ATmega2560 procesoru
  • TFT LCD Mega Shield v.2.2
  • Sam ekran je 7" TFT LCD SSD1963 ()
  • UTFT Library - univerzalna biblioteka za rad sa TFT ekranima (možete pronaći samu biblioteku, kao i dokumentaciju)
  • Lemilica

Hajde da se pozabavimo hardverom

Kada otvorite kolo prikaza, možete vidjeti da pretvarač mp3032 ima tri ulaza: LED-A, PWM, 5V. U početku je PWM neaktivan. Ovaj ulaz se uopće ne koristi. Pozadinsko osvetljenje kontroliše LED-A.


Ako pogledate poleđinu ekrana, naći ćete područje označeno kao "Kontrola pozadinskog svjetla". Ovdje ćemo naći upravo ove ulaze. Da biste upravljali pozadinskim osvjetljenjem pomoću PWM metode, morate biti sigurni da je sve obrnuto: LED-A je neaktivan, PWM je aktivan. Da biste to učinili, morat ćete ponovo zalemiti kratkospojnik. Evo fotografije kako bi to trebalo da izgleda:

Softverski dio

Pošto naša biblioteka ne može da obezbedi ono što nam je potrebno, potrebnu funkciju ćemo napisati sami. Da biste to učinili, otvorite dokumentaciju za kontroler koji upravlja ekranom (SSD1963). SSD1963 se kontrolira pomoću posebnih naredbi koje se prenose iz Arduina preko posebnih izlaza, koji su opisani u dokumentaciji:

Upravljanje se vrši na sljedeći način: Arduino izlazi preko RS (D/C u tabeli) 0 ako ćemo prenijeti komandu, 1 ako ćemo prenijeti podatke. Nakon prenošenja naredbe, RS prelazi na 1, a zatim se prenose potrebni parametri. Sve komande i parametri se prenose preko izlaza D0-D7. Ako imate ATmega2560, tada se svih osam ovih izlaza kombinuje u port C.

Dakle, prvo, napišimo funkciju za prijenos podataka preko magistrale. Radi lakšeg korišćenja, pisaću direktno u UTFT.h:

Void Lcd_Writ_Bus(uint8_t bla) ( digitalWrite(WR,LOW); //Konfigurirajte SSD1963 za čitanje digitalWrite(CS, LOW); PORTC = bla; //Prenesite podatke na sabirnicu u obliku jednog bajta digitalWrite(CS,HIGH) digitalWrite(WR,HIGH);

Također je vrijedno obratiti pažnju na nazive metoda, jer biblioteka možda već sadrži funkcije s istim imenima.
Dodajmo dvije funkcije izlaznim naredbama i podacima:

Void Lcd_Write_Com(uint8_t data) ( digitalWrite(RS,LOW); //Prebaci RS na način čitanja komandi, odnosno 0 Lcd_Writ_Bus(data); ) void Lcd_Write_Data(uint8_t data) ( digitalWrite(RS,HIGH); //Prebaci RS na način čitanja podataka, odnosno 1 Lcd_Writ_Bus(podaci)

Sada samo podešavanje pozadinskog osvetljenja. Da biste saznali kako sve to učiniti, otvorite dokumentaciju i potražite naredbu za konfiguraciju PWM-a.

Napomena:
PWM se može kontrolisati pomoću DBC - dinamičkog sistema kontrole svjetline, ali zbog jednostavnosti, nisam ga koristio. Ukoliko želite, potrebne informacije možete pronaći u istoj dokumentaciji.

Dakle, evo šta nam treba:

Odnosno, prvo moramo prenijeti naredbu “0xBE”, a zatim kao 3 parametra prenijeti frekvenciju signala, trajanje radnog ciklusa, kao i treći parametar koji određuje da li je DBC uključen ili ne (0x01 - onemogućen , 0x09 - omogućeno) .

Da biste podesili samu svjetlinu, trebate samo promijeniti frekvenciju radnog ciklusa. Pošto podatke prenosimo kao jedan bajt, vrednosti petlje mogu biti od 0 do 255. Odlučio sam da definišem 9 nivoa osvetljenosti (od 0 do 8). Stoga se svih 256 vrijednosti mora podijeliti u 9 koraka. Ali također vrijedi obratiti pažnju na činjenicu da ako su koraci jednaki, svjetlina se neće mijenjati tako glatko kako bismo željeli. Odnosno, već, na primjer, na 4. koraku, svjetlina će biti gotovo maksimalna, a od 4. do 8. koraka će se mijenjati gotovo neprimjetno. S obzirom na ovo, odlučio sam da koristim geometrijsku progresiju sa nazivnikom 2. To jest, svjetlina će se izračunati pomoću sljedeće formule: (2^lvl) - 1, gdje je lvl nivo svjetline od 0 do 8. Imajte na umu da pošto vrijednosti počinju od nule, onda morate oduzeti jedan. Naravno, možete sami odabrati korake i njihove vrijednosti, ali ja sam dao ovaj, sasvim jednostavan primjer. Sada sam kod:

Void setBright(byte lvl) (bajt svjetlina(1); for (byte i(1); i<= lvl; i++) //Возведение в степень brightness *= 2; Lcd_Write_Com(0xBE); //Вывод команды Lcd_Write_Data(0x01); //Ставим частоту 760Гц Lcd_Write_Data(brightness-1); //Выводим длину рабочего цикла Lcd_Write_Data(0x01); //Отключаем DBC }

Sada možete koristiti UTFT.setBright(byte lvl);