Sto valutando la possibilità di creare alcuni aggeggi personalizzati da collegare alla porta di gioco sul mio PC retro-hobby (adattatore per controller SNES, box macro / turbo, ecc.) ma non sono riuscito a trovare molte informazioni su dettagli come i limiti di corrente consentiti.
(Solo questa menzione non citata sui forum di DSLReports che afferma “La tensione operativa standard per una porta MIDI / Gameport è di 5 Volt ± 5% e unuscita di corrente di 40 mA quando è attiva e di 22 mA quando è in standby.”)
Dati alcuni dei digitali più elaborati joystick che non richiedono alimentatori esterni, so che è possibile appendere un po tipo di carico di fantasia dalle linee 5V del porto di gioco, ma non voglio scommettere che SoundBlaster 16 Qualche anno fa ho acquistato con cura da eBay che è robusto almeno quanto qualsiasi combinazione di adattatore USB-Gameport ancora in produzione e Raspberry Pi che rischio per i test di sviluppo.
Dal lato della protezione del host PC, spero di fi Trovare una fonte solida per dettagli quali:
- Massima corrente di picco sicura
- Massima corrente sicura sostenuta
- I DO e DON “Ts che i joystick digitali bloccato a quando pinout come questo elenca più linee di alimentazione 5V e specifica che ogni linea GND è destinata a un pulsante specifico.
Per quanto riguarda la protezione del microcontrollore, qualcuno ha delle specifiche sulla corrente massima osservata quando i pulsanti vengono premuti o le linee degli assi X e Y si trovano allestremità 0Ω del loro intervallo?
(Nel caso è rilevante, spero di utilizzare quelle schede cinesi STM8S sotto $ 1 con Sduino se i numeri sono corretti. 16MHz dovrebbe essere sufficiente per bit-bang le cose e non puoi “batterle” per dimensioni o prezzo.)
Una citazione che ha anche informazioni simili sulle porte per PC e tastiera PS / 2 sarebbe apprezzata poiché io “Sto anche valutando la possibilità di creare un knock-off del Dynapoint GameStar .
Risposta
La documentazione per ladattatore di controllo del gioco originale di IBM contiene alcuni dettagli che saranno utili. Anche se stai utilizzando una scheda SoundBlaster, dovrebbe comunque essere compatibile con loriginale IBM.
Sebbene la documentazione non specifichi le correnti massime per nessun pin, ha un diagramma logico:
Può essere visto che sul gameport originale, gli ingressi dei pulsanti sono alimentati a un buffer 74LS244 (tramite resistenze pull-up da 1Kohm e condensatori 51pF). Il 74LS244 “datasheet specifica una corrente di uscita massima di basso livello di 24 mA per pin e una corrente di uscita di alto livello di -15 mA.
Gli ingressi del potenziometro (assi) vengono inviati agli ingressi di temporizzazione di un quad timer NE558 (tramite resistenze in linea da 2.2kohm e condensatori .01uF). Il suo datasheet non elenca dettagli per il carico di corrente su questi pin di ingresso; sono usati come valori di temporizzazione RC.
Il diagramma IBM mostra tutte le masse (e le alimentazioni 5V) collegate in comune. Ho il sospetto che i pin 5V del gameport siano collegati direttamente allalimentazione 5V dello slot ISA; questo potrebbe essere verificato per la tua scheda con un test di continuità su un multimetro. In questo caso, lassorbimento di corrente massimo consentito per una scheda ISA può fornire ulteriori indicazioni.
Risposta
indietro in i (x386) giorni stavo usando la porta GAME come ADC per scanner fatti in casa e altri HW autocostruiti. Come è normale durante lo sviluppo, si verificano occasionalmente arretramenti come un cortocircuito ecc. Le porte GAME che stavo usando erano sempre IDE / porte con chip GoldStar alimentate dalla scheda ISA (erano molto comuni) e un cortocircuito sui pin analogici brucia sempre + La linea di alimentazione a 5 V sul PCB (so che nessun chip è stato danneggiato poiché bypassando il filo bruciato tutto ha funzionato di nuovo) quindi non esiste un limite di corrente evidente oltre alla densità di corrente dei fili del PCB utilizzati.
i cavi nel corso della giornata potevano trasferire in sicurezza 0,5 A (di solito iniziano a bruciare sopra 1 A) ma non farei un carico superiore a 100 mA.
Tuttavia, quando ho guardato la scheda tecnica NE558 (il collegamento è nel Kaz “s risposta) a parte il bug di pinout qui è un circuito equivalente di un timer singolo:
lintervallo di tempo è:
t = R.C
dove C = 0.1 uF
e R >= 2K2
. Considerando Vcc = 5V
e secondo
Nozioni di base sui transistor la tensione di caduta del transistorVce = ~0.2V
quindi la corrente massima “sicura” assoluta per luscita di temporizzazione (pin analogico GAMEPORT) è:
I = (Vcc-Vce) / R = (5-0.2)/2200 = 2.18 mA tmin = R.C = 2200*0.1/1000000 = 220 us
che sembra ragionevole considerando la sua corrente di ingresso per un comparatore.Dopo tale analisi Le correnti di cortocircuito che ricordo sono impossibili, quindi il mio GAMEPORT aveva circuiti diversi o le correnti passavano attraverso pin diversi (forse VCC / GND).
I pin analogici della porta giochi hanno un 2.18 mA
limite di corrente.
attenzione che il carico dovrebbe essere passivo mentre il pin si scarica corrente da sola, quindi o un potenziometro o un transistor NPN (collector-> Vcc, emitter-> GAMEPORT_analog_pin) che svolgono lo stesso lavoro.
Tuttavia gli adattatori SB16 e / o USB potrebbero avere circuiti diversi (specialmente se includono MIDI) ma 2mA è un valore comune per comparatori e amplificatori.
Attenzione, correnti inferiori significano tempi di conversione maggiori, quindi è necessario trovare un compromesso in modo che il codice di lettura del polling non attenda troppo a lungo e abbia una risoluzione sufficiente .. . ad esempio 1 ms
:
t = (Rl+R)*C Rl = (t/C)-R Rl = (0.001/0.1)*1000000-2200 = 7800 ohm
quindi se vedo bene se il tuo carico è 0 .. 7K8
poi th La conversione terminerà in 1 ms
massimi.
Misurando il mio vecchio joystick Rockfire, lasse x ha 160 k a destra, posizione zero a sinistra e 68 k al centro (non “t lho usato per secoli, quindi la posizione centrale potrebbe essere spostata) portando al tempo massimo di conversione t = 16.22 ms
Commenti
- I 100 mA sono per luscita NE558, non per lingresso di temporizzazione che è ciò a cui sono collegati gli ingressi analogici della porta del joystick.
- @Justme You ‘ hai ragione ( +1) Mi manca leggerlo. Dopo un esame più approfondito ho trovato un limite più affidabile. Ho modificato la risposta.
- Non ‘ per capire perché presumi che Vce sia 0,6 V che fa fluire meno corrente. Sarebbe meglio supporre che Vce del transistor di scarica sia zero a questi livelli di corrente e quindi flussi di corrente nel caso peggiore. La differenza però non è molto, date tutte le tolleranze dovrebbe comunque essere inferiore a 2,5 mA per ingresso analogico.
- Vorrei davvero poterne dare due ” risposta accettata ” segni di spunta perché la tua risposta aggiornata e la risposta di Kaz ‘ sembrano davvero due metà della risposta ideale. Detto questo, ho dovuto darlo a Kaz perché era sia linizio della risposta combinata che quello che ha trovato il diagramma logico per ladattatore IBM originale.
- @Spektre Vbe drop sarebbe di circa 0,6 V in transistor. Ma questo è Vce drop. Se il transistor di scarica è simile al transistor di uscita, secondo la scheda tecnica NE558, la caduta di Vce sarebbe tipicamente di 0,1 V a 10 mA di corrente e poiché la corrente disponibile sul pin di temporizzazione è inferiore a 3 mA, anche la tensione sarebbe ben al di sotto di 0,1 V.
Risposta
Non ci sono specifiche ufficiali per il limite di corrente della porta di gioco. Alcuni adattatori possono avere resistori, perline di ferrite o fusibili per limitare la corrente, ma di solito un cortocircuito frigge ancora qualcosa (tranne un polifusibile). Direi che 100 mA è un limite di sicurezza in ogni caso. Ladattatore originale ha 1k pull up sui pulsanti, quindi per tutti e quattro i pulsanti premuti contemporaneamente, aggiunge fino a 20 mA di corrente dai fili dei pulsanti al filo di terra. Gli ingressi analogici hanno 2,2 k in serie in modo che tutti i potenziometri di ingresso analogico che si trovano nella posizione estrema 0R aggiungano fino a circa 9 mA di corrente dal cavo 5 V ai cavi di ingresso analogico.