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

[atmega8] lcd się wykrzacza

piotrek_8891 30 Paź 2011 15:17 2678 16
  • #1 10081642
    piotrek_8891
    Poziom 10  
    Witam,

    jestem początkujący jeśli chodzi o pracę z avr. Mam problem z lcd, którym steruje mega8, mianowicie po ok 20 godzinach pracy i kolejnym odświeżeniu ekranu na lcd nie pojawia się nic, a przy następnym odświeżeniu osiem czarnych kratek (lcd 16*1).

    Próbowałem już ustawień fuse bitów na atmedze, różnych częstotliwości kwarcu definiowanych w kodzie programu (kwarc taktujący megę to 8MHz), wstawiałem waity w instrukcje wyświetlania i nic.

    Brakło mi pomysłów. Może ktoś z Was mi pomoże, będę wdzięczny...

    Moderowany przez _Robak_:

    3.1.12. (10.1, 10.5) Zabronione jest publikowanie tych samych, lub bardzo podobnych informacji w wielu działach forum.

  • #3 10081748
    piotrek_8891
    Poziom 10  
    Poniżej zamieszczam program który ma obsługiwać sterownik. A ma działać tak:
    - zegar odmierza czas
    - raz w każdej minucie jest kontrola temperatury
    - jeśli warunki temperatury i czasu są spełnione włącza prąd na pompie
    - co minutę następuje odświeżenie wyświetlacza

    [code]
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #4 10081753
    dondu
    Moderator na urlopie...
    W BASCOM niestety Ci nie pomogę, bo mnie nie lubi :-)
    Ale pokaż schemat, bo objawy które opisujesz mogą być z nim związane.
    A na dodatek skoro pompami sterujesz, to tym bardziej przyczyna w schemacie może leżeć.
  • #5 10082584
    snnaap
    Poziom 25  
    Może być że przerwanie od Timera pojawia się podczas wpisywania czegoś na wyświetlacz w związku z czym do lcd wysyłane są błędne dane.
    Możesz spróbować dać przed każdym wywołanie "LCD ... " dać DISABLE INTERRUPTS a zaraz po "LCD..." ENABLE INTERRUPTS po to aby wyłączyć przerwania tuż przed wysłaniem danych do LCD.
  • #6 10084918
    piotrek_8891
    Poziom 10  
    Poniżej zamieszczam schemat (mniej więcej tak to wygląda)

    [atmega8] lcd się wykrzacza

    mam nadzieję, że jest do rozczytania, bo do elektronika mi troszkę brakuje ;)

    snnaap - dzięki za podpowiedź, spróbuję i napiszę, czy zadziałało.
  • #7 10084948
    dondu
    Moderator na urlopie...
    piotrek_8891 napisał:
    mam nadzieję, że jest do rozczytania, bo do elektronika mi troszkę brakuje ;)

    Oj, każdy kiedyś zaczynał - ważne że chcesz i próbujesz :)

    1. Interesuje mnie na Twoim schemacie pin PC6, jest podłączony, ale do czego?
    W tym samym miejscu podłaczone są przyciski. To chyba pomyłka na rysunku bo do złącza programatora podłączasz PB6 zamiast PC6.
    Ale to oznacza, że nie masz rezystora na PC6(RESET), a to w środowisku z pompami, może być bardzo istotne.

    2. Masz nie podłączone AVCC i brak filtrowania zakłóceń na zasilaniu, a sterujesz pompami, które te zakłócenia generują.
    Przeczytaj bardzo dokładnie artykuły dot. podłączania i zakłóceń,
    bo tutaj leży rozwiązanie Twojego problemu: Dział zasilanie i zakłócenia

    Więc to nie wyświetlacz się "krzaczy", tylko mikrokontroler.

    No i warto już zacząć używać programu np. Eagle, do robienia schematów (linki do strony oraz kursów znajdziesz także w spisie treści).

    Trochę pracy przed Tobą, ale dasz radę :)

    EDIT.
    I wstaw schemat zgodnie z regulaminem. Używaj przycisku DODAJ OBRAZEK.
  • #8 10085066
    piotrek_8891
    Poziom 10  
    Jeśli chodzi o zasilanie to za transformatorem jest podłączony prawdopodobnie jakiś prostownik półprzewodnikowy i do niego są podpięte:
    - kondensator (104M) [ale nie jestem pewny]
    - kondensator 470uF
    - stabilizator o którym piszesz w artykule
    dopiero za stabilizatorem jest wylot do zasilania elementów układu z napięiem 5V.

    ps
    nie pisałem jeszcze, ale cały ukłąd lutował mi znajomy a teraz nie mam z nim kontaktu i stąd moje problemy ;/
  • #9 10085077
    dondu
    Moderator na urlopie...
    OK, ale istotne są także inne elementy likwidujące zakłócenia , które muszą być jak najbliżej (kilka milimetrów) od pinów mikrokontrolera.
    To może pokaż zdjęcia dużej rozdzielczości tego projektu?
    I odpowiedz na pytanie dot. PC6, oraz poświęć czas na przeczytanie artykułów, a zaoszczędzisz go później na szukaniu rozwiązania problemów.
  • #10 10086265
    piotrek_8891
    Poziom 10  
    Pod pin c6 podpięty jest między innymi masa od przycisków (przynajmniej tak to wygląda) i dalej jest wyprowadzona ścieżka, którą jak szedłem, to zginąłem...

    Poniżej wstawiam zdjęcia układu. Spód układu jest umiejscowiony tak, że jak się patrzy na zdjęcie, to wyświetlacz jest na dole (na stronie przedniej jest na górze).

    [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza

    Jak tylko będę miał możliwość wrzucenia lepszych zdjęć, to to zrobię.
  • #11 10087625
    dondu
    Moderator na urlopie...
    Niestety, za słaba jakość. Jak Ci się uda wstaw lepsze.

    PC6
    Piszesz, że śledząc ścieżkę się zgubiłeś. Na schemacie na pewno masz błąd z podłączeniem PC6 do masy (o której piszesz) i przycisków. PC6 na pewno musi iść do złącza programatora, ponieważ ten pin to także pin RESET (wykorzystywany przez programator. Natomiast na Twoim schemacie do programatora idzie PB6 (na pewno tak nie jest). Sprawdź to.

    Pin RESET (czyli PC6) powinien być podłączony przez rezystor (4,7 do 10k) do Vcc.
    Poszukaj czy taki rezystor masz na płytce, i jest tak podłączony jak napisałem.
    Jeżeli go nie ma to bezwzględnie go podłącz.

    Dodatkowo do pinu RESET podłącz kondensator 100nF do masy, dodatkowo zabezpieczy przed resetem spowodowanym zakłóceniami.


    Kondensatory filtrujące zakłócenia
    Dla każdego pinu VCC, AVCC, oraz AREF podłącz kondensator 100nF do masy.
    Opis: http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html


    Przekaźnik?
    Czy tam jest przekaźnik na płytce? Jeżeli tak to musisz sprawdzić, czy jest dioda na cewce przekaźnika: http://mikrokontrolery.blogspot.com/2011/03/przekaznik-i-zaklocenia.html
    A jeżeli to nie przekaźnik to co to za czarna kostka na płytce?


    Jeżeli to wszystko zrobisz to proponuję przeprowadzić testy.
    Oczywiście szukaj dobrego aparatu i zrób nowe zdjęcia.
  • #12 10088073
    wilk-wolf
    Poziom 1  
    Witam pomagałem koledze w projektowaniu płytki i pomogę kolegom w temacie,
    do pinu c6 nic nie jest podpięte potrzebny jest tylko do programowania przez lpt , przekaźnik jest spięty z atmegą za pomocą transoptora, a na pinach przekaźnika jest podpięta dioda , a co na temat stabilizacji napięcia zastosowałem taki układ już w paru innych projektach i nic takiego się nie dzieje.
  • #13 10089796
    dondu
    Moderator na urlopie...
    wilk-wolf napisał:

    do pinu c6 nic nie jest podpięte potrzebny jest tylko do programowania przez lpt ,
    ...
    a co na temat stabilizacji napięcia zastosowałem taki układ już w paru innych projektach i nic takiego się nie dzieje.

    @piotrek_8891:
    Dobieraj projektantów lepiej.
    Zrób to co podałem w poście wyżej.

    @wilk.-wolf
    Jakoś ten projekt nie działa, a Ty jesteś przyczyną problemów kolegi piotrek_8891.
    Więc zacznij od przeczytania i zrozumienia tematów z działu: Dział zasilanie i zakłócenia
    a do tego czytaj datasheety i noty producentów,
    i zastanów się czy warto oszczędzać parę groszy: Spokój za parę groszy
  • #14 10128671
    piotrek_8891
    Poziom 10  
    Mam zdjęcia:
    tak wyświetlacz powinien wyglądać:
    [atmega8] lcd się wykrzacza
    a taką manianę odwala:
    [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza
    Czerwona paląca się dioda świadczy o tym, że mega działa i program się wykonuje.
    Przód:
    [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza
    I tył z naniesionymi ścieżkami:
    [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza

    Zauważyłem kilka nowych dziwnych objawów:
    - maszyna popracowała trochę (2tyg) i jakimś cudem zniknął problem resetowania się (zaraz po podłączeniu wystarczyło potknąć pinu c6 albo ścieżki palcem i był reset)
    - dłużej pracuje bez krzaków (jak go 2 tyg temu podłączałem, to przy pierwszej zmianie trybu pracy pompy wyświetlacz się sypał, teraz wysypuje się po około 3 - 4 godzinach pracy i po kilku zmianach trybu).

    Potrafi to ktoś racjonalnie wytłumaczyć?

    Cały układ był przez te 2 tygodnie kilkanaście razy zresetowany. Czy to mogło mieć jakiś wpływ na zanik wyżej opisanych problemów?

    dondu: dzięki za linki do artykułów, zapoznałem się i na dzień dobry stwierdzam, że trzeba by chyba wstawić kondensator między megę a zasilacz (pytanie jaki duży) i dodatkowy opornik na ścieżkę resetującą. Czy to pomoże?

    A co do projektanta, to razem się dopiero uczymy i potykamy ;) Sam przecież mówiłeś, że każdy kiedyś zaczynał...
  • #15 10128712
    dondu
    Moderator na urlopie...
    piotrek_8891 napisał:
    ... A co do projektanta, to razem się dopiero uczymy i potykamy ;) Sam przecież mówiłeś, że każdy kiedyś zaczynał...

    Oczywiście, ja także, tylko niech kolega projektant nie pisze takich rzeczy:

    wilk-wolf napisał:
    ... a co na temat stabilizacji napięcia zastosowałem taki układ już w paru innych projektach i nic takiego się nie dzieje.

    bo to piekielna droga dla Was obu :)


    Zdjęcia niestety są nieostre więc nic z nich nie wydedukujemy :(

    Co do objawów, to przyczyną są najprawdopodobniej zakłócenia, które właśnie kondensatorami wyeliminujecie. W artykułach masz opisane jakie muszą być i gdzie podłączone. Może ich także brakować na samym wyświetlaczu.

    Także w przypadku RESET - wszystko dokładnie opisane jest.
  • #16 10134066
    pawel_konin
    Poziom 20  
    piotrek_8891 napisał:
    Mam zdjęcia:
    tak wyświetlacz powinien wyglądać:
    [atmega8] lcd się wykrzacza
    a taką manianę odwala:
    [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza
    Czerwona paląca się dioda świadczy o tym, że mega działa i program się wykonuje.
    Przód:
    [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza
    I tył z naniesionymi ścieżkami:
    [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza[atmega8] lcd się wykrzacza [atmega8] lcd się wykrzacza

    Zauważyłem kilka nowych dziwnych objawów:
    - maszyna popracowała trochę (2tyg) i jakimś cudem zniknął problem resetowania się (zaraz po podłączeniu wystarczyło potknąć pinu c6 albo ścieżki palcem i był reset)
    - dłużej pracuje bez krzaków (jak go 2 tyg temu podłączałem, to przy pierwszej zmianie trybu pracy pompy wyświetlacz się sypał, teraz wysypuje się po około 3 - 4 godzinach pracy i po kilku zmianach trybu).

    Potrafi to ktoś racjonalnie wytłumaczyć?

    Cały układ był przez te 2 tygodnie kilkanaście razy zresetowany. Czy to mogło mieć jakiś wpływ na zanik wyżej opisanych problemów?

    dondu: dzięki za linki do artykułów, zapoznałem się i na dzień dobry stwierdzam, że trzeba by chyba wstawić kondensator między megę a zasilacz (pytanie jaki duży) i dodatkowy opornik na ścieżkę resetującą. Czy to pomoże?

    A co do projektanta, to razem się dopiero uczymy i potykamy ;) Sam przecież mówiłeś, że każdy kiedyś zaczynał...


    Uważam że cała płytka powinna zostac jeszcze raz wytrawiona z naniesionymi poprawkami to co zauważyłem :

    - kanciate ścieżki (kanciate ścieżki robią z siebie anteny ściągające zakłócenia)
    - brak wylanej masy (zakłócenia od obwodów 230V)
    - złe przekroje ścieżek
    - brak obwodu LC przy styczniku/przekaźniku (
    - pomyśl o zewnętrznym transformatorze np elektronicznym ponieważ umiejscowienie tak starej konstrukcji sieje wysokie harmoniczne wokół siebie
    - zlikwidować wszelkie połączenia kabelkami
    - nie cynować ścieżek (wysoka impedancja masy)
    - brak otworów montażowych (ale to nie ma wpływu na działanie)
    - pomyśl o jakieś puszce od np halogenowa i zamknięcie całej elektroniki.

    Uważam też że jest to klasyczny przykład jak nie należy prowadzić ścieżek na laminacie i to wszystko w sąsiedztwie LCD który jest wrażliwy na wszystko.

    Pozdrawiam
  • #17 10134958
    Konto nie istnieje
    Poziom 1  
REKLAMA