Bras articulé pour PET Commodore : Différence entre versions

De Wiki d'activités IMA
(Nouvelle page : == Présentation == Ce projet consiste à utiliser un bras robotiser pour contrôler un PET commodore à distance)
 
(Analyse des signaux envoyés par le clavier (en cours))
 
(52 révisions intermédiaires par 6 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
== Présentation ==  
 
== Présentation ==  
  
Ce projet consiste à utiliser un bras robotiser pour contrôler un PET commodore à distance
+
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 ====
 +
* Un document qui répond à des questions utiles[http://www.zimmers.net/cbmpics/cbm/PETx/petfaq.html].
 +
* De nombreux programmes PET Commodore [http://www.david.zen.co.uk/technology/pet/].
 +
 
 +
=== 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 (FAIT) ===
 +
==== 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 M. Flamen
 +
 
 +
==== Réparation le retour ====
 +
La réparation a été fini avec M. 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 (FAIT) ====
 +
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 [http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/re/3008.gif  circuit du PET COMMODORE]
 +
 
 +
==== Récupération des infos envoyé par un clavier ps/2 (Abandonné pour raison Altium) ====
 +
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 (en cours de réalisation)====
 +
On doit réaliser un montage intermédiaire pour que les pins de la nanoboard et les pins du clavier puissent communiquer ensemble.
 +
 
 +
===== Isolation galvanique =====
 +
On recherche un type d'optocoupleur pouvant être utilisé pour le montage
 +
* [http://www.datasheetcatalog.org/datasheet/vishay/83654.pdf ILQ621] (semble correspondre à nos besoins)
 +
* [http://www.datasheetcatalog.org/datasheet2/3/06xwzy2a0zpw19hd057u5tp02uwy.pdf 6N140A]
 +
 
 +
===== Respect des tensions limites =====
 +
 
 +
==== 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) (fait)====
 +
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.
 +
 
 +
=== Conception d'un site WEB ===
 +
==== Architecture du site ====
 +
 
 +
==== Création du SGBD ====
 +
 
 +
==== Mise en place du serveur web ====
 +
 
 +
==== Mise en place de la webcam ====
 +
Utilisation de motion
 +
 
 +
==== Création des pages ====
 +
===== Page Type =====
 +
 
 +
===== Page Administration =====
 +
 
 +
===== Page Webcam =====
 +
 
 +
===== Page Contact =====
 +
 
 +
===== Page Archives =====

Version actuelle datée du 11 avril 2011 à 15:02

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

  • Un document qui répond à des questions utiles[1].
  • De nombreux programmes PET Commodore [2].

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 (FAIT)

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 M. Flamen

Réparation le retour

La réparation a été fini avec M. 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 (FAIT)

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 (Abandonné pour raison Altium)

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 (en cours de réalisation)

On doit réaliser un montage intermédiaire pour que les pins de la nanoboard et les pins du clavier puissent communiquer ensemble.

Isolation galvanique

On recherche un type d'optocoupleur pouvant être utilisé pour le montage

Respect des tensions limites

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) (fait)

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.

Conception d'un site WEB

Architecture du site

Création du SGBD

Mise en place du serveur web

Mise en place de la webcam

Utilisation de motion

Création des pages

Page Type
Page Administration
Page Webcam
Page Contact
Page Archives