Skocz do zawartości

Jednokierunkowy konwerter 5V->3V3 i zabezpieczenia ESD (EDIT)


Bobby

Pomocna odpowiedź

Cześć, projektuję urządzenie, którego logika zasilana jest z 3.3V. Znajduje się tam jednak złącze do enkodera inkrementalnego, a te najczęściej zasilane są z 5V. Potrzebuję zatem (możliwie małego-taniego) konwertera poziomów logicznych z 5V na 3.3V. Myślałem o dzielnikach napięcia, ale nie chciałbym niepotrzebnie obciążać wyjść enkodera. Trafiłem gdzieś na rozwiązanie oparte o dwie diody:

IMG_55dc5c297d699986.png

Działa to w ten sposób - na złączu enkodera pojawia się 0 - dioda zaczyna przewodzić przez pullupa i w miejscu oznaczonym jako A lub B dostaniemy 0+Vfd diody, czyli około 0.6V, co STM powinien łyknąć jako logiczne 0. Jeśli natomiast na złączu enkodera będzie 5V, dioda spolaryzowana jest w kierunku zaporowym i STM widzi 1 przez pullupa. Docelowo pullup będzie wewnętrzny, aby oszczędzić nieco miejsca na płytce i 2 rezystorki w BOM. Jednak czy ktoś może mi powiedzieć, czy takie rozwiązanie w przypadku enkoderów ma w ogóle sens? Dajmy na to, że enkoder będzie miał 512CPR, a silnik kręcić się będzie 20000RPM, po prostych rachunkach dostajemy około 170kHz - nie będzie to już za dużo dla takiego konwerterka? W jaki sposób to policzyć? Czy konwerter z dzielników rezystorowych byłby lepszy? Może po prostu dać jakiegoś 74xx, który może na wejściu dostać napięcie większe niż VCC? Czy ktoś może podrzucić jakiś konkretny numer scalaka? Wiem, że na forum jest kilka osób, które siedzi mocno w hardwarze i chciałbym poznać opinie na ten temat - co dwie (lub więcej) głów, to nie jedna 🙂

Link do komentarza
Share on other sites

Teraz wyjścia enkodera są również obciążane, z tą różnica że w zerze a nie jedynce. Wydaje mi się ze podobny efekt można by uzyskać używając zamiast diod rezystory powiedzmy 4K7. Chodzi o to że dużo układów ma na wejściach diody zabezpieczające przed zbyt wysokim napięciem i wydaje mi się że te 1-2mA nic im nie zrobi.

Możesz też użyć takiego scalaka https://kamami.pl/konwertery-logiczne/188256-st2129qtr.html

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Jeżeli wyjście enkodera jest typu totem-pole (czyli ciągnie w górę i w dół jednakowo dobrze), to o lewą część linii możesz być spokojny. Będzie dobrze sterowana do dużo wyższych częstotliwości. Część za diodami ma dużo gorzej, bo wtedy do góry ciągną tylko rezystory. Jeżeli tę część posadzisz blisko procesora a nie na przeciwnym skraju płytki to ścieżki będą krótkie, pojemności małe i układ da radę. Diody Schottky na pewno poprawią odstęp sygnału od zakłóceń w stanie niskim, bo mają mniejsze Uf.

Oczywiście zawsze możesz użyć czegoś takiego:

http://www.tme.eu/pl/details/sn74lvc1g17dbvr/bufory-nadajniki-sterowniki/texas-instruments/

Będzie tu jak znalazł. Generalnie logika 74LVC lub LCX, np. 74LVC04, 74LVC125 lub to samo w wersjach jedno- lub dwubramkowych np. 74LVC1G125 lub powyższy maluch 1G17 (dwa bufory mimo nazwy 1G).

Przy większej liczbie linii warto użyć bufora 8-kanałowego np. 74LVC245 lub nawet 16-kanałowego 74LVC(H)16245.

Jeżeli enkoder jest daleko od płytki a kabel ma więcej niż 20-30cm warto buforować jego wyjścia także tuż przy nim oraz dopasować driver do kabla opornikiem szeregowym. Ponieważ LVC/LCX to pełny CMOS, w przypadku używania kabli i połączeń rozłącznych powinieneś zabezpieczyć ich wejścia przed ESD oraz dodać jakieś filtry dolnoprzepustowe RC, choćby przeciwzakłóceniowe RF (np. 1k+100pF+diody). Jeżeli któreś wejście może pozostać bez podłączonego swojego enkodera, trzeba też dać rezystory pulldown np. 100k żeby nie łapać śmieci z upływności.

Link do komentarza
Share on other sites

Hmmm, nie umiem teraz znaleźć schematu wewnętrznego wejścia w moim STMie. Wiem tylko tyle, że to nie są 5V tolerant, ale znając parametry diod zabezpieczających wejście (o ile są, bo to Value Line w LQFP32 - STM32F030K6T6 i nie ma praktycznie 5V tolerant w przeciwieństwie do większych obudów typu LQFP48/64) można by dobrać prąd tak, by na rezystorku odłożyło się wystarczająco dużo, by nie uszkodzić pinu wejściowego.

