Monorailcat

Écran LCD HP L1706 : Réparation

icon 2016-03-27 - No comments

Écran
En général, il est assez facile de récupérer des écrans bas de gamme agés de 5 à 10 ans. Pour la majorité, le rétro-éclairage de l'écran clignote, puis finit par s'éteindre. En général, ce problème est dû à la faible durée de vie de certaines capacités (souvent sous-dimensionnées en ESR, en courant et en température). Parfois, les diodes de redressement s'abiment du fait des pics de courant non-absorbés par les capas usées. Mais en général, une réparation coûte moins de 5EUR.

Sur cet écran (plutôt milieu de gamme), le fusible côté secteur était fondu et les capacités du côté secondaire étaient en bon état.

/!\ Danger
Des tensions dangereuses sont présentes sur la carte d'alimentation, ne rien toucher sans l'avoir débranchée et déchargé la capacité primaire.
/!\ Warning
Dangerous voltages are present on the power board, do not touch it until it is unplugged and its primary capacitor is discharged.

Panne
Sur ces écran, seulement la carte d'alimentation (modèle 715G1502, fabriquée par AOC) est défectueuse, la dalle et la carte gérant l'affichage sont encore fonctionnelles.

En regardant la carte d'alimentation, la capacité qui lisse la tension du secteur (C905) fuit légèrement, et le mosfet de découpage (Q903) a l'air d'avoir bien chauffé.
Faulty 715G1502 power board, primary side
En sortant le multimètre, la capa de lissage n'est pas en court-circuit et n'a pas de résistance de fuite trop faible, par contre le mosfet de découpage est en court-circuit.

Après remplacement par un MOS équivalent, l'écran s'allume, mais le transformateur couine par intermittances à 100Hz, et le mosfet est brûlant (>100°C au toucher).
Mon voltmètre affiche "Hors-Calibre" quand je mesure la tension hachée au primaire du transformateur flyback (AC) et sur la capacité de lissage (DC).
Avec un autre voltmètre (2kV max), je mesure entre 500V et 800V DC et 200V AC aux bornes de la capacité C905, et du coup je n'ose pas mesurer au primaire du transfo...

Réparation
Cette carte converti la tension du secteur en +5V et +12V, permanents, avec un convertisseur flyback. Un deuxième convertisseur (activé uniquement quand l'écran fonctionne) convertit le +12V en 800V~2kV pour les tubes CCFL du rétroéclairage.
Comme la partie primaire ne fonctionne pas, et que le secondaire a des diodes de redressement fonctionnelles, on peut alimenter les sorties +5V et +12V directement, tant que le primaire n'est pas branché.

La première réparation rapide a concisté à brancher directement une alimentation de PC (connecteur Molex 8981) sur les pistes du +12V (Cathode de D902) et +5V (Cathode de D904). Ça fonctionne, mais l'encombrement des connecteurs et les câbles empêchent de fermer la coque de l'écran et d'éloigner l'écran de l'alimentation.
Temporarly fixed 715G1502 power board

La réparation définitive conciste à scier le primaire et le secondaire de l'alimentation (seule la partie "inverter" pour le rétroéclairage CCFL est gardée).
On ajoute un régulateur à découpage 12V -> 5V à base de LM2576 et une banque de capacités de découplage pour les rails 5V et 12V.
Le rail 12V est fourni par une alimentation externe (12V, >3A), via un connecteur "barrel" (DIN 45323 5-2mm ou IEC 60130-10 type A).
LM2576 quick fix

Le câblage du connecteur CN902 est identifiable :
CN902

Fixed 715G1502 power board
Il faut bien isoler la carte d'alimentation 12-5V, et utiliser du scotch isolant pour fixer la carte et les câbles.


Le seul défaut vient de la résistance DC du câble et du connecteur, qui fait légèrement chauffer le câble et le connecteur).
Fixed L1706 monitor

Références

icon Tags de l'article : , ,

Compaq Contura 4/25 : Hardware

icon 2016-03-22 - No comments

