Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 lut 2025, o 10:28


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 
Autor Wiadomość
PostNapisane: 2 sty 2016, o 23:45 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

Witam
Próbuję wyświetlić na moim wyświetlaczu LCD 2x16 HD44780 prosty napis, jednak napis pojawia się tylko w momencie, gdy avrdude wgrywa program do atmegi8a. Podczas wgrywania wyświetlacz mocno świeci i widać napis, a gdy program zostanie już wgrany to wyświetlacz świeci słabiej i już nic nie widać. Próbowałem różnych ustawień potencjometru 5k, jednak nic nie przynosi skutku. W czym może tkwić problem?
Podłączenie:
Obrazek
main:
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


lcd.h
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2016, o 23:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lip 2012
Posty: 203
Lokalizacja: Sosnowiec
Pomógł: 2

Zasilasz to z programatora ?

_________________
sig on ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 00:51 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

tak, 5V



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 01:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Zachowanie sugeruje, że reset powoduje zatrzymanie zmian na wyświetlaczu. W programie teoretycznie nic nie robisz, dlatego sprawdź czy nie masz przypadkiem włączonego watchdoga przez fuse bity, przez co procesor się co chwila resetuje i inicjalizuje wyświetlacz (a jak programujesz to kończy się cykliczne inicjalizowanie i dostajesz zatrzaśnięty stan wyświetlacza).

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

Możesz też sprawdzić to poprzez dodanie w pętli resetowania watchdoga
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 02:06 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

Dodałem to do pętli, jednak nic się nie zmieniło. Zapomniałem napisać, że podłączyłem też równocześnie diodę i dodałem w pętli, by migała i dioda miga, więc program się dobrze zgrywa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 02:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A jak masz ustawione fuse bity?

Czy jak ręcznie resetujesz układ, to także pojawiają się poprawne dane na wyświetlaczu?

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 05:16 
Offline
Nowy

Dołączył(a): 15 gru 2015
Posty: 18
Pomógł: 1

Nie wiem czy pomoże - ale spróbuj podłączyć R/W do masy. Oczywiście zmień w pliku lcd.h #define USE_RW 1 na #define USE_RW 0. Miałem kiedyś taki wyświetlacz co przy opcji #define USE_RW 1 nie działał ma przy #define USE_RW 0 działał bez problemów. Prawdopodobnie nie pomoże ale spróbować warto - to nic nie kosztuje.
Wiem jak sie wkleja kod wiec komentarze zbędne. Nie widzę potrzeby wpisania kawałka kodu inaczej

Przypomniało mi się jeszcze, że kiedyś (sporo lat temu) miałem problem z LCD, związany z napięciem. Ale co dokładnie to już nie pamiętam. Coś mi się kojarzy z napięciem ujemnym oraz inicjalizacją.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 11:51 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

rskup:
Sory, ale jestem totalnie początkujący i nie wiem jak mam ustawione fuse bity, ani też ich nie zmieniałem. Dane na wyświetlaczu w ogóle się nie pojawiają, jedynie w trakcie wgrywania nowego programu ( z innym tekstem) to w trakcie tej sekundy ładowania programu wyświetlacz mocno świeci i wyświetla napis z tego poprzedniego programu. Jak już się wgra to słabo świeci i nic nie widać już, ale ten nowy napis będzie widoczny w trakcie kolejnej sekundy wgrywania kolejnego programu do atmegi.

toma:
Próbowałem już tego :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 14:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 233
Lokalizacja: Rzeszów
Pomógł: 11

Skompilowałem Twój program i ruszył od strzała - napis nie miga, cały czas wyświetlany jest z taka sama intensywnością. Napisz jak masz ustawione fusebity.
W MKAVRcalculator pola w górnej części okna ( u mnie ustawione są na L: E4 i H: D9).

_________________
Mr. Nobody



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 14:24 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

Obrazek

Jak klikłem "Sprawdź podłączony AVR" albo wykonałem polecenie avrdude -p atmega8 -c usbasp -P usb -B 375 w zakładce Programator AVR to wyświetlacz na ułamek sekundy się podświetlił z poprawnym napisem i zgasł.



Ostatnio edytowano 3 sty 2016, o 14:28 przez mikolajb9, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 14:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Masz problem z Atmaga8 więc demo wersja mkAVRCalculatora będzie ci działał na tym procesorze.
Ściągnij go ze strony Atnela, podłącz płytkę i sczytaj wartości fuse bitów.

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

O byłeś szybszy :)
Masz zaznaczony opcję Watchdog Timer alway on. Wyłącz ją i tylko ja i zapisz fuse bity.

------------------------ [ Dodano po: 3 minutach ]

Przy okazji możesz zmieniać sobie taktowanie procesora z Int. RC Osc. 1MHz na Int. RC Osc. 8MHz (3 linijka). Będziesz miał wszystko szybciej działające.



Ostatnio edytowano 3 sty 2016, o 14:31 przez rskup, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 14:29 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