Ten scalak, który pokazałeś jest super, ale jest dwukierunkowy - urządzenie powstanie nie tylko w jednym-dwóch egzemplarzach, więc scalak za 2zł vs 2 diody/rezystory za 20gr robi robotę 😋 Nie pamiętasz może Harnas jak nazywają się te 74 mogące przetrwać większe napięcie wejściowe? To byłoby chyba najlepsze rozwiązanie - zgodne ze sztuką i tanie. Layout też byłby chyba niezbyt skomplikowany. Tego ST2129QTR wsadzałbym gdybym robił coś wielkości płyty głównej w komputerze i posługiwał się mniej-więcej takimi prędkościami na magistralach, jak tam są 😋 On ma max 42MHz, mi wystarczy 250kHz (i to już jest z zapasem 50%).

EDIT: Jak odpisywałem był tylko post Harnasia, odpisuję zatem dalej:

Chumanista - jak miałbym dawać dzielnik, chciałbym poznać jego możliwości - jak mniemam trzeba wziąć pojemność wejścia STMa i policzyć wydajność prądową takiego zasilania z dzielnika? I potem zobaczyć ile przeładowywałoby się wejście (pozwoli to ogarnąć częstotliwość graniczną, przy której sygnał z prostokąta robiłby się trójkątny).

Elvis - niestety wejścia timera w tym STMie (STM32F030K6T6) nie są 5V tolerant :/ . A nie chcę wsadzać większej obudowy, bo miejsca niewiele i GPIO wyliczone na styk praktycznie.

Marek - dokładnie o te scalaki mi chodziło pisząc o 74 - dzięki wielkie 🙂 W jaki sposób zapamiętujesz te wszystkie LCV i LCX? Doświadczenie, czy to jakiś akronim? Kilka razy już o nich myślałem, ale tych 74 jest tyle, że nie sposób spamiętać 🙂 Przeciwko ESD spark-gapy+TVS typu transil wystarczą? Może przy okazji pokażę, jak zabezpieczyłem wejścia RS485 na płytkę i powiesz co sądzisz (co sądzicie!):

IMG_55dc694e84a1a6631.png

Hmm, ten G1 który podałeś jest odporny na +-2kV Human Body Model. Nie znam się zbytnio na zabezpieczeniach (w czasie tworzenia tego schematu w ogóle dowiedziałem się dużo o TVSach i dopiero poznałem ich symbole), więc nie wiem też czego się spodziewać. Kabelki do enko będą max 30cm.

Dzięki wielkie wszystkim za (p)odpowiedzi 🙂

Link do komentarza
Share on other sites

Nie wiem, które wejścia Cię interesują, ale sporo z nich wygląda na tolerujące 5V. Zobacz w datasheecie:

http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00088500.pdf

Od strony 28 są parametry pinów, wszystkie oznaczone FT tolerują 5V, pozostałe - trzeba doczytać w dokumentacji.

[ Dodano: 25-08-2015, 15:14 ]

Jak bardzo chcesz scalak, to polecam coś typu 74lvx14.

https://www.fairchildsemi.com/datasheets/74/74LVX14.pdf

Wersja z diodami to proszenie się o problemy. Zauważ, że sygnały z enkodera mogą przychodzić dość szybko, a układ z rezystorami pullup (szczególnie wbudowanymi 50-100k), będzie działał bardzo wolno - tzn. stan 0 będzie osiągany szybko, ale powrót do 1 będzie jak to w typowym obwodzie RC osiągany powoli.

Link do komentarza
Share on other sites

Kurczę, nie nadążam z pisaniem 🙂 Elvis, odniosłem się do poprzedniego Twojego posta w edicie.

Chłopaki, temat chyba o niczym - źle sprawdziłem w DSie piny, okazuje się, że są 5V tolerant...

EDIT: Sprawę konwersji poziomów można uznać za zamkniętą. Zmieniłem lekko nazwę tematu, aby uwzględnić też kwestię zabezpieczeń przeciwko ESD. Czy moglibyście wyrazić opinie do zaprezentowanego wcześniej zabezpieczenia linii RS485?

EDIT2: Pojawiło się kolejne pytanie - na płytce będzie enkoder magnetyczny AS5047, którego wyjścia będą podłączone do tych samych pinów, które chcę wyprowadzić na zewnątrz. Niestety wyjść nie da się wyłączyć przez SPI (przez które można też odczytywać to co enkoder pomierzył, ale chciałbym do testów jeszcze wyprowadzić też zwykły interfejs inkrementalny czy tam ABI jak go w DSie nazywają). Czy znacie może jakiś podwójny bufor trójstanowy? W zasadzie mógłbym wsadzić 2 mosfety odcinające po prostu wyjścia enkodera, ale chciałbym zminimalizować ilość komponentów do zamontowania, więc jakiś podwójny scalak najbardziej by mi pasował. Wybaczcie, że tak czekam na gotowe, ale kompletnie nie mam rozeznania w takich układach. Znalazłem SN74LVC2G125 - wygląda ok, 2 kanały i ośmiopinowa obudowa, którą da się polutować bez problemu. Czy może jakaś inna seria byłaby bardziej odpowiednia?

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.