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



Teraz jest 9 kwi 2026, o 20:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 3 lip 2015, o 10:41 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 17 kwi 2013
Posty: 11
Pomógł: 0

Napisałem sobie prosty program do sterowania wyjściami portu C:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



#define F_CPU 1000000// <------ ile razy mam na tym forum powtarzać, żeby nie stosować tego dziadostwa w kodzie ;) mirekk 36

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

i działało wszystko jak należy.
Potem przerobiłem ten kod na taki:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


#define F_CPU 1000000// <------ ile razy mam na tym forum powtarzać, żeby nie stosować tego dziadostwa w kodzie ;) mirekk 36

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

i tu zaczął się problem, na pinie, który przypisany jest do zmiennej Bm, czyli w tym przypadku PC0 dostaję mniejszy prąd niż na pozostałych pinach (na PC5-PC3 mam 0,25mA, a na PC0 0,005mA), do każdego pinu podpięta jest tylko dioda z rezystorem. Sprawdzałem też z innymi pinami PC1, PC2 i jest to samo. Sprawdzałem z innymi Atmegami8 i to samo się dzieje.
Czy ktoś wie co może być nie tak?
Możliwe że uszkodziłem atmegę w taki dziwny sposób?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 11:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Czy masz zasilanie na AVCC ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 11:11 
Offline
Moderator
Avatar użytkownika

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

funkcji

_delay_ms(czas);

NIGDY nie stosuje się z argumentem w postaci zmiennej - zapamiętaj to sobie raz a dobrze - to oszczędzisz sobie wiele nerwów i wyrywania włosów z głowy w przyszłości, to jest PODSTAWOWY błąd początkujących

------------------------ [ Dodano po: 2 minutach ]

Zaba napisał(a):
Czy masz zasilanie na AVCC ?

to oczywiście też słuszne i PODSTAWOWE pytanie przy takich efektach specjalnych

_________________
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: 3 lip 2015, o 11:15 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 17 kwi 2013
Posty: 11
Pomógł: 0

mirekk36 napisał(a):
NIGDY nie stosuje się z argumentem w postaci zmiennej - zapamiętaj to sobie raz a dobrze - to oszczędzisz sobie wiele nerwów i wyrywania włosów z głowy w przyszłości, to jest PODSTAWOWY błąd początkujących

Wyryję to sobie grubą czcionką w pamięci ;)
Cytuj:
Czy masz zasilanie na AVCC ?

Tak, zasilanie mam w pełnej wersji, ale bez dławika.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 11:17 
Offline
Moderator
Avatar użytkownika

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

ublizzard napisał(a):
Wyryję to sobie grubą czcionką w pamięci

Oglądaj moje poradniki wideo na youtube tam masz mnóstwo przykładów jak sobie radzić gdy chcesz stosować zmienne do opóźnień - a można i to w bardzo mega prosty sposób to zrobić .


ublizzard napisał(a):
ale bez dławika.

spokojnie do takich testów może być bez dławika

ale za to spróbuj wyjaśnić co masz na myśli pisząc:
ublizzard napisał(a):
czyli w tym przypadku PC0 dostaję mniejszy prąd niż na pozostałych pinach (na PC5-PC3 mam 0,25mA, a na PC0 0,005mA),

_________________
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: 3 lip 2015, o 11:19 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

PC0 zmieniasz w przeciwfazie do pozostałych portów, bo przed pętlą główną odwróciłeś wyjście.
Zapewne inne wypełnienie impulsów, wobec pozostałych portów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 11:22 
Offline
Użytkownik
Avatar użytkownika

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

Może po prostu rezystor, który podłączasz z diodą do pinu PC0 ma inną (większą) rezystancję niż pozostałe.
Możliwe, że również nabrałeś się na pułąpkę, o której mówi pan Mirek w tym poradniku https://www.youtube.com/watch?feature=player_embedded&v=LiQcVSPkT6M#t=888.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 11:30 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 17 kwi 2013
Posty: 11
Pomógł: 0

anshar napisał(a):
Może po prostu rezystor, który podłączasz z diodą do pinu PC0 ma inną (większą) rezystancję niż pozostałe.

rezystory są takie same na pewno.
A ten poradnik zaraz obejrzę i zobaczę o co chodzi

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

Cytuj:
PC0 zmieniasz w przeciwfazie do pozostałych portów, bo przed pętlą główną odwróciłeś wyjście.
Zapewne inne wypełnienie impulsów, wobec pozostałych portów.

brzmi to sensownie, ale nie wiem czy to jest przyczyna.

------------------------ [ Dodano po: 2 minutach ]

Cytuj:
ale za to spróbuj wyjaśnić co masz na myśli pisząc:
ublizzard napisał(a):
czyli w tym przypadku PC0 dostaję mniejszy prąd niż na pozostałych pinach (na PC5-PC3 mam 0,25mA, a na PC0 0,005mA),

