Machines et personnalités : Remise en marche d'une Perforatrice IBM 29 (7/10 - année 2019)

Publié par ACONIT (Association pour un Conservatoire de l'Informatique et de la Télématique), le 17 septembre 2019   270

Xl img 9480 1

par Antoine Hébert et Nicolas Arnaise, bénévoles à l'ACONIT, mise en forme Xavier Hiron

(photo d'en-tête : Banc de deux perforatrices IBM de l'ACONIT en état de fonctionnement)

Contexte

L’association Aconit a relevé le défi en 1985 de la conservation et la valorisation de l’histoire de l’informatique. Elle dispose pour cela d’une des collections les plus complètes d’Europe avec plus de 4500 machines et environ 20 000 logiciels et documents. Elle couvre toutes les périodes de cette histoire, depuis l’ère pré-informatique, de la mécanographie des années 1940 jusqu’à la micro-informatique moderne des années 2000.

Une autre association, Expédition Mystère, a sollicité l'Aconit pour lui fournir des documents d’époque pour ses nouvelles Histoires à énigmes qu'elle diffuse par voie postale.

Les supports fournis par Aconit et destinés à recevoir des messages à décoder sont :

  • Du texte sur papier Listing, imprimé par une Letterwriter 100

  • Du ruban perforé, produit par un Teletype ASR33

  • Des cartes perforées, produites par une perforatrice IBM 29.

(Apparence générale de la perforatrice IBM 29 avant remise en état)

Un peu d'histoire

Les cartes perforées ont été le principal support de stockage de données utilisé à partir de la fin du XIXe siècle, et elles ont perduré jusque dans les années 1970. Elles ont été un support de transition entre les machines mécanographiques et l’informatique naissante.

La saisie des données sur les cartes était effectuée sur des machines dédiées appelées perforatrices. La société IBM, qui était le leader mondial des débuts de l’informatique, a produit au fil de ces années différents modèles de perforatrice. L’IBM 29, disponible en 9 modèles différents, est sortie en 1964 pour accompagner le lancement de l’ordinateur IBM S/360, qui rencontra un énorme succès pour l’époque.

L'Aconit dispose dans sa collection de plusieurs exemplaires de l’IBM 29. Le modèle choisi est la C22, Perforatrice Interpréteur de 64 caractères avec impression.

Fonctionnement

En condition d'utilisation normale, les cartes sont chargées dans le bac de droite. Une pression sur la touche « Alim » permet d’alimenter une carte au poste de perforation. La saisie est directe, une pression sur une touche alpha-numérique provoquant la perforation d’une colonne avec le codage associé.

A la fin de la saisie, une pression sur la touche « Lib » libère la carte et la transfère au poste de lecture. Une nouvelle carte est positionnée au poste de perforation. Les cartes qui sortent du poste de lecture sont happées par une pince et compilées par le dessous.

La machine dispose également d’un tambour de programme permettant d’effectuer automatiquement les opérations de duplication, saut de champ (ou tabulation) et alternance alphabétique/numérique.

Malheureusement, la machine sélectionnée par l'ACONIT n'était plus en état de marche.

(Le poste perforation ; la carte est automatiquement éjectée par le bas vers le poste de compilation)

Constat et remise en état

La technologie de la machine est entièrement électromécanique. Un unique moteur entraîne tous les mécanismes. On peut ventiler les composants électriques en trois catégories :

  • Les contacts mécaniques sont actionnés soit manuellement par l’utilisateur, soit par le mécanisme selon la position des arbres d’entraînement. Ils jouent le rôle de capteurs.

  • Les électroaimants (« Magnet » en anglais) enclenchent des embrayages ou bloquent des mécanismes. Ils jouent le rôle d’actionneurs.

  • Les relais, une fois reliés entre eux et aux deux autres catégories de composants, constituent la logique de contrôle. Ils permettent de contrôler l’électroaimant à activer selon l’état des contacts.

La perforatrice ne fonctionnait pas du tout lors de la prise en main. Elle ne répondait à aucune commande du clavier et le « Escape Magnet » produisait une vibration anormale. Après analyse, en étudiant le schéma électrique, nous avons déduit qu’il existait un pont électrique inapproprié entre deux parties du circuit. Après enquête, le coupable a été confondu : le relais « Card Lever » était défectueux car ses deux contacts, censément indépendants, étaient reliés. La machine est revenue à la vie en remplaçant ce relais.

A cette occasion, afin d'assurer une remise en marche pérenne, nous avons réalisé bien d’autres ajustements. Les contacts électriques, soumis aux "intempéries" depuis 50 ans, étaient oxydés et le courant ne passait plus très bien. Nous avons fait un large usage de papier de verre très fin et de nettoyant contact pour les rétablir.

(Liste des contacts traités : Card Feed, Circuit Breaker, Print Sense, Program Cam Contact, Interposer Bail Contacts, Latch Contacts)

Enfin, nous avons tenté d’améliorer la qualité d’impression en ajoutant un peu d’huile dans les aiguilles de la matrice, mais nous n’avons pas réussi à démonter complètement le bloc d’impression. Nous avons préféré sursoir plutôt que de risquer de le détériorer. Il faut dire aussi que l'ACONIT dispose de rubans encreurs neufs, dans leur emballage d'origine, mais datant de plusieurs dizaines d’années, ils ont eu le temps de sécher : un autre chantier en perspective !

(Etat de l'électromécanique au moment de l'ouverture du capot)

Intégration d'un boitier de contrôle

Pour connecter la perforatrice au monde moderne, nous avons construit un boîtier d’interface qui se connecte d’une part à la machine en différents points et d’autre part en port USB à un ordinateur. Le boîtier utilise différents composants. Pour la partie logique, un microcontrôleur Arduino contient un petit programme qui dit quel circuit de la machine actionner selon la fonction choisie. Pour la partie contrôle de puissance (la perforatrice fonctionnant en 48v Continu et l’Arduino en 5v), un ensemble de relais fait un shuntage entre deux points du circuit de la machine. Pour la connectivité USB, un simple convertisseur USB Serial <—> UART est utilisé.

Les circuits contrôlés sont les « Interposer Magnet » qui sélectionnent quelle ligne poinçonner, le « Punch Clutch Magnet » qui déclenche le cycle de poinçonnage, le « Release Relay » qui éjecte la carte une fois que le poinçonnage de toutes les colonnes désirées est effectif, et la « Multipunch Keystem », touche du clavier permettant de poinçonner des lignes de façon arbitraire sans utiliser le codage Alpha-numérique en vigueur.

Également, le boîtier est relié au circuit de lecture des cartes par un habile détournement du circuit original. Quand la fonction reproduction n’est pas utilisée par l’IBM 29, cette portion du circuit n’est pas alimentée en 48v (tension nominale). Les relais DUP 1, 2 et 3 sont alors inactifs. On alimente le boîtier en 5v pour le relier directement à l’Arduino. Le circuit est ensuite déconnecté de l’Arduino lorsque la fonction reproduction est à nouveau utilisée et les relais DUP 1, 2 et 3 redeviennent actifs (heureusement, sinon ça pourrait faire des étincelles !).

Pour les finitions, nous avons installé une prise de courant directement à l’intérieur de la machine pour brancher l’alimentation du boîtier de contrôle, ainsi que celle du PC auquel le boîtier est branché. Un trou a été percé sur le coté du clavier pour faire sortir la prise USB vers l’extérieur, par l'intermédiaire d'un cordon qui la relie au boîtier.

Et voilà le travail ! (voir la photo d'en-tête)


Pour aller plus loin :

Travaux menés entre Juin et Décembre 2018 par Antoine Hébert et Nicolas Arnaise, qui se sont basés sur un projet antérieur de Carl Claunch : GithubDémo

Documentation complémentaire : 

Reference Manual

Field Engineering Maintenance Manual

Field Engineering Theory Of Operation 

Illustrated Part Catalog

Voir l'article complet et illustré « Une Perforatrice IBM 29 USB : quand la technologie de 1960 rencontre l'informatique moderne » sur le site ACONIT.org (http://www.aconit.org/spip/spip.php?article630)


(si cette expérience vous a intéressé, vous pouvez contacter l'ACONIT pour participer à ses activités)