Bras articulé pour PET Commodore : Différence entre versions
(→Analyse des signaux envoyés par le clavier (en cours)) |
(→Récupération des données sur le port série de la nanoboard via Altium (pour permettre une extension du contrôle à une machine distante)) |
||
Ligne 89 : | Ligne 89 : | ||
==== Récupération des données sur le port série de la nanoboard via Altium (pour permettre une extension du contrôle à une machine distante) ==== | ==== Récupération des données sur le port série de la nanoboard via Altium (pour permettre une extension du contrôle à une machine distante) ==== | ||
+ | Nous avons réalisé un programme c pour la gestion du port série. Le message envoyé toutes les 100ms, a une taille de 1 octet. Il se divise de la manière suivante : | ||
+ | * Les 4 bits de poids forts correspondent à l'entrée | ||
+ | * Les 4 bits de poids faibles correspondent à la sortie | ||
+ | Le traitement est donc totalement réalisé par le programme C en amont du port série. Le programme C sous Altium n'a donc plus qu'à faire le lien entre le pin d'entrée et le pin de sortie données par le programme. | ||
==== Création d'un programme C via Altium permettant de relié ces différents éléments ==== | ==== Création d'un programme C via Altium permettant de relié ces différents éléments ==== |
Version du 7 avril 2011 à 08:39
Sommaire
- 1 Présentation
- 2 Préparation du projet
- 3 Avancement du projet
- 3.1 Objectifs suggérés par les encadrants
- 3.2 Étude préliminaire
- 3.3 Choix techniques
- 3.4 Réparation du Clavier du PET COMMODORE (en cours)
- 3.5 Conception d'un clavier virtuel avec Altium (en cours)
- 3.5.1 Objectif
- 3.5.2 Analyse des signaux envoyés par le clavier (en cours)
- 3.5.3 Récupération des infos envoyé par un clavier ps/2 (fait)
- 3.5.4 Récupération des signaux de contrôle du clavier via Altium
- 3.5.5 Récupération des données sur le port série de la nanoboard via Altium (pour permettre une extension du contrôle à une machine distante)
- 3.5.6 Création d'un programme C via Altium permettant de relié ces différents éléments
Présentation
Ce projet consiste à la mise en place d'un système d'accès en réseau pour un PET commodore. Le PET commodore étant une machine très ancienne, la mise en place d'un réseau de type classique n'est pas possible. L'entrée des données se fera donc grâce à un bras robotisé tandis que la sortie (réception des données) se fera à l'aide d'une webcam.
Préparation du projet
Matériel Requis
- PET commodore (matériel disponible, voir commentaire ci-dessous) ;
- maquette de bras robotisé montée (matériel disponible y compris l'interface USB) ;
- système FoxBoard (matériel disponible) ;
- adaptateur Wifi USB (matériel disponible) ;
- webcam (matériel disponible) ;
- plateforme Altium ;
- support pour fixer le bras ;
- webcam pour connaitre la position du bras (1 ou 2) ;
- stylet pour appuyer plus facilement sur les touches.
Commentaires des encadrants sur le matériel
Le PET commodore a été transporté en E306 pour que vous puissiez y accéder librement. Certaines touches sont hors-service à cause de l'oxydation du circuit imprimé du clavier. Vous avez à votre diposition un vernis conducteur permettant de réparer ce circuit. Pour vous familiariser avec l'engin écrivez (ou trouvez) un programme un peu ludique qui puisse tourner sur cette machine. Ce programme sera disponible sur le site de contrôle du PET commodore comme exemple.
Concernant l'acquisition des images du clavier un PC classique est nécessaire. Je vous propose d'utiliser la Zabeth07 qui se trouve sur la même table que le PET Commodore. Des webcams sont disponibles (faire la demande en séance).
Commentaires des élèves sur le matériel
Le support doit permettre de fixer le bras par rapport au PET Commodore, histoire de ne pas avoir à tout recommencer à chaque fois que le bras change de position.
Avancement du projet
Objectifs suggérés par les encadrants
- Trouver la position du bras par rapport au clavier du PET commodore permettant d'appuyer sur toutes les touches. Vous pouvez faire des tests avec la commande manuelle. Après quelques tentatives cette première tâche s'avère plus complexe que prévu. Une fois la position determinée, le support pourra être spécifié et réalisé.
- Réparation des pistes pour les touches du clavier avec le liquide conducteur.
- Architecture du site de contrôle du PET commodore :
- dans le mode contrôle; affichage de l'écran et du clavier virtuel avec récupération de l'identifiant de la touche cliquée ;
- dans le mode archive; rejeu d'une sessions (constituée de fichiers datés d'appuis de touches et d'image de la webcam) ;
- dans le mode contact; possibilité d'inscription pour être prévenu du début d'une session "live" (le PET commodore ne pouvant pas être laissé en accès libre constant sans détérioration).
- Sniffage des commandes USB générées par le logiciel windows, écriture d'un programme C sous Linux utilisant la bibliothèque USB pour contrôler le bras.
Étude préliminaire
Étude du bras
- Nécessité d'avoir un stylet au bout de la pince pour appuyer sur une seule touche.
- Besoin d'une méthode pour déterminer la position du bras à un instant donné.
- Détermination d'une position de la base du bras afin d'atteindre toutes les différentes touches du clavier.
Étude du PET Commodore
- Une impulsion sur une touche correspond à un unique caractère quelque soit sa durée.
Recherche Documentaire sur le PET Commodore
Choix techniques
Trouver la position du bras grâce à une webcam (à l'étude).
Le clavier du PET pourra être encadré par 4 points de couleur pour déterminer les extrémités du clavier et le bras par un 5ème point d'une autre couleur. Chaque touche aura une coordonnée encadrée par les positions des 4 points. Un traitement d'image sera ensuite effectué pour repérer la position du bras par rapport aux 4 points. Des essais sont en cours. Un programme a été créé pour donner les coordonnées de 4 points sur une image en fonction de la couleur voulue mais seulement à partir d'une image statique. Une version utilisant une webcam est en cours de développement.
Réparation du Clavier du PET COMMODORE (en cours)
Détection des problèmes (fait)
- Repérage des touches HS : %, ', w , r, t, y, a ,f, x, v, 2, *
- Détection des pistes HS qui conduisent au non fonctionnement des touches : 5 coupures de piste sont à la base de tous les problèmes
- fils trop courts pour la touche MAJ lock
Réparation
- Réparation à l'aide d'un vernis conducteur (fonctionne pour 2 pistes sur 5)
- Réparation à base de soudure (en cours réussite pour 1 pistes sur 3 )
- Mise en place de nouveau fils pour la touche MAJ lock(pas encore fait)
Test de vérification
- Les touches F, X, V, 2 , * sont toujours HS
- La réparation du clavier sera vu avec Mr Flamen
Conception d'un clavier virtuel avec Altium (en cours)
Objectif
Le but de cet opération est de créer un clavier virtuel à l'aide de Altium Designer et d'une nanoboard. Ce clavier fonctionne en remplaçant les signaux envoyé par le clavier original via les 18 fils de contrôle du clavier. Ce remplacement s'effectue en connectant la nanoboard aux 18 fils qui contrôlent le clavier du PET COMMODORE et en connectant le périphérique qui jouera le rôle du clavier virtuel. Dans un premier temps nous utiliserons un clavier de type PS/2 pour simuler le clavier virtuel, puis nous utiliserons la liaison série afin d'envoyer les informations à partir d'une page web.
Analyse des signaux envoyés par le clavier (en cours)
Cette tache consiste à regarder via un oscillateur numérique à plusieurs voies, le fonctionnement du clavier original de la PET COMMODORE. Pour cela nous avons utilisé l'appareil à disposition dans la salle B205, et nous avons regardé l'ensemble des voies de la machine. Nous avons remarque que nous disposons de 8 fils dont le potentiel est non nul et 10 fils avec un potentiel nul. Néanmoins, nous n'avons pas réussi à déterminer la fréquence de balayage du clavier (la fréquence trouvé était trop importante pour être réel).
Document trouvé par Monsieur Redon circuit du PET COMMODORE
Récupération des infos envoyé par un clavier ps/2 (fait)
Nous avons branché un clavier ps/2 sur le la nanoboard et à l'aide des exemples à notre disposition nous avons réussi à récupérer les données que le clavier envoie. Nous avons alors affiché ces données sur un terminal généré par Altium.
Récupération des signaux de contrôle du clavier via Altium
Récupération des données sur le port série de la nanoboard via Altium (pour permettre une extension du contrôle à une machine distante)
Nous avons réalisé un programme c pour la gestion du port série. Le message envoyé toutes les 100ms, a une taille de 1 octet. Il se divise de la manière suivante :
* Les 4 bits de poids forts correspondent à l'entrée * Les 4 bits de poids faibles correspondent à la sortie
Le traitement est donc totalement réalisé par le programme C en amont du port série. Le programme C sous Altium n'a donc plus qu'à faire le lien entre le pin d'entrée et le pin de sortie données par le programme.