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



Teraz jest 9 sty 2025, o 23:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 37 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 6 cze 2016, o 20:17 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

Dzień dobry,
mam problem ze zmianą taktowania mojej atmegi32. Po wstawieniu kwarców 16 MHz lub 12 MHz i odpowiedniej zmianie fuse bitów układ startuje, ale nie pracuje prawidłowo. Nie tracę komunikacji z układem. Po wstawieniu 4 MHz lub rezonatora wewnętrznego działa prawidło. Proszę o wyjaśnienie co się dzieje, gdy próbuję z wyższymi częstotliwościami.
Kwarce i zasilanie filtruję. Używam kupnego usbasp.
Schemat układu
Obrazek
Kod programu
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Ostatnio edytowano 7 cze 2016, o 18:47 przez loboto, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 20:30 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

Ale w czym dokładnie problem? Co to znaczy że nie pracuje prawidłowo? Zapyla 4 razy szybciej to choć co może przestać działać...a w zasadzie nie przestac tylko miec problem z "dogadaniem sie" jak LCD np... napisz dokładnie w czym problem. A rezonator a Atmedze32 jest na zewnątrz. W środku jest oscylator ale to tak nawiasem :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 20:37 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

Dla przykładowego programu zmieniającego stan leda co 5 s (inicjowany w stanie świecącym) układ świeci cały czas. Po zainicjowaniu w stanie nieświecącym układ nie świeci.



Ostatnio edytowano 6 cze 2016, o 20:39 przez loboto, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 20:39 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

Co to znaczy zainicjowaniu w stanie nieświecącym? kod pokaż



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 20:45 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

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

jako inicjowanie mam na myśli ustawienie portu przed while().
Oczywiście mój błąd. Zmiana wykonuje się 1 raz. A i F_CPU zmieniam przy kompilacji.



Ostatnio edytowano 7 cze 2016, o 11:54 przez loboto, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 20:54 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

daj kwarc 16MHz a w pętli for zmień i<500 na i<2000



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 20:58 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

Brak zmian.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 20:58 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

W Eclipse piszesz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 21:00 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

przykro mi ale nie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 21:09 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

a czego Ty się spodziewasz po zmianie kwarcu na 16MHz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 21:12 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

Spodziewam się, że wstawię kwarc 16 MHz i zmienię F_CPU=16000000 to układ będzie mrygać w takim samym cyklu co przed zmianą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 21:15 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

a nie mruga w ogóle tak?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 21:18 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

tak, nie obserwuję modulacji światła



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 21:21 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

możesz pokazać schemat układu?

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

Widzę że jesteś nowy na forum. Nie wiem czy zaczynasz programowanie w C czy masz juz jakies doświadczenie ale pomimo wszystko polecam Ci książkę https://sklep.atnel.pl/pl/p/Mikrokontro ... endrive/75 Jak ją przeczytasz to nie będziesz miał takich problemów. Autor opisuje wszystko krok po kroku włączenie z instalacją środowiska. Szczerze polecam.

------------------------ [ Dodano po: 5 minutach ]

Kondensatory przy kwarcu są?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2016, o 21:28 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

nie mam eaglea pod ręką. Mogę powiedzieć, że:
kondensatory przy kwarcu: 2x 22pF;
zasilanie z programatora 5 V filtrowane 20uF+100nF;
reset podciągnięty przez ok 5 kOm;
dioda połączona przez 100 Om.
Więcej wstawek nie ma. Połączenia z programatorem wykonane prawidłowo(dla 1 i 4 MHz wszystko działa). Konwerter AD ma zasilanie i masę.

Edit:
Odkopałem atmege8 :) i wbudowałem ją do układu . Efekty otrzymałem takie same.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 05:28 
Offline
Użytkownik

Dołączył(a): 17 paź 2015
Posty: 59
Lokalizacja: Gdynia
Pomógł: 1

Zmień fusebity za pomocą mkavrcalkulatora na kwarc zewnętrzny i po problemie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 10:48 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

wersja demo nie ma atmegi32. fusy ustawiam przez avrdude. Myślę, że robię to dobrze skoro układ włącza się, a ja jestem wstanie zmienić mu fusy z powrotem na fabryczne. Dla 16 MHz ustawiam low na xFF a high na xD9.
A i rezonator trzymam tuż przy uC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 10:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Ustaw low na 0xFF i high na 0xCE
avrdude -p atmega32 -c usbasp -P usb -V -u -U lfuse:w:0xFF:m -U hfuse:w:0xCE:m



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 11:07 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

Nie pomogło. Różnica jest taka, że o ile poprzednio led świecił cały czas teraz w ogole się nie zapala. Po szybkim wstawieniu 4 MHz wszystko działa



Ostatnio edytowano 7 cze 2016, o 11:18 przez loboto, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 11:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Jakiego programu używasz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 11:19 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

avrdude



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 11:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

To już wiem. ;) W czym piszesz kod i kompilujesz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 11:23 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

