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



Teraz jest 25 gru 2024, o 14:07


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 11 mar 2015, o 07:51 
Offline
Nowy

Dołączył(a): 04 lut 2015
Posty: 19
Pomógł: 0

Witam! Znalazłem taki prosty sposób przesłania zmiennej przy użyciu modułów radiowych bez użycia biblioteki VirtualWire:

[ kody programów wstawiamy zgodnie z instrukcją: topic7402.html - mirekk36 ]

W ten sposób kiedy wysyłam swoją zmienną zawierającą pomiar (różnica taka, że moja zmienna jest typu int a nie byte) to na monitorze portu szeregowego tego nadającego układu jest prawidłowy pomiar. Niestety na porcie szeregowym układu, który odbiera pomiar wyniki są losowe...

Moduły posiadam takie:
http://www.tme.eu/pl/details/hm-r433/mo ... ctronics/#
http://www.tme.eu/pl/details/hm-t433/mo ... ctronics/#

Dla ścisłości: chcę przesłać wartość pulsu z czujnika pulsesensor dla Arduino (znajduje się w zmiennej typu volatile int) do drugiego układu i wyświetlać tę wartość co mniej więcej sekundę na wyświetlaczu LCD ST7565R.

Tutaj moje kody:

Kod układu z czujnikiem - http://pastebin.com/CqTUGAff
Kod układu z wyświetlaczem - http://pastebin.com/Pauh2exN

