(3 głosujących) Zegar Binarny tak jak każdy inny zegar służy do liczenia czasu. Wyświetlacz tego czasomierza jest dość nietypowy a mianowicie jest to sześć słupków po cztery diody led. Wskazują one aktualną godzinę w kodzie binarnym. Urządzenie pracuje w oparciu o mikrokontroler AT89C2051, który sam zajmuje się odmierzaniem upływającego czasu. Zegar posiada zasilanie bateryjne na czas zaniku napięcia sieci (wyświetlacz jest wtedy wyłączony). Do jego obsługi przewidziano trzy przyciski. Pozwalają one ustawić godziny, minuty i wyzerować sekundy, a także ustawić czas budzenia itp. (Przynajmniej takie było pierwotne założenie. Obecnie jest oprogramowany sam zegar).
Działanie:Na rysunku poniżej przedstawiono schemat Sterownika: Sercem układu jest mikrokontroler U1 (AT89C2051) wraz z rezonatorem kwarcowym X1 (12MHz), kondensatorami C4 (33pF) i C5 (33pF) oraz trymerem C6 (4...40pF). Za pomocą C6 można regulować częstotliwość pracy procesora aby była jak najbardziej zbliżona do 12MHz. Jest to związane z dokładnością pracy zegara. Złącze Zas (ARK) służy do podłączenia transformatora sieciowego (ok. 7-12 V). Napięcie przemienne jest prostowane w mostku Br1 (1A) a następnie filtrowane za pomocą C0 (1000uF) oraz stabilizowane do wartości 5V za pomocą układu U2 (7805). Kondensator C2 (22uF) współpracuje ze stabilizatorem scalonym U2. Diody D1 (1N4007) oraz D2 (1N4007) tworzą obwód zasilania awaryjnego. Podczas normalnej pracy dioda D2 spolaryzowana jest w kierunku zaporowym i prąd z baterii rezerwowej nie jest pobierany. Gdy napięcie na stabilizatorze spadnie poniżej napięcia baterii to dioda D1 zostanie spolaryzowana zaporowo a mikrokontroler będzie zasilany ze źródła awaryjnego. Do podłączenia wspomnianej baterii służy złącze Bat (ARK). Jej napięcie nie może być większe niż 5V.(mogą być 2 lub 3 "paluszki") Dodatkową filtrację napięcia zasilającego zapewnia kondensator C3 (22uF). Rezystor R1 (10k) wymusza stan niski na nożce resetu mikrokontrolera i wraz z przyciskiem Sr (uSwitch) służy do jego resetowania. Elementy R2 (100k) i R3 (20k) wraz z tranzystorem T0 (BC547) stanowi obwód detekcji zaniku napięcia zasilającego. Podczas normalnej pracy T0 jest otwarty i na nóżce P1.4 kostki U1 panuje stan niski. Zanik napięcia zasilania objawia się zatkaniem tranzystora T0 i pojawieniem się stanu wysokiego na pinie P1.4. Rezystory R4 (1k) oraz R5 (1k) podciągają piny P1.0 i P1.1 mikrokontrolera do plusa zasilania, gdyż nie ma on wewnętrznych rezystorów podciągających na tych pinach. Elementy R6 - R9 (820R) pełnią funkcję ograniczenia prądu diod led wyświetlacza do dopuszczalnej wartości. Tranzystor T1 (BC557) wraz z rezystorami R10 (3.3k) i R11 (3.3k) jest odpowiedzialny za włączanie brzęczyka piezo z generatorem, wpiętego między punkty bz i -. Złącza goldpin GP1, GP2 i GP3 zapeniają połączenie z płytką wyświetlacza. Schemat Wyświetlacza Przedstawiony jest na poniższym rysunku: Złącza GP1, GP2 oraz GP3 zapewniają połączenie z płytką sterownika. Przyciski S1 - S3 (uSwitch) pozwalają ustawić czas na zegarze. Diody DL1 - DL22 są połączone w matrycę 4x6 ze wspólną anodą. Dla wyświetlania dziesiątek godzin zastosowano wyjątkowo tylko dwie diody, ze względu na fakt że nie może być więcej niż 23 godziny i kolejne dwa ledy nigdy by się nie zapaliły. Tranzystory T2 - T7 (BC557) wraz z rezystorami R13 - R22 (3.3k) sterują anodami matrycy 4x6 led. Budowa:Montaż sterownika można dokonać na płytce drukowanej dostępnej tutaj lub gdy wymagany jest rysunek w odbiciu lustrzanym to można wykorzysteć rysunek dostępny tutaj. Lutowanie należy rozpocząć od jednej zworki. Dalsza kolejność elementów jest dowolna. W miejsce złącz GP1 - GP3 należy wlutować złącza szufladkowe o wyskości umożliwiającej złożenie dwóch płytek. Pod mikrokontroler należy bezwzględnie zastosować podstawkę. W innym wypadku niemożliwe będzie jego zaprogramowanie. W układzie został użyty procesor AT89C4051 zamiast AT89C2051 ze względu na większą pamięć programu. Pomocą w montażu może okazać się schemat montażowy dostępny tutaj. Rysunek płytki wyświetlacza można pobrać tutaj lub tutaj gdy wymagany jest obraz w odbiciu lustrzanym. Ze względu na fakt, że płytka jest jednostronna zawiera aż 17 zwór. Montaż należy rozpocząć od wlutowania ich wszystkich. W dalszej kolejności należy wlutować resztę elementów, pamiętając, że złącza goldpin lutowane są od strony druku. Na samym końcu należy przylutować diody led. Pomocą może okazać się dostępny tutaj schemat montażowy. Wykaz Elementów:Sterownik:1x Złącze szufladkowe na goldpiny 1x3 2x Złącze szufladkowe na goldpiny 1x6 1x uSwitch 1x Rezonator Kwarcowy 12MHz 1x Podstawka DIP20 2x 1N4007 4x 820R 2x 33pF Wyświetlacz:1x Goldpin 1x3 2x Goldpin 1x6 3x uSwitch 12x 3.3k 6x BC557B Programowanie:Mikrokontroler do zegara został zaprogramowany w wersji demo programu BASCOM 8051 firmy MCS Electronics (http://www.mcselec.com/). Fragmenty programu przedstawione są poniżej. Konfiguracja timera żeby przerwania następowały co 250us Config Timer0 = Timer , Gate = Internal , Mode = 2 Load Timer0 , 250 Start Timer0 Enable Timer0 Enable Interrupts On Timer0 Przerwanie_timer Główna pętla programu. Zawiera instrukcję warunkową sprawdzającą stana na pinie oznaczonym Test_napiecia (czyli wykrywanie stanu napięcia zasilającego) oraz skok do etykiety Praca następujący co 2ms Do If Test_napiecia = 1 Then P1 = 255 Buzzer = 1 Idle Else If Flaga_praca = 1 Then Gosub Praca End If Loop End Obsługa Przerwania. Następuje co 250us a jej zadaniem jest jedynie poprawnie odliczać czas. Przerwanie_timer: Incr Co2ms If Co2ms = 8 Then Co2ms = 0 Set Flaga_praca 'co 2ms Incr Co4ms If Co4ms = 2 Then Co4ms = 0 Incr Co1sek If Co1sek = 250 Then Co1sek = 0 Incr Sekundy If Sekundy >= 60 Then Sekundy = 0 Incr Minuty If Minuty >= 60 Then Minuty = 0 Incr Godziny If Godziny >= 24 Then Godziny = 0 End If End If End If End If End If End If Return Ta procedura wykonywana jest co 2ms. Jej zadaniem jest multipleksowanie i wyświetlanie wskazań na matrycy diod LED Praca: Flaga_praca = 0 Incr Poz_wyswietlana If Poz_wyswietlana = 6 Then Poz_wyswietlana = 0 Gosub Obsl_przyciskow Gosub Sterowanie Incr Licz_miganie If Licz_miganie = 125 Then Licz_miganie = 0 Wygaszenie = Not Wygaszenie End If Select Case Poz_wyswietlana Case 0: '1 cyfra Set P3.5 '************ Select Case Poz_menu Case 0: Sp1 = Godziny / 10 Case 1: Sp1 = Godziny_buz / 10 Case 2: Sp1 = 1 End Select If Inwersja_wysw = 1 Then Sp1 = Not Sp1 Gosub Kasuj If Ustawianie = 1 Then If Wygaszenie = 1 Then P1 = 255 Else P1 = Sp1 Else P1 = Sp1 End If '************ Reset P3.0 Case 1: '2 cyfra Set P3.0 '************ Select Case Poz_menu Case 0: Sp1 = Godziny Mod 10 Case 1: Sp1 = Godziny_buz Mod 10 Case 2: Sp1 = 1 End Select If Inwersja_wysw = 1 Then Sp1 = Not Sp1 Gosub Kasuj If Ustawianie = 1 Then If Wygaszenie = 1 Then P1 = 255 Else P1 = Sp1 Else P1 = Sp1 End If '************ Reset P3.1 Case 2: Set P3.1 '************ Select Case Poz_menu Case 0: Sp1 = Minuty / 10 Case 1: Sp1 = Minuty_buz / 10 Case 2: Sp1 = 6 End Select If Inwersja_wysw = 1 Then Sp1 = Not Sp1 Gosub Kasuj If Ustawianie = 2 Then If Wygaszenie = 1 Then P1 = 255 Else P1 = Sp1 Else P1 = Sp1 End If '************ Reset P3.2 Case 3: Set P3.2 '************ Select Case Poz_menu Case 0: Sp1 = Minuty Mod 10 Case 1: Sp1 = Minuty_buz Mod 10 Case 2: Sp1 = 6 End Select If Inwersja_wysw = 1 Then Sp1 = Not Sp1 Gosub Kasuj If Ustawianie = 2 Then If Wygaszenie = 1 Then P1 = 255 Else P1 = Sp1 Else P1 = Sp1 End If '************ Reset P3.3 Case 4: Set P3.3 '************ Select Case Poz_menu Case 0: Sp1 = Sekundy / 10 Case 1: Sp1 = Sekundy_buz / 10 Case 2: If Buzzer_onoff = 1 Then Sp1 = 2 Else Sp1 = 14 End Select If Inwersja_wysw = 1 Then Sp1 = Not Sp1 Gosub Kasuj If Ustawianie = 3 Then If Wygaszenie = 1 Then P1 = 255 Else P1 = Sp1 Else P1 = Sp1 End If '************ Reset P3.4 Case 5: Set P3.4 '************ Select Case Poz_menu Case 0: Sp1 = Sekundy Mod 10 Case 1: Sp1 = Sekundy_buz Mod 10 Case 2: If Buzzer_onoff = 1 Then Sp1 = 7 Else Sp1 = 14 End Select If Inwersja_wysw = 1 Then Sp1 = Not Sp1 Gosub Kasuj If Ustawianie = 3 Then If Wygaszenie = 1 Then P1 = 255 Else P1 = Sp1 Else P1 = Sp1 End If '************ Reset P3.5 End Select Return Procedura obsługi przycisków: Obsl_przyciskow: If Prz_plus = 0 Then Incr Przycisk If Przycisk = 30 Then Set P_plus Else Reset P_plus Else Przycisk = 0 Reset P_plus End If If Prz_minus = 0 Then Incr Przycisk2 If Przycisk2 = 30 Then Set P_minus Else Reset P_minus Else Przycisk2 = 0 Reset P_minus End If If Prz_menu = 0 Then Incr Przycisk3 If Przycisk3 = 30 Then Set P_menu Else Reset P_menu Else Przycisk3 = 0 Reset P_menu End If '**************************************** If P_menu = 1 Then '******** If Ustawianie = 0 Then Incr Poz_menu If Poz_menu = 3 Then Poz_menu = 0 Else Incr Ustawianie If Ustawianie = 4 Then Ustawianie = 0 End If '******** End If If P_plus = 1 And P_minus = 0 Then '******** Select Case Ustawianie Case 0: Ustawianie = 1 Case 1: Select Case Poz_menu Case 0: Incr Godziny If Godziny = 24 Then Godziny = 0 Case 1: Incr Godziny_buz If Godziny_buz = 24 Then Godziny_buz = 0 Case 2: Kolejnosc = Not Kolejnosc End Select Case 2: Select Case Poz_menu Case 0: Incr Minuty If Minuty = 60 Then Minuty = 0 Case 1: Incr Minuty_buz If Minuty_buz = 60 Then Minuty_buz = 0 Case 2: Inwersja_wysw = Not Inwersja_wysw End Select Case 3: Select Case Poz_menu Case 0: Sekundy = 0 Case 1: Incr Sekundy_buz If Sekundy_buz = 60 Then Sekundy_buz = 0 Case 2: Buzzer_onoff = Not Buzzer_onoff End Select End Select '******** End If If P_plus = 0 And P_minus = 1 Then '******** Select Case Ustawianie Case 0: Case 1: Select Case Poz_menu Case 0: Decr Godziny If Godziny = 255 Then Godziny = 23 Case 1: Decr Godziny_buz If Godziny_buz = 255 Then Godziny_buz = 23 Case 2: Kolejnosc = Not Kolejnosc End Select Case 2: Select Case Poz_menu Case 0: Decr Minuty If Minuty = 255 Then Minuty = 59 Case 1: Decr Minuty_buz If Minuty_buz = 255 Then Minuty_buz = 59 Case 2: Inwersja_wysw = Not Inwersja_wysw End Select Case 3: Select Case Poz_menu Case 0: Sekundy = 0 Case 1: Decr Sekundy_buz If Sekundy_buz = 255 Then Sekundy_buz = 59 Case 2: Buzzer_onoff = Not Buzzer_onoff End Select End Select '******** End If '**************************************** Return Procedura odwracająca bity itp.: Kasuj: If Kolejnosc = 1 Then Help_bit = Sp1.0 Sp1.0 = Sp1.3 Sp1.3 = Help_bit Help_bit = Sp1.1 Sp1.1 = Sp1.2 Sp1.2 = Help_bit If Poz_wyswietlana = 0 Then Clr c Rotate Sp1 , Right , 2 End If End If Sp1.7 = 1 Sp1.6 = 1 Sp1.5 = 1 Sp1.4 = 1 Return Program ten należy uzupełnić o procedure obsługi buzzera. Cały kod źródłowy można pobrać tutaj. Wersje skompilowane dostępne są tutaj (plik *.bin) lub tutaj (plik *.hex) Zdjęcia Projektu:
|
|||||||||||||||||||||||||||||||||||||||
być może te pytania będą
być może te pytania będą błahe z pana punktu widzenia ale...
1. Czy wyjścia na schemacie oznaczone np. +5V mam podłączyć pod ścieżkę +5V? Gdzie w takim razie jest napięcie rzędu +4,3V
2. Czy wyście GND (uziemienie) można połączyć z minusem np. mostka Br1
3. Czy czerwona kropka na złączu bazy tranzystora T1 jest wstawiona celowo (jako czerwona)? jaśli tak to co znaczy?
4. Buzzer wstawiam pomiędzy bz1 a... GND procesora?
........
5. W jaki sposób można sprawdzić czy program został prawidłowo wgrany na kość, bez montowania całego układu (używałem programatora BlowIT [url=http://http://www.dinastiasoft.com.ar/Imagenes/Circuitos/Micros/BLOWIT-1.gif] własnej roboty, wypalałem BASCOM'em [ale nie wiem czy dobrze]), czy podczas programowania np. nagrzewa się procesor?
P.S. Układ sterownika oraz wyświetlacza nie montuję na płytkach drukowanych, tylko na pleksi (jak na amatora przystało ;))
Kilka pytań o zegar
1. Oznaczenie +5V na schemacie mają być zwarte do siebie, nie oznaczają one punktu podłączenia zasilacza, takie oznaczenie ułatwia rysowanie schematu gdyż nie trzeba rysować dodatkowych podłączeń zasilania utrudniających analizę obwodu. Transformator zasilający należy podłączyć do zacisku ZAS. Napięcie około 4.3V powstaje po przejściu 5V przez diodę krzemową (w kierunku przewodzenia spadek napięcia ok 0.6-0.7V). W tym przypadku nazwa 4.3V jest poprostu nazwą szyny zasilającej procesor.
2. GND to masa, głowna szyna zasilająca (minus). Można podłączyć ją do uziemienia ale nie jest to konieczne. Wszystkie GND mają być zwarte ze sobą.
3. Czerwona kropka w połączeniu jest pozostałością po wcześniejszym stylu rysowania (kropki czerwone, widać to na następnym schemacie). Pierwszy schemat był edytowany poźniej i styl został zmieniony ale jak widać nie w całości.
4. Dokładnie Tak
5. Ja posiadam MCS Flash Programmer metodą na sprawdzenie działania jest podłączenie procesora do układu lub kliknięcie opcji Verify w bascomie.
PS. To jest dość stary projekt i nie pamiętam wszystkich szczegołow do niego ale możesz pytać jak jeszcze będą problemy
Pozdrawiam
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Teraz powinienem już dać
Teraz powinienem już dać sobie radę :)
Dziękuję i pozdrawiam
Kod źródłowy
Witam, mam pytanie co do procedury resetowania, mam kompilator BASCOM-8051 i wywala mi błąd przy następującej instrukcji:
Proszę o pomoc. Pozdrawiam.
Re: Kod źródłowy
Jaką wersję Bascoma posiadasz. Ja bez problemu skompilowałem cały kod źródłowy dostępny na stronie i nie wystąpił żaden problem. Jeśli nie masz najnowszej wersji bascoma 8051 to pobierz ze strony producenta i przeinstaluj
Ps. Jeśli próbowałeś skompilować tylką samą procedurę a nie cały kod to napewno nie pójdzie :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Czytanie kodu binarnego
Witam!!!
Według mnie rozmieszczenie diod w twoim zegarze jest błędne, a mianowicie: kod binarny czytamy od dołu do góry lub od prawej do lewej. Piersza cyfra oznacza dla mnie 4 lub 8 .
Pozdawiam
Re: Kod binarny
Po pierwsze to nikt nie pisał że zagar pokazuje czas w naturalnym kodzie binarnym :). Po drugie jak dobrze pamiętam (bo strasznie dawno to robiłem) to program zegara umozliwia zmianę kierunku reprezentacji liczby binarnej tak że LSB jest po prawej lub lewej stronie. Do wyboru, do koloru.
Zawsze można przecierz zakodować w kodzie mirley'a gdzie LSB będzie w środku słowa bitowego :)))
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Pytanka
Witam
Mam parę mam parę pytań odnośnie tego projektu:
1.Chce podłączyć jako zasilanie bateria 9V, w związku z tym czy mogę zostawić mostek czy lepiej się go pozbyć? Z tego co wiem w zależności od tego jak podłącze baterie do mostka, będą działać 2 diody zamiast 4, ale nie wiem czy to będzie w jakimś stopniu działać nie korzystnie na układ ?
2.Zamiast kondensatorów 2x33pF mam 2x47pF, czy spowodują one złe działanie układu?
3.Na schemacie sterownika, oraz w wykazie elementów pisze, żeby zastosować kondensator 1000uF, jednak porównując zdjęcie gotowego układu z moim układem wydaje mi się, że został zastosowany kondensator 100uF.Mam kondensator 1000uF/16V.
4.Mam stabilizator L78512CV, zamiast 7805 i tak patrze i wydaje mi się,że ostatnia cyfra pokazuje jakie napięcie stabilizuje stabilizator . Czyli wychodzi, że zamiast napięcia 5V miałbym 12V mam racje ?
5.Mam tranzystor C557C zamiast BC557B, wdaje mi się że są to te same tranzystory z innym oznaczeniem, ale wole zapytać.
6.Czy coś się stanie jeżeli nie podłącze buzzera?
7.Czy moge w jakiś sposób sprawdzić czy działa układ jeżeli nie mam zaprogramowanego mikrokontrolera?
Układ mam już po lutowany, ale miałem małe problemy. Zauważyłem że w zależności jakiej cyny używam łatwiej się ona łączy z płytką i elementami lub gorzej.
Czy to łączenie cyny z płytką mogło zależeć od tego, że miałem podtrawione ścieżki?
Re: Zegar binarny
1. Ogólnie mówiąc lepiej zastosować zasilacz niż baterię bo diody led jednak swoje pobierają :) Nie wiem jak długo to będzie działać ale może sie okazać że niedługo :) Dla baterii 9V mostem może sobie być zamontowany. Nic nie powinno to przeszkadzzać. Jeśli zasilanie musi być bateryjne to lepiej zastosować 3 paluszki dające 4,5V i ze schematu usunąć na dobre stabilizator oraz diody D1 i D2. Należy D1 zastąpić zworą tak samo wlutować miedzy 1 a 3 nóżkę stabilizatora.
2. Lepiej dać 33pF bo czym większy kondensator to stanowi większe obciążenie dla generatora w procesorze :)
3. Pewnie dałem 100uF bo taki miałem :) Nie miało to znaczenia bo i tak finalnie układ zasilałem już wyfiltrowanym napięciem i duży kondensator okazał się zbędny. Ten co masz może być :)
4. Tak dokładniejest tak jak piszesz 7812 daje 12V a to za dużo dla uC. Układ powinien być 7805
5. To prawie napewno ten sam tranzystor i w tym zastosowaniu nie powinno być różnicy który dasz. Ten co podałeś ma inny współczynnnik wzmocnienia prądowego.
6. Nie będzie sygnału dźwiękowego :)
7. Możesz postykać piny w pustej podstawce i zobaczyc czy wszystkie diody świecą
Odnosnie kłopotów z lutowaniem to pokryłeś płytkę kalafonią w spirytusie? bez tego lutowanie jest trudne bo płytka zaraz pokryje się tlenkiem. podtrawione ścieżki mogą mieć wpływ bo masz mniej miedzi na przyczepność. Wszystko to zależy jak podtrawione. jeśli już prawie miedzi nie ma to faktycznie lutowanie może być trudne :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Zasilacz w przyszłości
Zasilacz w przyszłości napewno, bedzie więc zostawie stabilizator.
No chyba, że w sklepie nie dostane 7805, to wtedy podłącze 3 paluszki i zrobie tak jak kazałeś :P
Przez postykanie pinów rozumiem, że mam napięcie, które dochodzi do VCC przykładać do pinów które odpowiadają za świecenie diod.
Tak pokryłem ją kalafonią i to gruba warstwą.Jednak to co stworzyłem czyli roztwór jest dosyć rzadki, co dosypywałem kalafoni to wyglądało, że roztwór jest już nasycony, ale wkońcu kalafonia sie rozpuszczała choć trwało to dosyć długo.
Jak sprawdze działanie układu wstawie fotki na forum(niestety tylko gotowego układu), bo teraz wydaje mi się że to cud, iż to polutowałem xD
Wszystkie elementy które napisałem, że mam inne niż powinny być dostałem w eklepie "elektronicznym" myślałem, że ludzie którzy tam pracują wiedzą co sprzedają, gdybym tego nie sprawdził układ pewnie bym spalił...
Re: Zegar binarny
Przez "postykanie pinów" rozumiem że masz złożone dwie płytki do siebie i zamiast procesora stykasz dwoma kablami do masy odpowiednie piny sterujące tak aby włączak po kolei tranzystory i kolejne diody
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
PCF8583
Witaj
Czy było by możliwym byś dopisał do tego zegara obsługę PCF8583
Re: Zegar binarny
Wolał bym zrobić ten zegar od początku :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
ZEGAR
Mówiąc uczciwie
to ja zrobiłem zegar w oparciu o ten projekt http://www.mcselec.com/index.php?option=com_content&task=view&id=137&Itemid=57 nieco zmieniając program
i chciałem sobie dopisać do tego PCF8583 ale nie bardzo mi to idzie , ni wiem jak to zrobić
A jak bym miał jakiś przykład to już bym sobie poradził
Większość takich projektów opiera się o LCD i meni do ustawiania
Ja ustawiam je zegar dwoma przyciskami i wykorzystuję LED Multipleksowane
Re: PCF w zegarze binarnym
Jak chcesz przykład to popatrz na mój zegar nixie. Tam jest PCF oprogramowany, tylko że pod mikrokontroler AVR. Poprostu przerobisz kod pod 2051, ale zasada działanie się nie zmieni
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witaj :) Mam problem, który
Witaj :)
Mam problem, który nie daje mi spokoju i sam go prawdo podobnie nie rozwiążę.
Mianowicie gdy chce, żeby sie zapaliła dioda 1(DL1) lub DL3 to pali sie DL7.
Tak samo gdzy ma sie palić DL2 lub DL4 to pali sie DL8 itd.
Gdy zapalam pojedyńczo DL7-DL10 diody działają prawidłowo.
Pozostałe diody od DL11 do DL22 działają bez problemów.
Wszystkie tranzystory są na pewno dobre.
Dziwi mnie natomiast napięcie. Zwieram P3.1 i P1.0 powinna sie zapalić DL3 świeci sie DL7.
Napięcie na
P3.0= 2V - tu chyba nie powinno być napięcia
P3.1= 0,7V DL3= 0,5V - nie pali sie a powinna
P3.2= 0,5V DL7= 2V - pali sie a niepowinna
Już wolałbym jakby sie wszystkie razem świeciły xD
Bo teraz to już nie mam pojęcia co jest nie tak.
Biore pod uwage fakt, że jakaś część w układzie ma inną wartość niż powinna mieć.
Mam nadzieje, że wszystko jasno opisałem, bo już nie mam sił myśleć.
Znając życie pewnie gdzieś sie pomyliłem i dlatego takie cyrki wychodzą ^^
Re: Zegar
"Zwieram P3.1 i P1.0..." masz namysli że w programie piszesz aby się zwarły czy normalnie drutem zwierasz? Napisz może taki krótki program od podstaw który po kolei bedzie zwierał tranzystory i potem piny portu P1.0 zapalając kolejne diody. Części raczej są dobre, jeśli każda dioda się pali tak jak powinna podczas zwierania kablem odpowiednich pinów to musi działać. Może sie uC uszkodził ale to mało prawdopodobne
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Zwierałem drutem :P Teraz
Zwierałem drutem :P
Teraz już wszystko śmiga.
Zostały poprawione wszytkie luty, ale nie jestem pewien co było przyczyną takiego działania.
Według mnie P3.0, P3.1, P3,2 były w jakimś miejscu zwarte a ponadto T2 i T3 prawdopodobnie dobrze nie chodziły(możliwy zimny lut).
Dlatego diody paliły sie tylko przez dobrze działający T4.
T2 i T3 zaczeły chodzić jak została poprawiona ścieżka doprowadzająca zasilanie do tranzystorów.
Wielkie dzięki za pomoc :)
Pytanie
Mam pytanie odnośnie zasady działania wyświetlacza, jak to działa? gdy np diody dl16-dl18 i dl21 świecą się i w tym czasie dl20 i dl22 są wygaszone, skoro linie pionowe 5 i 6 przepuszczają prąd oraz linie poziome 6 5 4 tak samo pozwalają na przepływ prądu. Jak to się dzieje, że te dwie diody d20 d22 są wygaszone ??
Re: Zegar
Kolumny sterowane przez tranzystory T2 - T7 nigdy nie świecą jednocześnie. W jednej chwili załączony jest tylko jeden z tranzystorów i w tym samym czasie podawany jest na całe wiersze stan diod dla tej kolumny, tak to świeci np przez 4ms i diody są gaszone, właczany jest kolejny tranzystor i podawany stan kolejnej kolumny. To wszystko zmienia się z częstotliwością 75hz lub szybciej i nie widzisz migotania
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Pytanie
Witam.
Może pytania będą banalne dla Pana,
ale wolę zapytać, ponieważ jestem początkująca :)
1. Czy mogę zastosować trymer ceramiczny? Na zdjęciu jest chyba foliowy...
2. Jaki najlepiej użyć transformator sieciowy? Może jakiś konkretny model otrzymam?
3. Czy mając podłączony transformator sieciowy, mogę zrezygnować z "paluszków"? Jeśli tak to czy zmieni się ustawienie podzespołów na płytce? A może lepiej użyć "paluszków" zamiast transformatora?
4. Z jakiego tworzywa wykonał Pan czarną obudowę zegara?
Z góry dziękuję za odpowiedź:)
Re: Zegar
1. Może być dowolny, w pierwszej fazie nie musi być montowany, jeśli jest trymer to ten kondensator co jest z nim równolegle powinien byc mniejszy, bo ustawienie trymerem ma dać dokładnie dwie równe pojemności.
2. Dowolny transformator o napięciu 9-12V i prądzie 150mA lub więcej
3. Poprostu nie podłączasz baterii i to wszystko, po wyłączeniu zasilania zegar utraci ustawienia jeśli nie będzie baterii. Podłączenie samej baterii nie uruchomi wyświetlacza
4. Plexi z powierconymi dziurami a potem od tyłu zamalowana sprayem
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
czy mogę do tego projektu
czy mogę do tego projektu zamiast at89 użyć attine2313?:) rozklad nóżek jest taki sam w końcu...
Re: Zegar
Możesz użyć tiny2313 ale program musisz sobie sam nowy napisać..... najpierw przerób program i przekompiluj pod tiny2313 bo może się potem okazać że nie wejdzie
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
czyli odpada...nie znam
czyli odpada...nie znam bascoma tak dobrze...a programatorem usbasp moge ten at89 zaprogramowac?? bo w spisie mikrokontrolerow jakie programuje nie zauwazylem go...
Re: AT89C2051
Raczej nie możesz, co prawda są nowsze wersje tych mikrokontrolerów i posiadają juz ISP do programowania szeregowego ale nie programowałem ich w taki sposób nigdy. Spróbuj kupic 2051 w wersji z ISP i podłącz do LPT i sprawdź czy bascom 8051 da radę je zaprogramować..... teraz robię układy tylko i wyłącznie na AVR
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
a jak bym podlaczyl
a jak bym podlaczyl at89c2051-24pu pod lpt tak w Twoim artykule jak zaprogramowac pierwszy avr to bascom-avr by go nie wykryl? a jak sprawdzic czy ten moj at89 ma isp?...nie za bardzo wiem o co chodzi...
Re: 2051
ISP -"In Syste Programing" to system umozliwający programowanie szeregowe za pomocą pinów MOSI, MISO, SCK itd at89c2051 nie ma czegos takiego. Są wersje z dopiskiem ISP ale nigdy takiego układu nie posiadałem. W klasycznym 2051 nie ma mozliwości takiego programowania. Prościej będzie program przerobić na ATTINy2313..... pomogę ale mam trochę mało czasu więc musisz poczekać
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Dzieki :) to ja wytrawie
Dzieki :) to ja wytrawie plytki i polutuje wszytsko a potem zobaczy sie co dalej :)
moze znajde kogos w szkole kto ma programator, to wtedy nie trzeba bedzie kombinowac...
wyczytalem ze at89S2051 ma
wyczytalem ze at89S2051 ma juz mozliwosc programowania isp :) łądnie opisane:
http://www.pliki.jm.pl/karty/migracja_C2051_S2051.pdf
a czy napisany przez Ciebie program bedzie mi dzialal bez problemowo na at89S..? czy tez trzeba cos zmieniac?
ps.na TME za nie cale 9 zl te uC, moze warto dodac w artykule ze ten uC tez sie nadaje?;)
mam pytanko...czy zasilacz od
mam pytanko...czy zasilacz od starej komorki...dajecy 8v i 500mA wystarczy aby zasilic te wszystkie diosy? czy to koniecznie musi byc 1A...jak w mostku prostowniczym...
Re: Zasilanie i procek
Program powinien działać przecież to po prostu nowsza wersja mikrokontrolera z interfejsem programującym, ale sam tego nie sprawdzałem. Zasilanie 500mA to na pewno dość. Prawdopodobnie pobór prądu nie przekroczy 100-200mA
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
mam małe pytanko :) czy
mam małe pytanko :) czy BC547B moze byc zastapiony BC547C?? czy to jakas duza roznica?
a czy te wszystkie diody bardzo swieca?/ bo ja mam takie diody ze na 5v sie patrzec nie da...to 22 takie diody to masakra...niby sa tam oporniki ogroniczajace prad...masz moze jakies zdjecie jak calosx wyglada i jak dziala?:)
Re: Zegar binarny
Diody świecą mocno, należało by zastosować takie o mniejszym natężeniu swiatła, opornikiem możno trochę dostroić jasność.... niestety nie mam zdjęcia
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Napotkalem pewne problemy
Napotkalem pewne problemy przy montazu :p otoz nie wiem czemu na Twojej plytce jest zrobiona przerwa w sciezce (na schematach PCB nie ma jej)...przerwana sciezka jest na plytce sterownika: http://img132.imageshack.us/img132/294/78141780.png
Drugie pytanie...czy mikroswitch powinien bez nacisniecia przewodzic w tym kierunku (zaznaczylem szczałkami) czy w drugim?? http://img825.imageshack.us/img825/3341/34461829.png
...i ostatnie pytanie :) czy duzy kodu trzeba dopisac aby byla fukcja budzika??
Jeszcze dwa pytania :) czy na
Jeszcze dwa pytania :)
czy na resecie ma byc wysokie napiecie? i nacisniecie switcha ma je odcinac?
podlaczylem 12v z wtyczki molex jako zasilanie (przez mostek, bo to chyba nie przeszkadza) i na nozkach podtsawki mikrokontrolera mam 4,5 v...czy tyle wystarczy? czy ma byc 5v raczej?
starczy
starczy
Re: Zegar
Raczej temu jest przerwa w jednym miejscu aby do bazy T0 podłaczyc wyższe napięcie żeby się otworzył lepiej. Z tym duzym rezystorem na bazie mogłem miec problemy i temu tak zrobiłem.
uSwitch ten co oznaczyłeś czerwonymi strzałkami na płytce normalnie nie przewodzi, 2051 resetuje sie poziomem wysokim, zwarcie powoduje wystawienie 5V na reset. Bierzesz miernik i przykładasz do uSwitcha jak nie jesteś pewien jak działa.
Jeśli robisz ten układ na 2051 to może tak być z zaslaniem 4.5V, natomiast jeśli przerobiłeś na tiny2313 to wtedy dołącz nózke GND stabilizatora przez diodę prostowniczą w kierunku przewodzenia do masy. Anoda diody do nóżki GND stabilizatora a katoda do GND. Podniesie to napięcie stabilizatora do około 5,6V, i spadek napęcia na szeregowej diodzie da spowrotem 5 co będzie napewno ok
Dopisanie budzika to trochę roboty, na którą ciągle brakuje mi czasu, poza tym projekt jest troche za stary żeby go teraz rozwijać
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam...mam dwa pytania
Witam...mam dwa pytania :)Pierwsze:Czy mikroswitch ma przewodzic bez nacisniecia zgodnie ze strzalka na schemacie?
http://img825.imageshack.us/img825/3341/34461829.png
...no i drugie...jak ustawic fuse bity (uzywam burn-o-mate, kontroler at89s4051)? Możesz wrzucic zdjecie z programu jak maja byc ustawione? z góry wielkie dzieki :)
Re: Zegar binarny
Nie ma przewodzić.... jaki by był sens tego jak na stale by zwierał pin do masy. uSw jest przyciskiem typu N.O. (normalnie otwarty) i posiada tylko dwa wyprowadzenia, więc trudno się pomylić. To sa poprostu dwie równoległe blaszki umieszczone w plastikowej obudowie i trzecia blaszka która zwiera te dwie .......
Więc z obudowy wystają niby 4 wyprowadzenia ale to poprostu oba końce każdej z blaszek..... bierzesz miernik w rękę i sprawdzasz jak nie jesteś pewien
Co do fusebitów to tak.....
1. nie wiem czy AT89S4051 ma wogóle jakies fusebity, to nie jest uC rodziny avr tylko MCS51 (trzeba popatrzeć w karcie)
2. burn-o-mat nie obsługuje tego uC więc jak mam dać ci zrzut z tego programu
3. nigdy nie programowałem żadnego uC z serii at89s....
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
witam :)
kolejne pytanie :) Czy programatorem usbasp da sie programowac at89s4051? jesli tak to jakiego programu uzyc?
Re: Programowanie
Nie da się zaprogramowac tego za pomocą usbaspa.... sam miałem ostatnio problemy z uruchomieniem innego mikrokontrolera z tej serii... narazie nie rozwiązałem tego problemu
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
A jak sprawdzic czy
A jak sprawdzic czy wystwielacz jest sprawny?? próbowałem stykac wyjscia diod w podstawce z masa i nic...na rozne sposoby probowalem i ciagle nic...do wyswietlacza dochodzi prawidlowo 5v...a diody wogole nie chca sie swiecic...
jak moge sprawdzic czy dobrze jest wszystko zanim wloze kontroler?
Re: Zegar binarny
Popatrz na schemat wyświetlacza, aby odpalić daną diodę trzeba zewrzeć bazę danego tranzystora do masy, poprzez rezystor który już tam jest, a nastepnie wiersz do którego owa dioda jest podłączona
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Za duzo nie umiem odczytac ze
Za duzo nie umiem odczytac ze schematu...jestem zielony troche :/ ...Troche sie poglowilem i udalo mi sie sprawdzic diody :P
I dzialaja...oprocz jednej diody ( zaznaczylem to wrzystko na zdjeciu:
http://a.imageshack.us/img833/6431/wyswietlacz.jpg ) i ostatniej kolumny...wszystkie diody sa sprawne...i tranzystor tez sprawdzalem...polaczenie wyswietlacz <-> sterownik tez jest... no i nie wiem co moze byc nie tak...luty tez wygladaja na dobre...moze jakas wskazowka co sprawdzic?
ps.Moze wykonanie plytki nie jest najlepsze ale ja jestem dumny...pierwsza plytka metoda termotransferu wg. Twojego opisu ;)
---------
Co trzeba zmienic w kodzie programu aby dzialal na attinie 2313? Bo za bardzo nie wiem od czego mam zaczac...
Re: Zegar binarny
A zasilanie dochodzi do tego tranzystora? może diody są na odwrót wlutowane albo ścieżka któraś nie przewodzi, odwróć płytkę i popatrz na ścieżki. Jeśli tranzystor jest sprawny i w stanie włączenia ma potencjal na bazie niski a na emiterze napięcie zasilania to na kolektorze też musi mieć wysoki potencjał. Jeśli na anodach diod zatem jest napięcie około 5V to zwarcie do masy ich katod poprzez rezystory włączy je
Program do tiny2313 to nie jest tak prosty z mety do przerobienia i trzeba nad tym trochę przemyśleć, już mówiłem że narazie nie mam kiedy tego zrobić
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Mialeś racje :) sciezka nie
Mialeś racje :) sciezka nie laczyla...i juz mi wszystkie diody dzialaja :) teraz tylko musze wykombinowac gdzie i jak moge zaprogramowac kontroler...mam at89s i at89c...
A! I mam pytanie troche z innej beczki :P w jaki sposob powinno sie lutowac... najpierw podgrzac miejsce lutowania przykladajac grot do plytki pcb i przylozyc do grotu kawalek cyny zeby splynela na plytke czy raczej najpierw dotknac grotem cyny a potam ta cyne na plytke przenosic?
Troche glupie pytanie pewnie z Twojego punktu widzenia...no ale kto nie pyta ten bladzi :P
Re: Zegar
AT89C.... napewno zaprogramują ci w sklepie...
Są różne techniki lutowania ale najczęściej przykładam cynę w postaci drucika jednocześnie do punktu lutowniczego na płytce i nóżki elementu a potem podgrzewam całość(nóżkę elementu albo cynę zależnie od grubości cyny i delikatności elementu). Topnik zawarty w spoiwie lutowniczym znacznie ułatwia lutowanie. Jak dotkniesz cyną do grota to topnik wyparuje w 0.5s i w niczym ci nie pomoże.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Jak to w sklepie mi
Jak to w sklepie mi zaprogramuja? :-o szczeka mi poprostu opadla...tak poprostu wchodze i daje im wsad a oni wgrywaja? to by było zbyt piekne aby bylo prawdziwe :P ale sprobuje ;) gorzej bo najblizszy sklep mam 50 km dalej (kielce)...
Oj co ja bym bez Ciebie zrobił... marze o takim binarnym swojej roboty rok czasu...i dopiero teraz znalazlem kogos kogo moge zapytac o to co nie wiem...Dzieki wielkie :)
ps.Usbasp dziala juz bez problemu, wymienilem ta diode krzemowa na zenera i po problemie...tylko gorzej ze sterami bo mam wersje win7 64 bitowa ale nie wazne...mam xp i nie ma problemu ...jeszcze raz dzieki za cierpliwosc :)
Sugestia
Witaj
Zauważyłem że sporo osób pyta czym zaprogramować procesor
Mało programatorków obsługuje "51"
ale mogę z czystym sumieniem polecić
Witam
Chcę przedstawić dość Ciekawy program do programowania przez port ISP procesorów AT89S5x AT89Sx051 AVR .
Program jest KOREAŃSKI ale przypuszczam że się wielu osobom przyda.
Program posiada meni w języku angielskim.
Program obsługuje sporą ilość układów i działa zadziwiająco szybko
Lista układów:
AT89S51, AT89S52, AT89LS51, AT89LS52, AT89S8253, AT89S2051, AT89S4051
AT90CAN32, AT90CAN64, AT90USB647, AT90CAN128, AT90CAN128auto,
AT90USB1286, AT90USB1287, AT90USB646, AT90PWM1, AT90PWM2, AT90PWM2B,
AT90S1200, AT90S2313, AT90LS2323, AT90S2323, AT90LS2343, AT90S2343, AT90S4414, AT90LS4434, AT90S4434, AT90S8515, AT90LS8535, AT90S8535,
ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny25auto, ATtiny26, ATtiny44, ATtiny45, ATtiny45auto, ATtiny84, ATtiny85, ATtiny85auto,
ATmega48, ATmega48auto, ATmega8, ATmega88, ATmega88auto, ATmega8515, ATmega8535
ATmega16, ATmega162, ATmega164, ATmega165, ATmega165P, ATmega168, ATmega168auto,
ATmega169, ATmega169P, ATmega32, ATmega324, ATmega325, ATmega3250, ATmega329, ATmega3290
ATmega64, ATmega640, ATmega644, ATmega6450, ATmega649, ATmega6490
ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561
Widok programu
Schemat programatora i spis układów w formacie graficznym
Oczywiście jeżeli ktoś chce to są inne tego typu programy jednak o mniejszych możliwościach
Linki
Link do strony programu www.toastprog.com
Link do programu ToastProg2005_Setup_1.1b.exe
inny program obsługi STK200
Widok programu
Link do strony programu http://www.kmitl.ac.th/~kswichit/IspPgm30a/ISP-Pgm30a.html
Link do programu ISP-Flash Programmer
Natomiast jeżeli ktoś nie posiada portu LPT to polecam ten adapterek do STK200 "LPT2USB
Link do strony programu USB2LPT