multiplex 32x32 LED v PICAXE

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
masar
Příspěvky: 12295
Registrován: 03 pro 2005, 01:00

#16 Příspěvek od masar »

K té kravině - lesana87 má pochybnosti o tom, že ta žárovka bude svítit, když její střída bude 1:počet obsluhovaných LED, tedy v případě 8x8 Led 1:64. A ikdyž bude kmitočet multiplexu vysoký, na jas žárovky nebude mít žádný vliv, protože ten je úměrný střídě.
Kdyby se měnila střída s počtem rozsvícených diod, bude se měnit i jejich jas, což je většinou nežádoucí.
:wink:
Naposledy upravil(a) masar dne 13 úno 2017, 00:16, celkem upraveno 1 x.

masar
Příspěvky: 12295
Registrován: 03 pro 2005, 01:00

#17 Příspěvek od masar »

Pokud by ale cílem nebylo pole těch LED diod, ale jejich "žárovkový obraz" za spínacími tranzistory (např. přes optočleny), dala by se doba sepnutí tranzistoru prodloužit např. integračním členem v bázi každého tranzistoru.
Ovšem lepším řešením jsou ty posuvné registry, jak píše Jenda_KL.
:wink:

Uživatelský avatar
Persink163054
Příspěvky: 29
Registrován: 05 říj 2011, 02:00

#18 Příspěvek od Persink163054 »

Ty kraviny, byla docela logická reakce na to co zažívám celý život od 10 let, kdy jsem si pořídil Atari 800XE v tehdejším Tuzexu. Naučil jsem se Basic a chtěl postoupit na asembler. Jenže ať jsem kohokoliv požádal o radu nebo o pomoc, bylo mi dáváno najevo že když se zabývám Basicem, nemám mezi nima co pohledávat. A ono to přetrvává dodnes.

Což bohužel doložil Masar tím obrázkem od Holzmana z mimochodem mojí oblíbené scénky, kterou jsem použil v reálu v závěru roku 2016, když na ČT2 běžel film Včera, dnes a zítra a vzápětí byl silvestr v sobotu večer a nový rok v neděli ráno a napálil jsem tím asi 25 lidí.

Jenže problém nastal v tom že Masar poslal jen citaci a obrázek, ale bez vysvětlení kde dělám chybu. Tohle taky zažívám často. Naposledy u rozvodového soudu, kde mi žalující strana stále předhazovala že toto dělám špatně, tamto dělám špatně. Ovšem na otázku jak jsem to měl udělat správně mi nebylo odpovězeno a to ani soudkyní, když jsem dostal souhlas s položením otázky soudkyni. A není nic horšího než když je řešeno že to je blbě, ale není řečeno v čem je ta chyba.

masar:
ano, jde primárně o zapojení na obrázku. Můžu ho ale řešit i jinak, optočlenem. Prostě dát fototranzistory před LEDky a tím ovládat žárovky. Ale nemám tolik fototranzistorů. Je mnohem jednoduší použít to co funguje. To jest obrázek.

Ovšem to neřeší ten hlavní problém, popsaný v otázce na začátku vlákna. Jak napsat program. To jsem totiž v takovém rozsahu nepsal. Naučil jsem se základy, ale prostě s tímhle potřebuju nějakou pomocnou ruku, někoho kdo ví jak na to.

Já bych se chtěl vyhnout posuvnému registru, protože budu si muset pamatovat kde jsem skončil a v případě že toho bude svítit málo, tak některé řádky budu projíždět zbytečně, protože musím posuvný registr dostat zase do výchozí polohy.

Naproti tomu zde mám 2x 5bitů (řádky a sloupce) a mužu tak poslat třeba jen jednu souřadnici a nezdržovat se zbývajícími 1023body, nebo 31 řádky.

Proto mi to přijde lepší.
Přílohy
NPN_SE.gif
(3.36 KiB) Staženo 75 x

Uživatelský avatar
Cowley
Příspěvky: 3087
Registrován: 04 úno 2005, 01:00

#19 Příspěvek od Cowley »

Takhle jak mas ten tranzistor to ale nemuze fungovat, vzdyt bude otevreny vzdy, kdyz bude dany radek aktivni, tzn. třeba všech 32 tranzistoru v dané řadě...
Jo a ctes vubec SZ ? :)

Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 02:00
Bydliště: Kadaň
Kontaktovat uživatele:

#20 Příspěvek od Jenda_KL »

Ohledně posuvnýho registru:
Nemusíš si pamatovat vůbec nic, nasypeš do něj sériově data, dáš write a výstupy se překlopí do požadovaných stavů.
Ohledně zapojení tranzistoru:
Emitor by musel být připojen na sloupcový vodič a další úpravy, aby to fungovalo.

Pokud to necháš jak to máš, můžeš tak řídit jen ledky a to navíc tak, že čím více rozsvícených, tím menší jejich jas bude. U klasickýho muxu s pevnym poměrem tohle nehrozí.

masar
Příspěvky: 12295
Registrován: 03 pro 2005, 01:00

#21 Příspěvek od masar »

