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

Atmega8 - Debouncing oraz przekaźnik - sprawdzenie układu

Uzi103 25 Lip 2012 18:38 2178 17
  • #1 25 Lip 2012 18:38
    Uzi103
    Poziom 11  

    Witam,
    Czy Debouncing do niwelowania drgrań przycisku podpięty do pinu 16 jest zrobiony prawidłowo?
    Czy przekaźnik również jest podpięty prawidłowo a tranzystor będzie dobre wysterowany?
    Nie mam portu LPT w komputerze tylko mam taki na USB. Czy jest możliwe programowanie mikrokontrolera przez taki port?
    Uwagi mile widziane. Z góry dziękuje

    Atmega8 - Debouncing oraz przekaźnik - sprawdzenie układu

    0 17
  • Pomocny post
    #2 25 Lip 2012 19:26
    LordBlick
    VIP Zasłużony dla elektroda

    Trochę nietypowo, ale wydaje się OK. Natomiast na 2, 3, 4, 5, 6, 12, 13, 14, 15 mają prawo nie działać, AVR-y oferują tylko wewnętrzne podciągnięcie do Vcc, nie ma pulldown do GND.

    0
  • #3 25 Lip 2012 19:29
    Uzi103
    Poziom 11  

    To zamiast wprowadzań napięcie do AVR w miejscu VCC dać GND?

    0
  • Pomocny post
    #4 25 Lip 2012 19:35
    Krauser
    Poziom 26  

    Przekaźnik nie zadziała w takiej konfiguracji. Przenieś go pomiędzy kolektor i 12V i wywal tą diodę na bazie tranzystora. Zamiast złącza drukarkowego wstaw gniazdo IDC 10pin i kup programator na USB np. USBASP.

    0
  • Pomocny post
    #5 25 Lip 2012 19:48
    dondu
    Moderator Mikrokontrolery Projektowanie

    Uzi103 napisał:
    To zamiast wprowadzań napięcie do AVR w miejscu VCC dać GND?

    Tak, a R9 i R16 usuń.
    Dodaj także kondensatory filtrujące 100nF jak najbliżej pinów Vcc tak jak C5.

    Z drganiami styków poradzisz sobie programowo - więc elementy na pinie PB2(16) są zbędne: http://mikrokontrolery.blogspot.com/2011/03/epp-drgania-stykow.html

    0
  • Pomocny post
    #6 25 Lip 2012 19:50
    LordBlick
    VIP Zasłużony dla elektroda

    Uzi103 napisał:
    To zamiast wprowadzań napięcie do AVR w miejscu VCC dać GND?
    Tak. Jak ten na 16 też chcesz przerobić, to daj 100Ω w szereg z kondensatorem, to się styki nie będą wypalać. Te 1kΩ w szeregu są niepotrzebne.

    0
  • #7 25 Lip 2012 20:13
    Uzi103
    Poziom 11  

    Krauser, to ma być jak najprostsza konstrukcja nie chce wydawać dodatkowej kasy na programator zwłaszcza że AVR będzie programowany prawdopodobnie tylko raz. Będzie możliwość zaprogramowania przez ten port LPT podpięty do PC przez USB?
    Czyli przez BD139 ma być przekazywana masa przekaźnika?
    Dondu, częstotliwość sygnałów podawanych do AVR będzie tak duża że muszę takim sposobem niwelować drgania

    Edit
    Z tego co widzę taki programator nie jest drogi mogę zainwestować w niego ;)

    0
  • Pomocny post
    #8 25 Lip 2012 20:17
    dondu
    Moderator Mikrokontrolery Projektowanie

    Uzi103 napisał:
    Czyli przez BD139 ma być przekazywana masa przekaźnika?

    Tak, zobacz: http://mikrokontrolery.blogspot.com/2011/03/przekaznik-i-zaklocenia.html

    Uzi103 napisał:
    Dondu, częstotliwość sygnałów podawanych do AVR będzie tak duża że muszę takim sposobem niwelować drgania

    Jak duża ta częstotliwość?
    Czy ty chcesz zliczać te impulsy, czy tylko stwierdzić brak impulsów?

    0
  • #9 25 Lip 2012 20:22
    Uzi103
    Poziom 11  

    Impulsy będą zliczane. Sygnały będą podawane co 0,25s

    0
  • Pomocny post
    #10 25 Lip 2012 20:24
    dondu
    Moderator Mikrokontrolery Projektowanie

    Uzi103 napisał:
    Impulsy będą zliczane. Sygnały będą podawane co 0,25s

    i to jest ta duża częstotliwość:
    Uzi103 napisał:
    Dondu, częstotliwość sygnałów podawanych do AVR będzie tak duża że muszę takim sposobem niwelować drgania

    :D Masz mikrokontroler z 8MHz i przez 99,9% czasu będzie się nudził w Twoim projekcie.

    Wywal te elementy i zrób programowo jak podałem w linku - nie bój się tego - to jest proste, a nauczysz się czegoś nowego i pożytecznego.

    0
  • #11 25 Lip 2012 21:59
    Uzi103
    Poziom 11  

    Mam teraz takie pytanie odnośnie programowania. Chodzi mi o przyciski gdy do AVR wprowadzana jest masa po przyciśnięciu. Pin ma być wejściem w takim przypadku?
    Np odnośnie pinu 28

    Code:
    config pinc.5=input  
    
    reset portc.5

     do                                     
       if pinc.5=1 then   'jeśli przycisk jest wciśnięty
       wait 30                       
       '{zliczanie sygnaów}                         
       endif                                 

     loop                                     
     
    end

    0
  • Pomocny post
    #13 25 Lip 2012 22:08
    LordBlick
    VIP Zasłużony dla elektroda

    Uzi103 napisał:
    Pin ma być wejściem w takim przypadku?
    Tak, odczyt przez rejestr PIN, z tym że równy 0 oznacza wciśnięcie...

    0
  • #14 25 Lip 2012 22:58
    Uzi103
    Poziom 11  

    Tak ma być?

    Code:
    config pinc.5=input 
    
    set portc.5

     do                                     
       if pinc.5=0 then   'jeśli przycisk jest wciśnięty
       wait 30                       
       '{zliczanie sygnaów}                         
       endif                                 

     loop                                     
     
    end


    A odnośnie pull-up coś jeszcze muszę dopisywać w kodzie? Ehh początki...

    0
  • Pomocny post
    #15 25 Lip 2012 23:06
    LordBlick
    VIP Zasłużony dla elektroda

    Uzi103 napisał:
    A odnośnie pull-up coś jeszcze muszę dopisywać w kodzie?
    Myślę, że nie, jak masz woltomierz, to powinno być trochę niższe napięcie od zasilania przy niewciśniętym przycisku.
    BTW. Używaj tagu syntax. [syntax=basic4gl]Tu kodzio[/syntax]

    0
  • #16 26 Lip 2012 09:48
    SylwekK
    Poziom 29  

    R15 moim zdaniem jest nieco za mały - aż 10mA na bazę tranzystora potrzeba? Spokojnie można tam wstawić 4,7k... no i oczywiście jak już koledzy wspominali wywalić diodę na bazie i przenieść przekaźnik na kolektor, a emiter do masy.

    0
  • #17 28 Lip 2012 11:15
    Uzi103
    Poziom 11  

    Mam taki przekaźnik w skrzynce w maszynie + trafo + jakieś elementy. Nie ja ją podpinałem i z tego jak ją oglądałem wygląda to tak:
    Atmega8 - Debouncing oraz przekaźnik - sprawdzenie układu
    Jeżeli do czujnika indukcyjnego przyłożony jest metal wysyłany jest prą z czujnika do przekaźnika i przekazywane jest napięcie 230V.
    Nie chce nic tam przerabiać chciałem tylko dodać żeby przekaźnik był sterowany atmega
    Atmega8 - Debouncing oraz przekaźnik - sprawdzenie układu
    Będzie to dobrze działać?

    0
  • #18 28 Lip 2012 11:33
    LordBlick
    VIP Zasłużony dla elektroda

    "Trafo 24V" to co to za zwierzę ? Transformatory na wyjściu nie mają stałej biegunowości. Niezależnie od tego wystarczyłby dodatkowy miniaturowy przekaźnik o obciążalności styków podobnej do tego czujnika.

    0