Carte mère
La carte mère est assez compacte, même pour les standards de 2016, et a un nombre impressionant de vias (dont des vias borgnes) et a probablement plus de 6 couches.
Compaq Contura Motherboard multiple vias
En comparaison avec les cartes mères de PC de bureau, il y a très peu de ports d'extension, et donc peu de place utilisée par des buffers et des connecteurs. Il y a aussi beaucoup d'ASICs custom, pour remplacer une partie de la glue logique (les cartes mères de 486 sont habituellement pleines de puces TTL 74xx).

Connecteurs
Compaq Contura Motherboard top side
  • J1 : Clavier (Ribbon 12 pins)
  • J2 : Clavier (Ribbon 14 pins)
  • J3 : VGA externe (DB15-HD)
  • J4 : Pavé numérique externe (Jack 2.5mm)
  • J5 : Écran/inverter "INVERTER BOARD" (ribbon 40 pins)
  • J6 : Clavier/Souris externe (PS/2, mini-DIN)
  • J7 : Extension modem/port série (2*25 contacts board-to-edge)
  • J8 : Extension mémoire DRAM (2*40 pins 0.05")
  • J9 : Port parallèle externe (DB25)
  • J10 : LEDs et boutons, "INTERCONNECT BOARD" (2*6 pins 0.1")
  • J11 : Pile horloge RTC? (2 pins)
  • J12 : Port Série RS232 (DB9)
  • J13 : Lecteur de disquette (Ribbon)
  • J14 : Alimentation "DC-DC CONVERTER" (2*10 pins 0.1")
  • J500 : Disque dur ATA/IDE (44 pins, 2mm)

Circuits intégrés
Face dessus :

Compaq Contura Motherboard bottom side
Face dessous :

Autres
  • Y1 : Oscillateur TCXO, 16.000MHz (clavier? bus ISA?)
  • Y2 : Oscillateur TCXO, 24.000MHz (PLL?)
  • Y3 : Oscillateur TCXO, 32.768kHz (Horloge RTC)
  • SPK1 : Buzzer Intervox BST1811P-06

Écran
La nappe J5 est reliée à une carte inverter, placée sous l'écran. Les signaux de données de l'écran DSTN (deux mots de 4 bits, Hsync, Vsync et DotCLK) sont reliés directement de la carte mère à l'écran. La carte contient une alimentation boost (LTC1172) suivie d'un régulateur LDO (LM337) pour alimenter l'écran LCD avec une tension d'environ -20V. Le reste de la carte est utilisé pour un onduleur résonant qui alimente le néon à cathode froide (CCFL) de l'écran (600~1'200V).
Les deux potentiomètres permettent de régler la luminosité (tension d'alimentation du néon), et le contraste (tension de bias de l'écran LCD).
Compaq Contura inverter

Le brochage du connecteur de l'écran a été identifié en suivant les pistes de signaux et en mesurant les tensions moyennes/pic :
  1. FLM (Vsync)
  2. CP1 (Hsync)
  3. CP2 (Dot CLK)
  4. Vdd (5V)
  5. GND
  6. V- (-21.5V)
  7. DU0
  8. DU1
  9. DU2
  10. DU3
  11. DL0
  12. DL1
  13. DL2
  14. DL3

Modifications
La batterie d'origine a été remplacée par une CR2032, plus courant, en changeant le support, mais elle aurait pu être remplacée en utilisant le connecteur J11.

Références

icon Tags de l'article : , , , ,

Lecteur DVD Schneider SDV 436

icon 2016-03-06 - No comments

Hardware
C'est un lecteur de DVD de salon vendu entre 2005 et 2007. Il date du moment où les lecteurs DVD ont commencé à bien supporter les DivX et sont devenus vraiment cheap.

Ce lecteur a plusieurs clones ou modèles très proches : Magnavox/Philips/Schneider MDV435, MDV437, SDV436, et probablement d'autres.

Celui-ci a 3 circuits imprimés :
  • une alimentation à découpage +3.3V, +5V, +12V, -12V et -24V (15W)
  • un panneau d'interface utilisateur : Contrôleur PT6312 (équivalent µPD16312), afficheur VFD, boutons, LED, capteur IR
  • une carte mère avec un SoC SunPlus SPHE8281D (ou SPHE8201D), un driver de puissance pour le lecteur CD (Moteurs brushless + DC), des régulateurs de tension, de la SDRAM et deux puces EEPROM (firmware + réglages sauvegardés)

Il y a plusieurs connecteurs et composants non-installés sur la carte-mère (P/N : 40-MDV435-MAC2G). le manuel de réparation indique que ce sont des connecteurs de debug (probablement RS-232), un micro/ampli pour un mode karaoké et un connecteur USB pour lire des fichiers depuis un disque dur externe. Par contre, il n'y a aucun connecteur JTAG.

Le problème, c'est que sur ce SoC, les pins de l'UART sont partagés avec la synchro horizontale/verticale, et ne sortent pas grand chose qui ressemble à un signal série.

Pour avoir de la place, j'ai démonté le bloc du lecteur DVD, sans lequel la carte-mère est incapable de démarrer. Mais il est possible de la leurrer en reliant le pin TRAYI à la masse, sur le connecteur CN?.

Dézonage
Ce modèle a été vendu en Europe et ne lit que les DVDs de Region 2.

Region setting on MDV435/SDV436 DVD players

Le dézonage est assez rapide et se fait de la même façon sur d'autres modèles Philips/Magnavox/Schneider :
  • Démarrage du lecteur DVD,
  • Ouverture du tiroir,
  • 4 appuis successifs sur la touche 7 de la télécommande (7-7-7-7),
  • Selection du champ REGION sur le menu affiché,
  • Choix de l'option REGION 0,
  • Fermeture du tiroir.

Software
La recherche d'un firmware n'a rien donné. Ce qui est assez dommage, puisque même le firmware d'origine aurait permis de comprendre son fonctionnement.

Utilisation de l'écran VFD
La carte d'interface utilisateur a besoin d'alimentation +12V, -24V (afficheur VFD) et d'une interface SPI (connectée à l'ASIC PT6312) pour afficher des caractères.
hooking a microcontroller board to the VFD controller

D'après la documentation de la puce, il faut plusieurs commandes d'initialisation, puis balayer la mémoire avec les positions des segments (chaque digit est séparé en deux blocs de 7 segments).
uPD16312/PT6312 vfd driver

Références

icon Tags de l'article : ,

Lampe Ikea Antifoni

icon 2016-01-23 - No comments

J'avais une lampe de bureau articulée (pantographe) assez pratique pour éclairer une petite pièce, par contre elle a beaucoup de défauts de conception...

  • Transformateur fragile, encombrant, bruyant et probablement peu efficace,
  • La structure (laiton/acier) sert de conducteur, et est pleine de faux contacts après quelques années (oxydation aux articulations),
  • Les articulations sont souvent grippées (oxydation, absence de graissage à cause du contact électrique),
  • La lampe a une durée de vie faible (~1 an) avec une structure pleine de faux contacts,
  • Il est possible de court-circuiter la lampe en touchant une pièce métallique avec les deux côtés de l'armature...

Après quelques dégâts, j'ai eu plusieurs corrections :
  • Remplacement du transfo par une alimentation à découpage (tension réglable de 5V à 12V et limite de courant à 3A),
  • Nettoyage des articulations à plusieurs reprises, peu efficace,
  • Démontage de la barre de guidage du spot,
  • Remplacement de la structure conductrice par un câble,
  • Remplacement de la lampe 12V/35W par une LED 1W (moins lumineuse, mais probablement plus durable),

Câblage
Ikea antifoni wiring

Le câble d'origine est réutilisé et accroché le long de la structure.


Driver de LED
simple current source for LEDs
On utilise un transistor et un montage pour générer un courant constant à travers la LED.
On peut ajuster le courant dans la LED en fonction de la résistance Rs, avec Rs = V_F / I_led . Dans mon cas, j'ai utilisé un transistor Darlington (Vbe = ~1.3V), je devrais donc utiliser 3 diodes en série pour que la tension à l'émetteur du transistor soit de Vf (~0.7V).

Et dans ce cas, j'impose un courant de 300~350mA dans la LED, soit I_led = Vf / Rs = 318mA.

cheap 300mA current source
Sur cette photo, on voit une des diodes oubliées (de ce fait, la LED est traversée par 10mA, et n'est pas très lumineuse).

J'ai rajouté une diode en série avec tout le montage pour éviter les inversions de polarité (le socket est symétrique).

Références

icon Tags de l'article : ,

Asservissement

icon 2015-12-24 - No comments

Le principe d'un asservissement est d'utiliser un capteur pour contrôler un actionneur.
Si le capteur est fiable et qu'on reste dans les limites de l'actionneur, il est possible de le contrôler précisément, même avec des perturbations (tension d'alimentation, frottements, contraintes mécaniques...).
L'asservissement d'un système ne va pas augmenter ses performances, au contraire, il faut disposer de "marge" pour qu'un asservissement soit efficace.
Global schematics servo controlled system

Ici, j'ai utilisé un moteur/réducteur d'imprimante Canon Pixma, avec un disque/encodeur optique (QEI) de 720pas/tour. (résolution de 150LPI).
Le codeur optique est branché sur les entrées d'interruption d'une carte Arduino Uno (qui permet de coder vite et mal...), et une / commande le moteur, alimenté en 12V.
servomechanism setup

Asservissement numérique
Plutôt que d'asservir avec un système analogique, on acquiert les capteurs et commande l'actionneur à intervalles fixes. Le système est en boucle ouverte entre ces instants. L'approximation d'un système discret équivalent à un système continu n'est vallable que pour une constante de temps grande devant la période d'asservissement (10ms).

Asservissement en position
ErreurPosition = ConsignePosition - MesurePosition;
Commande = PPosition*ErreurPosition;


Sur la courbe et sur la video, on peut voir qu'on donne au système la consigne de faire un déplacement, puis un déplacement en frottant sur le moteur, ensuite on force sur l'arbre du moteur immobile.

Position servo control

Avec un tel système, on a une erreur statique (0.4%), des dépassements (4.3%) et un courant énorme (400mA au démarrage, 1.2A en forçant, pour un moteur spécifié à ~250mA). Par contre le temps de réponse est très faible (320ms).

Un système PID bien réglé permet de réduire les dépassements et de réduire l'erreur statique, mais le temps de montée dépend toujours des contraintes exterieures.

Asservissement en vitesse
Comme on ne dispose pas de capteur de vitesse mais d'un capteur de position, sa dérivée va nous donner la vitesse moyenne avec un retard d'une demi-période.
EstimationVitesse = MesurePosition - AnciennePosition;
AnciennePosition = MesurePosition;
ErreurVitesse = ConsigneVitesse - EstimationVitesse;
Commande = PVitesse*ErreurVitesse;


Pour éviter les dépassements, on va commander le moteur en vitesse plutôt qu'en puissance. Un contrôleur PI permet d'avoir une erreur statique faible sur la vitesse, et donc aussi sur la position.
Position and velocity servo control
Une grande partie du déplacement s'effectue à vitesse constante. Mais le courant reste très élevé pendant l'accélération.
On a réduit l'erreur statique (0.13%), les dépassements (1.67%) et même le courant au démarrage (200mA). Par contre on a légèrement ralenti le système (400ms) et le courant est toujours trop élevé en forçant sur l'arbre (425mA).
Pour éviter d'avoir une mesure de vitesse aussi peu précise, il faudrait diminuer la fréquence de l'asservissement, ou utiliser un capteur avec une résolution plus fine.

Asservissement en couple
Ici, on ne dispose pas de dynamomètre, mais les cartes de puissance ont un retour sur le courant consommé. Comme ce signal est assez bruité (offset + bruit de commutation du moteur), il a été filtré avec un filtre passif (RC à 16Hz) et un filtre numérique à 50Hz.
Position, velocity and torque servo control
On ralentit encore le système (440ms) et on n'a pas réduit l'erreur statique et les overshots, mais le courant est contrôlé (overshoot à 145mA en début d'accélération et 240mA quand le rotor est bloqué).


Intégrateur
Les intégrateurs intègrent l'erreur. Cela veut dire que la correction augmente de plus en plus jusqu'à ce que l'erreur statique du système soit compensée. Seulement la correction varie lentement (une correction proportionnelle est quasi instantannée), ce qui rend les dépassements quasi obligatoires.
Pour éviter cela, le plus courant est d'avoir un intégrateur avec un faible gain et une période d'intégration relativement rapide (<50 fois plus lent que la boucle d'asservissement).
Le problème c'est qu'un intégrateur peut diverger et tendre vers l'infini. Une bonne pratique est de borner son entrée et sa sortie (à la manière des intégrateurs analogiques qui saturent).

Réglages
Le système se régle du plus petit en plus grand.
On commande par la boucle de courant avec une valeur fixe, en réglant ses gains et son temps d'intégration pour avoir un faible écart statique et peu de dépassements. Il faut perturber le système manuellement pour vérifier la correction. Il est utile de borner la vitesse pour contrôler un minimum le moteur.

La boucle de vitesse va directement commander la boucle de courant, et est réglée de la même façon.

En dernier, la boucle de position va commander la boucle de vitesse.

Il faut tout faire pour éviter d'avoir un système qui oscille (même si ce n'est qu'un couinement à la fréquence d'asservissement).

Tips and tricks
La seule ruse restante permet d'avoir un écart statique rapidement compensé (avec un gain assez élevé) sans risquer des instabilités.
Il suffit de réduire la valeur de saturation au voisinage de la consigne, et donc de limiter l'action de l'intégrateur.

Une technique souvent utilisée est de compenser une action externe (typiquement le poids d'un objet "monté" par un actionneur linéaire) directement dans la boucle. Même une compensation partielle suffit à "aider" l'asservissement.

Une autre méthode est de faire varier les coefficients (P, I, D, saturations) en fonction du système : montée/descente, tension des batteries, masse (pas forcément constante si on attrape des objets).

Les problèmes les plus gênants viennent de la précision des capteurs ("sauts" sur des potentiomètres), mais surtout de problèmes mécaniques (jeu dans les engrenages, courroies élastiques, frottements non-constants, glissement de courroies/roues). Le plus grand risque est d'avoir un système oscillant.

Update (07.2016) :
Graphes HTML + JS

icon Tags de l'article : ,

Cartes Moteur DC

icon 2015-12-23 - No comments

Depuis que je suis à Galiléo, on utilise couramment des moteurs à courant-continu.

Comme les besoins sont toujours à peu près les mêmes :
  • Tension : 12V à 36V
  • Courant : <3A max
  • Commande : PWM et Direction
  • Puce résistante (limite de courant, protection thermique, boitier large)

Les ponts en H LMD18200 et LMD18201 de National Semiconductors/Texas Instruments supportent tous ces points et le LMD18200 rajoute une mesure de courant.

Ce chip a été utilisé par Galiléo depuis au moins 2005 avec diverses cartes.

La dernière version avait été conçue par la Oufff'Team. Plutôt que de commander les mêmes, j'ai refait le routage en utilisant des composants en boitiers SMD 1206 ou traversants (empreintes communes). Il a aussi été possible d'avoir un routage simple face (seulement les composants facultatifs sont sur la face top).

Schéma
DC motor driver
La carte a un filtre CEM assez surdimensionné, un buffer pour le retour de courant et le schéma du LMD18200 issu de sa datasheet.
Il est possible de sous-dimensionner le filtre CEM si la carte ne risque pas de polluer les cartes environnantes et de shunter le buffer de retour de courant par R21 (voir de le supprimer si on utilise un LMD18201).

Routage
Top :
DC motor driver PCB top
Si le buffer de courant n'est pas utilisé, il est possible de se passer de la couche top en n'oubliant pas le strap entre les pattes du LMD18200.
Le plan de masse de la couche top est isolé de la masse de l'alimentation (relié par des capacités) et est à relier à la masse mécanique du montage dans lequel est utilisée cette carte.

Bottom :
DC motor driver PCB bottom
Le plan de masse est relié à l'alimentation par un filtre LC, pour éviter de transmettre le bruit du hachage à l'alimentation.

PCB assemblé :
DC motor driver PCB full
Le schéma a tous les composants possibles, mais il est possible d'adapter certains composants à l'utilisation de la carte.

Utilisation
Le connecteur Molex a le brochage suivant :
  1. GND
  2. PWM (Activation)
  3. DIR (Direction)
  4. Sense (Retour de courant)

Le signal + de l'alimentation est à câbler sur le connecteur "24V" du côté extérieur à la carte.

DC motor driver assembled

DC motor driver assembled
Sur cette carte, le polyswitch/fusible et le retour de courant ne sont pas câblés, et le filtrage de l'alimentation est réduit (~500µF, pas d'inductances ni de résistances d'ammortissement).

Références

icon Tags de l'article : , ,

Hub USB Silvercrest 2040X

icon 2015-12-10 - No comments

Ce hub est fabriqué par Targa et vendu par Lidl.

Après avoir été utilisé, il est détecté aléatoirement par le pc, et sa LED s'éclaire faiblement. Dès qu'on y branche un périphérique USB, sa LED s'éteint et il ne fonctionne plus, ce qui présuppose un problème d'alimentation.

L'alimentation provenant du port USB est filtrée par une inductance de choke et une capacité, avec ensuite un régulateur LDO pour alimenter le hub en 3.3V.
silvercrest hub with shorted inductor

L'inductance LB1 est légèrement gondolée et à une résistance série de 2.4kΩ, ce qui la rend inutilisable. Il est possible qu'elle ait chauffée en consommant trop de courant sur le hub (qui n'a aucun polyfuse ni protection).

inductor shorting
Une réparation sommaire conciste à remplacer l'inductance LB1 par un fil.

icon Tags de l'article : ,

Canon Pixma MX700 : Lecteur de cartes SD/CF

icon 2015-10-19 - No comments

Cette imprimante a un lecteur de cartes SD et Compact Flash sur une carte séparée (réf. QK1-3752-03, QM3-2812).

vue de la carte
vue de la carte


Identification

La carte utilise 3 puces : deux puces qui ressemblent à des régulateurs LDO, mais sans documentation vallable (marquages illisibles ou références introuvables), et le chip Genesys Logic GL819SA111 en boitier TQFP.

D'après le pinout de la puce, et un Ohmmètre, on en déduit une partie du brochage du connecteur :
  1. Vdd (3.3V)
  2. USB D-
  3. USB D+
  4. GND
  5. ?
  6. ?
  7. ?
  8. GND

En identifiant le connecteur de la carte mère de l'imprimante à l'Ohmmètre et au Voltmètre, on arrive à identifier quelques autres pins :
  1. Vdd (3.3V)
  2. USB D-
  3. USB D+
  4. GND
  5. +3.3V
  6. Pin tiré à Vdd via un pullup de 15kΩ, à forcer à GND pour activer la puce.
  7. +5V
  8. GND

Câblage

Une fois les pins identifiés au connecteur USB et sur la carte, il ne reste plus qu'a tout souder.
USB pinouts board side
USB pinouts bottom side

Comme le +3.3V n'est pas disponible sur un port USB, et que la puce accepte une tension de 2.7V à 3.6V (idem pour les cartes SD), il est possible de relier le +5V à Vdd avec 3 diodes Si en série (les 1N400x conviennent et donnent une chute de tension proche de 0.65V en charge et à vide).

câblage connecteur USB


Par contre, la carte fonctionne en USB2.0 Hi-Speed, il faut donc un câble USB relativement propre (paire torsadée 90Ω).
En pratique, un câble sale (fils volants) fonctionne seulement si les fils sont de mêmes longueur (±5%) et courts (<50mm), La qualité des soudures peut aussi poser des problèmes.


Tests
En le branchant sur un PC (Linux), on peut avoir les messages d'erreur suivants (affichables avec la commande dmesg) :

usb 1-1.1.2: new high-speed USB device number n using ehci-pci, avec n bouclant entre 0 et 127.
Cette erreur arrive lorsque le câble est trop "sale" pour communiquer en mode high-speed.

usb 1-1.1.2: device descriptor read/64, error -n
usb 1-1.1-port2: Cannot enable. Maybe the USB cable is bad?
usb 1-1.1-port2: unable to enumerate USB device

Ces erreurs arrivent typiquement lorsque les pins D+ et D- sont échangés.

usb 1-1.1.2: reset high-speed USB device number 19 using ehci-pci
Si ces resets arrivent fréquemment, il est possible que l'alimentation de la puce ne fournisse pas assez de courant ou soit mal découplée.
Ils peuvent aussi arriver si le câble USB est trop long et non-torsadé/blindé.

Si aucun message n'apparaît lorsque la carte ou même un autre périphérique USB est branché sur ce port, c'est parce que les ports sont individuellement désactivés lorsqu'ils ont généré trop d'erreurs. Il est nécessaire de recharger les modules le gérant (ehci-hcd et ehci-pci sur ma machine)

Lorsque tout est fonctionnel, le noyau doit renvoyer :
usb 1-1.1.2: new high-speed USB device number 8 using ehci-pci
usb 1-1.1.2: New USB device found, idVendor=05e3, idProduct=070e
usb 1-1.1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=2
usb 1-1.1.2: Product: USB Storage
usb 1-1.1.2: SerialNumber: 000000009514
usb-storage 1-1.1.2:1.0: USB Mass Storage device detected
scsi145 : usb-storage 1-1.1.2:1.0
scsi 145:0:0:0: Direct-Access Generic STORAGE DEVICE 9514 PQ: 0 ANSI: 0
sd 145:0:0:0: Attached scsi generic sg2 type 0
sd 145:0:0:0: [sdb] 7698432 512-byte logical blocks: (3.94 GB/3.67 GiB)
sd 145:0:0:0: [sdb] Write Protect is off
sd 145:0:0:0: [sdb] Mode Sense: 37 00 00 08
sd 145:0:0:0: [sdb] No Caching mode page found
sd 145:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 145:0:0:0: [sdb] Attached SCSI removable disk


Références/Liens

icon Tags de l'article : , , ,

EEPROM 28 et 32 pins

icon 2015-09-28 - No comments

Les EEPROMS en boitier 32 pins sont très répandues (BIOS de PC), et la plupart sont faciles à flasher (toutes les operations se font en 5V).
Par contre la plupart des cartes réseaux n'acceptent que des puces à 28 pins pour leur image PXE, et les seules puces que j'ai sont soit des PROMs OTP (impossibles à reflasher), soit nécessitent 12.5V pour être effacées/programmées.

Du coup j'ai essayé de placer une SST29EE10 (128kio, 32 pins, 5V) dans un socket vide de 28 pins.

En regardant bien tous les pins nécessaires à la lecture sont connectables directement (bus d'adresse, bus de données, !CS).
connections.

Les pins VPP peuvent aussi être laissés en l'air, !WE et !OE peuvent être laissés en l'air (ou respectivement tirés à VCC et VSS). A16 n'est pas nécessaire si on n'a pas besoin de toute la taille de l'EEPROM (beaucoup de cartes réseau limitent à 32kio ou 64kio).

Au final, on a une pile de sockets avec des fils au milieu :
wires between the two sockets
socket stack
Et l'EEPROM est capable de booter (flashée avec flashrom sur une carte-mère de PC) :
successful boot

icon Tags de l'article : , ,

Canon Pixma MX700 : Alimentation

icon 2015-09-05 - 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 : , ,