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



Teraz jest 28 sty 2025, o 22:05


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 12 sty 2014, o 11:24 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 30 gru 2013
Posty: 5
Pomógł: 0

Witam !
Od wczoraj męczę się z problemem uruchomienia migającej diody pod Atmega8A.
Wszystko zmontowane na płytce stykowej tak jak w poradniku Pana Mirka. Eclipse skonfigurowany został także wg poradników. mkAVRcalculator bezproblemowo wykrywa procesor. Problem pojawia się wtedy kiedy napisany kod w Eclipse chce "wysłać" do procesora. Operacja ta kończy się sukcesem ale dioda nie zapala się. W ustawieniach w Eclipse zaznaczony mam procesor Atmega8 oraz taktowanie na 8000000Mhz.W AVRDUDE w Eclipse zrobiony mam "USBASP".
Oto kod:

#include <avr/io.h>
#include <util/delay.h>

int main(void) {

while(1) {
}
}

*Dioda miała przy tym świecić ciągle. Dopiero po dopisaniu pewnej jeszcze linijki kodu miała migać.U mnie dioda nie świeci.



Ostatnio edytowano 12 sty 2014, o 11:34 przez favorite01997, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:31 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Oj kolego co tu komentować? Przecież w twoim kodzie nie ma kompletnie nic to jak ma świecić dioda? Obejrzałeś cały poradnik? Gdzie jest podpięta dioda? jakiś schemat?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:32 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam
To nie jest kod pod migającą diodę led. Spróbuj ten dodaj dodatkowo dodaj zdjęcie płytki stykowej

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: 12 sty 2014, o 11:38 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 30 gru 2013
Posty: 5
Pomógł: 0

Dioda podpięta jest katodą do 15 pinu PB1, natomiast anoda do szyny dodatniej. Oczywiście jest też rezystor 390Om.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:40 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

favorite01997 napisał(a):
Witam !
Od wczoraj męczę się z problemem uruchomienia migającej diody pod Atmega8A.

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


favorite01997 napisał(a):
Dioda podpięta jest katodą do 15 pinu PB1, natomiast anoda do szyny dodatniej. Oczywiście jest też rezystor 390Om.

Nie złośliwie, ale z ciekawości. Męczysz to parę godzin Twoim zdaniem która z linijek w kodzie zapalała diodę? Gdzie pada choć symbol PB1?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:41 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

No a gdzie w twoim kodzie jest sterowanie pinem PB1 ? Za karę zamiast 20 pompek obejrzyj to: http://mirekk36.blogspot.com/2012/12/avr-jak-zaczac.html

I krok po kroku rób to samo ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Jak masz podpiętą do PB1 to wykorzystaj kod kolegi Elektronik z małą zmianą
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:45 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 30 gru 2013
Posty: 5
Pomógł: 0

Przepraszam, przez nieuwagę nie dodałem jeszcze linijki

"DDRB |= (1<<PB1);" to właśnie ona miałą odpowiadać za świecenie diody. Pomimo dodania jej do programu i kompilacji dioda nie zapala się.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:47 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Wklej cały kod jaki masz i używaj znaczników syntax przy wklejaniu kodu

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

Ustawia Ci tylko ze PB1 jest wyjściem a terazt rzeba by było ustawiać stan wyjścia.

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


lub

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


do ustawiania 0 i VCC na wyjściu. I naprawdę zachęcam do poświecenia czasu na filmik bo wyjaśni Ci się wszystko.



Ostatnio edytowano 12 sty 2014, o 11:51 przez Wilu88, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:48 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

Proponuję wgrać soft który udostępniłem w odpowiedzi powyżej bez zmieniania czegokolwiek. Zmienisz sobie tylko diodę na płytce stykowej i wtedy musi migać. Powtarzamy z uporem maniaka dodaj zdjęcie układu.

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:49 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

to co podałeś wystawia stan wysoki na porcie PB1, Ty w swoim połączeniu potrzebujesz stanu niskiego do zapalenia diody czyli
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

----
Edit: napiszę jeszcze tu żeby ktoś nie został wprowadzony w błąd. Chodziło mi o
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Ostatnio edytowano 12 sty 2014, o 12:13 przez Lukasz89, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:52 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Lukasz89 napisał(a):
to co podałeś wystawia stan wysoki na porcie PB1, Ty w swoim połączeniu potrzebujesz stanu niskiego do zapalenia diody czyli
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Oj chyba nie ten rejestr DDRB to rejestr kierunkowy a nie stan na wyjściu :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:56 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Oczywiście, tak to jest jak się robi 3 rzeczy na raz :P
Idę na rosół:)
---
po rosole: powinno być tak jak kolega pisał wyżej, przepraszam za błąd w rozpędzie :D

_________________
sig off ;(



Ostatnio edytowano 12 sty 2014, o 12:11 przez Lukasz89, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 11:57 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Widzę ze kolega favorite01997 nie zna podstaw programowania. :( W takim razie zapraszam kolegę na http://mirekk36.blogspot.com/2012/01/av ... stawy.html jest to podstawowe wyjaśnienie sterowania wyjściami I/O.
Po za tym czy kolega zmieniał fusebity w swoim uC? Skąd kolega przyjął wartość taktowania uc na 8Mhz? Każda atmega fabrycznie działa na 1Mhz. Ustawienie częstotliwości taktowania w opcjach projektu nie zmienia fusebitów.

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 12:01 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 30 gru 2013
Posty: 5
Pomógł: 0

Oto zdjęcie jak to wygląda na płytce:

Obrazek

Fusebity są ustawione na 8Mhz wewnętrzny oscylator.
Wzorowałem się na poradniku Pana Mirka: http://www.youtube.com/watch?v=jsek2VHDQzY
Przy ustawieniu 8Mhz w mkAvrcalculator nie działa, przy zmianie na zewnętrzny kwarc i zamontowaniu kwarcu na płytce stykowej też nie świeci



Ostatnio edytowano 12 sty 2014, o 12:08 przez favorite01997, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 12:03 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

No tak ale popatrz na szyny podłączasz + do dolnej szyny na dole a rezystor łaczysz do diody na górnym rzędzie dolnej szyny. Jak to ma działać?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 12:10 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Nie znam połączeń wew w ej stykówce, ale jeśli oznaczenie + i - jest wiążące to ściągasz reset do masy.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 12:10 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Kolego wydaje mi się że nie czytasz naszych postów pokaż kod po poprawkach które zaproponowaliśmy. Wstawiłeś ustawienia DDRB i PORTB? naniosłeś poprawki na płytkę stykową o których pisałem? Aha nie zauważyłem tego minusa na zdjęciu to w tym wypadku masz RESET podciągany do masy ;)

Poza tym proszę pokaż cały kod po zmianch



Ostatnio edytowano 12 sty 2014, o 12:12 przez Wilu88, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 12:10 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Teraz to kolega pojechał ma maxa... Czy kolega posiada jakiś najprostszy multimetr? Jeśli nie to warto zakupić. I sprawdzić czy +5V(a jakiego kolega używa zasilacza? i programatora?) dochodzi do 2 pinów w atmedze tego tutaj nie widzę. Dodatkowo kolega narysował gdzie dochodzi + a gdzie minus tylko ze ten + dochodzi całkowicie po innej stronie płytki stykowej wiec jak to ma działać? + oraz - ma dochodzić do tych torów zasilających po obu stronach płytki gdyż ta atmega wymaga zasilania o obu stronach a nie po jednej. Filtrowanie ujdzie. Zanim kolega zacznie programować ten układ to podłączy układ tak jak ma być. I pokaże zdjęcie wraz z programatorem.

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 12:22 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Tak sobie myślę, ze szyny zasilania (skrajne) połączone są na drugiej niewidocznej na zdjęciu krótszej krawędzi :) Co w takim razie nie zmienia faktu, że reset is LOW :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2014, o 14:32 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 30 gru 2013
Posty: 5
Pomógł: 0

SERDECZNIE WSZYSTKIM DZIĘKUJĘ !
Jeden rezystor od pinu reset a tyle kłopotów :?
Wszystko ładnie działa :)



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

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