Multiplex 7 segment

to SAAčko má jen jeden adresní pin??

Koukám do datasheetu SAA a zajímalo by mě, k čemu je vývod 1 - ADR ? Adresní pin? V jaké úrovni je aktivní?

Doporucujem prezriet datasheet. Tam je vsetko.
SAA1064 je svab pre zbernicu I2C a z toho vsetko vyplyva.

Martin

SAA1064 má vývod ADR pro nastavení adresy. Dle datasheetu funguje vlastně jako analogový převodník. Pro adresaci slouží 4 úrovně a tím i čtyři adresy. Dá se to vytvořit obyčejným odporovým děličem.

Takže jdou seřadit 4 za sebou. Tak to je good, akorat společná anoda. A chtěl bych upozornit, že jsou 2 druhy datasheetu, v jednom chybí popis vývodu ADR a popis komunikace.

Čau, tendle problém jsem taky řešil a řek bych že se mi ho podařilo uspokojivě vyřešit. Nech to původní zapojení a udělej si program na PWM modulaci, třeba pomocí TMR0. Potom budeš mít dvě tabulky v picu, kde v jedný máš klasicky uložený čísla na segmenty a v druhý budeš mít uloženou hodnotu PWM a podle ní budeš řídit jas (dobu sepnutí), jinak osobně bych to zapojení lehce předělal, dal bych si tam dva posuvný registry, do kterých bych nacpal data pro dva segmenty a pak bych sepnul některý dva segmenty, mělo by to výhodu vtom, že bys moh mít multiplex na poloviční frekvenci a líp by se pracovalo stou PWM .Ale jinak ta PWM by určitě šla aplikovat i na todle zapojení.

SAA1064 jdou zřetězit přes vývod ADR. Zkus to takto. Na první šváb vývod přes malý odpor přizemni do nuly a bude to odpovídat adrese 00, na druhý kus dej přes dělič mezi mezi zem a Unap cca 1.8V, na třetí kus dej cca 3V a na poslední pověs tesně pod Unap. Druhý kus bude na adrese 01, třetí na 10 a poslední na 11. Dal jsem Ti sem i blokové schémátko SAA1064. Doufám, že bude ku prospěchu, pokud nemáš.

POZOR !!!
SAA1064 principialne nejdu zoradit za sebou!!!

vsetky maju prepojeny pin SDA a SCL a to s ktorym sa chces bavit je dane adresou toho ktoreho obvodu a adresy, ktoru si zakomponoval do komunikacnej spravy. Opat opakujem, je dobre si pozriet specifikaciu I2C.

Takže mi chceš říct, že když dám třeba 2 za sebe a je den budu volat adresou 01110001 a druhej 01110011 tak to nebude fungovat?

Nemas ich ako dat logicky (nie topologicky) za seba!!!.
Mozes im iba navzajom prepojit SDA a SCL co je samozrejme spravne.
To znamena, ze ich spajas paralelne a nie za sebou v logickom vyzname.

Menozes ich prepojit za seba, t.j. ze data najprv naklokujes do prveho, z neho potom nejakym pinom vyliezaju a vstupuju do druheho a nakoniec trebars z druheho vyliezaju do tretieho. Tak sa to da napriklad s 74HC595. hovori sa tomu posuvny register.
SAA1064 NIE JE posuvny register a preto sa nedaju spajat ZA SEBOU. Ak by sa dali, potom by ta certa stareho zaujimala nejaka adresa a logicky by si ani nebol obmedzeny nejakym adresnym priestorom.
Lebo keby si si za seba zapojil napriklad 287 74HC595, tak tak mozes nezavisle ovladat 287*8=2296 vystupnych pinov.
Takze nenarazam na to, ze ich nemozes adresovat, samozrejme ANO, ale NEMOZES ich logicky zapojit za sebou.

ŠPATNĚ jsem se vyjádřil. Připojit na stejnou I2C je můžu! A následně adresovat a obsluhovat jeden po druhým.

