logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Bascom] - Zegarek 4-cyfrowy bez multipleksu, każdy segment na osobnym porcie

Juni[]r 18 Lis 2015 20:20 4092 48
  • #1 15163382
    Juni[]r
    Poziom 16  
    Nie odkryjemy tu ameryki... Na internecie znalazłem wiele zegarków już gotowych. Problem w tym iż ja potrzebuje zegar sterowany jak siedmiosegmentówka ale każdy segment to inny port. Bez multiplexu i BCD itp... Ktoś ma taki projekt gdzie lub widział ? Wiem że potrzeba mi 28 wolnych portów. 27 do segmentów i dwukropek pomiędzy cyframi.
  • Pomocny post
    #3 15188352
    Konto nie istnieje
    Konto nie istnieje  
  • #4 15191078
    Juni[]r
    Poziom 16  
    niveasoft Dziękuje za pomoc wydaje się że działa. Segmentami zegara będą paski led które mam na stanie w dużej ilości. Problem tylko taki że jest ich 30 w szeregu na pasku. Musiał bym je zasilić 90V. Pytanie moje takie czy zrobić jedno zasilanie i podawać je na paski czy każdemu paskowy robić zasilanie bez-transformatorowe. I jak je sterować z uC ? Optoizolacja i jakiś darlinkton ? Proszę o podpowiedzi
  • Pomocny post
    #5 15193991
    ZbeeGin
    Poziom 39  
    Juni[]r napisał:
    Pytanie moje takie czy zrobić jedno zasilanie i podawać je na paski czy każdemu paskowy robić zasilanie bez-transformatorowe.

    Skoro wyświetlasz statycznie to musisz zdać sobie sprawę z prądu jaki będzie pobierał wyświetlacz. Jeśli jeden pasek zabiera 20mA to policz sobie ile prądu będzie potrzebował cały wyświetlacz gdy będzie wyświetlał godzinę 23:58 (wtedy świeci się najwięcej segmentów jednocześnie). Przy pojedynczym pasku na segment jest to już 460mA.

    Jeśli chciałbyś segmenty zasilać z bezpośrednio z sieci 230V do polecam do tego HV9925. Aplikacja jest banalnie prosta i przez zwykły transoptor na nodze PWMD będziesz mógł ten układ włączać lub wyłączać. Wykorzystując modulację szerokości impulsów nawet regulować jasność.
    Wszystkie układy HV9925 możesz zasilać z tego samego źródła, zatem potrzebny będzie jeden bezpiecznik lub rezystor bezpiecznikowy, mostek prostowniczy i nieco większy (ok. 47uF/400V) kondensator filtrujący by uzyskać napięcie DC zasilające te sterowniki.

    Oczywiście stosując sterowniki LED po stronie sieci trzeba wziąć pod uwagę wszelkie środki bezpieczeństwa!

    I jeszcze jedno. Jeśli projektujesz ten układ dla siebie to kwestie zakłóceń EMC możesz potraktować nieco luźniej. Jeśli jednak ma to być projekt komercyjny to trzeba też wziąć pod uwagę, że HV9925 jest sterownikiem impulsowym więc większa ich ilość będzie już bardzo mocno zakłócać i trzeba będzie dodać odpowiednie filtry.
  • #6 15194884
    Juni[]r
    Poziom 16  
    Układ tylko dla mnie nie komercyjnie. Chce zrobić duży zegar na paskach ledowych na sylwestra. Co do układu HV9925 - jaki prąd obciążenia... chyba nie zasili 28 pasków.

    [Bascom] - Zegarek 4-cyfrowy bez multipleksu, każdy segment na osobnym porcie

    Rozumiem układ jako zasilacz bez-transformatorowy (mostek, Cin, D1) Ale z tego co mi wiadomo raczej takie zasilacze są wyregulowane kondensatorem na stały pobór prądu. Będzie różnica minimum 160mA a max 560mA. Chyba ze chodzi o osobne zasilanie każdego paska ?
  • #7 15195000
    ZbeeGin
    Poziom 39  
    Sam HV9925 może maksymalnie sterować obciążeniem do 50mA - prąd regulujesz rezystorem i jest to typowy układ przetwornicy do LED. Zatem bez problemu powinien obsłużyć po dwa równolegle połączone paski na segment - o ile sam pasek jest tak skonstruowany, że pobiera ok. 20mA.

    Idea stosowania układu HV9925 jest taka, że każdy segment ma posiadać swój własny układ HV i jego 7 elementów dodatkowych. Wtedy sterując nogą PWMD każdego z układów masz już gotowe bezpośrednie - choć przez optoizolator - sterowanie poszczególnymi segmentami.

    Jedyną częścią wspólną będzie ta część schematu dostarczająca wysokiego napięcia DC, czyli R1, D2-D5 i Cin.

    [Bascom] - Zegarek 4-cyfrowy bez multipleksu, każdy segment na osobnym porcie
  • #8 15195123
    Juni[]r
    Poziom 16  
    Rozumiem wszystko. Szkoda że potrzebował bym 14 takich układów. Zmierzyłem przetwornice która była z paskami LED. Na jej wyjściu jest 111V. Zastanawiam się czy użycie ściemniacza do ledów nie było by trafnym prostym i tanim rozwiązaniem. Wyjścia uC zmieniają się co minute więc sterowanie mógłbym zrobić na uC->ULN->Przekaźnik. Posiadam malusieńkie przekaźniki interfejsowe - cewka zużywa 170mA. Chyba żeby użyć traiaka do załączania ?

    [Bascom] - Zegarek 4-cyfrowy bez multipleksu, każdy segment na osobnym porcie [Bascom] - Zegarek 4-cyfrowy bez multipleksu, każdy segment na osobnym porcie
  • #11 15195166
    ZbeeGin
    Poziom 39  
    Zatem zrezygnuj z tych okropnych Finderów na rzecz triaka. Te przekaźniki są takie fatalne, że zwykle w partii 100szt kilka nie działa już na dzień dobry lub nie łączy po paru przełączeniach.
  • #13 15195408
    Konto nie istnieje
    Konto nie istnieje  
  • #15 15195829
    Konto nie istnieje
    Konto nie istnieje  
  • #17 15195873
    Konto nie istnieje
    Konto nie istnieje  
  • #18 15195935
    ZbeeGin
    Poziom 39  
    Tylko, że prąd potrzebny do sterowania lampami NIXIE jest o rząd wielkości mniejszy niż LED i świecą się tylko 4 cyfry, co daje maks. 10mA na całość. Dlatego można "pokombinować" z małymi przetwornicami podwyższającymi lub multiplifikatorami napięcia o niskiej wydajności. Wszystko można wtedy umieścić w jednym obwodzie ze wspólną masą i sterować takim prostym układem tranzystorowym.

    Tutaj zaś mamy do czynienia z układem, który powinien dostarczyć nie dość, że wysokie napięcie to jeszcze dość duży sumarycznie prąd. Dodatkowo, źródłem tego napięcia/prądu jest bliżej nieokreślony sterownik LED, o którym nic nie wiemy jak jest zbudowany w środku.
  • #19 15195969
    Konto nie istnieje
    Konto nie istnieje  
  • #20 15196021
    ZbeeGin
    Poziom 39  
    niveasoft napisał:
    Bez multipleksowania myślałem o zasileniu tego 90V na stałe z drugiej strony.

    Do czego byłaby używana przetwornica o której nic nie wiemy. W szczególności potencjale na masie.
  • #21 15196140
    Juni[]r
    Poziom 16  
    Mam przetwornice do pasków ledowych ale jak podpinam jeden pasek to się ledy grzeją bo dostają 3,9V a jak jest pasków więcej niż 4 to ona się grzeje. Więc nie mam jak jej użyć. Zależności od wyświetlania zmienia się prąd. Dlatego chce użyć stałego napięcia 90V by móc używać go dla 8 jak i 28 pasków.
  • #23 15235896
    BlueDraco
    Specjalista - Mikrokontrolery
    Użyj raczej tranzystorów NMOS zamiast ULN - nie będą się tak grzać.
  • #25 15244814
    Juni[]r
    Poziom 16  
    Niveasoft znalazłem wolny procek m162 i wgralem twój program tylko że wartości data zamienione na 170 , 85, 170 itd... By zmieniały się na przemiennie do testów. puszczone przez uln 2803 i zmienione ledy na 24V. Problemy m tym że wyświetla pierwszą cyfrę i stoi. Jak by zegar nie działał. I jeszcze jedno pytanie po co zmienna oldmin ?

    Edit
    Strona wykonawcza jest ok bo jak dałem incr porta to pięknie bitami liczył sobie listwy led.
  • #26 15244838
    Konto nie istnieje
    Konto nie istnieje  
  • #27 15244851
    Juni[]r
    Poziom 16  
    No rozpisałeś się bardzo konkretnie. Uzylem m162 bo moja 128 gdzieś zaginęła na poczcie. Mam nadzieję ją dziś odzyskać. Docelowo będzie to oczywiście m128. Czyli bez kwarcu zewnetrznego nie ma co liczyć na działanie procedury clock. Szkoda że nie do czytałem tego bo bym już go sobie zamówił. Zastanawiam się jeszcze ale to merytoryczne pytanie czy do odliczania czasu w sylwestra użyć właśnie zegara czy może timera odliczajacego sekundy ?
  • Pomocny post
    #28 15244872
    Konto nie istnieje
    Konto nie istnieje  
  • #29 15246297
    Konto nie istnieje
    Poziom 1  
  • #30 15252088
    Juni[]r
    Poziom 16  
    Mam pytanie rozumiem że dodam kwarc zegarkowy z kondensatorami do masy dla TOSC1 i TOSC2. Ale czy jako tego głównego mogę użyć wewnętrznego 8MHz ?

    i kolejne pytanie troszkę OT czekając na kwarc i kondensatory...

    Podpoiłem sobie już ledy fajnie mogę nimi sterować. Więc napisałem choć jeszcze nie skalibrowałem timer odliczający sekundy na listwy led.

    Wygląda to tak: Proszę się nie śmiać.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Problem taki ze nic się nie dzieje nawet jeden pasek nie zapalił sie. Widzicie gdzieś błąd ? A może Timer0 tez nie działa bez zewnętrznego kwarcu ? Bo tylko to mi się nasuwa. W symulatorze działa. Odlicza mi wartości zmiennych J-edności, D-zietne, S-etki, T-ysiące. Reszta zmiennych to tylko zmienne pomocnicze.
REKLAMA