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



Teraz jest 21 lis 2024, o 12:27


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 2 lip 2024, o 00:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1030
Lokalizacja: Trójmiasto
Pomógł: 189

MarekSz napisał(a):
Czy mogę bezpośrednio podawać sygnały z MCU?

MarekSz napisał(a):
No i ciekawostka - mam wyświetlacz z elektroniką i stabilizatorem 3.3V. Można go zasilać z 5V, ale nie ma konwersji napięć na pinach wejściowych. Więc mimo 5V go również wykończy.

Zdecydowana większość tych wyświetlaczy to takie na magistralę I2C. Kluczem do sukcesu w tym wypadku jest sama idea magistrali I2C, a mianowicie fakt, że żaden z układów znajdujących się na magistrali nie powinien wystawiać napięcia, a jedynie zwierać do masy, dla stanu "0", natomiast stan "1" jest realizowany przez rezystory podciągające do Vcc.
Te wyświetlacze zazwyczaj mają stabilizatory LDO 3,3V, więc można je zasilać 5V tak jak i uC, ale linie SCL i SDA powinny być podciągnięte do 3,3V (zresztą zazwyczaj jak na płytce wyświetlacza jest LDO, to i również są rezystory 10K podciągające obie linie do 3,3V), i przy poprawnej implementacji protokołu I2C wszystko w takiej konfiguracji będzie działać. 3,3V dla procka zasilanego 5V mieści się jeszcze w zakresie logicznego 1.
Problem w tym, że często implementacja protokołu I2C jest niewłaściwa, tzn. procek dla stanu wysokiego wystawia 5V zamiast ustawić wyjście w HiZ, albo sprzętowe podciąganie zewnętrznym rezystorem do 5V - no i niestety ale wtedy wyświetlacz długo nie pociągnie.
Niestety bawiąc się elektroniką trzeba to robić świadomie. Czytać noty sprawdzać budowę modułów. Tym bardziej że myfriendy produkujące tę elektronikę, często mają dziwne pomysły.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2024, o 13:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1030
Lokalizacja: Trójmiasto
Pomógł: 189

MarekSz napisał(a):
Wierz mi, analizowałem noty sterowników wyświetlaczy SSD1306
Ale tu nie chodzi tylko o noty. Chodzi też o znajomość np. magistrali komunikacyjnej, bo w tym akurat przypadku diabeł tkwi właśnie w samej idei działania I2C, w sensie że układy nie powinny wystawiać napięcia a tylko zwalniać linię by ta poprzez pullupy wróciła do poziomu wysokiego, tu akurat myfriendy tą właściwość wykorzystali by w opisie wyświetlacza napisać, że może pracować 3,3 - 5V.
Tak więc ja nie pisałem posta wyżej, jako zarzut, że nie czytałeś noty. Chciałem zwrócić uwagę, że trzeba dobrze poznać wszystkie aspekty poszczególnych klocków (właśnie nie tylko notę ale właśnie rzeczy dla niektórych oczywiste, a dla innych nie, takie jak założenia magistrali komunikacyjnej, schemat - tu często rozrysowany samemu), a niestety i to nie gwarantuje sukcesu, bo czasem pan chińczyk będzie miał radosną wenę twórcza zupełnie odklejoną od rzeczywistości (jak np arduino nano, gdzie np na płytce wyprowadzają napięcie 3,3V niby do wykorzystania, a jest to napięcie "pożyczone" ze scalaka konwertera USB-UART, które ma znikomą wydajność prądową, a które de fakto twórca ów scalaka wyprowadził z niego tylko do podłączenia kondensatora filtrującego, a nie jako napięcie do wykorzystania).

MarekSz napisał(a):
W tym przypadku, nawet jeśli nasz projekt pracuje na 5V i ma własne pull'upy podpięte do +5V, to nie skrzywdzimy tego wyświetlacza po bezpośrednim podłączeniu do I2C w MCU.
Zapomniałeś o jednej rzeczy: jeśli projekt będzie pracować na 5V i będzie miał własne pulup-y, to wyświetlacz który będzie mieć diody na wyjściach SCL i SDA niestety nie będzie działać, bo niby jak poprzez diody ma wymusić stan niski na liniach podciągniętych do 5V po drugiej stronie, skoro dioda jest zaporowo! A przecież wyświetlacz musi wystawić sygnał ACK po zaadresowaniu przez uC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2024, o 17:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1030
Lokalizacja: Trójmiasto
Pomógł: 189

MarekSz napisał(a):
Nie chce mi się wierzyć, by sprzedawali nieprzetestowany moduł. Rozumiesz coś z tego? Bo ja nic..

Nie chodzi o to ze nie przetestowali. To będzie działać ale tylko gdy na magistrali nie będzie dodatkowych pullupów do 5v. Bo wówczas te wbudowane w wyświetlacz zewnętrzny procek będzie w stanie ściągnąć do GND, z kolei gdy wyświetlacz wystawi ACK to przed diodą zewrze do GND. Martwi mnie tylko fakt, iż pin od strony procka w takim wypadku nie będzie widział napięcia ale teoretycznie będzie "pływający". Choć patrząc na notę użytych diod schottky, prąd wsteczny mają 0,5mA więc może i to wystarczy by wymusić stan 0.
To jest właśnie problem z myfriendami, coś sobie po swojemu wymyślą i może i to u nich działa, ale często tylko w ich konkretnym układzie, którego nawet nie przedstawią w przykładowej aplikacji. Później przeciętny Kowalski się męczy bo już w jego układzie to nie do końca chce 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: 3 ] 

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