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.

Eliminowanie drgań na stykach (metoda nieprogramowa)

Uzi103 02 Sie 2012 15:16 1785 16
  • #1 02 Sie 2012 15:16
    Uzi103
    Poziom 11  

    Witam,
    Chce usunąć drgania na stykach powstałe z wyłącznika krańcowego. Czy W taki sposób będą one prawidłowo eliminowane?:
    Eliminowanie drgań na stykach (metoda nieprogramowa)
    Proszę o nie podawanie metod programowych. Dioda zennera to 1N5819

    0 16
  • Pomocny post
    #2 02 Sie 2012 15:45
    Chumanista
    Poziom 13  

    Po co tam ta dioda?
    Uniemożliwia zadziałanie przycisku poprzez wymuszanie stanu wysokiego.
    Wystarczyłoby:
    Eliminowanie drgań na stykach (metoda nieprogramowa)

    0
  • Pomocny post
    #3 02 Sie 2012 16:37
    eleproject

    Poziom 17  

    Proponowałbym dać szeregowo z S1 (po lewej stronie) rezystor R2 a pomiędzy jego zacisk podłączony do nóżki procka dać kondensator do masy. Natomiast włączyć podciąganie wewnętrzne w procesorze. A no i możesz się pozbyć tym sposobem rezystora R1.
    Zastanów się co daje dodatkowo takie rozwiązanie, które proponuję! Już wiesz?

    0
  • Pomocny post
    #4 02 Sie 2012 22:12
    94075
    Użytkownik usunął konto  
  • Pomocny post
    #5 03 Sie 2012 09:07
    eleproject

    Poziom 17  

    Dla zrozumienia - mówię o schemacie jak poniżej:
    Eliminowanie drgań na stykach (metoda nieprogramowa)
    Takie tanie rozwiązanie daje dodatkowe zabezpieczenie portów procesora przed wyładowaniem ESD. Jeżeli ładunek pojawi się w miejscu gdzie zaznaczono czerwoną strzałką (przy rozwartej krańcówce) to kondensator, mówiąc kolokwialnie, "zewrze" zaburzenie do masy a na rezystorze, zostanie rozproszona energia zaburzenia. Dlatego rezystor jest konieczny (jeśli chcemy robić TANIĄ ochronę przed ESD). Zamiast stosować jakieś ograniczniki typu transile itp. to rozwiązanie będzie tanią alternatywą i w wielu przypadkach wystarczające.Oczywiście wartości elementów muszą być odpowiednie...
    Pozdrawiam.

    0
  • Pomocny post
    #6 03 Sie 2012 12:44
    94075
    Użytkownik usunął konto  
  • #7 03 Sie 2012 16:11
    Uzi103
    Poziom 11  

    Weszliście Panowie na trochę zbyt wysoki jak na mnie poziom :D

    Czyli w programie wystarczyło by tylko:

    Code:
    Config Pinc.5 = Input  
    
    Set Portc.5 

    Do

    If PIND.5 = 0 Then 'jeśli przycisk wciśnięty
    ...
    End If


    A układ to mogło by być coś takiego?
    Eliminowanie drgań na stykach (metoda nieprogramowa)

    Czemu kondensator ma być podpięty do GND a nie do VCC?

    Pozdrawiam i dziękuję serdecznie za pomoc

    0
  • Pomocny post
    #8 03 Sie 2012 16:35
    eleproject

    Poziom 17  

    Układ - no nie za bardzo.
    Przede wszystkim kolektor z emiterem tranzystora trzeba by zamienić miejscami. Poza tym, jeśli krańcówka rozwarta - to baza tranzystora "wisi" w powietrzu - a wtedy nie da się zagwarantować, czy tranzystor będzie nasycony czy zatkany.
    A tak najszczerzej - to weź układ, który zaproponowałem powyżej i będzie bardzo dobrze :)
    A czemu do masy a nie zasilania kondensator. Tu penie powodów można co najmniej kilka jak nie kilkanaście przytoczyć. Ja jednak powiem tak - masa zawsze będzie masą (jest potencjałem odniesienia względem innych potencjałów). To do masy się powinno sprowadzać zakłócenia, o których mówiłem wcześniej. Tym sposobem nie będziemy zakłócać napięcia zasilania. Tak jest zgodnie ze sztuką.
    Oho - tylko czekać, aż jakiś typu "ja mam zawsze rację" odniesie się do mojej wypowiedzi :)
    ---
    O widzę, że zamieniłeś miejscami - wcześniej, niż zdążyłem naskrobać tę wiadomość :)
    Czyli teraz zaciski tranzystora OK. Jednak koncepcja, czy aż tak wyszukana jest potrzebna, to bym nie uważał.

    0
  • #9 03 Sie 2012 16:45
    Uzi103
    Poziom 11  

    No właśnie bo sam się kapłem że jest na odwrót. A teraz wyjaśniam dlaczego chcę użyć tranzystora. Zmieniła mi się trochę koncepcja i zamiast krańcówki chce użyć enkodera (impulsatora). Generalnie to wszystko ma służyć do odmierzania odległości. A jako że enkoder będzie wysyłał impulsy napięcia (a nie masy co mogłó mieć miejsce w przypadku krańcówki) to musiałem zrobić to w taki sposób.
    Jeśli chodzi o ten kondensator to myślałem że jak będzie on połączony z masą to program będzie uznawał że przycisk jest wciśnięty

    0
  • #10 03 Sie 2012 16:57
    94075
    Użytkownik usunął konto  
  • #11 06 Sie 2012 00:05
    Uzi103
    Poziom 11  

    Panowie, bo tak ucichło, chciałbym elementy zamawiać ale muszę wiedzieć czy wszystko będzie dobrze.
    S1 to enkoder który wysyła impulsy do Atmegi, która ma je zliczać. Czy taki sposób ominięcia drgań na stykach będzie prawidłowy, aby nie zliczało drgań jako impuls?
    Eliminowanie drgań na stykach (metoda nieprogramowa)

    T1 BD139
    R1 i R2 1k
    C1 100nF

    I program zliczający impulsy

    Code:
     Dim Licz As Integer  
    
     
       If Pinc.4 = 0 Then
       Bitwait Pinc.4 , Set
       If Pinc.5 = 0 Then
       Decr Licz
       End If
       End If
     
       If Pinc.5 = 0 Then
       Bitwait Pinc.5 , Set
       If Pinc.4 = 0 Then
       Incr Licz
       End If
       End If
     
       If Licz > 100 Then
       Portb.0 = 0
       End If
     
       If Licz <= 100 Then
       Portb.0 = 1
       End If
     

    0
  • #12 06 Sie 2012 10:08
    zielony_gajowy
    Poziom 13  

    Uzi103 napisał:
    Panowie, bo tak ucichło, chciałbym elementy zamawiać ale muszę wiedzieć czy wszystko będzie dobrze.

    Eliminowanie drgań na stykach (metoda nieprogramowa)
    A może coś takiego?
    Działa dużo pewniej niż sam RC.
    R1 i C1 należy dobrać eksperymentalnie zależnie od szybkości enkodera.

    Pozdrawiam

    0
  • #13 06 Sie 2012 10:49
    Jakub
    Poziom 13  

    To może już lepiej jakiś scalony eliminator drgań (np. MAX6817)?

    0
  • #14 06 Sie 2012 11:02
    eleproject

    Poziom 17  

    Co to ma być za impulsator (enkoder)? Albo podaj linka do niego.

    0
  • #17 06 Sie 2012 19:31
    eleproject

    Poziom 17  

    Wartości R i C możesz policzyć według tego co posłał gaskoin.
    Ja jednak na czuja dałbym do tego enkodera R 10k C 100n w układzie, który zaproponowałem (z wewnętrznym pullup'em pinu procka). Czyli bez tranzystora.
    Te wartości elementów tworzą filtr dolnoprzepustowy o częstotliwości granicznej około 160 Hz - to jest rozsądne dla Twojego impulsatora.
    Jednak upewnij się co daje na wyjściu enkoder. Czy daje stany HI i LO, czy też może daje HI i HIZ, albo też HIZ i LO.
    To co ja proponuję ma zastosowanie dla przypadków gdy impulsator daje na wyjściach HI i LO oraz HIZ i LO.
    To, że ma 4 nóżki sugerowałoby, że daje HI i LO.
    Pozdro eleproject ;)

    0