bandeau Aconit

Navigation : Réalisations ACONIT  >  Travaux sur les machines  >  Une Perforatrice IBM 029 USB


Pour nous écrire :


© 2002-2020 - Aconit

Une Perforatrice IBM 029 USB

La technologie de 1960 rencontre l’informatique moderne !


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 2000 machines, logiciels et documentations. 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.

    L’association peut fournir des services à d’autres associations ou entreprises. Dans ce cas la société Expédition Mystère fournit à ses clients des Histoires à énigmes par le biais d’objets étranges envoyés par voie postale.

Expédition Mystère a sollicité Aconit pour lui fournir des documents d’époque pour ses nouvelles histoires.
Ces supports fournis par Aconit sont

  • Du texte sur papier Listing, imprimé par une Letterwriter 100
  • Du ruban perforé, produit par un teletype ASR33
  • Des cartes perforées, produit par une perforatrice IBM 29

    Les cartes perforées ont été un support de stockage de données utilisées de la fin du XIXe siècle jusque dans les années 1970. Au début utilisées par les machines des ateliers de mécanographie, le support a continué a être utilisé par 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 alors le leader mondial de l’informatique a produit au fil de ces années différents modèles de perforatrice. Celle qui nous intéresse est l’IBM 029, sortie en 1964 pour accompagner le lancement de l’IBM S/360, série d’ordinateurs qui rencontra un énorme succès pour l’époque.

    Aconit dispose dans sa collection de plusieurs exemplaires de l’IBM 029. La machine était disponible en 9 modèles différents. Le modèle choisi est « C22, Perforatrice Interpréteur, 64 caractères, avec impression ».

Fonctionnement

    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 sont empilées par dessous.

    La machine dispose également d’un tambour de programme permettant d’effectuer les opérations suivante automatiquement :

  • Duplication
  • Saut de champs (équivalent à une tabulation dans un tableur)
  • Alternance alphabétique/numérique
Clavier
Vue générale

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. Il permettent de contrôler l’électroaimant à activer selon l’état des contacts.
Un relais IBM
Contact d’alimentation en carte
Logique de controle en relais

    La perforatrice ne fonctionnait pas lorsque nous l’avons 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 y avait un pont électrique qui n’avait pas sa place entre deux parties du circuit. Le coupable a été confondu ! Il s’agissait du relais « Card Lever » défectueux dont deux contacts, censément indépendants, étaient reliés. La machine est revenue à la vie en remplaçant ce relais.

    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
Contact de poinçonnage
"Latch contact" du clavier

    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 nous avons des rubans encreur neufs, mais ils sont dans leur emballage depuis plusieurs dizaines d’années et ont eu le temps de sécher : un autre chantier !

Matrice de la tête d’impression
Plaque d’encodage de la tête d’impression
Travail en cours

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 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é.

Carte de relais du boitier d’interface
Vue interieure du boitier de contrôle

    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 de toute les colonnes désirées a été fait 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 de reproduction n’est pas utilisée par l’IBM 29, cette portion du circuit n’est pas alimenté en 48v (tension nominale). Les relais DUP1,2 et 3 sont inactifs. On l’alimente alors en 5v pour le relier directement à l’Arduino. Le circuit est ensuite déconnecté de l’Arduino lorsque la fonction de reproduction est à nouveau utilisée, les relais DUP1,2 et 3 sont cette fois 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 boitier de contrôle ainsi que celle du PC auquel le boitier est branché.
Un trou est percé sur le coté du clavier pour faire sortir la prise USB sur l’extérieur avec un cordon pour la relier au boitier.

Dérivation de la prise de courant interne
Mise en place du boitier
Le boitier est relié à la machine

Et voilà le travail !

Produit final !

En détail