"obrazowo" rzecz ujmując dioda na PC0 słabiej świeci niż na pozostałych trzech pinach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 11:37 
Offline
Użytkownik

Dołączył(a): 01 sty 2014
Posty: 116
Pomógł: 14

jerrylu napisał(a):
PC0 zmieniasz w przeciwfazie do pozostałych portów, bo przed pętlą główną odwróciłeś wyjście.
Zapewne inne wypełnienie impulsów, wobec pozostałych portów.



Faktycznie, jeśli diodę masz podłączoną katodą do procesora to wypełnienie Ap,Bp,Am to około 80% a Bm 20%. Co do prądów to prawie by się zgadzało. Tyle, że te dalaye 100ms..

Jak mierzysz prąd płynący przez diode? Przy zmianach co 100ms nie jest to możliwe zwykłym miernikiem. Jakie rezystory i jakie diody?? Spróbuj odwrotnie podłączyć diody. Spróbuj zapalić wszystkie diody, wtedy będziesz wiedział czy procesor ogranicza prąd. Jeśli będą paliły się równo to wina programu. Jak na razie to napisałeś program, coś nie działa i chcesz odpowiedź. Spróbuj sam zdiagnozować co i dlaczego nie działa.

Od siebie polecam ustawianie i zerowanie wyjść tak aby w każdym miejscu programu wiadome było jaki panuje stan na danym wyjściu portu. W twoim przypadku aby sprawdzić co dzieje się na końcu programu z wyjściem musisz analizować kod od samego początku. Co na razie jako tako jest o zrobienia ale później może być to niewykonalne.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 12:57 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 17 kwi 2013
Posty: 11
Pomógł: 0

Daniel880 napisał(a):
Jak mierzysz prąd płynący przez diode? Przy zmianach co 100ms nie jest to możliwe zwykłym miernikiem

Mierzyłem miernikiem z funkcją Imax, więc nie było problemu, a także zmieniałem opóźnienia na 500ms i 1000ms.
Daniel880 napisał(a):
Faktycznie, jeśli diodę masz podłączoną katodą do procesora to wypełnienie Ap,Bp,Am to około 80% a Bm 20%. Co do prądów to prawie by się zgadzało

Dla mnie te wypełnienia to nowość, jakoś nie zetknąłem się z tym wcześniej, będę musiał o tym poczytać (polecicie jakiś artykuł o tym do przeczytania?), do tej pory byłem przekonany, że jak na pinie mam 1, to prawie zawsze dostanę taki sam sygnał.
Cytuj:
Spróbuj sam zdiagnozować co i dlaczego nie działa.

Jak wrócę do domu, to porobię testy.

------------------------ [ Dodano po: 2 minutach ]

Najlepsze z tego wszystkiego jest to, że wcześniej napisałem podobny program do tego i nie zauważyłem tego problemu, niestety przez przypadek usunąłem go i musiałem "odtwarzać" kod i nie mogę znaleźć w czym tkwi różnica.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 14:22 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

ublizzard napisał(a):
Dla mnie te wypełnienia to nowość, jakoś nie zetknąłem się z tym wcześniej, będę musiał o tym poczytać (polecicie jakiś artykuł o tym do przeczytania?), do tej pory byłem przekonany, że jak na pinie mam 1, to prawie zawsze dostanę taki sam sygnał.

Poczytaj proszę np. o PWM odnośnie powyższego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 16:13 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 17 kwi 2013
Posty: 11
Pomógł: 0

Już teraz wiem o co chodziło z tym wypełnieniem, to jednak nie to.
Teraz wgrałem do procka taki program:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


czyli mają mi się świecić w sposób ciągły 4 diody (dioda led + opornik 10k), to dioda na pinie PC2 świeci znacznie ciemniej. Tak samo sprawa wygląda z PC1 i PC0:
Obrazek
Nawet przywróciłem ustawienia fabryczne za pomocą mkAVR Calculator, wyczyściłem pamięci, wgrałem program i dalej to samo.

Coś się obawiam że uszkodziłem atmegę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 19:08 
Offline
Użytkownik

Dołączył(a): 01 sty 2014
Posty: 116
Pomógł: 14

Moze cos z dioda nie tak? Podlacz bez procka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 19:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Jakie parametry mają te diody ?

Choć z drugiej strony chyba mało prawdopodobne żebyś przekroczył
dopuszczalny prąd na porcie .

Przełóż jeszcze te diody na początek portu od PC0 do PC3 i zobacz
czy też słabiej świeci jedna dioda czy trzy.
A czy na innym porcie wszystko jest OK ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2015, o 19:21 
Offline
Użytkownik
Avatar użytkownika

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

Trochę za dużo te 10k. Nie masz mniejszych, coś około 330R - 1kR?

------------------------ [ Dodano po: 9 minutach ]

Zobacz sam http://robotykadlapoczatkujacych.pl/lekcja-4-jak-dobrac-rezystor-do-diody/



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: 15 ] 

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