Microcontroller als vervanger voor schakelaars

Wellicht denk ik verkeerd, maar als ik een microcontroller ca. 40 schakelaars wil laten vervangen, waarbij volgens mij de stroomkringen volledig moeten worden gescheiden, dan kom ik niet verder dan opto-couplers of relais. Of is er een andere component / IC die ik hiervoor zou kunnen gebruiken?

Ik wil het toetsenbord van een oude ZX Spectrum vervangen door een normaal PC toetsenbord. Daar zijn schema's met FPGA's e.d. voor, maar ik wilde zelf iets bedenken. Ik heb een schakelingetje van Ebay waar je een toetsenbord op aan kan sluiten en dat via I2C codes doorgeeft. Dat kan makkelijk naar een microcontroller.

Vervolgens moet ik natuurlijk voor het ZX Spectrum toetsenbord daadwerkelijk 2 connecties verbinden (vermoedelijk 5V en een heel klein stroompje). Wellicht zou ik transistoren of thyristoren kunnen gebruiken, maar dan moeten beide schakelingen van een gemeenschappelijke voeding deel uitmaken. En dat is weer niet handig voor de voeding die toch al redelijk belast wordt.

Normaal maak je natuurlijk met een microcontroller iets anders hoog of laag, maar hier wil je eigenlijk een "schakelaar" bedienen...

Iemand een idee, ik pieker me suf! Wellicht zie ik een component over het hoofd?

Thevel

Golden Member

Ik weet niet of het gaat werken maar je kan het proberen met CD4066 Cmos schakelaars, hiervan zitten er vier stuks in 1 IC.

Of een MT8808. Zitten 64 switches in een 8x8 matrix in...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
Shiptronic

Golden Member

Wat babbelt de ZX-Specrum naar van zijn toetsenbord. klink nu alsog je 2x een omzetting doet.

Er zal van af de ZX naar toetsenbord ook geen 40 schakeldraden in.

Wie de vraag stelt, zal met het antwoord moeten leren leven.
Thevel

Golden Member

Op 21 juni 2017 17:03:23 schreef Arco:
Of een MT8808. Zitten 64 switches in een 8x8 matrix in...

Geen gangbaar ic wat makkelijk te verkrijgen is en nog een beetje prijzig ook.
Niet iets om even mee te experimenteren of het werkt..

Op 21 juni 2017 17:07:24 schreef Shiptronic:
Wat babbelt de ZX-Specrum naar van zijn toetsenbord. klink nu alsog je 2x een omzetting doet.

Er zal van af de ZX naar toetsenbord ook geen 40 schakeldraden in.

Tja, we hebben het over 1982, dit is allemaal vrij bijzonder. Het indrukken van een toets, is feitelijk een verbinding maken tussen een specifiek voor dat (48K) computertje ontwikkeld IC, en de adresbus die aan de (Z80) CPU hangt... Dit in een 8 x 5 matrix.
Mijn vraag is daarmee eigenlijk redelijk generiek: wat kan een schakelaar vervangen, wat ik met een microcontroller kan bedienen?

Volgens mij is deze vrij lastig ;-)

Als iemand het interessant vindt, dit is het schema van zo'n computertje. Links zie je KB1 (bestaande uit 5 connecties, gekoppeld aan de specifieke chip, de ULA) en midden boven zie je KB2 (8 connecties) die aan de adreslijnen van de processor is gekoppeld.

Geen gangbaar ic wat makkelijk te verkrijgen is en nog een beetje prijzig ook.

