dimanche 28 avril 2024

POMME I moniteur version 1.4R0

J'ai recommencé à travailler sur le moniteur du pomme I en ajoutant des fonctions au moniteur. Il s'agit de la version 1.4R0 Dans cette version j'ai ajouter les commandes:

  • xxxxS nom nnnn permet de sauvegarder la plage mémoire débutant à l'adresse xxxx et de nnnn octets dans le fichier nom.
  • xxxxL nom permet de charger en mémoire RAM le fichier nom à l'adresse xxxx.
  • La touche rapide CTRL+D permet d'afficher la liste des fichiers.
  • xxxxZ nnnn permet de mettre à zéro une plage mémoire à partir de l'adresse xxxx et d'une taille de nnnn octets.

Vidéo de démonstration

vendredi 19 avril 2024

réparation d'une déchiqueteuse

Je viens de compléter la réparation d'une déchiqueteuse de marque STAPLES modèle SPL-TXC12A
  1. Approche du problème
  2. Reverse engineering
  3. Description du circuit
  4. Fonctionnement du TRIAC

Approche du problème

Après avoir ouvert le boitier et extrait le circuit imprimé il est apparut évident que le fusible était brulé. Il ne suffit pas de le remplacer, il faut se demander pourquoi il a brûlé? Même si on ne possède aucune information sur le circuit on peut figurer que la cause la plus probable est une déficience dans le circuit de puissance. Il y a 2 composants montés sur des dissipateurs de chaleur. Il faut donc chercher à identifier ces composants et vérifier si l'un d'eux ou les 2 ne serait pas la cause de la défectuosité.

Circuit imprimé, fusible F1 et TRIAC retiré. Le pont redresseur est monté sur le petit dissipateur de chaleur et le boitier orange est un relais.

J'ai d'abord porté mon attention sur le composant au format TO-220 monté sur le plus gros dissipateur de chaleur. Sur le circuit imprimé c'est inscrit in sur la broche de gauche, out sur la broche du centre et g sur la broche de droite. Je croyais qu'il s'agissait d'un régulateur de tension pour alimenter le circuit intégré. l'ohmètre indiquait un court circuit entre les broches in et out. Je l'ai donc retiré du circuit. L'indication ne me disait rien, je m'attendais à quelque chose comme 7805 pour un régulateur linéaire de 5 volt, mais ce n'était pas ça.

composant mystère

SanRex? T8E6?. Recherche dans l'internet, rien! pas de datasheet sur le site du fabriquant! Examen du circuit imprimé, je vois que ce composant est branché au neutre de l'alimentation 120 VAC à travers une résistance de puissance de 0,1 ohm qui arrive sur sa broche in et que sa broche out va sur une broche de l'autre composant de puissance monté sur un dissipateur de chaleur. Ce composant avec ces 4 broches ressemble à un pont redresseur que je me dis. Vérification de l'étiquette du moteur, c'est un moteur qui fonctionne à 120VDC. Ça fait du sens, le AC doit-être redressé pour alimenter le moteur et il faut contrôler sont alimentation et le composant que j'ai retiré ne peut-être qu'un TRIAC dans ce cas car il est monté du côté AC du pont redresseur et on utilise normalement un TRIAC pour contrôler une alimentation AC en puissance.
120V/60hertz convertie en DC

Je suis donc au prise avec un TRIAC inconnu que je dois remplacer. L'étiquette à l'arrière de la déchiqueteuse indique que l'appareil consomme 3 ampères. Le fusible est de 5 ampères. Donc un TRIAC capable de passer un courant 8 ampères (paramètre It(rms)) et d'un voltage de coupure répétif maximum (paramètre Vdrm) de 600VAC devrait faire l'affaire. Il me reste à vérifier comment est alimenté le gate du TRIAC. Reverse ingeneering du circuit. Je constate qu'il est alimenté directement par le micro-contrôleur HT46R47 par la broche GPIO PA5 à travers la résistance R4 de 200 ohm. J'ai trouvé le feuillet de spécification du microntrôleur dans l'internet et j'ai pu vérifier que les GPIOs peuvent sourcer un courant (paramètre Ioh) maximum de 10mA lorsque le MCU est alimenté à 5Volt. Donc il me fallait un TRIAC avec les paramètres suivants:

  • Vdrm (repetitive peak off state voltage) minimum de 400VAC pour avoir une marge de sécurité.
  • It(rms) (non repetitive on state current) minimum de 5 ampères pour avoir une marge de sécurité.
  • Igt (gate trigger current) maximum de 5mA pour avoir une marge fonctionnelle.
J'ai arrêté mon choix sur le BT127-600D.
  • Vdrm 600 volt
  • It(rms) 8A
  • Igt maximum 5mA
  • De plus le gate est conçu pour être branché directement à un microcontrôleur comme indiqué dans le feuillet de spécifications:
    This very sensitive gate "series D" triac is intended to be interfaced directly to microcontrollers, logic integrated circuits and other low power gate trigger circuits.
