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



Teraz jest 27 maja 2026, o 13:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 18 kwi 2016, o 00:07 
Offline
Nowy

Dołączył(a): 08 lip 2015
Posty: 13
Pomógł: 0

Witam, mecze sie od wczoraj z modulem MPU6050 komunikujacym sie po i2c, zasilanym z 5V(zgodnie z nota katalogowa)
Funkcje kalibrujace i odczytujace mam z internetu i generalnie nawet dzialaja... problemem jest to ze po calej konfiguracji kiedy chce dokonac jakiegokolwiek odczytu to od zyroskopu dostaje 0 a od accelerometru 26728 i nic ani drgnie (bez wzgledu na wybor osi)

podejrzewam ze cos nie tak jest z funkcja i2c_read_str() czyli odczyt bajtu, ale mi sie juz pomysly skonczyly, W bluebooku jest to wyjasnione dobrze ale chyba trzeba nieco zaadoptowac uzyta tam implementacje i2c do projektu tutaj... ma ktos jakis pomysl co w tej funkcji jest nie tak?

Chyba najwieksza zagadka jest tutaj to ze w tej funkcji gdy chce ustawic bit zapis/odczyt na 1 to wszystko sie sypie i nic nie dziala :/ (83 linijka)

funkcja obslugi TWI jest wzieta z bluebooka jednak moze w niej byc troche herezji bo edytowalem juz co popadnie ale caly czas bez zmian :/

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



Tutaj obsluga MPU6050

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: 18 kwi 2016, o 07:25 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

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

Masz jakiś analizator stanów logicznych? Oscyloskop?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2016, o 07:41 
Offline
Nowy

Dołączył(a): 08 lip 2015
Posty: 13
Pomógł: 0

Z noty katalogowej nie wynika aby brakowalo tam stopu, bluebook rowniez mowi inaczej, oscyloskopu nie posiadam, zadnego jego substytutu tez nie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2016, o 08:34 
Offline
Użytkownik
Avatar użytkownika

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

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

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


------------------------ [ Dodano po: 10 minutach ]

Zobacz jak wyglądają te dwie funkcje i2c_write_byte oraz i2c_read_str w BB. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2016, o 08:51 
Offline
Nowy

Dołączył(a): 08 lip 2015
Posty: 13
Pomógł: 0

o kurdebele masz racje!, kolo 20 dam znac czy to pomoglo !!


co do tych funkcji write_byte(); i read_str(); to poza nazwa i nazwami zmiennych nie dostrzegam istotnej roznicy (poza tym +1 dla bitu r/w) chyba czegos nie widze :p

Niestety - nic sie nie zmienilo (jedynie transmisja dziala nieco szybciej), bajty sie zapisuja do pamieci urzadzenia ale caly czas jest problem z odczytem, cokolwiek proboje odczytac dostaje wartosc 104, jezeli proboje odczytac rejestry zyroskopu otrzymuje 0, jesli akcelerometru(16 bit) otrzymuje 26758

Ktos wie co jest nie tak z tymi funkcjami?
i dlaczego jak dodaje ten bit stopu(adres+1) to przestaje dzialac?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 kwi 2016, o 21:42 
Offline
Nowy

Dołączył(a): 08 lip 2015
Posty: 13
Pomógł: 0

widze ze nikt sie nie garnal do pomocy....
W takim razie dla potomnych kroczacych sciezka odnajdywania orientacji w przestrzeni 3d :
adres MPU6050 ma 7 bitow, wiec aby podczas odczytu z tego urzadzenia mozna bylo dodac 1 do ostatniego bitu to trzeba zrobic tak:
AdresMPU6050<<1 |1

czyli przesunac o 1 w lewo.

i wszystko działa :)

dodatkowo, przypominam ze pomiar jest bardzo zaszumiony, i o tym aby poprawnie rzutowac zmienne przy natloku funkcji odczytujacych!



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

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