Vyuzitie MHB2501 pri riedeni LED matice
Moderátor: Moderátoři
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
Vyuzitie MHB2501 pri riedeni LED matice
Zdravim,
Je mozne vyuzit stary obvod MHB2501 pri riadeni led matice na zobrazovanie alfanumerickych znakov ?
Hladam nieco ako stary znamy prevodnik z BCD na 7seg D147 (SN7447) ale pozuitelny aj pre alfanumericke znaky.
Datasheet
https://elparts.mekweb.eu/ds/MHB2501.pdf
Je mozne vyuzit stary obvod MHB2501 pri riadeni led matice na zobrazovanie alfanumerickych znakov ?
Hladam nieco ako stary znamy prevodnik z BCD na 7seg D147 (SN7447) ale pozuitelny aj pre alfanumericke znaky.
Datasheet
https://elparts.mekweb.eu/ds/MHB2501.pdf
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
zaujal ma napriklad tento display ktory obsahuje aj dekoder, ale ta cena je sialena
https://sk.farnell.com/broadcom-limited ... dp/1175587
tak hladam nejake lacnejsie ale pritom pouzitelne riesenie[/url]
https://sk.farnell.com/broadcom-limited ... dp/1175587
tak hladam nejake lacnejsie ale pritom pouzitelne riesenie[/url]
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
Jestli ti jde o šuplíkové součástky, pak pro maticový displej použij jako generátor znaků paměť třeba 27C64, má 8x 8k kapacitu. I kdybys multiplexoval jeden znak pro 64 LEDek, tedy na jeden každý použil 8 bajtů, pořád tam máš k dispozici místo na 1024 znaků, které vybereš příslušnými čtyřmi adresami. A můžeš tam mít i smajlíky, řeckou abecedu i jiné symboly, sanskrt, kurent, prostě nač si vzpomeneš.
Dál už je to jen záležitost organizace displeje (8 paralelních linek) a jeho multiplexování v návaznosti na adresování paměti (10 paralelních linek).
Když to mohlo obsluhovat Zajícovu digitální stupnici, může i toto.
Dál už je to jen záležitost organizace displeje (8 paralelních linek) a jeho multiplexování v návaznosti na adresování paměti (10 paralelních linek).
Když to mohlo obsluhovat Zajícovu digitální stupnici, může i toto.
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
Ten nieje paralelny. Popravde pre mna je pochopitelnejsie a lahsie na ladenie prave to paralelne rozhranie.Cowley píše:Pak raději MAX7219 spolu s LED MATRIXem.
Nejako specialne mi o suplikove suciastky nejde ale ta MHB2501 sa da kupit za par centov napriklad tuHill píše: Jestli ti jde o šuplíkové součástky, pak pro maticový displej použij jako generátor znaků paměť třeba 27C64, má 8x 8k kapacitu.
https://www.elektronickesuciastky.sk/el ... d35169.htm tak som chcel vyuzit to ze uz ma tie znaky naprogramovane v sebe.
Inak vyuzit EPROMku je asi fajn napad, len treba navrhnut mapu pamate co da celkom dost prace. Idealne by sa hodila asi pamat z aspon 5bit adresou a 16bit datami slo by tak pohodlne ovladat maticu 8x8 no cena tych pamati mi pride vyssia
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
- nostalcomp
- Příspěvky: 43
- Registrován: 09 lis 2022, 01:00
MHB2501/02 bych nechal spát. To už je lepší naprogramovat generátor znaků do nějaké EPROM a zobrazovat v celém rastru 8x8. Pak se mohou zobrazovat i znaky s diakritikou. Navíc je to P-MOS a tudíž vyžaduje i záporné napájení (zde -12V), které nesmí vypadnout dříve, než +5V.
Ale jako mentální cvičení (a protože už jsem hóóódně dlouho nic nebastlil) jsem si zkusil (pouze teoreticky) navrhnout autonomní zobrazovací obvod pro běžně prodávanou LED matici 8x8 a to bez použití jednočipu (mikrokontroléru).
Ústřední součástkou je naprogramovaná ROM paměť sloužící jako generátor znaků: MHB2501 (latinka), nebo 2502 (azbuka). Každý obvod umí zobrazit 64 znaků v matici 5x7 bodů. Obvody jsou sice P-MOS, ale TTL kompatibilní. Vstupem zobrazovadla je 6-bitový kód, odpovídající jednomu ze 64 znaků (viz tabulka v datasheetu). Kód je zaveden přímo do paměti na I4-I9. O multiplex se stará čítač 7493 pacující v 3-bitovém módu. Čítač vybírá jeden z 8 řádků znakového rastru v paměti (I1-I3) a zároveň pomocí dekodéru 1z8 74238 aktivuje jeden řádek na maticovém displeji. Využívá se ale jen 7 řádků, osmý řádek MHB2501/2 nepoužívá.
Jako zdroj hodin slouží (TTL) oscilátor (není zakreslen), který by měl mít takovou frekvenci, aby byl celý displej obsloužen za max. 10 mS.
Čili minimální kmitočet by měl být asi 800Hz, lépe 1kHz. Maximální kmitočet je omezen vybavovací dobou dobou ROM, která může být dle typu až 1uS! Výhodné je, pokud bude poměr log.0 ku log.1 asi 1:4. Pak můžeme hodiny zavést do vstupu E3 na dekodéru 74238 a nízkou úrovní hodin blokovat dekodér a tím i zobrazení. Zobrazení bude povoleno až s vysokou úrovní hodin. V té době už je výstup asynchronního čítače a ROM stabilní a na displeji tudíž nebudou nevzhlední duchové a obraz bude čistý.
Nízká úroveň by měla mít minimální délku odpovídající ustálení výstupů čítače a vybavení ROM, tedy s jistou rezervou volíme min. 1,2uS.
Jako oscilátor může posloužit třeba NE555 v zapojení s upravenou střídou.
Výstup dekodéru 74238 spíná jednotlivé řádky matice LED přes "PNP" tranzistorové pole TBD62783. Matice LED musí být se společnou anodou v řádcích. Například typ 788ASR s 8x8 LED, ale využijeme jen 5x7. Výstup sloupců jde z paměti (zapojení s organizací 512 slov po 5 bitech) a katody sloupců jsou spínány pomocí tranzistorového pole ULN2003 (využito jen 5 kanálů ze 7). Předřadné odpory jsem střelil od oka, ale těch 68R by mělo vyhovět.
Celé zapojení se pak chová jako ten zmiňovaný 7447 (D147), jen se vyžaduje 6-bitový kód na vstupu a zobrazuje to 64 ASCII znaků. Jeden ze vstupů E1 nebo E2 dekodéru 74238 by mohl sloužit na zatemňování displeje (podobně jako BI z D147). Log.0 zobrazuje, log.1 nezobrazuje.
Dekodér 74238 lze nahradit běžnějším 74138 (MH3205), ale pak je nutné jeho výstupy ještě invertovat. Taktéž tranzistorová pole lze nahradit diskrétními tranzistory, ale s poli je práce jednodušší.
Jako čítač může sloužit i třeba 74193, jen bacha, že čítá na náběžku a nikoliv na sestupku, jako 7493. Pokud by vadilo, že čítač čítá 8 řádků, ale využíváme jen 7, může za stavu 7 (HHH) nulovat. Možností řešení tohoto zobrazovadla jsou mraky...
Celý obvod může sloužit třeba jako (naprosto zbytečný) tester MHB2501/2. Pokud to někdo zkusí, dejte vědět
Byla to rychlovka a tudíž si vyhrazuji právo na chybu
Ale jistou zkušenost mám. Před pár lety jsem MHB2501 zkusil osadit do vlastnoručně zkonstruované TV zobrazovací karty s I8275 a šlapalo to jako fík ![Smile :)](./images/smilies/icon_smile.gif)
Ale jako mentální cvičení (a protože už jsem hóóódně dlouho nic nebastlil) jsem si zkusil (pouze teoreticky) navrhnout autonomní zobrazovací obvod pro běžně prodávanou LED matici 8x8 a to bez použití jednočipu (mikrokontroléru).
Ústřední součástkou je naprogramovaná ROM paměť sloužící jako generátor znaků: MHB2501 (latinka), nebo 2502 (azbuka). Každý obvod umí zobrazit 64 znaků v matici 5x7 bodů. Obvody jsou sice P-MOS, ale TTL kompatibilní. Vstupem zobrazovadla je 6-bitový kód, odpovídající jednomu ze 64 znaků (viz tabulka v datasheetu). Kód je zaveden přímo do paměti na I4-I9. O multiplex se stará čítač 7493 pacující v 3-bitovém módu. Čítač vybírá jeden z 8 řádků znakového rastru v paměti (I1-I3) a zároveň pomocí dekodéru 1z8 74238 aktivuje jeden řádek na maticovém displeji. Využívá se ale jen 7 řádků, osmý řádek MHB2501/2 nepoužívá.
Jako zdroj hodin slouží (TTL) oscilátor (není zakreslen), který by měl mít takovou frekvenci, aby byl celý displej obsloužen za max. 10 mS.
Čili minimální kmitočet by měl být asi 800Hz, lépe 1kHz. Maximální kmitočet je omezen vybavovací dobou dobou ROM, která může být dle typu až 1uS! Výhodné je, pokud bude poměr log.0 ku log.1 asi 1:4. Pak můžeme hodiny zavést do vstupu E3 na dekodéru 74238 a nízkou úrovní hodin blokovat dekodér a tím i zobrazení. Zobrazení bude povoleno až s vysokou úrovní hodin. V té době už je výstup asynchronního čítače a ROM stabilní a na displeji tudíž nebudou nevzhlední duchové a obraz bude čistý.
Nízká úroveň by měla mít minimální délku odpovídající ustálení výstupů čítače a vybavení ROM, tedy s jistou rezervou volíme min. 1,2uS.
Jako oscilátor může posloužit třeba NE555 v zapojení s upravenou střídou.
Výstup dekodéru 74238 spíná jednotlivé řádky matice LED přes "PNP" tranzistorové pole TBD62783. Matice LED musí být se společnou anodou v řádcích. Například typ 788ASR s 8x8 LED, ale využijeme jen 5x7. Výstup sloupců jde z paměti (zapojení s organizací 512 slov po 5 bitech) a katody sloupců jsou spínány pomocí tranzistorového pole ULN2003 (využito jen 5 kanálů ze 7). Předřadné odpory jsem střelil od oka, ale těch 68R by mělo vyhovět.
Celé zapojení se pak chová jako ten zmiňovaný 7447 (D147), jen se vyžaduje 6-bitový kód na vstupu a zobrazuje to 64 ASCII znaků. Jeden ze vstupů E1 nebo E2 dekodéru 74238 by mohl sloužit na zatemňování displeje (podobně jako BI z D147). Log.0 zobrazuje, log.1 nezobrazuje.
Dekodér 74238 lze nahradit běžnějším 74138 (MH3205), ale pak je nutné jeho výstupy ještě invertovat. Taktéž tranzistorová pole lze nahradit diskrétními tranzistory, ale s poli je práce jednodušší.
Jako čítač může sloužit i třeba 74193, jen bacha, že čítá na náběžku a nikoliv na sestupku, jako 7493. Pokud by vadilo, že čítač čítá 8 řádků, ale využíváme jen 7, může za stavu 7 (HHH) nulovat. Možností řešení tohoto zobrazovadla jsou mraky...
Celý obvod může sloužit třeba jako (naprosto zbytečný) tester MHB2501/2. Pokud to někdo zkusí, dejte vědět
![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
- Přílohy
-
- 2501_zobr_led.pdf
- MHB2501/2 a LED matice
- (297.73 KiB) Staženo 62 x
- nostalcomp
- Příspěvky: 43
- Registrován: 09 lis 2022, 01:00
Připravit si pro EPROM generátor (mapu) znaků pro rastr 8x8 je práce na (doslova) pár minut. Stačí si ho "vypůjčit" z výpisu ROM nějakého osmibitu. Já používám ZX SPECTRUM a ZX81. Výpisy zdrojáků ROM jsou v textovém formátu k nalezení na netu. Ze Spectra metodou COPY/PASTE vezmu znaky 20h-7Fh a znaky 00h-1Fh vezmu ze ZX81. Vše vložím do nového textového souboru a v PS_Padu upravím syntaxi tak, aby vyhovovala mému oblíbenému překladači TASM. Tedy nechám automaticky nahradit řetězec DEFB za .DB a pak to jen přeložím do binárky. A mám hotový generátor znaků o velikosti 1KB (128 znaků). Tvorba vlastních znaků je snadná, viz zdrojový kód generátoru, kde jsou i odkazy na zdrojáky ZX81 a ZXS a další poznámky. Máš to dole v ZIPu. Ten ZX font se sice někomu nemusí líbit, ale na blbnutí to stačí.kajsmentke píše:Inak vyuzit EPROMku je asi fajn napad, len treba navrhnut mapu pamate co da celkom dost prace.
Hotovou binárku pak proženu ještě utilitou na invertování jednotlivých bajtů a mám dalších 128 znaků, které jsou shodné, ale invertované.
Obojí se pak vleze třeba do klasické EPROM 2716 a oproti 2501 je to fakt pokrok. A když ne za 2, tak za 3 minuty je to hotové
![Smile :)](./images/smilies/icon_smile.gif)
Paměť s 16-bitovou datovou šířkou nic neřeší. Tu matici 8x8 LED stejně musíš ovládat multiplexně a na to klasická 8-bitová šířka dat plně postačuje. Pokud bys to chtěl řídit staticky, jako segmentovky, musel bys mít přístup ke katodě každé ze 64 LED (pro displej 8x8 se spol. anodou). Takový zobrazovač by musel mít minimálně 65 vývodů a bitová šířka slova řídící paměti s mapou znaků by musela mít těch 64 bitůkajsmentke píše:Idealne by sa hodila asi pamat z aspon 5bit adresou a 16bit datami slo by tak pohodlne ovladat maticu 8x8 no cena tych pamati mi pride vyssia
![Smile :)](./images/smilies/icon_smile.gif)
- Přílohy
-
- genznak.zip
- Generátor 128 znaků 8x8 ze ZX
- (3.29 KiB) Staženo 26 x