Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zegar i termometr na Attiny2313 dla początkujących

mi_ma 08 Lis 2017 21:43 2823 5
  • Zegar i termometr na Attiny2313 dla początkujących

    W poniższym poście znajdziecie proste projekty znalezione na jednym z rosyjskich forów. Projekty przeznaczone są dla początkujących elektroników, którzy chcieliby rozpocząć swoją przygodą z mikrokontrollerami AVR (Atmel). Projekty zawierają schematy, wzory płytek PCB, wsady do mikrokontrolerów w formacie HEX. Są to idelane projekty, które można wykorzystać do nauki projektowania PCB w Eagle, samodzielnego wykonywania obwodów i programowania mikrokontrolerów.

    Zegar zbudowany na Attiny2313
    Zegar i termometr na Attiny2313 dla początkujących Zegar i termometr na Attiny2313 dla początkujących Zegar i termometr na Attiny2313 dla początkujących

    Jednym z pierwszych prostych projektów jakie można wykonać jest zegar na mikrokontrolerze. Od strony sprzętowej projekt ogranicza się do podłączenia mikrokontrolerza taktowanego oscylatorem do wyświetlaczy LED i dwóch przycisków służących do zmiany aktualnej godziny.

    Autor jednak poruszył problem, który w projektach dla początkujących jest często pomijany, a dotyczy przeciążenia wejść portu mikrokontrolera. O ile stosuje się rezystory na pinach wyjściowych służących do wyregulowania prądu na każdej z diod, tak aby świeciły jednakowo i jasno niezależnie od wyświetlonego znaku, o tyle w projektach dla początkujących zapomina się zabezpieczeniu pinów portu wyjściowego. W efekcie łatwo można przekroczyć dopuszczalną maksymalną wartość prądu na pinie i go przepalić.

    Zegar i termometr na Attiny2313 dla początkujących





    W poniższym projekcie autor celowo stosuje tranzystory, których zadaniem jest między innymi zabezpieczenie pinów przed tym zjawiskiem. W poniższym poście znajdziecie dwie wersje płytki z tranzystorami PDTC124E z wbudowanymi rezystorami na wejściu bazy oraz dla dowolnych innych tranzystorów, gdzie dodatkowo należy dolutować rezystory.

    Zegar i termometr na Attiny2313 dla początkujących Zegar i termometr na Attiny2313 dla początkujących

    wzór obwodu drukowanego w formacie cdr http://www.tehnari.ru/attachments/f170/71602d1331959353-ieaoa-aaeoidhiue-oidhiao.rar
    wzór obwodu drukowanego (z dodatkowymi rezystorami) w formacie cdr http://www.tehnari.ru/attachments/f170/70323d...25927-ieaoa-n-dhacenoidhaie-aaciaie-oeaie.rar
    oprogramowanie mikrokontrolerahttp://www.tehnari.ru/attachments/f170/70325d1331025947-idhioeaea-clock.rar
    Źródło http://www.tehnari.ru/f170/t70172/


    Termometr zbudowany na Attiny2313

    Zegar i termometr na Attiny2313 dla początkującychZegar i termometr na Attiny2313 dla początkujących
    Zegar i termometr na Attiny2313 dla początkującychZegar i termometr na Attiny2313 dla początkujących

    Proste urządzenie działa w oparciu o cyfrowy czujnik temperatury MAXIM-DALLAS DS18B20 mierzący temperaturę w zakresie od -55oC do +125oC. Czujnik przesyła dane cyfrowe do mikrokontrolera poprzez jednoprzewodowy interfejs komunikacyjny.

    Zegar i termometr na Attiny2313 dla początkujących

    Chociaż w projekcie czujnik zasilany jest z 5V, to możliwe jest zastosowanie tutaj zasilania w trybie "pasożytniczym", gdzie pin zasilający podłączony jest do masy, natomiast czujnik pobiera energię niezbędną do pracy z sygnału linii komunikacyjnej. Może mieć to znaczenie w sytuacji, w której chcielibyśmy użyć czujnika w pewnej odległości od układu. Możliwe jest wtedy zastosowanie przewodu dwużyłowego zamiast trójżyłowego.

    Poniżej fragment dokumentacji czujnika:

    Zegar i termometr na Attiny2313 dla początkujących

    dokumentacja DS18B20 https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

    Dane przetwarzane są przez mikrokontroler ATtiny2313, który ma za zadanie przedstawić wartość odczytanej temperatury na wyświetlaczach siedmio-segmentowych. Mikrokontroler pełni tutaj rolę dekodera dla wyświetlacza siedmiosegmentowego odpowiednio "zapalając" diody. Sam mikrokontroler wykorzystuje do pracy wewnętrzny oscylator.

    Podczas programowania należy oczywiście odpowiednio skonfigurować mikrokontroler (ustawić wartości Fuse Bits). Na poniższym zdjęciu przedstawiono jak to poprawnie wykonać:

    Zegar i termometr na Attiny2313 dla początkujących

    Na stronie źródłowej znajdziecie:

    wzór obwodu drukowanego w formacie cdr http://www.tehnari.ru/attachments/f170/60952d1325312087-oadhiiiaodh-ia-attiny2313.rar
    program do mikrokontrolera w formacie HEX http://www.tehnari.ru/attachments/f170/60949d1325312087-idhioeaee.rar

    Zegar i termometr na Attiny2313 dla początkujących

    źródło http://www.tehnari.ru/f170/t61947/


    Fajne!
  • #2 08 Lis 2017 23:06
    fotomh-s
    Poziom 16  

    Na forum było takich termometrów od groma. Były także kody źródłowe, sam w ten sposób się nauczyłem takie rzeczy budować.
    Korzystając z HEXa to człowiek się niczego nie nauczy, no chyba że ma zamiar uczyć się programowania w kodzie maszynowym :-P

    Co do pierwszego przykładu to SMD nie jest typowym rozwiązaniem dla początkujących. Zaczyna się od przewlekanego, potem przychodzi czas na SMD.

  • #3 08 Lis 2017 23:10
    szymon122
    Poziom 36  

    mi_ma napisał:
    zapomina się zabezpieczeniu pinów portu wyjściowego. W efekcie łatwo można przekroczyć dopuszczalną maksymalną wartość prądu na pinie i go przepalić.

    Spytam tak z ciekawości: Co wtedy się dzieje?

    Nie działa nam jedna "nóżka" czy uszkadzamy od razu cały mikroprocesor?
    Czy nie będzie działać jedynie jako wyjście a czy jako wejście ma szanse działać?

    Pytam tutaj głównie o układy z rodziny jak powyższy ale proszę o wszystkie wypowiedzi z waszymi doświadczeniami ;)

    Dodano po 2 [minuty]:

    fotomh-s napisał:
    Co do pierwszego przykładu to SMD nie jest typowym rozwiązaniem dla początkujących. Zaczyna się od przewlekanego, potem przychodzi czas na SMD.

    Jeśli ktoś nie umie programować a lutuje dobrze to czemu nie ;)

    Ja osobiście wolę SMD, chociażby w obudowach 1206, są duże, nic nie trzeba wiercić, płytki wychodzą mniejsze, większy wybór elementów które jednocześnie są tańsze, wg mnie same plusy.

  • #4 08 Lis 2017 23:12
    fotomh-s
    Poziom 16  

    Sam osobiście zrobiłem kiedyś zwarcie na porcie. Padła jedna nóżka, jednak proc działał dalej. Był to ATtiny2313.
    Kiedyś podłączyłem odwrotnie ATmegę16, rozgrzała się tak że poparzyłem sobie palec. Padła także chyba tylko jedna nóżka (od jakiegoś portu) i także proc działał dalej.

  • #5 08 Lis 2017 23:21
    szymon122
    Poziom 36  

    Bardziej mnie interesuje czy nóżka uszkodzona podczas pracy jako wyjście ma szanse poprawnie działać jako wejście.
    Coś gdzieś mi świta, że gdzieś widziałem projekt w którym autor miał uszkodzony procesor właśnie w wyniku zwarcia czy czegoś w tym stylu i pin ten wykorzystał jako wejście czujnika. Niestety nie mam pojęcia jaka to był model.
    Wg tego schematu (źródło: Datasheet Attiny2313) za funkcję "wejście" oraz "wyście" odpowiadają inne elementy.
    Zegar i termometr na Attiny2313 dla początkujących

  • #6 08 Lis 2017 23:23
    R-MIK
    Poziom 37  

    szymon122 napisał:
    mi_ma napisał:
    zapomina się zabezpieczeniu pinów portu wyjściowego. W efekcie łatwo można przekroczyć dopuszczalną maksymalną wartość prądu na pinie i go przepalić.

    Spytam tak z ciekawości: Co wtedy się dzieje?

    Różnie, jak podałem +12V na pin, to uszkodziłem tylko ten jeden pin. Zwieraniem do masy czy zasilania pojedynczych wyprowadzeń nigdy nic nie uszkodziłem. Tranyzstr MOS zaczyna sie nagrzewać i przez co zwiększa swoja rezystancję. Prąd sie stabilizuje na pewnym poziomnie. Zwierając kilkanaście pinów, pewnie mozna uszkodzić uC. Właśnie ze wzgledu na to zjawisko, przeciążone porty nie uszkadzaja się. To, że w nocie napisano 20mA, oznacza, że przy takim prądzie gwarantowane jest określone napięcie, które bedzie interpretowane jako poziom wysoki/niski. Dlatego LED multipleksowany działa, bedzie troche słabiej świecił. Trzeba jednak uważać, aby nie przekroczyc max prądu dla całego układu.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME