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



Teraz jest 13 sty 2025, o 20:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
Autor Wiadomość
PostNapisane: 8 wrz 2013, o 19:52 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

Witam

Od dłuższego czasu próbuję skomunikować ze sobą 2 układy RFM73. Zrobiłem już płytki, polutowałem, zaprogramowałem procki i okazało się że mam błędy już na poziomie hardware :( Dlatego stwierdziłem, że znów cofnę się do początku i na nowo wszystko zrobię.
Na początek chciałbym się dowiedzieć, czy hardware jest dobrze. Schemat prezentuje się następująco:
Obrazek
Z tego co wyczytałem na forum i w dokumentacji RFM73 zasilanie musi być z 3.3v, lecz maksymalne napięcie zasilania może już wynosić 5.25V, dlatego atmega zasilana jest z 5V, a RFM73 z 3.3V. Czy tak może być?

Pozdrawiam
Dragas



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 wrz 2013, o 20:19 
Offline
Moderator
Avatar użytkownika

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

dioda LED1 nigdy w życiu ci nie zaświeci bo jest niewłaściwie włączona :(

ja zasilałem całość i procka i RFM70 +3,3V ... ale tak jak masz też może być

uważaj tylko nie zasil przez przypadek RFMów 5V bo zdechną ;) mi tak się zdarzyło raz niestety

_________________
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: 8 wrz 2013, o 20:27 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

Z diodą fakt, przeoczyłem przy rysowaniu schematu.
Obrazek

Też myślałem na zasilaniem całości z 3.3V, lecz jeśli będę chciał dodać potem DS1307 lub LCD (hd44780), to już będzie problem. DS1307 działa na 3.3V, ale tylko ze złączem BAT zwartym do masy.

Podłącze, popróbuję wgrać kod do komunikacji który mam i napiszę tu co mi wyszło z tego :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 wrz 2013, o 21:10 
Offline
Użytkownik

Dołączył(a): 20 mar 2012
Posty: 159
Pomógł: 6

A dlaczego nie masz kondensatorów przy kwarcu ??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 wrz 2013, o 21:15 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

Z tego co kiedyś czytałem, kondensatory przy kwarcu potrzebne są tylko w przypadku używania układu w niskich temperaturach, aby cały układ ruszył. Jeśli się mylę, to proszę mnie poprawić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 wrz 2013, o 21:19 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3209
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Dragas napisał(a):
kondensatory przy kwarcu potrzebne są tylko w przypadku używania układu w niskich temperaturach


Że co??? Skąd masz te rewelacje??

Albo daj kondensatory albo włącz opcję CKOPT w Fuse bitach wtedy dopiero będą zbędne.

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 wrz 2013, o 21:26 
Offline
Moderator
Avatar użytkownika

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

Jaglarz napisał(a):
Albo daj kondensatory albo włącz opcję CKOPT w Fuse bitach wtedy dopiero będą zbędne.

No tu akurat podpowiem, że fakt CKOPT załącza wewn. kondensatory ale gdy taktujemy procka z kwarca zegarkowego.

Natomiast gdy taktujemy procka kwarcem większym niż 8MHz to CKOPT powoduje pracę generatora wewnętrznego w trybie "Rail To Rail" ... to coś w stylu opcji "Full Swing" w nowszych prockach jak np ATmega88/168 itp

Nota nawet zaleca włączanie CKOPT dla kwarców powyżej 8MHz ale to nie jest koniecznie konieczne że tak powiem ;) a przy okazji praca Rail To Rail powoduje zwiększony nieco pobór prądu.

Za to CKOPT jest wręcz konieczny gdy chcemy procka lekko przetaktować np do 20MHz albo więcej

taki mały przykład.

Przy zasilaniu procka 3,3V praktycznie nie ruszy on z kwarcem 24MHz .... ale gdy ustawimy mu CKOPT to będzie śmigał aż miło patrzeć ;)

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

Dragas napisał(a):
Z tego co kiedyś czytałem, kondensatory przy kwarcu potrzebne są tylko w przypadku używania układu w niskich temperaturach, aby cały układ ruszył. Jeśli się mylę, to proszę mnie poprawić.