Jasne :slight_smile:

Co udělá jedno nevhodně vybrané slovo :smiley: :smiley: :smiley: :smiley: :smiley:

Omlouvám se za špatně vyjádřený princip provozu. Řetězení z hlediska posunu dat přes registry samozřejmě není u SAA možné, to Ti asi dokleplo z blokového schématu. Tuto vlastnost má například již mnou výše zmiňovaný MAX. Já jsem měl na mysli propojení SAA do bloku čtyř obvodů s rozdílnou adresací pro výběr daného obvodu. Jedná se o elektrické zapojení. O I2C jsem nehovořil. Proto, pokud se šváby zapojí tak, jak jsem naznačil, pak je možno do adresy pro zápis volit pro výběr prvního obvodu 01110000, druhého 01110010, třetího 01110100 a čtvrtého 01110110. Vše je samozřelmě v intencích I2C. Díky Martine za upozornění, asi jsem vnesl trochu chaosu. Myslel jsem, že blokové schéma je velmi názorné a funkci pomůže dovysvětlit.

Když to shrnu,SAA je nepoužitelné, společná anoda, já mám displeje se společnou katodou.

MAX je pro mě nereálný, je to dost peněz za málo muziky. Kdybych měl displeje se společnou anodou a napětím do cca 2V, tak bych ho taky nepoužil, lepší se mi zdá to SAA, ale je to věc názoru a zkušeností s tímto obvodem. Na displeje se společnou katodou potřebuji měnič cca 8V a aspoň 200mA pro uspokojivý svit segmentů.

Výsledek je ten, že to budu ovládat pomocí 2 x 4094, 24 tranzistorů a nějaká ta šepleť a IRF9Z34N + BC547 na ovladání jasu. Tišťák bude sice o něco složitější než při použití SAA nebo MAXe, ale displeje jsou dost velké a je jich 8 vedle sebe, takže na plošňáku bude místa dost. A při použití 3 vodičů na ovládání multiplexu můžu vzít i menší procesor. Mám tady nevyužitej PIC12F675, tak ho testnu.

Díky za rady a názory. :smiley:

Ať se rozhodneš jak budeš chtít, dej pak vědět jak jsi dopadl, hlavně jak vyřešil. Myslím, že to nebude zajímat jenom mě. K cíli vždy vede několik cest, jde jen o to, jak jsou prošlapané a strmé. Díky.

Tak nakonec jsem opustil PIC2F675 z důvodu místa a nakonec je to klasickej multiplex řízenej portem D na anody a portem E přes 4514 katody. 16F877A má dost vývodů a nebylo tedy nutné vývody šetřit, tak jsem vypustil 4094. Jas je řízen přes FET z PWM1. Teploměr, čidlo SMT160-30 je připojen na port A0 jako 10 piwo, A1 měří 11 piwo. Tlačítka jsou na portu B 0,1,2,3.

Ještě jednou díky. :smiley:
LEDBIG.JPG

Pohodička, ale rozvířili jsme k tomu docela dobrou diskuzi

Je potřeba občas něco rozebrat, ale stejně je to nedořešené. Někomu se může hodit multiplex po 3 drátech. :blush: :mrgreen: I když mě už zrovna ne. Ale bůh ví, co mě třeba za týden napadne. :smiley:

No riesim nieco podobne, ale zastal som na tomto a to maximalny prud led pri multiplexe …no tom sa tu z vas nikto nepozastavil ? Multiplexijem bargraf 6 kusou po 10 led. problem je ze ked dodrzim katalagove udaje tak to ledva svieti…

Konkretne toto DC7G3HWA

Peak Forward Current [1] 140 mA

.1/10 Duty Cycle, 0.1ms Pulse Width.

Predpokladam ze mam 100us rozsvietit segment a potom 900us zhasnut a zasa dookola ? pri maximalnom impulznom prude 140mA