Ještě tedy k tomu "vtípku" - měl zdokumentovat průběh diskuse mezi lesanou89 a tebou a "nakopnout tě" ke změně způsobu uvažování. Protože nepadl na úrodnou půdu, doplnil jsem ho stručným vysvětlením a tím snad by celá "aférka" mohla skončit.
Z posledního příspěvku tazatele mi není jasné, jest-li ten HW s těmi 74154 už je hotový a jde jen o jeho rozšíření o žárovkový panel, nebo jde o návrh celého projektu. Pokud jde o zapojení se 74154, pak se jedná o multiplex, kdy v každém časovém okamžiku svítí jen jeden bod a počet zdánlivě svítících bodů určuje střídu multiplexujícího kmitočtu. Pokud by tato střída (s počtem bodů) byla proměnná, byl by proměnný i jejich "zdánlivý" jas.
(V případě použití posuvných registrů se o multiplex nejedná, protože před rozsvícením panelu se do registru načte "mapa" svítících sloupců a řádků a pak se dané body rozsvítí všechny zároveň a zůstanou svítit do té doby, dokud se načtením rozdílné "mapy" nerozhodne PICAXE jinak.)Předchozí tvrzení je chybné, založené na mojí mylné představě. :oops:
Pak problém se střídou zcela odpadá.
Ale Jenda_KL už to dopsal dřív než já.
edit: Snímat rozsvícený bod je nelépe pomocí optočlenů zařazených místo nebo do série s LED. Je to obvodově schůdnější cesta, než snímání tranzistorem, ikdyž i to je možné. Viz úprava (bez ošetření -Ube).
:wink:
p.s.Atari byl můj nedostižný sen, když jsem kolem něho chodil Alfa-pasáží. Pak jsem se uspokojil Commodorem 64. Jo zlatý věk Basicu...
Přílohy
snímání.png
(6.81 KiB) Staženo 72 x
Naposledy upravil(a) masar dne 13 úno 2017, 18:55, celkem upraveno 4 x.

Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 01:00
Bydliště: Praha

#22 Příspěvek od FHonza »

Jestli HW není hotový, podívej se na max7219. To za tebe vyřeší multiplex.

Softwarově bych to ukládal do bitového pole a přistupoval do něj lineárně. Zabralo by to 128byte

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#23 Příspěvek od termit256 »

Vem si jednu ledku, zapoj ji na pin nejakeho mcu a napis programek tak, aby pri frekvenci 100kHz 1ms svitila a 999ms byla zhasla. To odpovida multiplexu 1:1000 jak si chtel. Pokud bude led svitit k tve spokojenosti, pust se do toho. Osobne si ale myslim ze nebude svitit ani trochu.
Pak zmensuj ten pomer, a uvidis kdy zacne led svitit dle tvych predstav a podle toho zvol multiplex. Led v multiplexu se mohou napajet vyssim proudem, ale ani to se nesmi prehanet.

Existuji i ledky ktere jdou adresovat, maji v sobe nejaky posuvny registr takze se zapoji z sebou a udaje o jasu do nich jednoduse vysunes. Jsou rgb, takze i barvicky by byly :-) jak presne to funguje jsem nekoumal, ale mozna by to tvuj problem vyresilo. Link na ne ted nemam, ale nebyl zadny problem je najit a i zde na foru se to pred casem probiralo. Pouziva se to v led pascich ktere jsou pak schopny delat efekty typu bezici svetlo apod.

Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 02:00
Bydliště: Kadaň
Kontaktovat uživatele:

#24 Příspěvek od Jenda_KL »

Tu to máš vyřešené bez picaxe a muxu až po žárovičky, spojuje se to za sebe.
Akorát to bude chtít pro 1024 žároviček 128 kusů.
Přílohy
4094.PNG
(30.2 KiB) Staženo 66 x

Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 01:00
Bydliště: Praha

#25 Příspěvek od FHonza »

termit256 píše:... Existuji i ledky ktere jdou adresovat, maji v sobe nejaky posuvny registr takze se zapoji z sebou a udaje o jasu do nich jednoduse vysunes. Jsou rgb, takze i barvicky by byly :-)
Například v "no SMD" provedení
P9823

Uživatelský avatar
Persink163054
Příspěvky: 29
Registrován: 05 říj 2011, 02:00

#26 Příspěvek od Persink163054 »

Už bylo hodně hodin, až ráno jsem si uvědomil že mi chybí odpor před diodou, správně jsem byl upozorněn a děkuji Cowlemu za upozornění a Masari za správné schéma.

Termit256: žárovka má být být připojena k LEDce a buď svítit nebo nesvítít.
Řekněme že je návěstidlo složené ze 3 světel (červená, zelená, žlutá-drážní pojmy necháme stranou), to odpovídá 3 diodám, ovšem obvod neutáhne žárovku, proto je použit ten tranzistor. Pokud budu mít střídu 1:1000 jak píšeš, tak se stane to že nedojde k rozsvícení žárovky (a to potřebuju) a nebo bude střída 1000:1 a dojde k rozsvícení žárovky (a to potřebuju), přičemž ta 1 co zbyde, je krátká a vlákno dostatečně žhavé, takže to vidět nebude. To je popis k jednomu návěstidlu, ale jak jsem řekl na panelu nejsou jen návěstidla, ale mnoho návěstidel, mnoho žárovek (různě barevných) a každá má svůj signál a význam. Celkem jich je 467 ale do budoucna se plánuje rozšíření, proto jsem použil matici 32x32 a to je 1024 diod LED a zároveň i žárovek, tranzistorů atd. Výhodu mám v tom že mám krabici jak tranzistorů (váha 2kg) a LED (váha 4kg), sehnal jsem to na burze. Takže v tom pro mě problém není. Navíc nepotřebuju řešit jas LEDky, ale otevření tranzistoru který má žárovku (dle schéma), to je pro mě důležitější.

HW v podobě vytvořené matice na DPS a v současné době osázen 890 ks LED a stále se pokračuje, hotov je. DPS je dostatečně velká pro připájení čehokoliv dalšího, stejně tak rozteče mezi LED jsou větší, právě kvuli prostoru.

Ty 74154 jsou tam z důvodu ušetření pinů na PICAXE, posílám jen 2x5 bitů na piny (port A a 2 piny z portu B), což mi vezme jen 10 pinů a zbývající mohu používat dále.

Vyhovuje mi v tom adresace přímo v podobě řádku (0 0000-1 1111) a sloupce (0 0000-1 1111), což v případě posuvného registru je problém, protože musím cyklovat trvale respektive hlídat si abych okamžik posunu odpovídal správnému řádku. V adresaci přímým zadáním řádku v binární podobě toto odpadá.

A jak jsem psal na začátku, přijmu po serii data, která obsahují co má svítit a co nesvítit. PICAXE si to má zapamatovat a začít zobrazovat (na displeji budou shluky bodů). A z toho který svítí si beru informaci do báze tranzistoru, který už spíná větší výkon (žárovku).

A v tom je problém, protože nevím si rady s programem, tedy jak napsat tu část k zobrazení.

JendaKL:
Jendo dobrý, ale obávám se že cena toho modulu a množství kusů by vedla k nárustu ceny. Ted mám součástky a během příštího týdne dokupuju akorát PICAXE a 74154, jenom, což nepůjde více než 350kč. Pokud je takovýto modul v prodeji, nevím jeho cenu, budu muset hledat, ale pokud půjde přes 400kč, nemá to pro mě význam z hlediska financí. Protože prostě součástky už jsou, LED matice skoro hotová, tak je zbytečný dělat něco nového.

Já jsem ted v práci, odpovím až večer.

Uživatelský avatar
Persink163054
Příspěvky: 29
Registrován: 05 říj 2011, 02:00

#27 Příspěvek od Persink163054 »

Ještě doplním:Nejde mi o barvy LED, ale o stav svítí, nesvítí a tento stav převést i na žárovky.

A bohužel koukal jsem se do přijatých zpráv, ale žádná se neobjevila.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#28 Příspěvek od termit256 »

Nevim jestli se dobre chapem, ale stridu 1:1000 budes mit kdyz bude ledka svitit. Opacnou tedy 1000:1 u toho maticoveho zapojeni nedocilis.

Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 02:00
Bydliště: Kadaň
Kontaktovat uživatele:

#29 Příspěvek od Jenda_KL »

Poslední post, játra si jdu plácat jinam.

Všichni ti tu říkají stále to samé, ale asi je to svahilsky :
požadavek na více sepnutých led/whatever jde naprosto proti návrhu konstrukce - může být zapnut jen jeden bod. Pokud jich bude v časovém muxu zapínáno více, třeba těch 1000, tak je střída 1:1000 a svítit už zaručeně nebudou.
Pokud teda jsme to vůbec pochopili, tak chceš do MCU poslat pole hodnot. Programem v MCU prolézt pole bitů [1024] a hledat jedničku. Pokud se na ní narazí, offset buňky se zapíše na piny MCU, chvíli se počká (křížení svítí) a pak se hledá dál. Na konci to jede odznovu.
Jenže od toho tě chtějí všichni právě právem odradit, protože bude docházet k několikrát výše uvedenému.

Ad modul:
Není hotový, to si postav. Vyjde to na ty samé prachy, ne-li menší, jako patlání s polem tranzistorů, ledek, odporů, procesorů atd.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#30 Příspěvek od termit256 »

Kdybych to delal ja osobne, sel bych do tech adresovatelnych led, ale kdyz pises ze led uz mas, asi nejlevnejsi varianta mi prijde pouzit hromadu posuvnych registru 74hc595. Jednoduse do nich vysunes stavy led a az to bude hotove, strobovacim vstupem stavy presunes ze zachytnych registru do vystupnich. Nebude to takova silena dratarina jako matice a muzes jednoduse pridavat ledek kolik chces. Ten obvod stoji pri vetsim mnozstvi pod 2koruny a staci ti na 8 ledek a krome odporu tam nic vic nepotrebujes. Mezi sebou je propojis jen 3 draty.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“