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



Teraz jest 10 mar 2025, o 10:10


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 21 lis 2016, o 16:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 39
Lokalizacja: Kraków
Pomógł: 0

Witam Kolegów,

w trakcie przygotowań do pracy magisterskiej, a mianowicie modyfikacji nawigacji robota na metodę magnetyczną natrafiłem na następujący problem. Mianowicie chcę użyć ok 10 czujników HMC5883L (magnetometr cyfrowy) na jednej lini I2C, niestety nie posiadają one możliwości zmiany adresu. Mam pewien pomysł, który przedstawiam poniżej. Prosiłbym Was o jego skomentowanie.

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 17:05 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8615
Pomógł: 338

zobacz co na to ma do powiedzenia
maxim ....

https://www.maximintegrated.com/en/app- ... mvp/id/955

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 17:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 39
Lokalizacja: Kraków
Pomógł: 0

Rozwiązanie fajne bo gotowe, ale będzie zajmowało znacznie więcej miejsca na płytce w stosunku do tego co narysowałem. Mam nadzieję, że odpowiednia konfiguracja rezystorów pozwoli na wykorzystanie tej idei.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 17:28 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

krzyhu0905gmail napisał(a):
Mam nadzieję, że odpowiednia konfiguracja rezystorów pozwoli na wykorzystanie tej idei.

A próbowałeś sobie to już rozrysować?

Zwróć uwagę, że akurat linia SDA jest dwukierunkowa i w dodatku musi mieć wyjścia typu 'open collector', więc zwykły multiplexer raczej tu egzaminu nie zda. Poza tym sytuacja, kiedy na linii SDA jest cały czas stan wysoki, gdy jednocześnie na linii SCL jest sygnał zegarowy, nie jest raczej ujęta w specyfikacji magistrali, więc nie wiadomo, jak układy slave na to zareagują.

Myślę, że lepszym rozwiązaniem byłoby jednak użycie specjalizowanego układu, np. coś w stylu PCA9548A (powinien być dostępny w Polsce).


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 17:29 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8615
Pomógł: 338

obawiam się że nie zrozumiałeś ... to jeden układ jest tylko wiec co ma zająć ??
to nie jest gotowiec tylko dedykowane rozwiązanie na takie właśnie problemy jak masz ty
jest wyraźnie pokazane ...

to sprawdzone rozwiązanie właśnie do takich kłopotów , ... ale jak to mówią ... każdy się musi nauczyć

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 18:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 39
Lokalizacja: Kraków
Pomógł: 0

SunRiver napisał(a):
obawiam się że nie zrozumiałeś ... to jeden układ jest tylko wiec co ma zająć ??
to nie jest gotowiec tylko dedykowane rozwiązanie na takie właśnie problemy jak masz ty
jest wyraźnie pokazane ...

to sprawdzone rozwiązanie właśnie do takich kłopotów , ... ale jak to mówią ... każdy się musi nauczyć


zrozumiałem, tyle, że ten układ pomaga mi obsłużyć 3 urządzenia o tym samym adresie a ja mam ich 10 czyli musiałbym użyć 4 takie, które zaproponowałeś. Rozwiązanie jest oczywiście dobre i dziękuję Ci za pomoc jednak w moim przypadku muszę znaleźć jakąś inną alternatywę, wszystko ze względu na ograniczone miejsce na płytce.

------------------------ [ Dodano po: 6 minutach ]

andrews napisał(a):
krzyhu0905gmail napisał(a):
Mam nadzieję, że odpowiednia konfiguracja rezystorów pozwoli na wykorzystanie tej idei.

A próbowałeś sobie to już rozrysować?

Zwróć uwagę, że akurat linia SDA jest dwukierunkowa i w dodatku musi mieć wyjścia typu 'open collector', więc zwykły multiplexer raczej tu egzaminu nie zda. Poza tym sytuacja, kiedy na linii SDA jest cały czas stan wysoki, gdy jednocześnie na linii SCL jest sygnał zegarowy, nie jest raczej ujęta w specyfikacji magistrali, więc nie wiadomo, jak układy slave na to zareagują.

Myślę, że lepszym rozwiązaniem byłoby jednak użycie specjalizowanego układu, np. coś w stylu PCA9548A (powinien być dostępny w Polsce).


układ mux/demux może działać jako dwukierunkowy przełącznik czyli generalnie zachowuje się neutralnie. Jeśli chodzi o linię zegarową to z układem, który mam linia SCL nie powoduje niczego złego ponieważ stan lini SDA będzie HIGH (układ zdeaktywowany).

