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

Przekaźnik resetuje znaki na wyświetlaczu LCD

mieszko91 10 Gru 2013 20:16 4467 18
  • #1 10 Gru 2013 20:16
    mieszko91
    Poziom 6  

    Witam,
    Natknąłem się na problem, którego nie potrafię rozwiązać. Korzystając z arduino próbuje stworzyć układ sterujący urządzeniem podpiętym do sieci. Na razie program co kilkanaście sekund zmienia stan na przekaźniku, wyświetlając aktualny stan na wyświetlaczu LCD. Na początek próbuje sterować żarówką, jednak zmiana stanu na przekaźniku powoduje wykasowanie znaków na wyświetlaczu. Do arduino mam podpięty wyświetlacz lcd z podświetleniem, zgodny z standardem hd44780 w następujący sposób:

    Przekaźnik resetuje znaki na wyświetlaczu LCD

    Dodatkowo między vcc i gnd na portach 15 i 16 podpiąłem kondensator 100nF. Do arduino mam podpięty także moduł przekaźnika
    srd-05vdc-sl-c sterowany jednym z wyjść cyfrowych arduino. Między wejścia vcc i gnd modułu przekaźnika także mam wpięty kondensator 100 nF. Co może być przyczyną wygaszania znaków na ekranie wyświetlacza LCD podczas zmiany stany na przekaźniku w momencie gdy żarówka jest podpięta do sieci? Bardzo proszę o pomoc. Vcc to 5V, a układ zasilam za pomocą kabla USB.

    0 18
  • Relpol
  • #3 10 Gru 2013 20:45
    mieszko91
    Poziom 6  

    Nie wiem czy zdjecia coś pomogą, przyznam się, ze nie mam zbyt dużego pojęcia o elektronice, musze po prostu zrealizować taki układ i calkiem możliwe, że robie to pierwszy i ostatni raz w moim życiu. Całość realizuje na płytce stykowej i mam podłączony na razie tylko wyświetlacz i przekaźnik. Nie znalazłem schematu mojego jednokanałowego przekaźnika, ale znalazłem schemat takiego samego modułu, tylko dwukanałowego.

    Przekaźnik resetuje znaki na wyświetlaczu LCD

    0
  • #4 10 Gru 2013 20:47
    dondu
    Moderator Mikrokontrolery Projektowanie

    Diody o które pytamy to D1 i D2. Jeżeli są to ok.
    Zdjęcia - my także nie wiemy, czy pomogą, ale jakiś punkt zaczepienia należy mieć tym bardziej, że do schematu Arduino za bardzo nie ma się czego doczepić :)

    0
  • #5 10 Gru 2013 21:29
    mieszko91
    Poziom 6  

    Na prawde nie wiem czy coś tu widać. Dzisiaj jeszcze dodam czujke temperatury do tego układu, bo nie moge tak stać w miejscu przez cały czas. Słyszałem, że osobne źródło zasilania mogłoby rozwiązać problem, ale czy to nie jest przekombinowane rozwiązanie, zwłaszcza że przekaźnik jest tylko jeden?

    Przekaźnik resetuje znaki na wyświetlaczu LCD Przekaźnik resetuje znaki na wyświetlaczu LCD Przekaźnik resetuje znaki na wyświetlaczu LCD Przekaźnik resetuje znaki na wyświetlaczu LCD Przekaźnik resetuje znaki na wyświetlaczu LCD Przekaźnik resetuje znaki na wyświetlaczu LCD

    Na ostatnim zdjęciu czarne kable odchodzą do przekaźnika. Czerwone kable to vcc, czarne masa, niebieskie wyjścia arduino. Czy o to chodziło?

    0
  • #6 10 Gru 2013 21:38
    dondu
    Moderator Mikrokontrolery Projektowanie

    Kondensatory przeciwzakłóceniowe mają sens wtedy, gdy są bezpośrednio przy nóżkach elementów. Dopinanie ich na długich przewodach zmniejsza ich skuteczność. Dodatkowo długie przewody są dobrymi antenami rozsiewającymi lub łapiącymi zakłócenia.

    Dołóż na szynie zasilającej płytki stykowej jakiś kondensator elektrolityczny oraz 100nF.
    Dałeś kondensator, ale na pinach podświetlania LCD, a tam on jest akurat zbędny.

    Nie widać modułu przekaźnika.

    0
  • Relpol
  • #7 10 Gru 2013 21:50
    mieszko91
    Poziom 6  

    Dodałem dwa zdjęcia w moim poprzednim poście, do przekaźnika nie jest aktualnie nic podłączone, ale normalnie podpinam do wejścia COM fazę, a do NO zero i w ten sposób steruje przygotowaną żarówką. W takim razie czy da się podpiąć kondensator przeciwzakłóceniowy na płytce stykowej dla przekaźnika, tak żeby to miało sens? Na szynie zasilajacej mam wpiąć kondensator między plus i minus? Miejsce na szynie ma znaczenie?

    0
  • #8 10 Gru 2013 21:57
    dondu
    Moderator Mikrokontrolery Projektowanie

    Jak już wspomniałem zasada ogólna jest taka, że wszelkie kondensatory umieszcza się jak najbliżej elementów, które mają chronić. Odległości te to milimetry, a nie centymetry. Przeczytaj to: http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html

    Zrób tak, że zasilanie przekaźnika wepnij najdalej jak się da na szynie zasilającej. Obok dodaj kondensatory elektrolityczny i 100nF. Przewody przekaźnika prowadź z daleka od LCD.

    Rozumiem, że nie masz oscyloskopu?

    0
  • #9 10 Gru 2013 22:09
    mieszko91
    Poziom 6  

    Przekaźnik resetuje znaki na wyświetlaczu LCD Przekaźnik resetuje znaki na wyświetlaczu LCD Przekaźnik resetuje znaki na wyświetlaczu LCD

    Nie mam dostępu do oscyloskopu. Czy o to chodziło? Przeniosłem także kondensator 100nF z pinów odpowiedzialnych za podświetlenie kondensatora. Mógłbym także postarać się o krótsze kabelki, albo skrócić te które już mam, jesli jest taka konieczność.

    0
  • #11 10 Gru 2013 22:25
    mieszko91
    Poziom 6  

    Dobrze. Jeśli do przekaźnika, nie jest nic podpięte to wszystko działa, regularnie zmienia się stan na wejściu IN przekaźnika, które połączone jest z mikrokontrolerem i na wyświetlaczu pojawia się informująca nas o stanie przekaźnika informacja.
    Do przekaźnika podpinam żarówkę, tak jak opisywałem to wcześniej, faza do COM, a zero do NO. Zmiana stanu na przekaźniku po podpięciu żarówki do sieci powoduje zmianę znaków na wyświetlaczu, po czym znaki na wyświetlaczu znikają. Nie przy każdej zmianie na przekaźniku ekran się czyści, ale jeszcze mi się nie zdarzyło, żeby wszystko działało prawidłowo dłużej niż 8 wł/wył żarówki.

    0
  • #13 10 Gru 2013 23:10
    mieszko91
    Poziom 6  

    Przeczytałem to i rozumiem już skąd biorą się zakłócenia w pracy mikrokontrolera, ale na prawde jestem początkujący jeśli chodzi o elektronike, jak mógłbym wprowadzić gasik do mojego układu?

    0
  • #15 11 Gru 2013 11:22
    androot
    VIP Zasłużony dla elektroda

    Jeśli nie za każdym razem resetuje się to ewidentną przyczyną jest załączanie się przekaźnika w dość losowym momencie wartości chwilowej napięcia w sieci. Wywal przekaźnik, daj optotriak z załączaniem w zerze z triakiem.

    Inne rozwiązanie to zrobić płytkę: prawidłowo poprowadzić ścieżki i skorzystać z rad Dondu.

    0
  • #16 11 Gru 2013 22:15
    mieszko91
    Poziom 6  

    Czyli zastosowanie gasika nie rozwiąże problemu? A zastosowanie osobnego źródła zasilania dla przekaźnika rozwiązałoby problem? Wiem że to przekombinowane, ale w ostateczności chyba się na to zdecyduje.

    0
  • #17 12 Gru 2013 00:17
    dondu
    Moderator Mikrokontrolery Projektowanie

    Bez oscyloskopu trudno jest jednoznacznie powiedzieć. Na pewno należy z gasikiem spróbować jeśli nadal chcesz przekaźnik stosować.

    Osobne źródło w tym wypadku może nie dać spodziewanego rezultatu, ale spróbować możesz.

    0
  • #18 12 Gru 2013 08:14
    androot
    VIP Zasłużony dla elektroda

    mieszko91 napisał:
    Czyli zastosowanie gasika nie rozwiąże problemu? A zastosowanie osobnego źródła zasilania dla przekaźnika rozwiązałoby problem? Wiem że to przekombinowane, ale w ostateczności chyba się na to zdecyduje.


    Gasik ma sens przy innym niż rezystancyjne obciążenie. Np. kiedy podłączasz jakąś indukcyjność.

    Sam napisałeś, że odłączenie obciążenia rozwiązuje problem, to co Ci da osobne zasilanie przekaźnika? Nie spadki napięć są przyczyną głupot na LCD tylko zakłócenia generowane w trakcie przełączania obciążenia.

    Możesz zrobić tak jak pisałem z triakiem, a jak nie to zrób układ wykrywania 0 w sieci i wtedy załączaj przekaźnik (w przerwaniu µC).

    Tu jest sprawdzony układ:
    http://www.dextrel.net/diyzerocrosser.htm

    0
  • #19 12 Gru 2013 19:33
    mieszko91
    Poziom 6  

    Dzisiaj kupiłem optotriak MOC3021 oraz triak BT139, wszystko pięknie działa i bardzo dziękuje za pomoc:) Elementy podłączyłem tak, jak w zamieszczonym poniżej przykładzie:

    Przekaźnik resetuje znaki na wyświetlaczu LCD

    Do triaka mam podpięte zero, czy można w tym przykładzie zamiast sterować zerem, podpiąć w tym miejscu faze bez konsekwencji?

    0