gameconsole knoppen

Ik heb een gameconsole en zou die graag aan een microcontroller hangen.

Sommige van de knoppen werken reeds (start, logo, select, "rechter en linker joystick-knop")

Deze knoppen zijn gemakkelijk te dupliceren omdat dezen naar de ground getrokken worden.

Alle andere knoppen hangen aan een gemeenschappelijke pin.

Ik zou liever niet met relais of mosfet's werken, hoe kan ik deze ene pin emuleren, zodat het lijkt alsof de knop wordt ingedrukt?

Ik heb juist de pin gemeten met een scoop:
https://byfiles.storage.live.com/y1pmoaGmYAn6QRrNgu-24eem5_zMeXr0SZD6fJ7K2motDAG7hJywxjcsXU092qdg9m3raevKYkSNRU/y_2.png?psid=1

Het signaal is nogal moeilijk na te bootsen met digitale uitgangen...
Ik denk dat het toch relais ofzo zullen worden, iemand een idee welke ik best zou gebruiken?

[Bericht gewijzigd door meandi op 26 augustus 2011 22:52:23 (12%)]

Ik denk dat de spike naast de blokgolf, de dender van je schakelaar is. Het zou dus gewoon een 1 of een 0 moeten zijn.

nene da zou iets te mooie dender zijn
dat signaal is direct van een ic afkomstig

maar wat gebruik ik nu best als schakelaar?

Een transitor of een mosfet en dewelke?

farnell 2N3904?

Terwijl ik in eagle het schema aan het tekenen was dacht ik plots dat ik redelijk wat van de spanning verlies over de schakelaar (transistor)

Versterk ik dan best het signaal, of neem ik dan best een betere schakelaar?

[Bericht gewijzigd door klein is fijn op 27 augustus 2011 14:56:36 (30%)]

klein is fijn

Moderator

Op 26 augustus 2011 22:43:37 schreef meandi:
Het signaal is nogal moeilijk na te bootsen met digitale uitgangen...

Alleen maar hoog of laag, dat is toch makkelijk? De timing is ook nog constant zo te zien.

Maar het voltage pas je dan aan met spanningsdeling ofzo? (lol is inderdaad eenvoudig... |:()

edit:
Mja tis blijkbaar toch niet zoo eenvoudig, beide kanten van de schakelaar hebben een verschillend signaal die resulteert in een nog ander signaal nadien. (Bij het sluiten)

Bijkomend heeft iedere knop een ander beginsignaal. (Eventueel post ik ze later...)

Ik ga als ik tijd heb dan toch eerst mijn methode van versterken en schakelen proberen.

Ook is het zo dat beide kanten van de schakelaars op elkaar afgestemd zijn kwa frequentie, het zelf synthetiseren van het signaal lijkt daardoor onmogelijk. (voorlopig)

edit2:
Verder opmeten laat blijken dat de ic van de controller slechts 1 ingang binnenneemt en hierop de toestand van 12 knoppen afleest ipv twaalf ingangen. Dit is een soort van wired OR

[Bericht gewijzigd door meandi op 28 augustus 2011 03:51:56 (13%)]

https://byfiles.storage.live.com/y1ptdtPWg-SMwx3T2AzP6NflbrESq5sKa23Jf0aHuP_2P9FncmLBK0Zfrif7Z60xHfrGlW2dgbfzuo/0_%C3%A9%C3%A9n%20knop.png?psid=1https://byfiles.storage.live.com/y1pweIf26nzYAkFVrjmKLv-URgRdvK00wayTH9ysKKnCvquQjygg479WQUhT-mzyKYuKwHOBzzafu8/1_twee%20knoppen.png?psid=1https://byfiles.storage.live.com/y1ptdtPWg-SMwwT55HfkEkwF5tVUvHGrPuT6GOiM_cqCJWMcjG9J6QAQS2wvxqhRzgCMIeRePScWiE/2_vier%20knoppen.png?psid=1https://byfiles.storage.live.com/y1pyHkvAbdh-MZxnt7zmC2-ZTFFAsXlbr1CRk0E30EPPoHQzhqE7zl7nuH5Yd1WtgUwQ5uK1JVCcGo/3_zeven%20knoppen.png?psid=1https://byfiles.storage.live.com/y1p4z7NMpDfoMrWDnC9aoz3FpYxnH92j40HH4DgBJCi_T6U7-3JsoUdqlWXB-xpq3ruH_3CvrJKD5A/4_elf%20knoppen%20(alle%20knoppen%20behalve%20knop%20vier).png?psid=1https://byfiles.storage.live.com/y1p4z7NMpDfoMpJiCtb3lJ9MHEMMgUZloB2LWVpR3pQW1uTH6nDNvoWdSZg0TBLqelOgUTbf8VCrBE/5_odd%20one%20out%20(twaalf%20knoppen).png?psid=1https://byfiles.storage.live.com/y1peUBOdKUIpsR6b985DM9IB84yPov_VG2WzldI49zZ9LJJ8MvmoFKHLoP1KHkoEIqG6_F4bDcS6MU/6_odd%20one%20out%20(enkel%20knop%20vier).png?psid=1https://byfiles.storage.live.com/y1pQ0hVAC4tP0DNWvi8MJOqzGj_921d2sR3Hcv5EkQWwOlSHz_xilIW8szpCEtqSJLyjF99-mYcfxE/7_zoom.png?psid=1

De eerste vijf afbeeldingen tonen hoe meer knoppen indrukken zorgt voor meer extra blokkern erbij.

De bij de zesde afbeelding zijn alle knoppen ingedrukt.

Bij afbeedling zeven is enkel de vierde knop ingedrukt. (Deze knop lijkt een uitzondering te zijn)

Afbeelding acht is een zoom-in van afbeelding vijf.

Ik lees voor het moment deze waarde in, ik versterk deze 16 keer (zodat de blokgolf altijd digitaal leesbaar is), breng deze terug naar buiten en dan terug naar binnen. (ik zag geen andere oplossing)

Dan wacht ik in c zolang de waarde hoog is.

Nu moet ik iets meer dan een halve periode synthetiseren aan de hand van wat ik wil dat de uitgangen worden.
(Iedere toestand 60 µs aanhouden)
Dan moet ik het signaal terug op 0 plaatsen en opnieuw wachten.

(ik bedenk juist: moet een zwakke 0 zijn zodat deze het signaal niet overheerst)

edit:

Ik denk dus dat ze dat een wired-or noemen, is dit correct?
En die wired or lijkt gemaakt te zijn voor 3,3V zou dit erg zijn als ik hier 5V op plaats?

edit 2:

De psoc wdt op zijn beurt aangestuurd via een seriële verbinding:

Na softwarematig geknoei met bytes vlugger/trager en/of in groep heb ik het geheel hervormd zodat ieder commando slechts 1 byte in beslag neemt. Zo kan je ze zeer vlug versturen zonder dat ze door elkaar gehaald worden of elkaar beïnvloeden. (Foute communicatie wordt dan ook vlugger gecorrigeerd door een nieuw commando)
Wel heb ik hierdoor de nauwkeurigheid van de assen verlaagd van 256 verschillende snelheden voor iedere richting naar 55 verschillende snelheden voor iedere richting. (4 assen, het is geen sixaxis en voor alle 17 knoppen een on en een off commando)

55*4+17*2 = 254
0 kan je waarschijnlijk niet versturen en 1 gebruik ik niet

[Bericht gewijzigd door meandi op 1 september 2011 02:53:57 (13%)]