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



Teraz jest 25 gru 2025, o 22:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 3 sty 2017, o 22:13 
Offline
Nowy

Dołączył(a): 18 lip 2015
Posty: 6
Pomógł: 0

Chodzi mi po głowie dość rozbudowany układ sterowania. Schemat blokowy w załączeniu.

Obrazek

Zastanawiam się, czy część układów może być zasilana napięciem 3.3V a część 5V bez zastosowania układów konwertujących poziomy (np. PCA9306 dla I2C) . Główny procesor, procesor ETH oraz karta SD pracowały by na napięciu 3.3V a pozostałe, spięte magistralą I2C zasilane by były 5V. MAX485 też zasilany 5V. Czy takie spięcie "na krótko" układów zasilanych różnymi napięcimi nie zaowocuje problemami typu: błędy w komunikacji pomiędzy procesorem a poszczególnymi układami lub też może to spowodować uszkodzenie np. procesora? I do jakiego napięcia podpiąć R1 i R2?

Będę wdzięczny za pomoc.
Pozdrawiam
Adam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2017, o 22:18 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

Jeżeli chcesz zasilać poszczególne bloki z różnych napięć to żeby uniknąć niespodzianek musisz zastosować konwersję napięć. Między atmegą a max485 można zrobić to dość łatwo, z wykorzystaniem tranzystorów ale proponuję Ci obejrzyj to: https://www.youtube.com/watch?v=H4DQy2OUq8c



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2017, o 22:20 
Offline
Moderator
Avatar użytkownika

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

Twoje pytanie można by sprowadzić np do takiego.

Chciałbym przechodzić przez kilka przejść dla pieszych ale korzystając czasem z czerwonego zamiast zielonego światła. Czy jeśli tak zrobię to wszystko będzie w porządku ?

Czyli tak - wiesz, że przechodzenie na czerwonym jest niedozwolone ale często się udaje więc hmm może można ?

sorki ale to niezbyt dobre podejście - ... warto zrozumieć co to jest konwersja napięć i po co się ją stosuje, jakie stwarzać może zagrożenia sytuacja gdy brak konwersji napięć ... tak jak przechodzenie na czerwonym.

czytaj częściej mojego bloga ;)

http://mirekk36.blogspot.com/2015/05/ko ... v-ttl.html

zobacz to i będziesz wiedział jak należy zabezpieczyć np magistralę I2C. Natomiast o magistrali RS485 to jeszcze "troszkę" poczytaj bo to CAŁKIEM co innego.

_________________
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: 3 sty 2017, o 22:58 
Offline
Nowy

Dołączył(a): 18 lip 2015
Posty: 6
Pomógł: 0

Dziękuje za szybkie odpowiedzi.
Czyli wniosek jest jeden, że nawet jeżeli czasem układ działa bez konwersji napięć to nie ma co ryzykować i trzeba zadbać o dopasowanie poziomów.

A.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2017, o 23:06 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

Otóż to :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2017, o 23:15 
Offline
Moderator
Avatar użytkownika

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

ozyrys2k napisał(a):
bez konwersji napięć

bez konwersji napięć to:

- większe prądy wyrównawcze
- większe prądy to zgodnie z prawem Ohma większe spadki napięć
- większe spadki napięć to coraz bardziej zakłócone przebiegi
- bardziej zakłócone przebiegi to częstsze kłopoty w transmisji danych
- większe kłopoty w transmisji danych to babole w działaniu urządzenia - być może rzadko, ale tym bardziej trudne do namierzenia
- większe prądy to wręcz możliwość sfajczenia czegoś

nie zawsze tak się musi dziać, ale jak się zacznie w gotowym docelowym układzie albo chociaż będzie się zdarzać raz na jakiś czas to będzie fajnie ? ;) chyba nie ... a jak widzisz tak prosto można sobie poradzić.

_________________
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: 4 sty 2017, o 10:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

Teoretycznie logiczna jedynka to 0,6 *Vcc więc dla 5V zasilania to 3V więc na granicy.
Po co ryzykować jak dwa małe tranzystorki załatwiają sprawę i śpimy spokojnie.

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2017, o 11:20 
Offline
Moderator
Avatar użytkownika

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

squeez napisał(a):
Teoretycznie dla I2C można się obejść bez konwersji napięć, tylko linie podciągnąć do 3,3V zamiast do 5V.
Linie w I2C są typu OC, dla układów 3,3V działać będzie normalnie natomiast dla układu 5V z liniami podciągniętymi do 3,3V też powinno działać bez problemu, dla pewności sprawdzić w DS od jakiego poziomu napięcia jest logiczne 1 ale myślę że 3,3V bez problemu będzie zaliczane jako logiczne 1.
Napięcie wymusza polaryzacja rezystorem (podciągnięcie) układy nie wystawiają stanów wysokich tylko "niskie" jak by to powiedzieć, a ten jest wspólny dla wszystkich.

Nic tu nie upali, gorzej jak byś podciągał jak na twoim schemacie, czyli linie do 5V, wówczas procesor zasilany z 3,3V dostałby 5V co mogło by być mało fajne dla niego


Bardzo uprzejmie przepraszam, ale no muszę to napisać - to co kolega tu napisał to MEGA PRZEDZIWNA IDEA (żeby to delikatnie jakoś określić) i proszę mi wybaczyć to określenie ....

No ale do jasnej choinki, człowiek dwoi się i troi, żeby nauczyć początkujących w czym rzecz ... stara się wyjaśnić co i jak działa ... a ty się przyczepiasz UPALENIA ... i piszesz o "teoretycznie" .... Teoretycznie to za przeproszeniem można językiem dotknąć dwóch przewodów 230 V i nie każdemu się coś stanie .... ;)