używam winavr



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 11:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Szczerze?
Nie trać czasu na Winavr, przecież to staruszek ;) , odinstaluj go jak najszybciej.
Jak już go odinstalujesz to zainstaluj sobie Eclipse'a zgodnie z tym poradnikiem:
http://mirekk36.blogspot.co.uk/2015/07/eclipse-start-plus-pierwszy-program.html
Zrób wszystko po kolei, dokładnie tak jak w poradniku, nic nie zmieniaj i twoje problemy znikną.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 11:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27343
Lokalizacja: Szczecin
Pomógł: 1041

Jeśli ja mam pomóc to:

1. wstaw schemat tego co złożyłeś do testów i nie tłumacz się, że nie wiesz jak albo, że nie znasz Eagla bo wystarczy obejrzeć pierwszy odcinek z tego kursu
http://atnel.pl/kurs-cadsoft-eagle.html
i już narysujesz schemat - a chodzi o to aby zobaczyć co i jak dokładnie podłączyłeś

2. wstaw na forum ze 2-3 wyraźne fotki tego jak to masz podłączone ew polutowane itp itd

3. wstaw PORZĄDNIE listing programu który napisałeś do testów zgodnie z instrukcją na forum:
topic7402.html
a nie tak jak to zrobiłeś w tym poście: post161779.html#p161779 (nawiasem mówiąc proszę też poprawić formatowanie kodu także w tym właśnie poście)

4. pokaż jakieś zrzuty ekranu jak masz ustawione i jak ustawiasz fusebity w procku (jakim programem itp)

5. pokaż jakieś zrzuty jak kompilujesz program i czy po kompilacji nie masz żadnych błędów i warningów


wtedy będę mógł pomóc - bo wątek widziałem ale gdy komuś nie chce się porządnie opisać problemu a widać, że jest początkujący to przykro mi ale nawet nie włączam się w dyskusję. Co za problem zrobić wszystko wg punktów, które napisałem wyżej ? Gdybyś to zrobił w pierwszym swoim poście czyli już wczoraj to pewnie wczoraj miałbyś problem rozwiązany bo i kolegom, którzy tu starają się pomóc byłoby łatwiej wskazać ci prawidłową drogę.

A tymczasem twoje odpowiedzi zaczynają się sprowadzać do coraz krótszych zdań a wręcz (o zgrozo) do pojedynczych wyrazów, które pewnie za chwilę zmienią się w tylko: TAK, TAK, NIE, TAK....

oby nie zostały tylko pojedyncze literki

sorki że to piszę - ale jeśli ja chcę rozwiązać jakiś problem i komuś zadaję pytanie to mi zależy aby podawać JAK NAJWIĘCEJ informacji o moim problemie ... a ty tylko jakieś opisy robisz z których niewiele wynika i trzeba zgadywać jakby to był jakiś konkurs itp

Postaraj się więc zebrać w sobie - zrób to co mówiłem wyżej i zobaczysz, że raz dwa dojdziemy co tam robisz źle a później nauka pójdzie ci "z kopyta"

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 12:55 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

Przepraszam :oops: i dziękuję za zainteresowanie
zaraz wszytsko powstawiam.
Log z ustawiania fuse bitów:
Obrazek
Log z kompilowania
Obrazek
Czasy takie długie bo miałem zworkę slow założoną :roll:
ObrazekObrazek

Dobrze będę odpisywać pełnymi zdaniami: Zdając sobie sprawę z wyższości środowiska eclipse męczę się poprzez używanie winavr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 14:03 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27343
Lokalizacja: Szczecin
Pomógł: 1041

Pokaż jeszcze kod źródłowy swojego programu ....

a z tego co pokazałeś to już przynajmniej widać, że kilka rzeczy masz OK, czyli np Fusebity ustawione poprawnie

kompilacja też chyba poszła dobrze

na stykówce wygląda tak na szybko jak rzuciłem okiem, że jest ok ale niech jeszcze inni popatrzą .... zaś ty na chwilę USUŃ w ogóle te kondensatory od kwarca do GND - niech siedzi na razie sam kwarc

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 14:26 
Offline
Nowy

Dołączył(a): 06 cze 2016
Posty: 17
Pomógł: 0

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


Dzieki za sprawdzenie. Nie mam teraz ukladu przy sobie, ale probowalem juz bez kondensatorow. Led migal z czestoscia znacznie wyzsza niz oczekiwana oraz niezalezaca od F_CPU :/
Pamietam zeby jeszcze zrobic projekt w eaglu ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 16:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

mirekk36 napisał(a):
na stykówce wygląda tak na szybko jak rzuciłem okiem, że jest ok ale niech jeszcze inni popatrzą ....

Raczej wygląda OK. ;) Chociaż te kondensatory przy kwarcu wyglądają mi raczej na tantalowe niż ceramiczne, no ale może się mylę.

Patrząc na ten kod rzuca mi się w oczy jedna rzecz, a mianowicie to
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
.
Czy nie jest czasem tak, że aby używać true i false to należałoby zainkludować stdbool.h?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Lub stworzyć nowy typ za pomocą typedef?

Kolego loboto napisz sobie taki kod i daj znać czy działa:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2016, o 17:17 
Offline
Użytkownik

Dołączył(a): 17 paź 2015
Posty: 59
Lokalizacja: Gdynia
Pomógł: 1

Sprawdziłem kod u siebie. i po zamianie true na 1 wszystko działa ok.



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: 37 ]  Przejdź na stronę 1, 2  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO