Gamoover

Si vous êtes nouveau, n'hésitez pas à vous présenter ici et à poser toutes vos questions, meme si elles vous paraissent ridicules... Gamoover regroupe une communauté de passionnés prêts à vous aider ! Bienvenue à vous ;)

Menu

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Voir les contributions Menu

Messages - english2

#33
Merci ! Je viens de vérifier, et il ne manquait que le pin 34, facile à mettre à jour. Voici mon dernier schéma tenant compte des modifications faites pour faciliter le routage (il manque deux modifs pour AGND, mais elles sont prises en compte).

#34
Le régulateur optionnel est rajouté (pose verticale, car pas assez de place à plat). Le routage est à peu près terminé (il y a sans doute des optimisations qui sauteront aux yeux). Voici la face avant en rouge (qui comporte la masse GND), la face arrière en bleu (masse AGND), ainsi que les deux ensemble. Je complète avec la projection 3D pour donner une idée de son apparence. Je vais laisser un peu de temps pour affiner les détails, et passer commande ce weekend.








#35
Bonjour
Je pense qu'il s'agit d'une approximation liée à la conversion en PNG, car à l'écran les hiatus n'apparaissent pas. En zoomant tout semble correct.

Merci pour les conseils quant à l'implantation des composants. En effet, j'ai déjà changé quelques branchements sur le schéma afin d'optimiser les fils. Je vais sans aucun doute passer à côté d'un certain nombre.

#36
Merci beaucoup pour cette analyse et ses explications. Du coup je comprends que le schéma peut rester en l'état (et qu'il n'est pas spécialement utile de fusionner GND et AGND). Le routage commence, et je poursuivrai aux heures de pause. Je pars sur une PCB double face classique.

#37
Ca rentre au chausse pied ... mais il reste à faire le routage

#38
non, l'écart n'est pas énorme, il est vrai ...
#39
Je me demande comment tout ça va tenir sur 10cm x 10cm ... ! Il va falloir faire des compromis ...

#40
Bien noté pour RS, je regarderai de nouveau pour comparer le prix total avant de commander. Je n'aurai pas besoin de toute la liste, car j'ai déjà un petit stock de certains composants.

Voici le dernier schéma mis à jour de mon côté (j'ai pris un interrupteur multiple au format DIP20 pour représenter le TXS0108E).

Le seul doute qui reste au niveau schéma est le branchement des masses AGND et GND.

#41
La solution avec la TXS0108E est effectivement plus élégante. J'en ai commandé sur Aliexpress, et je vais mettre à jour le schéma en conséquence. Le BOM (liste des composants) est réalisé, mais j'ai eu du mal à trouver les références avec RS (qui ne semble plus évoquer le port gratuit le weekend en ce moment).

Voici le BOM qui ne tient pas encore compte du changement vers un TXS0108E (prix issus de mouser.fr) ... il y a sans doute des optimisations possibles pour baisser le total.



#42
Pour le fonctionnement des boutons à base de résistance 10K et alimenté par 3.3V/5V, j'avais tout simplement suivi l'exemple fourni avec le Teensy. J'ai une nette préférence pour cette solution plus classique (à mes yeux) qui détecte la connection à la masse en utilisant la résistance interne. J'ai fait un petit test, ça marche bien !



#43
Bonjour !

Encore merci pour ces remarques judicieuses. J'ai intégré les modifications proposées, ainsi que la correction du court circuit.

J'ai bien noté l'intolérance du Teensy 4.1 face à des tensions > 3.3V, j'espère ne pas avoir déjà grillé le mien en faisant des tests avec la PCB actuelle.

Les 3.3V en sortie du Teensy serviront pour les boutons de contrôle, j'en ai donc rajouté 5. De ce que je comprends, les broches sélectionnées recoivent 3,3V en permanence, et le Teensy détecte la mise à la terre lors de l'appui sur le bouton.

Pour les résistances sur les broches CS, je viens de trouver l'article auquel je pensais, mais je me rends compte qu'il ne fallait pas les insérer en série mais a priori les connecter à VCC. Elles me semblent superflues compte tenu de l'ajout des MOSFET et les résistances 10K reliées au 5V : https://www.pjrc.com/better-spi-bus-design-in-3-steps/

J'ai lu des articles sur les BSS138 et 2N7000 pour la conversion de niveaux, si possible j'aimerais éviter de rajouter les petites PCB de conversion de tension (j'en ai tout de même commandé quelques uns sur Aliexpress au cas où), ainsi que les composants "surface mount". J'avais en tête d'utiliser le 2N7000, mais les expériences des uns et des autres sont mitigées apparemment (certains disent que ça marche sans problème, d'autres non ...). A terme, l'idée est de mettre tout le projet sur Github et que ce soit facile à trouver les composants et à souder la PCB pour n'importe qui. Y a-t-il un risque à utiliser les 2N7000 au format TO-92 à la place des BSS138 ?

Voici le schéma ainsi modifié. Je vais attaquer la conception de la PCB demain, en essayant de respecter les consignes quant au placement des composants (et en espérant rester sur les 2N7000 ou un composant TO-92 similaire), notamment les condensateurs. Je vais essayer de rester dans un format 10cm2 car le coût de production est bien moins cher.

#44
Merci pour cette réponse point par point, très appréciée.

1) Le Teensy 4.0 ou 4.1 peut gérer 3 bus SPI, alors pourquoi ne pas différencier les DAC MCP4922 en attribuant un bus à chacun? Il serait ainsi possible de transférer 3 informations simultanément, ce qui devrait participer à améliorer les temps de traitement, qui plus est en affectant les DAC X et Y dans des boitiers MCP4922 différents.

-> oui, bonne idée, il faut que je creuse la programmation du Teensy 4. Toutefois la carte sera forcément limitée par l'envoi séquentiel des données par Advancemame, mais autant avoir un traitement optimal par le v.st.

2) Le TLE2425 apparait être meilleur que le MCP1525 ...

-> je suis convaincu, j'ai mis à jour le schéma avec ce composant

3) Ces composants sont aussi disponibles chez RS particuliers, les prix sont TTC et en principe les frais de livraison sont gratuits si l'on commande un week-end.

-> merci pour ce tuyau, je ne savais pas du tout

4) Vaut-il mieux alimenter le régulateur 2.5V en 12V ou 5V ou peu importe ? ...

-> du coup, j'ai modifié le schéma afin que le régulateur 2.5V et les DAC soient alimentés par les 5V issus du LP2950

5) Oubliez le 2N3904 et remplacez le par un des 4 amplis OP d'un TL3474 ...

-> j'ai donc conservé le TL3474

6) Est-ce que IC3 doit vraiment être alimenté par +/- 12V ou autre chose (juste un +5V ...) pour obtenir de 0 à 4V ? ...

-> j'ai laissé +/- 12V

7) Les réglages de gain X/Y étaient déjà sur la carte v.st d'origine, j'avais rajouté des potentiomètres de centrage sur la v.st couleur v1 qui se sont avérés très utiles selon la carte de déflection utilisée. En revanche, j'ai supprimé les potentiomètres de gain pour les couleurs.

8) Alimentation : j'ai donc laissé la possibilité d'alimenter le tout par USB, ou chaque élément séparément par un 5V ou un 12V externe (en omettant le RB-0512D). Je ferai des tests avec différentes combinaisons par curiosité.

9) Merci pour la suggestion de regarder le TXS0108E pour le 3.3V. J'ai trouvé des vidéos sur Youtube que je vais regarder pour mieux comprendre la mise en oeuvre.

Cela me fait penser que je vais rajouter des boutons de contrôle, mais en faisant des tests avec le Teensy 3.2 il fallait alimenter le GPIO en 5V de façon permanente, puis en appuyant sur bouton le Teensy détectait la mise à la terre. Si je passe en Teensy 4.1, il va falloir une source de 3.3V et non de 5V, sauf qu'il n'y en a pas (car la sortie 3.3V est désactivée sur le Teensy 4.1 quand on alimente en 5V si j'ai bien compris; en tout cas je n'ai pas de tension en sortie du 3.3V...). Je me demande s'il ne faut pas rajouter un 2ème LP2950 en 3.3V du coup ?

Enfin, j'ai remplacé le Teensy 3.2 par un 4.1 sur le schéma, en prévoyant des sorties sur la carte pour tout ce que je n'utilise pas afin de pouvoir changer ou rajouter des broches en cas de besoin.

J'espère pouvoir envoyer la nouvelle PCB en fabrication d'ici ce weekend, afin qu'elle soit livrée d'ici la fin des vacances scolaires qui approchent à grands pas !

Voici le schéma du jour (merci pour le conseil d'export, j'essayais de faire une simple copie d'écran tout en restant lisible, pas facile...)

#45
Tout d'abord, merci beaucoup à gc399 d'avoir pris le temps d'apporter cette réponse très utile.

En ce qui concerne les niveaux d'intensité, je voulais voir ce que cela donne en affichant autant sur un écran vectoriel (car on n'en voit pas sur les jeux habituels alors que cela est techniquement possible). J'ai bien conscience qu'au-delà de 16 niveaux il y a peu de jeux qui les exploitent. D'ailleurs le seul auquel je pensais est Sundance qui a 64 niveaux de gris (je crois). Comme la carte fonctionnera aussi sur les écrans en n&b, il peut être intéressant de gérer 64 niveaux pour tenir compte de cette exception. Le code d'Advancemame qui fournit ces données prévoit un octet par couleur, donc 256 niveaux yc le noir. Comme il s'agit que de choix au niveau du code sur le Teensy, cela peut être décidé plus tard (notamment s'il y a un impact négatif sur les performances).