Brak konwersji na I2C będzie bez żadnego "ale" powodować problemy na dłuższą metę a szczególnie jak zechcemy sobie

1. stosować większe prędkości niż np standardowe popularne 100 kHz
2. stosować ciut dłuższe magistrale gdzie będzie trzeba zejść z podciąganiem linii OC

squeez napisał(a):
apięcie wymusza polaryzacja rezystorem (podciągnięcie) układy nie wystawiają stanów wysokich tylko "niskie" jak by to powiedzieć, a ten jest wspólny dla wszystkich.

Tak jeśli ZAWSZE i tylko zawsze korzystamy w 100% z pinów jako I2C ... gorzej gdy przez jakiś czas działania programu, czy to przypadkowo czy nie przypadkowo piny zadziałają jako IO ze stanem wysokim i wtedy ? .... no wtedy to możemy nawet myśleć o upaleniu bidnych scalaków zasilanych 3,3V chyba, że ... no chyba że mają wejścia 5V tolerant ... to by trzeba było sprawdzić w notach

ale jaki jest sens ... no jaki ? gdy konwersja dwukierunkowa na I2C sprowadza się do zastosowania wręcz pojedynczego MOSFET'a i dwóch rezystotów ... W pełni dwukierunkowe rozwiązanie i zdaje egzamin spokojnie przy 400 kHz ale i większych częstotliwościach a bezpieczeństwo i pewność działania układu wzrasta do 100%

a tak nawiasem mówiąc i odnośnie rozpoznawania stanów niskich i wysokich - to jeszcze zależy od rodzaju scalaka - prosty przykład

Obrazek

Na zakończenie dodam, że omawiana przeze mnie konwersja napięć pokazana na blogu z MOSFETAMI jest wręcz zalecana i od dawna polecana przez samego Philipsa który opracował I2C. Co więcej NIGDZIE , podkreślam bo to WAŻNE, NIGDZIE w żadnych profesjonalnych rozwiązaniach nie znajdziesz swoich "teoretycznych" rozwiązań bez konwersji ...

więc pytam - jaki jest cel takich podpowiedzi, na forum dla początkujących, na którym ludzie chcą się nauczyć jak robić coś po inżyniersku i prawidłowo a nie na zasadzie - "a teoretycznie będzie działać" ... a później w konstrukcjach niektórych młodych firm spotykamy się ze źle działającymi urządzeniami i gdy się zajrzy do środka i zobaczy takie "teoretyczne" rozwiązania to aż ciarki przechodzą po plecach i wiadomo dlaczego urządzenie ma problemy ...

Układy do konwersji napięć mają też i zapobiegają zwykłym ludzkim przeoczeniom szczególnie właśnie gdy mamy do czynienia z techniką mikroprocesorową ... gdzie nie wszystko zależy od sprzętu ale często przede wszystkim od programu a więc również od błędów programu czyli na końcu programisty .... dlatego jeszcze raz powtórzę

prosty przypadek - do testów na piny SDA i SCL zostanie wystawiony stan WYSOKI i NISKI zaś układy zasilane 3,3V nie będą miały wejść 5V tolerant ... i ?

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

mczarny napisał(a):
Po co ryzykować jak dwa małe tranzystorki załatwiają sprawę i śpimy spokojnie.

I o TO WŁAŚNIE CHODZI ! ... wtedy nie ważne czy 5V tolerant, czy pin będzie przypadkowo IO ze stanem wysokim czy niskim ... zero problemu, zero

_________________
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: 4 sty 2017, o 12:16 
Offline
Moderator
Avatar użytkownika

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

squeez napisał(a):
Rozwiązanie jaki podałem działa


Na takiej samej zasadzie działa "poprawnie" w cudzysłowiu "poprawnie" np:

komunikacja UART przy błędzie powyżej 2%
komunikacja na dowolnej innej magistrali np SPI bez konwersji napięć pomiędzy układami zasilanymi różnymi napięciami
komunikacja czasem bez podłączonego GND tylko linie sygnałowe np na SPI czy I2C
dioda LED podłączona do procka w ogóle bez rezystora

i mógłbym tak jeszcze długo wymieniać ...

squeez napisał(a):
Jeśli ktoś zatrudnia w firmie ludzi nie do końca mających pojęcie o tym co mają robić to jego odpowiedzialność i rachunek zysków/strat.

Zamiast się martwić o to kto jakich ludzi zatrudnia - postaraj się pomóc początkującym tak aby wiedzieli jak coś należy robić zgodnie ze sztuką a nie sztuczki cyrkowe - poproszę

squeez napisał(a):
Nie czepiam się też żadnego upalenia tylko wyjaśniam, że w przypadku I2C nie grozi bo linie są typu OC a co za tym idzie "nie wystawiają stanu wysokiego" co mogło by doprowadzić do "awarii innej części układu".

To może jeszcze raz - a jeśli w wyniki prowadzonych testów linie SDA i SCL nie zostaną zainicjalizowane jako I2C tylko zwykłe wyjścia to co ?

Rozumiem - też odpowiesz zapewne, że co cię obchodzi, że ktoś popełnia takie błędy ....

Ale nie jest to za bardzo pomocne podejście - tak mi się wydaje.

Gdybyś nadal nie rozumiał, że konwersja w wypadku pytania z pierwszego postu sprowadza się TYLKO do jednej pary tranzystorów przy procku zasilanym +5V to podpowiadam ci to jeszcze raz - bo cała druga strona jak pisał autor miała by być zasilana 3,3V.

Więc proszę nie wprowadzaj udziwnień bo taka konwersja kosztuje niewiele więcej niż 50 groszy i nie wiem czy jest o co kruszyć kopie z takim pomysłem o którym piszesz, a który w wyniku zwykłej ludzkiej pomyłki może prowadzić do samych problemów ..

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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