Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Elektroniczny zegarek LED z sekundami

VSS 29 Mar 2011 08:59 192414 597
  • #541
    folio
    Poziom 17  
    Dziękuję. To przynajmniej mam dobry programator i całość wokoło AT.
    Niedługo zrobię w/w test na PINach z podawaniem +5V.
    Natychmiast odpiszę.
  • Relpol przekaźniki
  • #542
    folio
    Poziom 17  
    Wyjąłem AT, odlutowałem od sterowania wyiścia na moduły zasilania. W/w wyjścia połączyłem ze sobą i dołączyłem do masy. W PINy AT od 12 do 19 podawałem +5V. Wszystkie panele CYFR jednakowo się zaświecały jak trzeba w kolejności zgodniej.
    Po wstawieniu AT i włączeniu zasilania znów zaświeciły się odwrócone 9 tki jak poprzednio. Przy teście na PINach cyfra wyświetlacza świeciła jak trzeba ale b.słabo? Moduł miał 12V.
  • Relpol przekaźniki
  • #543
    idepopizze
    Poziom 33  
    Tak chwilę się zastanowiłem nad tym zegarem i jednak zauważyłem oczywistą oczywistość. To że masz coś źle z ULN to pewne, znajdź więc swoją pomyłkę w montażu. Sądzę że pomyliłeś segmenty i to wszystko.
    Zajrzałem na stronę autora i po uruchomieniu zegar powinien wskazywać godzinę 18:00 - przynajmniej tak sądzę. Ponieważ zaleciłem Ci użycie ULN2803 więc tutaj jest to o czym jednak zapomniałem. Zegar nie będzie wskazywał 18:00 tylko będzie pokazywał odwrotność (bo ULN to jednak inverter w tym przypadku). Na pierwszym wyświetlaczu będziesz miał C na drugim nic a na dwóch ostatnich ma się świecić środkowy poziomy segment, coś takiego -> [ C -- ]. Jeżeli doprowadzisz wyświetlacz do takiego stanu to zegar już prawie jest na chodzie.
    Niestety ale konieczna będzie jednak zmiana w programie bo trzeba będzie odwrócić to wyświetlanie. Zmienić należy definicje wyświetlanych cyfr, a konkretnie to mam na myśli tą linie:

    char convert[10] = {0x3F,0x0c,0x76,0x5e,0x4d,0x5b,0x7b,0x0e,0x7f,0x5f};

    W załączniku znajdziesz:
    clock2.asm
    clock2.c
    CLOCK2.HEX
    clock2.lnk
    clock2.lst
    clock2.map
    clock2.mem
    clock2.rel
    clock2.rst
    clock2.sym
    Mapa LED.txt

    Program jest poprawiony i wystarczy wgrać hex'a. Jeżeli sam chcesz coś zmieniać to dobrze radzi sobie z tym źródłem MIDE-51 Studio IDE for MCS-51 i możesz ten program ściągnąć stąd:

    http://www.opcube.com/home.html#MIDE51

    http://www.opcube.com/software/midepack02517.exe

    Kompilacja nie sypie żadnymi błędami.

    Jak już doprowadzisz wyświetlacz do tego że będzie pokazywał C -- to wtedy wgraj nowego hexa i zobacz co się pokaże. Jeżeli coś będzie nie tak, to trzeba będzie zapytać autora o wskazówkę. Nie wiem co właściwie robi w tym zegarze kropka na wyświetlaczu i czy w ogóle jest sterowana, ale to wyjdzie w użytkowaniu.
  • #544
    idepopizze
    Poziom 33  
    Spojrzę jeszcze w ten program czy coś nie trzeba pozmieniać na wyświetlaczach.
  • #545
    folio
    Poziom 17  
    ...czyli sugerujesz aby sprawdzic po prostu połączenia w układzie a powinny być zgodne ze schematem oryginału + poprawki i tyle... zrobię to i dam znać. Inwerter?
    Z tego co wiem ULN do układu dają AVT ...tu:

    http://sklep.avt.pl/p/pl/48083/gigantyczny+zegar+-+zestaw+do+samodzielnego+montazu.html

    Tam jest właśnie ULN. Ja szykowałem się na to i mam resztę scalaków i miałem kupić płytke do tego ale w końcu znalazłem ten co robię projekt i tak to wyszło.

    Dodano po 2 [minuty]:

    ...jak odwrotność to pewnie E --

    Dodano po 2 [minuty]:

    Teraz wskazuje te odwrócone jakby dziewiątki na wszystkich segmentach... aż dziwne a naciskanie przycisków powoduje że np. środkowy segment w cyfrach pulsuje...

    Dodano po 1 [minuty]:

    ...z tym że jest to takie ...nieskoordynowane, jakby ...zwarciowe, przebiciowe itd.
  • #546
    idepopizze
    Poziom 33  
    Przed ULN wcale byś nie uciekł bo chcesz mieć duże wyświetlacze. AT z samymi opornikami nadaje się tylko do małych wyświetlaczy zasilanych 5V. Wszystkie większe konstrukcje mają więc jakieś wzmacniacze.

    Rzeczywiście powinno zaświecić się E --
    Pulsowanie cyfr spowodowane jest tym, że przyciski masz podłączone do wyjść sterujących wyświetlaczami. To taka konstrukcja.

    Przejrzałem cały program i znalazłem fragment sterujący portem P1. Zostawiłem jednak oryginalne mapki segmentów i usunąłem negacje sterującą P1 - to daje to samo. Dodatkowo wyświetlacz zostanie wyłączony wtedy gdy zaplanował to autor i to powinno usunąć miganie wyświetlacza. Ja już nie widzę w tym programie czegoś zmieniającego stary na porcie P1.

    Wypróbuj ten wsad. Powinno być lepiej.

    Przełączyłeś ten duży wyświetlacz do tego 3 cyfrowego wyświetlacza ?
  • #547
    folio
    Poziom 17  
    ...nie bardzo rozumiem zapytania o przełączenie dużego wyświetlacza do 3 cyfrowego?

    Zastanawia mnie czemu oba AT serii S programuja się i odczytują w programatorze natomiast jak stawiamy kostki do podstawki to tylko 1 z nich daje te efekty o których mowa. Drugi nie działa za to działa z wsadem TESTERA... kurcze czemu tak?
  • #548
    idepopizze
    Poziom 33  
    Na tym małym po prostu lepiej widać co się dzieje niż na dużym, przynajmniej ja tak to widzę na tych zdjęciach.

    Może ten drugi AT ma coś uszkodzone na porcie P3 i dlatego nic nie świeci.

    Wypróbuj ostatni poprawiony program. Jestem ciekawy czy poprawnie wystartuje.
  • #549
    folio
    Poziom 17  
    Tak zrobie... wgram i test.
    Zrobię analizę połączeń w odniesieniu do schematu ostatecznego.
    Może gdzieś się podpiąłem błędnie ???
  • #550
    idepopizze
    Poziom 33  
    W programie masz to ustawione tak:

    cyfra hex segmenty
    hgfedcba
    0 3F 00111111
    1 0C 00001100
    2 76 01110110
    3 5E 01011110
    4 4D 01001101
    5 5B 01011011
    6 7B 01111011
    7 0E 00001110
    8 7F 01111111
    9 5F 01011111

    Pin segment
    12 a
    13 b
    14 c
    15 d
    16 e
    17 f
    18 g
    19 h

    Jak będziesz się tego trzymał to nie da się żeby układ działał inaczej, bo jest zaprojektowany właśnie w ten sposób. Tam nie ma się do czego błędnie podpiąć, to prosty układ.

    Żeby się przekonać czy wszystko masz tak jak to wymyślił autor możesz zrobić takie doświadczenie.
    1. Podepnij ten mały wyświetlacz zamiast tego dużego. Wszystko zasilasz z 5V.
    2. Wgraj oryginalny program autora
    3. Wyjmij z podstawki układ ULN i zrób przewodami zwarcia
    - nóżek
    1 i 18
    2 i 17
    3 i 16
    4 i 15
    5 i 14
    6 i 13
    7 i 12
    8 i 11

    Teraz masz oryginalny układ autora. Jeżeli nie pokaże 18:00 to masz u siebie błędy. To wszystko.
  • #551
    folio
    Poziom 17  
    Zrobię ten test bez ULN z mostkami na oryginale (bo akurat go mam w AT) ale na 3 cyfrach. Czwartą - duża - po prostu odepnę. Powinienem mieć 8:00 bez jedynki
  • #552
    idepopizze
    Poziom 33  
    Tak też może być, chodzi mi o to żeby nie pojawiło się 12V zasilające wyświetlacz na procesorze bo to by go mogło zabić. Jeżeli po zmostkowaniu i wgraniu hex'a autora zegar dalej będzie pokazywał głupoty to szukaj błędów w połączeniu AT wyświetlacz. Nie powinno być też teraz kłopotów z migotaniem. Na tych 3 wyświetlaczach powinieneś już zobaczyć czy układ chodzi poprawnie.
  • #553
    folio
    Poziom 17  
    No i się pomyliłem... przy teście.
    Zrobiłem tak.
    1. wyjąłem ULN
    2. porobiłem mostki w podstawce ULN
    3. odłączyłem tylko doprowadzenie +12V na moduł zasilania dużej cyfry a wszystko zostawiłem bez zmian.

    Włączam zasilanie z AT... NIC.
    Myślę, to nie ten AT. Idę po drugi wstawiam ...NIC?!
    Patrzę ...nie włączyłem kabla zasilacza. Dobra, włączam zasilacz... NIC!!!
    Zmieniam AT, włączam... NIC!!!

    Okazało się że się pomyliłem i zwarłem jeszcze aby było wesoło pin 9 i 10 w podstawce... czyli +12V za diody wejściowej z masą!!!

    I teraz pytanie czy coś się nie uszkodziło?!

    (+12V jest doprowadzone do ULN zza diody na wejściu przed 7905)

    Zdjąłem mostek i włączyłem.
    Pojawiło się 8:00 bez 1 bo 1 odłączone.
    Jednak świecą potwornie słabo. Jak była ta 1 cyfra i ULN to świeciło mocniej!
    (czy to brak ULN i rezystory za duże?)

    Kolejna sprawa to cyfrę 8 mogę ładnie ustawiać czyli naciskam przycisk ustawiania i liczy od 1 do 0 i wkoło. Natomiast te pozostałe 2 cyfry jak naciskam przyciski to pokazują 10 albo FF i wracają do 10....??? Poza tym mrugają i cyfra 2 z „osiem” też mruga i zaświeca się połowa 8 itd...

    Teraz zostawiłem całość i zobaczę czy coś liczy...

    Dodano po 1 [godziny] 8 [minuty]:

    ...patrzyłem... liczy i zmieniają się cyfry OK. LICZY CZAS!
    Ale nie umiem ustawić cyfr minut. Cyfra 2 od godzin chodzi idealnie, ustawianie itd. Minuty NIE :-(
  • #554
    idepopizze
    Poziom 33  
    Zasilacze komputerowe mają wbudowane zabezpieczenie przeciwzwarciowe więc nic się nie stało. Wyświetlacze świecą słabo bo przez AT nie popłynie większy prąd. Nie zmniejszaj tych 8 rezystorów bo jedyne co możesz osiągnąć to spalisz AT.
    Jak widzisz zegar jednak działa, wyświetla cyfry poprawnie i liczy minuty. Sprzętowo masz więc sprawę opanowaną, zegar ruszył. Teraz proponuję dodać ULN i wgrać moje ostatnie poprawki. Powinno działać dokładnie tak samo jak to teraz.

    Wygląda na to, że oprogramowanie tego zegara jest niedopracowane skoro masz do niego uwagi. Prawdopodobnie będziesz musiał sam nanieść poprawki do programu. Ewentualnie możesz poszukać w sieci podobnego zegara z dobrym softem i przystosować go do swojego sprzętu. Nie powinno to być trudne, bo te zegary na 89C2051 wyglądają całkiem podobnie. Decyzja co z tym zrobić dalej należy do Ciebie.
  • #555
    folio
    Poziom 17  
    Wiesz, tak sobie myślę że może kupię 4 x cyfra LED i zrobię na razie mały... i tak aby duże cyfry działały ... muszą być zrobione...

    Myslałem o zmianie rezystorów z teraźniejszych 180ohm na np 60ohm ...ale ubiegłeś mnie w myślach ... odpuszczam, nie chcę spalić AT.

    Rozumiem że ten drugi AT jest uszkodzony??? Czemu jednak TESTER działa po wgraniu?
    Zawszę mogę zrobić adaptację AT89S4051 SMD który mi został.

    Nie wiem co zrobić aby przestawiać pozycje minut tak jak pozycję 2 gą godzin. Jak pisałem ta jest wzorcowa... tam coś się chrzani, nie wiem czemu? Czy faktycznie soft jest kiepski??? Czym to poprawiać i grzebać w nim?

    Dziś, za ok. 1h będę wgrywał poprawiony SOFT od Ciebie.
    Jutro (zegar jest gdzie indziej) to wstawię i sprawdzę.
    Dziś jeszcze zdjąłem zwory z podstawki i wstawiłem ULN. Podłączyłem zasilanie na 1 cyfrę. Włączyłem i zaświeciły się odwrócone dziewiątki na wszystkich cyfrach. Trochę mocniej zaświeciły się cyfry.
  • #556
    idepopizze
    Poziom 33  
    Zegar masz już uruchomiony, dopracowania wymaga wyświetlacz i oprogramowanie. LEDy możesz zamontować jakie tylko chcesz bo układ jest przystosowany właściwie do wszystkiego.

    Ze zmianą rezystorów jeszcze się nie spiesz. Możesz w programie wydłużyć czas świecenia wyświetlacza więc będzie on świecił jaśniej bez zmieniania rezystorów. To jest ta linia:
    pause(5); /* delay a while */

    Ten drugi AT ma prawdopodobnie uszkodzony port P3. Sądzę tak ponieważ poprawnie się programuje i miga diodami w testerze więc port P1 ma sprawny. W zegarze do sterowania wyświetlaczem potrzebny jest P3 no i tu ten AT nie daje rady. Trzeba by go indywidualnie sprawdzić.

    Nie do końca rozumiem tą pozycję minut. Czy wyświetlacz masz poprawnie poustawiany ? Mam na myśli kolejność położenia wyświetlaczy (18 00). Jeżeli to nie o to chodzi, to zostaje tylko ingerencja w program. Oprogramowanie do samodzielnej zmiany programu już wyżej podałem to MIDE-51 Studio IDE for MCS-51. Trzeba tylko trochę znać programowanie w C i architekturę rodziny 51. Ja pogrzebałem odrobinę i sam sprawdzisz czy zadziałało.

    Zegar z oryginalnym oprogramowaniem + ULN nie ma szans chodzić poprawnie. Zaświecił mocniej bo ma odwrotnie ustawione wyświetlanie, tzn. świeci wtedy gdy wyświetlacz miał w zamyśle nie świecić.

    Wszystko wskazuje na to że teraz zajmiesz się programowaniem.
  • #557
    folio
    Poziom 17  
    Dziś wstawiłem AT z wsadem clock2.hex jaki miałem wgrać.
    Efekt Zobacz na FOTO.
    Tak myślę... pojutrze kupię 4 szt cyfr LED i zrobię zegar na razie w małej obudowie... niech chodzi. Będę go testował i sprawdzał. A duże LEDy zrobię niedługo i wtedy będę wracał do ULNa.

    FOTO - zwory:

    Elektroniczny zegarek LED z sekundami

    Elektroniczny zegarek LED z sekundami

    Elektroniczny zegarek LED z sekundami

    Elektroniczny zegarek LED z sekundami

    ...i z ULN:

    Elektroniczny zegarek LED z sekundami

    Elektroniczny zegarek LED z sekundami

    Elektroniczny zegarek LED z sekundami

    ...to nie takie choroba proste :-(
  • #558
    idepopizze
    Poziom 33  
    Przyjrzałem się programom źródłowym do tego zegara. Wyszła mi jedna dziwna sprawa. Po zmianie hex'ów do jednego formatu programy dość znacznie różnią się objętościowo.

    CLOCK.HEX 4 822 - czysty program 1 995B
    CLOCK1.HEX 1 774 - czysty program 731B
    CLOCK2.HEX 2 030 - czysty program 833B

    Czy wypróbowałeś wszystkie te wersje w swoim zegarze gdy zamiast ULN były zworki ? Może tu leży problem kiepskiego działania zegara ? Jeżeli CLOCK2.HEX jest zbyt okrojony to nawet ze zmianami będzie kiepsko chodził.


    Jeszcze jedna sprawa.

    Tam na dole jest jeszcze jedna wersja tego programu clock3. Zajrzałem do środka i ma wprowadzone te same zmiany które zrobiłem w clock2. Wgraj go może w zegar jak już sprawdzisz te wcześniejsze wersje. Naturalnie clock3 powinien chodzić z ULN
  • #559
    folio
    Poziom 17  
    Wgrałem wsad clock3.hex i stan taki jak na FOTO.
    Świeci się 8 na 1, 0 na 2, 0 na 3 i 0 na 4 cyfrze. NIE DA SIĘ NICZEGO USTAWIĆ. Najlepszy jest wsad clock.hex ten pierwszy i układ bez ULNa na zworkach.
    Wtedy jest możliwośc puszczenia zegara o danej godzinie.
    Ale mam 4 cyfry LED - małe ze wspólną anodą. Postanowiłem że podłączę właśnie te cyfry i uruchomię całość a w tym czasie będę pracował nad poprawkami... nie widzę innego wyjścia na ten stan jaki jest teraz.

    Elektroniczny zegarek LED z sekundami

    Elektroniczny zegarek LED z sekundami

    Elektroniczny zegarek LED z sekundami
  • #560
    idepopizze
    Poziom 33  
    Zamontuj te 4 wyświetlacze. Załóż zworki i wypróbuj CLOCK2.HEX od autora.
    Napisał on, że clock2 nie był wypróbowany. Jeżeli nie będzie dobrze wyświetlał i będą problemy z innymi rzeczami to będziesz musiał poszukać w sieci tego Micro-C Compiler do kompilacji pierwszej wersji zegara bo ona działała najlepiej.
  • #561
    folio
    Poziom 17  
    Dziś wstawiłem jednak AT z wsadem clock.hex czyli tym podstawowym. Wywaliłem ULNa i wstawiłem przejścia. Podłączyłem bez kombinacji 1 CYFRA duża i reszta małe.
    Włączyłem. Na dużej cyfrze wyświetliła się 1 na drugiej 8 a na trzeciej i czwartej 00. Po uruchomieniu zegar od razu liczy. Co zauważyłem? Że mogę elegancko ustawiac 2 pierwsze cyfry. Czyli naciskam i leci: na pierwszej NIC a na drugiej od 0 do 9 i później na pierwszej 1 a na drugiej do 9 i na pierwszej 2 a na drugiej do 4. SUPER. Ale minut nie mogę ustawić. Jakieś bzdury mi się wyświetlają. Mało tego te godziny ustawiam na obu cyfrach 1 przyciskiem. No to po co jest ich 4??? Myślę że gdyby minuty dało się ustawić to byłoby już świetnie. Właśnie robię płytkę na małe CYFRY LED o których pisałem ostatnio... mam takie. Ale widzę że bez ULN na tych modułach zasilających duża CYFRA też ładnie chodzi!!! Może tak to zrobić? Gdyby tylko te minuty ustawiać to praktycznie miałbym ZEGAR ZROBIONY :-)
  • #562
    idepopizze
    Poziom 33  
    Wypróbuj inne hexy ze strony autora. Jak któryś będzie pracował poprawnie to wtedy można wstawiać ULN i próbować przystosować soft do niego. Druga sprawa to autor napisał że zegar nie jest dokładny bo w programie nie wstawił żadnej procedury korygującej "ginące" cykle maszynowe. Szukaj najlepszego softu.

    Z tym ULN jest tak, że zabezpiecza on AT. Jak przekroczysz maksymalną moc traconą w AT (a jest ona niezbyt duża) to go spalisz i będzie po mikrokontrolerku. ULN jest dużo ciężej zabić i do tego ma o wiele większy prąd jaki może przewodzić. Samodzielnie AT może wysterować wyświetlacze tyle, że te jasne i tylko zasilane z 5V. W słoneczny dzień przekonasz się, że na zegarze będzie niewiele widać z samym AT, ale naturalnie zrobisz jak zechcesz, bo zegar w sumie jest już zrobiony. Teraz możesz go modyfikować.
    Poszukaj w sieci podobnych konstrukcji, mogą mieć lepszy soft.
  • #563
    folio
    Poziom 17  
    A wstawienie trymera na regulację pod kwarcem da coś?
    Czemu nie mogę ustawiać minut? Czy to wina softu?
  • #564
    idepopizze
    Poziom 33  
    Myślę że wstawienie trymera może nie pomóc, gdyż błąd związany z "uciekającymi" cyklami maszynowymi będzie stopniowo narastał, a trymerem skorygujesz stały błąd związany z niedokładnością kwarcu.
    Z minutami może być dwa przypadki. Albo masz usterkę w przycisku i nie zwiera, albo soft. Stawiam na soft.
  • #565
    folio
    Poziom 17  
    ...tak, mi tez tak się wydaje. Moge ustawić godzinę ale muszę wtedy wystartować go punktualnie. Właśnie montuję zestaw 4 cyfr na płytce to i bedę podłączał pod sterownik. Zamieszczę foto + opis.
  • #566
    idepopizze
    Poziom 33  
    Powtórzę po raz kolejny. Poszukaj w sieci czegoś zbudowanego podobnie. Inny autor mógł lepiej dopracować swoje oprogramowanie i bez sensu będzie brnięcie w ten projekt skoro gdzie indziej wszystko możesz mieć już gotowe. Sam widzisz, że to co złożyłeś nie działa tak jak chcesz.
  • #567
    folio
    Poziom 17  
    Poszukam... racja. Chcę jednak aby już na zwykłych CYFRACH całość działała... aby coś było widać. Będę robił testy z innym softem mając całość elektronicznie sprawną.
  • #568
    Tomek401401
    Poziom 10  
    Witam mam pytanko czy dało by się zaprogramować sygnał 1Hz na drugiej nóżce która jest wolna do mrugających dwukroków.
  • #569
    idepopizze
    Poziom 33  
    Tomek401401
    Pod 2 są Ledy rozdzielające. Jeżeli nie mrugają to wystarczy zmienić program.
  • #570
    folio
    Poziom 17  
    Znów kłopot mam. Poskładałem wyswietlacz z CYFR małych na płytce. Po przetestowaniu wyświeca segmenty a jak podłączyłem to świecą mi się minuty a godziny obie MARTWE... aby choć 1 segmencik się zaświecił... NIC!
    Muszę sprawdzić elektronicznie.