Monorailcat

Canon Pixma MX700 : Alimentation

icon 05/09/2015 - 1 comment

Cette imprimante a une alimentation 100-240v → 24V 0.5A et 32V 0.85A, modèle K30290.
Canon Pixma PSU

Seulement elle ne fonctionne pas sans que la carte système de l'imprimante ne lui renvoie pas de signal d'activation.

En regardant, on identifie le brochage :
  1. 32V
  2. GND
  3. 24V
  4. GND
  5.  ENABLE

Si le signal enable est en l'air ou à 0V, l'alimentation est en mode "sleep", et les rails 32V et 25V sont respectivement à 10V et 7.5V.

Par contre le signal Enable doit recevoir une tension d'environ 3V pour l'activation, sur la base du transistor NPN Q5 qui rajoute R26 en parallèle de R24 sur le réseau de feedback de l'alimentation.
Il serait possible de relier le signal Enable à une sortie de l'alim en changeant la résistance R27, mais le plus simple est de dessouder R27 et de court-circuiter le collecteur et l'émetteur de Q5.
Canon Pixma PSU hack

La plus grosse difficulté est d'ouvrir le boitier en plastique clipsé.
Il n'y a pas de solution idéale : ça s'ouvre en forçant avec un tournevis plat, et en cassant quelques clips.
Canon Pixma PSU clips

icon Tags de l'article : , ,

Afficheurs à LEDs

icon 22/12/2014 - No comments

Récupération
J'ai récupéré un équipement de laboratoire fabriqué par Sofraser avec un module d'interface pour des capteurs de viscosité et deux modules de contrôle et d'affichage. Cet équipement est trop ancien et la documentation n'est plus disponible sur le site web du constructeur, mais il est possible d'en récupérer des pièces.

Tests et mesures
Les modules de contrôle et d'affichage sont formés de 3 cartes emboitées :
  • Carte d'alimentation (transfo, régulateurs de tension), d'interfaces analogiques (comparateurs et amplis) et d'actionneurs (sorties à relais)
  • Carte à MCU (Intel 8031, EPROM, SRAM, NV-SRAM)
  • Carte d'affichage (afficheurs 7 segments, LEDs, boutons, drivers NPN et registre à décalage UCN5812AF d'Allegro)
Sofraser 6001 power-analog, digital-MCU and display boards

Reverse Engineering Hardware
En fonctionnement normal, sans capteurs branchés, l'afficheur affiche quelque chose sur chaque afficheur.
Sofraser 6001 Display
Comme l'afficheur fonctionne, on peut mesurer les tensions d'alimentations et vérifier rapidement l'allure des signaux au voltmètre.

Pour identifier la suite, il faut débrancher l'afficheur, sortir la datasheet du registre à décalage et tester à l'Ohm-mètre.

Ce qui nous donne le pinout du connecteur :
  1. VDD (Power, 3~60V), il est peu probable que les transistors apprécient plus de 15V
  2.  ?
  3. ?
  4.  Blank/Strobe
  5.  VDD (Logic, 3~15V), à adapter aux niveaux des signaux
  6. SW2
  7. CLK
  8. SW1
  9. SDIN
  10. SW3
  11.  GND
  12. SW4
Les pins en vert sont connectés directement au registre à décalage et acceptent des signaux TTL et LV-TTL.
Comme on a un registre à décalage, on peut être tenté d'utiliser un périphérique SPI, sauf que ceux des AVR et des MSP430 sont incapables de sortir des mots de 20bits... Il faudra faire du bit-bang en software.

En regardant la datasheet, on observe que les signaux SDIN et CLK permettent de charger le registre à décalage. Ensuite le signal Strobe permet d'activer le latch et le signal Blank permet d'activer le buffer.
Sur ces cartes, les signaux Strobe et Blank sont reliés. Ainsi on économise un fil.
UCN5812AF register schematics

Reverse Engineering Software
En balayant le registre, on peut se rendre compte de l'adresse de chaque afficheur, segment et LED.
display schematic

Afficheurs :
  1. 0x002000
  2. 0x001000
  3. 0x000800
  4. 0x000400
  5. 0x080000
  6. 0x040000
  7. 0x020000
  8. 0x010000
  9. 0x004000
LEDs :
  1. 0x008004
  2. 0x008020
  3. 0x008040
  4. 0x008080
  5. 0x008100
  6. 0x008200

On remarque aussi que tout est câblé ensemble. On peut choisir d'allumer les segments et les digits un par un, mais pas indépendamment (il est possible d'afficher " 1 1", mais pas "1234").
Pour afficher autre chose, il faut utiliser la persistance rétinienne et balayer chaque valeur par digit.

On peut associer les segments aux nombres et lettres que l'on va afficher :
  • 0 - 0x3F0
  • 1 - 0x180
  • 2 - 0x368
  • 3 - 0x3C8
  •  4 - 0x198
  •  5 - 0x2D8
  • 6 - 0x2F8
  • 7 - 0x380
  • 8 - 0x3F8
  • 9 - 0x398
  • A - 0x3B8
  • b - 0x0F8
  • C - 0x270
  • d - 0x1E8
  • E - 0x278
  • F - 0x238
  • . - 0x004

Le programme est bêtement formé de LUTs (afficheur, LED et digits) et de boucles (SPI bit-banging et selection de l'afficheur/LED).
LED display first try


Chaînage
Le pin 2 est une sortie du registre à décalage et n'est pas câblée, mais il est possible de chaîner plusieurs afficheurs, seule la "longueur" du mot est doublée (40bits).
chaining LED displays


Références

icon Tags de l'article : ,