Gamoover

[move]Vous aimez la série Ricky la belle vie, Julio Iglésias ou l'émission Kohlanta ? Alors soyez les bienvenus sur Gamoover ! [/move]

Commutation JAMMA et contrôles analogiques

Démarré par Wiz, Dimanche 08 Novembre 2020, 01:57:26 AM

Wiz

Bonjour à tous et puisque c'est mon premier message ici, MERCI pour la mine d'information qu'est devenu ce forum au fil des années, c'est un plaisir à parcourir ! <:)


Parlons peu parlons bien, j'ai une question de débutant de la commutation JAMMA, et d'ignorant électronique plus largement.
J'essaie de formuler ça correctement :

Sur un commutateur JAMMA, est-il possible d'employer des broches dédiées aux boutons pour y faire passer le signal analogique du potentiomètre d'un volant ou d'une pédale ?
En d'autres termes :
Est-ce que le commutateur effectue pour ces broches un traitement qui les contraint à ne servir qu'à des boutons, ou bien est-ce qu'il se contente de passer le signal reçu tel quel sans altération ?


Voilà, une question directe et un peu vague, maintenant je peux parler de mon cas plus concrètement ! :D


Je suis l'heureux joueur d'une borne OutRunners upright, et je veux lui ajouter de l'émulation sur PC/RasPi tout en continuant de faire honneur au PCB d'OutRunners, ce monument à la gloire du fun, du superscaling et des funky beats intemporels, oui je m'emporte mais ce jeu le mérite vraiment. :D

Donc pour schématiser les branchements, sur OutRunners on a la chance d'avoir un System Multi 32 qui est en double JAMMA derrière sa Filter Board (+ troisième connecteur pour des accessoires annexes : lumières, moteurs de vibrations ...).


Joueur 1 en vert, joueur 2 inutilisé en rose, et on note les contrôles analogiques qui ont leur entrée propre sur une carte dédiée :




Mon idée serait donc d'utiliser un commutateur JAMMA en y faisant passer aussi la commutation volant/pédales, à l'aide d'extensions JAMMA modifiées :




Idée qui implique d'utiliser des broches inutilisées, ici en jaune :



Enfin bon, idée qui reste complètement conditionnée par ma question du début. :D ...


Un peu surpris de pas avoir trouvé réponse à cette question dans mes recherches, j'emploie peut-être pas les bons termes, désolé d'avance si c'est une question con hein. :-[
Je pense pas avoir un besoin si original que ça, pas mal de gens ont déjà dû vouloir faire du switch JAMMA dans les bornes de conduite non ?

Dans tous les cas, j'ai exposé le problème de façon générique pour commencer, des fois que ça puisse servir à d'autres à terme pour clarifier le sujet.  ;)

Merci pour votre aide ! :D

f4brice

Citation de: Wiz le Dimanche 08 Novembre 2020, 01:57:26 AM
Est-ce que le commutateur effectue pour ces broches un traitement qui les contraint à ne servir qu'à des boutons, ou bien est-ce qu'il se contente de passer le signal reçu tel quel sans altération ?

Salut.

Le standard JAMMA ne définit que le fait que le bouton fasse un retour à la masse.
Il appartient à chaque concepteur de l'électronique d'un PCB de mettre en œuvre cette information.

On observe 2  conceptions différentes qui sont généralement retenues :

  • utilisation d'un opto-coupleur
    l'anode de la diode est reliée à VCC ;
    la cathode de la diode est reliée au bouton :
    quand le joueur appuie sur le bouton, la diode illumine le phototransistor
  • utilisation d'un driver de ligne type 74LS244
    dans ce cas les pins d'entrées du driver sont reliées aux boutons et disposent d'une résistance de pull-up
    lorsque le bouton est au repos, l'entrée est lue à 1 grâce à la pull-up
    lorsque le bouton est actif, l'entrée est lue à 0 via le bouton

Conclusion : il n'est pas possible de faire d'hypothèse sur le signal qui arrive au bouton.
Tu peux toujours squatter la pin d'un bouton sur un connecteur JAMMA, mais tu sors de la norme et tu risques de cramer des trucs en appuyant sur le bouton pendant que le signal analogique y transite.

Wiz

#2
Salut f4brice et merci pour cette réponse instructive !


OK donc comme je le craignais, c'est pas aussi simple qu'espéré avec ma méconnaissance des principes électroniques. :-\


Si je comprends bien :
1. Avec l'opto-coupleur, quelle que soit la tension d'entrée fournie via le pin du bouton, elle ne fait qu'agir sur la diode qui pilote le transistor. La tension de sortie délivrée par le phototransistor, elle, n'est pas liée et donc pas contrôlable par un pin JAMMA.
2. Avec un driver de ligne s'opère un traitement logique, donc ici encore par conception ce n'est pas la tension d'entrée qui est transmise à proprement parler, mais simplement un niveau haut ou un niveau bas qui est fonction du niveau détecté en entrée.

Donc dans les deux cas, maintenant ça me paraît clair qu'en aucun cas la tension d'entrée n'est transmise telle quelle pour ce type de pin.

Petite question juste pour ma compréhension :
Est-ce que j'ai raison de deviner qu'il s'agit de solutions moins coûteuses que d'appliquer un bête relais à chaque fois ?


En revanche je suis pas sûr de comprendre ton dernier point ...
Pour moi les 5 pins que j'envisageais d'utiliser n'ont tout simplement pas de bouton rattaché, sur cette borne ils ne sont pas utilisés : on ne relierait que les potentiomètres, et ils finiraient bien uniquement sur la carte en charge de lire leur tension.


Quoi qu'il en soit, pas de solution "plug'n'play" en vue, je comprends qu'un petit dispositif électronique spécifique va s'imposer.

J'aurais tendance à penser qu'il s'agirait d'appliquer des relais à la manière des pins d'alimentation 12V et 5V, mais je soupçonne qu'il puisse exister une autre solution :
Quid des pins audio et vidéo qui font aussi transiter un signal analogique ? Est-ce qu'il s'agit d'une autre conception ? Et est-ce que ça présenterait plus d'intérêt que des relais ?

Dans tous les cas je me retrouve à devoir maintenant m'improviser apprenti-électronicien, donc je suis preneur de toute suggestion de montage applicable ... j'imagine bien que je suis pas le premier à avoir un tel besoin. ;)


EDIT :
En relisant un peu plus attentivement ce topic j'ai compris quelques trucs :
Étude/Réalisation d'un Jumbo Multi Jamma Switcher up to 12-in-1
- Pour la vidéo, c'est parfois un multiplexeur/démultiplexeur analogique de type 4051 qui est utilisé.
- Et dans mon cas, en complément du commutateur JAMMA, un simple commutateur rotatif 6 poles / 2 positions pourrait bien faire l'affaire, en fin de compte. Je pense me pencher plutôt vers ce plan, tout bêtement.

EDIT 08/11 :
J'ai finalement opté pour un commutateur rotatif 6P3T (6 pôles, 3 positions) de manière à gérer par la même occasion le commutateur JAMMA de chez RiddledTV.
Ce commutateur JAMMA a la particularité d'actionner la commutation par la pression simultanée de deux boutons au choix (par défaut P1 START et P2 START) pendant 1,5sec.
Mon commutateur rotatif aura donc deux fonctions :
- Aux positions extrêmes, les 5 raccordements des contrôles analogiques au PCB OutRunners d'un côté, et à l'ordi/RasPi de l'autre.
- Et sur la position intermédiaire, le pôle 6 me servira à commander la commutation JAMMA au passage, en y faisant une petite pause de 1,5sec.
Autre aspect positif de ce montage, je n'ai pas besoin de me soucier d'avoir un commutateur court-circuitant ou non ("make before break" / "break before make") : chaque transition d'une position à l'autre concerne des pôles différents (Pôles 1-5, puis pôle 6, puis pôles 1-5).
Plus qu'à attendre la réception pour câbler ça correctement.
En attendant je vais m'amuser à schématiser ça, je vous tiens au courant !

EDIT :
Et voilà l'idée générale représentée :
- Commutateur JAMMA qui ne se charge bien que des connexions JAMMA
- Et commutateur rotatif 6P3T qui à la fois commute les contrôles analogiques en positions T1 et T3, et pilote le commutateur JAMMA en position T2.

Wiz

Bon et bien je confirme que ça fonctionne très bien, cette combinaison de commutation électronique + mécanique ! :D

Quelques illustrations plus concrètes du topo :

Deux connecteurs JST-NH customs pour remplacer ceux existants :


Prêts à assembler sur le commutateur rotatif :
- A gauche, le connecteur vers le PCB OutRunners dédié aux contrôles analogiques
- En bas, le connecteur vers la "Filter Board" des contrôles analogiques de la borne
- A droite, les connecteurs vers l'interface U-HID du Raspberry Pi
- Et en haut juste de quoi déclencher la commutation sur le commutateur JAMMA


Un petit exercice de patience et de réflexion dans l'espace pour bien relier tout comme il faut avant soudure ...


... et mes soudures approximatives :D


Derrière la borne, on installe ça comme on peut ...


Le nouveau connecteur sur les contrôles de la borne :


Et celui sur le PCB d'OutRunners :


Le commutateur JAMMA posé à plat :


L'ensemble Raspberry Pi + Pi2Jamma + U-HID qui seront accessibles par le trou présent dans la planche arrière de la borne.


Côté monnayeur, une place toute trouvée pour le commutateur rotatif.


Il me manque plus qu'un bouton à encastrer pour faciliter la manipulation !


Et voilà, fonctionnement comme prévu :
- Démarre initialement sur OutRunners
- Sur le sélecteur on passe en position intermédiaire 1,5sec pour déclencher la commutation JAMMA
- Puis on termine en position opposée pour connecter les contrôles analogiques

Tout roule, reste à configurer la distribution Raspberry Pi convenablement, mais ça, c'est une autre affaire ... :D


Donc en conclusion, pour généraliser :
Si on veut commuter des éléments qui complètent le standard JAMMA sans pouvoir s'y intercaler, on peut très bien compléter la commutation électronique par une commutation bêtement mécanique.