Proč potřebujeme měnit logickou napěťovou úroveň?
Důvod je prostý a uvedu ho na následujícím případu. Představte si situaci, kdy jste v našem obchodě zakoupili modul, který má ovšem na signálových vodičích logickou úroveň 3,3 V. Co s tím? Jak jistě dobře víte, Arduino (s vyjímkou Due) pracuje na 5 V logické úrovni. Pokud byste tedy připojili takovéto zařízení či modul přímo k Arduinu, riskujete, že Vám nebude správně fungovat, v horším případě může dojít k fatálnímu poškození. Například displej 1420987998 z naší nabídky je tomu příkladem. V našem návodu k tomuto displeji si můžete všimnout sériově zapojených rezistorů. Toto zapojení se nazývá napěťový dělič, který je v tomto případě nezbytný pro správnou funkci displeje. Pojďme si tedy ukázat jak tento prvek sestavit a použít.
Napěťový dělič
Nemusíte být rozeným elektrotechnikem, abyste tuto problematiku relativně rychle pochopili. Základní a nejjednodušší napěťový dělič se sestává ze dvou rezistorů, přičemž každý z nich může mít rozdílný odpor. Otázkou je, jaký rezistor vybrat, aby jsme se dobrali k výsledku. K tomu nám poslouží matematika.
Ještě před tím než se vrhneme na vzoreček, nebude od věci, ukázat si samotný obvod a místo, kde nám bude vznikat výstupní napětí. Jinými slovy místo, kam připojíme výstupní svorky. Pro vytvoření napěťového děliče můžete využít sadu rezistorů 1442860789 a plošný spoj 1471208380.
Obrázek 1: Napěťový dělič
Na Obrázku 1 můžete vidět dva sériově zapojené rezistory. Vstupní svorky symbolizují vstupní napětí, které je v našem případě 5 V. Uvažujme, že odpor R1 má hodnotu 1k1 (1100 Ω) a R2 2k (2000 Ω). Naším cílem je na výstupních svorkách U2 dostat napětí od cca 3 V do 3,3 V (lze pracovat i s mírně nižším napětím, naopak pracovat s vyšším napětím není doporučeno). Výstupní napětí U2 lze snadno vypočítat pomocí následujícího vzorce.
Nyní si ukážeme postup, jak zvolit patřičné rezistory v případě, že víme pouze vstupní napětí a napětí, kterého chceme dosáhnout na výstupu. U1 se tedy rovná 5 V a U2 ≤ 3,3 V (raději zvolíme menší hodnotu 3,2 V). Odpor R2 zvolíme podle standardizované řady E24, čili pro demonstraci opět 2k rezistor. Výsledný odpor R1 by nám měl vyjít stejně jako v zadání předchozího příkladu, což si můžeme snadno ověřit. V případě, že nám vyjde hodnota, která není definována v řadě E24, snažíme se vybrat hodnotu odporu takovou, která je k výsledné hodnotě nejblíže.
Abyste si následující výpočet patřičně ověřili, doporučuji vypočítaný odpor vždy dosadit do prvního vzorce a provést kontrolu.
Převodník napěťových úrovní
Převodníky napěťových úrovní mají jednu obrovskou výhodu. Jakou? Ušetří Vám práci s bastlením výše zmíněného napěťového děliče. Jedná se o hotové řešení, které má obdobnou funkci jako dělič napětí. Součástka se skládá z N-MOSFET tranzistorů a pull-up rezistorů. Změna napěťových úrovní probíhá obousměrně. Princip funkce převodníku popíši na zapojení zařízení s logickou úrovní TTL (5 V) a CMOS (3,3 V) na stejnou I2C sběrnici s použitím převodníku napěťových úrovní. Mohou nastat tři případy:
- Žádné ze zařízení neuvádí sběrnici do stavu logické 0 (0 V), tudíž je na části obvodu LV (lower voltage) díky zakomponovanému pull-up rezistoru napětí 3,3 V. Na elektrodách tranzistoru G (gate) a S (source) je napětí 3,3 V, tím pádem tranzistor nevede (má velký odpor mezi elektrodou D a S). HV (higher voltage) část obvodu má díky pull-up rezistorům napětí 5 V. Obě části sběrnice jsou tedy ve stavu logické 1.
- Zařízení připojené na část obvodu LV uvádí sběrnici do stavu logické 0. Na elektrodě S je tedy napětí 0 V, zatímco elektroda G je stále pod napětím 3,3 V. To způsobí sepnutí tranzistoru (je malý odpor mezi elektrodou D a S). Díky tomu je na elektrodě D také napětí 0 V a sběrnice v části HV je tedy také v logické 0.
- Zařízení připojené na část obvodu HV uvádí sběrnici do stavu logické 0. Usměrňovací dioda (která je zabudována v tranzistoru) uvede část LV do stavu logické 0. Na elektrodě S je napětí přibližně 0,2 V (napětí diody v propustném směru). Je-li na elektrodě S toto napětí a na elektrodě G je 3,3 V, pak je překročen napěťový práh a tranzistor se stane vodivým. Díky tomuto jevu jsou obě části obvodu ve stavu logické 0.
Obrázek 2: Obousměrný převodník napěťových úrovní [1]
Ukázka zapojení
Na Obrázku 3 je vyobrazeno zapojení. Pro demonstraci jsem vybral převodník 1481057581, který disponuje čtyřmi kanály. V naší nabídce naleznete i vícekanálové moduly – např. 1489315030, ke kterému je vytvořen i podrobný návod. Při použití převodníku napěťových úrovní je nutné dodržet následující zásadu. Modul je rozdělen na část HV a LV. K části HV (higher voltage) musí být vždy připojena úroveň s vyšším napětím. Naopak na stranu LV (lower voltage) musí být vždy připojena úroveň, která pracuje se sníženým napětím. Jaký typ sběrnice poté použijete pro komunikaci (UART, SPI, I2C atd.) s připojeným zařízením není podstatné. Budete omezeni pouze počtem kanálů převodníku.
Obrázek 3: Zapojení převodníku napěťových úrovní
Zdroje:
[1] AN10441 Level shifting techniques in I2C-bus design (odkaz), cit. 10-08-2018