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.

Minutnik na mikrokontrolerze AVR

badworm 11 Paź 2008 17:40 9356 27
  • Minutnik na mikrokontrolerze AVR

    Przedstawiam minutnik o zakresie odmierzanego czasu od 1 do 99 minut, wykonany przeze mnie już jakiś czas temu. Wykonany on został w oparciu o mikrokontroler MEGA8 rodziny AVR. Czas, jaki ma być odmierzony, jest regulowany z krokiem 1 minuty przy pomocy dwóch przycisków, zwiększających wartość dziesiątek minut i pojedynczych minut. Trzeci przycisk rozpoczyna odliczanie czasu. Upływ każdej minuty jest sygnalizowany krótkim sygnałem dźwiękowym a zakończenie odmierzania - długim. Dodatkowo przez cały czas odmierzania aktywne jest wyjście tranzystorowe typu OC - pozwala to sterować jakimś urządzeniem zewnętrznym. W celu zmniejszenia poboru prądu (co ma szczególnie znaczenie przy odmierzaniu dłuższych okresów czasu) w trakcie odliczania wyświetlacze są wygaszone - zapalają się tylko na sekundę po upływie każdej minuty pokazując ile czasu pozostało.

    Oprogramowanie powstało w języku C (kompilator GCC AVR) i w dużej mierze opiera się na przykładowym programie z kursu C na AVR z Elektroniki dla Wszystkich 9/2005.

    Płytka drukowana została zaprojektowana pod obudowę typu Z56 firmy Kradex i wykonana termotransferem. Ze względu na brak miejsca nie ma złącza ISP - należy albo dolutować się przewodami do płytki na czas programowania albo zaprogramować procesor wcześniej i potem go wlutować. Urządzenie jest zasilane 3 bateriami typu AA. Rezystory oznaczone na schemacie jako R2, R11 i R12 mogą być pominięte podczas montażu. Kondensatory 100nF są w rozmiarze 1206, pozostałe elementy RC SMD w rozmiarze 0603. Otwór w bocznej ściance obudowy to złącze OUT.

    Minutnik na mikrokontrolerze AVR

    W załączniku schemat, projekt płytki w formacie Autotrax oraz kod źródłowy programu i plik wynikowy w formacie Intel-Hex.

    Minutnik na mikrokontrolerze AVR
    Minutnik na mikrokontrolerze AVR

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    badworm
    Poziom 18  
    Offline 
    badworm napisał 343 postów o ocenie 30, pomógł 0 razy. Jest z nami od 2002 roku.
  • Relpol przekaźniki
  • #2
    kamilsos
    Poziom 13  
    Brawo, wykonanie niczego sobie. Na szczególny podziw zasługuje to iż udało ci się przylutować elementy w rozmiarze 603 co czasami może przyprawić o ból głowy. Ogólnie bardzo fajne urządzenie - proste i użyteczne. Przy okazji zapoznałeś mnie z oferta firmy Kradex która wygląda na bardzo atrakcyjna, ciekawe czy prowadza sprzedaż wysyłkową.
    Pozdrawiam
  • #3
    Zuliczek
    Poziom 17  
    Płytka w miarę starannie wykonana (oprócz tej kreski co idzie od przełącznika aż po wyjście zegarowe), w miarę ładne pudełko, ale z tym że wydaje się być toporne i nieporęczne. Mogłeś równie dobrze zamiast ATMEEGA8 wykorzystać ATTiny26L który ma dokładnie tyle portów ile Ci trzeba i jest w obudowie SO20 a nie DIP28 co dało by Ci możliwość jeszcze większej miniaturyzacji urządzenia, jak byś jeszcze zastosował resztę elementów (tj. tranzystory) to w ogóle wspaniale. Pomijając już fakt że wtedy wystarczy 2,7V (3V bateryjka, lub 2 typu AAA) a nie 4,5V.

    Projekt moim zdaniem i tak bardzo ładny.
  • Relpol przekaźniki
  • #4
    mirekk36
    Poziom 42  
    Zuliczek napisał:
    Płytka w miarę starannie wykonana (oprócz tej kreski co idzie od przełącznika aż po wyjście zegarowe), w miarę ładne pudełko, ale z tym że wydaje się być toporne i nieporęczne. Mogłeś równie dobrze zamiast ATMEEGA8 wykorzystać ATTiny26L który ma dokładnie tyle portów ile Ci trzeba i jest w obudowie SO20 a nie DIP28 co dało by Ci możliwość jeszcze większej miniaturyzacji urządzenia, jak byś jeszcze zastosował resztę elementów (tj. tranzystory) to w ogóle wspaniale. Pomijając już fakt że wtedy wystarczy 2,7V (3V bateryjka, lub 2 typu AAA) a nie 4,5V.

    Projekt moim zdaniem i tak bardzo ładny.


    .... chłopie czy ty w ogóle czytałeś sam to co napisałeś????

    - płytka dobrze zrobiona tylko, że źle
    - obudowa ładna ale brzydka
    - jakbyś zastosował resztę elementów to byłoby wspaniale
    - bateryjka 3V do wyświetlaczy LED (zastanów się ile to podziała)

    badworm -> widać, że się uczysz i jak na początkującego to bardzo fajnie i starannie wykonany projekcik - można powiedzieć taki szkoleniowy. Widać, że jeśli chodzi o projekt to myślisz o wszystkich etapach od początku do końca - a nie tak jak wielu - coś rozgrzebią, napiszą jakiś kawałek softu i przedstawiają pół-pająka jako końcowy efekt swojej pracy.

    Przy takim podejściu na przyszłość - widać, że będą z ciebie ludzie, potrafisz zacząć, zrobić ale też skończyć w dobrym stylu.
  • #5
    wojnar
    Poziom 16  
    Ładny projekcik, sam zamierzam coś podobnego zrobić do kuchni.
    Ale wiesz co?
    badworm napisał:
    ... W celu zmniejszenia poboru prądu (co ma szczególnie znaczenie przy odmierzaniu dłuższych okresów czasu) w trakcie odliczania wyświetlacze są wygaszone - zapalają się tylko na sekundę po upływie każdej minuty pokazując ile czasu pozostało.
    ...

    Zmienił bym na tak, że wyświetlacze zapalały by się, powiedzmy też na sekundę, po naciśnięciu któregoś z przycisków. Bo tak jak masz jest trochę nie praktycznie.
  • #6
    marekos
    Poziom 15  
    Urządzenie bardzo starannie wykonane i efekt końcowy wizualnie bardzo mi się podoba.

    Chciałbym tylko wiedzieć jak jest z dokładnością tego minutnika czy przypadkiem on przy 99 minutach nie rozjeżdża się o sekundę lub dwie?
  • #7
    Mariusz25183
    Poziom 12  
    W pełni zgadzam się z kolegą mirekk36.
    Projekt został przemyślany od początku do końca. Zamieszczony schemat układu, dość starannie wykonana płytka, umieszczona w obudowie czyni projekt skończonym. Widać wkład pracy jaki został włożony od początku do końca tego projektu. Nauczmy sie doceniać to, że są osoby, które potrafią korzystać z lekcji C zamieszczonych w czasopismach i wykorzystywać wiedzę do takich projektów. Na pewno kolejne będą bardziej zaawansowane i będą budzić podziw.
    Jak dla mnie duży plus za wykonanie i chęci zabawy elektroniką.
  • #8
    badworm
    Poziom 18  
    wojnar napisał:

    Zmienił bym na tak, że wyświetlacze zapalały by się, powiedzmy też na sekundę, po naciśnięciu któregoś z przycisków. Bo tak jak masz jest trochę nie praktycznie.

    Wcześniej zazwyczaj korzystałem z minutnika w komórce a tam też szybko znika mi pozostały czas i telefon przechodzi do ekranu głównego. Generalnie interesuje mnie sam fakt końca odmierzanego okresu czasu a nie to, ile pozostało jeszcze więc obecne rozwiązanie jak dla mnie jest dobre.

    marekos napisał:
    Chciałbym tylko wiedzieć jak jest z dokładnością tego minutnika czy przypadkiem on przy 99 minutach nie rozjeżdża się o sekundę lub dwie?


    Nie sprawdzałem dokładności dla czasów rzędu kilkudziesięciu minut - program był kalibrowany dla chyba 10 minut. Przy 80 czy 90 minutach sekunda w te czy w tamte raczej nie robi różnicy :)

    mirekk36 -> nie przypuszczałem, że na bazie jednego malutkiego projektu można tyle o człowieku się dowiedzieć ;)
  • #9
    mszr
    Poziom 12  
    Jest w tym prostym ukladzie kilka niedociagniec, albo schemat jest zle narysowany ? Te dwa kondensatory - 100n, czy przelaczniki ... Wykonianie tez nieszczegolne. Swoja droga sowiecki design obudowy moze spowodowac niezla panike u niezorientowanego co to jest, przypomina mi bombe zegarowa. Proponuje zabrac toto na lotnisko wyjac i postawic gdzies na jakims stole. Efekt bedzie piorunujacy, mozna tym mierzyc np. czas reakcji ochrony lotniska.
  • #10
    diodak32
    Poziom 11  
    Kolego badworm, ja popatrzę nieco bardziej krytycznie,
    a mianowicie nie podoba mi się sposób kluczowania tranzystorów T1 i T2.
    Twój schemat (choć urządzenie działa) ma błąd, Rezystory R2 i R11 powinny być podłączone do +V z jednej strony, a z drugiej bezpośrednio do pinów procka PB2 i PB3 oraz powinny być tak dobrane, aby przy stanie niskim prąd przez nie płynący +prąd bazy tranzystora nie przekroczył dopuszczalnego prądu na pinie procesora.
    Na schemacie jaki przedstawiłeś te rezystory podłączone są do +V oraz do baz tranzystorów, lecz po ustawieniu pinu procesora w stan niski (załączenie tranzystora) robi Ci się dzielnik napięcia na odpowiednio parach rezystorów R2 i R1 oraz R11 i R10. Zastosowanie rezystorów R1 i R10 powinno ograniczyć prąd bazy załączonego tranzystora do nieprzekraczalnego progu prądu dla danego pinu procka oraz prąd ten powinien wprowadzić tranzystor w stan nasycenia. Przy Twoim rozwiązaniu powstaje dzielnik i to czy tranzystor przejdzie w stan nasycenia (tj. "całkowicie załączy") zależy w dużym stopniu od egzemplarza jaki tam włożysz i jego parametrów. Wydaję mi się, że nie policzyłeś tych wartości rezystorów ani prądów płynących przez te rezystory, lecz trochę na "czuja" je dobrałeś, a szkoda, bo przy okazji mógłbyś się dowiedzieć co to jest wzmocnienie tranzystora i jak to przełożyć z teorii w praktykę.
    Rezystory R1 i R10 w/g mnie mają kilkakrotnie za duże wartości.
    Podobna sytuacja dotyczy tranzystora T3, przy czym stosowanie tam rezystora R12 jest zupełnie bezcelowe, a również brak rezystora pull-up (podciągającego pin procka do +V). Piny PC0 do PC3 (od klawiszy) również powinny mieć rezystory pull-up, niezależnie od tego, czy poprzez odpowiednie wpisy w rejestrach da się załączyć wewnętrzne pull-up'y.
    Zastosowanie takich zewnętrznych rezystorów podciągających pomijając przypadki kiedy jest wymagane, podnosi również stabilność układu.
    Buzzer powinieneś również załączać poprzez tranzystor.

    Ponadto musisz zrobić coś z sygnałem (pinem) RESET'u - pozostawiony na pastwę losu woła o pomstę do Nieba. Daj chociaż rezystor z kondensatorem, który opóźni start układu do czasu ustabilizowania się napięcia w układzie i naładowania kondensatora.

    Życzę kolejnych, udanych projektów z udziałem mikrokontrolerów
  • #11
    chszanek
    Poziom 13  
    Witam.
    Ja nie wypowiadam się za bardzo na temat wykonania/projektu bo sam często nie realizuję "ładnie" :( swoich projektów.
    Moja propozycja:
    - czemu by nie rozszerzyć czasu odliczanego o kolejne 99 minut?? Bo jak by na przykład mruganie przyjął cyfr przyjął na pierwszy okres 99 minut a wyświetlanie ciągłe końcowe 99, no tylko pojawia się pytanie czy potrzebujesz tak długi czas w kuchni.
    Pozdrawiam.
  • #12
    wojnar
    Poziom 16  
    diodak32 napisał:
    ... a również brak rezystora pull-up (podciągającego pin procka do +V). Piny PC0 do PC3 (od klawiszy) również powinny mieć rezystory pull-up, niezależnie od tego, czy poprzez odpowiednie wpisy w rejestrach da się załączyć wewnętrzne pull-up'y.
    Zastosowanie takich zewnętrznych rezystorów podciągających pomijając przypadki kiedy jest wymagane, podnosi również stabilność układu.

    Do teraz myślałem, że prawie te pull-up rezystory załączane w procku są po to, by nie trzeba było by je dodawać fizycznie a cały układ byłby prostszy.
    A poza tym nigdzie nie widziałem tak dodanych rezystorów.

    diodak32 napisał:
    ...Buzzer powinieneś również załączać poprzez tranzystor....

    Dlaczego ???
  • #13
    szeryf.rm
    Poziom 22  
    Buzer wypada podłączyć przez tranzystor. Ja to nawet dostawiam diodę odwrotnie spolaryzowaną z buzerkiem (podobnie do przekaźników), bo miałem serię buzerków, które sterowane z tranzystora resetowały procesor! Od tego czasu zapobiegawczo dodaję diodę, bo ocyloskop pokazał wtedy ujemne szpilki. Jeśli zaś chodzi o tranzystor to również należy go traktować jako obowiązek. Buzerki ciągną często ponad 40mA, a wiele nawet 80mA (i to te małe). Nie możliwe? Ci co nie wierzą mogą sprawdzić. Nawet podaje linka:
    http://www.tme.eu/sygnalizator-elektromagnetyczny-fi-90x55mm/arts/pl/b14/bmt-0903h5_5.html

    Z RESETem faktycznie coś przydałoby się zrobić.

    Rezystory podciągające przy przyciskach to nie jest obowiązek jak napisał diodak32. Stabilność układu może poprawić dobrze napisany program, a niekoniecznie zewnętrzny element.



    diodak32 nie zgodzę się także z teorią o sterowaniu tranzystorami. Skąd pomysł, że tak nie powinno się robić? Dziwna i niesamowita teoria. Proponuję sprawdzić tranzystory bipolarne takie jak:
    http://www.iele.polsl.pl/elenota/Philips/bu2508df_2.pdf
    Proponuje zwrócić uwagę na to gdzie jest opornik i ile ma ohm.

    Co do zbyt wysokich rezystancji w bazach, to faktycznie są one dość wysokie, ale nie przejmowałbym się tym. To jest takie 'darmowe' zabezpieczenie żeby nie przekroczyć 200mA przy zapaleniu się wszystkich segmentów.

    Także błędy są, ale nie ma ich tak wiele jak napisał diodak32.

    Kod źródłowy dość ładny choć polecam zamiast konstrukcji 1<<x pisać _BV(x), ale 1<<x jest również prawidłowe, tyle że czasami można paść jego ofiarą jak zapomni się o priorytetach operatorów, podczas gdy makro _BV(x) jest rozwinięte w postaci (1<<x), więc są dodatkowe nawiasy. Reszta wygląda dość ładnie i starannie.

    Obudowa. Mi się podoba. Obróbka plastiku z tych obudów nie jednego pewnie przyprawia o ból głowy, jak ma wyjść ładnie, a już otwory na wyświetlacze to zawsze jest zabawa.

    Ogólnie ocena na 4/5 ze względu na drobne błędy na schemacie.
  • #14
    wojnar
    Poziom 16  
    szeryf.rm napisał:
    Buzer wypada podłączyć przez tranzystor. Ja to nawet dostawiam diodę odwrotnie spolaryzowaną z buzerkiem (podobnie do przekaźników), bo miałem serię buzerków, które sterowane z tranzystora resetowały procesor! Od tego czasu zapobiegawczo dodaję diodę, bo ocyloskop pokazał wtedy ujemne szpilki..
    .
    Dzięki za uprzedzenie, bo prawie coś zkleciłem, a prawie buzerkiem. Do buzerka prewentywnie, i choć do teraz nie są komplikacje, dodam diodkę :-)
  • #15
    SatServ
    Poziom 15  
    diodak32 napisał:
    Kolego badworm, ja popatrzę nieco bardziej krytycznie,
    a mianowicie nie podoba mi się sposób kluczowania tranzystorów T1 i T2.
    Twój schemat (choć urządzenie działa) ma błąd, Rezystory R2 i R11 powinny być podłączone do +V z jednej strony, a z drugiej bezpośrednio do pinów procka PB2 i PB3 oraz powinny być tak dobrane, aby przy stanie niskim prąd przez nie płynący +prąd bazy tranzystora nie przekroczył dopuszczalnego prądu na pinie procesora.
    Na schemacie jaki przedstawiłeś te rezystory podłączone są do +V oraz do baz tranzystorów, lecz po ustawieniu pinu procesora w stan niski (załączenie tranzystora) robi Ci się dzielnik napięcia na odpowiednio parach rezystorów R2 i R1 oraz R11 i R10. Zastosowanie rezystorów R1 i R10 powinno ograniczyć prąd bazy załączonego tranzystora do nieprzekraczalnego progu prądu dla danego pinu procka oraz prąd ten powinien wprowadzić tranzystor w stan nasycenia. Przy Twoim rozwiązaniu powstaje dzielnik i to czy tranzystor przejdzie w stan nasycenia (tj. "całkowicie załączy") zależy w dużym stopniu od egzemplarza jaki tam włożysz i jego parametrów. Wydaję mi się, że nie policzyłeś tych wartości rezystorów ani prądów płynących przez te rezystory, lecz trochę na "czuja" je dobrałeś, a szkoda, bo przy okazji mógłbyś się dowiedzieć co to jest wzmocnienie tranzystora i jak to przełożyć z teorii w praktykę.
    Rezystory R1 i R10 w/g mnie mają kilkakrotnie za duże wartości.
    Podobna sytuacja dotyczy tranzystora T3, przy czym stosowanie tam rezystora R12 jest zupełnie bezcelowe, a również brak rezystora pull-up (podciągającego pin procka do +V).


    Proszę nie wypisywać bzdur na elektrodzie. Nie wiem jaką kolega diodak32 szkołę kończył ale o tranzystorach to kolega nie wie nic :/ A rezystory R1 i R10 mogą mieć nawet i po 100kOhm (przy odpowiednich wartościach R2 i R11) a układ będzie działał poprawnie. Jak kolega nie wierzy niech sobie kolega polutuje i sprawdzi. Chociaż zapewniam - nie jest to kwestia wiary:) A stosowanie rezystora R12 jest jak najbardziej celowe. Pzdr. SatServ
  • #16
    diodak32
    Poziom 11  
    Kolego SatServ
    nie piszę bzdur, lecz cenne uwagi, a co do dowolności wartości rezystorów R1 i R10 to nie jest tak jak napisałeś, ponieważ tranzystory bipolarne steruje się prądem, a nie napięciem jak w przypadku tranzystorów polowych.
    W związku z czym do poprawnego załączenia tranzystora ważne jest jaki płynie prąd przez złącze Kolektor-Baza (dla PNP), a to w tym przypadku zależy od zastosowanych (w/w) rezystorów podłączonych w szereg z bazą.
    Robienie dzielnika napięcia na R1/R10 jest rozwiązaniem niewłaściwym. Zatem nie prawdą jest, że układ będzie działał poprawnie przy zastosowaniu dowolnych wartości rezystorów R1 i R10 przy odpowiednim dobraniu rezystorów R2 i R11, gdyż jeśli pomimo zachowania na dzielniku odpowiedniego spadku napięcia prąd bazy będzie za niski, to tranzystor nie przejdzie w stan nasycenia i się albo wogóle nie załączy, albo powstanie na wskutek źle dobranego punktu pracy duży spadek napięcia na złączu kolektor-emiter, co będzie (przy odpowiednio dużym prądzie wyświetlacza) powodowało nadmierne grzanie się tranzystora, a w efekcie doprowadzi do jego spalenia.

    BTW, co do mojej szkoły to ukończyłem właściwą i niejeden projekt mikroprocesorowy w swoim życiu wprowadziłem do seryjnej produkcji na polski rynek - jak narazie działają niezawodnie.

    Kolego wojnar,
    wiem, że wewnętrzne pull-up'y sa po to, aby zminimalizować ilość zewnętrznych elementów, natomiast stosowanie zewnętrznych ma na celu zwiększenie wartości prądu płynącego przez dany pin (oczywiście w dopuszczalnym zakresie), co w efekcie zmniejsza czułość na zakłócenia, które są wszechobecne, ponadto taki sposób sterowania buzzerem, jaki autor zaprezentował na schemacie na pewno będzie generował te zakłócenia.
    Piszesz, że nigdzie nie widziałeś tak dodanych rezystorów, proszę rzuc okiem na kilka schematów urządzeń przemysłowych narażonych na pracę w warunkach, gdzie występują silne zakłócenia, lub w komputerach samochodowych, gdzie występuje spora ilość zakłóceń z układu zapłonowego.

    Kolego szeryf.rm,
    nie wiem czy nie zauważyłeś, lecz autor w swoim projekcie nie zastosował tranzystora BU2508, a rezystor w min i jego rola to zupełnie inna historia.

    Pozdrawiam i życzę dalszych rozważań na temat sterowania tranzystora.
  • #17
    Freddie Chopin
    Specjalista - Mikrokontrolery
    wystarczy ten rezystor podciagajacy baze przeniesc na port procesora - jak pisal diodak32 - i wtedy problemu dzielnikow nie ma - baza bedzie jakostam spolaryzowana gdy procek bedzie mial wyjscia w stanie hi-z, natomiast gdy bedzie juz sterowal tranzystorem, to rezystor ten nie wplywa na baze tranzystora. i wlasnie tak powinno byc.

    skoro ktos tutaj twierdzi, ze rezystory na bazie moga byc dowolne (100k) to znak, ze nadszedl czas na przeczytanie ksiazki.

    prad wyplywajacy/wplywajacy do kolektora tranzystora bipolarnego jest zalezny (w przyblizeniu) liniowo od pradu bazy poprzez wspolczynnik $$\beta$$ (czasem oznaczany jako $$h_{FE}$$), ktory jest po prostu WZMOCNIENIEM PRADOWYM tranzystora w - najczesciej stosowanym - ukladzie wspolnego emitera. patrzymy wiec w note tranzystora BC557 i widac tam, ze zaleznie od typu (-A, -B, -C) wzmocnienie to rowne jest ok 100-300. Zalozmy wiec, ze rowne jest 200. no wiec teraz bierzemy te zaproponowane na baze rezystory 100k. odlozy sie na nich ~4,3V (bo ~0.7V na zlaczu baza-emiter), wiec poplynie przez nie prad 43uA (prawo Ohma). wzmocniony 200-krotnie bedzie rowny zaledwie 8.6mA. jesli uwazasz, ze tyle wystarczy dla wyswietlacza, to luz <: tylko po co bylo to cale wzmacnianie, skoro port ma 2x wieksza wydajnosc... wiec skonczyc juz pisanie glupot i brac sie za NAUKE!

    4\/3!!
  • #18
    mrrudzin
    Poziom 39  
    Cytat:

    Piszesz, że nigdzie nie widziałeś tak dodanych rezystorów, proszę rzuc okiem na kilka schematów urządzeń przemysłowych narażonych na pracę w warunkach, gdzie występują silne zakłócenia, lub w komputerach samochodowych, gdzie występuje spora ilość zakłóceń z układu zapłonowego.

    Panowie. Ale my mówimy o minutniku do kuchni czy trawiarki do płytek a nie o urządzeniu pracującemu w środowisku pełnym zakłóceń różnego rodzaju. W przemyśle czasami dzieją się takie cuda że niejednemu się nie śniło. Zaraz dojdziemy do wniosku że całość dobrze byłoby zaekranować itp.

    Nie rozumiem po kiego grzyba w tym układzie dodatkowe rezystory podciągające czy zabawa z Resetem. ATMEGA i z jednym i z drugim poradzi sobie bardzo dobrze sama.
    Podejrzewam że jednym z założeń podczas projektowania układu była jego prostota. Im mniej elementów - tym lepiej.
    Ja również nie rozumiem po co tranzystor załączać buzzerem. Mega powinna spokojnie sobie z nim poradzić.

    Sam rozwinąłbym trochę projekt od strony softu (tak żeby troche dopieścić)
    - dołożył "wyświetlanie" pozostałego czasu przez kilka sekund po naciśnięciu dowolnego przycisku
    - oprogramował "kropkę" po drugiej cyfrze wykorzystując np. wyjście PWM i płynnie ją zapalał i gasił w trakcie odliczania czasu.
  • #19
    szeryf.rm
    Poziom 22  
    SatServ ma rację i Freddie Chopin ma rację. Dlaczego? SatServ nigdzie nie napisał co oznacza dla niego określenie poprawnie. Wyświetlacz przy 100k w bazie nie spowoduje problemów w pracy, a jedynie wyśw. będzie słabiej świecił przy większej liczbie segm. i na odwrót przy mniejszej liczbie. Ale urządzenie nadal wg mnie działa poprawnie i tutaj stanę po stronie SatServ. Natomiast jeśli założe że ma jasno świecić, to oczywiście Freddie Chopin ma także rację. Wszystko zależy od punktu widzenia. Poza tym mam wrażenie, że Freddie Chopin nie zrozumiał co SatServ miał na myśli. Ja odniosłem wrażenie, że jego wypowiedź była umyślnie przesadzona :). A co ciekawsze to w ogóle ja bym w miejsce BC557 wstawił darlingtony bc516 :), bo idę o zakład że przy 7 segmentach zapalonych jednocześnie na wyświetlaczu, wyśw. świeci ciemniej niż tylko na jednym. Ja osobiście nie zastosowałbym BC557 a BC516 dla większej jakości i "jednakowej" niezależnej od ilości świecących segmentów.. Jednak tutaj autor zrobił jak zrobił i dla niego działa (gorzej bo gorzej, ale to nie powód żeby psy na nim wieszać, bo to nadal w tej części jest poprawne), więc po co brnąć dalej?

    Problem dzielników NIE istnieje! Nie wiem skąd diodak32 go wytrzasnął dla tegoż kontretnie przypadku? Dzielnik owszem, źle dobrany i nie działa lub słabiej świeci (ale to logiczne, w końcu to dzielnik, to tak jak pretensje do garbatego że ma dzieci proste. Źle dobierzesz to jasne że nie będzie działać).

    diodak32 grzanie tutaj również w grę nie wchodzi ze względu na nap. E-C ponieważ jak liczymy ze schematu, to spadek nap. na jednym segm. to ~2.7V. Pomijając tranzystor i klucz w procesorze, to mamy (5-2.7)/75 =~30mA. Segmentów maksymalnie może świecić 7, co daje razem 210mA (czyli teoretycznie za dużo na atmega8, ale niewydolne źródło w anodzie wyświetlacza tylu nie dopchnie, ale załóżmy przesadnie że aż 210mA). Spadek na tranzystorze T2 i tak nie będzie większy niż 2V, ale załóżmy przesadnie że będzie to aż 2V. Oczywiście już przy takich założeniach wiadomo, że prąd 210mA na pewno nie popłynie, ale to są przesadne i zaokrąglone w górę obliczenia. Mamy więc:
    210mA prąd BC557
    2V spadku na E-C tranz. BC557
    Współczynnik wypełnienia 0.5
    Razem to da w przybliżeniu 2*210mA*0.5 = 210mW
    Korzystając z karty np. http://pdf.elenota.pl/pdf/Rectron/bc556-557-558.pdf
    dowiadujemy się się, że rezystancja termiczna równa jest 250'C/W. W naszym przypadku to jest daje
    210mW * 250'C/W + 25'C = 77.5'C
    Jak widać nie jest to porażająca temperatura złącza.

    mrrudzin, dokładnie zgadzam się z tobą. Ew. reset warto podciągnąć wraz z kond. lub prościej zewrzeć na stałe z VCC. To akurat nawet w warunkach domowych się przyda. Co do reszty to masz pełną rację, a autor faktycznie w ramach ćwiczeń itd. mógłby rozszerzyć oprogramowanie (ale oczywiście "mógłby" nie wpływa na ocenę) i dodać tranzystor do buczka (to już jest niestety wymóg).

    PS. nie kłóćmy się bez sensu, skoro każdy jak na razie ma rację i wie o co drugiemu chodzi :). Dwa poważniejsze błędy to RESET i brak tranzystora do buczka. Reszta jest w porządku jak dla mnie.
  • #20
    Freddie Chopin
    Specjalista - Mikrokontrolery
    szeryf.rm napisał:
    Problem dzielników NIE istnieje! Nie wiem skąd diodak32 go wytrzasnął dla tegoż kontretnie przypadku? Dzielnik owszem, źle dobrany i nie działa lub słabiej świeci (ale to logiczne, w końcu to dzielnik, to tak jak pretensje do garbatego że ma dzieci proste. Źle dobierzesz to jasne że nie będzie działać).

    zamiast je dobierac wystarczy zrobic tak jak to pisal diodak32 i ja <:

    Cytat:

    210mA prąd BC557
    [...]
    Korzystając z karty np. http://pdf.elenota.pl/pdf/Rectron/bc556-557-558.pdf
    dowiadujemy się się, że...

    ze maksymalny ciagly prad kolektora to 100mA <: ups. <:

    4\/3!!
  • #21
    szeryf.rm
    Poziom 22  
    Freddie Chopin a skąd to ups na końcu? Sądzisz że nie zauważyłem? Zauważ jak liczyłem. Z moich wyliczeń dowiadujemy się... ups... że są one conajmniej o 2 razy zawyżone w stosunku do rzeczywistych. Z rozsądku natomiast dowiadujemy się, że prąd na bank nie przekroczy 200mA a pewnie nawet i 100mA (bo 4.3V/10k*200(wzm)=86mA), a poza tym nawet gdyby doszedł do 180mA jakimś cudem, to masz współczynnik wypełnienia 0.5. Więc nie pisz proszę cię "ups" hehe :)
  • #22
    Freddie Chopin
    Specjalista - Mikrokontrolery
  • #23
    szeryf.rm
    Poziom 22  
    hehe, jak widzisz jedynie sugerowało, ale nie do końca słusznie :P Założenia znacznie w górę są przydatne, bo łatwo liczy się w pamięci, a w tym przyp. po prostu próbowałem pokazać jak wiele można "teoretycznie" puścić żeby nie przekroczyć temp, bo o niej napisał diodak32
  • #24
    badworm
    Poziom 18  
    Cytat:
    Piszesz, że nigdzie nie widziałeś tak dodanych rezystorów, proszę rzuc okiem na kilka schematów urządzeń przemysłowych narażonych na pracę w warunkach, gdzie występują silne zakłócenia, lub w komputerach samochodowych, gdzie występuje spora ilość zakłóceń z układu zapłonowego.

    Dyskusja toczy się na temat projektu minutnika domowego, który jeśli nawet pójdzie w przysłowiowe maliny to nic z tego powodu się nie stanie. W takim wypadku nie ma sensu bawić się w watchdoga, zewnętrzne pull-upy, zewnętrzny obwód restartowania i projektowanie płytki pod kątem odporności na zakłócenia elektromagnetyczne. Pewnie, że można by się bawić w takie rzeczy ale w tym przypadku to byłoby strzelanie z armaty do muchy.
  • #25
    SatServ
    Poziom 15  
    Freddie Chopin napisał:
    wystarczy ten rezystor podciagajacy baze przeniesc na port procesora - jak pisal diodak32 - i wtedy problemu dzielnikow nie ma - baza bedzie jakostam spolaryzowana gdy procek bedzie mial wyjscia w stanie hi-z, natomiast gdy bedzie juz sterowal tranzystorem, to rezystor ten nie wplywa na baze tranzystora. i wlasnie tak powinno byc.

    skoro ktos tutaj twierdzi, ze rezystory na bazie moga byc dowolne (100k) to znak, ze nadszedl czas na przeczytanie ksiazki.

    prad wyplywajacy/wplywajacy do kolektora tranzystora bipolarnego jest zalezny (w przyblizeniu) liniowo od pradu bazy poprzez wspolczynnik $$\beta$$ (czasem oznaczany jako $$h_{FE}$$), ktory jest po prostu WZMOCNIENIEM PRADOWYM tranzystora w - najczesciej stosowanym - ukladzie wspolnego emitera. patrzymy wiec w note tranzystora BC557 i widac tam, ze zaleznie od typu (-A, -B, -C) wzmocnienie to rowne jest ok 100-300. Zalozmy wiec, ze rowne jest 200. no wiec teraz bierzemy te zaproponowane na baze rezystory 100k. odlozy sie na nich ~4,3V (bo ~0.7V na zlaczu baza-emiter), wiec poplynie przez nie prad 43uA (prawo Ohma). wzmocniony 200-krotnie bedzie rowny zaledwie 8.6mA. jesli uwazasz, ze tyle wystarczy dla wyswietlacza, to luz <: tylko po co bylo to cale wzmacnianie, skoro port ma 2x wieksza wydajnosc... wiec skonczyc juz pisanie glupot i brac sie za NAUKE!

    4\/3!!


    Jak najbardziej się z Tobą zgadzam, jak widzisz rezystory 100kOhm w bazach w zupełności wystarczają, 8mA na wyświetlacz SPOKOJNIE by wystarczyło (oszczędności przede wszystkim). Jednak Twoje obliczenia dotyczą LINIOWEJ części ch-ki, jak sam zresztą napisałeś, a w tym układzie tranzystory pracują jako KLUCZE (nieliniowa część ch-ki). Mamy do czynienia z pracą tranzystora w KLASIE C (czy nikt tego nie zauważył?). Tzn. że tranzystor jest całkowicie "zatkany" (w czym niezbędny jest rezystory B-E (Ib=0), wartość tego rezystora jest wiele większa niż tego w bazie) lub całkowicie "nasycony" (w czym niezbędny jest rezystor w bazie - coby nie uszkodzić złącza B-E i doprowadzić je do stanu nasycenia). Nie ma tu mowy o "dzielnikach" jak to napisał diodak, twierdząc że są zbędne - to w innych klasach:) Zresztą dzielniki powinny być raczej kojarzone z napięciem, a nie z prądem. Przypomnę tylko iż spadek napięcia na złączu E-C w całkowicie nasyconym tranzystorze bipolarnym wynosi ok. 0.2V i tego trzeba się trzymać przy dobieraniu rezystorów ograniczających prąd katod w wyswietlaczu (oczywiście trzeba również uwzględnić wsp.wypełnienia). Dyskusja trochę zeszła z tematu - no ale to podstawy, które wypadało by znać ;) Pzdr. SatServ.
    Cytat:
    ... wiec skonczyc juz pisanie glupot i brac sie za NAUKE!
    - trochę pojechałeś po bandzie ;)
  • #26
    cosimo
    Poziom 12  
    Cytat:
    jak widzisz rezystory 100kOhm w bazach w zupełności wystarczają, 8mA na wyświetlacz SPOKOJNIE by wystarczyło (oszczędności przede wszystkim)


    No nie kolego SatServ - żal słuchać (czytać) Twoich wywodów. Kolega Diodak32 niestety ma rację. A mówiąc krótko:

    R1,R10,R13 - 2,2K
    R2, R11,R12 - wywalamy
    T1, T2 - zastępujemy BC327
  • #27
    SatServ
    Poziom 15  
    cosimo napisał:

    No nie kolego SatServ - żal słuchać (czytać) Twoich wywodów. Kolega Diodak32 niestety ma rację.


    Skoro ma rację to chyba stety;) . Primo: to nie są moje wywody tylko teoria z tranzystora, Secundo: nieładnie tak rzucać błotem bez merytorycznego uzasadnienia:|(to chyba narodowa cecha - ubolewam), no chyba że zależy ci na ilości postów:!:

    A poza tym człowieku, czytaj dokładnie posty (ze zrozumieniem) a będzie uzdrowiona dusza twoja!. Moja dyskusja z Diodakiem dotyczy nie tego jak ma być tylko jak może być. Napisze ci to tak żebyś zrozumiał: Diodak napisał że wydaje mu się że rezystory w bazach są za duże a ja twierdzę że wcale tak nie musi być, może ale nie musi - widzisz różnice? Nasza dyskusja ma charakter czysto teoretyczny. Jeżeli cię to uspokoi to napiszę ci, że układ będzie działał przy rezystorach w bazach zarówno 1K, 2K2, 10K jak i 100K. Polutuj sobie i sprawdź. Daleki jestem od negowania lub tym bardziej obrażania kogokolwiek, dlatego ubolewam nad stylem twojej wypowiedzi:|

    Pzdr.SatServ
  • #28
    cosimo
    Poziom 12  
    Cytat:
    nieładnie tak rzucać błotem bez merytorycznego uzasadnienia:|(to chyba narodowa cecha - ubolewam)


    Witam

    Po pierwsze, w którym miejscu Cię „rzucałem błotem” – skrytykowałem tylko Twoją wypowiedź i tyle. Tak zachęcasz wszystkich do lutowania to może sam podłącz taki wyświetlacz (jak w projekcie - podwójny) aby zaświeciły się w obu cyfrach wszystkie segmenty – używając do tego 8mA. A merytoryczne uzasadnienie miałeś w postach kolegów Diodak32 i Freddie Chopin - ale jak widać przeszły bez echa.

    Cytat:
    Moja dyskusja z Diodakiem dotyczy nie tego jak ma być tylko jak może być


    A mnie interesuje jak ma być, żeby było dobrze a 100K w bazie w tym wypadku to naprawdę grube przegięcie.

    I jeszcze raz proszę nie podejrzewać mnie złe intencje, to tylko polemika.

    A tak w ogóle to po co ja to pisze??? ;-)

    pozdrawiam