Stránka 1 z 1
Propojení I2C 3,3V CPU s 5V displejem
Napsal: 30 zář 2025, 12:08
od HF_Tech
Potřebuji v jedné staré konstrukci nahradit ATMEGA deskou Bluepill.
Je tam historicky 4*20 znaků klasické LCD. Bluepill má napájení 3,3V.
Když jsem dal napájení LCD taky 3,3V, tak vše funguje, ale i maximální kontrast znaků je takový vyblitý. LCD jsem dal nové s převodníkem I2C s PCF8574T.
Je šance, že to bude spolehlivě chodit, když LCD s převodníkem připojím na 5V, z převodníku vyhodím pullup odpory na I2C a zapojím je u CPU na 3,3V?
Chtěl bych se vyhnout převodníku úrovní.
Google i ChatGPT na to nedává nějaký jednoznačný názor.
Napsal: 30 zář 2025, 12:26
od JirkaZ
Přes to vyhýbání se (proč?) se podívej
sem a na té stránce na všechny související odkazy dole (sekce "Dokumenty")...
Napsal: 30 zář 2025, 13:15
od HF_Tech
Ten převodník mi vysvětlovat nemusíš. Vím jak funguje a nechci ho tam.
Mám už hotovou desku z jiného projektu a nechci ji předělávat a nechci přidávat cokoliv by se muselo pájet extra za drátky.
Napsal: 30 zář 2025, 13:53
od Michal22
Pokud ten procesor není 5V tolerant, tak tam hrozí problémy na SDA (přeci jen je to obousměrná komunikace).
Napsal: 30 zář 2025, 14:57
od wirerobot
Na bluepill (STM32F103) jsou vsechny I2C piny 5V tolerant.
Napsal: 30 zář 2025, 15:15
od martinkopp
Pokud dáš pull-upy na 3.3V, mělo by to fungovat. Pokud tam nebudeš mít nějaké šílené rychlosti, netypické obvody apod. Co ti brání to prostě vyzkoušet? Maximálně můžeš zkusit polaborovat s jejich hodnotou. 3.3V by i vetšina 5V logiky měla s přehledem vyhodnotit jako H. Podiv se do datasheetu k tomu obvodu, tam úrovně budou určite napsané.
Napsal: 30 zář 2025, 16:56
od Dumitru
Nechaj Pullupy na 5V, používal som to tak na stm32 väčšinou piny su 5V tolerantne (da sa to skontrolovať v datasheete) a neboli s tým problémy. Pri 3V3 ale môžu byť, PCF8574 ma VIHmin 0,7*VDD to môže na stole fungovať spoľahlivo a nefungovať v najnevhodnejšej situácii
Nechal by som Pull Up (10k) na 5V.
Napsal: 02 říj 2025, 17:14
od mluno
Klasické LCD (ten řadič Hitachi) funguje normálně na 3,3V a možná i míň. Problém je právě s displejem. Řešení je relativně jednoduché a sice napájení displeje (respektive zem displeje, prostě ten pin na řízení kontrastu), které je normálně na 0V případně přes trimr dát na záporné napětí.
Je tomu už ... 10 let (Jul 01 2015 se mi ukazuje při startu) to je neuvěřitelné, co jsem stavěl jednu takovou věc. Všechno jelo na 3,3V - atmega644 (podle katalogu jen do 16 MHz), GPS, SD karta (ta to byla, kvůli které jsem to udělal na 3,3 a taky protože jsem to chtěl na baterky). Ale právě problém byl s displejem, tak jsem pohledal a zjistil jsem právě to, co píšu v předchozím odstavci.
Taky původně měl být mega32, ale zrovna nebyl skladem, naštěstí, protože program pak zabíral asi 35 kilobajtů a musel bych trávit čas jeho zmenšováním (určitě by se dal na těch 32 kilo proškrtat).
Blbý bylo, že jsem měl dost omezený prostor, displej jsem připojoval dodatečně, v původních plánech nebyl, měl být jen pro ladění, tak jsem někam do rohu umístil ICL7660 v SMD podobě, které vyrobí dostatečné záporné napětí a nějaký ten trimr na nastavení vhodného kontrastu.
HF_Tech píše:...Mám už hotovou desku z jiného projektu a nechci ji předělávat a nechci přidávat cokoliv by se muselo pájet extra za drátky.
Tak tohle jsem přehlédnul, já měl teda taky navrženou desku a koupený kuprextit (do kterého jsem se chtěl vejít a už tak to bylo s chlupem), ale ještě jsem to neměl vytištěné, tak jsem návrh právě předělal přidáním toho napěťového invertoru (7660 má hodně jednoduché zapojení a náhodou se mi tam při vší stísněnosti kousek místa na něj povedlo ušetřit, musel jsem ale dát SMD, ne THT se kterým mi to běhalo na kontaktním poli). Ale displej mám na drátech, takže i kdyby měl být ten invertor napětí mimo, tak by se zas tak nedělo.
Napsal: 02 říj 2025, 21:54
od HF_Tech
Tak ono je to ještě jednodušší. Na LCD je zespodu místo pro osazení 7660.
Viz návod tady:
https://www.codrey.com/electronic-circu ... -16x2-lcd/
Na LCD od lásky stačí osadit 7660 + 2x 10u keramiku a dva odpory. Střed děliče je spojen přímo s pinem Vo. Vo od I2C převodníku stačí odpojit. Při -0,5V proti Vss je kontrast tak akorát.
U LCD z jiného zdroje je to přesně jako v návodu výše.
mluno: Díky za nasměrování. Shodou okolností je to taky deska s GPS, akorát primárně to dělá kmitočtový normál + kontrolu přesnosti RTC hodin na jiných deskách.