Dokładnie jak pisze kolega wyżej - myli się kolega i to straszliwie - to niestety jakaś najdziwniejsza teoria jaką słyszałem i nie ma nic wspólnego z rzeczywistością :(

_________________
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: 8 wrz 2013, o 21:32 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

Na chwilę obecną mam tak ustawione fusebity:
Obrazek
CKOPT jest włączone.
Dziękuję bardzo za informację i doinformowanie mnie na temat kondensatorów, bo od dłuższego czasu nie stosuję ich przy projektach :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 wrz 2013, o 22:16 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

Udało mi się odpalić komunikację z RFM'em :)
Niestety, ale narodził się kolejny problem, a mianowicie: wysyłanie pakietu wyzwalam wciśnięciem przycisku. Pakiet jest o długości 32 bajtów, z czego tylko bajt zerowy ma wartość 'a', a reszty nie ruszałem. Układ odbiorczy informuje o odebraniu pakietu, lecz na tym kończą się dobre wiadomości. Odebrany pakiet nie przechodzi sprawdzenia sumy kontrolnej oraz bajt zerowy jest różny od 'a'. Załączam kod projektu (nadajnika i odbiornika).


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 09:34 
Offline
Nowy

Dołączył(a): 10 lut 2014
Posty: 7
Pomógł: 0

Witam

Czy miałby ktoś bibliotekę z BB przerobioną pod atmegę8 i INT1?
Od kilku dni próbuję dostosować sobie tą z BB do atmegi8 ale nadal nic nie chce działać.
Moduły RFM73 mam sprawne, bo zbudowałem trzy urządzenia, tylko że były one wyposażone w atmegę16.
Całość mam złożoną na płytce PCB bez żadnych wiszących kabli, RFM73 jest w odległości centymetra od atmegi.
Wiem, że proszę o gotowca, ale jeśli ktoś ma to bardzo by mi pomógł.

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 09:42 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

Ta biblioteka, którą umieściłem powyżej, sprawdzałem na wielu prockach i działa bez problemu. Jedyne co trzeba zrobić, to ją skonfigurować. Co do przerwań, to jedyne co musisz, to je skonfigurować i w wektorze przerwań dać "Receive_Packet();" i dopiero wtedy to przetwarzać, a nie w pętli głównej programu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 10:22 
Offline
Nowy

Dołączył(a): 10 lut 2014
Posty: 7
Pomógł: 0

Twoja biblioteka troszkę się różni od tej z książki. A ja potrzebują dokładnie tą samą, ponieważ mam kilka urządzeń które działają na RFM73 i jeśli coś zmienię w jednym to musiałbym zmieniać w całej reszcie. Dlatego potrzebuję tej samej biblioteki, żeby móc przerabiać dokładnie to samo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 10:27 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

W takim razie jeśli możesz to podeślij bibliotekę Mirka do mnie na priv (albo na forum o ile Mirek wyraża zgodę na publikowanie kodów z książki na forum), ponieważ nie mam przy sobie płytki żeby zgrać oryginał.

------------------------ [ Dodano po: 8 minutach ]

Przy okazji, dokumentacja M8, zakładka external interrupts, od strony 66 masz rejestry:
Dla konfiguracji(ustawione przerwanie dla zbocza opadającego):
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 10:44 
Offline
Nowy

Dołączył(a): 10 lut 2014
Posty: 7
Pomógł: 0

Zmieniałem bibliotekę, nawet udało mi się wysłać 6 bajtów, ale za każdym razem, kiedy wysyłanie się zakończy, to procek się wiesza i nic nie można zrobić. Jedyne co mogę zrobić to zresetować wszytko odłączając zasilanie :P

Dlatego chciałem gotową i działającą bibliotekę porównać do mojej, zobaczyć co mam źle zrobione.

Na M16 i M32 wszystko śmiga jak trzeba.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 10:50 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

Z tego co zlokalizowałem u mnie, to problem tkwi w czasie wysyłania ramki po SPI. W kodzie który załączyłem wyżej, po linii "
SPI_Write_Buf(type, pbuf, len);" daj opóźnienie np 5ms lub 10ms, u mnie to pomaga. Atmega16 i 32 są prawie identyczne, więc można je używać w większości przypadków naprzemiennie.

------------------------ [ Dodano po: 7 minutach ]

Ta biblioteka, którą przesłałem mi na priv dotyczy RFM70, z tego co pamiętam to trzeba zmienić 1-2 rzeczy żeby działała na RFM73.
Zauważ, że masz takie coś:
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


oraz wywołanie przerwania na INT2
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Zmień tylko konfigurację i wywołanie wektora przerwania na ten co umieściłem powyżej i powinno działać.

Dodatkowo w bibliotece masz zakomentowaną konfigurację przerwań dla INT0/INT1(wystarczy zmienić tylko wywołanie przerwania):
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 12:52 
Offline
Nowy

Dołączył(a): 10 lut 2014
Posty: 7
Pomógł: 0

Właśnie w tym tkwi problem, że nie działa. Wysłałem kod do RFM70 bo wysłałem to co było na płytce. U siebie mam już mienione na RFM73.
Zauważyłem jeszcze jedną rzecz. Włączyłem na atmedze8 zwykłem przerzynanie TIMER0. Ustawiłem, żeby był co 1 ms, w przerywaniu dałem zmienną i dioda zmienia mi stan co 1 sekundę. Jeśli nie mam załączonych bibliotek to wszystko działa jak należy, ale jeżeli załączę bibliotekę RFM73 to całość się wiesza od razu i nic nie mruga.

Później kasuje załączone biblioteki, kompiluje jeszcze raz i wgrywam. Nic się nie dzieje, nic nie mruga (chociaż nie ma bibliotek). Dopiero po trzeciej kompilacji i wgraniu zaczyna działać. I tak za każdym razem na każdej atmedze8 jaką mam.

Jest jakieś logiczne wytłumaczenie tego stanu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 13:12 
Offline
Nowy

Dołączył(a): 14 lip 2012
Posty: 16
Pomógł: 0

Mnie to nie dziwi, miałem nie raz podobny przypadek, ale z Visualem 2013. Proponuję najpierw dać clear, a dopiero make/build. Dodatkowo na początku nie dawaj wysyłania z timera, tylko manualnie, np przycisk. Sprawdź, czy masz dobrze podpięte WSZYSTKIE piny. Jak zaczynałem zabawę z RFM73 to miałem ten sam problem, w złym miejscu dałem linie CSN (powinna być do SS) i niby coś odbierało, a tak na prawdę to było coś (bliżej niezidentyfikowanego :D) na 2.4GHz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2014, o 16:30 
Offline
Nowy

Dołączył(a): 10 lut 2014
Posty: 7
Pomógł: 0

Zainstalowałem najnowszą wersje Atmel Studio i nadal nic. To znaczy, dioda miga, ale gdy procesor odbierze jakiś plik danych to całość się wiesza. Gdy coś wyśle to też się wiesza.


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


zamieniłem to na

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


Taki mały błąd i dwa dni zabawy :D



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

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