Liste du matériel :

  • Boîtier d’électricité
  • Arduino MEGA
  • Des fils de toutes les couleurs
  • Ftdi USB/UART
  • Diodes
  • Connecteur d’alimentation 12v mâle et femelle pour alimentation générale + alim arduino
  • Resistance 10K pour pull-down
  • 2x Connecteur DB-25 mâle et femelle
  • Shield de prototypage pour arduino
  • Plaque à trou pour support de diodes
  • Carte de relais x16
  • Barrette de Connecteur à pas standard 2,54 mm
  • Câble mini USB mâle/ USB mâle
  • Adaptateur mini USB femelle / USB Femelle (récupéré dans une imprimante)
  • Prise électrique + câble d’alimentation
  • Transfo 220v AC -> 12v DC
Liste des connexion pour la fonction Punch
Fonction sur la machineRepère de la connexionNo du pin sur la prise DB-25No du relais utiliséNo de la pin Arduino
Punch 12 A06B 12 12 25 out
Punch 11 A06C 11 11 24 out
Punch 0 A06D 10 10 23 out
Punch 1 A06E 9 1 22 out
Punch 2 A06F 8 2 52 out
Punch 3 A06G 7 3 53 out
Punch 4 A06H 6 4 50 out
Punch 5 A06J 5 5 51 out
Punch 6 A06K 4 6 48 out
Punch 7 A06L 3 7 49 out
Punch 8 A06M 2 8 46 out
Punch 9 A06N 1 9 47 out
Punch Space A06A 13 13 26 out
Punch Commun A03B 15 (1->13) N/A
Vcc 48V A08E 20 14 N/A
Masse A03R 24 Diodes anti-arc N/A
Multipunch Keystem (in) A03L 18 15 28 out
Multipunch Keystem (out) A03M 19 15
Card Registered (in) N/A 16 N/A 5V
Card Registered (out) N/A 17 N/A 44 in
Cable check (in) N/A 23 N/A 42 out
Cable check (out) N/A 25 N/A 43 in
Punch Clutch A06R 21 16 29 out
Release A02R 14 14 27 out
Liste des connexions pour la fonction Read
Fonction sur la machineContact de relais utiliséNo du pin sur la prise DB-25No de la pin Arduino
Sense 12 DUP3 N/C 1 1 2 in
Sense 11 DUP3 N/C 2 2 3 in
Sense 0 DUP3 N/C 3 3 4 in
Sense 1 DUP3 N/C 4 4 5 in
Sense 2 DUP3 N/C 5 5 6 in
Sense 3 DUP3 N/C 6 6 7 in
Sense 4 DUP3 N/C 7 7 8 in
Sense 5 DUP3 N/C 8 8 9 in
Sense 6 DUP3 N/C 9 9 10 in
Sense 7 DUP3 N/C 10 10 11 in
Sense 8 DUP3 N/C 11 11 12 in
Sense 9 DUP3 N/C 12 12 13 in
Sense Common DUP1 N/C 5 13 5v
Cable Check (in) N/A 19 36 out
Cable Check (out) N/A 21 39 in
Liste des connexions entre le FTDI et l’arduino
Pin du FTDI (uart/rs232)No de la pin Arduino
Masse Masse
Vcc 5V
DTR N/A
Rx 16 Tx
Tx 17 Rx
CTS 35 RTS
RTS 32 CTS
Travaux menés entre Juin et Décembre 2018 par Antoine Hébert et Nicolas Arnaise.

Ils sont basés sur le projet de Carl Claunch : Github,Démo

Documentations :
Reference Manual
Field Engineering Maintenance Manual
Field Engineering Theory Of Operation
Illustrated Part Catalog
IBM Wire Relays

Liens Recommandés :
Fiche de la machine dans la base de donnée
Repairing a 1960s-era IBM keypunch par Ken Shirrif
Punched Card Typography
Punched Card Typography, Part 2
IBM 029 Card Punch Restoration par Marc Verdiell

Première publication :
Mise en ligne le mercredi 30 janvier 2019

Article écrit par :
Antoine Hébert



Haut de page | Accueil | Plan du site | Mentions légales | Administration ?