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 _________________ Chytrej člověk se učí chybama, ale jenom blbec těma svejma!
Založen: Sep 10,
2004 Příspěvky: 19768 Bydliště: Jičín, Český ráj
Zaslal: čt únor 18 2010, 8:02 Předmět:
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é).
klavesnice.png
Komentář:
Detail čtyřicetitranzistorového transkodéru klávesnice pro ZX Spectrum.
KDYŽ BASTL, TAK BASTL!
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ě.
Uz ked trvas na tom hardware,tak tam daj RC clen + schmit.tvarovac.
Ale je to len plitvanie materialom.Ked uz mas takeho slabeho programatora pochybujem ,ze ten projekt dobre dopadne. _________________ Už druhý krát strihám a furt je to krátke
Softwarove osetrit zakmity neni problem, ale je skoda plytvat casem, kdyz by se mohlo delat neco zajimavejsiho.
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.
Nebo třeba 1x za 10ms a reaguj až po dvoj či trojnásobné shodě... _________________ 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[?]
Na blbe poznamky vazne nemam naladu. Tohle je "odborne" forum a ne tlacharna na trhu
Kdyz myslim, ze to chci osetrit HW, tak opravdu myslim HW a ne SW
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:
citace:
Proč by měl vadit zkrat nabíjecím proudem kondenzátoru, když předtím ho tam způsobilo tlačítko?
,
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. _________________ Chytrej člověk se učí chybama, ale jenom blbec těma svejma!
Založen: Jul 21, 2006 Příspěvky: 25741 Bydliště: skoro Brno
Zaslal: čt únor 18 2010, 12:41 Předmět:
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ů.
citace:
Prijde mi vzdy spolehlivejsi se spolehnout na HW pokud tohle reseni nebude podstatne slozitejsi nez SW.
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í. _________________ 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[?]
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? _________________ Chytrej člověk se učí chybama, ale jenom blbec těma svejma!
Založen: Jul 21, 2006 Příspěvky: 25741 Bydliště: skoro Brno
Zaslal: čt únor 18 2010, 17:45 Předmět:
tominekk napsal(a):
Takze jeste jednou - kondenzator paralelne k tlacitku zajisti spolehlive osetreni zakmitu?
Ne. _________________ 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[?]
dá se za hw řešení považovat to, že podřízený µP slouží jako řadič klávesnice a po stisku kláves(y) přeruší hlavní µP a předá mu kód klávesy?
zákmity tlačítka by řešil podřízený µP softwarově, ale žádné výpočty by nebrzdil.
Když se stav kláves čte jednou za 20-50ms v přerušení od časovače, tak to taky nic nebrzdí a zákmity to spolehlivě odstraní. Troufám si tvrdit, že to procesor zatíží míň, než komunikace s druhým procesorem. Ale proč dělat věci jednoduše, když jdou udělat složitě, že.
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2, 3, 4Další
Strana 1 z 4
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.