Par rapport à la proposition de modification du schéma :

- sur la carte actuelle j'ai en effet rajouté un 3ème MCP4922 afin d'avoir suffisamment de canaux pour gérer les 3 couleurs + X/Y. Je confirme que cela marche bien. 
- le MAX6102 est remplacé par un MCP1525 et le MAX6105 par un LP2950-5, tous les deux en TO92 (ce qui évite de souder des composants minuscules !). J'ai lu la fiche descriptive du TLE2425 qui me semble tout à fait adapté, mais je ne suis pas suffisamment expert pour discerner les avantages/inconvénients des deux composants. Au niveau prix, le LP2950 est à 1,21€ HT, le TLE2425 à 2,45€ HT (références Mouser) donc ce n'est pas un critère discriminant comme on n'est pas sur une production industrielle. Vaut-il mieux alimenter le régulateur 2.5V en 12V ou 5V ou peu importe ?
- j'avais prévu un emplacement sur la carte pour un op amp (encore un TL3474) comme suggéré, mais j'ai eu un doute car pour le X/Y on produit une tension de +/- 12V, et la plage recherchée pour le RVB est de 0 à 4V. Au final j'ai laissé l'emplacement du TL3474 libre, et à la place j'avais rajouté un 2N3904 qui monte à 3,8V. Est-ce que IC3 doit vraiment être alimenté par +/- 12V ou autre chose (juste un +5V ...) pour obtenir de 0 à 4V ? J'avais prévu des potentiomètres pour varier le gain, mais je ne sais pas si cela est utile (car sur la carte de déflection cela est également prévu).
- est-il nécessaire de passer VREF5 par l'op amp plutôt que directement en sortie du LP2950 ?

Aujourd'hui le circuit est entièrement alimenté par les 5V qui entrent via le port USB du Teensy. Je me demande si le RB-0512D est capable de supporter la charge, et s'il ne vaut mieux pas séparer les circuits afin d'alimenter le Teensy uniquement par le câble provenant du Raspberry Pi, et puis avoir une alimentation arcade de type "switching" à côté qui fournit un +5V et un +12V à des régulateurs de la série 78xx/79xx pour alimenter les op amps (et les DAC ?). De plus, comme le Teensy 4.1 tourne à 600Mhz au lieu de 120 pour le Teensy 3.2, j'imagine qu'il va consommer plus et peut-être trop pour l'alim actuelle via USB. Je n'ai pas (encore) les compétences pour estimer/calculer/mesurer les exigences en matière d'alimentation. Je ne suis pas certain d'avoir prévu tout ce qu'il faut en matière de condensateurs, car les vecteurs produits par la carte actuelle ne sont pas stables contrairement à la carte v.st d'origine.

Pour passer du Teensy 3.2 au 4.1, j'ai compris que toutes les sorties doivent désormais être à 3,3V max au lieu de 5V. Je ne maitrise pas encore tous les impacts sur le schéma. J'ai juste retenu qu'il faut rajouter des résistances 10K "pull up" sur les CS (chip select) des DAC. J'ai adapté mon code pour le Teensy 4.1 en mode SPI, et je l'ai branché à la place du 3.2, mais cela ne donne rien (les DAC produisent des mV). Je n'ai pas encore eu le temps d'investiguer plus, mais je sens bien qu'il va falloir passer sur le 4.1 pour avoir un résultat utile qui permette de jouer.

N'hésitez pas avec vos commentaires, cela m'aide à avancer ! Voici le schéma de ma carte actuelle, sauf que que IC1 est remplacé par un 2N3904.

#47
Après un peu d'optimisation de code, j'arrive à obtenir jusqu'à 64 niveaux d'intensité par couleur. Néanmoins l'amplificateur d'intensité est un simple 2n3904 en mode 'common emitter" qui ne me donne que 2,8V max alors que j'ai besoin de 4V pour afficher une belle intensité. Peut-être qu'il faut rajouter un 2ème 2n3904 ... (GC339 - Help!) ?
Par ailleurs, j'ai rajouté un bouton sur la carte afin de pouvoir varier certains paramètres directement, ce qui m'aide bien à mettre au point les réglages. Il faut que je trouve le temps de finaliser une v2 de la PCB avec des améliorations diverses et de me pencher sur le SPI et DMA sur Teensy 4.1.







#48
J'ai réussi à faire fonctionner le DMA et donc Mame fonctionne en couleur depuis un Raspberry Pi, mais je pense que la carte Teensy 3.2 avoue ses limites. J'ai commencé à regarder la programmation de Teensy 4.1 qui peut tourner à plus de 600Mhz au lieu de 120 pour la v3.2, mais l'approche est tellement différente que je suis un peu perdu. S'il y a des experts en Arduino SPI/DMA ici, je veux bien de l'aide !!!