Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

U vezi osvetljenja 7 segmentnog led displeja

[es] :: Elektronika :: Mikrokontroleri :: U vezi osvetljenja 7 segmentnog led displeja

Strane: 1 2

[ Pregleda: 6300 | Odgovora: 26 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

strš
ČAČAK

Član broj: 59295
Poruke: 324



+2 Profil

icon U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 17:58 - pre 140 meseci
Poštovanje.
Interesuje me na koji način se rešava da displej koji ima 4 sedmosegmentne cifre svetli istim intezitetom i kada je uključena jedna cifra ili sve cifre? Probao sam sa više različitih vrednosti otpornika i u vezi između displeja i PIC-a kao i između tranzistora i PIC-a. Uspevam da dobijem dobar intezitet kada je jedna cifra uključena ali kada uključim sve cifre smanji se intezitet svih cifara (bled displej). Probao sam i u programu da produžim vreme trajanja jedne cifre kao i da ubrzam ili smanjim osvežavanje istog ali nisam uspeo da dobijem uvek isti intezitet kada je jedna cifra i kada su sve cifre uključene. Takođe sam proverio napajanje koje je uredu i ne pada kada su uključene sve cifre. Pitam uopšteno šta se radi u ovakvim slučajevima jer program sam tek počeo da pišem a ovo mi je prva stavka tako da ako imate neke predloge, napišite a ja ću da ih sprovedem u delo i da vam napišem šta se dogodilo. Tražio sam na net-u odgovor ali izgleda da nisam uspeo da nađem što ne znači da ga nema.
Unapred se zahvaljujem.
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4543

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+530 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 18:06 - pre 140 meseci
Postavi šemu da vidimo kako su displeji povezani, ovako, ne "javlja" mi se zašto imaš promenu intenziteta.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 18:58 - pre 140 meseci
moras da stavis otpornik na svaki segment a ne na zajednicku anodu/katodu

dakle za 4 cifre ti treba 32 otpornika (ako imaju tacke ili 28 ako nemaju)

takodje ako ih multipleksiras trandze na zajednickoj anodi/katodi moraju da budu adekvatne i konfigurisane kako treba

[Ovu poruku je menjao bogdan.kecman dana 23.10.2012. u 20:28 GMT+1]
 
Odgovor na temu

strš
ČAČAK

Član broj: 59295
Poruke: 324



+2 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 19:28 - pre 140 meseci
Ovo je slika koju sam našao na net-u pošto sam svoju šemu pravio direktno za PCB plocicu tako da je nemam kao klasičnu šemu ali ova šema je isto ono što sam ja uradio. Nadam se da razumete šta sam rekao.
Prikačeni fajlovi
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4543

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+530 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 20:52 - pre 140 meseci
Nadam se da su ti emiteri tranzistora vezani za masu
Ako nisu, eto ti razloga lošeg rada.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

strš
ČAČAK

Član broj: 59295
Poruke: 324



+2 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 21:44 - pre 140 meseci
Jesu. Kad namestim otpornicima da displej sa svim ciframa sija dobro, onda imam problem da kad uključim samo jednu cifru on sija jako. Rekao bih da je šema uredu jer na net-u većinom ovakav je način povezivanja. Nisam rekao da mi tranzistori nisu iste oznake ali smatram da mi to ne može stvarati problem za celokupni displej već samo za pojedinačnu cifru.

[Ovu poruku je menjao strš dana 23.10.2012. u 22:58 GMT+1]
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 22:07 - pre 140 meseci
ajde slikaj pcb posto ako si vezao po ovoj semi nema sanse da imas razliku u intenzitetu izmedju 1 i 2 segmenta

jedini nacin da imas razliku je ako ti segmenti vuku preko 25mA pa da opteretis mikrokontroler da nemas dovoljno struje ukupno … ako su to neke velike cifrke onda moras jos 7 tranzistora, ali za obicne 5-10mA segmente nema sanse da ima problem ako si vezao po semi
 
Odgovor na temu

strš
ČAČAK

Član broj: 59295
Poruke: 324



+2 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 22:32 - pre 140 meseci
Šema je ista kao i na slici, definitivno. Samo ako možeš da mi razjasniš oko struje. 25mA po cifri ili po jednom segmentu ili po nožici MCU-a? Nosim se mišlju da sam preterao sa strujom i da mi problem stvara sam MCU iako sam vrednosti otpornika postavio kao što je na slici.
Unapred hvala.
 
Odgovor na temu

HeYoo

Član broj: 72595
Poruke: 491



+1017 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 22:38 - pre 140 meseci
Verovatnije je da je softverski problem sa multipleksiranjem, tj nacin na koji je realizovano.
Ako ne koristis tajmer vec ti ispis trci kroz petlju sa sve delay(), takvo ponasanje je ocekivano.
 
Odgovor na temu

strš
ČAČAK

Član broj: 59295
Poruke: 324



+2 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 22:55 - pre 140 meseci
Sugestija je na mestu. Program pišem u C-u, MCU je 16f886, kristal je 20MHz a displej sa zajedničkom katodom. Pošto to radim na poslu program ću napisati sutra jer je sad kasno za to ali ako sad imaš neku sugestiju na koji se to način radi, napiši da bih probao sutra i odmah da napišem šta se dogodilo. Moja ideja ( i realizacija) kojom se vodim je, da prvo pošaljem na port B informaciju koji broj ispisujem a odmah potom da uključim cifru koju hoću (katoda na nulu preko tranzistora), pa da sačekam 1ms i da isključim cifru pa onda tako sledeću cifru i tako redom. Ako je koncepcija pogrešna reci gde grešim. Unapred hvala.
 
Odgovor na temu

strš
ČAČAK

Član broj: 59295
Poruke: 324



+2 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja23.10.2012. u 23:03 - pre 140 meseci
Pošto si dopunio odgovor pre nego što sam završo sa mojim, interesuje me da li možeš da mi daš predlog na koji način se koristi tajmer u realizaciji prikazivanja displeja jer sam relativno nov u ovome. Ako imaš neki sajt gde mogu da te primere vidim napiši mi jer ti je lakše tako nego da te smaram sa podpitanjima.
Pošto je kasno "čujemo" se sutra.
Pozdrav.

[Ovu poruku je menjao strš dana 24.10.2012. u 00:20 GMT+1]
 
Odgovor na temu

YuMERA
Srbija

Član broj: 54464
Poruke: 57
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja24.10.2012. u 00:41 - pre 140 meseci
Ako imas cetri cifre onda njihove vrednosti (c1,c2..c4) dodeljujes (izracunavas) u main programu a displej osvezavas (prikazujes te cifre) nekim vremenskim intervalom od 5ms tako sto ces TMR0 da setujes da se interrupt na prekoracenje TMR0 desi svaki 5 ms.

[Ovu poruku je menjao YuMERA dana 24.10.2012. u 01:53 GMT+1]
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.43.*

Sajt: mysql.rs


+2377 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja24.10.2012. u 01:07 - pre 140 meseci
HeYoo, odlican ubod :D .. meni nikad ne bi palo na pamet da vrti u while petlji ispisivanje ..

strs. jednostavan primer: http://www.mcuexamples.com/PIC-Seven-Segment-Displays.php

a imas i primer za hi-tech c na sajtu sa kog si skinuo onu semu:
http://extremeelectronics.co.i...-pic-microcontroller-tutorial/


 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja24.10.2012. u 09:12 - pre 140 meseci
Smanji otpornike R5 do R11 na 100 do 150 oma i smanji R1 do R4 na 1K. Imaš na mom sajtu PIC panel pa pogledaj primer tamo, jeste da je u BASIC-u i ASM-u, ali mislim da nije problem da se snadješ.

http://sinel.freehostia.com/picpanel/index.html

Pozdrav.
Sinisha

P.S. Sad videh da već imaš linkove ka primerima u C-u, tako da nema potreba da gledaš onaj moj PBP.
 
Odgovor na temu

strš
ČAČAK

Član broj: 59295
Poruke: 324



+2 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja24.10.2012. u 21:33 - pre 140 meseci
Zahvaljujem na odgovorima i pošto sam nov u ovome potrebno mi je malo više vremena da shvatim šta je napisano u drugom jeziku pošto i C još učim. Ideja je na mestu da prvo dodelim vrednosti ciframa u main programu a posle u petlji? da osvežavam uključenje istih.Pokušao sam sa smanjivanjem vrednosti otpornika ali i dalje je bila razlika u osvetljaju kad je jedna cifra i kad su dve ili četiri. Uspeo sam danas da svedem da ciframa intezitet bude isti, tako što osvežavanje cifara se razlikuje u zavisnosti koliko je istih uključeno (glupo ali deluje). Probaću sutra ideju koju ste mi dali. Možda se udaljavam od teme ali me interesuje postoji li i u čemu je razlika ako radim sa TMRO ili sa for petljom ( primer for(x=0;x<100;x++) ). U fazi sam učenja pa ne zamerite na (možda) glupom, početničkom pitanju jer još nisam savladao vremena već se igram sa osnovnim naredbama (while,for,if...).
Pozdrav.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.43.*

Sajt: mysql.rs


+2377 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja24.10.2012. u 23:34 - pre 140 meseci
kada radis sa interaptom svaka cifra svetli isto vremena
kada radis u for petlji zavisno kako napises petlju svasta mozes da uradis pogresno

Uradi jednostavan primer

bez ikakve petlje, kontrolisi samo jednu cifru i vidi da li svetli razlicito ako prikazuje 1 ili ako prikazuje 8, dakle bez multiplexiranja ... ako tu imas problem sa osvetljenjem ne valja ti kako si spojio komponente, ako nemas problem (razliku osvetljenja) onda ti je jasno da je problem zasto je nesto svetlije a nesto tamnije vreme koliko to nesto svetli ..

glup primer koji ispisuje 1234 na 4 7seg-a (dakle ovako NE TREBA raditi)

Code:

//...
#define POZICIJA LATA
#define CIFRA LATB
unsigned char n[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x98}; 
//...
for (int i=0;i<32000;i++){
  POZICIJA = 0b00000000; 
  CIFRA = n[4];
  POZICIJA = 0b00000001; 

  POZICIJA = 0b00000000; 
  CIFRA = n[3];
  POZICIJA = 0b00000010; 

  POZICIJA = 0b00000000; 
  CIFRA = n[2];
  POZICIJA = 0b00000100; 

  POZICIJA = 0b00000000; 
  CIFRA = n[1];
  POZICIJA = 0b00001000; 
}
//...


prva cifra (pozicija 0x08) ce biti svetlija od ostalih 3-4 puta!!!


 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja25.10.2012. u 11:51 - pre 140 meseci
@ bogdan.kecman
Vidiš Bogdane, i ja sam, kao i to, protumačio da njemu svetli različito kad mu je upaljeno 1 i 8. Medjutim, sad sam ponovo pročitao njegove poruke i shvatio da je problem da li svetli jedna cifra ili više (ne segment).

@ strš
Vidi, obzirom da napajaš LED direktno iz kontrolera, a max. struja koju može jedan pin da isporuči je 25 mA, što je malko više od potrebne za jednu LED (ti daješ i manje jer je ograničena rednim otpornikom), to je sasvim normalno, jer u multipleksu moraš LED da napajaš sa N X In, gde je N broj displeja u multipleksu, a In nominalna struja za jendu LED, što bi značilo da moraš da obezbediš oko 80 mA u svakom trenutku za svaku LED, a to tako neće moći. Jedino rešenje je da i LED napajaš preko posebnih tranzistora, kao što ti je rekao Bogdan u njegovoj drugoj poruci.
Jer kad uključuješ samo jednu cifru, sva struja svo vreme ide samo u taj displej, a čim počneš da deliš struju, normalno da će slabije da svetli jer se fiksna količina struje sada deli na više potrošača. Zato ti treba izvor koji može da obezbedi više struje.

Pozdrav.
Sinisha
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.43.*

Sajt: mysql.rs


+2377 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja25.10.2012. u 14:28 - pre 140 meseci
Citat:
rsinisa:  Medjutim, sad sam ponovo pročitao njegove poruke i shvatio da je problem da li svetli jedna cifra ili više (ne segment).


da i ja sam tek skontao kada je HeYoo hintovao problem sa brzinom multipleksiranja ... on u for petlji kada vrti samo jednu cifru ona dobija struju 100% vremena (nema multiplexiranja), kada vrti 2 dobijaju 50% vremena znaci duplo slabije svetle, kada vrti 4 one ce da svetle 4x slabije .. dodatno sa for petljom ima delay na kraju (ili pocetku zavisi od kompajlera) petlje zbog cega ce jedna cifra uvek da svetli jace...

zato lepo interapt, jednu po jednu cifru, moze da bira koliok brzo ce da trce i to je to :D

ja do duse kada radim 7seg turim lepo 595 i vozim ih tako, ne zato sto ne volem multiplexiranje nego zato sto cesto moram da slikam/snimim to sto radim a onda multiplexirane brojke izgledaju ocajno / netacno ... tako da sa 4x595 resim problem + ne smaram mcu sa osvezavanjem ekrana :D, da ne spominjem da onda mogu da menjam brightness ako zelim (preko enable pin-a koji okacim na pwm)
 
Odgovor na temu

strš
ČAČAK

Član broj: 59295
Poruke: 324



+2 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja25.10.2012. u 17:35 - pre 140 meseci
U pravu ste za struju koja je potrebna za displej jer nije ista struja za jedan i za četiri cifre a sve ide preko otpornika. Ovo je deo kako sam ja napisao prikazivanje displeja:
Code:

.
.
.
byte const cifra[18] = {0x6f,0x60,0xCB,0xE3,0xE4,0xA7,0xAF,0x62,0xEF,0xE7,0x0F,0x8F,0x88,0x0D,0xCE,0xE9,0xA8,0x00};

void prikaz()
{    
    OUTPUT_B(cifra[a]);
    output_bit( PIN_C4, 1);
    delay_us(500);
    output_bit( PIN_C4, 0);

    OUTPUT_B(cifra[b]);
    output_bit( PIN_C5, 1);
    delay_us(500);
    output_bit( PIN_C5, 0);

    OUTPUT_B(cifra[c]);
    output_bit( PIN_C6, 1);
    delay_us(500);
    output_bit( PIN_C6, 0);

    OUTPUT_B(cifra[d]);
    output_bit( PIN_C7, 1);
    delay_us(500);
    output_bit( PIN_C7, 0);    
}

Ovo je podprogram koji pozivam svaki put kad treba da ispišem nešto na displeju s'tim da moram da ga pozivam češće ako želim da displej svetli intezivnije. Znam da mi govorite da radim sa interaptom ali nisam se još oprobao sa tim jer mislim da mi je za sada komplikovano. Čitam, ali još uvek ne shvatam. Nedoumica mi je u tome što ako pozovem displej da prikaže rezultat i u tome mi po cifri treba 5ms smatram da mi je preveliko vreme jer dok to radi ne posmatra mi spoljne parametre (np. temperaturu, prekidač...) ili grešim. Interesuje me da li kad uključim interapt on u "sebi" broji a dok "broji" mogu u glavnom programu da mu zadam da nešto drugo radi a kad dođe do prekida (prekoračenje vremena) on prekida glavni program i uradi ono što sam mu zadao pa se vrati na glavni program. Šta je tačno prvo,drugo ili nijedno? Usputno pitanje je, kako da AD konverziju, posle isčitavanja napona, da dobijem decimalni zapis srazmeran pročitanom naponu (np. ulazni napon 1,54V a decimalni zapis bude 154). Posle toga znam da razložim 154 na pojedinačne cifre (1,5,4) i njih da prenesem na displej. Znam da širim temu ali šta ću kad se pitanja sama nameću a vi srećom imate (nemate?) strpljenja za mene. Unapred hvala.
 
Odgovor na temu

HeYoo

Član broj: 72595
Poruke: 491



+1017 Profil

icon Re: U vezi osvetljenja 7 segmentnog led displeja25.10.2012. u 17:48 - pre 140 meseci
Neki drugar imao slican problem pa sam se setio :) Covek imao neku kit igracku i hteo da nabudzi jos jednu cifru. Lepo on to namestio i sve radilo sem sto je displej sarao sa intenzitetom. Pogledali kod kad ono sve odradjeno u petlji sa delay naredbama i if ovo.. if ono. Izbrisemo dodatnu cifru sve radi lepo. Zamenimo mesta ciframa da bi skontali da nije neka slucajno falicna, sve radi. Pokusamo da sracunamo nove delay vrednosti kako bi radilo ok sa dodatom cifrom i posle par pokusaja skontali da je lakse prepisati porgram tako da koristi interapt za osvezavanje.

@strš
Dakle moguce je nabudziti osvezavanje displeja i bez tajmera ali je to neprakticno, traljavo i ne vodi nikud. Posle odredjene tacke postaje kompleksno racunati kasnjenja, a osim toga ne znas sta sve kompajler optimizuje i sta se desava unutar samog mcu. Za vreme dok nesto iole konkretnije od blinkanja na taj nacin zbudzis mozes izuciti kako isto to uraditi na ispravan nacin. Iako je na prvu loptu odbojno bahtati se sa konfigurisanjem tajmera, brzo se skonta koliko su u stvari korisni i realno za bilo kakvu ozbiljnijije bavljenje sa mcu neophodni. Za konkretne primere pretrazi net. Ima dosta materijala, a ako naidjes na "zid" siguran sam da ovde ima dosta ljudi koji bi rado pomogli i kojima su konkretno PIC kontroleri bliski.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: U vezi osvetljenja 7 segmentnog led displeja

Strane: 1 2

[ Pregleda: 6300 | Odgovora: 26 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.