Composants commandé et reçus. Fusible et TRIAC installé appareil réparé.

Reverse engineering

Un coup parti je n'allais pas m'arrêter là. Comme le circuit imprimé est simple face qu'il y a peu de composants j'ai décidé de faire le reverse engineering du circuit.

Description du circuit

Il s'agit d'un appareil conçu pour l'Amérique du nord et fonctionne donc sur une alimentation secteur de 120VAC. Il y a 2 protections contre les accidents réalisées par les microswitch SW1 et SW2. La première (schredder on bin) coupe l'alimentation lorsque la déchiqueteuse est soulevée du bac de réception. La deuxième (emergency key) coupe l'alimention lorsque la clé rouge est retirée de sa fente.

Au point de vue électrique, il y a 2 protections:

  1. Le fusible F1 de 5 ampères a bien joué son rôle lorsque le TRIAC a flanché pour devenir court-circuit.
  2. Le fusible F2 est une protection contre la surchauffe du moteur et ouvre le circuit au cas ou il y a surchauffe. Le microcontrôleur mesure le courant qui passe à travers la résistance de 0,1 ohm et lorsque le TRIAC est commandé mais qu'aucun courant n'est détecté dans le circuit le MCU en détuit que F2 est possiblement ouvert et indique une surchauffe en allumant la LED over heat.

Il y a 2 opto-coupleurs.

  • Paper detection est installé en travers de la fente de réception des feuilles et informe le MCU qu'il faut démarrer le moteur. Tant qu'il y a détection de papier le moteur tourne.
  • bin full detection est installé au fond de l'unité de déchiquetage et lorsque le bac est plein la LED full s'allume.
    photo détecteur bac plein

Le relais avec contacts DPDT sert à inverser la rotation du moteur lorsque l'appareil et en mode REV. Cette fonction est ulitisée lorsqu'il y a bloquage de l'appareil et qu'on veut faire ressortir les feuilles bloquées.

L'alimentation du MCU est régulée par la zener diode ZD3. Une seule diode 1N4007redresse la tension AC, donc le redresseur fonctionne en demi-phase ce qui nécessite un bon filtrage assuré par plusieurs condensateurs. Il y a les 2 électrolytics E3 et E4 de 470µF/16V ainsi que les condensateurs céramiques montés en surface C5 et C6.

Le relais nécessite 24VDC pour contrôler sa bobine. Cette alimentation est fournie par les composants D5 diode redresseuse. E2 électrolytique de 220µF/35V et régulé par 2 zener en série ZD1 et ZD2.

La bobine du relais est contrôlée à travers le transistor Q3 de type PNP qui lui-même est contrôlé par le transistor Q1 de type NPN. C'est la sortie GPIO PA2 du MCU qui contrôle la base de Q1.

Le MCU possède 4 entrées de convertion analogique/numérique.

  • AN0 utilisée par l'optocoupleur qui détecte un bac plein.
  • AN1 mesure le courant à travers la résistance de 0,1 ohm. Le MCU allume la LED over heat s'il n'y pas de de courant.
  • AN2 pas utilisée.
  • AN3 utilisée par l'optocoupleur qui détecte la présence de feuille dans la fente.
  • Fonctionnement du TRIAC

    symbole du TRIAC

    Triac.svg
    Par Auteur inconnu — Source inconnue, Domaine public, Lien

    Les cadrants

    Triacquadrants.svg
    By <a href="//commons.wikimedia.org/wiki/User:Krishnavedala" title="User:Krishnavedala">Krishnavedala</a> - <span class="int-own-work" lang="en">Own work</span>, CC0, Lien

    Cette image nous montre la polarité du gate et de A2 par rapport à l'électrode A1, aussi nommée MT1. selon les différents modes d'opérations. Dans le cas de cette déchiqueteuse le TRIAC est utilisé dans les modes (cadrants) 2,3. Si on regarde la schématique on constate que le Vdd du MCU est connecté au neutre de l'alimentation secteur et que Vss est négatif par rapport au neutre. Bien que j'ai oublié de l'indiqué sur la schématique l'électrode du TRIAC du côté de la résistance est A1 et celle du côté de F2 est A2. Ceci est nécessaire pour que le MCU puisse contrôler le TRIAC car comme on le voie sur l'image dans les cadrants 2 et 3 G doit-être négatif par rapport à A1 pour faire entrer le TRIAC en conduction. Donc lorsque le MCU veut bloquer le TRIAC il met la GPIO PA5 à Vdd et lorsqu'il veut déclencher la conduction du TRIAC il envoie une impulsion négative sur la broche.

    Pour qu'un TRIAC demeure en conduction il faut qu'un courant minimum circule entre A1 et A2. Comme en courant alternatif le voltage repasse à zéro à toutes les demi-période il faut que le MCU envoie une impulsion sur le gate au début de chaque demi-cycle, c'est à dire 120 fois par seconde. Dans le but de synchroniser ces impulsions avec le fréquence du secteur la ligne est monitorée au point A par le MCU sur l'entrée PA4 à travers les résistances R10 et R11.