logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

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

Uzi103 25 Lip 2012 18:38 2544 17
REKLAMA
  • #1 11142904
    Uzi103
    Poziom 11  
    Posty: 80
    Ocena: 7
    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
  • REKLAMA
  • Pomocny post
    #2 11143071
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    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.
  • #3 11143086
    Uzi103
    Poziom 11  
    Posty: 80
    Ocena: 7
    To zamiast wprowadzań napięcie do AVR w miejscu VCC dać GND?
  • Pomocny post
    #4 11143116
    Krauser
    Poziom 26  
    Posty: 508
    Pomógł: 124
    Ocena: 12
    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.
  • Pomocny post
    #5 11143157
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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
  • REKLAMA
  • Pomocny post
    #6 11143167
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    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.
  • #7 11143244
    Uzi103
    Poziom 11  
    Posty: 80
    Ocena: 7
    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 ;)
  • Pomocny post
    #8 11143253
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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?
  • #9 11143276
    Uzi103
    Poziom 11  
    Posty: 80
    Ocena: 7
    Impulsy będą zliczane. Sygnały będą podawane co 0,25s
  • REKLAMA
  • Pomocny post
    #10 11143283
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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.
  • REKLAMA
  • #11 11143698
    Uzi103
    Poziom 11  
    Posty: 80
    Ocena: 7
    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

    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
  • Pomocny post
    #12 11143749
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Niestety w Bascom'ie nie pomogę.
    Pamiętaj, że przycisk gdy będzie wciśnięty to na pinie będzie 0.
    No i nie zapomnij włączyć pull-up dla pinów przycisków.
  • Pomocny post
    #13 11143750
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    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...
  • #14 11143959
    Uzi103
    Poziom 11  
    Posty: 80
    Ocena: 7
    Tak ma być?
    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...
  • Pomocny post
    #15 11143989
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    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]
  • #16 11144618
    SylwekK
    Poziom 32  
    Posty: 2764
    Pomógł: 82
    Ocena: 2763
    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.
  • #17 11151624
    Uzi103
    Poziom 11  
    Posty: 80
    Ocena: 7
    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ć?
  • #18 11151675
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    "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.

Podsumowanie tematu

✨ W dyskusji poruszono kwestie dotyczące debouncingu przycisku podpiętego do pinu 16 mikrokontrolera Atmega8 oraz poprawności podłączenia przekaźnika i tranzystora. Użytkownicy sugerowali, aby zamiast podciągania do VCC, zastosować podciąganie do GND, a także przenieść przekaźnik pomiędzy kolektor a 12V, eliminując diodę na bazie tranzystora. Wskazano na możliwość programowania mikrokontrolera przez port USB z użyciem programatora USBASP. Użytkownicy podkreślili, że drgania styków można zniwelować programowo, co jest prostsze i bardziej efektywne. Dodatkowo, poruszono temat konfiguracji pinów oraz zastosowania pull-up dla przycisków.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA