Hardwarove odstraneni zakmitu spinaciho tlacitka
Moderátor: Moderátoři
- tominekk
- Příspěvky: 295
- Registrován: 16 črc 2004, 02:00
- Bydliště: 49°11'30.229"N, 16°35'29.415"E
- Kontaktovat uživatele:
Hardwarove odstraneni zakmitu spinaciho tlacitka
Zdarec vsem.
Resim mozna trivialni vec, ale neda me to se zeptat. Mam zapojenych 16 tlacitek (spinacu nikoli prepinacu) v matici 4x4, pripojenych k MCU.
Softwarove osetrit zakmity neni problem, ale je skoda plytvat casem, kdyz by se mohlo delat neco zajimavejsiho.
Proto bych chtel zakmity odstranit uz na urovni HW => vetsi jistota nez spolehat na programatora.
Kazde tlacitko lze pripojit na MKO s urcitou casovou konstantou. Zde me nyni nenapada jak bych zapojil do matice ty vystupy z MKO aby sla v takovem pripade pouzit metoda Row-scaning (vzorkovani radku je myslim cesky preklad - na sloupec vystavim log nula a snimam na jakem radku se nula objevi).
Jednodussi variantu jsem nekde cetl, ze staci paralelne ke spinaci umistit kondenzator. Nevim vsak, co by mi na to MCU rekl pri nabijeni vybiteho kondiku je kratky zkrat. Nejsem si take moc jisty do jake miry to odstrani zakmity.
Chci se tedy zeptat na zkusenost s timto problemem pripadne nejakou radu nebo zcela jine reseni (chtel bych se ale drzet maticoveho zapojeni).
Dekuji
Resim mozna trivialni vec, ale neda me to se zeptat. Mam zapojenych 16 tlacitek (spinacu nikoli prepinacu) v matici 4x4, pripojenych k MCU.
Softwarove osetrit zakmity neni problem, ale je skoda plytvat casem, kdyz by se mohlo delat neco zajimavejsiho.
Proto bych chtel zakmity odstranit uz na urovni HW => vetsi jistota nez spolehat na programatora.
Kazde tlacitko lze pripojit na MKO s urcitou casovou konstantou. Zde me nyni nenapada jak bych zapojil do matice ty vystupy z MKO aby sla v takovem pripade pouzit metoda Row-scaning (vzorkovani radku je myslim cesky preklad - na sloupec vystavim log nula a snimam na jakem radku se nula objevi).
Jednodussi variantu jsem nekde cetl, ze staci paralelne ke spinaci umistit kondenzator. Nevim vsak, co by mi na to MCU rekl pri nabijeni vybiteho kondiku je kratky zkrat. Nejsem si take moc jisty do jake miry to odstrani zakmity.
Chci se tedy zeptat na zkusenost s timto problemem pripadne nejakou radu nebo zcela jine reseni (chtel bych se ale drzet maticoveho zapojeni).
Dekuji
Chytrej člověk se učí chybama, ale jenom blbec těma svejma!
Proč by měl vadit zkrat nabíjecím proudem kondenzátoru, když předtím ho tam způsobilo tlačítko?
Vždyť ty kapacity tam nemusíš dávat kdovíjak velké - takových 100n je někdy až zbytečně moc (záleží na pull-někam odporech, čím větší jsou, tím menší kapacita se bude hodit). Pokud bys měl vítr z vybíjecího proudu při stisknutí tlačítka, dej do série s každým kondíkem odpor asi tak 1/50 pull odporu.
Jinak do matice jsme zapojovali emitorové výstupy z Hallových sond MH1SD1 klávesnice Consul 3111 (dokonale bezzákmitová tlačítka, jen poněkud vysoká), když jsme do ní vestavovali počítač ZX Spectrum: tam byly datové vstupy sloupců tahané na plus pomocí pull-up odporů, adresová sběrnice, která budila řádky, spínala buď na Ucc nebo na zem.
Dalo se 40 tranzistorů (5x8, vlastně co tranzistor, to jedna klávesa gumáka), každá klávesa měla dva výstupy, takže z těch 78 se u většiny spojily paralelně, jiné měly vytažený každý výstup jinam (třeba znaky +, -, *,/,;$ atd., numerické klávesy se naopak zdvojily, když už tam ta pravá část byla).
Zkrátka jde o to, že na bázi tranzistoru máš při stisku tlačítka log 1, ale neděje se nic, dokud adresové výstupy jsou také v log 1. Když se příslušný řádek spojí se zemí, tranzistor otevře a přivede na datový vstup log 0.
Fungovalo to naprosto spolehlivě i s programy, které i s originál kontaktní klávesnicí měly problémy (Tasword, EdAssm a podobné).
Vždyť ty kapacity tam nemusíš dávat kdovíjak velké - takových 100n je někdy až zbytečně moc (záleží na pull-někam odporech, čím větší jsou, tím menší kapacita se bude hodit). Pokud bys měl vítr z vybíjecího proudu při stisknutí tlačítka, dej do série s každým kondíkem odpor asi tak 1/50 pull odporu.
Jinak do matice jsme zapojovali emitorové výstupy z Hallových sond MH1SD1 klávesnice Consul 3111 (dokonale bezzákmitová tlačítka, jen poněkud vysoká), když jsme do ní vestavovali počítač ZX Spectrum: tam byly datové vstupy sloupců tahané na plus pomocí pull-up odporů, adresová sběrnice, která budila řádky, spínala buď na Ucc nebo na zem.
Dalo se 40 tranzistorů (5x8, vlastně co tranzistor, to jedna klávesa gumáka), každá klávesa měla dva výstupy, takže z těch 78 se u většiny spojily paralelně, jiné měly vytažený každý výstup jinam (třeba znaky +, -, *,/,;$ atd., numerické klávesy se naopak zdvojily, když už tam ta pravá část byla).
Zkrátka jde o to, že na bázi tranzistoru máš při stisku tlačítka log 1, ale neděje se nic, dokud adresové výstupy jsou také v log 1. Když se příslušný řádek spojí se zemí, tranzistor otevře a přivede na datový vstup log 0.
Fungovalo to naprosto spolehlivě i s programy, které i s originál kontaktní klávesnicí měly problémy (Tasword, EdAssm a podobné).
- Přílohy
-
- klavesnice.png
- Detail čtyřicetitranzistorového transkodéru klávesnice pro ZX Spectrum.
KDYŽ BASTL, TAK BASTL! - (2.56 KiB) Staženo 105 x
Re: Hardwarove odstraneni zakmitu spinaciho tlacitka
A proč bys měl plýtvat časem? Obsluhuj klávesnici v přerušení od časovače jednou za 20-50ms a nemusíš ošetřovat nic.tominekk píše:Softwarove osetrit zakmity neni problem, ale je skoda plytvat casem, kdyz by se mohlo delat neco zajimavejsiho.
Ty magnetické klávesy jsou velmi noblesní, z časů kdy se výpočetní technika navrhovala i realizovala jako šperky, ale v době membránových klávesnic z recyklovaného plastu a čínských mikrospínačů 5x5mm už to je silně z módy
Ošetřit matici hardwarově při požadavku vyhodnocení více současně stlačených kláves bude zajímavé obvodově i cenově.
![Sad :(](./images/smilies/icon_sad.gif)
Ošetřit matici hardwarově při požadavku vyhodnocení více současně stlačených kláves bude zajímavé obvodově i cenově.
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Re: Hardwarove odstraneni zakmitu spinaciho tlacitka
Nebo třeba 1x za 10ms a reaguj až po dvoj či trojnásobné shodě...Andrea píše:A proč bys měl plýtvat časem? Obsluhuj klávesnici v přerušení od časovače jednou za 20-50ms a nemusíš ošetřovat nic.tominekk píše:Softwarove osetrit zakmity neni problem, ale je skoda plytvat casem, kdyz by se mohlo delat neco zajimavejsiho.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- tominekk
- Příspěvky: 295
- Registrován: 16 črc 2004, 02:00
- Bydliště: 49°11'30.229"N, 16°35'29.415"E
- Kontaktovat uživatele:
Na blbe poznamky vazne nemam naladu. Tohle je "odborne" forum a ne tlacharna na trhu ![Wink ;)](./images/smilies/icon_wink.gif)
Kdyz myslim, ze to chci osetrit HW, tak opravdu myslim HW a ne SW![Wink ;)](./images/smilies/icon_wink.gif)
Take jsem napsal, ze SW to neni nejmensi problem. Prijde mi vzdy spolehlivejsi se spolehnout na HW pokud tohle reseni nebude podstatne slozitejsi nez SW.
Jinymi slovy chci zjistit slozitost HW osetreni a rozhodnout se, ktere nakonec pouziji. Dik za pochopeni
K veci:
Pravda
uz bylo trosku pozde a pri formulaci dotazu jsem tuto skutecnost nevzal v uvahu.
Jaky bude vyznam toho kondiku? Nejsem nyni uplne presvedceny, ze zcela spolehlive odstrani zakmit.
Na druhou stranu bastl taky nechci stavet, takze s tema MKO to byla jen takova myslenka, ktera me napadla.
![Wink ;)](./images/smilies/icon_wink.gif)
Kdyz myslim, ze to chci osetrit HW, tak opravdu myslim HW a ne SW
![Wink ;)](./images/smilies/icon_wink.gif)
Take jsem napsal, ze SW to neni nejmensi problem. Prijde mi vzdy spolehlivejsi se spolehnout na HW pokud tohle reseni nebude podstatne slozitejsi nez SW.
Jinymi slovy chci zjistit slozitost HW osetreni a rozhodnout se, ktere nakonec pouziji. Dik za pochopeni
K veci:
,Proč by měl vadit zkrat nabíjecím proudem kondenzátoru, když předtím ho tam způsobilo tlačítko?
Pravda
![Wink ;)](./images/smilies/icon_wink.gif)
Jaky bude vyznam toho kondiku? Nejsem nyni uplne presvedceny, ze zcela spolehlive odstrani zakmit.
Na druhou stranu bastl taky nechci stavet, takze s tema MKO to byla jen takova myslenka, ktera me napadla.
Chytrej člověk se učí chybama, ale jenom blbec těma svejma!
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Doufám, že potom i ten procesor postavíš z pasivních součástek, aby sis to pořádně užil. Na co se spoléhat na výrobce čipů.
Vždycky bude, a až ten orloj dodrátuješ, nebude tam ten procesor ani vidět. Jediné opravdu spolehlivé HW ošetření zákmitů je použití přepínacího tlačítka a KO, což v případě matice 4x4 bude docela zajímavý zapojení.Prijde mi vzdy spolehlivejsi se spolehnout na HW pokud tohle reseni nebude podstatne slozitejsi nez SW.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- tominekk
- Příspěvky: 295
- Registrován: 16 črc 2004, 02:00
- Bydliště: 49°11'30.229"N, 16°35'29.415"E
- Kontaktovat uživatele:
No jo Vy vite vsechno nejlip.
Dnes se clovek zepta na cestu do hospody a dostane odpoved, ze je lepsi jit do kina.
Plytvani casem to je z pohledu MCU. Za tu dobu, kdy se bude cekat je mozne provest polovinu vypoctu. Jinak bych se neptal.
Takze jeste jednou - kondenzator paralelne k tlacitku zajisti spolehlive osetreni zakmitu?
Dnes se clovek zepta na cestu do hospody a dostane odpoved, ze je lepsi jit do kina.
Plytvani casem to je z pohledu MCU. Za tu dobu, kdy se bude cekat je mozne provest polovinu vypoctu. Jinak bych se neptal.
Takze jeste jednou - kondenzator paralelne k tlacitku zajisti spolehlive osetreni zakmitu?
Chytrej člověk se učí chybama, ale jenom blbec těma svejma!
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Ne.tominekk píše:Takze jeste jednou - kondenzator paralelne k tlacitku zajisti spolehlive osetreni zakmitu?
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]