logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Czy podłączenie diody IR do STM32 z zasilaniem 4,2V uszkodzi uC?

marycyś 10 Wrz 2017 10:54 3891 57
Najlepsze odpowiedzi

Czy mogę bezpośrednio sterować diodą IR z pinu STM32 zasilanego z akumulatora 4,2 V, czy grozi to uszkodzeniem mikrokontrolera?

Nie powinno to uszkodzić STM32 od samego napięcia, bo na pinie nie pojawi się pełne 4,2 V — spadek napięcia na diodzie IR wynosi zwykle ok. 1–1,4 V, a dodatkowo potrzebny jest rezystor szeregowy [#16691451][#16692069] Trzeba jednak pilnować dwóch rzeczy: dopuszczalnego napięcia na wyjściu pinu względem Vdd (rzędu Vdd+0,3 V) oraz maksymalnego prądu pinu, bo przy bezpośrednim sterowaniu łatwo go przekroczyć [#16691451][#16692793] W STM32 problemem bywa też sam spadek napięcia na wyjściu przy większym prądzie — przy 20 mA „niski” stan może mieć nawet ok. 1,3 V, więc LED może świecić słabiej niż oczekujesz [#16692793] Lepszym rozwiązaniem jest sterowanie diody przez tranzystor/MOSFET; dla STM32 są nawet piny i tryby przeznaczone do bezpośredniego sterowania Infra LED, ale ogólnie bezpieczniej użyć np. małego N-MOSFET-a typu IRLML2502 [#16692793][#16697276]
Wygenerowane przez model językowy.
REKLAMA
  • #1 16691164
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    Witam,

    Chcę podłączyć diodę IR do uC i mam pewną zagwozdkę.
    Na pin STM32 można podać max 3,3V który nie toleruje 5V.

    Układ kluczowania IR jest taki:
    Li-Ion(czyli max 4,2V)_rezystor_dioda_STM32
    Czy przy powyższym podpięciu może nastąpić uszkodzenie STM32 napięciem wyższym niż 3,3V?

    Pozdrawiam.
  • REKLAMA
  • #2 16691193
    excray
    Poziom 41  
    Posty: 5500
    Pomógł: 739
    Ocena: 656
    Pod nogę uC podepnij tranzystor, a diodę dopiero za tranzystorem.
  • #3 16691218
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    Ale ja chcę bezpośrednio podpiąć, bez udziału tranzystora. Prąd diody nie przekroczy 20mA.
  • #4 16691233
    excray
    Poziom 41  
    Posty: 5500
    Pomógł: 739
    Ocena: 656
    A ja chcę być piękny i bogaty. Maksymalny prąd pinu przekroczony. Napięcie też ponad dopuszczalne. Powodzenia.
  • REKLAMA
  • #5 16691259
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    Dla I/O piszą: Output current sunk by any I/O and control pin = 25mA
  • #6 16691301
    Konto nie istnieje
    Konto nie istnieje  
  • #7 16691451
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Błąd na błędzie.

    Po pierwsze, diodę można podpiąć pomiędzy wyjście uC i masę.
    Po drugie, diodę można podpiąć pomiędzy wyjście uC i plus zasilania uC - 3.3V.
    Po trzecie, diodę można podpiąć pomiędzy wyjście uC i zasilanie 4.2 V, bo minimalny spadek napięcia na diodzie wyniesie ok. 1V.
    Po czwarte, maksymalne napięcie dopuszczalne na linii typu TT wynosi chyba Vdd + 0.3 (łatwo sprawdzić w datasheet).

    Oczywiście w każdym przypadku będzie niezbędny rezystor.
  • #8 16692052
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    Czyli, jednak można podpiąć diodę IR bezpośrednio między uC a akumulatorem na 4,2V(+rezystor), bo @excray już mnie nastraszył...
  • #9 16692069
    Konto nie istnieje
    Konto nie istnieje  
  • #10 16692455
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    A po co do 4.2 V jeśli można do 3.3 V?
  • #11 16692473
    Konto nie istnieje
    Konto nie istnieje  
  • #12 16692540
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    To 4.2 może w praktyce przyjmować wartości od 3.5 do 4.2, podczas gdy 3.3 będzie stabilne.
  • #13 16692599
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #14 16692683
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    Chcę sterować 2 diodami IR + inne pochłaniacze energii z LDO 3,3V. Niestety nie znam stabilizatora zamontowanego na PCB z STM'em i nie chcę go przeciążyć.
    Moc IR nie musi być idealnie stabilna, ponieważ i tak różne powierzchnie różnie odbijają światło.

    Tak sobie pomyślałem: Czy można znaleźć informację jaki prąd można przepuścić przez pin uC w bardzo krótkim czasie? Teraz włączam okresowo IR na 40us i ciekawe o ile można przekroczyć podstawowe 20..25mA.
  • #15 16692704
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    W celu poznania stabilizatora należy sprawdzić jego typ w dokumentacji płytki i obejrzeć jego datasheet. To jakieś 5 minut roboty.
    Ciekawe, że stabilizatora nie chcesz przeciążyć, ale co do uC już nie masz obaw...
  • #16 16692726
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    1. Jakbym miał dokumentacje płytki, to znałbym odpowiedź...
    2. A co w tym dziwnego?
  • #17 16692760
    Konto nie istnieje
    Konto nie istnieje  
  • #18 16692793
    rb401
    Poziom 39  
    Posty: 3001
    Pomógł: 750
    Ocena: 982
    marycyś napisał:
    Tak sobie pomyślałem: Czy można znaleźć informację jaki prąd można przepuścić przez pin uC w bardzo krótkim czasie? Teraz włączam okresowo IR na 40us i ciekawe o ile można przekroczyć podstawowe 20..25mA.


    W przypadku pinów STM32 nawet nie chodzi o sam prąd a o spadek napięcia.
    NP. przykładowo według danych STM przy prądzie 20mA na "zwykłym" pinie w stanie niskim może być nawet do 1,3V co po dodaniu napięcia na przewodzącej led, może wręcz uniemożliwić uzyskanie jakieś znacząco większej wartości prądu (przymykając oko na limity w Absolute maximum ratings) redukując nawet wartość opornika szeregowego do zera.

    By to częściowo obejść w rodzinach F0 L4 i F3 (nie wiem czy w innych też) są wyznaczone piny, dla których można poprzez ustawienie bitów w rejestrze konfiguracyjnym uzyskać spadek napięcia 0,4V przy 20mA.
    I faktycznie STM przeznacza te piny na bezpośrednie sterowanie ledami IR.
    Fragment AN4099:

    Cytat:
    The reference manual also mentions the I2C_PB9_FMP bit in the SYSCFG_CFGR1 register to activate the high current sink capability for direct control of the Infra LED.


    Ale osobiście proponowałbym dodać po prostu jakiś mosfet sterowany logiką 3,3V o niskiej oporności kanału. Nie musi być dużej mocy.
    Przykładowo mały, tani, pospolity IRLML2502 da Ci możliwość sterowania nawet impulsami powyżej 1A, bez żadnego stresu o napięcie zasilania czy prąd (oporność w stanie włączenia przy 3,3V na bramce mniejsza niż 0,08Ω czyli praktycznie pomijalna a prąd dopuszczany ponad 4A).
  • #19 16692890
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    @rb401, chyba mnie przekonałeś, choć przez to będę musiał dorabiać jakąś małą PCB (a słabo mi to wychodzi). Przydałby się jeszcze taki podobny p-mosfet do wyłączania odbiorników energii do max 1A.

    Piotrus_999 napisał:
    ale płytkę masz. Zresztą z tego ldo procesor też jest pewnie zasilany. To prąd przeZ niego i tak będzie podobny.
    Jak diodę podepnę do plusa akumulatora, to nie będę obciążać LDO :)
  • #20 16693138
    Konto nie istnieje
    Konto nie istnieje  
  • #21 16693675
    rb401
    Poziom 39  
    Posty: 3001
    Pomógł: 750
    Ocena: 982
    marycyś napisał:
    choć przez to będę musiał dorabiać jakąś małą PCB (a słabo mi to wychodzi).


    Zawsze można użyć kawałka płytki uniwersalnej z samymi punktami. Obudowy tych mosfetów są z nimi, powiedzmy :wink: , kompatybilne:

    Czy podłączenie diody IR do STM32 z zasilaniem 4,2V uszkodzi uC?


    marycyś napisał:
    Przydałby się jeszcze taki podobny p-mosfet do wyłączania odbiorników energii do max 1A.


    Jeśli w grę wchodzi kluczowanie "od góry" z napięcia 3,3V to jest prosta sprawa bo są też tanie p mosfety z ładnymi parametrami, przykładowo IRLML6401 czy IRLML2244.
    Ale problem się robi gdybyś potrzebował kluczować napięcie prosto z akumulatora, bo przy bezpośrednim podłączeniu bramki do pinu procesora, w najniekorzystniejszym przypadku (czyli napięcie akumulatora 4,2V) w przypadku kiedy procesor daje stan wysoki czyli 3,3V to mosfet byłby już gdzieś w zakresie przejściowym jak chodzi o przewodzenie.
    Ale skoro mamy tu właściwie jasno wyznaczone wartości graniczne napięć, to można to obejść dokładając np. "przesuwnik" napięcia bramki, o gdzieś 0,7V zrobiony na diodzie i oporniku.
  • REKLAMA
  • #22 16693691
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    @rb401, fajny pomysł z tym PCB. Jednak wpadłem już na inny pomysł i wykorzystam mosfeta z "elektroniki" Li-Iona i w ten sposób będę mieć też PCB ;)

    Z tym "przesuwnikiem" chodzi o obniżenie napięcia z uC, przez wstawienie diody w szereg przed bramką?
  • Pomocny post
    #23 16693871
    rb401
    Poziom 39  
    Posty: 3001
    Pomógł: 750
    Ocena: 982
    marycyś napisał:
    Z tym "przesuwnikiem" chodzi o obniżenie napięcia z uC, przez wstawienie diody w szereg przed bramką?


    W zasadzie tak ale jest tu bardzo ważna sprawa. Mianowicie by dioda była tym przesuwnikiem trzeba wymusić opornikiem przepływ odpowiedniego prądu przez diodę bo sam prąd bramki jest pomijalnie mały do tego celu. Dodatkowo opornik jest potrzebny do sprawnego wyłączenia mosfeta bo dioda temu przeszkadza.
    Coś takiego:

    Czy podłączenie diody IR do STM32 z zasilaniem 4,2V uszkodzi uC?

    Opornik R1 powinien mieć taką wartość, by dla najbardziej niekorzystnej sytuacji, czyli napięcie akumulatora max = 4,2V i napięciu wyjściowym z STM32 (stan wysoki) 3,3V, napięcie między źródłem a bramką mosfeta było mniejsze niż minimum parametru Gate Threshold Voltage (dla przykładowych, które tu dałem to -0,4V).
    Czyli potrzebujemy w tej sytuacji przesunięcia >= 0,5V.
    Patrząc na typowe parametry przewodzenia diody 1N4148:

    Czy podłączenie diody IR do STM32 z zasilaniem 4,2V uszkodzi uC?

    widzimy że do takiego spadku napięcia potrzebujemy prądu diody gdzieś 0,3mA.
    To liczymy opornik 0,4V/0,3mA, czyli 1,3kΩ. Dla zachowania marginesu na rozrzut parametrów diody, temperaturę itp., dajemy np. R1=680Ω.

    Teraz sprawdzimy jak to się zachowa w drugiej skrajnej możliwości, przy załączeniu (stan niski z STM32) i sytuacji gdy napięcie akumulatora jest najniższe (np. 3,3V).
    Mosfet IRLML6401 jest pewnie załączony już przy 1,8V. Czyli prąd opornika R1 będzie potrzebny 1,8V/680Ω = 2,6mA. Wtedy spadek na diodzie będzie gdzieś niecałe 0,8V. Czyli sumując 1,8V (źródło-bramka) plus 0,8V (dioda) mamy 2,6V. Czyli zostaje nam 0,7V jako maksymalne napięcie stanu niskiego, przy którym mosfet będzie dobrze włączony. A STM gwarantuje że typowe wyjście STM32, w zakresie 8mA obciążenia (a mamy tylko 2,6mA), daje stan niski max 0,4V.
    Czyli jest bardzo dobrze i jeszcze trochę luzu.
    Jeśli by tu zastosować mosfety o innych parametrach to ewentualnie trzeba ten R1 przeliczyć na nowo.
  • #24 16694112
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    @rb401, dzięki za ten pouczający wykład.
    Tak jeszcze dodatkowo spytam, jakie są zalety i wady wyłączania odbiorników energii, w przypadku p-mosfeta w plusie i n-mosfeta w masie?
  • #25 16694234
    rb401
    Poziom 39  
    Posty: 3001
    Pomógł: 750
    Ocena: 982
    marycyś napisał:
    jakie są zalety i wady wyłączania odbiorników energii, w przypadku p-mosfeta w plusie i n-mosfeta w masie?


    Zaletą kluczowania n mosfetem od strony masy jest to że procesor i mosfet (konkretnie jego źródło) są połączone ze sobą bezpośrednio (masa). I nie gra tu roli napięcie zasilania obciążenia mosfeta, bo procesor steruje tylko napięciem między źródłem i bramką.
    Przy p mosfecie, jak zresztą widzisz wyżej, te sygnały są między sobą przesunięte o wartość zasilania kluczowanego mosfetem, co w wypadku różnych zasilań procesora i obciążenia rodzi problem, konieczność rozbudowy układu np. o takie przesuwniki a najczęściej wymaga stosowania dodatkowego tranzystora.

    Tak że dla odbiorników którym obojętnie jest czy jednym końcem stykają się z masą czy plusem (np. LED), zdecydowanie lepszym, wygodniejszym wyborem jest zastosowanie N mosfet.

    Jedynie w sytuacjach "przymusowych", jeśli np. odbiornik musi mieć masę wspólną z procesorem, bo np. jest układem mającym inne połączenia sygnałowe z tym procesorem a kluczujemy jego zasilanie, to już P mosfet jest konieczny.

    Jest jeszcze jedna przesłanka za N mosfet a mianowicie to że technologicznie jest trudniej uzyskać dobre parametry (szczególnie małą oporność kanału) P mosfeta niż N mosfeta. Dlatego w P mosfetach jest mniejszy wybór typów i mogą być droższe jeśli mamy jakieś szczególne wymagania.
  • #26 16694285
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    rb401 napisał:
    Jedynie w sytuacjach "przymusowych", jeśli np. odbiornik musi mieć masę wspólną z procesorem, bo np. jest układem mającym inne połączenia sygnałowe z tym procesorem a kluczujemy jego zasilanie, to już P mosfet jest konieczny.

    Jeśli np. Główny uC łączy się z uC slave po i2c,SPI, itp i chcę mu wyłączać zasilanie mosfetem, to może być problem?
    Albo chcę odłączać np. serva sterowane PWM, to tu będzie OK?
  • #27 16694317
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Jeśli do kluczowania zasilania użyjesz PMOS i zadbasz o to, by przy wyłączeniu odbiornika wyjścia uC z nim połączone były w stanie niskim lub przełączone jako wejścia, to będzie ok,
  • Pomocny post
    #28 16694343
    rb401
    Poziom 39  
    Posty: 3001
    Pomógł: 750
    Ocena: 982
    marycyś napisał:
    Jeśli np. Główny uC łączy się z uC slave po i2c,SPI, itp i chcę mu wyłączać zasilanie mosfetem, to może być problem?


    Oczywiście. Tylko jeśli zasilasz ten drugi procesor z tego samego zasilania co ten główny (3,3V) to powinieneś użyć samego tylko mosfeta P (na linii plus) bez układu przesuwającego.
    Dodatkowo jest wskazane by na czas wyłączenia zasilania, ustawić na liniach łączących te procesory stan niski. Bo jeśli się tego nie zrobi to przez linie sygnałowe (np. SPI) i diody wewnątrz układu prąd z tych sygnałów "przecieka" na zasilanie tego wyłączonego procesora (napięcie na nim nie spada do zera), tak że może być problem np. z resetem gdy to zasilanie włączysz.

    marycyś napisał:
    Albo chcę odłączać np. serva sterowane PWM, to tu będzie OK?


    Tu tym bardziej jest wskazane kluczowanie od strony plusa, bo gdyby klucz był od strony masy, to włączony wprowadza jednak jakąś tam oporność i przy takim charakterze obciążenia jak serwo (spory prąd w impulsie) zakłócał by poziomy logiczne na tym serwie (różnica mas).
  • #29 16694768
    marycyś
    Poziom 12  
    Posty: 361
    Ocena: 24
    Tylko że, jeśli odetnę zasilanie przez p-mosfeta i ustawię linie uC w stan niski to przez rezystor "przesuwnika" będzie uciekało ponad 6mA (dla 680ohm i 4,2V). To trochę za dużo...
  • #30 16694821
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Jaki rezystor? I gdzie i w jakim celu wstawiłeś 680R? Jakiś błąd.

Podsumowanie tematu

✨ Użytkownik zastanawia się, czy podłączenie diody IR do mikrokontrolera STM32 z zasilaniem 4,2V może uszkodzić uC, biorąc pod uwagę maksymalne napięcie 3,3V na pinach. W dyskusji pojawiają się różne podejścia do rozwiązania problemu, w tym sugestie dotyczące użycia tranzystora (np. MOSFET) do kluczowania diody, co pozwoliłoby na bezpieczne podłączenie diody do wyższego napięcia. Uczestnicy podkreślają, że przy odpowiednim doborze rezystora i tranzystora, można uniknąć uszkodzenia STM32. Wskazano również na znaczenie minimalnego obciążenia dla stabilizatorów LDO oraz na potencjalne problemy z napięciem wyjściowym w przypadku zbyt małego obciążenia. Użytkownik planuje użycie kondensatora do zasilania diod IR, aby zminimalizować obciążenie LDO.
Wygenerowane przez model językowy.
REKLAMA