Ach, prijzig...
Meeste zijn onder de 10 euro op eBay. (de iets grotere 8816 staat er zelfs voor 3 euro: http://www.ebay.ca/itm/1PCS-Analog-Switch-Array-IC-MITEL-ZAR...Sw3utY5KFC )
Werken doet 't zeker wel...

[Bericht gewijzigd door Arco op 21 juni 2017 17:50:52 (15%)]

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Op 21 juni 2017 17:50:17 schreef Arco:
[...]
Ach, prijzig...
Meeste zijn onder de 10 euro op eBay. (de iets grotere 8816 staat er zelfs voor 3 euro: http://www.ebay.ca/itm/1PCS-Analog-Switch-Array-IC-MITEL-ZAR...Sw3utY5KFC )
Werken doet 't zeker wel...

Dat is inderdaad een geinig chipje en inderdaad lijkt dit een echte schakelaar! O.b.v. de input vanuit de microcontroller, vindt er daadwerkelijk een verbinding plaats tussen pinnen... Interessant!

Op 21 juni 2017 17:12:42 schreef Thevel:
[...]Geen gangbaar ic wat makkelijk te verkrijgen is en nog een beetje prijzig ook.
Niet iets om even mee te experimenteren of het werkt..

Valt zeker mee, ik keek net op AliExpress: 10 stuks (dat is een beetje veel) USD 8,63!

Het kan ook met een microcontrollertje zonder switches.

Je maakt de Axx adreslijnen aan inputs van de microcontroller, en de Dxx datalijnen aan open drain outputs van de microcontroller.
Je hoeft dan alleen bij de juiste adreslijn de juiste datalijn laag te maken. Wat software gepuzzel, maar zeker te doen...
Als keyboard kun je een PS/2 type nemen, da's het makkelijkst...

http://trastero.speccy.org/cosas/droy/imar3/image006.jpg

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Op 21 juni 2017 18:23:49 schreef Arco:
Het kan ook met een microcontrollertje zonder switches.

Je maakt de Axx adreslijnen aan inputs van de microcontroller, en de Dxx datalijnen aan open drain outputs van de microcontroller.
Je hoeft dan alleen bij de juiste adreslijn de juiste datalijn laag te maken. Wat software gepuzzel, maar zeker te doen...
Als keyboard kun je een PS/2 type nemen, da's het makkelijkst...

[afbeelding]

Dat klinkt mooi en heb je dan nog wel de scheiding tussen het circuit rond de microcontroller en dat van de ZX Spectrum? Het lijkt met deze oplossing, die wel heel elegant is, of de microcontroller dan de schakelaar wordt...

En ik zou dan dus het PS/2 keyboard ook rechtstreeks aan de microcontroller hangen en dan zelf de scan codes moeten parsen (noem ik het maar even). Da's best een klus ;-)

Tja,
Helemaal gescheiden houdt je het toch niet (of je moet optocouplers gebruiken). De massa moet tenslotte altijd doorverbonden zijn, anders zweven de schakelaars.
Veel compilers hebben al iets van een PS/2 library.
Adres en datalijnen zul je inderdaad in het 'directe' voorbeeld in de microcontroller moeten uitlezen/aansturen.

Als je bijvoorbeeld een 'A' wilt simuleren, moet je D0 laag maken zodra A9 laag wordt, enz...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Op 21 juni 2017 19:00:23 schreef Arco:
Tja,
Helemaal gescheiden houdt je het toch niet (of je moet optocouplers gebruiken). De massa moet tenslotte altijd doorverbonden zijn, anders zweven de schakelaars.[...]

Geldt dat dan ook voor die MT8816? Want als ik daar kijk naar de werking, met mijn beperkte kennis, dan zou je zeggen dat de schakelaar daar echt een aparte stroomkring kan schakelen, bijv. een batterij + LED en dat 8 bij 16 keer?

Ik denk dat ik voor de MT8816 ga, een beetje lui misschien, maar dat PS/2 naar I2C-schakelingetje heb ik al liggen. Ik vind die MT8816 wel een bijzonder chipje en wil er wel eens mee gaan pielen (en uiteindelijk hoeft ie niet duur te zijn)

De spanning op de analoge switches moet tussen Vee en Vdd van de chip liggen, dus de Gnd's moeten altijd doorverbonden.
(anders is er geen referentie tussen beide systemen)

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Op 22 juni 2017 07:48:30 schreef Arco:
De spanning op de analoge switches moet tussen Vee en Vdd van de chip liggen, dus de Gnd's moeten altijd doorverbonden.
(anders is er geen referentie tussen beide systemen)

Ik ga de datasheet vanavond in het park bestuderen, hopelijk niet al te moeilijk. Ik dacht dat het volwaardige switches waren, bijv. met intern opto-couplers die door de 7 naar 128 decoder werden bestuurd,maar dan is het dus net even anders...

Ik heb ooit vroeger een dump toetsenbord aangesloten.
De expansion connector gebufferd en een aparte voeding aangesloten.
Van het dumptoetsenbord de matrix zo aangepast dat alle toetsen 5 of 12 v schakelden en die aansluiten op 4016 of 4066 ic's die dan de adres en data lijnen verbonden .
Sommige commando's moet je in volgorde doen en eerst twee en dan nog eentje
geloof ik , dat had ik met een tijdsvertraagd relaitje opgelost .
Het werkte op zich goed . Ik had geloof ik ook een aantal of poorten gemaakt
met diodes om ic's te besparen .
Het boek interfacing microcomputers to the real world veel in gevonden .
Boek heb ik nog , de spectrum en later de aster / tandy is weg , wel leuk aan gehobbied .

@Jan_55: dat klinkt ook als een mooi hobby projectje ;-)
Ik heb van alles verzameld aan oude 8-bit computertjes, met name Sinclair. Ben zelfs de trotse bezitter van een Science of Cambridge MK14!