LOW: 0xE1 HIGH:0xD9 LOCK BAJT: 0x3F



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 14:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Napisz o co chodzi z tym
Cytuj:
LOW: 0xE1 HIGH:0xD9 LOCK BAJT: 0x3F

Tak masz ustawione po odczytaniu czy tak jak wcześniej na zrzucie z ekranu.

Najlepiej ustaw jak podawał APAP75
Cytuj:
ustawione są na L: E4 i H: D9
Tylko po tym zmień w eclipse zegar na 8MHz i zrób clean projektu.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 15:01 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

Miałem tak po wyłączeniu opcji watch-dog. Zmieniłem na E4 i D9 i ustawiłem zegar na 8MHz. Co masz na myśli mówiąc zrób clean projektu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 15:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

To jeszcze po zaprogramowaniu sprawdź czy na pewno sczytujesz E4 D9.
Clean jest to wyczyszczenie wszystkich skompilowanych elementów projektu by kompilacja utworzyła je od nowa. Normalna kompilacja tworzy tylko te elementy które się nie zmieniły. Więc jak zmieniłeś częstotliwość procesora i dokonałeś zmian w eclipse (a mam nadzieję, że to także już zmieniłeś), to musisz wszystko przekompilować od nowa.
Clean masz dostępne w menu Project -> Clean ...
Jak masz więcej niż jeden projekt w workspace to zaznaczasz właściwy. Od razu możesz na dole opcję by Ci go od razu ponownie skompilował.

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

Czy po zmianie fuse bitów i wgraniu ponownie projektu masz nadal ten problem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 15:40 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

Korzystam z Atmel Studio 7.0



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 16:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
Korzystam z Atmel Studio 7.0

To ja nie pomogę :(
Jak nie uda Ci się rozwiązać problemu przy pomocy innych, to proponuję przesiadkę na Eclipse (zainstalowanego zgodnie z poradnikiem http://mirekk36.blogspot.com/2015/07/eclipse-start-plus-pierwszy-program.html) i wtedy na pewno dostaniesz dalszą pomoc.

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

Zobacz czy nie masz jakiejś opcji w Atmel Studio co nazywa się Rebuild All lub coś takiego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 19:10 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

Gdy podłączam na płytce prototypowej LCD do prądu (tylko VCC, GND i kontrast) to na górnej lini pojawiają się kwadraciki. Jednak gdy do tego dodam jeszcze atmege wraz z jej elementami potrzebnymi do zasilenia i zasile ją tym samym napięciem co LCD to kwadracików już nie ma...(LCD w dalszym ciągu nie podłączone w żaden sposób do atmegi). Powinno się coś takiego dziać?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 19:44 
Offline
Nowy

Dołączył(a): 15 gru 2015
Posty: 18
Pomógł: 1

To chyba zasilanie ci spada. Mierzyłeś napięcie zasilania?


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 19:46 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Może potencjometr od kontrastu masz zbyt rozkręcony.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 20:32 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

Napięcie zasilania powinno wynosić 5V (z programatora), ale nie mam multimetru by sprawdzić dokładnie.
HomoChemicus:
Zmieniałem pozycje potencjometru wieloktronie, a nawet sam potencjometr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2016, o 20:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Na schemacie masz zaznaczone zasilanie podświetlania bezpośrednio +5V. Czy nie musisz dać tam jakiegoś rezystora?

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2016, o 15:47 
Offline
Nowy

Dołączył(a): 02 sty 2016
Posty: 15
Pomógł: 0

Rozwiązałem problem.
Polegał on na tym, że mój programator USBasp, który kupiłem z Chin na ebayu niby zasilał 5V, ale okazało się tak naprawde jest to o wiele niższe napięcie, ponieważ podłączyłem 3 bateryjki (4,5V razem) i się okazało i wszystko gra i huczy...
Przepraszam za zamieszanie, ale i też dziękuję za chęć pomocy. Morał z tego taki, że czasem warto dołożyć te pare groszy i kupić coś lepszego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2016, o 18:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Programator może, choć nie musi tu być przyczyną. Bo standardowo USBasp bierze zasilanie bezpośrednio z USB bez żadnych dodatkowych elementów (a raczej chińczycy nie dali Ci nic tam od siebie, bo oni raczej upraszczają wszystkie takie układy by były tańsze). Może Twój port USB w komputerze nie wydala prądowo.
Podłącz do innego komputera ewentualnie do jakiegoś zasilacza (ostatecznie od telefonu z wyjściem USB - najlepiej od jakichś nowszych, z większych ekranem smartfonów, bo one mają duże wydajności prądowe (nawet do 2A)).
Tylko pamiętaj, jak stosujesz zasilacz USB, to musisz stosować poprawne filtrowanie zasilania w swoim układzie, bo inaczej mogą się dziać dziwne rzeczy i znowu będziesz się zastanawiał dlaczego nie działa (szczególnie jak użyjesz taniego zasilacza).

A najlepiej pomyśl o kupnie https://sklep.atnel.pl/pl/p/ATB-PWR3-przetwornica/20

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO