[EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

[EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par aotta »

je travaille sur un adaptateur de clavier ps/2 / infrarouge pour l'exl-100 basé sur arduino, mais je n'arrive pas à gérer le scan effectué par le MC14497P: j'ai essayé de gérer les lignes de A1 à A4 avec des commutateurs pilotés par le arduino, mais sans succès, je ne sais pas si car l'allumage/extinction des lignes provoque des retards ou des variations de tension.
J'ai obtenu les meilleurs résultats avec des 2N7000, mais pas précis. J'ai essayé avec des transistors NPN (BC457) et des MOSFET BS170, avec des résultats encore pires et des sorties presque aléatoires. Évidemment, je n'ai pas 32 broches sur l'arduino pour simuler complètement les contacts (8x4), j'envisage d'utiliser un IC pour le transcodage mais je ne sais pas si c'st une bonne façon ... À ce stade, je demande si quelqu'un de plus expérimenté en électronique que moi pourra donner quelques suggestions... merci !
ps2ir_1.jpg
ps2ir_1.jpg (162.9 Kio) Consulté 1665 fois
ps2ir_2.jpg
ps2ir_2.jpg (109.33 Kio) Consulté 1665 fois
Schematic_Exl100 Clavier_2022-06-29.pdf
(86.34 Kio) Téléchargé 37 fois
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par gilles »

Et pourquoi ne pas moduler directement en sortie de micro-controleur pour piloter la LED IR ?

sinon oui il doit être possible de simuler la matrice à la sortie de l'arduino pour alimenter le MC14497 mais le soft ne sera pas simple à écrire car il faudra en même temps attendre le clavier PS2 et le MC14497
aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par aotta »

J'ai essayé d'écrire directement des modulations infrarouges, mais je n'y suis jamais parvenu... les libraries déjà disponibles sur l'arduino ne prend en charge la fréquence AM 28,4 khz du MC14487p, et les informations de codage que j'ai trouvées ne sont pas très complètes.
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par gilles »

je regarde le schéma et je pense qu'on ne peut pas faire comme ça.

A1 à A4 doivent aller sur des entrées du micro controleur (qui sont en pullup).
et en fonction de la touche détectée sur le port PS2 et du scancode il faut vérifier dans la matrice si il faut passer au niveau bas 1 ou 2 bits de E1-E9 en fonction de A1-A4. Et il va falloir le faire très très vite (aussi vite que le temps de réaction attendu par le MC14497)

Comme c'est cablé ca va faire des trucs... mais seulement pour certaines touches.
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par gilles »

pour la modulation... on peut envisager une méthode pour tricher un peu si on a de la place dans la mémoire flash de l'arduino : considérer le code de chaque touche comme un "sample" à rejouer à une fréquence précise (on peut sampler la sortie d'un vrai clavier ou précalculer la table).
aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par aotta »

Oui, A1-A4 sont connectés, mais si je pouvais n'activer que la ligne qui m'intéresse (pour le temps précis du scan)
scanning.png
scanning.png (11.38 Kio) Consulté 1653 fois
cela fonctionnerait... si je connecte avec un câble dupont A1 à E1, par exemple, j'obtiens le bouton droit sur l'écran.
Je ferai d'autres tests avec la sortie IR, ce serait aussi une solution plus élégante
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par gilles »

c'est le MC14497 qui a l'initiative de son cycle de scan, donc il faut le lire sur l'arduino et détecter quel bit passe à 0.

plus précisément:
Au départ toutes les sorties A1-A4 sont à 0
lorsque quelque chose passe à 0 sur E1 - E8 cela signifie qu'au moins une touche de la matrice à été pressée et le cycle de scan se lance (après un délai pour éliminer les rebonds) :

au départ A1 à A4 passent à 1
puis
A1=0 puis repasse à 1 et ensuite A2=0 et ainsi de suite.
en fonction de la touche à simuler il faut placer les bits à 0 pendant que le scan est sur le bonne colonne (on peu sans doute anticiper ici d'ailleurs)

les timings précis vont probablement dépendre de la valeur de l'oscillateur qui pilote le MC14497
aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par aotta »

gilles a écrit : 30 juin 2022 00:32 en fonction de la touche à simuler il faut placer les bits à 0 pendant que le scan est sur le bonne colonne (on peu sans doute anticiper ici d'ailleurs)

les timings précis vont probablement dépendre de la valeur de l'oscillateur qui pilote le MC14497
l'idée serait de moduler directement les canaux Ex (entrée) en simulant la fréquence des sorties Ax ? Je dois essayer ça, merci !
Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par Falkor »

gilles a écrit : 29 juin 2022 23:36 Et pourquoi ne pas moduler directement en sortie de micro-controleur pour piloter la LED IR ?
J'avais déjà tenté de faire ça... Et c'est pas assez précis.

Pour générer la porteuse, le mieux serait de générer directement l'oscillation porteuse (à je sais plus quelle fréquence) avec un oscillateur externe, et faire un ET avec une sortie de la arduino pour obtenir direct le signal infrarouge à envoyer à la led.

Je dois avoir des notes et des bouts de code, si ça t'intéresse je peux chercher ça. :)
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par gilles »

@aotta: je pense qu'il faut au moins détecter les fronts montant sur les colonnes A1 - A4. Surtout si le MC14497 est piloté par un oscillateur céramique qui n'est pas très stable. Ceci dit on peut déjà commencer à regarder à l'oscillo ou à l'analyseur logique pour se faire une idée.

@falkor: c'est une idée aussi, ceci dit le précalcul sera plus simple à prototyper sur le code d'une ou deux touches. Il me semble qu'on peut monter assez haut en fréquence avec cette méthode.
aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par aotta »

Falkor a écrit : 30 juin 2022 08:48
gilles a écrit : 29 juin 2022 23:36 Et pourquoi ne pas moduler directement en sortie de micro-controleur pour piloter la LED IR ?
J'avais déjà tenté de faire ça... Et c'est pas assez précis.

Pour générer la porteuse, le mieux serait de générer directement l'oscillation porteuse (à je sais plus quelle fréquence) avec un oscillateur externe, et faire un ET avec une sortie de la arduino pour obtenir direct le signal infrarouge à envoyer à la led.

Je dois avoir des notes et des bouts de code, si ça t'intéresse je peux chercher ça. :)
Bien sûr! Je va faire quelque autre test avec le E1-E9 modulation, mais des aides par la modulation directe des les LED sont bienvenue, je
n'ai jamais eu de résultats comme ça!
aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par aotta »

grâce à vos conseils, je suis revenu sur mes pas et j'ai réussi à faire fonctionner l'interface avec envoi direct des canaux infrarouges:
exl100_irps2_ok.jpg
exl100_irps2_ok.jpg (386.42 Kio) Consulté 1556 fois
la modulation de certaines touches est peut-être à revoir et n'est pas aussi réactive que ce à quoi je m'attendais, mais ça marche.

Voici le code arduino si quelqu'un est curieux !
Exl100.zip
(6.31 Kio) Téléchargé 36 fois
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par gilles »

L'exl100 n'est pas la machine la plus réactive du monde pour le clavier.
Peut être qu'il faut répeter le code IR pendant une petite période aussi car c'est ce qui se passe sur l'exl100 (comme sur toute télécommande IR) et selon l'état du 7041 il est possible que l'exl100 rate un code s'il n'est appelé qu'une seule fois.
Félicitation en tout cas.
aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par aotta »

gilles a écrit : 02 juil. 2022 23:12 Peut être qu'il faut répeter le code IR pendant une petite période aussi car c'est ce qui se passe sur l'exl100 (comme sur toute télécommande IR) et selon l'état du 7041 il est possible que l'exl100 rate un code s'il n'est appelé qu'une seule fois.
oui, les commandes sont envoyées 3 fois, avec une pause de 88ms, comme il faut le MC14497P (j'ai mesuré le fonctionnement avec l'analyseur numérique).
Je n'ai pas enregistré les 62 touches avec l'oscilloscope, quelqu'un l'a "calculé" avec cette feuille, si cela peut être utile pour une analyse plus approfondie:
Channel_freqs.rar
(20.85 Kio) Téléchargé 32 fois
[edit] voicì le gerber file:
Gerber_PCB_Exl100 Clavier_2022-07-02.zip
(18.92 Kio) Téléchargé 31 fois
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [EXL100] Adapter du clavier PS/2 à Infrared - aide bienvenue

Message par gilles »

Pour être complet il faudrait normalement envoyer le code tant que la touche est appuyée et aussi entrelacer les codes (par exemple haut et droite et espace) pour l'utilisation en mode "joystick" pour avoir les diagonales et le bouton fire. Mais au moins pour un usage clavier avec le basic et une bonne partie des logiciels cela devrait être suffisant.
Répondre