Te kody muszę odpowiednio wzbogacić o część odpowiedzialną za transmisję danych. Byłbym ogromnie wdzięczny za pomoc gdyż muszę to na jutro rano mieć gotowe :(

Używam płytek:
z włożonymi Atmegami 328p z bootloaderem arduino.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2015, o 09:18 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

kokon89 napisał(a):
Znalazłem taki prosty sposób przesłania zmiennej przy użyciu modułów radiowych bez użycia biblioteki VirtualWire:

http://pastebin.com/jKCFV0Ke

W ten sposób kiedy wysyłam swoją zmienną zawierającą pomiar (różnica taka, że moja zmienna jest typu int a nie byte) to na monitorze portu szeregowego tego nadającego układu jest prawidłowy pomiar. Niestety na porcie szeregowym układu, który odbiera pomiar wyniki są losowe...


Wielu już tego próbowało z równie mizernym skutkiem. To ślepa uliczka. Krótkie naświetlenie problemu: http://forum.atnel.pl/topic8469.html#p97868

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2015, o 09:37 
Offline
Nowy

Dołączył(a): 04 lut 2015
Posty: 19
Pomógł: 0

W takim razie czy ktoś jest w stanie mnie nakierować jak zrobić to za pomocą VirtualWire najprościej jak się da ? Jestem początkującym a jest to projekt, który muszę rano mieć gotowy :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2015, o 11:43 
Offline
Nowy

Dołączył(a): 04 lut 2015
Posty: 19
Pomógł: 0

Użyłem w końcu VirtualWire...Niestety nadal nie działa - wklejam kody (sugerowałem się tym: http://genericnerd.blogspot.com/2012/07 ... -with.html)

Co tu może być źle :( ?

Moje kody poniżej

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


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


Źle wklejony listing - Różowo-Zielony J.

EDIT: Poprawiłem listingi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2015, o 18:30 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 227
Lokalizacja: LDZ
Pomógł: 22

Poniżej masz fajną analizę tych modułów oraz sporo informacji w jaki sposób uzyskać stabilny odbiór danych.
http://www.romanblack.com/RF/cheapRFmodules.htm



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2015, o 18:42 
Offline
Nowy

Dołączył(a): 04 lut 2015
Posty: 19
Pomógł: 0

Nie są to te moduły - nie zmienia to faktu, że po wgraniu przykładów stąd: http://www.seeedstudio.com/wiki/Grove_- ... F_Link_Kit

zero reakcji na porcie szeregowym układu odbierającego - zaczynam się zastanawiać czy któryś z modułów nie jest uszkodzony :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2015, o 20:55 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 227
Lokalizacja: LDZ
Pomógł: 22

To mało ważne. Te są podobne. Spróbuj uruchomić nadajnik i odbiornik bez niczego podłączonego (tylko kondensatory na zasilanie). Zmierz napięcie na wyjściu odbiornika. Podaj +zasilania(tego którym zasilasz nadajnik) na pin data nadajnika (najlepiej przez rezystor) i sprawdź jeszcze raz napięcie na wyjściu odbiornika. Jeśli pokazało się napięcie na wyjściu odbiornika to działają tak samo jak z linka który wyżej wkleiłem. To co mi się rzuciło w oczy: co robisz z pinem enable odbiornika?
Jak chcesz żeby ktoś Ci pomógł to wrzuć zdjęcia jak podłączyłeś, jakiś schemat itd. bo z fusów kiepsko się wróży.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 mar 2015, o 07:35 
Offline
Nowy

Dołączył(a): 04 lut 2015
Posty: 19
Pomógł: 0

Za chwilę wykonam taki test jak napisałeś. Pin Data podpięty do pinu odpowiadającemu pinowi 12 arduino. Gnd do masy, Vcc do zasilania (wszystko zasilam 3,3V). Pin enable podpięty do zasilania.

Jutro na uczelni będę miał dostęp do oscyloskopu i wtedy sprawdzę dokładnie co i jak.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2015, o 14:51 
Offline
Nowy

Dołączył(a): 04 lut 2015
Posty: 19
Pomógł: 0

Po podpięciu odbiornika i nadajnika do kanałów oscyloskopu i podaniu na nadajnik sygnału prostokątnego - na odbiorniku pojawia się identyczny sygnał. Kiedy sygnał z nadajnika nie jest nadawany to na odbiorniku pojawiają się same dziwne rzeczy - tak jakby sygnał był przesyłany z jakimś szyfrowaniem.

Chyba będę zmuszony zakupić te zwykłe chińskie moduły...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2015, o 15:13 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 227
Lokalizacja: LDZ
Pomógł: 22

To są śmieci łapane przez odbiornik. Możesz właściwą transmisję spróbować poprzedzić kilkoma bajtami 0xff w celu ustabilizowania odbiornika. Sprawdź czy wtedy transmisja idzie. Czytałeś info z linka który pokazałem? Ja dopiero w przyszłym tygodniu będę miał te chińskie moduły żeby coś powalczyć. Na razie szykuję bibliotekę do tego.
A i jeszcze jedno. Jaka częstotliwość generatora?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2015, o 16:50 
Offline
Nowy

Dołączył(a): 04 lut 2015
Posty: 19
Pomógł: 0

1 kHz ten sygnał prostokątny, który podawałem. Ja zamówiłem dziś 2 komplety tych chińskich na allegro więc w poniedziałek a najpóźniej we wtorek będą u mnie. Będę jeszcze siedział nad tymi do tego czasu - może uda się je zmusić do współpracy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2015, o 19:12 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 227
Lokalizacja: LDZ
Pomógł: 22

Skoro masz stabilny sygnał 1kHz to spróbuj transmisji USART z prędkością 1200. Tylko przed wysłaniem właściwych znaków wyślij 2 lub 3 znaki 0xff. I podejrzyj wyjście odbiornika oraz wejście nadajnika oscyloskopem. Będziesz widział czy transmisja przechodzi i czy są jakieś różnice. Jeśli będzie ok to spróbuj uruchomić to na dwóch procesorach. Jak rozpoznać, że idzie transmisja? Czekasz aż USART odbierze wszystkie (nie musi wcale być ich tyle co wysyłasz nadajnikiem) bajty 0xff - następny znak po ostatnim 0xff to będzie właściwa transmisja. Jeśli zadziała to możesz zwiększać powoli prędkość transmisji i obserwować czy nadal działa. Wg. autora tekstu który podlinkowałem te moduły nie wyciągają więcej jak 2kHz bo spada wypełnienie na wyjściu odbiornika (przy sygnale 2kHz wypełnieniu 50/50 na wejściu na wyjściu stan wysoki ma już tylko 43%).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 mar 2015, o 06:15 
Offline
Nowy

Dołączył(a): 04 lut 2015
Posty: 19
Pomógł: 0

Czytałem ten artykuł. Spróbuję zrobić tak jak napisałeś. Niestety dopiero w poniedziałek będę ponownie miał dostęp do oscyloskopu. Na swój na razie odkładam pieniążki :)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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