Dzięki za zasugerowanie układu PCA9548A to dokładnie to czego potrzebuje upakowane w jednym scalaku ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 18:27 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

krzyhu0905gmail napisał(a):
układ mux/demux może działać jako dwukierunkowy przełącznik czyli generalnie zachowuje się neutralnie

A mógłbyś podać jakiś konkretny symbol?

krzyhu0905gmail napisał(a):
Jeśli chodzi o linię zegarową to z układem, który mam linia SCL nie powoduje niczego złego ponieważ stan lini SDA będzie HIGH (układ zdeaktywowany).

Teoretycznie tak, ale sprawdziłeś to w praktyce? O ile wiem, specyfikacja magistrali raczej takiej sytuacji nie przewiduje, więc byłbym ostrożny. Poza tym myślę, że nie bez powodu dedykowane układy mają multipleksowane obydwie linie.

Cytuj:
Dzięki za zasugerowanie układu PCA9548A to dokładnie to czego potrzebuje upakowane w jednym scalaku
Dla uzupełnienia do 10 można użyć mniejszego dwukanałowego PCA9543A, żeby zaoszczędzić miejsce ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 19:01 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8615
Pomógł: 338

krzyhu0905gmail napisał(a):
zrozumiałem, tyle, że ten układ pomaga mi obsłużyć 3 urządzenia o tym samym adresie a ja mam ich 10 czyli musiałbym użyć 4 takie,


no właśnie nie zrozumiałeś ... to był przykład dołączenia 3ch magistral ... wystarczyło się rozejrzeć po stronie ...
jest tam ... kilkadziesiąt dedykowanych rurerów i switchy dla urządzeń I2C :)
oczywiście rozwiązania NXP są również bardzo dobre -- w końcu to dawny Philips ... twórca I2C

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 19:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 39
Lokalizacja: Kraków
Pomógł: 0

andrews napisał(a):
krzyhu0905gmail napisał(a):
układ mux/demux może działać jako dwukierunkowy przełącznik czyli generalnie zachowuje się neutralnie

A mógłbyś podać jakiś konkretny symbol?

krzyhu0905gmail napisał(a):
Jeśli chodzi o linię zegarową to z układem, który mam linia SCL nie powoduje niczego złego ponieważ stan lini SDA będzie HIGH (układ zdeaktywowany).

Teoretycznie tak, ale sprawdziłeś to w praktyce? O ile wiem, specyfikacja magistrali raczej takiej sytuacji nie przewiduje, więc byłbym ostrożny. Poza tym myślę, że nie bez powodu dedykowane układy mają multipleksowane obydwie linie.

Cytuj:
Dzięki za zasugerowanie układu PCA9548A to dokładnie to czego potrzebuje upakowane w jednym scalaku
Dla uzupełnienia do 10 można użyć mniejszego dwukanałowego PCA9543A, żeby zaoszczędzić miejsce ;)


jeśli chodzi o sprawdzenie to tak działało mi to bez odłączania lini SCL + 2 przełączniki manualne dla SDA.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 19:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Tak trochę żartem, ale po zapewnieniu odpowiedniego zasilania powinno działać to można byłoby przekaźniki zastosować, są dwukierunkowe.

------------------------ [ Dodano po: kilkunastu sekundach ]

Przecież jest możliwy kalkualtor na przekaźnikach, ale będzie prądu zużywał.


Proszę o nie pisanie nic nie wnoszących postów w tematach ... bo bedę takie zachowanie nagradzał warnem ..
-- SunRiver

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2016, o 19:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 39
Lokalizacja: Kraków
Pomógł: 0

SunRiver napisał(a):
krzyhu0905gmail napisał(a):
zrozumiałem, tyle, że ten układ pomaga mi obsłużyć 3 urządzenia o tym samym adresie a ja mam ich 10 czyli musiałbym użyć 4 takie,


no właśnie nie zrozumiałeś ... to był przykład dołączenia 3ch magistral ... wystarczyło się rozejrzeć po stronie ...
jest tam ... kilkadziesiąt dedykowanych rurerów i switchy dla urządzeń I2C :)
oczywiście rozwiązania NXP są również bardzo dobre -- w końcu to dawny Philips ... twórca I2C


masz rację, zbyt pobieżnie na to popatrzyłem może dlatego, że nie znalazłem do końca tego czego oczekiwałem. Ostatecznie zrobię to na NXP i myślę, że załatwi to sprawę.

Jeszcze raz dzięki chłopcy za pomoc ;) nie wpadłem wcześniej na to, że mogą istnieć dedykowane rozwiązania i dlatego nawet nie szukałem.



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

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